mirror of
https://github.com/Sollace/Unicopia.git
synced 2025-02-12 16:14:24 +01:00
Set up recipe datagen
This commit is contained in:
parent
7d59e1e0bf
commit
1e8b6ebaab
41 changed files with 123 additions and 589 deletions
|
@ -0,0 +1,21 @@
|
||||||
|
package com.minelittlepony.unicopia.datagen;
|
||||||
|
|
||||||
|
import com.minelittlepony.unicopia.item.UItems;
|
||||||
|
|
||||||
|
import net.minecraft.item.Item;
|
||||||
|
|
||||||
|
public interface ItemFamilies {
|
||||||
|
Item[] MUSIC_DISCS = {
|
||||||
|
UItems.MUSIC_DISC_CRUSADE, UItems.MUSIC_DISC_FUNK, UItems.MUSIC_DISC_PET, UItems.MUSIC_DISC_POPULAR
|
||||||
|
};
|
||||||
|
Item[] POLEARMS = {
|
||||||
|
UItems.WOODEN_POLEARM, UItems.STONE_POLEARM, UItems.IRON_POLEARM, UItems.GOLDEN_POLEARM, UItems.DIAMOND_POLEARM, UItems.NETHERITE_POLEARM
|
||||||
|
};
|
||||||
|
Item[] HORSE_SHOES = {
|
||||||
|
UItems.IRON_HORSE_SHOE, UItems.GOLDEN_HORSE_SHOE, UItems.COPPER_HORSE_SHOE, UItems.NETHERITE_HORSE_SHOE
|
||||||
|
};
|
||||||
|
Item[] BASKETS = {
|
||||||
|
UItems.ACACIA_BASKET, UItems.BAMBOO_BASKET, UItems.BIRCH_BASKET, UItems.CHERRY_BASKET, UItems.DARK_OAK_BASKET,
|
||||||
|
UItems.JUNGLE_BASKET, UItems.MANGROVE_BASKET, UItems.OAK_BASKET, UItems.PALM_BASKET, UItems.SPRUCE_BASKET
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,22 @@
|
||||||
|
package com.minelittlepony.unicopia.datagen;
|
||||||
|
|
||||||
|
import com.minelittlepony.unicopia.block.UBlocks;
|
||||||
|
|
||||||
|
import net.minecraft.data.family.BlockFamily;
|
||||||
|
|
||||||
|
public interface UBlockFamilies {
|
||||||
|
BlockFamily PALM = new BlockFamily.Builder(UBlocks.PALM_PLANKS)
|
||||||
|
.slab(UBlocks.PALM_SLAB).stairs(UBlocks.PALM_STAIRS).fence(UBlocks.PALM_FENCE).fenceGate(UBlocks.PALM_FENCE_GATE)
|
||||||
|
.button(UBlocks.PALM_BUTTON).pressurePlate(UBlocks.PALM_PRESSURE_PLATE).sign(UBlocks.PALM_SIGN, UBlocks.PALM_WALL_SIGN)
|
||||||
|
.door(UBlocks.PALM_DOOR).trapdoor(UBlocks.PALM_TRAPDOOR)
|
||||||
|
.group("wooden").unlockCriterionName("has_planks")
|
||||||
|
.build();
|
||||||
|
BlockFamily ZAP = new BlockFamily.Builder(UBlocks.ZAP_PLANKS)
|
||||||
|
.slab(UBlocks.ZAP_SLAB).stairs(UBlocks.ZAP_STAIRS).fence(UBlocks.ZAP_FENCE).fenceGate(UBlocks.ZAP_FENCE_GATE)
|
||||||
|
.group("wooden").unlockCriterionName("has_planks")
|
||||||
|
.build();
|
||||||
|
BlockFamily WAXED_ZAP = new BlockFamily.Builder(UBlocks.WAXED_ZAP_PLANKS)
|
||||||
|
.slab(UBlocks.WAXED_ZAP_SLAB).stairs(UBlocks.WAXED_ZAP_STAIRS).fence(UBlocks.WAXED_ZAP_FENCE).fenceGate(UBlocks.WAXED_ZAP_FENCE_GATE)
|
||||||
|
.group("wooden").unlockCriterionName("has_planks")
|
||||||
|
.build();
|
||||||
|
}
|
|
@ -16,6 +16,7 @@ import com.minelittlepony.unicopia.block.ShellsBlock;
|
||||||
import com.minelittlepony.unicopia.block.SlimePustuleBlock;
|
import com.minelittlepony.unicopia.block.SlimePustuleBlock;
|
||||||
import com.minelittlepony.unicopia.block.UBlocks;
|
import com.minelittlepony.unicopia.block.UBlocks;
|
||||||
import com.minelittlepony.unicopia.block.zap.ZapAppleLeavesBlock;
|
import com.minelittlepony.unicopia.block.zap.ZapAppleLeavesBlock;
|
||||||
|
import com.minelittlepony.unicopia.datagen.UBlockFamilies;
|
||||||
import com.minelittlepony.unicopia.server.world.Tree;
|
import com.minelittlepony.unicopia.server.world.Tree;
|
||||||
|
|
||||||
import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
|
import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
|
||||||
|
@ -36,7 +37,6 @@ import net.minecraft.data.client.TextureMap;
|
||||||
import net.minecraft.data.client.TexturedModel;
|
import net.minecraft.data.client.TexturedModel;
|
||||||
import net.minecraft.data.client.VariantsBlockStateSupplier;
|
import net.minecraft.data.client.VariantsBlockStateSupplier;
|
||||||
import net.minecraft.data.client.When;
|
import net.minecraft.data.client.When;
|
||||||
import net.minecraft.data.family.BlockFamily;
|
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.item.Items;
|
import net.minecraft.item.Items;
|
||||||
import net.minecraft.registry.Registries;
|
import net.minecraft.registry.Registries;
|
||||||
|
@ -121,12 +121,7 @@ public class UBlockStateModelGenerator extends BlockStateModelGenerator {
|
||||||
// palm wood
|
// palm wood
|
||||||
registerLog(UBlocks.PALM_LOG).log(UBlocks.PALM_LOG).wood(UBlocks.PALM_WOOD);
|
registerLog(UBlocks.PALM_LOG).log(UBlocks.PALM_LOG).wood(UBlocks.PALM_WOOD);
|
||||||
registerLog(UBlocks.STRIPPED_PALM_LOG).log(UBlocks.STRIPPED_PALM_LOG).wood(UBlocks.STRIPPED_PALM_WOOD);
|
registerLog(UBlocks.STRIPPED_PALM_LOG).log(UBlocks.STRIPPED_PALM_LOG).wood(UBlocks.STRIPPED_PALM_WOOD);
|
||||||
registerCubeAllModelTexturePool(UBlocks.PALM_PLANKS).family(new BlockFamily.Builder(UBlocks.PALM_PLANKS)
|
registerCubeAllModelTexturePool(UBlocks.PALM_PLANKS).family(UBlockFamilies.PALM);
|
||||||
.slab(UBlocks.PALM_SLAB).stairs(UBlocks.PALM_STAIRS).fence(UBlocks.PALM_FENCE).fenceGate(UBlocks.PALM_FENCE_GATE)
|
|
||||||
.button(UBlocks.PALM_BUTTON).pressurePlate(UBlocks.PALM_PRESSURE_PLATE).sign(UBlocks.PALM_SIGN, UBlocks.PALM_WALL_SIGN)
|
|
||||||
.door(UBlocks.PALM_DOOR).trapdoor(UBlocks.PALM_TRAPDOOR)
|
|
||||||
.group("wooden").unlockCriterionName("has_planks")
|
|
||||||
.build());
|
|
||||||
registerHangingSign(UBlocks.STRIPPED_PALM_LOG, UBlocks.PALM_HANGING_SIGN, UBlocks.PALM_WALL_HANGING_SIGN);
|
registerHangingSign(UBlocks.STRIPPED_PALM_LOG, UBlocks.PALM_HANGING_SIGN, UBlocks.PALM_WALL_HANGING_SIGN);
|
||||||
registerSimpleCubeAll(UBlocks.PALM_LEAVES);
|
registerSimpleCubeAll(UBlocks.PALM_LEAVES);
|
||||||
|
|
||||||
|
@ -137,15 +132,7 @@ public class UBlockStateModelGenerator extends BlockStateModelGenerator {
|
||||||
registerLog(UBlocks.STRIPPED_ZAP_LOG)
|
registerLog(UBlocks.STRIPPED_ZAP_LOG)
|
||||||
.log(UBlocks.STRIPPED_ZAP_LOG).wood(UBlocks.STRIPPED_ZAP_WOOD)
|
.log(UBlocks.STRIPPED_ZAP_LOG).wood(UBlocks.STRIPPED_ZAP_WOOD)
|
||||||
.log(UBlocks.WAXED_STRIPPED_ZAP_LOG).wood(UBlocks.WAXED_STRIPPED_ZAP_WOOD);
|
.log(UBlocks.WAXED_STRIPPED_ZAP_LOG).wood(UBlocks.WAXED_STRIPPED_ZAP_WOOD);
|
||||||
registerCubeAllModelTexturePool(UBlocks.ZAP_PLANKS)
|
registerCubeAllModelTexturePool(UBlocks.ZAP_PLANKS).family(UBlockFamilies.ZAP).same(UBlocks.WAXED_ZAP_PLANKS).family(UBlockFamilies.WAXED_ZAP);
|
||||||
.family(new BlockFamily.Builder(UBlocks.ZAP_PLANKS)
|
|
||||||
.slab(UBlocks.ZAP_SLAB).stairs(UBlocks.ZAP_STAIRS).fence(UBlocks.ZAP_FENCE).fenceGate(UBlocks.ZAP_FENCE_GATE)
|
|
||||||
.group("wooden").unlockCriterionName("has_planks")
|
|
||||||
.build())
|
|
||||||
.same(UBlocks.WAXED_ZAP_PLANKS).family(new BlockFamily.Builder(UBlocks.WAXED_ZAP_PLANKS)
|
|
||||||
.slab(UBlocks.WAXED_ZAP_SLAB).stairs(UBlocks.WAXED_ZAP_STAIRS).fence(UBlocks.WAXED_ZAP_FENCE).fenceGate(UBlocks.WAXED_ZAP_FENCE_GATE)
|
|
||||||
.group("wooden").unlockCriterionName("has_planks")
|
|
||||||
.build());
|
|
||||||
registerZapLeaves(UBlocks.ZAP_LEAVES);
|
registerZapLeaves(UBlocks.ZAP_LEAVES);
|
||||||
registerSingleton(UBlocks.FLOWERING_ZAP_LEAVES, TexturedModel.LEAVES);
|
registerSingleton(UBlocks.FLOWERING_ZAP_LEAVES, TexturedModel.LEAVES);
|
||||||
registerStateWithModelReference(UBlocks.ZAP_LEAVES_PLACEHOLDER, Blocks.AIR);
|
registerStateWithModelReference(UBlocks.ZAP_LEAVES_PLACEHOLDER, Blocks.AIR);
|
||||||
|
|
|
@ -8,6 +8,7 @@ import com.minelittlepony.unicopia.UConventionalTags;
|
||||||
import com.minelittlepony.unicopia.UTags;
|
import com.minelittlepony.unicopia.UTags;
|
||||||
import com.minelittlepony.unicopia.block.UBlocks;
|
import com.minelittlepony.unicopia.block.UBlocks;
|
||||||
import com.minelittlepony.unicopia.datagen.Datagen;
|
import com.minelittlepony.unicopia.datagen.Datagen;
|
||||||
|
import com.minelittlepony.unicopia.datagen.ItemFamilies;
|
||||||
import com.minelittlepony.unicopia.item.BedsheetsItem;
|
import com.minelittlepony.unicopia.item.BedsheetsItem;
|
||||||
import com.minelittlepony.unicopia.item.UItems;
|
import com.minelittlepony.unicopia.item.UItems;
|
||||||
|
|
||||||
|
@ -28,6 +29,8 @@ import net.minecraft.registry.tag.TagKey;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
|
|
||||||
public class UItemTagProvider extends FabricTagProvider.ItemTagProvider {
|
public class UItemTagProvider extends FabricTagProvider.ItemTagProvider {
|
||||||
|
|
||||||
|
|
||||||
private final UBlockTagProvider blockTagProvider;
|
private final UBlockTagProvider blockTagProvider;
|
||||||
|
|
||||||
public UItemTagProvider(FabricDataOutput output, CompletableFuture<RegistryWrapper.WrapperLookup> registriesFuture, UBlockTagProvider blockTagProvider) {
|
public UItemTagProvider(FabricDataOutput output, CompletableFuture<RegistryWrapper.WrapperLookup> registriesFuture, UBlockTagProvider blockTagProvider) {
|
||||||
|
@ -57,21 +60,18 @@ public class UItemTagProvider extends FabricTagProvider.ItemTagProvider {
|
||||||
|
|
||||||
getOrCreateTagBuilder(ItemTags.CHEST_BOATS).add(UItems.PALM_CHEST_BOAT);
|
getOrCreateTagBuilder(ItemTags.CHEST_BOATS).add(UItems.PALM_CHEST_BOAT);
|
||||||
getOrCreateTagBuilder(ItemTags.BOATS).add(UItems.PALM_BOAT);
|
getOrCreateTagBuilder(ItemTags.BOATS).add(UItems.PALM_BOAT);
|
||||||
getOrCreateTagBuilder(ItemTags.MUSIC_DISCS).add(UItems.MUSIC_DISC_CRUSADE, UItems.MUSIC_DISC_FUNK, UItems.MUSIC_DISC_PET, UItems.MUSIC_DISC_POPULAR);
|
getOrCreateTagBuilder(ItemTags.MUSIC_DISCS).add(ItemFamilies.MUSIC_DISCS);
|
||||||
getOrCreateTagBuilder(ItemTags.CREEPER_DROP_MUSIC_DISCS).add(UItems.MUSIC_DISC_CRUSADE, UItems.MUSIC_DISC_FUNK, UItems.MUSIC_DISC_PET, UItems.MUSIC_DISC_POPULAR);
|
getOrCreateTagBuilder(ItemTags.CREEPER_DROP_MUSIC_DISCS).add(UItems.MUSIC_DISC_CRUSADE, UItems.MUSIC_DISC_FUNK, UItems.MUSIC_DISC_PET, UItems.MUSIC_DISC_POPULAR);
|
||||||
|
|
||||||
getOrCreateTagBuilder(ItemTags.SIGNS).add(UBlocks.PALM_SIGN.asItem());
|
getOrCreateTagBuilder(ItemTags.SIGNS).add(UBlocks.PALM_SIGN.asItem());
|
||||||
getOrCreateTagBuilder(ItemTags.HANGING_SIGNS).add(UBlocks.PALM_HANGING_SIGN.asItem());
|
getOrCreateTagBuilder(ItemTags.HANGING_SIGNS).add(UBlocks.PALM_HANGING_SIGN.asItem());
|
||||||
|
|
||||||
getOrCreateTagBuilder(UTags.HORSE_SHOES).add(UItems.IRON_HORSE_SHOE, UItems.GOLDEN_HORSE_SHOE, UItems.COPPER_HORSE_SHOE, UItems.NETHERITE_HORSE_SHOE);
|
getOrCreateTagBuilder(UTags.HORSE_SHOES).add(ItemFamilies.HORSE_SHOES);
|
||||||
getOrCreateTagBuilder(UTags.POLEARMS).add(UItems.WOODEN_POLEARM, UItems.STONE_POLEARM, UItems.IRON_POLEARM, UItems.GOLDEN_POLEARM, UItems.DIAMOND_POLEARM, UItems.NETHERITE_POLEARM);
|
getOrCreateTagBuilder(UTags.POLEARMS).add(ItemFamilies.POLEARMS);
|
||||||
|
|
||||||
getOrCreateTagBuilder(ItemTags.TOOLS).addTag(UTags.HORSE_SHOES).addTag(UTags.POLEARMS);
|
getOrCreateTagBuilder(ItemTags.TOOLS).addTag(UTags.HORSE_SHOES).addTag(UTags.POLEARMS);
|
||||||
|
|
||||||
getOrCreateTagBuilder(UTags.BASKETS).add(
|
getOrCreateTagBuilder(UTags.BASKETS).add(ItemFamilies.BASKETS);
|
||||||
UItems.ACACIA_BASKET, UItems.BAMBOO_BASKET, UItems.BIRCH_BASKET, UItems.CHERRY_BASKET, UItems.DARK_OAK_BASKET,
|
|
||||||
UItems.JUNGLE_BASKET, UItems.MANGROVE_BASKET, UItems.OAK_BASKET, UItems.PALM_BASKET, UItems.SPRUCE_BASKET
|
|
||||||
);
|
|
||||||
getOrCreateTagBuilder(UTags.BADGES).add(Race.REGISTRY.stream()
|
getOrCreateTagBuilder(UTags.BADGES).add(Race.REGISTRY.stream()
|
||||||
.map(race -> race.getId().withPath(p -> p + "_badge"))
|
.map(race -> race.getId().withPath(p -> p + "_badge"))
|
||||||
.flatMap(id -> Registries.ITEM.getOrEmpty(id).stream())
|
.flatMap(id -> Registries.ITEM.getOrEmpty(id).stream())
|
||||||
|
|
|
@ -1,10 +1,29 @@
|
||||||
package com.minelittlepony.unicopia.datagen.providers;
|
package com.minelittlepony.unicopia.datagen.providers;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.NoSuchElementException;
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
|
import com.minelittlepony.unicopia.UTags;
|
||||||
|
import com.minelittlepony.unicopia.block.UBlocks;
|
||||||
|
import com.minelittlepony.unicopia.datagen.ItemFamilies;
|
||||||
|
import com.minelittlepony.unicopia.datagen.UBlockFamilies;
|
||||||
|
import com.minelittlepony.unicopia.item.UItems;
|
||||||
|
|
||||||
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
|
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
|
||||||
import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider;
|
import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider;
|
||||||
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.data.server.recipe.RecipeJsonProvider;
|
import net.minecraft.data.server.recipe.RecipeJsonProvider;
|
||||||
|
import net.minecraft.data.server.recipe.RecipeProvider;
|
||||||
|
import net.minecraft.data.server.recipe.ShapedRecipeJsonBuilder;
|
||||||
|
import net.minecraft.data.server.recipe.ShapelessRecipeJsonBuilder;
|
||||||
|
import net.minecraft.data.server.recipe.VanillaRecipeProvider;
|
||||||
|
import net.minecraft.item.Item;
|
||||||
|
import net.minecraft.item.ItemConvertible;
|
||||||
|
import net.minecraft.item.Items;
|
||||||
|
import net.minecraft.recipe.book.RecipeCategory;
|
||||||
|
import net.minecraft.registry.Registries;
|
||||||
|
import net.minecraft.util.Identifier;
|
||||||
|
|
||||||
public class URecipeProvider extends FabricRecipeProvider {
|
public class URecipeProvider extends FabricRecipeProvider {
|
||||||
public URecipeProvider(FabricDataOutput output) {
|
public URecipeProvider(FabricDataOutput output) {
|
||||||
|
@ -13,7 +32,58 @@ public class URecipeProvider extends FabricRecipeProvider {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void generate(Consumer<RecipeJsonProvider> exporter) {
|
public void generate(Consumer<RecipeJsonProvider> exporter) {
|
||||||
|
Arrays.stream(ItemFamilies.BASKETS).forEach(basket -> {
|
||||||
|
offerBasketRecipe(exporter, basket, getMaterial(basket, "_basket", "_planks"));
|
||||||
|
});
|
||||||
|
|
||||||
|
offerBoatRecipe(exporter, UItems.PALM_BOAT, UBlocks.PALM_PLANKS);
|
||||||
|
offerChestBoatRecipe(exporter, UItems.PALM_CHEST_BOAT, UItems.PALM_BOAT);
|
||||||
|
offerHangingSignRecipe(exporter, UBlocks.PALM_HANGING_SIGN, UBlocks.PALM_PLANKS);
|
||||||
|
offerPlanksRecipe(exporter, UBlocks.PALM_PLANKS, UTags.Items.PALM_LOGS, 4);
|
||||||
|
offerPlanksRecipe(exporter, UBlocks.ZAP_PLANKS, UTags.Items.ZAP_LOGS, 4);
|
||||||
|
offerPlanksRecipe(exporter, UBlocks.WAXED_ZAP_PLANKS, UTags.Items.WAXED_ZAP_LOGS, 4);
|
||||||
|
offerBarkBlockRecipe(exporter, UBlocks.PALM_WOOD, UBlocks.PALM_LOG);
|
||||||
|
offerBarkBlockRecipe(exporter, UBlocks.ZAP_WOOD, UBlocks.ZAP_LOG);
|
||||||
|
offerBarkBlockRecipe(exporter, UBlocks.WAXED_ZAP_WOOD, UBlocks.WAXED_ZAP_LOG);
|
||||||
|
|
||||||
|
generateFamily(exporter, UBlockFamilies.PALM);
|
||||||
|
generateFamily(exporter, UBlockFamilies.ZAP);
|
||||||
|
generateFamily(exporter, UBlockFamilies.WAXED_ZAP);
|
||||||
|
offerWaxingRecipes(exporter);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static Item getMaterial(Item output, String toStrip, String suffex) {
|
||||||
|
Identifier id = Registries.ITEM.getId(output).withPath(p -> p.replace(toStrip, "") + suffex);
|
||||||
|
return Registries.ITEM.getOrEmpty(id)
|
||||||
|
.or(() -> Registries.ITEM.getOrEmpty(new Identifier(Identifier.DEFAULT_NAMESPACE, id.getPath())))
|
||||||
|
.orElseThrow(() -> new NoSuchElementException("No item with id " + id));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void offerBasketRecipe(Consumer<RecipeJsonProvider> exporter, ItemConvertible output, ItemConvertible input) {
|
||||||
|
ShapedRecipeJsonBuilder.create(RecipeCategory.TRANSPORTATION, output)
|
||||||
|
.input(Character.valueOf('#'), input)
|
||||||
|
.pattern("# #")
|
||||||
|
.pattern("# #")
|
||||||
|
.pattern("###")
|
||||||
|
.group("basket")
|
||||||
|
.criterion(VanillaRecipeProvider.hasItem(input), VanillaRecipeProvider.conditionsFromItem(input))
|
||||||
|
.offerTo(exporter);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void offerWaxingRecipes(Consumer<RecipeJsonProvider> exporter) {
|
||||||
|
UBlockFamilies.WAXED_ZAP.getVariants().forEach((variant, output) -> {
|
||||||
|
Block input = UBlockFamilies.ZAP.getVariant(variant);
|
||||||
|
offerWaxingRecipe(exporter, output, input);
|
||||||
|
});
|
||||||
|
offerWaxingRecipe(exporter, UBlocks.WAXED_ZAP_PLANKS, UBlocks.ZAP_PLANKS);
|
||||||
|
offerWaxingRecipe(exporter, UBlocks.WAXED_ZAP_WOOD, UBlocks.ZAP_WOOD);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void offerWaxingRecipe(Consumer<RecipeJsonProvider> exporter, ItemConvertible output, ItemConvertible input) {
|
||||||
|
ShapelessRecipeJsonBuilder.create(RecipeCategory.BUILDING_BLOCKS, output)
|
||||||
|
.input(input)
|
||||||
|
.input(Items.HONEYCOMB).group(RecipeProvider.getItemPath(output))
|
||||||
|
.criterion(RecipeProvider.hasItem(input), RecipeProvider.conditionsFromItem(input))
|
||||||
|
.offerTo(exporter, RecipeProvider.convertBetween(output, Items.HONEYCOMB));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,18 +0,0 @@
|
||||||
{
|
|
||||||
"type": "minecraft:crafting_shaped",
|
|
||||||
"group": "basket",
|
|
||||||
"key": {
|
|
||||||
"#": {
|
|
||||||
"item": "minecraft:acacia_planks"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pattern": [
|
|
||||||
"# #",
|
|
||||||
"# #",
|
|
||||||
"###"
|
|
||||||
],
|
|
||||||
"result": {
|
|
||||||
"count": 1,
|
|
||||||
"item": "unicopia:acacia_basket"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,18 +0,0 @@
|
||||||
{
|
|
||||||
"type": "minecraft:crafting_shaped",
|
|
||||||
"group": "basket",
|
|
||||||
"key": {
|
|
||||||
"#": {
|
|
||||||
"item": "minecraft:bamboo_planks"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pattern": [
|
|
||||||
"# #",
|
|
||||||
"# #",
|
|
||||||
"###"
|
|
||||||
],
|
|
||||||
"result": {
|
|
||||||
"count": 1,
|
|
||||||
"item": "unicopia:bamboo_basket"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,18 +0,0 @@
|
||||||
{
|
|
||||||
"type": "minecraft:crafting_shaped",
|
|
||||||
"group": "basket",
|
|
||||||
"key": {
|
|
||||||
"#": {
|
|
||||||
"item": "minecraft:birch_planks"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pattern": [
|
|
||||||
"# #",
|
|
||||||
"# #",
|
|
||||||
"###"
|
|
||||||
],
|
|
||||||
"result": {
|
|
||||||
"count": 1,
|
|
||||||
"item": "unicopia:birch_basket"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,18 +0,0 @@
|
||||||
{
|
|
||||||
"type": "minecraft:crafting_shaped",
|
|
||||||
"group": "basket",
|
|
||||||
"key": {
|
|
||||||
"#": {
|
|
||||||
"item": "minecraft:cherry_planks"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pattern": [
|
|
||||||
"# #",
|
|
||||||
"# #",
|
|
||||||
"###"
|
|
||||||
],
|
|
||||||
"result": {
|
|
||||||
"count": 1,
|
|
||||||
"item": "unicopia:cherry_basket"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,18 +0,0 @@
|
||||||
{
|
|
||||||
"type": "minecraft:crafting_shaped",
|
|
||||||
"group": "basket",
|
|
||||||
"key": {
|
|
||||||
"#": {
|
|
||||||
"item": "minecraft:dark_oak_planks"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pattern": [
|
|
||||||
"# #",
|
|
||||||
"# #",
|
|
||||||
"###"
|
|
||||||
],
|
|
||||||
"result": {
|
|
||||||
"count": 1,
|
|
||||||
"item": "unicopia:dark_oak_basket"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,18 +0,0 @@
|
||||||
{
|
|
||||||
"type": "minecraft:crafting_shaped",
|
|
||||||
"group": "basket",
|
|
||||||
"key": {
|
|
||||||
"#": {
|
|
||||||
"item": "minecraft:jungle_planks"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pattern": [
|
|
||||||
"# #",
|
|
||||||
"# #",
|
|
||||||
"###"
|
|
||||||
],
|
|
||||||
"result": {
|
|
||||||
"count": 1,
|
|
||||||
"item": "unicopia:jungle_basket"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,18 +0,0 @@
|
||||||
{
|
|
||||||
"type": "minecraft:crafting_shaped",
|
|
||||||
"group": "basket",
|
|
||||||
"key": {
|
|
||||||
"#": {
|
|
||||||
"item": "minecraft:mangrove_planks"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pattern": [
|
|
||||||
"# #",
|
|
||||||
"# #",
|
|
||||||
"###"
|
|
||||||
],
|
|
||||||
"result": {
|
|
||||||
"count": 1,
|
|
||||||
"item": "unicopia:mangrove_basket"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,18 +0,0 @@
|
||||||
{
|
|
||||||
"type": "minecraft:crafting_shaped",
|
|
||||||
"group": "basket",
|
|
||||||
"key": {
|
|
||||||
"#": {
|
|
||||||
"item": "minecraft:oak_planks"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pattern": [
|
|
||||||
"# #",
|
|
||||||
"# #",
|
|
||||||
"###"
|
|
||||||
],
|
|
||||||
"result": {
|
|
||||||
"count": 1,
|
|
||||||
"item": "unicopia:oak_basket"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,18 +0,0 @@
|
||||||
{
|
|
||||||
"type": "minecraft:crafting_shaped",
|
|
||||||
"group": "basket",
|
|
||||||
"key": {
|
|
||||||
"#": {
|
|
||||||
"item": "unicopia:palm_planks"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pattern": [
|
|
||||||
"# #",
|
|
||||||
"# #",
|
|
||||||
"###"
|
|
||||||
],
|
|
||||||
"result": {
|
|
||||||
"count": 1,
|
|
||||||
"item": "unicopia:palm_basket"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,16 +0,0 @@
|
||||||
{
|
|
||||||
"type": "minecraft:crafting_shaped",
|
|
||||||
"group": "boat",
|
|
||||||
"key": {
|
|
||||||
"#": {
|
|
||||||
"item": "unicopia:palm_planks"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pattern": [
|
|
||||||
"# #",
|
|
||||||
"###"
|
|
||||||
],
|
|
||||||
"result": {
|
|
||||||
"item": "unicopia:palm_boat"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,12 +0,0 @@
|
||||||
{
|
|
||||||
"type": "minecraft:crafting_shapeless",
|
|
||||||
"group": "wooden_button",
|
|
||||||
"ingredients": [
|
|
||||||
{
|
|
||||||
"item": "unicopia:palm_planks"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"result": {
|
|
||||||
"item": "unicopia:palm_button"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,15 +0,0 @@
|
||||||
{
|
|
||||||
"type": "minecraft:crafting_shapeless",
|
|
||||||
"group": "chest_boat",
|
|
||||||
"ingredients": [
|
|
||||||
{
|
|
||||||
"item": "minecraft:chest"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"item": "unicopia:palm_boat"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"result": {
|
|
||||||
"item": "unicopia:palm_chest_boat"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,18 +0,0 @@
|
||||||
{
|
|
||||||
"type": "minecraft:crafting_shaped",
|
|
||||||
"group": "wooden_door",
|
|
||||||
"key": {
|
|
||||||
"#": {
|
|
||||||
"item": "unicopia:palm_planks"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pattern": [
|
|
||||||
"##",
|
|
||||||
"##",
|
|
||||||
"##"
|
|
||||||
],
|
|
||||||
"result": {
|
|
||||||
"count": 3,
|
|
||||||
"item": "unicopia:palm_door"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,20 +0,0 @@
|
||||||
{
|
|
||||||
"type": "minecraft:crafting_shaped",
|
|
||||||
"group": "wooden_fence",
|
|
||||||
"key": {
|
|
||||||
"#": {
|
|
||||||
"item": "minecraft:stick"
|
|
||||||
},
|
|
||||||
"W": {
|
|
||||||
"item": "unicopia:palm_planks"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pattern": [
|
|
||||||
"W#W",
|
|
||||||
"W#W"
|
|
||||||
],
|
|
||||||
"result": {
|
|
||||||
"count": 3,
|
|
||||||
"item": "unicopia:palm_fence"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,19 +0,0 @@
|
||||||
{
|
|
||||||
"type": "minecraft:crafting_shaped",
|
|
||||||
"group": "wooden_fence_gate",
|
|
||||||
"key": {
|
|
||||||
"#": {
|
|
||||||
"item": "minecraft:stick"
|
|
||||||
},
|
|
||||||
"W": {
|
|
||||||
"item": "unicopia:palm_planks"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pattern": [
|
|
||||||
"#W#",
|
|
||||||
"#W#"
|
|
||||||
],
|
|
||||||
"result": {
|
|
||||||
"item": "unicopia:palm_fence_gate"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,21 +0,0 @@
|
||||||
{
|
|
||||||
"type": "minecraft:crafting_shaped",
|
|
||||||
"group": "wooden_sign",
|
|
||||||
"key": {
|
|
||||||
"#": {
|
|
||||||
"item": "unicopia:palm_planks"
|
|
||||||
},
|
|
||||||
"|": {
|
|
||||||
"item": "minecraft:chain"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pattern": [
|
|
||||||
"| |",
|
|
||||||
"###",
|
|
||||||
"###"
|
|
||||||
],
|
|
||||||
"result": {
|
|
||||||
"count": 3,
|
|
||||||
"item": "unicopia:palm_hanging_sign"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,12 +0,0 @@
|
||||||
{
|
|
||||||
"type": "minecraft:crafting_shapeless",
|
|
||||||
"category": "building",
|
|
||||||
"group": "planks",
|
|
||||||
"ingredients": [
|
|
||||||
{ "tag": "unicopia:palm_logs" }
|
|
||||||
],
|
|
||||||
"result": {
|
|
||||||
"item": "unicopia:palm_planks",
|
|
||||||
"count": 4
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,15 +0,0 @@
|
||||||
{
|
|
||||||
"type": "minecraft:crafting_shaped",
|
|
||||||
"group": "wooden_pressure_plate",
|
|
||||||
"key": {
|
|
||||||
"#": {
|
|
||||||
"item": "unicopia:palm_planks"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pattern": [
|
|
||||||
"##"
|
|
||||||
],
|
|
||||||
"result": {
|
|
||||||
"item": "unicopia:palm_pressure_plate"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,21 +0,0 @@
|
||||||
{
|
|
||||||
"type": "minecraft:crafting_shaped",
|
|
||||||
"group": "wooden_sign",
|
|
||||||
"key": {
|
|
||||||
"#": {
|
|
||||||
"item": "unicopia:palm_planks"
|
|
||||||
},
|
|
||||||
"X": {
|
|
||||||
"item": "minecraft:stick"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pattern": [
|
|
||||||
"###",
|
|
||||||
"###",
|
|
||||||
" X "
|
|
||||||
],
|
|
||||||
"result": {
|
|
||||||
"count": 3,
|
|
||||||
"item": "unicopia:palm_sign"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,16 +0,0 @@
|
||||||
{
|
|
||||||
"type": "minecraft:crafting_shaped",
|
|
||||||
"group": "wooden_slab",
|
|
||||||
"key": {
|
|
||||||
"#": {
|
|
||||||
"item": "unicopia:palm_planks"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pattern": [
|
|
||||||
"###"
|
|
||||||
],
|
|
||||||
"result": {
|
|
||||||
"count": 6,
|
|
||||||
"item": "unicopia:palm_slab"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,18 +0,0 @@
|
||||||
{
|
|
||||||
"type": "minecraft:crafting_shaped",
|
|
||||||
"group": "wooden_stairs",
|
|
||||||
"key": {
|
|
||||||
"#": {
|
|
||||||
"item": "unicopia:palm_planks"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pattern": [
|
|
||||||
"# ",
|
|
||||||
"## ",
|
|
||||||
"###"
|
|
||||||
],
|
|
||||||
"result": {
|
|
||||||
"count": 4,
|
|
||||||
"item": "unicopia:palm_stairs"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,17 +0,0 @@
|
||||||
{
|
|
||||||
"type": "minecraft:crafting_shaped",
|
|
||||||
"group": "wooden_trapdoor",
|
|
||||||
"key": {
|
|
||||||
"#": {
|
|
||||||
"item": "unicopia:palm_planks"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pattern": [
|
|
||||||
"###",
|
|
||||||
"###"
|
|
||||||
],
|
|
||||||
"result": {
|
|
||||||
"count": 2,
|
|
||||||
"item": "unicopia:palm_trapdoor"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,18 +0,0 @@
|
||||||
{
|
|
||||||
"type": "minecraft:crafting_shaped",
|
|
||||||
"category": "building",
|
|
||||||
"group": "bark",
|
|
||||||
"pattern": [
|
|
||||||
"##",
|
|
||||||
"##"
|
|
||||||
],
|
|
||||||
"key": {
|
|
||||||
"#": {
|
|
||||||
"item": "unicopia:palm_log"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"result": {
|
|
||||||
"count": 3,
|
|
||||||
"item": "unicopia:palm_wood"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,18 +0,0 @@
|
||||||
{
|
|
||||||
"type": "minecraft:crafting_shaped",
|
|
||||||
"group": "basket",
|
|
||||||
"key": {
|
|
||||||
"#": {
|
|
||||||
"item": "minecraft:spruce_planks"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pattern": [
|
|
||||||
"# #",
|
|
||||||
"# #",
|
|
||||||
"###"
|
|
||||||
],
|
|
||||||
"result": {
|
|
||||||
"count": 1,
|
|
||||||
"item": "unicopia:spruce_basket"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,8 +0,0 @@
|
||||||
{
|
|
||||||
"type": "minecraft:crafting_shapeless",
|
|
||||||
"ingredients": [
|
|
||||||
{ "item": "unicopia:zap_fence" },
|
|
||||||
{ "item": "minecraft:honeycomb" }
|
|
||||||
],
|
|
||||||
"result": { "item": "unicopia:waxed_zap_fence" }
|
|
||||||
}
|
|
|
@ -1,8 +0,0 @@
|
||||||
{
|
|
||||||
"type": "minecraft:crafting_shapeless",
|
|
||||||
"ingredients": [
|
|
||||||
{ "item": "unicopia:zap_fence_gate" },
|
|
||||||
{ "item": "minecraft:honeycomb" }
|
|
||||||
],
|
|
||||||
"result": { "item": "unicopia:waxed_zap_fence_gate" }
|
|
||||||
}
|
|
|
@ -1,8 +0,0 @@
|
||||||
{
|
|
||||||
"type": "minecraft:crafting_shapeless",
|
|
||||||
"ingredients": [
|
|
||||||
{ "item": "unicopia:zap_planks" },
|
|
||||||
{ "item": "minecraft:honeycomb" }
|
|
||||||
],
|
|
||||||
"result": { "item": "unicopia:waxed_zap_planks" }
|
|
||||||
}
|
|
|
@ -1,8 +0,0 @@
|
||||||
{
|
|
||||||
"type": "minecraft:crafting_shapeless",
|
|
||||||
"ingredients": [
|
|
||||||
{ "item": "unicopia:zap_slab" },
|
|
||||||
{ "item": "minecraft:honeycomb" }
|
|
||||||
],
|
|
||||||
"result": { "item": "unicopia:waxed_zap_slab" }
|
|
||||||
}
|
|
|
@ -1,8 +0,0 @@
|
||||||
{
|
|
||||||
"type": "minecraft:crafting_shapeless",
|
|
||||||
"ingredients": [
|
|
||||||
{ "item": "unicopia:zap_stairs" },
|
|
||||||
{ "item": "minecraft:honeycomb" }
|
|
||||||
],
|
|
||||||
"result": { "item": "unicopia:waxed_zap_stairs" }
|
|
||||||
}
|
|
|
@ -1,8 +0,0 @@
|
||||||
{
|
|
||||||
"type": "minecraft:crafting_shapeless",
|
|
||||||
"ingredients": [
|
|
||||||
{ "item": "unicopia:zap_wood" },
|
|
||||||
{ "item": "minecraft:honeycomb" }
|
|
||||||
],
|
|
||||||
"result": { "item": "unicopia:waxed_zap_wood" }
|
|
||||||
}
|
|
|
@ -1,20 +0,0 @@
|
||||||
{
|
|
||||||
"type": "minecraft:crafting_shaped",
|
|
||||||
"group": "wooden_fence",
|
|
||||||
"key": {
|
|
||||||
"#": {
|
|
||||||
"item": "minecraft:stick"
|
|
||||||
},
|
|
||||||
"W": {
|
|
||||||
"item": "unicopia:zap_planks"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pattern": [
|
|
||||||
"W#W",
|
|
||||||
"W#W"
|
|
||||||
],
|
|
||||||
"result": {
|
|
||||||
"count": 3,
|
|
||||||
"item": "unicopia:zap_fence"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,19 +0,0 @@
|
||||||
{
|
|
||||||
"type": "minecraft:crafting_shaped",
|
|
||||||
"group": "wooden_fence_gate",
|
|
||||||
"key": {
|
|
||||||
"#": {
|
|
||||||
"item": "minecraft:stick"
|
|
||||||
},
|
|
||||||
"W": {
|
|
||||||
"item": "unicopia:zap_planks"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pattern": [
|
|
||||||
"#W#",
|
|
||||||
"#W#"
|
|
||||||
],
|
|
||||||
"result": {
|
|
||||||
"item": "unicopia:zap_fence_gate"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,12 +0,0 @@
|
||||||
{
|
|
||||||
"type": "minecraft:crafting_shapeless",
|
|
||||||
"category": "building",
|
|
||||||
"group": "planks",
|
|
||||||
"ingredients": [
|
|
||||||
{ "tag": "unicopia:zap_logs" }
|
|
||||||
],
|
|
||||||
"result": {
|
|
||||||
"item": "unicopia:zap_planks",
|
|
||||||
"count": 4
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,16 +0,0 @@
|
||||||
{
|
|
||||||
"type": "minecraft:crafting_shaped",
|
|
||||||
"group": "wooden_slab",
|
|
||||||
"key": {
|
|
||||||
"#": {
|
|
||||||
"item": "unicopia:zap_planks"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pattern": [
|
|
||||||
"###"
|
|
||||||
],
|
|
||||||
"result": {
|
|
||||||
"count": 6,
|
|
||||||
"item": "unicopia:zap_slab"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,18 +0,0 @@
|
||||||
{
|
|
||||||
"type": "minecraft:crafting_shaped",
|
|
||||||
"group": "wooden_stairs",
|
|
||||||
"key": {
|
|
||||||
"#": {
|
|
||||||
"item": "unicopia:zap_planks"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pattern": [
|
|
||||||
"# ",
|
|
||||||
"## ",
|
|
||||||
"###"
|
|
||||||
],
|
|
||||||
"result": {
|
|
||||||
"count": 4,
|
|
||||||
"item": "unicopia:zap_stairs"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,15 +0,0 @@
|
||||||
{
|
|
||||||
"type": "minecraft:crafting_shaped",
|
|
||||||
"pattern": [
|
|
||||||
"##",
|
|
||||||
"##"
|
|
||||||
],
|
|
||||||
"key": {
|
|
||||||
"#": {
|
|
||||||
"item": "unicopia:zap_log"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"result": {
|
|
||||||
"item": "unicopia:zap_wood"
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in a new issue