diff --git a/build.gradle b/build.gradle index e28bc3d5..3a1b46cc 100644 --- a/build.gradle +++ b/build.gradle @@ -20,7 +20,7 @@ buildscript { } } dependencies { - classpath 'net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT' + classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT' } } @@ -65,12 +65,11 @@ dependencies { deobfCompile "slimeknights.mantle:Mantle:${minecraft_version}-${mantle_version}" //deobfCompile "slimeknights:TConstruct:${minecraft_version}-${tconstruct_version}" - deobfCompile "mcp.mobius.waila:Hwyla:${hwyla_version}_1.11" - //deobfCompile "mcp.mobius.waila:Waila:${waila_version}_1.9.4" // ${minecraft_version}" No 1.10 version of waila, must use 1.9.4 version + deobfCompile "mcp.mobius.waila:Hwyla:${hwyla_version}_1.12" deobfCompile "mezz.jei:jei_${minecraft_version}:${jei_version}" - deobfCompile "MCMultiPart2:MCMultiPart-exp:${mcmultipart_version}" + //deobfCompile "MCMultiPart2:MCMultiPart-exp:${mcmultipart_version}" } // sets version to the slimeKnights version format diff --git a/gradle.properties b/gradle.properties index 248b5451..05a7492e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,15 +1,15 @@ mod_version=4.2.0 -minecraft_version=1.11.2 +minecraft_version=1.12 -forge_version=13.20.0.2294 -mappings_version=snapshot_20170503 +forge_version=14.21.0.2383 +mappings_version=snapshot_20170628 -mantle_version=1.2.0.+ +mantle_version=1.2.0.2 tconstruct_version=2.7.0.+ -jei_version=4.3.4.+ +jei_version=4.7.+ -hwyla_version=1.8.13-B26 +hwyla_version=1.8.18-B32 mcmultipart_version=2.0.0_+ \ No newline at end of file diff --git a/src/main/java/com/progwml6/natura/Natura.java b/src/main/java/com/progwml6/natura/Natura.java index 052678a3..a16ecc81 100644 --- a/src/main/java/com/progwml6/natura/Natura.java +++ b/src/main/java/com/progwml6/natura/Natura.java @@ -25,7 +25,7 @@ import net.minecraftforge.fml.common.network.NetworkRegistry; import slimeknights.mantle.pulsar.control.PulseManager; -@Mod(modid = Natura.modID, name = Natura.modName, version = Natura.modVersion, dependencies = "required-after:forge@[13.20.0.2282,);required-after:mantle@[1.11.2-1.2.0,);", acceptedMinecraftVersions = "[1.11, 1.12)") +@Mod(modid = Natura.modID, name = Natura.modName, version = Natura.modVersion, dependencies = "required-after:forge@[14.21.1.2387,);required-after:mantle@[1.12-1.2.0,);", acceptedMinecraftVersions = "[1.12, 1.13)") public class Natura { public static final String modID = Util.MODID; diff --git a/src/main/java/com/progwml6/natura/common/NaturaPulse.java b/src/main/java/com/progwml6/natura/common/NaturaPulse.java index ea49ba16..415c883a 100644 --- a/src/main/java/com/progwml6/natura/common/NaturaPulse.java +++ b/src/main/java/com/progwml6/natura/common/NaturaPulse.java @@ -1,19 +1,10 @@ package com.progwml6.natura.common; -import java.util.List; import java.util.Locale; -import java.util.Map; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; import com.progwml6.natura.Natura; import com.progwml6.natura.common.block.BlockGrassStairs; -import com.progwml6.natura.common.block.base.BlockButtonBase; -import com.progwml6.natura.common.block.base.BlockFenceBase; -import com.progwml6.natura.common.block.base.BlockFenceGateBase; import com.progwml6.natura.common.block.base.BlockNaturaStairsBase; -import com.progwml6.natura.common.block.base.BlockPressurePlateBase; -import com.progwml6.natura.common.block.base.BlockTrapDoorBase; import com.progwml6.natura.decorative.NaturaDecorative; import com.progwml6.natura.entities.NaturaEntities; import com.progwml6.natura.library.Util; @@ -25,14 +16,11 @@ import net.minecraft.block.properties.IProperty; import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; -import net.minecraft.item.ItemStack; -import net.minecraft.item.crafting.CraftingManager; -import net.minecraft.item.crafting.ShapedRecipes; -import net.minecraft.item.crafting.ShapelessRecipes; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IStringSerializable; import net.minecraftforge.fml.common.registry.GameRegistry; -import net.minecraftforge.fml.common.registry.IForgeRegistryEntry; +import net.minecraftforge.registries.IForgeRegistry; +import net.minecraftforge.registries.IForgeRegistryEntry; import slimeknights.mantle.block.EnumBlock; import slimeknights.mantle.block.EnumBlockSlab; import slimeknights.mantle.item.ItemBlockMeta; @@ -73,257 +61,131 @@ protected static boolean isDecorativeLoaded() return Natura.pulseManager.isPulseLoaded(NaturaDecorative.PulseId); } - /** - * Sets the correct unlocalized name and registers the item. - */ - protected static T registerItem(T item, String name) + protected static T registerBlock(IForgeRegistry registry, T block, String name) { if (!name.equals(name.toLowerCase(Locale.US))) { - throw new IllegalArgumentException(String.format("Unlocalized names need to be all lowercase! Item: %s", name)); + throw new IllegalArgumentException(String.format("Unlocalized names need to be all lowercase! Block: %s", name)); } - item.setUnlocalizedName(Util.prefix(name)); - item.setRegistryName(Util.getResource(name)); - GameRegistry.register(item); - return item; - } - - protected static T registerBlock(T block, String name) - { - ItemBlock itemBlock = new ItemBlockMeta(block); - registerBlock(block, itemBlock, name); - return block; - } - - protected static > T registerEnumBlock(T block, String name) - { - registerBlock(block, new ItemBlockMeta(block), name); - ItemBlockMeta.setMappingProperty(block, block.prop); - return block; - } + String prefixedName = Util.prefix(name); + block.setUnlocalizedName(prefixedName); - @SuppressWarnings({ "unchecked", "rawtypes" }) - protected static > T registerEnumBlockSlab(T block, String name) - { - registerBlock(block, new ItemBlockSlab(block), name); - ItemBlockMeta.setMappingProperty(block, block.prop); + register(registry, block, name); return block; } - protected static & EnumBlock.IEnumMeta & IStringSerializable> BlockNaturaStairsBase registerBlockStairsFrom(EnumBlock block, E value, String name) - { - return registerBlock(new BlockNaturaStairsBase(block.getDefaultState().withProperty(block.prop, value)), name); - } - - protected static & EnumBlock.IEnumMeta & IStringSerializable> BlockGrassStairs registerBlockGrassStairsFrom(EnumBlock block, E value, String name) + protected static & EnumBlock.IEnumMeta & IStringSerializable> BlockNaturaStairsBase registerBlockStairsFrom(IForgeRegistry registry, EnumBlock block, E value, String name) { - return registerBlock(new BlockGrassStairs(block.getDefaultState().withProperty(block.prop, value)), name); + return registerBlock(registry, new BlockNaturaStairsBase(block.getDefaultState().withProperty(block.prop, value)), name); } - // Buttons, Trap Doors, Fences, Fence Gates, Pressure Plates START - protected static BlockButtonBase registerBlockButton(String name) + protected static & EnumBlock.IEnumMeta & IStringSerializable> BlockGrassStairs registerBlockGrassStairsFrom(IForgeRegistry registry, EnumBlock block, E value, String name) { - return registerBlock(new BlockButtonBase(), name); + return registerBlock(registry, new BlockGrassStairs(block.getDefaultState().withProperty(block.prop, value)), name); } - protected static BlockPressurePlateBase registerBlockPressurePlate(String name) - { - return registerBlock(new BlockPressurePlateBase(), name); - } - - protected static BlockTrapDoorBase registerBlockTrapDoor(String name) - { - return registerBlock(new BlockTrapDoorBase(), name); - } - - protected static BlockFenceBase registerBlockFence(String name) - { - return registerBlock(new BlockFenceBase(), name); - } - - protected static BlockFenceGateBase registerBlockFenceGate(String name) - { - return registerBlock(new BlockFenceGateBase(), name); - } - // Buttons, Pressure Plates, Trap Doors Fences, Fence Gates END - - @SuppressWarnings("unchecked") - protected static T registerBlock(ItemBlock itemBlock, String name) - { - Block block = itemBlock.getBlock(); - return (T) registerBlock(block, itemBlock, name); - } - - protected static T registerBlock(T block, String name, IProperty property) - { - ItemBlockMeta itemBlock = new ItemBlockMeta(block); - registerBlock(block, itemBlock, name); - ItemBlockMeta.setMappingProperty(block, property); - return block; - } - - protected static T registerBlock(T block, ItemBlock itemBlock, String name) + protected static T registerItemBlock(IForgeRegistry registry, T block, String name) { if (!name.equals(name.toLowerCase(Locale.US))) { throw new IllegalArgumentException(String.format("Unlocalized names need to be all lowercase! Block: %s", name)); } + ItemBlock itemBlock = new ItemBlockMeta(block); + String prefixedName = Util.prefix(name); - block.setUnlocalizedName(prefixedName); itemBlock.setUnlocalizedName(prefixedName); - register(block, name); - register(itemBlock, name); + register(registry, itemBlock, name); return block; } - protected static T registerBlockNoItem(T block, String name) + protected static > T registerEnumItemBlock(IForgeRegistry registry, T block, String name) { if (!name.equals(name.toLowerCase(Locale.US))) { throw new IllegalArgumentException(String.format("Unlocalized names need to be all lowercase! Block: %s", name)); } + ItemBlock itemBlock = new ItemBlockMeta(block); + String prefixedName = Util.prefix(name); - block.setUnlocalizedName(prefixedName); + itemBlock.setUnlocalizedName(prefixedName); - register(block, name); + register(registry, itemBlock, name); + ItemBlockMeta.setMappingProperty(block, block.prop); return block; } - protected static > T register(T thing, String name) - { - thing.setRegistryName(Util.getResource(name)); - GameRegistry.register(thing); - return thing; - } - - protected static void registerTE(Class teClazz, String name) + @SuppressWarnings("unchecked") + protected static T registerItemBlockProp(IForgeRegistry registry, ItemBlock itemBlock, String name, IProperty property) { if (!name.equals(name.toLowerCase(Locale.US))) { - throw new IllegalArgumentException(String.format("Unlocalized names need to be all lowercase! TE: %s", name)); + throw new IllegalArgumentException(String.format("Unlocalized names need to be all lowercase! Block: %s", name)); } - GameRegistry.registerTileEntity(teClazz, Util.prefix(name)); + String prefixedName = Util.prefix(name); + itemBlock.setUnlocalizedName(prefixedName); + + register(registry, itemBlock, name); + ItemBlockMeta.setMappingProperty(itemBlock.getBlock(), property); + return (T) itemBlock.getBlock(); } - protected void addShapedRecipe(ItemStack stack, Object... recipeComponents) + protected static > T registerEnumItemBlockSlab(IForgeRegistry registry, T block, String name) { - String s = ""; - int i = 0; - int j = 0; - int k = 0; - - if (recipeComponents[i] instanceof String[]) - { - String[] astring = ((String[]) recipeComponents[i++]); - - for (String s2 : astring) - { - ++k; - j = s2.length(); - s = s + s2; - } - } - else - { - while (recipeComponents[i] instanceof String) - { - String s1 = (String) recipeComponents[i++]; - ++k; - j = s1.length(); - s = s + s1; - } - } - - Map map; - - for (map = Maps. newHashMap(); i < recipeComponents.length; i += 2) + if (!name.equals(name.toLowerCase(Locale.US))) { - Character character = (Character) recipeComponents[i]; - ItemStack itemstack = ItemStack.EMPTY; - - if (recipeComponents[i + 1] instanceof Item) - { - itemstack = new ItemStack((Item) recipeComponents[i + 1]); - } - else if (recipeComponents[i + 1] instanceof Block) - { - itemstack = new ItemStack((Block) recipeComponents[i + 1], 1, 32767); - } - else if (recipeComponents[i + 1] instanceof ItemStack) - { - itemstack = (ItemStack) recipeComponents[i + 1]; - } - - map.put(character, itemstack); + throw new IllegalArgumentException(String.format("Unlocalized names need to be all lowercase! Block: %s", name)); } - ItemStack[] aitemstack = new ItemStack[j * k]; - - for (int l = 0; l < j * k; ++l) - { - char c0 = s.charAt(l); - - if (map.containsKey(Character.valueOf(c0))) - { - aitemstack[l] = map.get(Character.valueOf(c0)).copy(); - } - else - { - aitemstack[l] = ItemStack.EMPTY; - } - } + @SuppressWarnings({ "unchecked", "rawtypes" }) + ItemBlock itemBlock = new ItemBlockSlab(block); - ShapedRecipes shapedrecipes = new ShapedRecipes(j, k, aitemstack, stack); + String prefixedName = Util.prefix(name); + itemBlock.setUnlocalizedName(prefixedName); - CraftingManager.getInstance().getRecipeList().add(shapedrecipes); + register(registry, itemBlock, name); + ItemBlockMeta.setMappingProperty(block, block.prop); + return block; } - protected void addShapelessRecipe(ItemStack stack, Object... recipeComponents) + protected static T registerItem(IForgeRegistry registry, T item, String name) { - List list = Lists. newArrayList(); - - for (Object object : recipeComponents) + if (!name.equals(name.toLowerCase(Locale.US))) { - if (object instanceof ItemStack) - { - list.add(((ItemStack) object).copy()); - } - else if (object instanceof Item) - { - list.add(new ItemStack((Item) object)); - } - else - { - if (!(object instanceof Block)) - { - throw new IllegalArgumentException("Invalid shapeless recipe: unknown type " + object.getClass().getName() + "!"); - } - - list.add(new ItemStack((Block) object)); - } + throw new IllegalArgumentException(String.format("Unlocalized names need to be all lowercase! Item: %s", name)); } - CraftingManager.getInstance().getRecipeList().add(new ShapelessRecipes(stack, list)); + item.setUnlocalizedName(Util.prefix(name)); + item.setRegistryName(Util.getResource(name)); + registry.register(item); + return item; } - protected static void addSlabRecipe(ItemStack slab, ItemStack input) + protected static > T register(IForgeRegistry registry, T thing, String name) { - GameRegistry.addShapedRecipe(new ItemStack(slab.getItem(), 6, slab.getItemDamage()), "BBB", 'B', input); + thing.setRegistryName(Util.getResource(name)); + registry.register(thing); + return thing; } - protected static void addSlabRecipe(Block slab, int slabMeta, ItemStack input) + /** + * Used to register TileEntitys with the GameRegistry. + * + * @param teClazz + * @param name + * + */ + protected static void registerTE(Class teClazz, String name) { - GameRegistry.addShapedRecipe(new ItemStack(slab, 6, slabMeta), "BBB", 'B', input); - } + if (!name.equals(name.toLowerCase(Locale.US))) + { + throw new IllegalArgumentException(String.format("Unlocalized names need to be all lowercase! TE: %s", name)); + } - protected static void addStairRecipe(Block stairs, ItemStack input) - { - GameRegistry.addShapedRecipe(new ItemStack(stairs, 4, 0), "B ", "BB ", "BBB", 'B', input); + GameRegistry.registerTileEntity(teClazz, Util.prefix(name)); } - } diff --git a/src/main/java/com/progwml6/natura/common/block/base/BlockFenceBase.java b/src/main/java/com/progwml6/natura/common/block/base/BlockFenceBase.java index 7aa1eb72..8d4dacad 100644 --- a/src/main/java/com/progwml6/natura/common/block/base/BlockFenceBase.java +++ b/src/main/java/com/progwml6/natura/common/block/base/BlockFenceBase.java @@ -7,8 +7,10 @@ import net.minecraft.block.BlockFenceGate; import net.minecraft.block.SoundType; import net.minecraft.block.material.Material; +import net.minecraft.block.state.BlockFaceShape; import net.minecraft.block.state.IBlockState; import net.minecraft.init.Blocks; +import net.minecraft.util.EnumFacing; import net.minecraft.util.math.BlockPos; import net.minecraft.world.IBlockAccess; @@ -30,11 +32,17 @@ public boolean canPlaceTorchOnTop(IBlockState state, IBlockAccess world, BlockPo } @Override - public boolean canConnectTo(IBlockAccess worldIn, BlockPos pos) + public boolean canConnectTo(IBlockAccess worldIn, BlockPos pos, EnumFacing facingIn) { IBlockState iblockstate = worldIn.getBlockState(pos); + BlockFaceShape blockfaceshape = iblockstate.getBlockFaceShape(worldIn, pos, facingIn); Block block = iblockstate.getBlock(); + boolean flag = blockfaceshape == BlockFaceShape.MIDDLE_POLE && (iblockstate.getMaterial() == this.blockMaterial || block instanceof BlockFenceGate); + return !isExcepBlockForAttachWithPiston(block) && blockfaceshape == BlockFaceShape.SOLID || flag; + } - return block == Blocks.BARRIER ? false : ((!(block instanceof BlockFence) || iblockstate.getMaterial() != this.blockMaterial) && !(block instanceof BlockFenceGate) ? (iblockstate.getMaterial().isOpaque() && iblockstate.isFullCube() ? iblockstate.getMaterial() != Material.GOURD : false) : true); + protected static boolean isExcepBlockForAttachWithPiston(Block blockIn) + { + return Block.isExceptBlockForAttachWithPiston(blockIn) || blockIn == Blocks.BARRIER || blockIn == Blocks.MELON_BLOCK || blockIn == Blocks.PUMPKIN || blockIn == Blocks.LIT_PUMPKIN; } } diff --git a/src/main/java/com/progwml6/natura/common/gui/common/FurnaceContainer.java b/src/main/java/com/progwml6/natura/common/gui/common/FurnaceContainer.java index 8751f4c7..4580e7c1 100644 --- a/src/main/java/com/progwml6/natura/common/gui/common/FurnaceContainer.java +++ b/src/main/java/com/progwml6/natura/common/gui/common/FurnaceContainer.java @@ -69,22 +69,22 @@ public void detectAndSendChanges() if (this.cookTime != this.tileFurnace.getField(2)) { - icontainerlistener.sendProgressBarUpdate(this, 2, this.tileFurnace.getField(2)); + icontainerlistener.sendWindowProperty(this, 2, this.tileFurnace.getField(2)); } if (this.furnaceBurnTime != this.tileFurnace.getField(0)) { - icontainerlistener.sendProgressBarUpdate(this, 0, this.tileFurnace.getField(0)); + icontainerlistener.sendWindowProperty(this, 0, this.tileFurnace.getField(0)); } if (this.currentItemBurnTime != this.tileFurnace.getField(1)) { - icontainerlistener.sendProgressBarUpdate(this, 1, this.tileFurnace.getField(1)); + icontainerlistener.sendWindowProperty(this, 1, this.tileFurnace.getField(1)); } if (this.totalCookTime != this.tileFurnace.getField(3)) { - icontainerlistener.sendProgressBarUpdate(this, 3, this.tileFurnace.getField(3)); + icontainerlistener.sendWindowProperty(this, 3, this.tileFurnace.getField(3)); } } diff --git a/src/main/java/com/progwml6/natura/common/gui/common/WorkbenchContainer.java b/src/main/java/com/progwml6/natura/common/gui/common/WorkbenchContainer.java index 03534315..6f7e2365 100644 --- a/src/main/java/com/progwml6/natura/common/gui/common/WorkbenchContainer.java +++ b/src/main/java/com/progwml6/natura/common/gui/common/WorkbenchContainer.java @@ -11,7 +11,6 @@ import net.minecraft.inventory.Slot; import net.minecraft.inventory.SlotCrafting; import net.minecraft.item.ItemStack; -import net.minecraft.item.crafting.CraftingManager; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; @@ -20,17 +19,21 @@ public class WorkbenchContainer extends Container /** The crafting matrix inventory (3x3). */ public InventoryCrafting craftMatrix = new InventoryCrafting(this, 3, 3); - public IInventory craftResult = new InventoryCraftResult(); + public InventoryCraftResult craftResult = new InventoryCraftResult(); private final World world; /** Position of the workbench */ private final BlockPos pos; + private final EntityPlayer player; + public WorkbenchContainer(InventoryPlayer playerInventory, World worldIn, BlockPos posIn) { this.world = worldIn; this.pos = posIn; + this.player = playerInventory.player; + this.addSlotToContainer(new SlotCrafting(playerInventory.player, this.craftMatrix, this.craftResult, 0, 124, 35)); for (int i = 0; i < 3; ++i) @@ -63,7 +66,7 @@ public WorkbenchContainer(InventoryPlayer playerInventory, World worldIn, BlockP @Override public void onCraftMatrixChanged(IInventory inventoryIn) { - this.craftResult.setInventorySlotContents(0, CraftingManager.getInstance().findMatchingRecipe(this.craftMatrix, this.world)); + this.slotChangedCraftingGrid(this.world, this.player, this.craftMatrix, this.craftResult); } /** @@ -76,15 +79,7 @@ public void onContainerClosed(EntityPlayer playerIn) if (!this.world.isRemote) { - for (int i = 0; i < 9; ++i) - { - ItemStack itemstack = this.craftMatrix.removeStackFromSlot(i); - - if (!itemstack.isEmpty()) - { - playerIn.dropItem(itemstack, false); - } - } + this.clearContainer(playerIn, this.world, this.craftMatrix); } } @@ -94,16 +89,19 @@ public void onContainerClosed(EntityPlayer playerIn) @Override public boolean canInteractWith(EntityPlayer playerIn) { - return (this.world.getBlockState(this.pos).getBlock() != NaturaDecorative.overworldWorkbenches && this.world.getBlockState(this.pos).getBlock() != NaturaDecorative.netherWorkbenches) ? false : playerIn.getDistanceSq(this.pos.getX() + 0.5D, this.pos.getY() + 0.5D, this.pos.getZ() + 0.5D) <= 64.0D; + if (this.world.getBlockState(this.pos).getBlock() != NaturaDecorative.overworldWorkbenches && this.world.getBlockState(this.pos).getBlock() != NaturaDecorative.netherWorkbenches) + { + return false; + } + else + { + return playerIn.getDistanceSq(this.pos.getX() + 0.5D, this.pos.getY() + 0.5D, this.pos.getZ() + 0.5D) <= 64.0D; + } } /** * Handle when the stack in slot {@code index} is shift-clicked. Normally this moves the stack between the player * inventory and the other inventory(s). - * - * @param playerIn Player that interacted with this {@code Container}. - * @param index Index of the {@link Slot}. This index is relative to the list of slots in this {@code Container}, - * {@link #inventorySlots}. */ @Override public ItemStack transferStackInSlot(EntityPlayer playerIn, int index) diff --git a/src/main/java/com/progwml6/natura/common/recipe/ConfigOptionEnabledConditionFactory.java b/src/main/java/com/progwml6/natura/common/recipe/ConfigOptionEnabledConditionFactory.java new file mode 100644 index 00000000..2a3dd9cc --- /dev/null +++ b/src/main/java/com/progwml6/natura/common/recipe/ConfigOptionEnabledConditionFactory.java @@ -0,0 +1,27 @@ +package com.progwml6.natura.common.recipe; + +import java.util.function.BooleanSupplier; + +import com.google.gson.JsonObject; +import com.progwml6.natura.common.config.Config; + +import net.minecraft.util.JsonUtils; +import net.minecraftforge.common.crafting.IConditionFactory; +import net.minecraftforge.common.crafting.JsonContext; + +public class ConfigOptionEnabledConditionFactory implements IConditionFactory +{ + @Override + public BooleanSupplier parse(JsonContext context, JsonObject json) + { + String configSetting = JsonUtils.getString(json, "config_setting", ""); + + switch (configSetting) + { + case "enableWheatRecipe": + return () -> Config.enableWheatRecipe; + default: + return () -> false; + } + } +} diff --git a/src/main/java/com/progwml6/natura/common/recipe/IsPulseLoadedConditionFactory.java b/src/main/java/com/progwml6/natura/common/recipe/IsPulseLoadedConditionFactory.java new file mode 100644 index 00000000..ce27856c --- /dev/null +++ b/src/main/java/com/progwml6/natura/common/recipe/IsPulseLoadedConditionFactory.java @@ -0,0 +1,28 @@ +package com.progwml6.natura.common.recipe; + +import java.util.function.BooleanSupplier; + +import com.google.gson.JsonObject; +import com.progwml6.natura.Natura; + +import net.minecraft.util.JsonUtils; +import net.minecraftforge.common.crafting.IConditionFactory; +import net.minecraftforge.common.crafting.JsonContext; + +public class IsPulseLoadedConditionFactory implements IConditionFactory +{ + @Override + public BooleanSupplier parse(JsonContext context, JsonObject json) + { + String pulseName = JsonUtils.getString(json, "pulse_name"); + + if (Natura.pulseManager.isPulseLoaded(pulseName)) + { + return () -> true; + } + else + { + return () -> false; + } + } +} diff --git a/src/main/java/com/progwml6/natura/decorative/NaturaDecorative.java b/src/main/java/com/progwml6/natura/decorative/NaturaDecorative.java index 765b825c..f9c8dc3a 100644 --- a/src/main/java/com/progwml6/natura/decorative/NaturaDecorative.java +++ b/src/main/java/com/progwml6/natura/decorative/NaturaDecorative.java @@ -5,6 +5,11 @@ import com.google.common.eventbus.Subscribe; import com.progwml6.natura.common.CommonProxy; import com.progwml6.natura.common.NaturaPulse; +import com.progwml6.natura.common.block.base.BlockButtonBase; +import com.progwml6.natura.common.block.base.BlockFenceBase; +import com.progwml6.natura.common.block.base.BlockFenceGateBase; +import com.progwml6.natura.common.block.base.BlockPressurePlateBase; +import com.progwml6.natura.common.block.base.BlockTrapDoorBase; import com.progwml6.natura.decorative.block.bookshelves.BlockNetherBookshelves; import com.progwml6.natura.decorative.block.bookshelves.BlockOverworldBookshelves; import com.progwml6.natura.decorative.block.workbenches.BlockNetherWorkbenches; @@ -12,19 +17,16 @@ import com.progwml6.natura.library.Util; import com.progwml6.natura.library.enums.WoodTypes; import com.progwml6.natura.library.enums.WoodTypes.WorldType; -import com.progwml6.natura.nether.NaturaNether; -import com.progwml6.natura.nether.block.planks.BlockNetherPlanks; -import com.progwml6.natura.overworld.NaturaOverworld; -import com.progwml6.natura.overworld.block.planks.BlockOverworldPlanks; -import com.progwml6.natura.shared.NaturaCommons; import net.minecraft.block.Block; -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; +import net.minecraft.item.Item; +import net.minecraftforge.client.event.ModelRegistryEvent; +import net.minecraftforge.event.RegistryEvent.Register; import net.minecraftforge.fml.common.SidedProxy; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; -import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.registries.IForgeRegistry; import slimeknights.mantle.pulsar.pulse.Pulse; @Pulse(id = NaturaDecorative.PulseId, description = "Everything that's decorative for Natura. (bookshelfs, etc)") @@ -51,25 +53,28 @@ public class NaturaDecorative extends NaturaPulse public static BlockNetherWorkbenches netherWorkbenches; //@formatter:on - @Subscribe - public void preInit(FMLPreInitializationEvent event) + @SubscribeEvent + public void registerBlocks(Register event) { + IForgeRegistry registry = event.getRegistry(); + + // Blocks Start if (isOverworldLoaded()) { for (WoodTypes type : WoodTypes.values()) { if (type.getWorldType() == WorldType.OVERWORLD) { - buttons[type.ordinal()] = registerBlockButton(type.getName() + "_button"); - pressurePlates[type.ordinal()] = registerBlockPressurePlate(type.getName() + "_pressure_plate"); - trapDoors[type.ordinal()] = registerBlockTrapDoor(type.getName() + "_trap_door"); - fences[type.ordinal()] = registerBlockFence(type.getName() + "_fence"); - fenceGates[type.ordinal()] = registerBlockFenceGate(type.getName() + "_fence_gate"); + buttons[type.ordinal()] = registerBlock(registry, new BlockButtonBase(), type.getName() + "_button"); + pressurePlates[type.ordinal()] = registerBlock(registry, new BlockPressurePlateBase(), type.getName() + "_pressure_plate"); + trapDoors[type.ordinal()] = registerBlock(registry, new BlockTrapDoorBase(), type.getName() + "_trap_door"); + fences[type.ordinal()] = registerBlock(registry, new BlockFenceBase(), type.getName() + "_fence"); + fenceGates[type.ordinal()] = registerBlock(registry, new BlockFenceGateBase(), type.getName() + "_fence_gate"); } } - overworldBookshelves = registerEnumBlock(new BlockOverworldBookshelves(), "overworld_bookshelves"); - overworldWorkbenches = registerEnumBlock(new BlockOverworldWorkbenches(), "overworld_workbenches"); + overworldBookshelves = registerBlock(registry, new BlockOverworldBookshelves(), "overworld_bookshelves"); + overworldWorkbenches = registerBlock(registry, new BlockOverworldWorkbenches(), "overworld_workbenches"); } if (isNetherLoaded()) @@ -78,56 +83,42 @@ public void preInit(FMLPreInitializationEvent event) { if (type.getWorldType() == WorldType.NETHER) { - buttons[type.ordinal()] = registerBlockButton(type.getName() + "_button"); - pressurePlates[type.ordinal()] = registerBlockPressurePlate(type.getName() + "_pressure_plate"); - trapDoors[type.ordinal()] = registerBlockTrapDoor(type.getName() + "_trap_door"); - fences[type.ordinal()] = registerBlockFence(type.getName() + "_fence"); - fenceGates[type.ordinal()] = registerBlockFenceGate(type.getName() + "_fence_gate"); + buttons[type.ordinal()] = registerBlock(registry, new BlockButtonBase(), type.getName() + "_button"); + pressurePlates[type.ordinal()] = registerBlock(registry, new BlockPressurePlateBase(), type.getName() + "_pressure_plate"); + trapDoors[type.ordinal()] = registerBlock(registry, new BlockTrapDoorBase(), type.getName() + "_trap_door"); + fences[type.ordinal()] = registerBlock(registry, new BlockFenceBase(), type.getName() + "_fence"); + fenceGates[type.ordinal()] = registerBlock(registry, new BlockFenceGateBase(), type.getName() + "_fence_gate"); } } - netherBookshelves = registerEnumBlock(new BlockNetherBookshelves(), "nether_bookshelves"); - netherWorkbenches = registerEnumBlock(new BlockNetherWorkbenches(), "nether_workbenches"); + netherBookshelves = registerBlock(registry, new BlockNetherBookshelves(), "nether_bookshelves"); + netherWorkbenches = registerBlock(registry, new BlockNetherWorkbenches(), "nether_workbenches"); } - - proxy.preInit(); - } - - @Subscribe - public void init(FMLInitializationEvent event) - { - proxy.init(); - - this.registerRecipes(); + // Blocks End } - @Subscribe - public void postInit(FMLPostInitializationEvent event) + @SubscribeEvent + public void registerItems(Register event) { - proxy.postInit(); - } + IForgeRegistry registry = event.getRegistry(); - private void registerRecipes() - { + // Blocks Start if (isOverworldLoaded()) { for (WoodTypes type : WoodTypes.values()) { if (type.getWorldType() == WorldType.OVERWORLD) { - addShapedRecipe(new ItemStack(buttons[type.ordinal()], 1), "#", '#', new ItemStack(NaturaOverworld.overworldPlanks, 1, type.getPlankMeta())); - addShapedRecipe(new ItemStack(pressurePlates[type.ordinal()], 1), "##", '#', new ItemStack(NaturaOverworld.overworldPlanks, 1, type.getPlankMeta())); - addShapedRecipe(new ItemStack(trapDoors[type.ordinal()], 2), "###", "###", '#', new ItemStack(NaturaOverworld.overworldPlanks, 1, type.getPlankMeta())); - addShapedRecipe(new ItemStack(fences[type.ordinal()], 2), "###", "###", '#', new ItemStack(NaturaCommons.sticks, 1, type.getStickMeta())); - addShapedRecipe(new ItemStack(fenceGates[type.ordinal()], 1), "s#s", "s#s", '#', new ItemStack(NaturaOverworld.overworldPlanks, 1, type.getPlankMeta()), 's', new ItemStack(NaturaCommons.sticks, 1, type.getStickMeta())); + buttons[type.ordinal()] = registerItemBlock(registry, buttons[type.ordinal()], type.getName() + "_button"); + pressurePlates[type.ordinal()] = registerItemBlock(registry, pressurePlates[type.ordinal()], type.getName() + "_pressure_plate"); + trapDoors[type.ordinal()] = registerItemBlock(registry, trapDoors[type.ordinal()], type.getName() + "_trap_door"); + fences[type.ordinal()] = registerItemBlock(registry, fences[type.ordinal()], type.getName() + "_fence"); + fenceGates[type.ordinal()] = registerItemBlock(registry, fenceGates[type.ordinal()], type.getName() + "_fence_gate"); } } - for (BlockOverworldPlanks.PlankType type : BlockOverworldPlanks.PlankType.values()) - { - addShapedRecipe(new ItemStack(overworldWorkbenches, 1, type.getMeta()), "##", "##", '#', new ItemStack(NaturaOverworld.overworldPlanks, 1, type.getMeta())); - addShapedRecipe(new ItemStack(overworldBookshelves, 1, type.getMeta()), "###", "bbb", "###", '#', new ItemStack(NaturaOverworld.overworldPlanks, 1, type.getMeta()), 'b', Items.BOOK); - } + overworldBookshelves = registerEnumItemBlock(registry, overworldBookshelves, "overworld_bookshelves"); + overworldWorkbenches = registerEnumItemBlock(registry, overworldWorkbenches, "overworld_workbenches"); } if (isNetherLoaded()) @@ -136,19 +127,35 @@ private void registerRecipes() { if (type.getWorldType() == WorldType.NETHER) { - addShapedRecipe(new ItemStack(buttons[type.ordinal()], 1), "#", '#', new ItemStack(NaturaNether.netherPlanks, 1, type.getPlankMeta())); - addShapedRecipe(new ItemStack(pressurePlates[type.ordinal()], 1), "##", '#', new ItemStack(NaturaNether.netherPlanks, 1, type.getPlankMeta())); - addShapedRecipe(new ItemStack(trapDoors[type.ordinal()], 2), "###", "###", '#', new ItemStack(NaturaNether.netherPlanks, 1, type.getPlankMeta())); - addShapedRecipe(new ItemStack(fences[type.ordinal()], 2), "###", "###", '#', new ItemStack(NaturaCommons.sticks, 1, type.getStickMeta())); - addShapedRecipe(new ItemStack(fenceGates[type.ordinal()], 1), "s#s", "s#s", '#', new ItemStack(NaturaNether.netherPlanks, 1, type.getPlankMeta()), 's', new ItemStack(NaturaCommons.sticks, 1, type.getStickMeta())); + buttons[type.ordinal()] = registerItemBlock(registry, buttons[type.ordinal()], type.getName() + "_button"); + pressurePlates[type.ordinal()] = registerItemBlock(registry, pressurePlates[type.ordinal()], type.getName() + "_pressure_plate"); + trapDoors[type.ordinal()] = registerItemBlock(registry, trapDoors[type.ordinal()], type.getName() + "_trap_door"); + fences[type.ordinal()] = registerItemBlock(registry, fences[type.ordinal()], type.getName() + "_fence"); + fenceGates[type.ordinal()] = registerItemBlock(registry, fenceGates[type.ordinal()], type.getName() + "_fence_gate"); } } - for (BlockNetherPlanks.PlankType type : BlockNetherPlanks.PlankType.values()) - { - addShapedRecipe(new ItemStack(netherWorkbenches, 1, type.getMeta()), "##", "##", '#', new ItemStack(NaturaNether.netherPlanks, 1, type.getMeta())); - addShapedRecipe(new ItemStack(netherBookshelves, 1, type.getMeta()), "###", "bbb", "###", '#', new ItemStack(NaturaNether.netherPlanks, 1, type.getMeta()), 'b', Items.BOOK); - } + netherBookshelves = registerEnumItemBlock(registry, netherBookshelves, "nether_bookshelves"); + netherWorkbenches = registerEnumItemBlock(registry, netherWorkbenches, "nether_workbenches"); } + // Blocks End + } + + @SubscribeEvent + public void registerModels(ModelRegistryEvent event) + { + proxy.preInit(); + } + + @Subscribe + public void init(FMLInitializationEvent event) + { + proxy.init(); + } + + @Subscribe + public void postInit(FMLPostInitializationEvent event) + { + proxy.postInit(); } } diff --git a/src/main/java/com/progwml6/natura/entities/entity/monster/EntityNitroCreeper.java b/src/main/java/com/progwml6/natura/entities/entity/monster/EntityNitroCreeper.java index 25dd33ef..2e89c4d0 100644 --- a/src/main/java/com/progwml6/natura/entities/entity/monster/EntityNitroCreeper.java +++ b/src/main/java/com/progwml6/natura/entities/entity/monster/EntityNitroCreeper.java @@ -165,10 +165,11 @@ protected ResourceLocation getLootTable() @Override public boolean attackEntityFrom(DamageSource source, float amount) { - if (source instanceof EntityDamageSource && ((EntityDamageSource) source).getEntity() instanceof EntityIronGolem) + if (source instanceof EntityDamageSource && ((EntityDamageSource) source).getTrueSource() instanceof EntityIronGolem) { amount = 1000; } + return super.attackEntityFrom(source, amount); } diff --git a/src/main/java/com/progwml6/natura/entities/entity/passive/EntityImp.java b/src/main/java/com/progwml6/natura/entities/entity/passive/EntityImp.java index fa394014..9e43230c 100644 --- a/src/main/java/com/progwml6/natura/entities/entity/passive/EntityImp.java +++ b/src/main/java/com/progwml6/natura/entities/entity/passive/EntityImp.java @@ -26,6 +26,7 @@ import net.minecraft.init.SoundEvents; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.util.DamageSource; import net.minecraft.util.ResourceLocation; import net.minecraft.util.SoundEvent; import net.minecraft.util.math.BlockPos; @@ -79,7 +80,7 @@ protected SoundEvent getAmbientSound() * Returns the sound this mob makes when it is hurt. */ @Override - protected SoundEvent getHurtSound() + protected SoundEvent getHurtSound(DamageSource source) { return SoundEvents.ENTITY_PIG_HURT; } diff --git a/src/main/java/com/progwml6/natura/nether/NaturaNether.java b/src/main/java/com/progwml6/natura/nether/NaturaNether.java index 87797ec2..d6245536 100644 --- a/src/main/java/com/progwml6/natura/nether/NaturaNether.java +++ b/src/main/java/com/progwml6/natura/nether/NaturaNether.java @@ -39,17 +39,16 @@ import net.minecraft.block.Block; import net.minecraft.init.Blocks; -import net.minecraft.init.Items; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.FurnaceRecipes; +import net.minecraftforge.client.event.ModelRegistryEvent; +import net.minecraftforge.event.RegistryEvent.Register; import net.minecraftforge.fml.common.SidedProxy; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; -import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; -import net.minecraftforge.fml.common.registry.GameRegistry; -import net.minecraftforge.oredict.OreDictionary; -import net.minecraftforge.oredict.ShapedOreRecipe; -import net.minecraftforge.oredict.ShapelessOreRecipe; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.registries.IForgeRegistry; import slimeknights.mantle.item.ItemBlockMeta; import slimeknights.mantle.pulsar.pulse.Pulse; @@ -71,7 +70,7 @@ public class NaturaNether extends NaturaPulse public static BlockNetherSapling netherSapling; public static BlockNetherSapling2 netherSapling2; public static BlockNetherPlanks netherPlanks; - public static Block netherSlab; + public static BlockNetherSlab netherSlab; public static BlockHeatSand netherHeatSand; public static BlockTaintedSoil netherTaintedSoil; @@ -122,70 +121,136 @@ public class NaturaNether extends NaturaPulse public static ItemStack bloodwood_door; //@formatter:on - @Subscribe - public void preInit(FMLPreInitializationEvent event) + @SubscribeEvent + public void registerBlocks(Register event) { - netherLog = registerEnumBlock(new BlockNetherLog(), "nether_logs"); - netherLog2 = registerBlock(new BlockNetherLog2(), "nether_logs2"); + IForgeRegistry registry = event.getRegistry(); + + // Blocks Start + netherLog = registerBlock(registry, new BlockNetherLog(), "nether_logs"); + netherLog2 = registerBlock(registry, new BlockNetherLog2(), "nether_logs2"); - netherLeaves = registerBlock(new ItemBlockLeaves(new BlockNetherLeaves()), "nether_leaves"); - ItemBlockMeta.setMappingProperty(netherLeaves, BlockNetherLeaves.TYPE); - netherLeaves2 = registerBlock(new ItemBlockLeaves(new BlockNetherLeaves2()), "nether_leaves2"); - ItemBlockMeta.setMappingProperty(netherLeaves2, BlockNetherLeaves2.TYPE); + netherLeaves = registerBlock(registry, new BlockNetherLeaves(), "nether_leaves"); + netherLeaves2 = registerBlock(registry, new BlockNetherLeaves2(), "nether_leaves2"); - netherSapling = registerBlock(new BlockNetherSapling(), "nether_sapling", BlockNetherSapling.FOLIAGE); - netherSapling2 = registerBlock(new BlockNetherSapling2(), "nether_sapling2", BlockNetherSapling2.FOLIAGE); + netherSapling = registerBlock(registry, new BlockNetherSapling(), "nether_sapling"); + netherSapling2 = registerBlock(registry, new BlockNetherSapling2(), "nether_sapling2"); - netherPlanks = registerEnumBlock(new BlockNetherPlanks(), "nether_planks"); + netherPlanks = registerBlock(registry, new BlockNetherPlanks(), "nether_planks"); - netherSlab = registerEnumBlockSlab(new BlockNetherSlab(), "nether_slab"); + netherSlab = registerBlock(registry, new BlockNetherSlab(), "nether_slab"); - netherHeatSand = registerBlock(new BlockHeatSand(), "nether_heat_sand"); - netherTaintedSoil = registerEnumBlock(new BlockTaintedSoil(), "nether_tainted_soil"); - netherThornVines = registerBlock(new BlockNetherThornVines(), "nether_thorn_vines"); + netherHeatSand = registerBlock(registry, new BlockHeatSand(), "nether_heat_sand"); + netherTaintedSoil = registerBlock(registry, new BlockTaintedSoil(), "nether_tainted_soil"); + netherThornVines = registerBlock(registry, new BlockNetherThornVines(), "nether_thorn_vines"); - netherGlass = registerEnumBlock(new BlockNetherGlass(), "nether_glass"); + netherGlass = registerBlock(registry, new BlockNetherGlass(), "nether_glass"); - netherStairsGhostwood = registerBlockStairsFrom(netherPlanks, BlockNetherPlanks.PlankType.GHOSTWOOD, "nether_stairs_ghostwood"); - netherStairsBloodwood = registerBlockStairsFrom(netherPlanks, BlockNetherPlanks.PlankType.BLOODWOOD, "nether_stairs_bloodwood"); - netherStairsDarkwood = registerBlockStairsFrom(netherPlanks, BlockNetherPlanks.PlankType.DARKWOOD, "nether_stairs_darkwood"); - netherStairsFusewood = registerBlockStairsFrom(netherPlanks, BlockNetherPlanks.PlankType.FUSEWOOD, "nether_stairs_fusewood"); + netherStairsGhostwood = registerBlockStairsFrom(registry, netherPlanks, BlockNetherPlanks.PlankType.GHOSTWOOD, "nether_stairs_ghostwood"); + netherStairsBloodwood = registerBlockStairsFrom(registry, netherPlanks, BlockNetherPlanks.PlankType.BLOODWOOD, "nether_stairs_bloodwood"); + netherStairsDarkwood = registerBlockStairsFrom(registry, netherPlanks, BlockNetherPlanks.PlankType.DARKWOOD, "nether_stairs_darkwood"); + netherStairsFusewood = registerBlockStairsFrom(registry, netherPlanks, BlockNetherPlanks.PlankType.FUSEWOOD, "nether_stairs_fusewood"); - netherBerryBushBlightberry = registerBlock(new BlockNetherBerryBush(NaturaCommons.blightberry), "nether_berrybush_blightberry"); - netherBerryBushDuskberry = registerBlock(new BlockNetherBerryBush(NaturaCommons.duskberry), "nether_berrybush_duskberry"); - netherBerryBushSkyberry = registerBlock(new BlockNetherBerryBush(NaturaCommons.skyberry), "nether_berrybush_skyberry"); - netherBerryBushStingberry = registerBlock(new BlockNetherBerryBush(NaturaCommons.stingberry), "nether_berrybush_stingberry"); + netherBerryBushBlightberry = registerBlock(registry, new BlockNetherBerryBush(NaturaCommons.blightberry), "nether_berrybush_blightberry"); + netherBerryBushDuskberry = registerBlock(registry, new BlockNetherBerryBush(NaturaCommons.duskberry), "nether_berrybush_duskberry"); + netherBerryBushSkyberry = registerBlock(registry, new BlockNetherBerryBush(NaturaCommons.skyberry), "nether_berrybush_skyberry"); + netherBerryBushStingberry = registerBlock(registry, new BlockNetherBerryBush(NaturaCommons.stingberry), "nether_berrybush_stingberry"); - respawnObelisk = registerEnumBlock(new BlockRespawnObelisk(), "respawn_obelisk"); + respawnObelisk = registerBlock(registry, new BlockRespawnObelisk(), "respawn_obelisk"); - netherGlowshroom = registerBlock(new BlockNetherGlowshroom(), "nether_glowshroom", BlockNetherGlowshroom.TYPE); - netherLargeGreenGlowshroom = registerBlock(new BlockNetherLargeGlowshroom(netherGlowshroom, BlockNetherGlowshroom.GlowshroomType.GREEN.getMeta()), "nether_green_large_glowshroom", BlockNetherLargeGlowshroom.VARIANT); - netherLargeBlueGlowshroom = registerBlock(new BlockNetherLargeGlowshroom(netherGlowshroom, BlockNetherGlowshroom.GlowshroomType.BLUE.getMeta()), "nether_blue_large_glowshroom", BlockNetherLargeGlowshroom.VARIANT); - netherLargePurpleGlowshroom = registerBlock(new BlockNetherLargeGlowshroom(netherGlowshroom, BlockNetherGlowshroom.GlowshroomType.PURPLE.getMeta()), "nether_purple_large_glowshroom", BlockNetherLargeGlowshroom.VARIANT); + netherGlowshroom = registerBlock(registry, new BlockNetherGlowshroom(), "nether_glowshroom"); + netherLargeGreenGlowshroom = registerBlock(registry, new BlockNetherLargeGlowshroom(netherGlowshroom, BlockNetherGlowshroom.GlowshroomType.GREEN.getMeta()), "nether_green_large_glowshroom"); + netherLargeBlueGlowshroom = registerBlock(registry, new BlockNetherLargeGlowshroom(netherGlowshroom, BlockNetherGlowshroom.GlowshroomType.BLUE.getMeta()), "nether_blue_large_glowshroom"); + netherLargePurpleGlowshroom = registerBlock(registry, new BlockNetherLargeGlowshroom(netherGlowshroom, BlockNetherGlowshroom.GlowshroomType.PURPLE.getMeta()), "nether_purple_large_glowshroom"); - ghostwoodDoor = registerBlock(new BlockNaturaDoor(), "nether_door_ghostwood"); - bloodwoodDoor = registerBlock(new BlockNaturaDoor(), "nether_door_bloodwood"); + ghostwoodDoor = registerBlock(registry, new BlockNaturaDoor(), "nether_door_ghostwood"); + bloodwoodDoor = registerBlock(registry, new BlockNaturaDoor(), "nether_door_bloodwood"); - blazeHopper = registerBlock(new BlockBlazeHopper(), "blaze_hopper"); + blazeHopper = registerBlock(registry, new BlockBlazeHopper(), "blaze_hopper"); - netherLever = registerBlock(new BlockNetherLever(), "nether_lever"); + netherLever = registerBlock(registry, new BlockNetherLever(), "nether_lever"); - netherButton = registerBlock(new BlockNetherButton(), "nether_button"); + netherButton = registerBlock(registry, new BlockNetherButton(), "nether_button"); - netherPressurePlate = registerBlock(new BlockNetherPressurePlate(), "nether_pressure_plate"); + netherPressurePlate = registerBlock(registry, new BlockNetherPressurePlate(), "nether_pressure_plate"); - blazeRail = registerBlock(new BlockBlazeRail(), "blaze_rail"); - blazeRailPowered = registerBlock(new BlockBlazeRailPowered(false), "blaze_rail_golden"); - blazeRailActivator = registerBlock(new BlockBlazeRailPowered(true), "blaze_rail_activator"); - blazeRailDetector = registerBlock(new BlockBlazeRailDetector(), "blaze_rail_detector"); + blazeRail = registerBlock(registry, new BlockBlazeRail(), "blaze_rail"); + blazeRailPowered = registerBlock(registry, new BlockBlazeRailPowered(false), "blaze_rail_golden"); + blazeRailActivator = registerBlock(registry, new BlockBlazeRailPowered(true), "blaze_rail_activator"); + blazeRailDetector = registerBlock(registry, new BlockBlazeRailDetector(), "blaze_rail_detector"); - netherrackFurnace = registerBlock(new BlockNetherrackFurnace(false), "netherrack_furnace"); - litNetherrackFurnace = registerBlock(new BlockNetherrackFurnace(true), "lit_netherrack_furnace"); + netherrackFurnace = registerBlock(registry, new BlockNetherrackFurnace(false), "netherrack_furnace"); + litNetherrackFurnace = registerBlock(registry, new BlockNetherrackFurnace(true), "lit_netherrack_furnace"); + // Blocks End registerTE(TileEntityNetherrackFurnace.class, "netherrack_furnace"); + } + + @SubscribeEvent + public void registerItems(Register event) + { + IForgeRegistry registry = event.getRegistry(); + + // Blocks Start + netherLog = registerEnumItemBlock(registry, netherLog, "nether_logs"); + netherLog2 = registerItemBlock(registry, netherLog2, "nether_logs2"); + + netherLeaves = registerItemBlockProp(registry, new ItemBlockLeaves(netherLeaves), "nether_leaves", BlockNetherLeaves.TYPE); + netherLeaves2 = registerItemBlockProp(registry, new ItemBlockLeaves(netherLeaves2), "nether_leaves2", BlockNetherLeaves2.TYPE); + + netherSapling = registerItemBlockProp(registry, new ItemBlockMeta(netherSapling), "nether_sapling", BlockNetherSapling.FOLIAGE); + netherSapling2 = registerItemBlockProp(registry, new ItemBlockMeta(netherSapling2), "nether_sapling2", BlockNetherSapling2.FOLIAGE); + + netherPlanks = registerEnumItemBlock(registry, netherPlanks, "nether_planks"); + + netherSlab = registerEnumItemBlockSlab(registry, netherSlab, "nether_slab"); + + netherHeatSand = registerItemBlock(registry, netherHeatSand, "nether_heat_sand"); + netherTaintedSoil = registerEnumItemBlock(registry, netherTaintedSoil, "nether_tainted_soil"); + netherThornVines = registerItemBlock(registry, netherThornVines, "nether_thorn_vines"); + + netherGlass = registerEnumItemBlock(registry, netherGlass, "nether_glass"); + + netherStairsGhostwood = registerItemBlock(registry, netherStairsGhostwood, "nether_stairs_ghostwood"); + netherStairsBloodwood = registerItemBlock(registry, netherStairsBloodwood, "nether_stairs_bloodwood"); + netherStairsDarkwood = registerItemBlock(registry, netherStairsDarkwood, "nether_stairs_darkwood"); + netherStairsFusewood = registerItemBlock(registry, netherStairsFusewood, "nether_stairs_fusewood"); + + netherBerryBushBlightberry = registerItemBlock(registry, netherBerryBushBlightberry, "nether_berrybush_blightberry"); + netherBerryBushDuskberry = registerItemBlock(registry, netherBerryBushDuskberry, "nether_berrybush_duskberry"); + netherBerryBushSkyberry = registerItemBlock(registry, netherBerryBushSkyberry, "nether_berrybush_skyberry"); + netherBerryBushStingberry = registerItemBlock(registry, netherBerryBushStingberry, "nether_berrybush_stingberry"); + + respawnObelisk = registerEnumItemBlock(registry, respawnObelisk, "respawn_obelisk"); + + netherGlowshroom = registerItemBlockProp(registry, new ItemBlockMeta(netherGlowshroom), "nether_glowshroom", BlockNetherGlowshroom.TYPE); + + netherLargeGreenGlowshroom = registerItemBlockProp(registry, new ItemBlockMeta(netherLargeGreenGlowshroom), "nether_green_large_glowshroom", BlockNetherLargeGlowshroom.VARIANT); + netherLargeBlueGlowshroom = registerItemBlockProp(registry, new ItemBlockMeta(netherLargeBlueGlowshroom), "nether_blue_large_glowshroom", BlockNetherLargeGlowshroom.VARIANT); + netherLargePurpleGlowshroom = registerItemBlockProp(registry, new ItemBlockMeta(netherLargePurpleGlowshroom), "nether_purple_large_glowshroom", BlockNetherLargeGlowshroom.VARIANT); - // Items - netherDoors = registerItem(new ItemNaturaDoor(), "nether_doors"); + ghostwoodDoor = registerItemBlock(registry, ghostwoodDoor, "nether_door_ghostwood"); + bloodwoodDoor = registerItemBlock(registry, bloodwoodDoor, "nether_door_bloodwood"); + + blazeHopper = registerItemBlock(registry, blazeHopper, "blaze_hopper"); + + netherLever = registerItemBlock(registry, netherLever, "nether_lever"); + + netherButton = registerItemBlock(registry, netherButton, "nether_button"); + + netherPressurePlate = registerItemBlock(registry, netherPressurePlate, "nether_pressure_plate"); + + blazeRail = registerItemBlock(registry, blazeRail, "blaze_rail"); + blazeRailPowered = registerItemBlock(registry, blazeRailPowered, "blaze_rail_golden"); + blazeRailActivator = registerItemBlock(registry, blazeRailActivator, "blaze_rail_activator"); + blazeRailDetector = registerItemBlock(registry, blazeRailDetector, "blaze_rail_detector"); + + netherrackFurnace = registerItemBlock(registry, netherrackFurnace, "netherrack_furnace"); + litNetherrackFurnace = registerItemBlock(registry, litNetherrackFurnace, "lit_netherrack_furnace"); + // Blocks End + + // Items Start + netherDoors = registerItem(registry, new ItemNaturaDoor(), "nether_doors"); netherDoors.setCreativeTab(NaturaRegistry.tabDecorative); @@ -194,8 +259,7 @@ public void preInit(FMLPreInitializationEvent event) ghostwoodDoor.setDoor(NaturaNether.ghostwood_door); bloodwoodDoor.setDoor(NaturaNether.bloodwood_door); - - proxy.preInit(); + // Items End if (!isOverworldLoaded()) { @@ -203,12 +267,17 @@ public void preInit(FMLPreInitializationEvent event) } } + @SubscribeEvent + public void registerModels(ModelRegistryEvent event) + { + proxy.preInit(); + } + @Subscribe public void init(FMLInitializationEvent event) { proxy.init(); - this.registerRecipes(); this.registerSmelting(); } @@ -218,86 +287,6 @@ public void postInit(FMLPostInitializationEvent event) proxy.postInit(); } - private void registerRecipes() - { - // Arrows - GameRegistry.addRecipe(NaturaCommons.ghostwoodFletching.copy(), " s ", "#s#", "#s#", 's', NaturaCommons.ghostwood_stick.copy(), '#', new ItemStack(netherLeaves, 1, BlockNetherLeaves.LeavesType.GHOSTWOOD.getMeta())); - - // Planks - GameRegistry.addRecipe(new ItemStack(netherPlanks, 4, BlockNetherPlanks.PlankType.DARKWOOD.getMeta()), "w", 'w', new ItemStack(netherLog, 1, BlockNetherLog.LogType.DARKWOOD.getMeta())); - GameRegistry.addRecipe(new ItemStack(netherPlanks, 4, BlockNetherPlanks.PlankType.BLOODWOOD.getMeta()), "w", 'w', new ItemStack(netherLog2, 1, OreDictionary.WILDCARD_VALUE)); - GameRegistry.addRecipe(new ItemStack(netherPlanks, 4, BlockNetherPlanks.PlankType.FUSEWOOD.getMeta()), "w", 'w', new ItemStack(netherLog, 1, BlockNetherLog.LogType.FUSEWOOD.getMeta())); - GameRegistry.addRecipe(new ItemStack(netherPlanks, 4, BlockNetherPlanks.PlankType.GHOSTWOOD.getMeta()), "w", 'w', new ItemStack(netherLog, 1, BlockNetherLog.LogType.GHOSTWOOD.getMeta())); - - // Doors - addShapedRecipe(ghostwood_door.copy(), "##", "##", "##", '#', new ItemStack(netherPlanks, 1, BlockNetherPlanks.PlankType.GHOSTWOOD.getMeta())); - addShapedRecipe(bloodwood_door.copy(), "##", "##", "##", '#', new ItemStack(netherPlanks, 1, BlockNetherPlanks.PlankType.BLOODWOOD.getMeta())); - - // Sticks - addShapedRecipe(new ItemStack(NaturaCommons.sticks, 4, 9), "#", "#", '#', new ItemStack(netherPlanks, 1, BlockNetherPlanks.PlankType.GHOSTWOOD.getMeta())); - addShapedRecipe(new ItemStack(NaturaCommons.sticks, 4, 10), "#", "#", '#', new ItemStack(netherPlanks, 1, BlockNetherPlanks.PlankType.DARKWOOD.getMeta())); - addShapedRecipe(new ItemStack(NaturaCommons.sticks, 4, 11), "#", "#", '#', new ItemStack(netherPlanks, 1, BlockNetherPlanks.PlankType.FUSEWOOD.getMeta())); - addShapedRecipe(new ItemStack(NaturaCommons.sticks, 4, 12), "#", "#", '#', new ItemStack(netherPlanks, 1, BlockNetherPlanks.PlankType.BLOODWOOD.getMeta())); - - // Empty Bowls - addShapedRecipe(new ItemStack(NaturaCommons.empty_bowls, 4, NaturaCommons.ghostwood_emptybowl.getItemDamage()), "# #", " # ", '#', new ItemStack(netherPlanks, 1, BlockNetherPlanks.PlankType.GHOSTWOOD.getMeta())); - addShapedRecipe(new ItemStack(NaturaCommons.empty_bowls, 4, NaturaCommons.bloodwood_emptybowl.getItemDamage()), "# #", " # ", '#', new ItemStack(netherPlanks, 1, BlockNetherPlanks.PlankType.BLOODWOOD.getMeta())); - addShapedRecipe(new ItemStack(NaturaCommons.empty_bowls, 4, NaturaCommons.darkwood_emptybowl.getItemDamage()), "# #", " # ", '#', new ItemStack(netherPlanks, 1, BlockNetherPlanks.PlankType.DARKWOOD.getMeta())); - addShapedRecipe(new ItemStack(NaturaCommons.empty_bowls, 4, NaturaCommons.fusewood_emptybowl.getItemDamage()), "# #", " # ", '#', new ItemStack(netherPlanks, 1, BlockNetherPlanks.PlankType.FUSEWOOD.getMeta())); - - // Mushroom Stew Bowls - GameRegistry.addRecipe(new ShapelessOreRecipe(NaturaCommons.ghostwood_mushroomstew.copy(), NaturaCommons.ghostwood_emptybowl.copy(), new ItemStack(Blocks.BROWN_MUSHROOM), new ItemStack(Blocks.RED_MUSHROOM))); - GameRegistry.addRecipe(new ShapelessOreRecipe(NaturaCommons.bloodwood_mushroomstew.copy(), NaturaCommons.ghostwood_emptybowl.copy(), new ItemStack(Blocks.BROWN_MUSHROOM), new ItemStack(Blocks.RED_MUSHROOM))); - GameRegistry.addRecipe(new ShapelessOreRecipe(NaturaCommons.darkwood_mushroomstew.copy(), NaturaCommons.ghostwood_emptybowl.copy(), new ItemStack(Blocks.BROWN_MUSHROOM), new ItemStack(Blocks.RED_MUSHROOM))); - GameRegistry.addRecipe(new ShapelessOreRecipe(NaturaCommons.fusewood_mushroomstew.copy(), NaturaCommons.ghostwood_emptybowl.copy(), new ItemStack(Blocks.BROWN_MUSHROOM), new ItemStack(Blocks.RED_MUSHROOM))); - - // Glowshroom Stew Bowls - GameRegistry.addRecipe(new ShapelessOreRecipe(NaturaCommons.vanilla_glowshroomstew.copy(), new ItemStack(Items.BOWL), new ItemStack(netherGlowshroom, 1, BlockNetherGlowshroom.GlowshroomType.GREEN.getMeta()), new ItemStack(netherGlowshroom, 1, BlockNetherGlowshroom.GlowshroomType.PURPLE.getMeta()), new ItemStack(netherGlowshroom, 1, BlockNetherGlowshroom.GlowshroomType.BLUE.getMeta()))); - GameRegistry.addRecipe(new ShapelessOreRecipe(NaturaCommons.ghostwood_glowshroomstew.copy(), NaturaCommons.ghostwood_emptybowl.copy(), new ItemStack(netherGlowshroom, 1, BlockNetherGlowshroom.GlowshroomType.GREEN.getMeta()), new ItemStack(netherGlowshroom, 1, BlockNetherGlowshroom.GlowshroomType.PURPLE.getMeta()), new ItemStack(netherGlowshroom, 1, BlockNetherGlowshroom.GlowshroomType.BLUE.getMeta()))); - GameRegistry.addRecipe(new ShapelessOreRecipe(NaturaCommons.bloodwood_glowshroomstew.copy(), NaturaCommons.ghostwood_emptybowl.copy(), new ItemStack(netherGlowshroom, 1, BlockNetherGlowshroom.GlowshroomType.GREEN.getMeta()), new ItemStack(netherGlowshroom, 1, BlockNetherGlowshroom.GlowshroomType.PURPLE.getMeta()), new ItemStack(netherGlowshroom, 1, BlockNetherGlowshroom.GlowshroomType.BLUE.getMeta()))); - GameRegistry.addRecipe(new ShapelessOreRecipe(NaturaCommons.darkwood_glowshroomstew.copy(), NaturaCommons.ghostwood_emptybowl.copy(), new ItemStack(netherGlowshroom, 1, BlockNetherGlowshroom.GlowshroomType.GREEN.getMeta()), new ItemStack(netherGlowshroom, 1, BlockNetherGlowshroom.GlowshroomType.PURPLE.getMeta()), new ItemStack(netherGlowshroom, 1, BlockNetherGlowshroom.GlowshroomType.BLUE.getMeta()))); - GameRegistry.addRecipe(new ShapelessOreRecipe(NaturaCommons.fusewood_glowshroomstew.copy(), NaturaCommons.ghostwood_emptybowl.copy(), new ItemStack(netherGlowshroom, 1, BlockNetherGlowshroom.GlowshroomType.GREEN.getMeta()), new ItemStack(netherGlowshroom, 1, BlockNetherGlowshroom.GlowshroomType.PURPLE.getMeta()), new ItemStack(netherGlowshroom, 1, BlockNetherGlowshroom.GlowshroomType.BLUE.getMeta()))); - - // Slabs - addSlabRecipe(netherSlab, BlockNetherSlab.PlankType.BLOODWOOD.getMeta(), new ItemStack(netherPlanks, 1, BlockNetherPlanks.PlankType.BLOODWOOD.getMeta())); - addSlabRecipe(netherSlab, BlockNetherSlab.PlankType.DARKWOOD.getMeta(), new ItemStack(netherPlanks, 1, BlockNetherPlanks.PlankType.DARKWOOD.getMeta())); - addSlabRecipe(netherSlab, BlockNetherSlab.PlankType.FUSEWOOD.getMeta(), new ItemStack(netherPlanks, 1, BlockNetherPlanks.PlankType.FUSEWOOD.getMeta())); - addSlabRecipe(netherSlab, BlockNetherSlab.PlankType.GHOSTWOOD.getMeta(), new ItemStack(netherPlanks, 1, BlockNetherPlanks.PlankType.GHOSTWOOD.getMeta())); - - // Stairs - addStairRecipe(netherStairsBloodwood, new ItemStack(netherPlanks, 1, BlockNetherPlanks.PlankType.BLOODWOOD.getMeta())); - addStairRecipe(netherStairsDarkwood, new ItemStack(netherPlanks, 1, BlockNetherPlanks.PlankType.DARKWOOD.getMeta())); - addStairRecipe(netherStairsFusewood, new ItemStack(netherPlanks, 1, BlockNetherPlanks.PlankType.FUSEWOOD.getMeta())); - addStairRecipe(netherStairsGhostwood, new ItemStack(netherPlanks, 1, BlockNetherPlanks.PlankType.GHOSTWOOD.getMeta())); - - // Soul Sand - GameRegistry.addShapelessRecipe(new ItemStack(Blocks.SOUL_SAND), netherHeatSand, netherTaintedSoil); - - // Blaze Rails - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(blazeRail, 16), "X X", "X#X", "X X", 'X', Items.BLAZE_ROD, '#', "stickWood")); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(blazeRailPowered, 6), "X X", "X#X", "XRX", 'X', Items.BLAZE_ROD, 'R', "dustRedstone", '#', new ItemStack(netherLog, 1, BlockNetherLog.LogType.FUSEWOOD.getMeta()))); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(blazeRailActivator, 6), "XSX", "X#X", "XSX", 'X', Items.BLAZE_ROD, '#', Blocks.REDSTONE_TORCH, 'S', "stickWood")); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(blazeRailDetector, 6), "X X", "X#X", "XRX", 'X', Items.BLAZE_ROD, 'R', "dustRedstone", '#', netherPressurePlate)); - - // Netherrack Furnace - GameRegistry.addRecipe(new ItemStack(netherrackFurnace), "###", "# #", "###", '#', Blocks.NETHERRACK); - - // Respawn Obelisk - GameRegistry.addRecipe(new ItemStack(respawnObelisk), "###", "# #", "###", '#', new ItemStack(netherLog, 1, BlockNetherLog.LogType.GHOSTWOOD.getMeta())); - - // Blaze Hopper - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(blazeHopper), "# #", "#C#", " # ", '#', new ItemStack(Items.BLAZE_ROD), 'C', "chestWood")); - - // Pressure Plate - GameRegistry.addRecipe(new ItemStack(netherPressurePlate), "##", '#', new ItemStack(Blocks.NETHERRACK)); - - // Button - GameRegistry.addRecipe(new ItemStack(netherButton), "#", '#', new ItemStack(Blocks.NETHERRACK)); - - // Lever - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(netherLever), "S", "#", '#', new ItemStack(Blocks.NETHERRACK), 'S', "stickWood")); - } - private void registerSmelting() { FurnaceRecipes furnaceRecipes = FurnaceRecipes.instance(); diff --git a/src/main/java/com/progwml6/natura/nether/block/leaves/BlockNetherLeaves.java b/src/main/java/com/progwml6/natura/nether/block/leaves/BlockNetherLeaves.java index 76f9df1b..29320437 100644 --- a/src/main/java/com/progwml6/natura/nether/block/leaves/BlockNetherLeaves.java +++ b/src/main/java/com/progwml6/natura/nether/block/leaves/BlockNetherLeaves.java @@ -54,7 +54,7 @@ public void updateTick(World worldIn, @Nonnull BlockPos pos, @Nonnull IBlockStat @SideOnly(Side.CLIENT) @Override - public void getSubBlocks(@Nonnull Item itemIn, CreativeTabs tab, NonNullList list) + public void getSubBlocks(CreativeTabs tab, NonNullList list) { for (LeavesType type : LeavesType.values()) { @@ -190,9 +190,9 @@ public boolean isLeaves(IBlockState state, IBlockAccess world, BlockPos pos) } @Override - public List getDrops(IBlockAccess world, BlockPos pos, IBlockState state, int fortune) + public void getDrops(NonNullList drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) { - List ret = super.getDrops(world, pos, state, fortune); + super.getDrops(drops, world, pos, state, fortune); Random rand = new Random(); rand.setSeed(2 ^ 16 + 2 ^ 8 + (4 * 3 * 271)); @@ -201,11 +201,9 @@ public List getDrops(IBlockAccess world, BlockPos pos, IBlockState st { if (fortune > 3 || rand.nextInt(40 - fortune * 10) == 0) { - ret.add(new ItemStack(Items.REDSTONE)); + drops.add(new ItemStack(Items.REDSTONE)); } } - - return ret; } public enum LeavesType implements IStringSerializable, EnumBlock.IEnumMeta diff --git a/src/main/java/com/progwml6/natura/nether/block/leaves/BlockNetherLeaves2.java b/src/main/java/com/progwml6/natura/nether/block/leaves/BlockNetherLeaves2.java index f75fe8c7..0129a6e2 100644 --- a/src/main/java/com/progwml6/natura/nether/block/leaves/BlockNetherLeaves2.java +++ b/src/main/java/com/progwml6/natura/nether/block/leaves/BlockNetherLeaves2.java @@ -54,7 +54,7 @@ public void updateTick(World worldIn, @Nonnull BlockPos pos, @Nonnull IBlockStat @SideOnly(Side.CLIENT) @Override - public void getSubBlocks(@Nonnull Item itemIn, CreativeTabs tab, NonNullList list) + public void getSubBlocks(CreativeTabs tab, NonNullList list) { for (LeavesType type : LeavesType.values()) { diff --git a/src/main/java/com/progwml6/natura/nether/block/logs/BlockNetherLog2.java b/src/main/java/com/progwml6/natura/nether/block/logs/BlockNetherLog2.java index 2e47791d..6e30156e 100644 --- a/src/main/java/com/progwml6/natura/nether/block/logs/BlockNetherLog2.java +++ b/src/main/java/com/progwml6/natura/nether/block/logs/BlockNetherLog2.java @@ -1,7 +1,5 @@ package com.progwml6.natura.nether.block.logs; -import javax.annotation.Nonnull; - import com.progwml6.natura.library.NaturaRegistry; import net.minecraft.block.Block; @@ -165,7 +163,7 @@ public IBlockState getStateForPlacement(World world, BlockPos pos, EnumFacing fa } @Override - public void getSubBlocks(@Nonnull Item itemIn, CreativeTabs tab, NonNullList list) + public void getSubBlocks(CreativeTabs tab, NonNullList list) { list.add(new ItemStack(this, 1, 0)); list.add(new ItemStack(this, 1, 15)); diff --git a/src/main/java/com/progwml6/natura/nether/block/obelisk/BlockRespawnObelisk.java b/src/main/java/com/progwml6/natura/nether/block/obelisk/BlockRespawnObelisk.java index 6cfa8162..b141ad60 100644 --- a/src/main/java/com/progwml6/natura/nether/block/obelisk/BlockRespawnObelisk.java +++ b/src/main/java/com/progwml6/natura/nether/block/obelisk/BlockRespawnObelisk.java @@ -3,8 +3,6 @@ import java.util.Locale; import java.util.Random; -import javax.annotation.Nonnull; - import com.progwml6.natura.library.NaturaRegistry; import net.minecraft.block.SoundType; @@ -15,7 +13,6 @@ import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.SoundEvents; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; @@ -46,7 +43,7 @@ public BlockRespawnObelisk() @SideOnly(Side.CLIENT) @Override - public void getSubBlocks(@Nonnull Item itemIn, CreativeTabs tab, NonNullList list) + public void getSubBlocks(CreativeTabs tab, NonNullList list) { for (ObeliskType type : ObeliskType.values()) { diff --git a/src/main/java/com/progwml6/natura/nether/block/saplings/BlockNetherSapling.java b/src/main/java/com/progwml6/natura/nether/block/saplings/BlockNetherSapling.java index 4e63ef99..18f93640 100644 --- a/src/main/java/com/progwml6/natura/nether/block/saplings/BlockNetherSapling.java +++ b/src/main/java/com/progwml6/natura/nether/block/saplings/BlockNetherSapling.java @@ -50,7 +50,7 @@ public BlockNetherSapling() } @Override - public void getSubBlocks(@Nonnull Item itemIn, CreativeTabs tab, NonNullList list) + public void getSubBlocks(CreativeTabs tab, NonNullList list) { for (SaplingType type : SaplingType.values()) { diff --git a/src/main/java/com/progwml6/natura/nether/block/saplings/BlockNetherSapling2.java b/src/main/java/com/progwml6/natura/nether/block/saplings/BlockNetherSapling2.java index eb751c74..fe6e3283 100644 --- a/src/main/java/com/progwml6/natura/nether/block/saplings/BlockNetherSapling2.java +++ b/src/main/java/com/progwml6/natura/nether/block/saplings/BlockNetherSapling2.java @@ -47,7 +47,7 @@ public BlockNetherSapling2() } @Override - public void getSubBlocks(@Nonnull Item itemIn, CreativeTabs tab, NonNullList list) + public void getSubBlocks(CreativeTabs tab, NonNullList list) { for (SaplingType type : SaplingType.values()) { diff --git a/src/main/java/com/progwml6/natura/nether/block/shrooms/BlockNetherGlowshroom.java b/src/main/java/com/progwml6/natura/nether/block/shrooms/BlockNetherGlowshroom.java index 11f816c7..38698732 100644 --- a/src/main/java/com/progwml6/natura/nether/block/shrooms/BlockNetherGlowshroom.java +++ b/src/main/java/com/progwml6/natura/nether/block/shrooms/BlockNetherGlowshroom.java @@ -20,7 +20,6 @@ import net.minecraft.block.state.IBlockState; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.init.Blocks; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.IStringSerializable; import net.minecraft.util.NonNullList; @@ -85,7 +84,7 @@ public void updateTick(World worldIn, BlockPos pos, IBlockState state, Random ra } @Override - public void getSubBlocks(@Nonnull Item itemIn, CreativeTabs tab, NonNullList list) + public void getSubBlocks(CreativeTabs tab, NonNullList list) { for (GlowshroomType type : GlowshroomType.values()) { diff --git a/src/main/java/com/progwml6/natura/nether/block/slabs/BlockNetherSlab.java b/src/main/java/com/progwml6/natura/nether/block/slabs/BlockNetherSlab.java index 873e3e37..862d0103 100644 --- a/src/main/java/com/progwml6/natura/nether/block/slabs/BlockNetherSlab.java +++ b/src/main/java/com/progwml6/natura/nether/block/slabs/BlockNetherSlab.java @@ -37,6 +37,7 @@ public IBlockState getFullBlock(IBlockState state) { return null; } + return NaturaNether.netherPlanks.getDefaultState().withProperty(BlockNetherPlanks.TYPE, state.getValue(TYPE).asFullBlock()); } diff --git a/src/main/java/com/progwml6/natura/oredict/NaturaOredict.java b/src/main/java/com/progwml6/natura/oredict/NaturaOredict.java index 93bcc4d0..be7074a6 100644 --- a/src/main/java/com/progwml6/natura/oredict/NaturaOredict.java +++ b/src/main/java/com/progwml6/natura/oredict/NaturaOredict.java @@ -18,7 +18,7 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; +import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.oredict.OreDictionary; import slimeknights.mantle.pulsar.pulse.Pulse; @@ -30,7 +30,7 @@ public class NaturaOredict extends NaturaPulse static final Logger log = Util.getLogger(PulseId); @Subscribe - public void preInit(FMLPreInitializationEvent event) + public void init(FMLInitializationEvent event) { ensureOredict(); diff --git a/src/main/java/com/progwml6/natura/overworld/NaturaOverworld.java b/src/main/java/com/progwml6/natura/overworld/NaturaOverworld.java index 514a9eb6..5aff7c9c 100644 --- a/src/main/java/com/progwml6/natura/overworld/NaturaOverworld.java +++ b/src/main/java/com/progwml6/natura/overworld/NaturaOverworld.java @@ -37,17 +37,17 @@ import com.progwml6.natura.shared.item.bags.ItemSeedBag; import net.minecraft.block.Block; -import net.minecraft.init.Blocks; import net.minecraft.init.Items; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.FurnaceRecipes; +import net.minecraftforge.client.event.ModelRegistryEvent; +import net.minecraftforge.event.RegistryEvent.Register; import net.minecraftforge.fml.common.SidedProxy; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; -import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; -import net.minecraftforge.fml.common.registry.GameRegistry; -import net.minecraftforge.oredict.ShapedOreRecipe; -import net.minecraftforge.oredict.ShapelessOreRecipe; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.registries.IForgeRegistry; import slimeknights.mantle.item.ItemBlockMeta; import slimeknights.mantle.pulsar.pulse.Pulse; @@ -84,8 +84,8 @@ public class NaturaOverworld extends NaturaPulse public static BlockBluebellsFlower bluebellsFlower; - public static Block overworldSlab; - public static Block overworldSlab2; + public static BlockOverworldSlab overworldSlab; + public static BlockOverworldSlab2 overworldSlab2; public static Block overworldStairsMaple; public static Block overworldStairsSilverbell; @@ -135,71 +135,133 @@ public class NaturaOverworld extends NaturaPulse public static ItemStack redwood_bark_door; //@formatter:on - @Subscribe - public void preInit(FMLPreInitializationEvent event) + @SubscribeEvent + public void registerBlocks(Register event) + { + IForgeRegistry registry = event.getRegistry(); + + // Blocks Start + coloredGrass = registerBlock(registry, new BlockColoredGrass(), "colored_grass"); + coloredGrassSlab = registerBlock(registry, new BlockColoredGrassSlab(), "colored_grass_slab"); + coloredGrassStairsTopiary = registerBlockGrassStairsFrom(registry, coloredGrass, BlockColoredGrass.GrassType.TOPIARY, "colored_grass_stairs_topiary"); + coloredGrassStairsBlueGrass = registerBlockGrassStairsFrom(registry, coloredGrass, BlockColoredGrass.GrassType.BLUEGRASS, "colored_grass_stairs_bluegrass"); + coloredGrassStairsAutumnal = registerBlockGrassStairsFrom(registry, coloredGrass, BlockColoredGrass.GrassType.AUTUMNAL, "colored_grass_stairs_autumnal"); + + overworldLog = registerBlock(registry, new BlockOverworldLog(), "overworld_logs"); + overworldLog2 = registerBlock(registry, new BlockOverworldLog2(), "overworld_logs2"); + redwoodLog = registerBlock(registry, new BlockRedwoodLog(), "redwood_logs"); + + overworldLeaves = registerBlock(registry, new BlockOverworldLeaves(), "overworld_leaves"); + overworldLeaves2 = registerBlock(registry, new BlockOverworldLeaves2(), "overworld_leaves2"); + redwoodLeaves = registerBlock(registry, new BlockRedwoodLeaves(), "redwood_leaves"); + + overworldSapling = registerBlock(registry, new BlockOverworldSapling(), "overworld_sapling"); + overworldSapling2 = registerBlock(registry, new BlockOverworldSapling2(), "overworld_sapling2"); + redwoodSapling = registerBlock(registry, new BlockRedwoodSapling(), "redwood_sapling"); + + bluebellsFlower = registerBlock(registry, new BlockBluebellsFlower(), "bluebells_flower"); + + overworldPlanks = registerBlock(registry, new BlockOverworldPlanks(), "overworld_planks"); + + overworldSlab = registerBlock(registry, new BlockOverworldSlab(), "overworld_slab"); + overworldSlab2 = registerBlock(registry, new BlockOverworldSlab2(), "overworld_slab2"); + + overworldStairsMaple = registerBlockStairsFrom(registry, overworldPlanks, BlockOverworldPlanks.PlankType.MAPLE, "overworld_stairs_maple"); + overworldStairsSilverbell = registerBlockStairsFrom(registry, overworldPlanks, BlockOverworldPlanks.PlankType.SILVERBELL, "overworld_stairs_silverbell"); + overworldStairsAmaranth = registerBlockStairsFrom(registry, overworldPlanks, BlockOverworldPlanks.PlankType.AMARANTH, "overworld_stairs_amaranth"); + overworldStairsTiger = registerBlockStairsFrom(registry, overworldPlanks, BlockOverworldPlanks.PlankType.TIGER, "overworld_stairs_tiger"); + overworldStairsWillow = registerBlockStairsFrom(registry, overworldPlanks, BlockOverworldPlanks.PlankType.WILLOW, "overworld_stairs_willow"); + overworldStairsEucalyptus = registerBlockStairsFrom(registry, overworldPlanks, BlockOverworldPlanks.PlankType.EUCALYPTUS, "overworld_stairs_eucalyptus"); + overworldStairsHopseed = registerBlockStairsFrom(registry, overworldPlanks, BlockOverworldPlanks.PlankType.HOPSEED, "overworld_stairs_hopseed"); + overworldStairsSakura = registerBlockStairsFrom(registry, overworldPlanks, BlockOverworldPlanks.PlankType.SAKURA, "overworld_stairs_sakura"); + overworldStairsRedwood = registerBlockStairsFrom(registry, overworldPlanks, BlockOverworldPlanks.PlankType.REDWOOD, "overworld_stairs_redwood"); + + overworldBerryBushRaspberry = registerBlock(registry, new BlockOverworldBerryBush(NaturaCommons.raspberry), "overworld_berrybush_raspberry"); + overworldBerryBushBlueberry = registerBlock(registry, new BlockOverworldBerryBush(NaturaCommons.blueberry), "overworld_berrybush_blueberry"); + overworldBerryBushBlackberry = registerBlock(registry, new BlockOverworldBerryBush(NaturaCommons.blackberry), "overworld_berrybush_blackberry"); + overworldBerryBushMaloberry = registerBlock(registry, new BlockOverworldBerryBush(NaturaCommons.maloberry), "overworld_berrybush_maloberry"); + + barleyCrop = registerBlock(registry, new BlockNaturaBarley(), "barley_crop"); + cottonCrop = registerBlock(registry, new BlockNaturaCotton(), "cotton_crop"); + + eucalyptusDoor = registerBlock(registry, new BlockNaturaDoor(), "overworld_door_eucalyptus"); + hopseedDoor = registerBlock(registry, new BlockNaturaDoor(), "overworld_door_hopseed"); + sakuraDoor = registerBlock(registry, new BlockNaturaDoor(), "overworld_door_sakura"); + redwoodDoor = registerBlock(registry, new BlockNaturaDoor(), "overworld_door_redwood"); + redwoodBarkDoor = registerBlock(registry, new BlockNaturaDoor(), "overworld_door_redwood_bark"); + + saguaro = registerBlock(registry, new BlockSaguaro(), "saguaro"); + saguaroBaby = registerBlock(registry, new BlockSaguaroBaby(), "saguaro_baby"); + saguaroFruit = registerBlock(registry, new BlockSaguaroFruit(), "saguaro_fruit"); + // Blocks End + } + + @SubscribeEvent + public void registerItems(Register event) { - coloredGrass = registerEnumBlock(new BlockColoredGrass(), "colored_grass"); - coloredGrassSlab = registerEnumBlockSlab(new BlockColoredGrassSlab(), "colored_grass_slab"); - coloredGrassStairsTopiary = registerBlockGrassStairsFrom(coloredGrass, BlockColoredGrass.GrassType.TOPIARY, "colored_grass_stairs_topiary"); - coloredGrassStairsBlueGrass = registerBlockGrassStairsFrom(coloredGrass, BlockColoredGrass.GrassType.BLUEGRASS, "colored_grass_stairs_bluegrass"); - coloredGrassStairsAutumnal = registerBlockGrassStairsFrom(coloredGrass, BlockColoredGrass.GrassType.AUTUMNAL, "colored_grass_stairs_autumnal"); - - overworldLog = registerEnumBlock(new BlockOverworldLog(), "overworld_logs"); - overworldLog2 = registerEnumBlock(new BlockOverworldLog2(), "overworld_logs2"); - redwoodLog = registerEnumBlock(new BlockRedwoodLog(), "redwood_logs"); - - overworldLeaves = registerBlock(new ItemBlockLeaves(new BlockOverworldLeaves()), "overworld_leaves"); - ItemBlockMeta.setMappingProperty(overworldLeaves, BlockOverworldLog.TYPE); - overworldLeaves2 = registerBlock(new ItemBlockLeaves(new BlockOverworldLeaves2()), "overworld_leaves2"); - ItemBlockMeta.setMappingProperty(overworldLeaves2, BlockOverworldLog2.TYPE); - redwoodLeaves = registerBlock(new ItemBlockLeaves(new BlockRedwoodLeaves()), "redwood_leaves"); - ItemBlockMeta.setMappingProperty(redwoodLeaves, BlockRedwoodLeaves.TYPE); - - overworldSapling = registerBlock(new BlockOverworldSapling(), "overworld_sapling", BlockOverworldSapling.FOLIAGE); - overworldSapling2 = registerBlock(new BlockOverworldSapling2(), "overworld_sapling2", BlockOverworldSapling2.FOLIAGE); - redwoodSapling = registerBlock(new BlockRedwoodSapling(), "redwood_sapling", BlockRedwoodSapling.FOLIAGE); - - bluebellsFlower = registerBlock(new BlockBluebellsFlower(), "bluebells_flower"); - - overworldPlanks = registerEnumBlock(new BlockOverworldPlanks(), "overworld_planks"); - - overworldSlab = registerEnumBlockSlab(new BlockOverworldSlab(), "overworld_slab"); - overworldSlab2 = registerEnumBlockSlab(new BlockOverworldSlab2(), "overworld_slab2"); - - overworldStairsMaple = registerBlockStairsFrom(overworldPlanks, BlockOverworldPlanks.PlankType.MAPLE, "overworld_stairs_maple"); - overworldStairsSilverbell = registerBlockStairsFrom(overworldPlanks, BlockOverworldPlanks.PlankType.SILVERBELL, "overworld_stairs_silverbell"); - overworldStairsAmaranth = registerBlockStairsFrom(overworldPlanks, BlockOverworldPlanks.PlankType.AMARANTH, "overworld_stairs_amaranth"); - overworldStairsTiger = registerBlockStairsFrom(overworldPlanks, BlockOverworldPlanks.PlankType.TIGER, "overworld_stairs_tiger"); - overworldStairsWillow = registerBlockStairsFrom(overworldPlanks, BlockOverworldPlanks.PlankType.WILLOW, "overworld_stairs_willow"); - overworldStairsEucalyptus = registerBlockStairsFrom(overworldPlanks, BlockOverworldPlanks.PlankType.EUCALYPTUS, "overworld_stairs_eucalyptus"); - overworldStairsHopseed = registerBlockStairsFrom(overworldPlanks, BlockOverworldPlanks.PlankType.HOPSEED, "overworld_stairs_hopseed"); - overworldStairsSakura = registerBlockStairsFrom(overworldPlanks, BlockOverworldPlanks.PlankType.SAKURA, "overworld_stairs_sakura"); - overworldStairsRedwood = registerBlockStairsFrom(overworldPlanks, BlockOverworldPlanks.PlankType.REDWOOD, "overworld_stairs_redwood"); - - overworldBerryBushRaspberry = registerBlock(new BlockOverworldBerryBush(NaturaCommons.raspberry), "overworld_berrybush_raspberry"); - overworldBerryBushBlueberry = registerBlock(new BlockOverworldBerryBush(NaturaCommons.blueberry), "overworld_berrybush_blueberry"); - overworldBerryBushBlackberry = registerBlock(new BlockOverworldBerryBush(NaturaCommons.blackberry), "overworld_berrybush_blackberry"); - overworldBerryBushMaloberry = registerBlock(new BlockOverworldBerryBush(NaturaCommons.maloberry), "overworld_berrybush_maloberry"); - - barleyCrop = registerBlock(new BlockNaturaBarley(), "barley_crop"); - cottonCrop = registerBlock(new BlockNaturaCotton(), "cotton_crop"); - - eucalyptusDoor = registerBlock(new BlockNaturaDoor(), "overworld_door_eucalyptus"); - hopseedDoor = registerBlock(new BlockNaturaDoor(), "overworld_door_hopseed"); - sakuraDoor = registerBlock(new BlockNaturaDoor(), "overworld_door_sakura"); - redwoodDoor = registerBlock(new BlockNaturaDoor(), "overworld_door_redwood"); - redwoodBarkDoor = registerBlock(new BlockNaturaDoor(), "overworld_door_redwood_bark"); - - saguaro = registerBlock(new BlockSaguaro(), "saguaro"); - saguaroBaby = registerBlock(new BlockSaguaroBaby(), "saguaro_baby"); - saguaroFruit = registerBlock(new BlockSaguaroFruit(), "saguaro_fruit"); - - // Items - overworldSeeds = registerItem(new ItemSeeds(), "overworld_seeds"); - overworldSeedBags = registerItem(new ItemSeedBag(), "overworld_seed_bags"); - overworldDoors = registerItem(new ItemNaturaDoor(), "overworld_doors"); - - saguaroFruitItem = registerItem(new ItemSaguaroFruit(3, 0.3f, NaturaOverworld.saguaroBaby), "saguaro_fruit_item"); + IForgeRegistry registry = event.getRegistry(); + + // Blocks Start + coloredGrass = registerEnumItemBlock(registry, coloredGrass, "colored_grass"); + coloredGrassSlab = registerEnumItemBlockSlab(registry, coloredGrassSlab, "colored_grass_slab"); + coloredGrassStairsTopiary = registerItemBlock(registry, coloredGrassStairsTopiary, "colored_grass_stairs_topiary"); + coloredGrassStairsBlueGrass = registerItemBlock(registry, coloredGrassStairsBlueGrass, "colored_grass_stairs_bluegrass"); + coloredGrassStairsAutumnal = registerItemBlock(registry, coloredGrassStairsAutumnal, "colored_grass_stairs_autumnal"); + + overworldLog = registerEnumItemBlock(registry, overworldLog, "overworld_logs"); + overworldLog2 = registerEnumItemBlock(registry, overworldLog2, "overworld_logs2"); + redwoodLog = registerEnumItemBlock(registry, redwoodLog, "redwood_logs"); + + overworldLeaves = registerItemBlockProp(registry, new ItemBlockLeaves(overworldLeaves), "overworld_leaves", BlockOverworldLog.TYPE); + overworldLeaves2 = registerItemBlockProp(registry, new ItemBlockLeaves(overworldLeaves2), "overworld_leaves2", BlockOverworldLog2.TYPE); + redwoodLeaves = registerItemBlockProp(registry, new ItemBlockLeaves(redwoodLeaves), "redwood_leaves", BlockRedwoodLeaves.TYPE); + + overworldSapling = registerItemBlockProp(registry, new ItemBlockMeta(overworldSapling), "overworld_sapling", BlockOverworldSapling.FOLIAGE); + overworldSapling2 = registerItemBlockProp(registry, new ItemBlockMeta(overworldSapling2), "overworld_sapling2", BlockOverworldSapling2.FOLIAGE); + redwoodSapling = registerItemBlockProp(registry, new ItemBlockMeta(redwoodSapling), "redwood_sapling", BlockRedwoodSapling.FOLIAGE); + + bluebellsFlower = registerItemBlock(registry, bluebellsFlower, "bluebells_flower"); + + overworldPlanks = registerEnumItemBlock(registry, overworldPlanks, "overworld_planks"); + + overworldSlab = registerEnumItemBlockSlab(registry, overworldSlab, "overworld_slab"); + overworldSlab2 = registerEnumItemBlockSlab(registry, overworldSlab2, "overworld_slab2"); + + overworldStairsMaple = registerItemBlock(registry, overworldStairsMaple, "overworld_stairs_maple"); + overworldStairsSilverbell = registerItemBlock(registry, overworldStairsSilverbell, "overworld_stairs_silverbell"); + overworldStairsAmaranth = registerItemBlock(registry, overworldStairsAmaranth, "overworld_stairs_amaranth"); + overworldStairsTiger = registerItemBlock(registry, overworldStairsTiger, "overworld_stairs_tiger"); + overworldStairsWillow = registerItemBlock(registry, overworldStairsWillow, "overworld_stairs_willow"); + overworldStairsEucalyptus = registerItemBlock(registry, overworldStairsEucalyptus, "overworld_stairs_eucalyptus"); + overworldStairsHopseed = registerItemBlock(registry, overworldStairsHopseed, "overworld_stairs_hopseed"); + overworldStairsSakura = registerItemBlock(registry, overworldStairsSakura, "overworld_stairs_sakura"); + overworldStairsRedwood = registerItemBlock(registry, overworldStairsRedwood, "overworld_stairs_redwood"); + + overworldBerryBushRaspberry = registerItemBlock(registry, overworldBerryBushRaspberry, "overworld_berrybush_raspberry"); + overworldBerryBushBlueberry = registerItemBlock(registry, overworldBerryBushBlueberry, "overworld_berrybush_blueberry"); + overworldBerryBushBlackberry = registerItemBlock(registry, overworldBerryBushBlackberry, "overworld_berrybush_blackberry"); + overworldBerryBushMaloberry = registerItemBlock(registry, overworldBerryBushMaloberry, "overworld_berrybush_maloberry"); + + barleyCrop = registerItemBlock(registry, barleyCrop, "barley_crop"); + cottonCrop = registerItemBlock(registry, cottonCrop, "cotton_crop"); + + eucalyptusDoor = registerItemBlock(registry, eucalyptusDoor, "overworld_door_eucalyptus"); + hopseedDoor = registerItemBlock(registry, hopseedDoor, "overworld_door_hopseed"); + sakuraDoor = registerItemBlock(registry, sakuraDoor, "overworld_door_sakura"); + redwoodDoor = registerItemBlock(registry, redwoodDoor, "overworld_door_redwood"); + redwoodBarkDoor = registerItemBlock(registry, redwoodBarkDoor, "overworld_door_redwood_bark"); + + saguaro = registerItemBlock(registry, saguaro, "saguaro"); + saguaroBaby = registerItemBlock(registry, saguaroBaby, "saguaro_baby"); + saguaroFruit = registerItemBlock(registry, saguaroFruit, "saguaro_fruit"); + // Blocks End + + // Items Start + overworldSeeds = registerItem(registry, new ItemSeeds(), "overworld_seeds"); + overworldSeedBags = registerItem(registry, new ItemSeedBag(), "overworld_seed_bags"); + overworldDoors = registerItem(registry, new ItemNaturaDoor(), "overworld_doors"); + + saguaroFruitItem = registerItem(registry, new ItemSaguaroFruit(3, 0.3f, NaturaOverworld.saguaroBaby), "saguaro_fruit_item"); overworldSeeds.setCreativeTab(NaturaRegistry.tabGeneral); overworldSeedBags.setCreativeTab(NaturaRegistry.tabGeneral); @@ -208,11 +270,8 @@ public void preInit(FMLPreInitializationEvent event) barley_seeds = overworldSeeds.addMeta(0, "barley_seeds", NaturaOverworld.barleyCrop.getDefaultState().withProperty(BlockNaturaBarley.AGE, 0)); cotton_seeds = overworldSeeds.addMeta(1, "cotton_seeds", NaturaOverworld.cottonCrop.getDefaultState().withProperty(BlockNaturaCotton.AGE, 0)); - if (isOverworldLoaded()) - { - barley_seed_bag = overworldSeedBags.addMeta(0, "barley_seed_bag", NaturaOverworld.barleyCrop.getDefaultState().withProperty(BlockNaturaBarley.AGE, Integer.valueOf(0))); - cotton_seed_bag = overworldSeedBags.addMeta(1, "cotton_seed_bag", NaturaOverworld.cottonCrop.getDefaultState().withProperty(BlockNaturaCotton.AGE, Integer.valueOf(0))); - } + barley_seed_bag = overworldSeedBags.addMeta(0, "barley_seed_bag", NaturaOverworld.barleyCrop.getDefaultState().withProperty(BlockNaturaBarley.AGE, Integer.valueOf(0))); + cotton_seed_bag = overworldSeedBags.addMeta(1, "cotton_seed_bag", NaturaOverworld.cottonCrop.getDefaultState().withProperty(BlockNaturaCotton.AGE, Integer.valueOf(0))); eucalyptus_door = overworldDoors.addMeta(0, "eucalyptus_door", NaturaOverworld.eucalyptusDoor.getDefaultState()); hopseed_door = overworldDoors.addMeta(1, "hopseed_door", NaturaOverworld.hopseedDoor.getDefaultState()); @@ -225,19 +284,23 @@ public void preInit(FMLPreInitializationEvent event) sakuraDoor.setDoor(NaturaOverworld.sakura_door); redwoodDoor.setDoor(NaturaOverworld.redwood_door); redwoodBarkDoor.setDoor(NaturaOverworld.redwood_bark_door); - - proxy.preInit(); + // Items End NaturaRegistry.tabWorld.setDisplayIcon(new ItemStack(coloredGrass)); NaturaRegistry.tabDecorative.setDisplayIcon(redwood_door); } + @SubscribeEvent + public void registerModels(ModelRegistryEvent event) + { + proxy.preInit(); + } + @Subscribe public void init(FMLInitializationEvent event) { proxy.init(); - this.registerRecipes(); this.registerSmelting(); } @@ -247,112 +310,6 @@ public void postInit(FMLPostInitializationEvent event) proxy.postInit(); } - private void registerRecipes() - { - // Seed Bags - GameRegistry.addRecipe(new ShapedOreRecipe(barley_seed_bag.copy(), "sss", "sss", "sss", 's', "seedBarley")); - GameRegistry.addRecipe(new ShapedOreRecipe(cotton_seed_bag.copy(), "sss", "sss", "sss", 's', "seedCotton")); - - // Seeds - GameRegistry.addRecipe(new ItemStack(overworldSeeds, 9, 0), "s", 's', barley_seed_bag.copy()); - GameRegistry.addRecipe(new ItemStack(overworldSeeds, 9, 1), "s", 's', cotton_seed_bag.copy()); - - // Blue Die - GameRegistry.addShapelessRecipe(NaturaCommons.blueDye, new ItemStack(bluebellsFlower)); - - // Berry Medley - String[] berryTypes = new String[] { "cropRaspberry", "cropBlueberry", "cropBlackberry", "cropMaloberry", "cropStrawberry", "cropCranberry" }; - - for (int iter1 = 0; iter1 < berryTypes.length - 2; iter1++) - { - for (int iter2 = iter1 + 1; iter2 < berryTypes.length - 1; iter2++) - { - for (int iter3 = iter2 + 1; iter3 < berryTypes.length; iter3++) - { - GameRegistry.addRecipe(new ShapelessOreRecipe(NaturaCommons.berryMedley.copy(), "bowlWood", berryTypes[iter1], berryTypes[iter2], berryTypes[iter3])); - } - } - } - - ItemStack berryMix = NaturaCommons.berryMedley.copy(); - berryMix.setCount(2); - - for (int iter1 = 0; iter1 < berryTypes.length - 3; iter1++) - { - for (int iter2 = iter1 + 1; iter2 < berryTypes.length - 2; iter2++) - { - for (int iter3 = iter2 + 1; iter3 < berryTypes.length - 1; iter3++) - { - for (int iter4 = iter3 + 1; iter4 < berryTypes.length; iter4++) - { - GameRegistry.addRecipe(new ShapelessOreRecipe(berryMix.copy(), "bowlWood", "bowlWood", berryTypes[iter1], berryTypes[iter2], berryTypes[iter3], berryTypes[iter4])); - } - } - } - } - - // Planks - GameRegistry.addRecipe(new ItemStack(overworldPlanks, 4, BlockOverworldPlanks.PlankType.MAPLE.getMeta()), "w", 'w', new ItemStack(overworldLog, 1, BlockOverworldLog.LogType.MAPLE.getMeta())); - GameRegistry.addRecipe(new ItemStack(overworldPlanks, 4, BlockOverworldPlanks.PlankType.SILVERBELL.getMeta()), "w", 'w', new ItemStack(overworldLog, 1, BlockOverworldLog.LogType.SILVERBELL.getMeta())); - GameRegistry.addRecipe(new ItemStack(overworldPlanks, 4, BlockOverworldPlanks.PlankType.AMARANTH.getMeta()), "w", 'w', new ItemStack(overworldLog, 1, BlockOverworldLog.LogType.AMARANTH.getMeta())); - GameRegistry.addRecipe(new ItemStack(overworldPlanks, 4, BlockOverworldPlanks.PlankType.TIGER.getMeta()), "w", 'w', new ItemStack(overworldLog, 1, BlockOverworldLog.LogType.TIGER.getMeta())); - GameRegistry.addRecipe(new ItemStack(overworldPlanks, 4, BlockOverworldPlanks.PlankType.WILLOW.getMeta()), "w", 'w', new ItemStack(overworldLog2, 1, BlockOverworldLog2.LogType.WILLOW.getMeta())); - GameRegistry.addRecipe(new ItemStack(overworldPlanks, 4, BlockOverworldPlanks.PlankType.EUCALYPTUS.getMeta()), "w", 'w', new ItemStack(overworldLog2, 1, BlockOverworldLog2.LogType.EUCALYPTUS.getMeta())); - GameRegistry.addRecipe(new ItemStack(overworldPlanks, 4, BlockOverworldPlanks.PlankType.HOPSEED.getMeta()), "w", 'w', new ItemStack(overworldLog2, 1, BlockOverworldLog2.LogType.HOPSEED.getMeta())); - GameRegistry.addRecipe(new ItemStack(overworldPlanks, 4, BlockOverworldPlanks.PlankType.SAKURA.getMeta()), "w", 'w', new ItemStack(overworldLog2, 1, BlockOverworldLog2.LogType.SAKURA.getMeta())); - GameRegistry.addRecipe(new ItemStack(overworldPlanks, 4, BlockOverworldPlanks.PlankType.REDWOOD.getMeta()), "w", 'w', new ItemStack(redwoodLog, 1, BlockRedwoodLog.RedwoodType.HEART.getMeta())); - - // Doors - addShapedRecipe(redwood_door.copy(), "##", "##", "##", '#', new ItemStack(overworldPlanks, 1, BlockOverworldPlanks.PlankType.REDWOOD.getMeta())); - addShapedRecipe(eucalyptus_door.copy(), "##", "##", "##", '#', new ItemStack(overworldPlanks, 1, BlockOverworldPlanks.PlankType.EUCALYPTUS.getMeta())); - addShapedRecipe(hopseed_door.copy(), "##", "##", "##", '#', new ItemStack(overworldPlanks, 1, BlockOverworldPlanks.PlankType.HOPSEED.getMeta())); - addShapedRecipe(sakura_door.copy(), "##", "##", "##", '#', new ItemStack(overworldPlanks, 1, BlockOverworldPlanks.PlankType.SAKURA.getMeta())); - addShapedRecipe(redwood_bark_door.copy(), "##", "##", "##", '#', new ItemStack(redwoodLog, 1, BlockRedwoodLog.RedwoodType.BARK.getMeta())); - - // Sticks - addShapedRecipe(new ItemStack(NaturaCommons.sticks, 4, 0), "#", "#", '#', new ItemStack(overworldPlanks, 1, BlockOverworldPlanks.PlankType.MAPLE.getMeta())); - addShapedRecipe(new ItemStack(NaturaCommons.sticks, 4, 1), "#", "#", '#', new ItemStack(overworldPlanks, 1, BlockOverworldPlanks.PlankType.SILVERBELL.getMeta())); - addShapedRecipe(new ItemStack(NaturaCommons.sticks, 4, 2), "#", "#", '#', new ItemStack(overworldPlanks, 1, BlockOverworldPlanks.PlankType.AMARANTH.getMeta())); - addShapedRecipe(new ItemStack(NaturaCommons.sticks, 4, 3), "#", "#", '#', new ItemStack(overworldPlanks, 1, BlockOverworldPlanks.PlankType.TIGER.getMeta())); - addShapedRecipe(new ItemStack(NaturaCommons.sticks, 4, 4), "#", "#", '#', new ItemStack(overworldPlanks, 1, BlockOverworldPlanks.PlankType.WILLOW.getMeta())); - addShapedRecipe(new ItemStack(NaturaCommons.sticks, 4, 5), "#", "#", '#', new ItemStack(overworldPlanks, 1, BlockOverworldPlanks.PlankType.EUCALYPTUS.getMeta())); - addShapedRecipe(new ItemStack(NaturaCommons.sticks, 4, 6), "#", "#", '#', new ItemStack(overworldPlanks, 1, BlockOverworldPlanks.PlankType.HOPSEED.getMeta())); - addShapedRecipe(new ItemStack(NaturaCommons.sticks, 4, 7), "#", "#", '#', new ItemStack(overworldPlanks, 1, BlockOverworldPlanks.PlankType.SAKURA.getMeta())); - addShapedRecipe(new ItemStack(NaturaCommons.sticks, 4, 8), "#", "#", '#', new ItemStack(overworldPlanks, 1, BlockOverworldPlanks.PlankType.REDWOOD.getMeta())); - - // Grass - GameRegistry.addRecipe(new ItemStack(coloredGrass, 1, BlockColoredGrass.GrassType.TOPIARY.getMeta()), " s ", "s#s", " s ", 's', new ItemStack(Items.WHEAT_SEEDS), '#', new ItemStack(Blocks.DIRT)); - GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(coloredGrass, 1, BlockColoredGrass.GrassType.BLUEGRASS.getMeta()), new ItemStack(coloredGrass, 1, 0), "dyeBlue")); - GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(coloredGrass, 1, BlockColoredGrass.GrassType.AUTUMNAL.getMeta()), new ItemStack(coloredGrass, 1, 0), "dyeRed")); - - // Grass Slabs - addSlabRecipe(coloredGrassSlab, BlockColoredGrass.GrassType.TOPIARY.getMeta(), new ItemStack(coloredGrass, 1, BlockColoredGrass.GrassType.TOPIARY.getMeta())); - addSlabRecipe(coloredGrassSlab, BlockColoredGrass.GrassType.BLUEGRASS.getMeta(), new ItemStack(coloredGrass, 1, BlockColoredGrass.GrassType.BLUEGRASS.getMeta())); - addSlabRecipe(coloredGrassSlab, BlockColoredGrass.GrassType.AUTUMNAL.getMeta(), new ItemStack(coloredGrass, 1, BlockColoredGrass.GrassType.AUTUMNAL.getMeta())); - - // Stairs - addStairRecipe(overworldStairsAmaranth, new ItemStack(overworldPlanks, 1, BlockOverworldPlanks.PlankType.AMARANTH.getMeta())); - addStairRecipe(overworldStairsMaple, new ItemStack(overworldPlanks, 1, BlockOverworldPlanks.PlankType.MAPLE.getMeta())); - addStairRecipe(overworldStairsSilverbell, new ItemStack(overworldPlanks, 1, BlockOverworldPlanks.PlankType.SILVERBELL.getMeta())); - addStairRecipe(overworldStairsTiger, new ItemStack(overworldPlanks, 1, BlockOverworldPlanks.PlankType.TIGER.getMeta())); - addStairRecipe(overworldStairsWillow, new ItemStack(overworldPlanks, 1, BlockOverworldPlanks.PlankType.WILLOW.getMeta())); - addStairRecipe(overworldStairsEucalyptus, new ItemStack(overworldPlanks, 1, BlockOverworldPlanks.PlankType.EUCALYPTUS.getMeta())); - addStairRecipe(overworldStairsHopseed, new ItemStack(overworldPlanks, 1, BlockOverworldPlanks.PlankType.HOPSEED.getMeta())); - addStairRecipe(overworldStairsRedwood, new ItemStack(overworldPlanks, 1, BlockOverworldPlanks.PlankType.REDWOOD.getMeta())); - addStairRecipe(overworldStairsSakura, new ItemStack(overworldPlanks, 1, BlockOverworldPlanks.PlankType.SAKURA.getMeta())); - - // Slabs - addSlabRecipe(overworldSlab, BlockOverworldSlab.PlankType.AMARANTH.getMeta(), new ItemStack(overworldPlanks, 1, BlockOverworldPlanks.PlankType.AMARANTH.getMeta())); - addSlabRecipe(overworldSlab, BlockOverworldSlab.PlankType.MAPLE.getMeta(), new ItemStack(overworldPlanks, 1, BlockOverworldPlanks.PlankType.MAPLE.getMeta())); - addSlabRecipe(overworldSlab, BlockOverworldSlab.PlankType.SILVERBELL.getMeta(), new ItemStack(overworldPlanks, 1, BlockOverworldPlanks.PlankType.SILVERBELL.getMeta())); - addSlabRecipe(overworldSlab, BlockOverworldSlab.PlankType.TIGER.getMeta(), new ItemStack(overworldPlanks, 1, BlockOverworldPlanks.PlankType.TIGER.getMeta())); - addSlabRecipe(overworldSlab, BlockOverworldSlab.PlankType.WILLOW.getMeta(), new ItemStack(overworldPlanks, 1, BlockOverworldPlanks.PlankType.WILLOW.getMeta())); - addSlabRecipe(overworldSlab2, BlockOverworldSlab2.PlankType.EUCALYPTUS.getMeta(), new ItemStack(overworldPlanks, 1, BlockOverworldPlanks.PlankType.EUCALYPTUS.getMeta())); - addSlabRecipe(overworldSlab2, BlockOverworldSlab2.PlankType.HOPSEED.getMeta(), new ItemStack(overworldPlanks, 1, BlockOverworldPlanks.PlankType.HOPSEED.getMeta())); - addSlabRecipe(overworldSlab2, BlockOverworldSlab2.PlankType.REDWOOD.getMeta(), new ItemStack(overworldPlanks, 1, BlockOverworldPlanks.PlankType.REDWOOD.getMeta())); - addSlabRecipe(overworldSlab2, BlockOverworldSlab2.PlankType.SAKURA.getMeta(), new ItemStack(overworldPlanks, 1, BlockOverworldPlanks.PlankType.SAKURA.getMeta())); - } - private void registerSmelting() { FurnaceRecipes furnaceRecipes = FurnaceRecipes.instance(); diff --git a/src/main/java/com/progwml6/natura/overworld/block/crops/BlockOverworldCrops.java b/src/main/java/com/progwml6/natura/overworld/block/crops/BlockOverworldCrops.java index e9c8cd02..9ed18d1e 100644 --- a/src/main/java/com/progwml6/natura/overworld/block/crops/BlockOverworldCrops.java +++ b/src/main/java/com/progwml6/natura/overworld/block/crops/BlockOverworldCrops.java @@ -14,6 +14,7 @@ import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.util.NonNullList; import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.MathHelper; @@ -172,9 +173,10 @@ public boolean canBlockStay(World worldIn, BlockPos pos, IBlockState state) protected abstract ItemStack getCrop(); @Override - public java.util.List getDrops(net.minecraft.world.IBlockAccess world, BlockPos pos, IBlockState state, int fortune) + public void getDrops(NonNullList drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) { - java.util.List ret = super.getDrops(world, pos, state, fortune); + super.getDrops(drops, world, pos, state, fortune); + int age = this.getAge(state); Random rand = world instanceof World ? ((World) world).rand : new Random(); @@ -184,11 +186,10 @@ public java.util.List getDrops(net.minecraft.world.IBlockAccess world { if (rand.nextInt(2 * this.getMaxAge()) <= age) { - ret.add(this.getSeed()); + drops.add(this.getSeed()); } } } - return ret; } /** diff --git a/src/main/java/com/progwml6/natura/overworld/block/leaves/BlockOverworldLeaves.java b/src/main/java/com/progwml6/natura/overworld/block/leaves/BlockOverworldLeaves.java index 1b2c0fbc..377e24b9 100644 --- a/src/main/java/com/progwml6/natura/overworld/block/leaves/BlockOverworldLeaves.java +++ b/src/main/java/com/progwml6/natura/overworld/block/leaves/BlockOverworldLeaves.java @@ -47,7 +47,7 @@ public void updateTick(World worldIn, @Nonnull BlockPos pos, @Nonnull IBlockStat @SideOnly(Side.CLIENT) @Override - public void getSubBlocks(@Nonnull Item itemIn, CreativeTabs tab, NonNullList list) + public void getSubBlocks(CreativeTabs tab, NonNullList list) { for (LogType type : LogType.values()) { diff --git a/src/main/java/com/progwml6/natura/overworld/block/leaves/BlockOverworldLeaves2.java b/src/main/java/com/progwml6/natura/overworld/block/leaves/BlockOverworldLeaves2.java index 8fd71272..778ddc25 100644 --- a/src/main/java/com/progwml6/natura/overworld/block/leaves/BlockOverworldLeaves2.java +++ b/src/main/java/com/progwml6/natura/overworld/block/leaves/BlockOverworldLeaves2.java @@ -47,7 +47,7 @@ public void updateTick(World worldIn, @Nonnull BlockPos pos, @Nonnull IBlockStat @SideOnly(Side.CLIENT) @Override - public void getSubBlocks(@Nonnull Item itemIn, CreativeTabs tab, NonNullList list) + public void getSubBlocks(CreativeTabs tab, NonNullList list) { for (LogType type : LogType.values()) { diff --git a/src/main/java/com/progwml6/natura/overworld/block/leaves/BlockRedwoodLeaves.java b/src/main/java/com/progwml6/natura/overworld/block/leaves/BlockRedwoodLeaves.java index a544a38c..f71b6e7f 100644 --- a/src/main/java/com/progwml6/natura/overworld/block/leaves/BlockRedwoodLeaves.java +++ b/src/main/java/com/progwml6/natura/overworld/block/leaves/BlockRedwoodLeaves.java @@ -90,7 +90,7 @@ private void destroy(World worldIn, BlockPos pos) @SideOnly(Side.CLIENT) @Override - public void getSubBlocks(@Nonnull Item itemIn, CreativeTabs tab, NonNullList list) + public void getSubBlocks(CreativeTabs tab, NonNullList list) { for (RedwoodType type : RedwoodType.values()) { diff --git a/src/main/java/com/progwml6/natura/overworld/block/saplings/BlockOverworldSapling.java b/src/main/java/com/progwml6/natura/overworld/block/saplings/BlockOverworldSapling.java index e0c64777..4e3409c4 100644 --- a/src/main/java/com/progwml6/natura/overworld/block/saplings/BlockOverworldSapling.java +++ b/src/main/java/com/progwml6/natura/overworld/block/saplings/BlockOverworldSapling.java @@ -43,7 +43,7 @@ public BlockOverworldSapling() } @Override - public void getSubBlocks(@Nonnull Item itemIn, CreativeTabs tab, NonNullList list) + public void getSubBlocks(CreativeTabs tab, NonNullList list) { for (SaplingType type : SaplingType.values()) { diff --git a/src/main/java/com/progwml6/natura/overworld/block/saplings/BlockOverworldSapling2.java b/src/main/java/com/progwml6/natura/overworld/block/saplings/BlockOverworldSapling2.java index b60c6fe6..5f1363f5 100644 --- a/src/main/java/com/progwml6/natura/overworld/block/saplings/BlockOverworldSapling2.java +++ b/src/main/java/com/progwml6/natura/overworld/block/saplings/BlockOverworldSapling2.java @@ -46,7 +46,7 @@ public BlockOverworldSapling2() } @Override - public void getSubBlocks(@Nonnull Item itemIn, CreativeTabs tab, NonNullList list) + public void getSubBlocks(CreativeTabs tab, NonNullList list) { for (SaplingType type : SaplingType.values()) { diff --git a/src/main/java/com/progwml6/natura/overworld/block/saplings/BlockRedwoodSapling.java b/src/main/java/com/progwml6/natura/overworld/block/saplings/BlockRedwoodSapling.java index 9902d2c5..81ce3aa3 100644 --- a/src/main/java/com/progwml6/natura/overworld/block/saplings/BlockRedwoodSapling.java +++ b/src/main/java/com/progwml6/natura/overworld/block/saplings/BlockRedwoodSapling.java @@ -44,7 +44,7 @@ public BlockRedwoodSapling() } @Override - public void getSubBlocks(@Nonnull Item itemIn, CreativeTabs tab, NonNullList list) + public void getSubBlocks(CreativeTabs tab, NonNullList list) { for (SaplingType type : SaplingType.values()) { diff --git a/src/main/java/com/progwml6/natura/overworld/item/ItemSaguaroFruit.java b/src/main/java/com/progwml6/natura/overworld/item/ItemSaguaroFruit.java index d360d495..b30154c0 100644 --- a/src/main/java/com/progwml6/natura/overworld/item/ItemSaguaroFruit.java +++ b/src/main/java/com/progwml6/natura/overworld/item/ItemSaguaroFruit.java @@ -2,10 +2,13 @@ import java.util.List; +import javax.annotation.Nullable; + import com.progwml6.natura.library.NaturaRegistry; import net.minecraft.block.Block; import net.minecraft.block.state.IBlockState; +import net.minecraft.client.util.ITooltipFlag; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.ItemSeedFood; @@ -69,10 +72,10 @@ public EnumActionResult onItemUse(EntityPlayer player, World worldIn, BlockPos p @Override @SideOnly(Side.CLIENT) - public void addInformation(ItemStack stack, EntityPlayer playerIn, List tooltip, boolean advanced) + public void addInformation(ItemStack stack, @Nullable World worldIn, List tooltip, ITooltipFlag flagIn) { addOptionalTooltip(stack, tooltip); - super.addInformation(stack, playerIn, tooltip, advanced); + super.addInformation(stack, worldIn, tooltip, flagIn); } public static void addOptionalTooltip(ItemStack stack, List tooltip) diff --git a/src/main/java/com/progwml6/natura/plugin/PluginJEI.java b/src/main/java/com/progwml6/natura/plugin/PluginJEI.java index 97d4ebce..537e9081 100644 --- a/src/main/java/com/progwml6/natura/plugin/PluginJEI.java +++ b/src/main/java/com/progwml6/natura/plugin/PluginJEI.java @@ -4,8 +4,8 @@ import com.progwml6.natura.nether.NaturaNether; import com.progwml6.natura.overworld.NaturaOverworld; -import mezz.jei.api.BlankModPlugin; import mezz.jei.api.IJeiHelpers; +import mezz.jei.api.IModPlugin; import mezz.jei.api.IModRegistry; import mezz.jei.api.JEIPlugin; import mezz.jei.api.ingredients.IIngredientBlacklist; @@ -13,7 +13,7 @@ import net.minecraftforge.oredict.OreDictionary; @JEIPlugin -public class PluginJEI extends BlankModPlugin +public class PluginJEI implements IModPlugin { @Override public void register(IModRegistry registry) diff --git a/src/main/java/com/progwml6/natura/shared/NaturaCommons.java b/src/main/java/com/progwml6/natura/shared/NaturaCommons.java index e15dda03..b98c060d 100644 --- a/src/main/java/com/progwml6/natura/shared/NaturaCommons.java +++ b/src/main/java/com/progwml6/natura/shared/NaturaCommons.java @@ -5,7 +5,6 @@ import com.google.common.eventbus.Subscribe; import com.progwml6.natura.common.CommonProxy; import com.progwml6.natura.common.NaturaPulse; -import com.progwml6.natura.common.config.Config; import com.progwml6.natura.library.NaturaRegistry; import com.progwml6.natura.library.Util; import com.progwml6.natura.shared.block.clouds.BlockCloud; @@ -14,20 +13,22 @@ import com.progwml6.natura.shared.item.food.ItemNaturaEdible; import com.progwml6.natura.shared.item.food.ItemNaturaEdibleSoup; +import net.minecraft.block.Block; import net.minecraft.block.BlockCrops; import net.minecraft.block.BlockNetherWart; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.init.MobEffects; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.FurnaceRecipes; import net.minecraft.potion.PotionEffect; +import net.minecraftforge.client.event.ModelRegistryEvent; +import net.minecraftforge.event.RegistryEvent.Register; import net.minecraftforge.fml.common.SidedProxy; import net.minecraftforge.fml.common.event.FMLInitializationEvent; -import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; -import net.minecraftforge.fml.common.registry.GameRegistry; -import net.minecraftforge.oredict.OreDictionary; -import net.minecraftforge.oredict.ShapedOreRecipe; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.registries.IForgeRegistry; import slimeknights.mantle.item.ItemMetaDynamic; import slimeknights.mantle.pulsar.pulse.Pulse; @@ -131,19 +132,29 @@ public class NaturaCommons extends NaturaPulse public static ItemStack bloodwood_stick; //@formatter:on - @Subscribe - public void preInit(FMLPreInitializationEvent event) + @SubscribeEvent + public void registerBlocks(Register event) { + IForgeRegistry registry = event.getRegistry(); + // Blocks - clouds = registerEnumBlock(new BlockCloud(), "clouds"); + clouds = registerBlock(registry, new BlockCloud(), "clouds"); + } + + @SubscribeEvent + public void registerItems(Register event) + { + IForgeRegistry registry = event.getRegistry(); + + clouds = registerEnumItemBlock(registry, clouds, "clouds"); // Items - materials = registerItem(new ItemMetaDynamic(), "materials"); - empty_bowls = registerItem(new ItemMetaDynamic(), "empty_bowls"); - edibles = registerItem(new ItemNaturaEdible(), "edibles"); - soups = registerItem(new ItemNaturaEdibleSoup(), "soups"); - seed_bags = registerItem(new ItemSeedBag(), "seed_bags"); - sticks = registerItem(new ItemMetaDynamic(), "sticks"); + materials = registerItem(registry, new ItemMetaDynamic(), "materials"); + empty_bowls = registerItem(registry, new ItemMetaDynamic(), "empty_bowls"); + edibles = registerItem(registry, new ItemNaturaEdible(), "edibles"); + soups = registerItem(registry, new ItemNaturaEdibleSoup(), "soups"); + seed_bags = registerItem(registry, new ItemSeedBag(), "seed_bags"); + sticks = registerItem(registry, new ItemMetaDynamic(), "sticks"); materials.setCreativeTab(NaturaRegistry.tabGeneral); empty_bowls.setCreativeTab(NaturaRegistry.tabGeneral); @@ -211,7 +222,7 @@ public void preInit(FMLPreInitializationEvent event) potatoes_seed_bag = seed_bags.addMeta(2, "potatoes_seed_bag", Blocks.POTATOES.getDefaultState().withProperty(BlockCrops.AGE, Integer.valueOf(0))); nether_wart_seed_bag = seed_bags.addMeta(3, "nether_wart_seed_bag", Blocks.NETHER_WART.getDefaultState().withProperty(BlockNetherWart.AGE, Integer.valueOf(0))); - boneMealBag = registerItem(new ItemBoneBag(), "bonemeal_bag"); + boneMealBag = registerItem(registry, new ItemBoneBag(), "bonemeal_bag"); if (isOverworldLoaded()) { @@ -234,8 +245,6 @@ public void preInit(FMLPreInitializationEvent event) bloodwood_stick = sticks.addMeta(12, "bloodwood_stick"); } - proxy.preInit(); - NaturaRegistry.tabGeneral.setDisplayIcon(cotton); if (!isOverworldLoaded()) @@ -244,68 +253,20 @@ public void preInit(FMLPreInitializationEvent event) } } + @SubscribeEvent + public void registerModels(ModelRegistryEvent event) + { + proxy.preInit(); + } + @Subscribe public void init(FMLInitializationEvent event) { proxy.init(); - this.registerRecipes(); this.registerSmelting(); } - private void registerRecipes() - { - // Crops - GameRegistry.addRecipe(wheat_seed_bag.copy(), "sss", "sss", "sss", 's', Items.WHEAT_SEEDS); - GameRegistry.addRecipe(new ShapedOreRecipe(potatoes_seed_bag.copy(), "sss", "sss", "sss", 's', "cropPotato")); - GameRegistry.addRecipe(new ShapedOreRecipe(carrots_seed_bag.copy(), "sss", "sss", "sss", 's', "cropCarrot")); - GameRegistry.addRecipe(nether_wart_seed_bag.copy(), "sss", "sss", "sss", 's', Items.NETHER_WART); - GameRegistry.addRecipe(new ItemStack(boneMealBag, 1, 0), "sss", "sss", "sss", 's', new ItemStack(Items.DYE, 1, 15)); - - GameRegistry.addRecipe(new ItemStack(Items.WHEAT_SEEDS, 9, 0), "s", 's', wheat_seed_bag.copy()); - GameRegistry.addRecipe(new ItemStack(Items.POTATO, 9, 0), "s", 's', potatoes_seed_bag.copy()); - GameRegistry.addRecipe(new ItemStack(Items.CARROT, 9, 0), "s", 's', potatoes_seed_bag.copy()); - GameRegistry.addRecipe(new ItemStack(Items.NETHER_WART, 9, 0), "s", 's', nether_wart_seed_bag.copy()); - GameRegistry.addRecipe(new ItemStack(Items.DYE, 9, 15), "s", 's', boneMealBag); - - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.STRING), "sss", 's', "cropCotton")); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Blocks.WOOL), "sss", "sss", "sss", 's', "cropCotton")); - - GameRegistry.addRecipe(cactusJuice.copy(), "X", 'X', Blocks.CACTUS); - GameRegistry.addRecipe(new ItemStack(Items.WATER_BUCKET, 1), "www", "wBw", "www", 'w', cactusJuice.copy(), 'B', Items.BUCKET); - - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.BREAD), "bbb", 'b', "cropBarley")); - GameRegistry.addRecipe(new ShapedOreRecipe(barleyFlour.copy(), "X", 'X', "cropBarley")); - - if (Config.enableWheatRecipe) - { - GameRegistry.addRecipe(new ShapedOreRecipe(wheatFlour.copy(), "X", 'X', "cropWheat")); - } - - // Cake - GameRegistry.addRecipe(new ItemStack(Items.CAKE, 1), "AAA", "BEB", " C ", 'A', Items.MILK_BUCKET, 'B', Items.SUGAR, 'C', wheatFlour.copy(), 'E', Items.EGG); - GameRegistry.addRecipe(new ItemStack(Items.CAKE, 1), "AAA", "BEB", " C ", 'A', Items.MILK_BUCKET, 'B', Items.SUGAR, 'C', barleyFlour.copy(), 'E', Items.EGG); - - // Leather - if (isEntitiesLoaded()) - { - GameRegistry.addRecipe(new ItemStack(Items.LEATHER, 2), "##", "##", '#', impLeather.copy()); - } - - // Clouds - GameRegistry.addRecipe(new ItemStack(Items.COAL, 1, 1), "ccc", "ccc", "ccc", 'c', new ItemStack(clouds, 1, BlockCloud.CloudType.ASH.getMeta())); - GameRegistry.addRecipe(sulfurPowder.copy(), "cc", "cc", 'c', new ItemStack(clouds, 1, BlockCloud.CloudType.SULFUR.getMeta())); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.GUNPOWDER, 1, 0), "cc", "cc", 'c', "dustSulfur")); - - // Arrows - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.ARROW, 4, 0), " f ", "#s#", " # ", 's', "stickWood", '#', ghostwoodFletching.copy(), 'f', Items.FLINT)); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.ARROW, 4, 0), " f ", "#s#", " # ", 's', new ItemStack(sticks, 1, OreDictionary.WILDCARD_VALUE), '#', ghostwoodFletching.copy(), 'f', Items.FLINT)); - - // Misc - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Items.GLASS_BOTTLE, 3), "# #", " # ", '#', "glass")); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Blocks.DAYLIGHT_DETECTOR), "GGG", "QQQ", "WWW", 'G', "glass", 'Q', "gemQuartz", 'W', "slabWood")); - } - private void registerSmelting() { FurnaceRecipes furnaceRecipes = FurnaceRecipes.instance(); diff --git a/src/main/java/com/progwml6/natura/shared/block/clouds/BlockCloud.java b/src/main/java/com/progwml6/natura/shared/block/clouds/BlockCloud.java index d3dee08a..a1e63119 100644 --- a/src/main/java/com/progwml6/natura/shared/block/clouds/BlockCloud.java +++ b/src/main/java/com/progwml6/natura/shared/block/clouds/BlockCloud.java @@ -123,10 +123,10 @@ public boolean isOpaqueCube(IBlockState state) } @Override - public boolean isBlockSolid(IBlockAccess worldIn, BlockPos pos, EnumFacing side) + public boolean isNormalCube(IBlockState state, IBlockAccess world, BlockPos pos) { - Material material = worldIn.getBlockState(pos).getMaterial(); - return material == this.blockMaterial ? false : super.isBlockSolid(worldIn, pos, side); + Material material = world.getBlockState(pos).getMaterial(); + return material == this.blockMaterial ? false : super.isNormalCube(state, world, pos); } @Override diff --git a/src/main/java/com/progwml6/natura/shared/item/food/ItemNaturaEdible.java b/src/main/java/com/progwml6/natura/shared/item/food/ItemNaturaEdible.java index 78b72418..2d237e9e 100644 --- a/src/main/java/com/progwml6/natura/shared/item/food/ItemNaturaEdible.java +++ b/src/main/java/com/progwml6/natura/shared/item/food/ItemNaturaEdible.java @@ -2,12 +2,15 @@ import java.util.List; +import javax.annotation.Nullable; + import gnu.trove.map.hash.TIntIntHashMap; -import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.client.util.ITooltipFlag; import net.minecraft.item.ItemStack; import net.minecraft.potion.PotionEffect; import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.translation.I18n; +import net.minecraft.world.World; import slimeknights.mantle.item.ItemEdible; @SuppressWarnings("deprecation") @@ -47,9 +50,9 @@ public int getMaxItemUseDuration(ItemStack stack) } @Override - public void addInformation(ItemStack stack, EntityPlayer playerIn, List tooltip, boolean advanced) + public void addInformation(ItemStack stack, @Nullable World worldIn, List tooltip, ITooltipFlag flag) { - super.addInformation(stack, playerIn, tooltip, advanced); + super.addInformation(stack, worldIn, tooltip, flag); // effect info if (this.displayCustomEffectsTooltip) diff --git a/src/main/java/com/progwml6/natura/tools/NaturaTools.java b/src/main/java/com/progwml6/natura/tools/NaturaTools.java index 1cdf39fd..10c9bad0 100644 --- a/src/main/java/com/progwml6/natura/tools/NaturaTools.java +++ b/src/main/java/com/progwml6/natura/tools/NaturaTools.java @@ -6,9 +6,6 @@ import com.progwml6.natura.common.CommonProxy; import com.progwml6.natura.common.NaturaPulse; import com.progwml6.natura.library.Util; -import com.progwml6.natura.nether.NaturaNether; -import com.progwml6.natura.nether.block.planks.BlockNetherPlanks; -import com.progwml6.natura.shared.NaturaCommons; import com.progwml6.natura.tools.item.armor.ItemNaturaImpArmor; import com.progwml6.natura.tools.item.bows.ItemNaturaBow; import com.progwml6.natura.tools.item.tools.ItemNaturaAxe; @@ -18,7 +15,6 @@ import com.progwml6.natura.tools.item.tools.ItemNaturaShovel; import com.progwml6.natura.tools.item.tools.ItemNaturaSword; -import net.minecraft.init.Blocks; import net.minecraft.init.Enchantments; import net.minecraft.init.SoundEvents; import net.minecraft.inventory.EntityEquipmentSlot; @@ -26,12 +22,13 @@ import net.minecraft.item.Item.ToolMaterial; import net.minecraft.item.ItemArmor.ArmorMaterial; import net.minecraft.item.ItemStack; +import net.minecraftforge.client.event.ModelRegistryEvent; import net.minecraftforge.common.util.EnumHelper; +import net.minecraftforge.event.RegistryEvent.Register; import net.minecraftforge.fml.common.SidedProxy; import net.minecraftforge.fml.common.event.FMLInitializationEvent; -import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; -import net.minecraftforge.fml.common.registry.GameRegistry; -import net.minecraftforge.oredict.OreDictionary; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.registries.IForgeRegistry; import slimeknights.mantle.pulsar.pulse.Pulse; @Pulse(id = NaturaTools.PulseId, description = "All of the tools + armor added by natura") @@ -92,121 +89,88 @@ public class NaturaTools extends NaturaPulse public static Item flintAndBlaze; //@formatter:on - @Subscribe - public void preInit(FMLPreInitializationEvent event) + @SubscribeEvent + public void registerItems(Register event) { + IForgeRegistry registry = event.getRegistry(); + if (isEntitiesLoaded()) { ArmorMaterial impMaterial = EnumHelper.addArmorMaterial("Imp", "natura:impArmor", 33, new int[] { 1, 3, 2, 1 }, 15, SoundEvents.ITEM_ARMOR_EQUIP_GENERIC, 0); - impHelmet = registerItem(new ItemNaturaImpArmor(impMaterial, EntityEquipmentSlot.HEAD), "imp_armor_helmet"); - impChestplate = registerItem(new ItemNaturaImpArmor(impMaterial, EntityEquipmentSlot.CHEST), "imp_armor_chestplate"); - impLeggings = registerItem(new ItemNaturaImpArmor(impMaterial, EntityEquipmentSlot.LEGS), "imp_armor_leggings"); - impBoots = registerItem(new ItemNaturaImpArmor(impMaterial, EntityEquipmentSlot.FEET), "imp_armor_boots"); - } + impHelmet = registerItem(registry, new ItemNaturaImpArmor(impMaterial, EntityEquipmentSlot.HEAD), "imp_armor_helmet"); + impChestplate = registerItem(registry, new ItemNaturaImpArmor(impMaterial, EntityEquipmentSlot.CHEST), "imp_armor_chestplate"); + impLeggings = registerItem(registry, new ItemNaturaImpArmor(impMaterial, EntityEquipmentSlot.LEGS), "imp_armor_leggings"); + impBoots = registerItem(registry, new ItemNaturaImpArmor(impMaterial, EntityEquipmentSlot.FEET), "imp_armor_boots"); - if (isNetherLoaded()) - { - ToolMaterial bloodwoodMaterial = EnumHelper.addToolMaterial("Bloodwood", 3, 350, 7f, 3, 24); - - ghostwoodSword = registerItem(new ItemNaturaSword(ToolMaterial.WOOD), "ghostwood_sword"); - ghostwoodPickaxe = registerItem(new ItemNaturaPickaxe(ToolMaterial.WOOD, 0), "ghostwood_pickaxe"); - ghostwoodShovel = registerItem(new ItemNaturaShovel(ToolMaterial.WOOD, 0), "ghostwood_shovel"); - ghostwoodAxe = registerItem(new ItemNaturaAxe(ToolMaterial.WOOD, 0), "ghostwood_axe"); - ghostwoodKama = registerItem(new ItemNaturaKama(ToolMaterial.WOOD), "ghostwood_kama"); - ghostwoodBow = registerItem(new ItemNaturaBow(384, ghostwoodBow), "ghostwood_bow"); - - bloodwoodSword = registerItem(new ItemNaturaSword(bloodwoodMaterial), "bloodwood_sword"); - bloodwoodPickaxe = registerItem(new ItemNaturaPickaxe(bloodwoodMaterial, 2), "bloodwood_pickaxe"); - bloodwoodShovel = registerItem(new ItemNaturaShovel(bloodwoodMaterial, 2), "bloodwood_shovel"); - bloodwoodAxe = registerItem(new ItemNaturaAxe(bloodwoodMaterial, 2, 3.0F, -3.0F), "bloodwood_axe"); - bloodwoodKama = registerItem(new ItemNaturaKama(bloodwoodMaterial), "bloodwood_kama"); - bloodwoodBow = registerItem(new ItemNaturaBow(1501, bloodwoodBow), "bloodwood_bow"); - - darkwoodSword = registerItem(new ItemNaturaSword(ToolMaterial.STONE), "darkwood_sword"); - darkwoodPickaxe = registerItem(new ItemNaturaPickaxe(ToolMaterial.STONE, 1), "darkwood_pickaxe"); - darkwoodShovel = registerItem(new ItemNaturaShovel(ToolMaterial.STONE, 1), "darkwood_shovel"); - darkwoodAxe = registerItem(new ItemNaturaAxe(ToolMaterial.STONE, 1), "darkwood_axe"); - darkwoodKama = registerItem(new ItemNaturaKama(ToolMaterial.STONE), "darkwood_kama"); - darkwoodBow = registerItem(new ItemNaturaBow(162, darkwoodBow), "darkwood_bow"); - - fusewoodSword = registerItem(new ItemNaturaSword(ToolMaterial.IRON), "fusewood_sword"); - fusewoodPickaxe = registerItem(new ItemNaturaPickaxe(ToolMaterial.IRON, 2), "fusewood_pickaxe"); - fusewoodShovel = registerItem(new ItemNaturaShovel(ToolMaterial.IRON, 2), "fusewood_shovel"); - fusewoodAxe = registerItem(new ItemNaturaAxe(ToolMaterial.IRON, 2), "fusewood_axe"); - fusewoodKama = registerItem(new ItemNaturaKama(ToolMaterial.IRON), "fusewood_kama"); - fusewoodBow = registerItem(new ItemNaturaBow(28, fusewoodBow), "fusewood_bow"); - - netherquartzSword = registerItem(new ItemNaturaSword(ToolMaterial.STONE), "netherquartz_sword"); - netherquartzPickaxe = registerItem(new ItemNaturaPickaxe(ToolMaterial.STONE, 1), "netherquartz_pickaxe"); - netherquartzShovel = registerItem(new ItemNaturaShovel(ToolMaterial.STONE, 1), "netherquartz_shovel"); - netherquartzAxe = registerItem(new ItemNaturaAxe(ToolMaterial.STONE, 1), "netherquartz_axe"); - netherquartzKama = registerItem(new ItemNaturaKama(ToolMaterial.STONE), "netherquartz_kama"); - - flintAndBlaze = registerItem(new ItemNaturaFlintAndBlaze(), "flint_and_blaze"); - } - - proxy.preInit(); - } - - @Subscribe - public void init(FMLInitializationEvent event) - { - proxy.init(); - this.registerRecipes(); - } - - private void registerRecipes() - { - // Tools - if (isNetherLoaded()) - { - int[] plankMeta = { BlockNetherPlanks.PlankType.GHOSTWOOD.getMeta(), BlockNetherPlanks.PlankType.BLOODWOOD.getMeta(), BlockNetherPlanks.PlankType.DARKWOOD.getMeta(), BlockNetherPlanks.PlankType.FUSEWOOD.getMeta() }; - ItemStack[] stickItem = { NaturaCommons.ghostwood_stick.copy(), NaturaCommons.bloodwood_stick.copy(), NaturaCommons.darkwood_stick.copy(), NaturaCommons.fusewood_stick.copy() }; - - Item[][] tools = { { ghostwoodSword, ghostwoodPickaxe, ghostwoodShovel, ghostwoodAxe, ghostwoodKama, ghostwoodBow }, - { bloodwoodSword, bloodwoodPickaxe, bloodwoodShovel, bloodwoodAxe, bloodwoodKama, bloodwoodBow }, - { darkwoodSword, darkwoodPickaxe, darkwoodShovel, darkwoodAxe, darkwoodKama, darkwoodBow }, - { fusewoodSword, fusewoodPickaxe, fusewoodShovel, fusewoodAxe, fusewoodKama, fusewoodBow } }; - - for (int i = 0; i < plankMeta.length; i++) - { - addShapedRecipe(new ItemStack(tools[i][0], 1, 0), "#", "#", "s", '#', new ItemStack(NaturaNether.netherPlanks, 1, plankMeta[i]), 's', stickItem[i]); - addShapedRecipe(new ItemStack(tools[i][1], 1, 0), "###", " s ", " s ", '#', new ItemStack(NaturaNether.netherPlanks, 1, plankMeta[i]), 's', stickItem[i]); - addShapedRecipe(new ItemStack(tools[i][2], 1, 0), "#", "s", "s", '#', new ItemStack(NaturaNether.netherPlanks, 1, plankMeta[i]), 's', stickItem[i]); - addShapedRecipe(new ItemStack(tools[i][3], 1, 0), "##", "#s", " s", '#', new ItemStack(NaturaNether.netherPlanks, 1, plankMeta[i]), 's', stickItem[i]); - addShapedRecipe(new ItemStack(tools[i][4], 1, 0), "##", " s", " s", '#', new ItemStack(NaturaNether.netherPlanks, 1, plankMeta[i]), 's', stickItem[i]); - addShapedRecipe(new ItemStack(tools[i][5], 1, 0), "#s ", "# s", "#s ", '#', NaturaCommons.flameString.copy(), 's', stickItem[i]); - } - } - - GameRegistry.addRecipe(new ItemStack(netherquartzSword, 1, 0), "#", "#", "s", '#', new ItemStack(Blocks.QUARTZ_BLOCK, 1, OreDictionary.WILDCARD_VALUE), 's', NaturaCommons.ghostwood_stick.copy()); - GameRegistry.addRecipe(new ItemStack(netherquartzPickaxe, 1, 0), "###", " s ", " s ", '#', new ItemStack(Blocks.QUARTZ_BLOCK, 1, OreDictionary.WILDCARD_VALUE), 's', NaturaCommons.ghostwood_stick.copy()); - GameRegistry.addRecipe(new ItemStack(netherquartzShovel, 1, 0), "#", "s", "s", '#', new ItemStack(Blocks.QUARTZ_BLOCK, 1, OreDictionary.WILDCARD_VALUE), 's', NaturaCommons.ghostwood_stick.copy()); - GameRegistry.addRecipe(new ItemStack(netherquartzAxe, 1, 0), "##", "#s", " s", '#', new ItemStack(Blocks.QUARTZ_BLOCK, 1, OreDictionary.WILDCARD_VALUE), 's', NaturaCommons.ghostwood_stick.copy()); - - if (isEntitiesLoaded()) - { impHelmetStack = new ItemStack(impHelmet); impHelmetStack.addEnchantment(Enchantments.PROTECTION, 1); impHelmetStack.addEnchantment(Enchantments.FIRE_PROTECTION, 1); - GameRegistry.addRecipe(impHelmetStack.copy(), "###", "# #", '#', NaturaCommons.impLeather.copy()); impChestplateStack = new ItemStack(impChestplate); impChestplateStack.addEnchantment(Enchantments.BLAST_PROTECTION, 1); impChestplateStack.addEnchantment(Enchantments.FIRE_PROTECTION, 1); - GameRegistry.addRecipe(impChestplateStack.copy(), "# #", "###", "###", '#', NaturaCommons.impLeather.copy()); impLeggingsStack = new ItemStack(impLeggings); impLeggingsStack.addEnchantment(Enchantments.PROJECTILE_PROTECTION, 1); impLeggingsStack.addEnchantment(Enchantments.FIRE_PROTECTION, 1); - GameRegistry.addRecipe(impLeggingsStack.copy(), "###", "# #", "# #", '#', NaturaCommons.impLeather.copy()); impBootsStack = new ItemStack(impBoots); impBootsStack.addEnchantment(Enchantments.FEATHER_FALLING, 1); impBootsStack.addEnchantment(Enchantments.FIRE_PROTECTION, 1); - GameRegistry.addRecipe(impBootsStack.copy(), "# #", "# #", '#', NaturaCommons.impLeather.copy()); } + + if (isNetherLoaded()) + { + ToolMaterial bloodwoodMaterial = EnumHelper.addToolMaterial("Bloodwood", 3, 350, 7f, 3, 24); + + ghostwoodSword = registerItem(registry, new ItemNaturaSword(ToolMaterial.WOOD), "ghostwood_sword"); + ghostwoodPickaxe = registerItem(registry, new ItemNaturaPickaxe(ToolMaterial.WOOD, 0), "ghostwood_pickaxe"); + ghostwoodShovel = registerItem(registry, new ItemNaturaShovel(ToolMaterial.WOOD, 0), "ghostwood_shovel"); + ghostwoodAxe = registerItem(registry, new ItemNaturaAxe(ToolMaterial.WOOD, 0), "ghostwood_axe"); + ghostwoodKama = registerItem(registry, new ItemNaturaKama(ToolMaterial.WOOD), "ghostwood_kama"); + ghostwoodBow = registerItem(registry, new ItemNaturaBow(384, ghostwoodBow), "ghostwood_bow"); + + bloodwoodSword = registerItem(registry, new ItemNaturaSword(bloodwoodMaterial), "bloodwood_sword"); + bloodwoodPickaxe = registerItem(registry, new ItemNaturaPickaxe(bloodwoodMaterial, 2), "bloodwood_pickaxe"); + bloodwoodShovel = registerItem(registry, new ItemNaturaShovel(bloodwoodMaterial, 2), "bloodwood_shovel"); + bloodwoodAxe = registerItem(registry, new ItemNaturaAxe(bloodwoodMaterial, 2, 3.0F, -3.0F), "bloodwood_axe"); + bloodwoodKama = registerItem(registry, new ItemNaturaKama(bloodwoodMaterial), "bloodwood_kama"); + bloodwoodBow = registerItem(registry, new ItemNaturaBow(1501, bloodwoodBow), "bloodwood_bow"); + + darkwoodSword = registerItem(registry, new ItemNaturaSword(ToolMaterial.STONE), "darkwood_sword"); + darkwoodPickaxe = registerItem(registry, new ItemNaturaPickaxe(ToolMaterial.STONE, 1), "darkwood_pickaxe"); + darkwoodShovel = registerItem(registry, new ItemNaturaShovel(ToolMaterial.STONE, 1), "darkwood_shovel"); + darkwoodAxe = registerItem(registry, new ItemNaturaAxe(ToolMaterial.STONE, 1), "darkwood_axe"); + darkwoodKama = registerItem(registry, new ItemNaturaKama(ToolMaterial.STONE), "darkwood_kama"); + darkwoodBow = registerItem(registry, new ItemNaturaBow(162, darkwoodBow), "darkwood_bow"); + + fusewoodSword = registerItem(registry, new ItemNaturaSword(ToolMaterial.IRON), "fusewood_sword"); + fusewoodPickaxe = registerItem(registry, new ItemNaturaPickaxe(ToolMaterial.IRON, 2), "fusewood_pickaxe"); + fusewoodShovel = registerItem(registry, new ItemNaturaShovel(ToolMaterial.IRON, 2), "fusewood_shovel"); + fusewoodAxe = registerItem(registry, new ItemNaturaAxe(ToolMaterial.IRON, 2), "fusewood_axe"); + fusewoodKama = registerItem(registry, new ItemNaturaKama(ToolMaterial.IRON), "fusewood_kama"); + fusewoodBow = registerItem(registry, new ItemNaturaBow(28, fusewoodBow), "fusewood_bow"); + + netherquartzSword = registerItem(registry, new ItemNaturaSword(ToolMaterial.STONE), "netherquartz_sword"); + netherquartzPickaxe = registerItem(registry, new ItemNaturaPickaxe(ToolMaterial.STONE, 1), "netherquartz_pickaxe"); + netherquartzShovel = registerItem(registry, new ItemNaturaShovel(ToolMaterial.STONE, 1), "netherquartz_shovel"); + netherquartzAxe = registerItem(registry, new ItemNaturaAxe(ToolMaterial.STONE, 1), "netherquartz_axe"); + netherquartzKama = registerItem(registry, new ItemNaturaKama(ToolMaterial.STONE), "netherquartz_kama"); + + flintAndBlaze = registerItem(registry, new ItemNaturaFlintAndBlaze(), "flint_and_blaze"); + } + } + + @SubscribeEvent + public void registerModels(ModelRegistryEvent event) + { + proxy.preInit(); } + @Subscribe + public void init(FMLInitializationEvent event) + { + proxy.init(); + } } diff --git a/src/main/java/com/progwml6/natura/tools/item/armor/ItemNaturaImpArmor.java b/src/main/java/com/progwml6/natura/tools/item/armor/ItemNaturaImpArmor.java index d3316590..aed1f158 100644 --- a/src/main/java/com/progwml6/natura/tools/item/armor/ItemNaturaImpArmor.java +++ b/src/main/java/com/progwml6/natura/tools/item/armor/ItemNaturaImpArmor.java @@ -5,7 +5,6 @@ import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; import net.minecraft.inventory.EntityEquipmentSlot; -import net.minecraft.item.Item; import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; import net.minecraft.util.NonNullList; @@ -18,24 +17,27 @@ public ItemNaturaImpArmor(ArmorMaterial armorMaterialIn, EntityEquipmentSlot equ } @Override - public void getSubItems(Item id, CreativeTabs tab, NonNullList list) + public void getSubItems(CreativeTabs tab, NonNullList list) { - switch (this.armorType) + if (this.isInCreativeTab(tab)) { - case HEAD: - list.add(NaturaTools.impHelmetStack.copy()); - break; - case CHEST: - list.add(NaturaTools.impChestplateStack.copy()); - break; - case LEGS: - list.add(NaturaTools.impLeggingsStack.copy()); - break; - case FEET: - list.add(NaturaTools.impBootsStack.copy()); - break; - default: - break; + switch (this.armorType) + { + case HEAD: + list.add(NaturaTools.impHelmetStack.copy()); + break; + case CHEST: + list.add(NaturaTools.impChestplateStack.copy()); + break; + case LEGS: + list.add(NaturaTools.impLeggingsStack.copy()); + break; + case FEET: + list.add(NaturaTools.impBootsStack.copy()); + break; + default: + break; + } } } diff --git a/src/main/java/com/progwml6/natura/tools/item/bows/ItemNaturaBow.java b/src/main/java/com/progwml6/natura/tools/item/bows/ItemNaturaBow.java index 174f3e1f..a2a6f829 100644 --- a/src/main/java/com/progwml6/natura/tools/item/bows/ItemNaturaBow.java +++ b/src/main/java/com/progwml6/natura/tools/item/bows/ItemNaturaBow.java @@ -55,8 +55,7 @@ private float updatePullProperty(ItemStack stack, World worldIn, EntityLivingBas } else { - ItemStack itemstack = entityIn.getActiveItemStack(); - return !itemstack.isEmpty() && itemstack.getItem() == this.bow ? (stack.getMaxItemUseDuration() - entityIn.getItemInUseCount()) / 20.0F : 0.0F; + return entityIn.getActiveItemStack().getItem() != this.bow ? 0.0F : (stack.getMaxItemUseDuration() - entityIn.getItemInUseCount()) / 20.0F; } } } diff --git a/src/main/java/com/progwml6/natura/tools/item/tools/ItemNaturaKama.java b/src/main/java/com/progwml6/natura/tools/item/tools/ItemNaturaKama.java index 344e2fcf..a2774b16 100644 --- a/src/main/java/com/progwml6/natura/tools/item/tools/ItemNaturaKama.java +++ b/src/main/java/com/progwml6/natura/tools/item/tools/ItemNaturaKama.java @@ -3,11 +3,14 @@ import java.util.List; import java.util.Random; +import javax.annotation.Nullable; + import com.progwml6.natura.library.NaturaRegistry; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; +import net.minecraft.client.util.ITooltipFlag; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; @@ -139,10 +142,10 @@ public boolean onBlockStartBreak(ItemStack itemstack, BlockPos pos, EntityPlayer } @Override - public void addInformation(ItemStack stack, EntityPlayer playerIn, List tooltip, boolean advanced) + public void addInformation(ItemStack stack, @Nullable World worldIn, List tooltip, ITooltipFlag flag) { ItemTooltip.addOptionalTooltip(stack, tooltip); - super.addInformation(stack, playerIn, tooltip, advanced); + super.addInformation(stack, worldIn, tooltip, flag); } } diff --git a/src/main/java/com/progwml6/natura/world/dimension/ChunkNetherite.java b/src/main/java/com/progwml6/natura/world/dimension/ChunkNetherite.java index 37c66248..828138aa 100644 --- a/src/main/java/com/progwml6/natura/world/dimension/ChunkNetherite.java +++ b/src/main/java/com/progwml6/natura/world/dimension/ChunkNetherite.java @@ -12,7 +12,7 @@ public class ChunkNetherite extends Chunk public ChunkNetherite(World worldIn, ChunkPrimer primer, int x, int z) { super(worldIn, x, z); - boolean flag = !worldIn.provider.hasNoSky(); + boolean flag = !worldIn.provider.hasSkyLight(); ExtendedBlockStorage[] storageArrays = this.getBlockStorageArray(); for (int j = 0; j < 16; ++j) diff --git a/src/main/java/com/progwml6/natura/world/dimension/ChunkProviderNetherite.java b/src/main/java/com/progwml6/natura/world/dimension/ChunkProviderNetherite.java index 28d33202..3955fbe1 100644 --- a/src/main/java/com/progwml6/natura/world/dimension/ChunkProviderNetherite.java +++ b/src/main/java/com/progwml6/natura/world/dimension/ChunkProviderNetherite.java @@ -20,7 +20,7 @@ import net.minecraft.world.biome.Biome; import net.minecraft.world.chunk.Chunk; import net.minecraft.world.chunk.ChunkPrimer; -import net.minecraft.world.chunk.IChunkGenerator; +import net.minecraft.world.gen.IChunkGenerator; import net.minecraft.world.gen.MapGenBase; import net.minecraft.world.gen.MapGenCavesHell; import net.minecraft.world.gen.NoiseGeneratorOctaves; @@ -308,7 +308,7 @@ else if (i1 > 0) * Generates the chunk at the specified position, from scratch */ @Override - public Chunk provideChunk(int x, int z) + public Chunk generateChunk(int x, int z) { this.rand.setSeed(x * 341873128712L + z * 132897987541L); ChunkPrimer chunkprimer = new ChunkPrimer(); @@ -534,9 +534,15 @@ public List getPossibleCreatures(EnumCreatureType creature @Override @Nullable - public BlockPos getStrongholdGen(World worldIn, String structureName, BlockPos position, boolean p_180513_4_) + public BlockPos getNearestStructurePos(World worldIn, String structureName, BlockPos position, boolean findUnexplored) { - return "Fortress".equals(structureName) && this.genNetherBridge != null ? this.genNetherBridge.getClosestStrongholdPos(worldIn, position, p_180513_4_) : null; + return "Fortress".equals(structureName) && this.genNetherBridge != null ? this.genNetherBridge.getNearestStructurePos(worldIn, position, findUnexplored) : null; + } + + @Override + public boolean isInsideStructure(World worldIn, String structureName, BlockPos pos) + { + return "Fortress".equals(structureName) && this.genNetherBridge != null ? this.genNetherBridge.isInsideStructure(pos) : false; } @Override diff --git a/src/main/java/com/progwml6/natura/world/dimension/WorldProviderNetherite.java b/src/main/java/com/progwml6/natura/world/dimension/WorldProviderNetherite.java index b995277f..37c8732d 100644 --- a/src/main/java/com/progwml6/natura/world/dimension/WorldProviderNetherite.java +++ b/src/main/java/com/progwml6/natura/world/dimension/WorldProviderNetherite.java @@ -8,7 +8,7 @@ import net.minecraft.world.WorldProviderHell; import net.minecraft.world.biome.BiomeProvider; import net.minecraft.world.biome.BiomeProviderSingle; -import net.minecraft.world.chunk.IChunkGenerator; +import net.minecraft.world.gen.IChunkGenerator; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -25,7 +25,7 @@ public void init() { this.biomeProvider = new BiomeProviderSingle(Biomes.HELL); this.doesWaterVaporize = true; - this.hasNoSky = true; + this.nether = true; } @Override diff --git a/src/main/java/com/progwml6/natura/world/worldgen/CloudGenerator.java b/src/main/java/com/progwml6/natura/world/worldgen/CloudGenerator.java index a8a08dbd..f8abacf9 100644 --- a/src/main/java/com/progwml6/natura/world/worldgen/CloudGenerator.java +++ b/src/main/java/com/progwml6/natura/world/worldgen/CloudGenerator.java @@ -12,7 +12,7 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraft.world.biome.Biome; -import net.minecraft.world.chunk.IChunkGenerator; +import net.minecraft.world.gen.IChunkGenerator; import net.minecraft.world.chunk.IChunkProvider; import net.minecraftforge.fml.common.IWorldGenerator; @@ -88,7 +88,7 @@ public void retroGen(Random random, int chunkX, int chunkZ, World world) this.generateNether(random, chunkX, chunkZ, world); this.generateEnd(random, chunkX, chunkZ, world); - world.getChunkFromChunkCoords(chunkX, chunkZ).setChunkModified(); + world.getChunkFromChunkCoords(chunkX, chunkZ).markDirty(); } public void generateOverworld(Random random, int chunkX, int chunkZ, World world) diff --git a/src/main/java/com/progwml6/natura/world/worldgen/CropGenerator.java b/src/main/java/com/progwml6/natura/world/worldgen/CropGenerator.java index a7b5f484..62c50028 100644 --- a/src/main/java/com/progwml6/natura/world/worldgen/CropGenerator.java +++ b/src/main/java/com/progwml6/natura/world/worldgen/CropGenerator.java @@ -11,7 +11,7 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraft.world.biome.Biome; -import net.minecraft.world.chunk.IChunkGenerator; +import net.minecraft.world.gen.IChunkGenerator; import net.minecraft.world.chunk.IChunkProvider; import net.minecraftforge.fml.common.IWorldGenerator; @@ -29,7 +29,7 @@ public void retroGen(Random random, int chunkX, int chunkZ, World world) { this.generateOverworld(random, chunkX, chunkZ, world); - world.getChunkFromChunkCoords(chunkX, chunkZ).setChunkModified(); + world.getChunkFromChunkCoords(chunkX, chunkZ).markDirty(); } public void generateOverworld(Random random, int chunkX, int chunkZ, World world) diff --git a/src/main/java/com/progwml6/natura/world/worldgen/GlowshroomGenerator.java b/src/main/java/com/progwml6/natura/world/worldgen/GlowshroomGenerator.java index fdc1ee95..212266cc 100644 --- a/src/main/java/com/progwml6/natura/world/worldgen/GlowshroomGenerator.java +++ b/src/main/java/com/progwml6/natura/world/worldgen/GlowshroomGenerator.java @@ -15,7 +15,7 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraft.world.biome.Biome; -import net.minecraft.world.chunk.IChunkGenerator; +import net.minecraft.world.gen.IChunkGenerator; import net.minecraft.world.chunk.IChunkProvider; import net.minecraftforge.common.BiomeDictionary; import net.minecraftforge.common.BiomeDictionary.Type; @@ -56,7 +56,7 @@ public void retroGen(Random random, int chunkX, int chunkZ, World world) { this.generateNether(random, chunkX, chunkZ, world); - world.getChunkFromChunkCoords(chunkX, chunkZ).setChunkModified(); + world.getChunkFromChunkCoords(chunkX, chunkZ).markDirty(); } public void generateNether(Random random, int chunkX, int chunkZ, World world) diff --git a/src/main/java/com/progwml6/natura/world/worldgen/NetherBerryBushesGenerator.java b/src/main/java/com/progwml6/natura/world/worldgen/NetherBerryBushesGenerator.java index 7fe58d78..3038478f 100644 --- a/src/main/java/com/progwml6/natura/world/worldgen/NetherBerryBushesGenerator.java +++ b/src/main/java/com/progwml6/natura/world/worldgen/NetherBerryBushesGenerator.java @@ -8,7 +8,7 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; -import net.minecraft.world.chunk.IChunkGenerator; +import net.minecraft.world.gen.IChunkGenerator; import net.minecraft.world.chunk.IChunkProvider; import net.minecraftforge.fml.common.IWorldGenerator; @@ -41,7 +41,7 @@ public void retroGen(Random random, int chunkX, int chunkZ, World world) { this.generateNether(random, chunkX, chunkZ, world); - world.getChunkFromChunkCoords(chunkX, chunkZ).setChunkModified(); + world.getChunkFromChunkCoords(chunkX, chunkZ).markDirty(); } public void generateNether(Random random, int chunkX, int chunkZ, World world) diff --git a/src/main/java/com/progwml6/natura/world/worldgen/NetherTreesGenerator.java b/src/main/java/com/progwml6/natura/world/worldgen/NetherTreesGenerator.java index 837af86e..d3892634 100644 --- a/src/main/java/com/progwml6/natura/world/worldgen/NetherTreesGenerator.java +++ b/src/main/java/com/progwml6/natura/world/worldgen/NetherTreesGenerator.java @@ -17,7 +17,7 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraft.world.biome.Biome; -import net.minecraft.world.chunk.IChunkGenerator; +import net.minecraft.world.gen.IChunkGenerator; import net.minecraft.world.chunk.IChunkProvider; import net.minecraftforge.common.BiomeDictionary; import net.minecraftforge.common.BiomeDictionary.Type; @@ -57,7 +57,7 @@ public void retroGen(Random random, int chunkX, int chunkZ, World world) { this.generateNether(random, chunkX, chunkZ, world); - world.getChunkFromChunkCoords(chunkX, chunkZ).setChunkModified(); + world.getChunkFromChunkCoords(chunkX, chunkZ).markDirty(); } public void generateNether(Random random, int chunkX, int chunkZ, World world) diff --git a/src/main/java/com/progwml6/natura/world/worldgen/OverworldBerryBushesGenerator.java b/src/main/java/com/progwml6/natura/world/worldgen/OverworldBerryBushesGenerator.java index 81e3e558..dde1cfd2 100644 --- a/src/main/java/com/progwml6/natura/world/worldgen/OverworldBerryBushesGenerator.java +++ b/src/main/java/com/progwml6/natura/world/worldgen/OverworldBerryBushesGenerator.java @@ -9,7 +9,7 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraft.world.biome.Biome; -import net.minecraft.world.chunk.IChunkGenerator; +import net.minecraft.world.gen.IChunkGenerator; import net.minecraft.world.chunk.IChunkProvider; import net.minecraftforge.common.BiomeDictionary; import net.minecraftforge.common.BiomeDictionary.Type; @@ -44,7 +44,7 @@ public void retroGen(Random random, int chunkX, int chunkZ, World world) { this.generateOverworld(random, chunkX, chunkZ, world); - world.getChunkFromChunkCoords(chunkX, chunkZ).setChunkModified(); + world.getChunkFromChunkCoords(chunkX, chunkZ).markDirty(); } public void generateOverworld(Random random, int chunkX, int chunkZ, World world) diff --git a/src/main/java/com/progwml6/natura/world/worldgen/OverworldTreesGenerator.java b/src/main/java/com/progwml6/natura/world/worldgen/OverworldTreesGenerator.java index a62e7918..36d8a50e 100644 --- a/src/main/java/com/progwml6/natura/world/worldgen/OverworldTreesGenerator.java +++ b/src/main/java/com/progwml6/natura/world/worldgen/OverworldTreesGenerator.java @@ -20,7 +20,7 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraft.world.biome.Biome; -import net.minecraft.world.chunk.IChunkGenerator; +import net.minecraft.world.gen.IChunkGenerator; import net.minecraft.world.chunk.IChunkProvider; import net.minecraftforge.common.BiomeDictionary; import net.minecraftforge.common.BiomeDictionary.Type; @@ -82,7 +82,7 @@ public void retroGen(Random random, int chunkX, int chunkZ, World world) { this.generateOverworld(random, chunkX, chunkZ, world, true); - world.getChunkFromChunkCoords(chunkX, chunkZ).setChunkModified(); + world.getChunkFromChunkCoords(chunkX, chunkZ).markDirty(); } public void generateOverworld(Random random, int chunkX, int chunkZ, World world, boolean retroGen) diff --git a/src/main/java/com/progwml6/natura/world/worldgen/VineGenerator.java b/src/main/java/com/progwml6/natura/world/worldgen/VineGenerator.java index 652e9093..22db64a6 100644 --- a/src/main/java/com/progwml6/natura/world/worldgen/VineGenerator.java +++ b/src/main/java/com/progwml6/natura/world/worldgen/VineGenerator.java @@ -10,8 +10,8 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraft.world.biome.Biome; -import net.minecraft.world.chunk.IChunkGenerator; import net.minecraft.world.chunk.IChunkProvider; +import net.minecraft.world.gen.IChunkGenerator; import net.minecraftforge.common.BiomeDictionary; import net.minecraftforge.common.BiomeDictionary.Type; import net.minecraftforge.fml.common.IWorldGenerator; @@ -39,7 +39,7 @@ public void retroGen(Random random, int chunkX, int chunkZ, World world) { this.generateNether(random, chunkX, chunkZ, world); - world.getChunkFromChunkCoords(chunkX, chunkZ).setChunkModified(); + world.getChunkFromChunkCoords(chunkX, chunkZ).markDirty(); } public void generateNether(Random random, int chunkX, int chunkZ, World world) diff --git a/src/main/java/com/progwml6/natura/world/worldgen/berry/BaseBerryBushGenerator.java b/src/main/java/com/progwml6/natura/world/worldgen/berry/BaseBerryBushGenerator.java index 0033a168..ad5bf10d 100644 --- a/src/main/java/com/progwml6/natura/world/worldgen/berry/BaseBerryBushGenerator.java +++ b/src/main/java/com/progwml6/natura/world/worldgen/berry/BaseBerryBushGenerator.java @@ -4,7 +4,7 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; -import net.minecraft.world.chunk.IChunkGenerator; +import net.minecraft.world.gen.IChunkGenerator; import net.minecraft.world.chunk.IChunkProvider; import net.minecraftforge.fml.common.IWorldGenerator; diff --git a/src/main/java/com/progwml6/natura/world/worldgen/clouds/CloudsGenerator.java b/src/main/java/com/progwml6/natura/world/worldgen/clouds/CloudsGenerator.java index 0cb41c42..37689bfd 100644 --- a/src/main/java/com/progwml6/natura/world/worldgen/clouds/CloudsGenerator.java +++ b/src/main/java/com/progwml6/natura/world/worldgen/clouds/CloudsGenerator.java @@ -6,7 +6,7 @@ import net.minecraft.init.Blocks; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; -import net.minecraft.world.chunk.IChunkGenerator; +import net.minecraft.world.gen.IChunkGenerator; import net.minecraft.world.chunk.IChunkProvider; import net.minecraftforge.fml.common.IWorldGenerator; diff --git a/src/main/java/com/progwml6/natura/world/worldgen/glowshroom/BaseGlowshroomGenerator.java b/src/main/java/com/progwml6/natura/world/worldgen/glowshroom/BaseGlowshroomGenerator.java index 69a948ed..d04a0c92 100644 --- a/src/main/java/com/progwml6/natura/world/worldgen/glowshroom/BaseGlowshroomGenerator.java +++ b/src/main/java/com/progwml6/natura/world/worldgen/glowshroom/BaseGlowshroomGenerator.java @@ -4,7 +4,7 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; -import net.minecraft.world.chunk.IChunkGenerator; +import net.minecraft.world.gen.IChunkGenerator; import net.minecraft.world.chunk.IChunkProvider; import net.minecraftforge.fml.common.IWorldGenerator; diff --git a/src/main/java/com/progwml6/natura/world/worldgen/glowshroom/nether/BabyGlowshroomGenerator.java b/src/main/java/com/progwml6/natura/world/worldgen/glowshroom/nether/BabyGlowshroomGenerator.java index df7ba125..f309b051 100644 --- a/src/main/java/com/progwml6/natura/world/worldgen/glowshroom/nether/BabyGlowshroomGenerator.java +++ b/src/main/java/com/progwml6/natura/world/worldgen/glowshroom/nether/BabyGlowshroomGenerator.java @@ -8,8 +8,8 @@ import net.minecraft.block.state.IBlockState; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; -import net.minecraft.world.chunk.IChunkGenerator; import net.minecraft.world.chunk.IChunkProvider; +import net.minecraft.world.gen.IChunkGenerator; public class BabyGlowshroomGenerator extends BaseGlowshroomGenerator { @@ -34,7 +34,7 @@ public void generateShroom(Random random, World world, BlockPos pos) { BlockPos blockpos = pos.add(random.nextInt(8) - random.nextInt(8), random.nextInt(4) - random.nextInt(4), random.nextInt(8) - random.nextInt(8)); - if (world.isAirBlock(blockpos) && (!world.provider.hasNoSky() || blockpos.getY() < world.getHeight() - 1) && block.canBlockStay(world, blockpos, this.glowshroom)) + if (world.isAirBlock(blockpos) && (!world.provider.hasSkyLight() || blockpos.getY() < world.getHeight() - 1) && block.canBlockStay(world, blockpos, this.glowshroom)) { world.setBlockState(blockpos, this.glowshroom, 2); } diff --git a/src/main/java/com/progwml6/natura/world/worldgen/glowshroom/nether/BlueGlowshroomGenerator.java b/src/main/java/com/progwml6/natura/world/worldgen/glowshroom/nether/BlueGlowshroomGenerator.java index 62c70866..0fbe4b92 100644 --- a/src/main/java/com/progwml6/natura/world/worldgen/glowshroom/nether/BlueGlowshroomGenerator.java +++ b/src/main/java/com/progwml6/natura/world/worldgen/glowshroom/nether/BlueGlowshroomGenerator.java @@ -13,7 +13,7 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos.MutableBlockPos; import net.minecraft.world.World; -import net.minecraft.world.chunk.IChunkGenerator; +import net.minecraft.world.gen.IChunkGenerator; import net.minecraft.world.chunk.IChunkProvider; public class BlueGlowshroomGenerator extends BaseGlowshroomGenerator diff --git a/src/main/java/com/progwml6/natura/world/worldgen/glowshroom/nether/GreenGlowshroomGenerator.java b/src/main/java/com/progwml6/natura/world/worldgen/glowshroom/nether/GreenGlowshroomGenerator.java index 192d5a5d..0fde5eb0 100644 --- a/src/main/java/com/progwml6/natura/world/worldgen/glowshroom/nether/GreenGlowshroomGenerator.java +++ b/src/main/java/com/progwml6/natura/world/worldgen/glowshroom/nether/GreenGlowshroomGenerator.java @@ -13,7 +13,7 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos.MutableBlockPos; import net.minecraft.world.World; -import net.minecraft.world.chunk.IChunkGenerator; +import net.minecraft.world.gen.IChunkGenerator; import net.minecraft.world.chunk.IChunkProvider; public class GreenGlowshroomGenerator extends BaseGlowshroomGenerator diff --git a/src/main/java/com/progwml6/natura/world/worldgen/glowshroom/nether/PurpleGlowshroomGenerator.java b/src/main/java/com/progwml6/natura/world/worldgen/glowshroom/nether/PurpleGlowshroomGenerator.java index fa2ec773..b22becc6 100644 --- a/src/main/java/com/progwml6/natura/world/worldgen/glowshroom/nether/PurpleGlowshroomGenerator.java +++ b/src/main/java/com/progwml6/natura/world/worldgen/glowshroom/nether/PurpleGlowshroomGenerator.java @@ -13,7 +13,7 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos.MutableBlockPos; import net.minecraft.world.World; -import net.minecraft.world.chunk.IChunkGenerator; +import net.minecraft.world.gen.IChunkGenerator; import net.minecraft.world.chunk.IChunkProvider; public class PurpleGlowshroomGenerator extends BaseGlowshroomGenerator diff --git a/src/main/java/com/progwml6/natura/world/worldgen/retrogen/TickHandlerWorldRetrogen.java b/src/main/java/com/progwml6/natura/world/worldgen/retrogen/TickHandlerWorldRetrogen.java index 4de503fc..b0655a67 100644 --- a/src/main/java/com/progwml6/natura/world/worldgen/retrogen/TickHandlerWorldRetrogen.java +++ b/src/main/java/com/progwml6/natura/world/worldgen/retrogen/TickHandlerWorldRetrogen.java @@ -154,8 +154,8 @@ private static class ChunkCoords public ChunkCoords(Chunk chunk) { this.dimension = chunk.getWorld().provider.getDimension(); - this.xCoord = chunk.xPosition; - this.zCoord = chunk.zPosition; + this.xCoord = chunk.x; + this.zCoord = chunk.z; } } } diff --git a/src/main/java/com/progwml6/natura/world/worldgen/saguaro/SaguaroGenerator.java b/src/main/java/com/progwml6/natura/world/worldgen/saguaro/SaguaroGenerator.java index 55a49916..77250b0d 100644 --- a/src/main/java/com/progwml6/natura/world/worldgen/saguaro/SaguaroGenerator.java +++ b/src/main/java/com/progwml6/natura/world/worldgen/saguaro/SaguaroGenerator.java @@ -11,7 +11,7 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraft.world.WorldType; -import net.minecraft.world.chunk.IChunkGenerator; +import net.minecraft.world.gen.IChunkGenerator; import net.minecraft.world.chunk.IChunkProvider; import net.minecraftforge.fml.common.IWorldGenerator; diff --git a/src/main/java/com/progwml6/natura/world/worldgen/trees/BaseTreeGenerator.java b/src/main/java/com/progwml6/natura/world/worldgen/trees/BaseTreeGenerator.java index df0f72f3..a92ae2ac 100644 --- a/src/main/java/com/progwml6/natura/world/worldgen/trees/BaseTreeGenerator.java +++ b/src/main/java/com/progwml6/natura/world/worldgen/trees/BaseTreeGenerator.java @@ -4,7 +4,7 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; -import net.minecraft.world.chunk.IChunkGenerator; +import net.minecraft.world.gen.IChunkGenerator; import net.minecraft.world.chunk.IChunkProvider; import net.minecraftforge.fml.common.IWorldGenerator; diff --git a/src/main/java/com/progwml6/natura/world/worldgen/trees/nether/BloodwoodTreeGenerator.java b/src/main/java/com/progwml6/natura/world/worldgen/trees/nether/BloodwoodTreeGenerator.java index 37040ee1..5f9581b9 100644 --- a/src/main/java/com/progwml6/natura/world/worldgen/trees/nether/BloodwoodTreeGenerator.java +++ b/src/main/java/com/progwml6/natura/world/worldgen/trees/nether/BloodwoodTreeGenerator.java @@ -10,7 +10,7 @@ import net.minecraft.init.Blocks; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; -import net.minecraft.world.chunk.IChunkGenerator; +import net.minecraft.world.gen.IChunkGenerator; import net.minecraft.world.chunk.IChunkProvider; public class BloodwoodTreeGenerator extends BaseTreeGenerator diff --git a/src/main/java/com/progwml6/natura/world/worldgen/trees/nether/DarkwoodTreeGenerator.java b/src/main/java/com/progwml6/natura/world/worldgen/trees/nether/DarkwoodTreeGenerator.java index ff014d6e..c7c2af21 100644 --- a/src/main/java/com/progwml6/natura/world/worldgen/trees/nether/DarkwoodTreeGenerator.java +++ b/src/main/java/com/progwml6/natura/world/worldgen/trees/nether/DarkwoodTreeGenerator.java @@ -11,7 +11,7 @@ import net.minecraft.util.EnumFacing; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; -import net.minecraft.world.chunk.IChunkGenerator; +import net.minecraft.world.gen.IChunkGenerator; import net.minecraft.world.chunk.IChunkProvider; public class DarkwoodTreeGenerator extends BaseTreeGenerator diff --git a/src/main/java/com/progwml6/natura/world/worldgen/trees/nether/FusewoodTreeGenerator.java b/src/main/java/com/progwml6/natura/world/worldgen/trees/nether/FusewoodTreeGenerator.java index cbdab6d5..299fcbbe 100644 --- a/src/main/java/com/progwml6/natura/world/worldgen/trees/nether/FusewoodTreeGenerator.java +++ b/src/main/java/com/progwml6/natura/world/worldgen/trees/nether/FusewoodTreeGenerator.java @@ -11,7 +11,7 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos.MutableBlockPos; import net.minecraft.world.World; -import net.minecraft.world.chunk.IChunkGenerator; +import net.minecraft.world.gen.IChunkGenerator; import net.minecraft.world.chunk.IChunkProvider; public class FusewoodTreeGenerator extends BaseTreeGenerator diff --git a/src/main/java/com/progwml6/natura/world/worldgen/trees/nether/GhostwoodTreeGenerator.java b/src/main/java/com/progwml6/natura/world/worldgen/trees/nether/GhostwoodTreeGenerator.java index c216509e..ddc69cf6 100644 --- a/src/main/java/com/progwml6/natura/world/worldgen/trees/nether/GhostwoodTreeGenerator.java +++ b/src/main/java/com/progwml6/natura/world/worldgen/trees/nether/GhostwoodTreeGenerator.java @@ -15,7 +15,7 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.MathHelper; import net.minecraft.world.World; -import net.minecraft.world.chunk.IChunkGenerator; +import net.minecraft.world.gen.IChunkGenerator; import net.minecraft.world.chunk.IChunkProvider; public class GhostwoodTreeGenerator extends BaseTreeGenerator diff --git a/src/main/java/com/progwml6/natura/world/worldgen/trees/overworld/EucalyptusTreeGenerator.java b/src/main/java/com/progwml6/natura/world/worldgen/trees/overworld/EucalyptusTreeGenerator.java index 49072d7a..8f89673d 100644 --- a/src/main/java/com/progwml6/natura/world/worldgen/trees/overworld/EucalyptusTreeGenerator.java +++ b/src/main/java/com/progwml6/natura/world/worldgen/trees/overworld/EucalyptusTreeGenerator.java @@ -11,7 +11,7 @@ import net.minecraft.util.EnumFacing; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; -import net.minecraft.world.chunk.IChunkGenerator; +import net.minecraft.world.gen.IChunkGenerator; import net.minecraft.world.chunk.IChunkProvider; public class EucalyptusTreeGenerator extends BaseTreeGenerator diff --git a/src/main/java/com/progwml6/natura/world/worldgen/trees/overworld/HopseedTreeGenerator.java b/src/main/java/com/progwml6/natura/world/worldgen/trees/overworld/HopseedTreeGenerator.java index f8b8ad5c..de995b9b 100644 --- a/src/main/java/com/progwml6/natura/world/worldgen/trees/overworld/HopseedTreeGenerator.java +++ b/src/main/java/com/progwml6/natura/world/worldgen/trees/overworld/HopseedTreeGenerator.java @@ -14,7 +14,7 @@ import net.minecraft.util.math.BlockPos.MutableBlockPos; import net.minecraft.world.World; import net.minecraft.world.WorldType; -import net.minecraft.world.chunk.IChunkGenerator; +import net.minecraft.world.gen.IChunkGenerator; import net.minecraft.world.chunk.IChunkProvider; public class HopseedTreeGenerator extends BaseTreeGenerator diff --git a/src/main/java/com/progwml6/natura/world/worldgen/trees/overworld/OverworldTreeGenerator.java b/src/main/java/com/progwml6/natura/world/worldgen/trees/overworld/OverworldTreeGenerator.java index 7a88babb..b9bf0c59 100644 --- a/src/main/java/com/progwml6/natura/world/worldgen/trees/overworld/OverworldTreeGenerator.java +++ b/src/main/java/com/progwml6/natura/world/worldgen/trees/overworld/OverworldTreeGenerator.java @@ -14,7 +14,7 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraft.world.WorldType; -import net.minecraft.world.chunk.IChunkGenerator; +import net.minecraft.world.gen.IChunkGenerator; import net.minecraft.world.chunk.IChunkProvider; public class OverworldTreeGenerator extends BaseTreeGenerator diff --git a/src/main/java/com/progwml6/natura/world/worldgen/trees/overworld/RedwoodTreeGenerator.java b/src/main/java/com/progwml6/natura/world/worldgen/trees/overworld/RedwoodTreeGenerator.java index b8b27f08..d325723a 100644 --- a/src/main/java/com/progwml6/natura/world/worldgen/trees/overworld/RedwoodTreeGenerator.java +++ b/src/main/java/com/progwml6/natura/world/worldgen/trees/overworld/RedwoodTreeGenerator.java @@ -15,7 +15,7 @@ import net.minecraft.util.math.MathHelper; import net.minecraft.world.World; import net.minecraft.world.WorldType; -import net.minecraft.world.chunk.IChunkGenerator; +import net.minecraft.world.gen.IChunkGenerator; import net.minecraft.world.chunk.IChunkProvider; public class RedwoodTreeGenerator extends BaseTreeGenerator diff --git a/src/main/java/com/progwml6/natura/world/worldgen/trees/overworld/SakuraTreeGenerator.java b/src/main/java/com/progwml6/natura/world/worldgen/trees/overworld/SakuraTreeGenerator.java index 8c052783..9d64d47d 100644 --- a/src/main/java/com/progwml6/natura/world/worldgen/trees/overworld/SakuraTreeGenerator.java +++ b/src/main/java/com/progwml6/natura/world/worldgen/trees/overworld/SakuraTreeGenerator.java @@ -17,7 +17,7 @@ import net.minecraft.util.math.MathHelper; import net.minecraft.world.World; import net.minecraft.world.WorldType; -import net.minecraft.world.chunk.IChunkGenerator; +import net.minecraft.world.gen.IChunkGenerator; import net.minecraft.world.chunk.IChunkProvider; public class SakuraTreeGenerator extends BaseTreeGenerator diff --git a/src/main/java/com/progwml6/natura/world/worldgen/trees/overworld/WillowTreeGenerator.java b/src/main/java/com/progwml6/natura/world/worldgen/trees/overworld/WillowTreeGenerator.java index acd381e9..1bfd9e77 100644 --- a/src/main/java/com/progwml6/natura/world/worldgen/trees/overworld/WillowTreeGenerator.java +++ b/src/main/java/com/progwml6/natura/world/worldgen/trees/overworld/WillowTreeGenerator.java @@ -13,7 +13,7 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraft.world.WorldType; -import net.minecraft.world.chunk.IChunkGenerator; +import net.minecraft.world.gen.IChunkGenerator; import net.minecraft.world.chunk.IChunkProvider; public class WillowTreeGenerator extends BaseTreeGenerator diff --git a/src/main/java/com/progwml6/natura/world/worldgen/vine/ThornvinesGenerator.java b/src/main/java/com/progwml6/natura/world/worldgen/vine/ThornvinesGenerator.java index 219e7d10..50935014 100644 --- a/src/main/java/com/progwml6/natura/world/worldgen/vine/ThornvinesGenerator.java +++ b/src/main/java/com/progwml6/natura/world/worldgen/vine/ThornvinesGenerator.java @@ -10,7 +10,7 @@ import net.minecraft.init.Blocks; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; -import net.minecraft.world.chunk.IChunkGenerator; +import net.minecraft.world.gen.IChunkGenerator; import net.minecraft.world.chunk.IChunkProvider; import net.minecraftforge.fml.common.IWorldGenerator; diff --git a/src/main/resources/assets/natura/recipes/_constants.json b/src/main/resources/assets/natura/recipes/_constants.json new file mode 100644 index 00000000..0ec580a5 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/_constants.json @@ -0,0 +1,15 @@ +[ + { + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaEntities" + } + ], + "name": "IMP_LEATHER", + "ingredient": { + "item": "natura:materials", + "data": 6 + } + } +] \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/_factories.json b/src/main/resources/assets/natura/recipes/_factories.json new file mode 100644 index 00000000..f34b2e50 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/_factories.json @@ -0,0 +1,6 @@ +{ + "conditions": { + "config_option_enabled": "com.progwml6.natura.common.recipe.ConfigOptionEnabledConditionFactory", + "is_pulse_loaded": "com.progwml6.natura.common.recipe.IsPulseLoadedConditionFactory" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/common/arrows.json b/src/main/resources/assets/natura/recipes/common/arrows.json new file mode 100644 index 00000000..ff80ea10 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/common/arrows.json @@ -0,0 +1,31 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "forge:ore_shaped", + "pattern": [ + " A ", + "BCB", + " B " + ], + "key": { + "A": { + "item": "minecraft:flint" + }, + "B": { + "item": "natura:materials", + "data": 5 + }, + "C": { + "type": "forge:ore_dict", + "ore": "stickWood" + } + }, + "result": { + "item": "minecraft:arrow", + "count": 4 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/common/barley_flour.json b/src/main/resources/assets/natura/recipes/common/barley_flour.json new file mode 100644 index 00000000..200e1aae --- /dev/null +++ b/src/main/resources/assets/natura/recipes/common/barley_flour.json @@ -0,0 +1,13 @@ +{ + "type": "forge:ore_shapeless", + "ingredients": [ + { + "type": "forge:ore_dict", + "ore": "cropBarley" + } + ], + "result": { + "item": "natura:materials", + "data": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/common/bone_meal.json b/src/main/resources/assets/natura/recipes/common/bone_meal.json new file mode 100644 index 00000000..fdd0f775 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/common/bone_meal.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "natura:bonemeal_bag" + } + ], + "result": { + "item": "minecraft:dye", + "count": 9, + "data": 15 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/common/bone_meal_bag.json b/src/main/resources/assets/natura/recipes/common/bone_meal_bag.json new file mode 100644 index 00000000..60c50955 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/common/bone_meal_bag.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "BCB", + "BAB", + "BBB" + ], + "key": { + "A": { + "item": "minecraft:bone_block" + }, + "B": { + "item": "minecraft:string" + }, + "C": { + "item": "minecraft:paper" + } + }, + "result": { + "item": "natura:bonemeal_bag" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/common/bread.json b/src/main/resources/assets/natura/recipes/common/bread.json new file mode 100644 index 00000000..9a0cae0a --- /dev/null +++ b/src/main/resources/assets/natura/recipes/common/bread.json @@ -0,0 +1,15 @@ +{ + "type": "forge:ore_shaped", + "pattern": [ + "AAA" + ], + "key": { + "A": { + "type": "forge:ore_dict", + "ore": "cropBarley" + } + }, + "result": { + "item": "minecraft:bread" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/common/cactus_juice.json b/src/main/resources/assets/natura/recipes/common/cactus_juice.json new file mode 100644 index 00000000..7c5268a6 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/common/cactus_juice.json @@ -0,0 +1,12 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "minecraft:cactus" + } + ], + "result": { + "item": "natura:edibles", + "data": 11 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/common/cake.json b/src/main/resources/assets/natura/recipes/common/cake.json new file mode 100644 index 00000000..21dc26e5 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/common/cake.json @@ -0,0 +1,32 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "BCB", + " D " + ], + "key": { + "A": { + "item": "minecraft:milk_bucket" + }, + "B": { + "item": "minecraft:sugar" + }, + "C": { + "item": "minecraft:egg" + }, + "D": [ + { + "item": "natura:materials", + "data": 1 + }, + { + "item": "natura:materials", + "data": 2 + } + ] + }, + "result": { + "item": "minecraft:cake" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/common/carrots.json b/src/main/resources/assets/natura/recipes/common/carrots.json new file mode 100644 index 00000000..0abc22fb --- /dev/null +++ b/src/main/resources/assets/natura/recipes/common/carrots.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "natura:seed_bags", + "data": 1 + } + ], + "result": { + "item": "minecraft:carrot", + "count": 9 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/common/carrots_bag.json b/src/main/resources/assets/natura/recipes/common/carrots_bag.json new file mode 100644 index 00000000..2200def8 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/common/carrots_bag.json @@ -0,0 +1,18 @@ +{ + "type": "forge:ore_shaped", + "pattern": [ + "AAA", + "AAA", + "AAA" + ], + "key": { + "A": { + "type": "forge:ore_dict", + "ore": "cropCarrot" + } + }, + "result": { + "item": "natura:seed_bags", + "data": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/common/charcoal.json b/src/main/resources/assets/natura/recipes/common/charcoal.json new file mode 100644 index 00000000..762212a4 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/common/charcoal.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "AAA", + "AAA" + ], + "key": { + "A": { + "item": "natura:clouds", + "data": 2 + } + }, + "result": { + "item": "minecraft:coal", + "data": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/common/daylight_detector.json b/src/main/resources/assets/natura/recipes/common/daylight_detector.json new file mode 100644 index 00000000..ec14cd1b --- /dev/null +++ b/src/main/resources/assets/natura/recipes/common/daylight_detector.json @@ -0,0 +1,31 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "forge:ore_shaped", + "pattern": [ + "AAA", + "BBB", + "CCC" + ], + "key": { + "A": { + "type": "forge:ore_dict", + "ore": "glass" + }, + "B": { + "type": "forge:ore_dict", + "ore": "slabWood" + }, + "C": { + "type": "forge:ore_dict", + "ore": "gemQuartz" + } + }, + "result": { + "item": "minecraft:daylight_detector" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/common/glass_bottle.json b/src/main/resources/assets/natura/recipes/common/glass_bottle.json new file mode 100644 index 00000000..823c1d95 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/common/glass_bottle.json @@ -0,0 +1,23 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "forge:ore_shaped", + "pattern": [ + "A A", + " A " + ], + "key": { + "A": { + "type": "forge:ore_dict", + "ore": "glass" + } + }, + "result": { + "item": "minecraft:glass_bottle", + "count": 3 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/common/gunpowder.json b/src/main/resources/assets/natura/recipes/common/gunpowder.json new file mode 100644 index 00000000..c3363ebd --- /dev/null +++ b/src/main/resources/assets/natura/recipes/common/gunpowder.json @@ -0,0 +1,16 @@ +{ + "type": "forge:ore_shaped", + "pattern": [ + "AA", + "AA" + ], + "key": { + "A": { + "type": "forge:ore_dict", + "ore": "dustSulfur" + } + }, + "result": { + "item": "minecraft:gunpowder" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/common/leather.json b/src/main/resources/assets/natura/recipes/common/leather.json new file mode 100644 index 00000000..37ca0665 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/common/leather.json @@ -0,0 +1,22 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaEntities" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA", + "AA" + ], + "key": { + "A": { + "item": "natura:materials", + "data": 6 + } + }, + "result": { + "item": "minecraft:leather" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/common/nether_wart.json b/src/main/resources/assets/natura/recipes/common/nether_wart.json new file mode 100644 index 00000000..0a262ed8 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/common/nether_wart.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "natura:seed_bags", + "data": 3 + } + ], + "result": { + "item": "minecraft:nether_wart", + "count": 9 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/common/nether_wart_bag.json b/src/main/resources/assets/natura/recipes/common/nether_wart_bag.json new file mode 100644 index 00000000..ae9ef524 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/common/nether_wart_bag.json @@ -0,0 +1,23 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "BCB", + "BAB", + "BBB" + ], + "key": { + "A": { + "item": "minecraft:nether_wart_block" + }, + "B": { + "item": "minecraft:string" + }, + "C": { + "item": "minecraft:paper" + } + }, + "result": { + "item": "natura:seed_bags", + "data": 3 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/common/potatoes.json b/src/main/resources/assets/natura/recipes/common/potatoes.json new file mode 100644 index 00000000..e87db70b --- /dev/null +++ b/src/main/resources/assets/natura/recipes/common/potatoes.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "natura:seed_bags", + "data": 2 + } + ], + "result": { + "item": "minecraft:potato", + "count": 9 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/common/potatos_bag.json b/src/main/resources/assets/natura/recipes/common/potatos_bag.json new file mode 100644 index 00000000..132b9247 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/common/potatos_bag.json @@ -0,0 +1,18 @@ +{ + "type": "forge:ore_shaped", + "pattern": [ + "AAA", + "AAA", + "AAA" + ], + "key": { + "A": { + "type": "forge:ore_dict", + "ore": "cropPotato" + } + }, + "result": { + "item": "natura:seed_bags", + "data": 2 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/common/string.json b/src/main/resources/assets/natura/recipes/common/string.json new file mode 100644 index 00000000..9e0225e9 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/common/string.json @@ -0,0 +1,15 @@ +{ + "type": "forge:ore_shaped", + "pattern": [ + "AAA" + ], + "key": { + "A": { + "type": "forge:ore_dict", + "ore": "cropCotton" + } + }, + "result": { + "item": "minecraft:string" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/common/sulfur.json b/src/main/resources/assets/natura/recipes/common/sulfur.json new file mode 100644 index 00000000..0e96c990 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/common/sulfur.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA", + "AA" + ], + "key": { + "A": { + "item": "natura:clouds", + "data": 3 + } + }, + "result": { + "item": "natura:materials", + "data": 4 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/common/water_bucket.json b/src/main/resources/assets/natura/recipes/common/water_bucket.json new file mode 100644 index 00000000..85d3d681 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/common/water_bucket.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "ABA", + "AAA" + ], + "key": { + "A": { + "item": "natura:edibles", + "data": 11 + }, + "B": { + "item": "minecraft:bucket" + } + }, + "result": { + "item": "minecraft:water_bucket" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/common/wheat_flour.json b/src/main/resources/assets/natura/recipes/common/wheat_flour.json new file mode 100644 index 00000000..72364553 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/common/wheat_flour.json @@ -0,0 +1,18 @@ +{ + "conditions": [ + { + "type": "natura:config_option_enabled", + "config_setting": "enableWheatRecipe" + } + ], + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "minecraft:wheat" + } + ], + "result": { + "item": "natura:materials", + "data": 2 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/common/wheat_seed_bag.json b/src/main/resources/assets/natura/recipes/common/wheat_seed_bag.json new file mode 100644 index 00000000..d32d8d53 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/common/wheat_seed_bag.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "AAA", + "AAA" + ], + "key": { + "A": { + "item": "minecraft:wheat_seeds" + } + }, + "result": { + "item": "natura:seed_bags", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/common/wheat_seeds.json b/src/main/resources/assets/natura/recipes/common/wheat_seeds.json new file mode 100644 index 00000000..7b36283d --- /dev/null +++ b/src/main/resources/assets/natura/recipes/common/wheat_seeds.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "natura:seed_bags", + "data": 0 + } + ], + "result": { + "item": "minecraft:wheat_seeds", + "count": 9 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/common/wool.json b/src/main/resources/assets/natura/recipes/common/wool.json new file mode 100644 index 00000000..9b33c662 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/common/wool.json @@ -0,0 +1,18 @@ +{ + "type": "forge:ore_shaped", + "pattern": [ + "AAA", + "AAA", + "AAA" + ], + "key": { + "A": { + "type": "forge:ore_dict", + "ore": "cropCotton" + } + }, + "result": { + "item": "minecraft:wool", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/nether/bookshelf/bloodwood_bookshelf.json b/src/main/resources/assets/natura/recipes/decorative/nether/bookshelf/bloodwood_bookshelf.json new file mode 100644 index 00000000..0b809e9b --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/nether/bookshelf/bloodwood_bookshelf.json @@ -0,0 +1,31 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "BBB", + "AAA" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 1 + }, + "B": { + "item": "minecraft:book" + } + }, + "result": { + "item": "natura:nether_bookshelves", + "data": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/nether/bookshelf/darkwood_bookshelf.json b/src/main/resources/assets/natura/recipes/decorative/nether/bookshelf/darkwood_bookshelf.json new file mode 100644 index 00000000..0c1007ef --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/nether/bookshelf/darkwood_bookshelf.json @@ -0,0 +1,31 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "BBB", + "AAA" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 2 + }, + "B": { + "item": "minecraft:book" + } + }, + "result": { + "item": "natura:nether_bookshelves", + "data": 2 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/nether/bookshelf/fusewood_bookshelf.json b/src/main/resources/assets/natura/recipes/decorative/nether/bookshelf/fusewood_bookshelf.json new file mode 100644 index 00000000..98d2edd2 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/nether/bookshelf/fusewood_bookshelf.json @@ -0,0 +1,31 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "BBB", + "AAA" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 3 + }, + "B": { + "item": "minecraft:book" + } + }, + "result": { + "item": "natura:nether_bookshelves", + "data": 3 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/nether/bookshelf/ghostwood_bookshelf.json b/src/main/resources/assets/natura/recipes/decorative/nether/bookshelf/ghostwood_bookshelf.json new file mode 100644 index 00000000..2c6a6f1c --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/nether/bookshelf/ghostwood_bookshelf.json @@ -0,0 +1,31 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "BBB", + "AAA" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 0 + }, + "B": { + "item": "minecraft:book" + } + }, + "result": { + "item": "natura:nether_bookshelves", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/nether/button/bloodwood_button.json b/src/main/resources/assets/natura/recipes/decorative/nether/button/bloodwood_button.json new file mode 100644 index 00000000..73fc1bcd --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/nether/button/bloodwood_button.json @@ -0,0 +1,26 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 1 + } + }, + "result": { + "item": "natura:bloodwood_button", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/nether/button/darkwood_button.json b/src/main/resources/assets/natura/recipes/decorative/nether/button/darkwood_button.json new file mode 100644 index 00000000..e59221b9 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/nether/button/darkwood_button.json @@ -0,0 +1,26 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 2 + } + }, + "result": { + "item": "natura:darkwood_button", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/nether/button/fusewood_button.json b/src/main/resources/assets/natura/recipes/decorative/nether/button/fusewood_button.json new file mode 100644 index 00000000..b95e2c79 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/nether/button/fusewood_button.json @@ -0,0 +1,26 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 3 + } + }, + "result": { + "item": "natura:fusewood_button", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/nether/button/ghostwood_button.json b/src/main/resources/assets/natura/recipes/decorative/nether/button/ghostwood_button.json new file mode 100644 index 00000000..8b04d745 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/nether/button/ghostwood_button.json @@ -0,0 +1,26 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 0 + } + }, + "result": { + "item": "natura:ghostwood_button", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/nether/fence/bloodwood_fence.json b/src/main/resources/assets/natura/recipes/decorative/nether/fence/bloodwood_fence.json new file mode 100644 index 00000000..ea2646d2 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/nether/fence/bloodwood_fence.json @@ -0,0 +1,28 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "AAA" + ], + "key": { + "A": { + "item": "natura:sticks", + "data": 12 + } + }, + "result": { + "item": "natura:bloodwood_fence", + "count": 2, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/nether/fence/darkwood_fence.json b/src/main/resources/assets/natura/recipes/decorative/nether/fence/darkwood_fence.json new file mode 100644 index 00000000..a3e77295 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/nether/fence/darkwood_fence.json @@ -0,0 +1,28 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "AAA" + ], + "key": { + "A": { + "item": "natura:sticks", + "data": 10 + } + }, + "result": { + "item": "natura:darkwood_fence", + "count": 2, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/nether/fence/fusewood_fence.json b/src/main/resources/assets/natura/recipes/decorative/nether/fence/fusewood_fence.json new file mode 100644 index 00000000..1bc5af3c --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/nether/fence/fusewood_fence.json @@ -0,0 +1,28 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "AAA" + ], + "key": { + "A": { + "item": "natura:sticks", + "data": 11 + } + }, + "result": { + "item": "natura:fusewood_fence", + "count": 2, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/nether/fence/ghostwood_fence.json b/src/main/resources/assets/natura/recipes/decorative/nether/fence/ghostwood_fence.json new file mode 100644 index 00000000..40c1703f --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/nether/fence/ghostwood_fence.json @@ -0,0 +1,28 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "AAA" + ], + "key": { + "A": { + "item": "natura:sticks", + "data": 9 + } + }, + "result": { + "item": "natura:ghostwood_fence", + "count": 2, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/nether/fence_gate/bloodwood_fence_gate.json b/src/main/resources/assets/natura/recipes/decorative/nether/fence_gate/bloodwood_fence_gate.json new file mode 100644 index 00000000..648ca9b7 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/nether/fence_gate/bloodwood_fence_gate.json @@ -0,0 +1,31 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "ABA", + "ABA" + ], + "key": { + "A": { + "item": "natura:sticks", + "data": 12 + }, + "B": { + "item": "natura:nether_planks", + "data": 1 + } + }, + "result": { + "item": "natura:bloodwood_fence_gate", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/nether/fence_gate/darkwood_fence_gate.json b/src/main/resources/assets/natura/recipes/decorative/nether/fence_gate/darkwood_fence_gate.json new file mode 100644 index 00000000..aa9eeabf --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/nether/fence_gate/darkwood_fence_gate.json @@ -0,0 +1,31 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "ABA", + "ABA" + ], + "key": { + "A": { + "item": "natura:sticks", + "data": 10 + }, + "B": { + "item": "natura:nether_planks", + "data": 2 + } + }, + "result": { + "item": "natura:darkwood_fence_gate", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/nether/fence_gate/fusewood_fence_gate.json b/src/main/resources/assets/natura/recipes/decorative/nether/fence_gate/fusewood_fence_gate.json new file mode 100644 index 00000000..c89350be --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/nether/fence_gate/fusewood_fence_gate.json @@ -0,0 +1,31 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "ABA", + "ABA" + ], + "key": { + "A": { + "item": "natura:sticks", + "data": 11 + }, + "B": { + "item": "natura:nether_planks", + "data": 3 + } + }, + "result": { + "item": "natura:fusewood_fence_gate", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/nether/fence_gate/ghostwood_fence_gate.json b/src/main/resources/assets/natura/recipes/decorative/nether/fence_gate/ghostwood_fence_gate.json new file mode 100644 index 00000000..5ff147d7 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/nether/fence_gate/ghostwood_fence_gate.json @@ -0,0 +1,31 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "ABA", + "ABA" + ], + "key": { + "A": { + "item": "natura:sticks", + "data": 9 + }, + "B": { + "item": "natura:nether_planks", + "data": 0 + } + }, + "result": { + "item": "natura:ghostwood_fence_gate", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/nether/pressure_plate/bloodwood_pressure_plate.json b/src/main/resources/assets/natura/recipes/decorative/nether/pressure_plate/bloodwood_pressure_plate.json new file mode 100644 index 00000000..7c2f0f6d --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/nether/pressure_plate/bloodwood_pressure_plate.json @@ -0,0 +1,26 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 1 + } + }, + "result": { + "item": "natura:bloodwood_pressure_plate", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/nether/pressure_plate/darkwood_pressure_plate.json b/src/main/resources/assets/natura/recipes/decorative/nether/pressure_plate/darkwood_pressure_plate.json new file mode 100644 index 00000000..d1f18202 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/nether/pressure_plate/darkwood_pressure_plate.json @@ -0,0 +1,26 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 2 + } + }, + "result": { + "item": "natura:darkwood_pressure_plate", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/nether/pressure_plate/fusewood_pressure_plate.json b/src/main/resources/assets/natura/recipes/decorative/nether/pressure_plate/fusewood_pressure_plate.json new file mode 100644 index 00000000..e0dd10fb --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/nether/pressure_plate/fusewood_pressure_plate.json @@ -0,0 +1,26 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 3 + } + }, + "result": { + "item": "natura:fusewood_pressure_plate", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/nether/pressure_plate/ghostwood_pressure_plate.json b/src/main/resources/assets/natura/recipes/decorative/nether/pressure_plate/ghostwood_pressure_plate.json new file mode 100644 index 00000000..f26efc6d --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/nether/pressure_plate/ghostwood_pressure_plate.json @@ -0,0 +1,26 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 0 + } + }, + "result": { + "item": "natura:ghostwood_pressure_plate", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/nether/trap_door/bloodwood_trap_door.json b/src/main/resources/assets/natura/recipes/decorative/nether/trap_door/bloodwood_trap_door.json new file mode 100644 index 00000000..9ff7a4db --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/nether/trap_door/bloodwood_trap_door.json @@ -0,0 +1,28 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "AAA" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 1 + } + }, + "result": { + "item": "natura:bloodwood_trap_door", + "count": 2, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/nether/trap_door/darkwood_trap_door.json b/src/main/resources/assets/natura/recipes/decorative/nether/trap_door/darkwood_trap_door.json new file mode 100644 index 00000000..c14d9797 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/nether/trap_door/darkwood_trap_door.json @@ -0,0 +1,28 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "AAA" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 2 + } + }, + "result": { + "item": "natura:darkwood_trap_door", + "count": 2, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/nether/trap_door/fusewood_trap_door.json b/src/main/resources/assets/natura/recipes/decorative/nether/trap_door/fusewood_trap_door.json new file mode 100644 index 00000000..e5ec4ab2 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/nether/trap_door/fusewood_trap_door.json @@ -0,0 +1,28 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "AAA" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 3 + } + }, + "result": { + "item": "natura:fusewood_trap_door", + "count": 2, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/nether/trap_door/ghostwood_trap_door.json b/src/main/resources/assets/natura/recipes/decorative/nether/trap_door/ghostwood_trap_door.json new file mode 100644 index 00000000..301c1624 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/nether/trap_door/ghostwood_trap_door.json @@ -0,0 +1,28 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "AAA" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 0 + } + }, + "result": { + "item": "natura:ghostwood_trap_door", + "count": 2, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/nether/workbench/bloodwood_workbench.json b/src/main/resources/assets/natura/recipes/decorative/nether/workbench/bloodwood_workbench.json new file mode 100644 index 00000000..78cf03a0 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/nether/workbench/bloodwood_workbench.json @@ -0,0 +1,27 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA", + "AA" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 1 + } + }, + "result": { + "item": "natura:nether_workbenches", + "data": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/nether/workbench/darkwood_workbench.json b/src/main/resources/assets/natura/recipes/decorative/nether/workbench/darkwood_workbench.json new file mode 100644 index 00000000..c468ebc6 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/nether/workbench/darkwood_workbench.json @@ -0,0 +1,27 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA", + "AA" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 2 + } + }, + "result": { + "item": "natura:nether_workbenches", + "data": 2 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/nether/workbench/fusewood_workbench.json b/src/main/resources/assets/natura/recipes/decorative/nether/workbench/fusewood_workbench.json new file mode 100644 index 00000000..a276d6b7 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/nether/workbench/fusewood_workbench.json @@ -0,0 +1,27 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA", + "AA" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 3 + } + }, + "result": { + "item": "natura:nether_workbenches", + "data": 3 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/nether/workbench/ghostwood_workbench.json b/src/main/resources/assets/natura/recipes/decorative/nether/workbench/ghostwood_workbench.json new file mode 100644 index 00000000..62d30fc3 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/nether/workbench/ghostwood_workbench.json @@ -0,0 +1,27 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA", + "AA" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 0 + } + }, + "result": { + "item": "natura:nether_workbenches", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/bookshelf/amaranth_bookshelf.json b/src/main/resources/assets/natura/recipes/decorative/overworld/bookshelf/amaranth_bookshelf.json new file mode 100644 index 00000000..d3776a4a --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/bookshelf/amaranth_bookshelf.json @@ -0,0 +1,31 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "BBB", + "AAA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 2 + }, + "B": { + "item": "minecraft:book" + } + }, + "result": { + "item": "natura:overworld_bookshelves", + "data": 2 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/bookshelf/eucalyptus_bookshelf.json b/src/main/resources/assets/natura/recipes/decorative/overworld/bookshelf/eucalyptus_bookshelf.json new file mode 100644 index 00000000..060be390 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/bookshelf/eucalyptus_bookshelf.json @@ -0,0 +1,31 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "BBB", + "AAA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 5 + }, + "B": { + "item": "minecraft:book" + } + }, + "result": { + "item": "natura:overworld_bookshelves", + "data": 5 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/bookshelf/hopseed_bookshelf.json b/src/main/resources/assets/natura/recipes/decorative/overworld/bookshelf/hopseed_bookshelf.json new file mode 100644 index 00000000..7c9f5549 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/bookshelf/hopseed_bookshelf.json @@ -0,0 +1,31 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "BBB", + "AAA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 7 + }, + "B": { + "item": "minecraft:book" + } + }, + "result": { + "item": "natura:overworld_bookshelves", + "data": 7 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/bookshelf/maple_bookshelf.json b/src/main/resources/assets/natura/recipes/decorative/overworld/bookshelf/maple_bookshelf.json new file mode 100644 index 00000000..23302b3d --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/bookshelf/maple_bookshelf.json @@ -0,0 +1,31 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "BBB", + "AAA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 0 + }, + "B": { + "item": "minecraft:book" + } + }, + "result": { + "item": "natura:overworld_bookshelves", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/bookshelf/redwood_bookshelf.json b/src/main/resources/assets/natura/recipes/decorative/overworld/bookshelf/redwood_bookshelf.json new file mode 100644 index 00000000..48a4f6f5 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/bookshelf/redwood_bookshelf.json @@ -0,0 +1,31 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "BBB", + "AAA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 8 + }, + "B": { + "item": "minecraft:book" + } + }, + "result": { + "item": "natura:overworld_bookshelves", + "data": 8 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/bookshelf/sakura_bookshelf.json b/src/main/resources/assets/natura/recipes/decorative/overworld/bookshelf/sakura_bookshelf.json new file mode 100644 index 00000000..3c702bea --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/bookshelf/sakura_bookshelf.json @@ -0,0 +1,31 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "BBB", + "AAA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 6 + }, + "B": { + "item": "minecraft:book" + } + }, + "result": { + "item": "natura:overworld_bookshelves", + "data": 6 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/bookshelf/silverbell_bookshelf.json b/src/main/resources/assets/natura/recipes/decorative/overworld/bookshelf/silverbell_bookshelf.json new file mode 100644 index 00000000..3ca62dff --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/bookshelf/silverbell_bookshelf.json @@ -0,0 +1,31 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "BBB", + "AAA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 1 + }, + "B": { + "item": "minecraft:book" + } + }, + "result": { + "item": "natura:overworld_bookshelves", + "data": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/bookshelf/tiger_bookshelf.json b/src/main/resources/assets/natura/recipes/decorative/overworld/bookshelf/tiger_bookshelf.json new file mode 100644 index 00000000..10edf082 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/bookshelf/tiger_bookshelf.json @@ -0,0 +1,31 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "BBB", + "AAA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 3 + }, + "B": { + "item": "minecraft:book" + } + }, + "result": { + "item": "natura:overworld_bookshelves", + "data": 3 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/bookshelf/willow_bookshelf.json b/src/main/resources/assets/natura/recipes/decorative/overworld/bookshelf/willow_bookshelf.json new file mode 100644 index 00000000..6b205ddc --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/bookshelf/willow_bookshelf.json @@ -0,0 +1,31 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "BBB", + "AAA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 4 + }, + "B": { + "item": "minecraft:book" + } + }, + "result": { + "item": "natura:overworld_bookshelves", + "data": 4 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/button/amaranth_button.json b/src/main/resources/assets/natura/recipes/decorative/overworld/button/amaranth_button.json new file mode 100644 index 00000000..27a34738 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/button/amaranth_button.json @@ -0,0 +1,26 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 2 + } + }, + "result": { + "item": "natura:amaranth_button", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/button/eucalyptus_button.json b/src/main/resources/assets/natura/recipes/decorative/overworld/button/eucalyptus_button.json new file mode 100644 index 00000000..700eb337 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/button/eucalyptus_button.json @@ -0,0 +1,26 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 5 + } + }, + "result": { + "item": "natura:eucalyptus_button", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/button/hopseed_button.json b/src/main/resources/assets/natura/recipes/decorative/overworld/button/hopseed_button.json new file mode 100644 index 00000000..7d361278 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/button/hopseed_button.json @@ -0,0 +1,26 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 6 + } + }, + "result": { + "item": "natura:hopseed_button", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/button/maple_button.json b/src/main/resources/assets/natura/recipes/decorative/overworld/button/maple_button.json new file mode 100644 index 00000000..0748d064 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/button/maple_button.json @@ -0,0 +1,26 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 0 + } + }, + "result": { + "item": "natura:maple_button", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/button/redwood_button.json b/src/main/resources/assets/natura/recipes/decorative/overworld/button/redwood_button.json new file mode 100644 index 00000000..bdc9939f --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/button/redwood_button.json @@ -0,0 +1,26 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 8 + } + }, + "result": { + "item": "natura:redwood_button", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/button/sakura_button.json b/src/main/resources/assets/natura/recipes/decorative/overworld/button/sakura_button.json new file mode 100644 index 00000000..c81ad37d --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/button/sakura_button.json @@ -0,0 +1,26 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 7 + } + }, + "result": { + "item": "natura:sakura_button", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/button/silverbell_button.json b/src/main/resources/assets/natura/recipes/decorative/overworld/button/silverbell_button.json new file mode 100644 index 00000000..7f949220 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/button/silverbell_button.json @@ -0,0 +1,26 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 1 + } + }, + "result": { + "item": "natura:silverbell_button", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/button/tiger_button.json b/src/main/resources/assets/natura/recipes/decorative/overworld/button/tiger_button.json new file mode 100644 index 00000000..77ae15e5 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/button/tiger_button.json @@ -0,0 +1,26 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 3 + } + }, + "result": { + "item": "natura:tiger_button", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/button/willow_button.json b/src/main/resources/assets/natura/recipes/decorative/overworld/button/willow_button.json new file mode 100644 index 00000000..0c8fe175 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/button/willow_button.json @@ -0,0 +1,26 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 4 + } + }, + "result": { + "item": "natura:willow_button", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/fence/amaranth_fence.json b/src/main/resources/assets/natura/recipes/decorative/overworld/fence/amaranth_fence.json new file mode 100644 index 00000000..b375f391 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/fence/amaranth_fence.json @@ -0,0 +1,28 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "AAA" + ], + "key": { + "A": { + "item": "natura:sticks", + "data": 2 + } + }, + "result": { + "item": "natura:amaranth_fence", + "count": 2, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/fence/eucalyptus_fence.json b/src/main/resources/assets/natura/recipes/decorative/overworld/fence/eucalyptus_fence.json new file mode 100644 index 00000000..aff3fbf2 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/fence/eucalyptus_fence.json @@ -0,0 +1,28 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "AAA" + ], + "key": { + "A": { + "item": "natura:sticks", + "data": 5 + } + }, + "result": { + "item": "natura:eucalyptus_fence", + "count": 2, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/fence/hopseed_fence.json b/src/main/resources/assets/natura/recipes/decorative/overworld/fence/hopseed_fence.json new file mode 100644 index 00000000..cd8b87c5 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/fence/hopseed_fence.json @@ -0,0 +1,28 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "AAA" + ], + "key": { + "A": { + "item": "natura:sticks", + "data": 6 + } + }, + "result": { + "item": "natura:hopseed_fence", + "count": 2, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/fence/maple_fence.json b/src/main/resources/assets/natura/recipes/decorative/overworld/fence/maple_fence.json new file mode 100644 index 00000000..61db37c5 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/fence/maple_fence.json @@ -0,0 +1,28 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "AAA" + ], + "key": { + "A": { + "item": "natura:sticks", + "data": 0 + } + }, + "result": { + "item": "natura:maple_fence", + "count": 2, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/fence/redwood_fence.json b/src/main/resources/assets/natura/recipes/decorative/overworld/fence/redwood_fence.json new file mode 100644 index 00000000..14c47be8 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/fence/redwood_fence.json @@ -0,0 +1,28 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "AAA" + ], + "key": { + "A": { + "item": "natura:sticks", + "data": 8 + } + }, + "result": { + "item": "natura:redwood_fence", + "count": 2, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/fence/sakura_fence.json b/src/main/resources/assets/natura/recipes/decorative/overworld/fence/sakura_fence.json new file mode 100644 index 00000000..f372cc01 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/fence/sakura_fence.json @@ -0,0 +1,28 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "AAA" + ], + "key": { + "A": { + "item": "natura:sticks", + "data": 7 + } + }, + "result": { + "item": "natura:sakura_fence", + "count": 2, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/fence/silverbell_fence.json b/src/main/resources/assets/natura/recipes/decorative/overworld/fence/silverbell_fence.json new file mode 100644 index 00000000..b70804da --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/fence/silverbell_fence.json @@ -0,0 +1,28 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "AAA" + ], + "key": { + "A": { + "item": "natura:sticks", + "data": 1 + } + }, + "result": { + "item": "natura:silverbell_fence", + "count": 2, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/fence/tiger_fence.json b/src/main/resources/assets/natura/recipes/decorative/overworld/fence/tiger_fence.json new file mode 100644 index 00000000..f1889bd2 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/fence/tiger_fence.json @@ -0,0 +1,28 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "AAA" + ], + "key": { + "A": { + "item": "natura:sticks", + "data": 3 + } + }, + "result": { + "item": "natura:tiger_fence", + "count": 2, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/fence/willow_fence.json b/src/main/resources/assets/natura/recipes/decorative/overworld/fence/willow_fence.json new file mode 100644 index 00000000..74ac5711 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/fence/willow_fence.json @@ -0,0 +1,28 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "AAA" + ], + "key": { + "A": { + "item": "natura:sticks", + "data": 4 + } + }, + "result": { + "item": "natura:willow_fence", + "count": 2, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/fence_gate/amaranth_fence_gate.json b/src/main/resources/assets/natura/recipes/decorative/overworld/fence_gate/amaranth_fence_gate.json new file mode 100644 index 00000000..15b66584 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/fence_gate/amaranth_fence_gate.json @@ -0,0 +1,31 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "ABA", + "ABA" + ], + "key": { + "A": { + "item": "natura:sticks", + "data": 2 + }, + "B": { + "item": "natura:overworld_planks", + "data": 2 + } + }, + "result": { + "item": "natura:amaranth_fence_gate", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/fence_gate/eucalyptus_fence_gate.json b/src/main/resources/assets/natura/recipes/decorative/overworld/fence_gate/eucalyptus_fence_gate.json new file mode 100644 index 00000000..219213fa --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/fence_gate/eucalyptus_fence_gate.json @@ -0,0 +1,31 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "ABA", + "ABA" + ], + "key": { + "A": { + "item": "natura:sticks", + "data": 5 + }, + "B": { + "item": "natura:overworld_planks", + "data": 5 + } + }, + "result": { + "item": "natura:eucalyptus_fence_gate", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/fence_gate/hopseed_fence_gate.json b/src/main/resources/assets/natura/recipes/decorative/overworld/fence_gate/hopseed_fence_gate.json new file mode 100644 index 00000000..a1f54f83 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/fence_gate/hopseed_fence_gate.json @@ -0,0 +1,31 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "ABA", + "ABA" + ], + "key": { + "A": { + "item": "natura:sticks", + "data": 6 + }, + "B": { + "item": "natura:overworld_planks", + "data": 6 + } + }, + "result": { + "item": "natura:hopseed_fence_gate", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/fence_gate/maple_fence_gate.json b/src/main/resources/assets/natura/recipes/decorative/overworld/fence_gate/maple_fence_gate.json new file mode 100644 index 00000000..53b01fec --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/fence_gate/maple_fence_gate.json @@ -0,0 +1,31 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "ABA", + "ABA" + ], + "key": { + "A": { + "item": "natura:sticks", + "data": 0 + }, + "B": { + "item": "natura:overworld_planks", + "data": 0 + } + }, + "result": { + "item": "natura:maple_fence_gate", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/fence_gate/redwood_fence_gate.json b/src/main/resources/assets/natura/recipes/decorative/overworld/fence_gate/redwood_fence_gate.json new file mode 100644 index 00000000..812f150f --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/fence_gate/redwood_fence_gate.json @@ -0,0 +1,31 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "ABA", + "ABA" + ], + "key": { + "A": { + "item": "natura:sticks", + "data": 8 + }, + "B": { + "item": "natura:overworld_planks", + "data": 8 + } + }, + "result": { + "item": "natura:redwood_fence_gate", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/fence_gate/sakura_fence_gate.json b/src/main/resources/assets/natura/recipes/decorative/overworld/fence_gate/sakura_fence_gate.json new file mode 100644 index 00000000..9770df9c --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/fence_gate/sakura_fence_gate.json @@ -0,0 +1,31 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "ABA", + "ABA" + ], + "key": { + "A": { + "item": "natura:sticks", + "data": 7 + }, + "B": { + "item": "natura:overworld_planks", + "data": 7 + } + }, + "result": { + "item": "natura:sakura_fence_gate", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/fence_gate/silverbell_fence_gate.json b/src/main/resources/assets/natura/recipes/decorative/overworld/fence_gate/silverbell_fence_gate.json new file mode 100644 index 00000000..35544d8d --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/fence_gate/silverbell_fence_gate.json @@ -0,0 +1,31 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "ABA", + "ABA" + ], + "key": { + "A": { + "item": "natura:sticks", + "data": 1 + }, + "B": { + "item": "natura:overworld_planks", + "data": 1 + } + }, + "result": { + "item": "natura:silverbell_fence_gate", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/fence_gate/tiger_fence_gate.json b/src/main/resources/assets/natura/recipes/decorative/overworld/fence_gate/tiger_fence_gate.json new file mode 100644 index 00000000..e19b46ad --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/fence_gate/tiger_fence_gate.json @@ -0,0 +1,31 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "ABA", + "ABA" + ], + "key": { + "A": { + "item": "natura:sticks", + "data": 3 + }, + "B": { + "item": "natura:overworld_planks", + "data": 3 + } + }, + "result": { + "item": "natura:tiger_fence_gate", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/fence_gate/willow_fence_gate.json b/src/main/resources/assets/natura/recipes/decorative/overworld/fence_gate/willow_fence_gate.json new file mode 100644 index 00000000..657ebddd --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/fence_gate/willow_fence_gate.json @@ -0,0 +1,31 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "ABA", + "ABA" + ], + "key": { + "A": { + "item": "natura:sticks", + "data": 4 + }, + "B": { + "item": "natura:overworld_planks", + "data": 4 + } + }, + "result": { + "item": "natura:willow_fence_gate", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/pressure_plate/amaranth_pressure_plate.json b/src/main/resources/assets/natura/recipes/decorative/overworld/pressure_plate/amaranth_pressure_plate.json new file mode 100644 index 00000000..c69fa9bc --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/pressure_plate/amaranth_pressure_plate.json @@ -0,0 +1,26 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 2 + } + }, + "result": { + "item": "natura:amaranth_pressure_plate", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/pressure_plate/eucalyptus_pressure_plate.json b/src/main/resources/assets/natura/recipes/decorative/overworld/pressure_plate/eucalyptus_pressure_plate.json new file mode 100644 index 00000000..364172b9 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/pressure_plate/eucalyptus_pressure_plate.json @@ -0,0 +1,26 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 5 + } + }, + "result": { + "item": "natura:eucalyptus_pressure_plate", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/pressure_plate/hopseed_pressure_plate.json b/src/main/resources/assets/natura/recipes/decorative/overworld/pressure_plate/hopseed_pressure_plate.json new file mode 100644 index 00000000..48041081 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/pressure_plate/hopseed_pressure_plate.json @@ -0,0 +1,26 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 6 + } + }, + "result": { + "item": "natura:hopseed_pressure_plate", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/pressure_plate/maple_pressure_plate.json b/src/main/resources/assets/natura/recipes/decorative/overworld/pressure_plate/maple_pressure_plate.json new file mode 100644 index 00000000..e61d0173 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/pressure_plate/maple_pressure_plate.json @@ -0,0 +1,26 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 0 + } + }, + "result": { + "item": "natura:maple_pressure_plate", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/pressure_plate/redwood_pressure_plate.json b/src/main/resources/assets/natura/recipes/decorative/overworld/pressure_plate/redwood_pressure_plate.json new file mode 100644 index 00000000..09f45bff --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/pressure_plate/redwood_pressure_plate.json @@ -0,0 +1,26 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 8 + } + }, + "result": { + "item": "natura:redwood_pressure_plate", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/pressure_plate/sakura_pressure_plate.json b/src/main/resources/assets/natura/recipes/decorative/overworld/pressure_plate/sakura_pressure_plate.json new file mode 100644 index 00000000..e8457c66 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/pressure_plate/sakura_pressure_plate.json @@ -0,0 +1,26 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 7 + } + }, + "result": { + "item": "natura:sakura_pressure_plate", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/pressure_plate/silverbell_pressure_plate.json b/src/main/resources/assets/natura/recipes/decorative/overworld/pressure_plate/silverbell_pressure_plate.json new file mode 100644 index 00000000..3c71092d --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/pressure_plate/silverbell_pressure_plate.json @@ -0,0 +1,26 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 1 + } + }, + "result": { + "item": "natura:silverbell_pressure_plate", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/pressure_plate/tiger_pressure_plate.json b/src/main/resources/assets/natura/recipes/decorative/overworld/pressure_plate/tiger_pressure_plate.json new file mode 100644 index 00000000..650ebf08 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/pressure_plate/tiger_pressure_plate.json @@ -0,0 +1,26 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 3 + } + }, + "result": { + "item": "natura:tiger_pressure_plate", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/pressure_plate/willow_pressure_plate.json b/src/main/resources/assets/natura/recipes/decorative/overworld/pressure_plate/willow_pressure_plate.json new file mode 100644 index 00000000..a55092fc --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/pressure_plate/willow_pressure_plate.json @@ -0,0 +1,26 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 4 + } + }, + "result": { + "item": "natura:willow_pressure_plate", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/trap_door/amaranth_trap_door.json b/src/main/resources/assets/natura/recipes/decorative/overworld/trap_door/amaranth_trap_door.json new file mode 100644 index 00000000..8935a461 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/trap_door/amaranth_trap_door.json @@ -0,0 +1,28 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "AAA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 2 + } + }, + "result": { + "item": "natura:amaranth_trap_door", + "count": 2, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/trap_door/eucalyptus_trap_door.json b/src/main/resources/assets/natura/recipes/decorative/overworld/trap_door/eucalyptus_trap_door.json new file mode 100644 index 00000000..f2299f7f --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/trap_door/eucalyptus_trap_door.json @@ -0,0 +1,28 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "AAA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 5 + } + }, + "result": { + "item": "natura:eucalyptus_trap_door", + "count": 2, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/trap_door/hopseed_trap_door.json b/src/main/resources/assets/natura/recipes/decorative/overworld/trap_door/hopseed_trap_door.json new file mode 100644 index 00000000..27385011 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/trap_door/hopseed_trap_door.json @@ -0,0 +1,28 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "AAA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 6 + } + }, + "result": { + "item": "natura:hopseed_trap_door", + "count": 2, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/trap_door/maple_trap_door.json b/src/main/resources/assets/natura/recipes/decorative/overworld/trap_door/maple_trap_door.json new file mode 100644 index 00000000..670b7873 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/trap_door/maple_trap_door.json @@ -0,0 +1,28 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "AAA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 0 + } + }, + "result": { + "item": "natura:maple_trap_door", + "count": 2, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/trap_door/redwood_trap_door.json b/src/main/resources/assets/natura/recipes/decorative/overworld/trap_door/redwood_trap_door.json new file mode 100644 index 00000000..17b613a2 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/trap_door/redwood_trap_door.json @@ -0,0 +1,28 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "AAA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 8 + } + }, + "result": { + "item": "natura:redwood_trap_door", + "count": 2, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/trap_door/sakura_trap_door.json b/src/main/resources/assets/natura/recipes/decorative/overworld/trap_door/sakura_trap_door.json new file mode 100644 index 00000000..4d3f3183 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/trap_door/sakura_trap_door.json @@ -0,0 +1,28 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "AAA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 7 + } + }, + "result": { + "item": "natura:sakura_trap_door", + "count": 2, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/trap_door/silverbell_trap_door.json b/src/main/resources/assets/natura/recipes/decorative/overworld/trap_door/silverbell_trap_door.json new file mode 100644 index 00000000..c21a54d3 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/trap_door/silverbell_trap_door.json @@ -0,0 +1,28 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "AAA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 1 + } + }, + "result": { + "item": "natura:silverbell_trap_door", + "count": 2, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/trap_door/tiger_trap_door.json b/src/main/resources/assets/natura/recipes/decorative/overworld/trap_door/tiger_trap_door.json new file mode 100644 index 00000000..1755afab --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/trap_door/tiger_trap_door.json @@ -0,0 +1,28 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "AAA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 3 + } + }, + "result": { + "item": "natura:tiger_trap_door", + "count": 2, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/trap_door/willow_trap_door.json b/src/main/resources/assets/natura/recipes/decorative/overworld/trap_door/willow_trap_door.json new file mode 100644 index 00000000..9c232cd5 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/trap_door/willow_trap_door.json @@ -0,0 +1,28 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "AAA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 4 + } + }, + "result": { + "item": "natura:willow_trap_door", + "count": 2, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/workbench/amaranth_workbench.json b/src/main/resources/assets/natura/recipes/decorative/overworld/workbench/amaranth_workbench.json new file mode 100644 index 00000000..679372f1 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/workbench/amaranth_workbench.json @@ -0,0 +1,27 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA", + "AA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 2 + } + }, + "result": { + "item": "natura:overworld_workbenches", + "data": 2 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/workbench/eucalyptus_workbench.json b/src/main/resources/assets/natura/recipes/decorative/overworld/workbench/eucalyptus_workbench.json new file mode 100644 index 00000000..7fafc533 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/workbench/eucalyptus_workbench.json @@ -0,0 +1,27 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA", + "AA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 5 + } + }, + "result": { + "item": "natura:overworld_workbenches", + "data": 5 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/workbench/hopseed_workbench.json b/src/main/resources/assets/natura/recipes/decorative/overworld/workbench/hopseed_workbench.json new file mode 100644 index 00000000..257aa77f --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/workbench/hopseed_workbench.json @@ -0,0 +1,27 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA", + "AA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 7 + } + }, + "result": { + "item": "natura:overworld_workbenches", + "data": 7 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/workbench/maple_workbench.json b/src/main/resources/assets/natura/recipes/decorative/overworld/workbench/maple_workbench.json new file mode 100644 index 00000000..d13cf978 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/workbench/maple_workbench.json @@ -0,0 +1,27 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA", + "AA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 0 + } + }, + "result": { + "item": "natura:overworld_workbenches", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/workbench/redwood_workbench.json b/src/main/resources/assets/natura/recipes/decorative/overworld/workbench/redwood_workbench.json new file mode 100644 index 00000000..bd91818b --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/workbench/redwood_workbench.json @@ -0,0 +1,27 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA", + "AA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 8 + } + }, + "result": { + "item": "natura:overworld_workbenches", + "data": 8 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/workbench/sakura_workbench.json b/src/main/resources/assets/natura/recipes/decorative/overworld/workbench/sakura_workbench.json new file mode 100644 index 00000000..23303f5b --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/workbench/sakura_workbench.json @@ -0,0 +1,27 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA", + "AA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 6 + } + }, + "result": { + "item": "natura:overworld_workbenches", + "data": 6 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/workbench/silverbell_workbench.json b/src/main/resources/assets/natura/recipes/decorative/overworld/workbench/silverbell_workbench.json new file mode 100644 index 00000000..41b36a55 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/workbench/silverbell_workbench.json @@ -0,0 +1,27 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA", + "AA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 1 + } + }, + "result": { + "item": "natura:overworld_workbenches", + "data": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/workbench/tiger_workbench.json b/src/main/resources/assets/natura/recipes/decorative/overworld/workbench/tiger_workbench.json new file mode 100644 index 00000000..f9d868ff --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/workbench/tiger_workbench.json @@ -0,0 +1,27 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA", + "AA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 3 + } + }, + "result": { + "item": "natura:overworld_workbenches", + "data": 3 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/decorative/overworld/workbench/willow_workbench.json b/src/main/resources/assets/natura/recipes/decorative/overworld/workbench/willow_workbench.json new file mode 100644 index 00000000..6ed7c668 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/decorative/overworld/workbench/willow_workbench.json @@ -0,0 +1,27 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaDecorative" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA", + "AA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 4 + } + }, + "result": { + "item": "natura:overworld_workbenches", + "data": 4 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/blaze_hopper.json b/src/main/resources/assets/natura/recipes/nether/blaze_hopper.json new file mode 100644 index 00000000..a9cf1d19 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/blaze_hopper.json @@ -0,0 +1,27 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "forge:ore_shaped", + "pattern": [ + "A A", + "ABA", + " A " + ], + "key": { + "A": { + "item": "minecraft:blaze_rod" + }, + "B": { + "type": "forge:ore_dict", + "ore": "chestWood" + } + }, + "result": { + "item": "natura:blaze_hopper", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/bowls/bloodwood_bowl.json b/src/main/resources/assets/natura/recipes/nether/bowls/bloodwood_bowl.json new file mode 100644 index 00000000..14985966 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/bowls/bloodwood_bowl.json @@ -0,0 +1,24 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A A", + " A " + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 1 + } + }, + "result": { + "item": "natura:empty_bowls", + "count": 4, + "data": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/bowls/darkwood_bowl.json b/src/main/resources/assets/natura/recipes/nether/bowls/darkwood_bowl.json new file mode 100644 index 00000000..d458bd41 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/bowls/darkwood_bowl.json @@ -0,0 +1,24 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A A", + " A " + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 2 + } + }, + "result": { + "item": "natura:empty_bowls", + "count": 4, + "data": 2 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/bowls/fusewood_bowl.json b/src/main/resources/assets/natura/recipes/nether/bowls/fusewood_bowl.json new file mode 100644 index 00000000..d455b33f --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/bowls/fusewood_bowl.json @@ -0,0 +1,24 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A A", + " A " + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 3 + } + }, + "result": { + "item": "natura:empty_bowls", + "count": 4, + "data": 3 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/bowls/ghostwood_bowl.json b/src/main/resources/assets/natura/recipes/nether/bowls/ghostwood_bowl.json new file mode 100644 index 00000000..a5ede216 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/bowls/ghostwood_bowl.json @@ -0,0 +1,24 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A A", + " A " + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 0 + } + }, + "result": { + "item": "natura:empty_bowls", + "count": 4, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/doors/bloodwood_door.json b/src/main/resources/assets/natura/recipes/nether/doors/bloodwood_door.json new file mode 100644 index 00000000..6e8fa6e6 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/doors/bloodwood_door.json @@ -0,0 +1,24 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA", + "AA", + "AA" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 1 + } + }, + "result": { + "item": "natura:nether_doors", + "data": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/doors/ghostwood_door.json b/src/main/resources/assets/natura/recipes/nether/doors/ghostwood_door.json new file mode 100644 index 00000000..88f1e4be --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/doors/ghostwood_door.json @@ -0,0 +1,24 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA", + "AA", + "AA" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 0 + } + }, + "result": { + "item": "natura:nether_doors", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/ghostwood_fletching.json b/src/main/resources/assets/natura/recipes/nether/ghostwood_fletching.json new file mode 100644 index 00000000..e491d1bc --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/ghostwood_fletching.json @@ -0,0 +1,28 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + " A ", + "BAB", + "BAB" + ], + "key": { + "A": { + "item": "natura:sticks", + "data": 9 + }, + "B": { + "item": "natura:nether_leaves", + "data": 0 + } + }, + "result": { + "item": "natura:materials", + "data": 5 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/glowshroom_stew/bloodwood_glowshroom_stew.json b/src/main/resources/assets/natura/recipes/nether/glowshroom_stew/bloodwood_glowshroom_stew.json new file mode 100644 index 00000000..0e08ff59 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/glowshroom_stew/bloodwood_glowshroom_stew.json @@ -0,0 +1,31 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "natura:empty_bowls", + "data": 1 + }, + { + "item": "natura:nether_glowshroom", + "data": 0 + }, + { + "item": "natura:nether_glowshroom", + "data": 1 + }, + { + "item": "natura:nether_glowshroom", + "data": 2 + } + ], + "result": { + "item": "natura:soups", + "data": 6 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/glowshroom_stew/darkwood_glowshroom_stew.json b/src/main/resources/assets/natura/recipes/nether/glowshroom_stew/darkwood_glowshroom_stew.json new file mode 100644 index 00000000..64a1ef9d --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/glowshroom_stew/darkwood_glowshroom_stew.json @@ -0,0 +1,31 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "natura:empty_bowls", + "data": 2 + }, + { + "item": "natura:nether_glowshroom", + "data": 0 + }, + { + "item": "natura:nether_glowshroom", + "data": 1 + }, + { + "item": "natura:nether_glowshroom", + "data": 2 + } + ], + "result": { + "item": "natura:soups", + "data": 7 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/glowshroom_stew/fusewood_glowshroom_stew.json b/src/main/resources/assets/natura/recipes/nether/glowshroom_stew/fusewood_glowshroom_stew.json new file mode 100644 index 00000000..dfb32132 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/glowshroom_stew/fusewood_glowshroom_stew.json @@ -0,0 +1,31 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "natura:empty_bowls", + "data": 3 + }, + { + "item": "natura:nether_glowshroom", + "data": 0 + }, + { + "item": "natura:nether_glowshroom", + "data": 1 + }, + { + "item": "natura:nether_glowshroom", + "data": 2 + } + ], + "result": { + "item": "natura:soups", + "data": 8 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/glowshroom_stew/ghostwood_glowshroom_stew.json b/src/main/resources/assets/natura/recipes/nether/glowshroom_stew/ghostwood_glowshroom_stew.json new file mode 100644 index 00000000..f0cd0a4c --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/glowshroom_stew/ghostwood_glowshroom_stew.json @@ -0,0 +1,31 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "natura:empty_bowls", + "data": 0 + }, + { + "item": "natura:nether_glowshroom", + "data": 0 + }, + { + "item": "natura:nether_glowshroom", + "data": 1 + }, + { + "item": "natura:nether_glowshroom", + "data": 2 + } + ], + "result": { + "item": "natura:soups", + "data": 5 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/glowshroom_stew/vanilla_glowshroom_stew.json b/src/main/resources/assets/natura/recipes/nether/glowshroom_stew/vanilla_glowshroom_stew.json new file mode 100644 index 00000000..d6848b95 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/glowshroom_stew/vanilla_glowshroom_stew.json @@ -0,0 +1,30 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "minecraft:bowl" + }, + { + "item": "natura:nether_glowshroom", + "data": 0 + }, + { + "item": "natura:nether_glowshroom", + "data": 1 + }, + { + "item": "natura:nether_glowshroom", + "data": 2 + } + ], + "result": { + "item": "natura:soups", + "data": 4 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/mushroom_stew/bloodwood_mushroom_stew.json b/src/main/resources/assets/natura/recipes/nether/mushroom_stew/bloodwood_mushroom_stew.json new file mode 100644 index 00000000..e486ded5 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/mushroom_stew/bloodwood_mushroom_stew.json @@ -0,0 +1,25 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "natura:empty_bowls", + "data": 1 + }, + { + "item": "minecraft:brown_mushroom" + }, + { + "item": "minecraft:red_mushroom" + } + ], + "result": { + "item": "natura:soups", + "data": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/mushroom_stew/darkwood_mushroom_stew.json b/src/main/resources/assets/natura/recipes/nether/mushroom_stew/darkwood_mushroom_stew.json new file mode 100644 index 00000000..0f59d666 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/mushroom_stew/darkwood_mushroom_stew.json @@ -0,0 +1,25 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "natura:empty_bowls", + "data": 2 + }, + { + "item": "minecraft:brown_mushroom" + }, + { + "item": "minecraft:red_mushroom" + } + ], + "result": { + "item": "natura:soups", + "data": 2 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/mushroom_stew/fusewood_mushroom_stew.json b/src/main/resources/assets/natura/recipes/nether/mushroom_stew/fusewood_mushroom_stew.json new file mode 100644 index 00000000..a6229158 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/mushroom_stew/fusewood_mushroom_stew.json @@ -0,0 +1,25 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "natura:empty_bowls", + "data": 3 + }, + { + "item": "minecraft:brown_mushroom" + }, + { + "item": "minecraft:red_mushroom" + } + ], + "result": { + "item": "natura:soups", + "data": 3 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/mushroom_stew/ghostwood_mushroom_stew.json b/src/main/resources/assets/natura/recipes/nether/mushroom_stew/ghostwood_mushroom_stew.json new file mode 100644 index 00000000..82b997b7 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/mushroom_stew/ghostwood_mushroom_stew.json @@ -0,0 +1,25 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "natura:empty_bowls", + "data": 0 + }, + { + "item": "minecraft:brown_mushroom" + }, + { + "item": "minecraft:red_mushroom" + } + ], + "result": { + "item": "natura:soups", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/nether_button.json b/src/main/resources/assets/natura/recipes/nether/nether_button.json new file mode 100644 index 00000000..7a2a5bcf --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/nether_button.json @@ -0,0 +1,21 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A" + ], + "key": { + "A": { + "item": "minecraft:netherrack" + } + }, + "result": { + "item": "natura:nether_button", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/nether_lever.json b/src/main/resources/assets/natura/recipes/nether/nether_lever.json new file mode 100644 index 00000000..e2423147 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/nether_lever.json @@ -0,0 +1,26 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "forge:ore_shaped", + "pattern": [ + "A", + "B" + ], + "key": { + "A": { + "type": "forge:ore_dict", + "ore": "stickWood" + }, + "B": { + "item": "minecraft:netherrack" + } + }, + "result": { + "item": "natura:nether_lever", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/nether_pressure_plate.json b/src/main/resources/assets/natura/recipes/nether/nether_pressure_plate.json new file mode 100644 index 00000000..0bffca3b --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/nether_pressure_plate.json @@ -0,0 +1,21 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA" + ], + "key": { + "A": { + "item": "minecraft:netherrack" + } + }, + "result": { + "item": "natura:nether_pressure_plate", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/netherrack_furnace.json b/src/main/resources/assets/natura/recipes/nether/netherrack_furnace.json new file mode 100644 index 00000000..fe7e3a3e --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/netherrack_furnace.json @@ -0,0 +1,23 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "A A", + "AAA" + ], + "key": { + "A": { + "item": "minecraft:netherrack" + } + }, + "result": { + "item": "natura:netherrack_furnace", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/planks/bloodwood_planks.json b/src/main/resources/assets/natura/recipes/nether/planks/bloodwood_planks.json new file mode 100644 index 00000000..19e1a0de --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/planks/bloodwood_planks.json @@ -0,0 +1,23 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A" + ], + "key": { + "A": { + "item": "natura:nether_logs2", + "data": 32767 + } + }, + "result": { + "item": "natura:nether_planks", + "count": 4, + "data": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/planks/darkwood_planks.json b/src/main/resources/assets/natura/recipes/nether/planks/darkwood_planks.json new file mode 100644 index 00000000..f44c336f --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/planks/darkwood_planks.json @@ -0,0 +1,23 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A" + ], + "key": { + "A": { + "item": "natura:nether_logs", + "data": 1 + } + }, + "result": { + "item": "natura:nether_planks", + "count": 4, + "data": 2 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/planks/fusewood_planks.json b/src/main/resources/assets/natura/recipes/nether/planks/fusewood_planks.json new file mode 100644 index 00000000..a08e4d48 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/planks/fusewood_planks.json @@ -0,0 +1,23 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A" + ], + "key": { + "A": { + "item": "natura:nether_logs", + "data": 2 + } + }, + "result": { + "item": "natura:nether_planks", + "count": 4, + "data": 3 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/planks/ghostwood_planks.json b/src/main/resources/assets/natura/recipes/nether/planks/ghostwood_planks.json new file mode 100644 index 00000000..cf8ba757 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/planks/ghostwood_planks.json @@ -0,0 +1,23 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A" + ], + "key": { + "A": { + "item": "natura:nether_logs", + "data": 0 + } + }, + "result": { + "item": "natura:nether_planks", + "count": 4, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/rails/blaze_rail.json b/src/main/resources/assets/natura/recipes/nether/rails/blaze_rail.json new file mode 100644 index 00000000..388d4f3f --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/rails/blaze_rail.json @@ -0,0 +1,28 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "forge:ore_shaped", + "pattern": [ + "A A", + "ABA", + "A A" + ], + "key": { + "A": { + "item": "minecraft:blaze_rod" + }, + "B": { + "type": "forge:ore_dict", + "ore": "stickWood" + } + }, + "result": { + "item": "natura:blaze_rail", + "count": 16, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/rails/blaze_rail_activator.json b/src/main/resources/assets/natura/recipes/nether/rails/blaze_rail_activator.json new file mode 100644 index 00000000..544b00a1 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/rails/blaze_rail_activator.json @@ -0,0 +1,31 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "forge:ore_shaped", + "pattern": [ + "ACA", + "ABA", + "ACA" + ], + "key": { + "A": { + "item": "minecraft:blaze_rod" + }, + "B": { + "item": "minecraft:redstone_torch" + }, + "C": { + "type": "forge:ore_dict", + "ore": "stickWood" + } + }, + "result": { + "item": "natura:blaze_rail_activator", + "count": 6, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/rails/blaze_rail_detector.json b/src/main/resources/assets/natura/recipes/nether/rails/blaze_rail_detector.json new file mode 100644 index 00000000..7ef15d4b --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/rails/blaze_rail_detector.json @@ -0,0 +1,32 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "forge:ore_shaped", + "pattern": [ + "A A", + "ABA", + "ACA" + ], + "key": { + "A": { + "item": "minecraft:blaze_rod" + }, + "B": { + "item": "natura:nether_pressure_plate", + "data": 0 + }, + "C": { + "type": "forge:ore_dict", + "ore": "dustRedstone" + } + }, + "result": { + "item": "natura:blaze_rail_detector", + "count": 6, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/rails/blaze_rail_powered.json b/src/main/resources/assets/natura/recipes/nether/rails/blaze_rail_powered.json new file mode 100644 index 00000000..bbc9a56e --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/rails/blaze_rail_powered.json @@ -0,0 +1,32 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "forge:ore_shaped", + "pattern": [ + "A A", + "ABA", + "ACA" + ], + "key": { + "A": { + "item": "minecraft:blaze_rod" + }, + "B": { + "item": "natura:nether_logs", + "data": 2 + }, + "C": { + "type": "forge:ore_dict", + "ore": "dustRedstone" + } + }, + "result": { + "item": "natura:blaze_rail_golden", + "count": 6, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/respawn_obelisk.json b/src/main/resources/assets/natura/recipes/nether/respawn_obelisk.json new file mode 100644 index 00000000..ea781352 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/respawn_obelisk.json @@ -0,0 +1,24 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "A A", + "AAA" + ], + "key": { + "A": { + "item": "natura:nether_logs", + "data": 0 + } + }, + "result": { + "item": "natura:respawn_obelisk", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/slabs/bloodwood_slab.json b/src/main/resources/assets/natura/recipes/nether/slabs/bloodwood_slab.json new file mode 100644 index 00000000..9adc88d3 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/slabs/bloodwood_slab.json @@ -0,0 +1,23 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 1 + } + }, + "result": { + "item": "natura:nether_slab", + "count": 6, + "data": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/slabs/darkwood_slab.json b/src/main/resources/assets/natura/recipes/nether/slabs/darkwood_slab.json new file mode 100644 index 00000000..bafd311d --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/slabs/darkwood_slab.json @@ -0,0 +1,23 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 2 + } + }, + "result": { + "item": "natura:nether_slab", + "count": 6, + "data": 2 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/slabs/fusewood_slab.json b/src/main/resources/assets/natura/recipes/nether/slabs/fusewood_slab.json new file mode 100644 index 00000000..b284d0c9 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/slabs/fusewood_slab.json @@ -0,0 +1,23 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 3 + } + }, + "result": { + "item": "natura:nether_slab", + "count": 6, + "data": 3 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/slabs/ghostwood_slab.json b/src/main/resources/assets/natura/recipes/nether/slabs/ghostwood_slab.json new file mode 100644 index 00000000..09460195 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/slabs/ghostwood_slab.json @@ -0,0 +1,23 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 0 + } + }, + "result": { + "item": "natura:nether_slab", + "count": 6, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/soul_sand.json b/src/main/resources/assets/natura/recipes/nether/soul_sand.json new file mode 100644 index 00000000..8a2c512e --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/soul_sand.json @@ -0,0 +1,22 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "natura:nether_heat_sand", + "data": 0 + }, + { + "item": "natura:nether_tainted_soil", + "data": 0 + } + ], + "result": { + "item": "minecraft:soul_sand" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/stairs/bloodwood_stairs.json b/src/main/resources/assets/natura/recipes/nether/stairs/bloodwood_stairs.json new file mode 100644 index 00000000..77beb13a --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/stairs/bloodwood_stairs.json @@ -0,0 +1,25 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A ", + "AA ", + "AAA" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 1 + } + }, + "result": { + "item": "natura:nether_stairs_bloodwood", + "count": 4, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/stairs/darkwood_stairs.json b/src/main/resources/assets/natura/recipes/nether/stairs/darkwood_stairs.json new file mode 100644 index 00000000..c640e6fb --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/stairs/darkwood_stairs.json @@ -0,0 +1,25 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A ", + "AA ", + "AAA" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 2 + } + }, + "result": { + "item": "natura:nether_stairs_darkwood", + "count": 4, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/stairs/fusewood_stairs.json b/src/main/resources/assets/natura/recipes/nether/stairs/fusewood_stairs.json new file mode 100644 index 00000000..1b91d67c --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/stairs/fusewood_stairs.json @@ -0,0 +1,25 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A ", + "AA ", + "AAA" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 3 + } + }, + "result": { + "item": "natura:nether_stairs_fusewood", + "count": 4, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/stairs/ghostwood_stairs.json b/src/main/resources/assets/natura/recipes/nether/stairs/ghostwood_stairs.json new file mode 100644 index 00000000..989cdea0 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/stairs/ghostwood_stairs.json @@ -0,0 +1,25 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A ", + "AA ", + "AAA" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 0 + } + }, + "result": { + "item": "natura:nether_stairs_ghostwood", + "count": 4, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/sticks/bloodwood_sticks.json b/src/main/resources/assets/natura/recipes/nether/sticks/bloodwood_sticks.json new file mode 100644 index 00000000..36c51cac --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/sticks/bloodwood_sticks.json @@ -0,0 +1,24 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A", + "A" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 1 + } + }, + "result": { + "item": "natura:sticks", + "count": 4, + "data": 12 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/sticks/darkwood_sticks.json b/src/main/resources/assets/natura/recipes/nether/sticks/darkwood_sticks.json new file mode 100644 index 00000000..b33f7af2 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/sticks/darkwood_sticks.json @@ -0,0 +1,24 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A", + "A" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 2 + } + }, + "result": { + "item": "natura:sticks", + "count": 4, + "data": 10 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/sticks/fusewood_sticks.json b/src/main/resources/assets/natura/recipes/nether/sticks/fusewood_sticks.json new file mode 100644 index 00000000..77448d2b --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/sticks/fusewood_sticks.json @@ -0,0 +1,24 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A", + "A" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 3 + } + }, + "result": { + "item": "natura:sticks", + "count": 4, + "data": 11 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/nether/sticks/ghostwood_sticks.json b/src/main/resources/assets/natura/recipes/nether/sticks/ghostwood_sticks.json new file mode 100644 index 00000000..1c5c3e29 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/nether/sticks/ghostwood_sticks.json @@ -0,0 +1,24 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A", + "A" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 0 + } + }, + "result": { + "item": "natura:sticks", + "count": 4, + "data": 9 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/barley_seed_bag.json b/src/main/resources/assets/natura/recipes/overworld/barley_seed_bag.json new file mode 100644 index 00000000..6ee09ea3 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/barley_seed_bag.json @@ -0,0 +1,24 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "forge:ore_shaped", + "pattern": [ + "AAA", + "AAA", + "AAA" + ], + "key": { + "A": { + "type": "forge:ore_dict", + "ore": "seedBarley" + } + }, + "result": { + "item": "natura:overworld_seed_bags", + "data": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/barley_seeds.json b/src/main/resources/assets/natura/recipes/overworld/barley_seeds.json new file mode 100644 index 00000000..d25f4b6a --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/barley_seeds.json @@ -0,0 +1,20 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "natura:overworld_seed_bags", + "data": 0 + } + ], + "result": { + "item": "natura:overworld_seeds", + "count": 9, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/berry_medley/berry_medley.json b/src/main/resources/assets/natura/recipes/overworld/berry_medley/berry_medley.json new file mode 100644 index 00000000..7fbd16f0 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/berry_medley/berry_medley.json @@ -0,0 +1,73 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "forge:ore_shapeless", + "ingredients": [ + { + "type": "forge:ore_dict", + "ore": "bowlWood" + }, + [ + { + "type": "forge:ore_dict", + "ore": "cropRaspberry" + }, + { + "type": "forge:ore_dict", + "ore": "cropBlueberry" + }, + { + "type": "forge:ore_dict", + "ore": "cropBlackberry" + }, + { + "type": "forge:ore_dict", + "ore": "cropMaloberry" + } + ], + [ + { + "type": "forge:ore_dict", + "ore": "cropBlueberry" + }, + { + "type": "forge:ore_dict", + "ore": "cropBlackberry" + }, + { + "type": "forge:ore_dict", + "ore": "cropMaloberry" + }, + { + "type": "forge:ore_dict", + "ore": "cropStrawberry" + } + ], + [ + { + "type": "forge:ore_dict", + "ore": "cropBlackberry" + }, + { + "type": "forge:ore_dict", + "ore": "cropMaloberry" + }, + { + "type": "forge:ore_dict", + "ore": "cropStrawberry" + }, + { + "type": "forge:ore_dict", + "ore": "cropCranberry" + } + ] + ], + "result": { + "item": "natura:soups", + "data": 9 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/berry_medley/berry_medley_double.json b/src/main/resources/assets/natura/recipes/overworld/berry_medley/berry_medley_double.json new file mode 100644 index 00000000..9928ba17 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/berry_medley/berry_medley_double.json @@ -0,0 +1,80 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "forge:ore_shapeless", + "ingredients": [ + { + "type": "forge:ore_dict", + "ore": "bowlWood" + }, + { + "type": "forge:ore_dict", + "ore": "bowlWood" + }, + [ + { + "type": "forge:ore_dict", + "ore": "cropRaspberry" + }, + { + "type": "forge:ore_dict", + "ore": "cropBlueberry" + }, + { + "type": "forge:ore_dict", + "ore": "cropBlackberry" + } + ], + [ + { + "type": "forge:ore_dict", + "ore": "cropBlueberry" + }, + { + "type": "forge:ore_dict", + "ore": "cropBlackberry" + }, + { + "type": "forge:ore_dict", + "ore": "cropMaloberry" + } + ], + [ + { + "type": "forge:ore_dict", + "ore": "cropBlackberry" + }, + { + "type": "forge:ore_dict", + "ore": "cropMaloberry" + }, + { + "type": "forge:ore_dict", + "ore": "cropStrawberry" + } + ], + [ + { + "type": "forge:ore_dict", + "ore": "cropMaloberry" + }, + { + "type": "forge:ore_dict", + "ore": "cropStrawberry" + }, + { + "type": "forge:ore_dict", + "ore": "cropCranberry" + } + ] + ], + "result": { + "item": "natura:soups", + "data": 9, + "count": 2 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/blue_dye.json b/src/main/resources/assets/natura/recipes/overworld/blue_dye.json new file mode 100644 index 00000000..e2b3e3a9 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/blue_dye.json @@ -0,0 +1,19 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "natura:bluebells_flower", + "data": 0 + } + ], + "result": { + "item": "natura:materials", + "data": 8 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/cotton_seed_bag.json b/src/main/resources/assets/natura/recipes/overworld/cotton_seed_bag.json new file mode 100644 index 00000000..e011dacf --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/cotton_seed_bag.json @@ -0,0 +1,24 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "forge:ore_shaped", + "pattern": [ + "AAA", + "AAA", + "AAA" + ], + "key": { + "A": { + "type": "forge:ore_dict", + "ore": "seedCotton" + } + }, + "result": { + "item": "natura:overworld_seed_bags", + "data": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/cotton_seeds.json b/src/main/resources/assets/natura/recipes/overworld/cotton_seeds.json new file mode 100644 index 00000000..b392e2c5 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/cotton_seeds.json @@ -0,0 +1,20 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { + "item": "natura:overworld_seed_bags", + "data": 1 + } + ], + "result": { + "item": "natura:overworld_seeds", + "count": 9, + "data": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/doors/eucalyptus_door.json b/src/main/resources/assets/natura/recipes/overworld/doors/eucalyptus_door.json new file mode 100644 index 00000000..fb072a24 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/doors/eucalyptus_door.json @@ -0,0 +1,24 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA", + "AA", + "AA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 5 + } + }, + "result": { + "item": "natura:overworld_doors", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/doors/hopseed_door.json b/src/main/resources/assets/natura/recipes/overworld/doors/hopseed_door.json new file mode 100644 index 00000000..bdc46b05 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/doors/hopseed_door.json @@ -0,0 +1,24 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA", + "AA", + "AA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 6 + } + }, + "result": { + "item": "natura:overworld_doors", + "data": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/doors/redwood_bark_door.json b/src/main/resources/assets/natura/recipes/overworld/doors/redwood_bark_door.json new file mode 100644 index 00000000..c72dbf3c --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/doors/redwood_bark_door.json @@ -0,0 +1,24 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA", + "AA", + "AA" + ], + "key": { + "A": { + "item": "natura:redwood_logs", + "data": 0 + } + }, + "result": { + "item": "natura:overworld_doors", + "data": 4 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/doors/redwood_door.json b/src/main/resources/assets/natura/recipes/overworld/doors/redwood_door.json new file mode 100644 index 00000000..421b8a39 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/doors/redwood_door.json @@ -0,0 +1,24 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA", + "AA", + "AA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 8 + } + }, + "result": { + "item": "natura:overworld_doors", + "data": 3 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/doors/sakura_door.json b/src/main/resources/assets/natura/recipes/overworld/doors/sakura_door.json new file mode 100644 index 00000000..60e6f50a --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/doors/sakura_door.json @@ -0,0 +1,24 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA", + "AA", + "AA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 7 + } + }, + "result": { + "item": "natura:overworld_doors", + "data": 2 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/grass/colored_grass.json b/src/main/resources/assets/natura/recipes/overworld/grass/colored_grass.json new file mode 100644 index 00000000..bbdb5b1b --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/grass/colored_grass.json @@ -0,0 +1,27 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + " A ", + "ABA", + " A " + ], + "key": { + "A": { + "item": "minecraft:wheat_seeds" + }, + "B": { + "item": "minecraft:dirt", + "data": 0 + } + }, + "result": { + "item": "natura:colored_grass", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/grass/colored_grass_autumnal.json b/src/main/resources/assets/natura/recipes/overworld/grass/colored_grass_autumnal.json new file mode 100644 index 00000000..92533070 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/grass/colored_grass_autumnal.json @@ -0,0 +1,23 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "forge:ore_shapeless", + "ingredients": [ + { + "item": "natura:colored_grass", + "data": 0 + }, + { + "type": "forge:ore_dict", + "ore": "dyeRed" + } + ], + "result": { + "item": "natura:colored_grass", + "data": 2 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/grass/colored_grass_blue.json b/src/main/resources/assets/natura/recipes/overworld/grass/colored_grass_blue.json new file mode 100644 index 00000000..d78e61dc --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/grass/colored_grass_blue.json @@ -0,0 +1,23 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "forge:ore_shapeless", + "ingredients": [ + { + "item": "natura:colored_grass", + "data": 0 + }, + { + "type": "forge:ore_dict", + "ore": "dyeBlue" + } + ], + "result": { + "item": "natura:colored_grass", + "data": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/planks/amaranth_planks.json b/src/main/resources/assets/natura/recipes/overworld/planks/amaranth_planks.json new file mode 100644 index 00000000..44a0a9dc --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/planks/amaranth_planks.json @@ -0,0 +1,23 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A" + ], + "key": { + "A": { + "item": "natura:overworld_logs", + "data": 2 + } + }, + "result": { + "item": "natura:overworld_planks", + "count": 4, + "data": 2 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/planks/eucalyptus_planks.json b/src/main/resources/assets/natura/recipes/overworld/planks/eucalyptus_planks.json new file mode 100644 index 00000000..595196ef --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/planks/eucalyptus_planks.json @@ -0,0 +1,23 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A" + ], + "key": { + "A": { + "item": "natura:overworld_logs2", + "data": 1 + } + }, + "result": { + "item": "natura:overworld_planks", + "count": 4, + "data": 5 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/planks/hopseed_planks.json b/src/main/resources/assets/natura/recipes/overworld/planks/hopseed_planks.json new file mode 100644 index 00000000..b5480795 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/planks/hopseed_planks.json @@ -0,0 +1,23 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A" + ], + "key": { + "A": { + "item": "natura:overworld_logs2", + "data": 2 + } + }, + "result": { + "item": "natura:overworld_planks", + "count": 4, + "data": 6 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/planks/maple_planks.json b/src/main/resources/assets/natura/recipes/overworld/planks/maple_planks.json new file mode 100644 index 00000000..6e3b415f --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/planks/maple_planks.json @@ -0,0 +1,23 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A" + ], + "key": { + "A": { + "item": "natura:overworld_logs", + "data": 0 + } + }, + "result": { + "item": "natura:overworld_planks", + "count": 4, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/planks/redwood_planks.json b/src/main/resources/assets/natura/recipes/overworld/planks/redwood_planks.json new file mode 100644 index 00000000..292fd1c6 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/planks/redwood_planks.json @@ -0,0 +1,23 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A" + ], + "key": { + "A": { + "item": "natura:redwood_logs", + "data": 1 + } + }, + "result": { + "item": "natura:overworld_planks", + "count": 4, + "data": 8 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/planks/sakura_planks.json b/src/main/resources/assets/natura/recipes/overworld/planks/sakura_planks.json new file mode 100644 index 00000000..1f3281d0 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/planks/sakura_planks.json @@ -0,0 +1,23 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A" + ], + "key": { + "A": { + "item": "natura:overworld_logs2", + "data": 3 + } + }, + "result": { + "item": "natura:overworld_planks", + "count": 4, + "data": 7 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/planks/silverbell_planks.json b/src/main/resources/assets/natura/recipes/overworld/planks/silverbell_planks.json new file mode 100644 index 00000000..b2db34b4 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/planks/silverbell_planks.json @@ -0,0 +1,23 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A" + ], + "key": { + "A": { + "item": "natura:overworld_logs", + "data": 1 + } + }, + "result": { + "item": "natura:overworld_planks", + "count": 4, + "data": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/planks/tiger_planks.json b/src/main/resources/assets/natura/recipes/overworld/planks/tiger_planks.json new file mode 100644 index 00000000..be38f914 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/planks/tiger_planks.json @@ -0,0 +1,23 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A" + ], + "key": { + "A": { + "item": "natura:overworld_logs", + "data": 3 + } + }, + "result": { + "item": "natura:overworld_planks", + "count": 4, + "data": 3 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/planks/willow_planks.json b/src/main/resources/assets/natura/recipes/overworld/planks/willow_planks.json new file mode 100644 index 00000000..15ecdecd --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/planks/willow_planks.json @@ -0,0 +1,23 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A" + ], + "key": { + "A": { + "item": "natura:overworld_logs2", + "data": 0 + } + }, + "result": { + "item": "natura:overworld_planks", + "count": 4, + "data": 4 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/slabs/amaranth_slab.json b/src/main/resources/assets/natura/recipes/overworld/slabs/amaranth_slab.json new file mode 100644 index 00000000..54d4b3f2 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/slabs/amaranth_slab.json @@ -0,0 +1,23 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 2 + } + }, + "result": { + "item": "natura:overworld_slab", + "count": 6, + "data": 2 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/slabs/colored_grass_autumnal_slab.json b/src/main/resources/assets/natura/recipes/overworld/slabs/colored_grass_autumnal_slab.json new file mode 100644 index 00000000..69848693 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/slabs/colored_grass_autumnal_slab.json @@ -0,0 +1,23 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA" + ], + "key": { + "A": { + "item": "natura:colored_grass", + "data": 2 + } + }, + "result": { + "item": "natura:colored_grass_slab", + "count": 6, + "data": 2 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/slabs/colored_grass_bluegrass_slab.json b/src/main/resources/assets/natura/recipes/overworld/slabs/colored_grass_bluegrass_slab.json new file mode 100644 index 00000000..561e80a2 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/slabs/colored_grass_bluegrass_slab.json @@ -0,0 +1,23 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA" + ], + "key": { + "A": { + "item": "natura:colored_grass", + "data": 1 + } + }, + "result": { + "item": "natura:colored_grass_slab", + "count": 6, + "data": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/slabs/colored_grass_topiary_slab.json b/src/main/resources/assets/natura/recipes/overworld/slabs/colored_grass_topiary_slab.json new file mode 100644 index 00000000..f3b9996d --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/slabs/colored_grass_topiary_slab.json @@ -0,0 +1,23 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA" + ], + "key": { + "A": { + "item": "natura:colored_grass", + "data": 0 + } + }, + "result": { + "item": "natura:colored_grass_slab", + "count": 6, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/slabs/eucalyptus_slab.json b/src/main/resources/assets/natura/recipes/overworld/slabs/eucalyptus_slab.json new file mode 100644 index 00000000..7643afeb --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/slabs/eucalyptus_slab.json @@ -0,0 +1,23 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 5 + } + }, + "result": { + "item": "natura:overworld_slab2", + "count": 6, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/slabs/hopseed_slab.json b/src/main/resources/assets/natura/recipes/overworld/slabs/hopseed_slab.json new file mode 100644 index 00000000..c6493a3f --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/slabs/hopseed_slab.json @@ -0,0 +1,23 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 6 + } + }, + "result": { + "item": "natura:overworld_slab2", + "count": 6, + "data": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/slabs/maple_slab.json b/src/main/resources/assets/natura/recipes/overworld/slabs/maple_slab.json new file mode 100644 index 00000000..6a676eda --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/slabs/maple_slab.json @@ -0,0 +1,23 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 0 + } + }, + "result": { + "item": "natura:overworld_slab", + "count": 6, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/slabs/redwood_slab.json b/src/main/resources/assets/natura/recipes/overworld/slabs/redwood_slab.json new file mode 100644 index 00000000..0a9a72ea --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/slabs/redwood_slab.json @@ -0,0 +1,23 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 8 + } + }, + "result": { + "item": "natura:overworld_slab2", + "count": 6, + "data": 3 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/slabs/sakura_slab.json b/src/main/resources/assets/natura/recipes/overworld/slabs/sakura_slab.json new file mode 100644 index 00000000..9dd0eb25 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/slabs/sakura_slab.json @@ -0,0 +1,23 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 7 + } + }, + "result": { + "item": "natura:overworld_slab2", + "count": 6, + "data": 2 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/slabs/silverbell_slab.json b/src/main/resources/assets/natura/recipes/overworld/slabs/silverbell_slab.json new file mode 100644 index 00000000..57b0b155 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/slabs/silverbell_slab.json @@ -0,0 +1,23 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 1 + } + }, + "result": { + "item": "natura:overworld_slab", + "count": 6, + "data": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/slabs/tiger_slab.json b/src/main/resources/assets/natura/recipes/overworld/slabs/tiger_slab.json new file mode 100644 index 00000000..814da409 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/slabs/tiger_slab.json @@ -0,0 +1,23 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 3 + } + }, + "result": { + "item": "natura:overworld_slab", + "count": 6, + "data": 3 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/slabs/willow_slab.json b/src/main/resources/assets/natura/recipes/overworld/slabs/willow_slab.json new file mode 100644 index 00000000..59ace050 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/slabs/willow_slab.json @@ -0,0 +1,23 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 4 + } + }, + "result": { + "item": "natura:overworld_slab", + "count": 6, + "data": 4 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/stairs/amaranth_stairs.json b/src/main/resources/assets/natura/recipes/overworld/stairs/amaranth_stairs.json new file mode 100644 index 00000000..24df559e --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/stairs/amaranth_stairs.json @@ -0,0 +1,25 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A ", + "AA ", + "AAA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 2 + } + }, + "result": { + "item": "natura:overworld_stairs_amaranth", + "count": 4, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/stairs/colored_grass_autumnal_stairs.json b/src/main/resources/assets/natura/recipes/overworld/stairs/colored_grass_autumnal_stairs.json new file mode 100644 index 00000000..2cbf7626 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/stairs/colored_grass_autumnal_stairs.json @@ -0,0 +1,25 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A ", + "AA ", + "AAA" + ], + "key": { + "A": { + "item": "natura:colored_grass", + "data": 2 + } + }, + "result": { + "item": "natura:colored_grass_stairs_autumnal", + "count": 4, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/stairs/colored_grass_bluegrass_stairs.json b/src/main/resources/assets/natura/recipes/overworld/stairs/colored_grass_bluegrass_stairs.json new file mode 100644 index 00000000..4a6ecf81 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/stairs/colored_grass_bluegrass_stairs.json @@ -0,0 +1,25 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A ", + "AA ", + "AAA" + ], + "key": { + "A": { + "item": "natura:colored_grass", + "data": 1 + } + }, + "result": { + "item": "natura:colored_grass_stairs_bluegrass", + "count": 4, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/stairs/colored_grass_topiary_stairs.json b/src/main/resources/assets/natura/recipes/overworld/stairs/colored_grass_topiary_stairs.json new file mode 100644 index 00000000..d37c020d --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/stairs/colored_grass_topiary_stairs.json @@ -0,0 +1,25 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A ", + "AA ", + "AAA" + ], + "key": { + "A": { + "item": "natura:colored_grass", + "data": 0 + } + }, + "result": { + "item": "natura:colored_grass_stairs_topiary", + "count": 4, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/stairs/eucalyptus_stairs.json b/src/main/resources/assets/natura/recipes/overworld/stairs/eucalyptus_stairs.json new file mode 100644 index 00000000..f04f92ef --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/stairs/eucalyptus_stairs.json @@ -0,0 +1,25 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A ", + "AA ", + "AAA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 5 + } + }, + "result": { + "item": "natura:overworld_stairs_eucalyptus", + "count": 4, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/stairs/hopseed_stairs.json b/src/main/resources/assets/natura/recipes/overworld/stairs/hopseed_stairs.json new file mode 100644 index 00000000..1a3d1152 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/stairs/hopseed_stairs.json @@ -0,0 +1,25 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A ", + "AA ", + "AAA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 6 + } + }, + "result": { + "item": "natura:overworld_stairs_hopseed", + "count": 4, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/stairs/maple_stairs.json b/src/main/resources/assets/natura/recipes/overworld/stairs/maple_stairs.json new file mode 100644 index 00000000..c4796f0a --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/stairs/maple_stairs.json @@ -0,0 +1,25 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A ", + "AA ", + "AAA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 0 + } + }, + "result": { + "item": "natura:overworld_stairs_maple", + "count": 4, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/stairs/redwood_stairs.json b/src/main/resources/assets/natura/recipes/overworld/stairs/redwood_stairs.json new file mode 100644 index 00000000..ac048a0a --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/stairs/redwood_stairs.json @@ -0,0 +1,25 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A ", + "AA ", + "AAA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 8 + } + }, + "result": { + "item": "natura:overworld_stairs_redwood", + "count": 4, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/stairs/sakura_stairs.json b/src/main/resources/assets/natura/recipes/overworld/stairs/sakura_stairs.json new file mode 100644 index 00000000..3497fe0b --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/stairs/sakura_stairs.json @@ -0,0 +1,25 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A ", + "AA ", + "AAA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 7 + } + }, + "result": { + "item": "natura:overworld_stairs_sakura", + "count": 4, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/stairs/silverbell_stairs.json b/src/main/resources/assets/natura/recipes/overworld/stairs/silverbell_stairs.json new file mode 100644 index 00000000..219a556e --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/stairs/silverbell_stairs.json @@ -0,0 +1,25 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A ", + "AA ", + "AAA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 1 + } + }, + "result": { + "item": "natura:overworld_stairs_silverbell", + "count": 4, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/stairs/tiger_stairs.json b/src/main/resources/assets/natura/recipes/overworld/stairs/tiger_stairs.json new file mode 100644 index 00000000..2bf3f550 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/stairs/tiger_stairs.json @@ -0,0 +1,25 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A ", + "AA ", + "AAA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 3 + } + }, + "result": { + "item": "natura:overworld_stairs_tiger", + "count": 4, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/stairs/willow_stairs.json b/src/main/resources/assets/natura/recipes/overworld/stairs/willow_stairs.json new file mode 100644 index 00000000..a197474f --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/stairs/willow_stairs.json @@ -0,0 +1,25 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A ", + "AA ", + "AAA" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 4 + } + }, + "result": { + "item": "natura:overworld_stairs_willow", + "count": 4, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/sticks/amaranth_sticks.json b/src/main/resources/assets/natura/recipes/overworld/sticks/amaranth_sticks.json new file mode 100644 index 00000000..f92981cc --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/sticks/amaranth_sticks.json @@ -0,0 +1,24 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A", + "A" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 2 + } + }, + "result": { + "item": "natura:sticks", + "count": 4, + "data": 2 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/sticks/eucalyptus_sticks.json b/src/main/resources/assets/natura/recipes/overworld/sticks/eucalyptus_sticks.json new file mode 100644 index 00000000..2b1b9ccf --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/sticks/eucalyptus_sticks.json @@ -0,0 +1,24 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A", + "A" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 5 + } + }, + "result": { + "item": "natura:sticks", + "count": 4, + "data": 5 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/sticks/hopseed_sticks.json b/src/main/resources/assets/natura/recipes/overworld/sticks/hopseed_sticks.json new file mode 100644 index 00000000..d45fc2e2 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/sticks/hopseed_sticks.json @@ -0,0 +1,24 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A", + "A" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 6 + } + }, + "result": { + "item": "natura:sticks", + "count": 4, + "data": 6 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/sticks/maple_sticks.json b/src/main/resources/assets/natura/recipes/overworld/sticks/maple_sticks.json new file mode 100644 index 00000000..62cb8f47 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/sticks/maple_sticks.json @@ -0,0 +1,24 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A", + "A" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 0 + } + }, + "result": { + "item": "natura:sticks", + "count": 4, + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/sticks/redwood_sticks.json b/src/main/resources/assets/natura/recipes/overworld/sticks/redwood_sticks.json new file mode 100644 index 00000000..cc18c5d0 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/sticks/redwood_sticks.json @@ -0,0 +1,24 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A", + "A" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 8 + } + }, + "result": { + "item": "natura:sticks", + "count": 4, + "data": 8 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/sticks/sakura_sticks.json b/src/main/resources/assets/natura/recipes/overworld/sticks/sakura_sticks.json new file mode 100644 index 00000000..ba6c9677 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/sticks/sakura_sticks.json @@ -0,0 +1,24 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A", + "A" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 7 + } + }, + "result": { + "item": "natura:sticks", + "count": 4, + "data": 7 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/sticks/silverbell_sticks.json b/src/main/resources/assets/natura/recipes/overworld/sticks/silverbell_sticks.json new file mode 100644 index 00000000..4104f9fb --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/sticks/silverbell_sticks.json @@ -0,0 +1,24 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A", + "A" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 1 + } + }, + "result": { + "item": "natura:sticks", + "count": 4, + "data": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/sticks/tiger_sticks.json b/src/main/resources/assets/natura/recipes/overworld/sticks/tiger_sticks.json new file mode 100644 index 00000000..dfb11916 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/sticks/tiger_sticks.json @@ -0,0 +1,24 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A", + "A" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 3 + } + }, + "result": { + "item": "natura:sticks", + "count": 4, + "data": 3 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/overworld/sticks/willow_sticks.json b/src/main/resources/assets/natura/recipes/overworld/sticks/willow_sticks.json new file mode 100644 index 00000000..c6d7e176 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/overworld/sticks/willow_sticks.json @@ -0,0 +1,24 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaOverworld" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A", + "A" + ], + "key": { + "A": { + "item": "natura:overworld_planks", + "data": 4 + } + }, + "result": { + "item": "natura:sticks", + "count": 4, + "data": 4 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/tools/entities/imp_leather_boots.json b/src/main/resources/assets/natura/recipes/tools/entities/imp_leather_boots.json new file mode 100644 index 00000000..1eea3808 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/tools/entities/imp_leather_boots.json @@ -0,0 +1,39 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaEntities" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaTools" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A A", + "A A" + ], + "key": { + "A": { + "item": "natura:materials", + "data": 6 + } + }, + "result": { + "item": "natura:imp_armor_boots", + "data": 0, + "nbt": { + "ench": [ + { + "id": 2, + "lvl": 1 + }, + { + "id": 1, + "lvl": 1 + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/tools/entities/imp_leather_chestplate.json b/src/main/resources/assets/natura/recipes/tools/entities/imp_leather_chestplate.json new file mode 100644 index 00000000..3e5c6559 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/tools/entities/imp_leather_chestplate.json @@ -0,0 +1,40 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaEntities" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaTools" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A A", + "AAA", + "AAA" + ], + "key": { + "A": { + "item": "natura:materials", + "data": 6 + } + }, + "result": { + "item": "natura:imp_armor_chestplate", + "data": 0, + "nbt": { + "ench": [ + { + "id": 3, + "lvl": 1 + }, + { + "id": 1, + "lvl": 1 + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/tools/entities/imp_leather_helmet.json b/src/main/resources/assets/natura/recipes/tools/entities/imp_leather_helmet.json new file mode 100644 index 00000000..5e263e32 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/tools/entities/imp_leather_helmet.json @@ -0,0 +1,39 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaEntities" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaTools" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "A A" + ], + "key": { + "A": { + "item": "natura:materials", + "data": 6 + } + }, + "result": { + "item": "natura:imp_armor_helmet", + "data": 0, + "nbt": { + "ench": [ + { + "id": 0, + "lvl": 1 + }, + { + "id": 1, + "lvl": 1 + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/tools/entities/imp_leather_leggings.json b/src/main/resources/assets/natura/recipes/tools/entities/imp_leather_leggings.json new file mode 100644 index 00000000..e118a8b0 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/tools/entities/imp_leather_leggings.json @@ -0,0 +1,40 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaEntities" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaTools" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + "A A", + "A A" + ], + "key": { + "A": { + "item": "natura:materials", + "data": 6 + } + }, + "result": { + "item": "natura:imp_armor_leggings", + "data": 0, + "nbt": { + "ench": [ + { + "id": 4, + "lvl": 1 + }, + { + "id": 1, + "lvl": 1 + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/tools/nether/bloodwood/bloodwood_axe.json b/src/main/resources/assets/natura/recipes/tools/nether/bloodwood/bloodwood_axe.json new file mode 100644 index 00000000..59960972 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/tools/nether/bloodwood/bloodwood_axe.json @@ -0,0 +1,32 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaTools" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA", + "AB", + " B" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 1 + }, + "B": { + "item": "natura:sticks", + "data": 12 + } + }, + "result": { + "item": "natura:bloodwood_axe", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/tools/nether/bloodwood/bloodwood_bow.json b/src/main/resources/assets/natura/recipes/tools/nether/bloodwood/bloodwood_bow.json new file mode 100644 index 00000000..67f766e2 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/tools/nether/bloodwood/bloodwood_bow.json @@ -0,0 +1,32 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaTools" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AB ", + "A B", + "AB " + ], + "key": { + "A": { + "item": "natura:materials", + "data": 7 + }, + "B": { + "item": "natura:sticks", + "data": 12 + } + }, + "result": { + "item": "natura:bloodwood_bow", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/tools/nether/bloodwood/bloodwood_kama.json b/src/main/resources/assets/natura/recipes/tools/nether/bloodwood/bloodwood_kama.json new file mode 100644 index 00000000..90923701 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/tools/nether/bloodwood/bloodwood_kama.json @@ -0,0 +1,32 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaTools" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA", + " B", + " B" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 1 + }, + "B": { + "item": "natura:sticks", + "data": 12 + } + }, + "result": { + "item": "natura:bloodwood_kama", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/tools/nether/bloodwood/bloodwood_pickaxe.json b/src/main/resources/assets/natura/recipes/tools/nether/bloodwood/bloodwood_pickaxe.json new file mode 100644 index 00000000..ff05bf82 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/tools/nether/bloodwood/bloodwood_pickaxe.json @@ -0,0 +1,32 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaTools" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + " B ", + " B " + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 1 + }, + "B": { + "item": "natura:sticks", + "data": 12 + } + }, + "result": { + "item": "natura:bloodwood_pickaxe", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/tools/nether/bloodwood/bloodwood_shovel.json b/src/main/resources/assets/natura/recipes/tools/nether/bloodwood/bloodwood_shovel.json new file mode 100644 index 00000000..06b4987c --- /dev/null +++ b/src/main/resources/assets/natura/recipes/tools/nether/bloodwood/bloodwood_shovel.json @@ -0,0 +1,32 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaTools" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A", + "B", + "B" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 1 + }, + "B": { + "item": "natura:sticks", + "data": 12 + } + }, + "result": { + "item": "natura:bloodwood_shovel", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/tools/nether/bloodwood/bloodwood_sword.json b/src/main/resources/assets/natura/recipes/tools/nether/bloodwood/bloodwood_sword.json new file mode 100644 index 00000000..937f37b6 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/tools/nether/bloodwood/bloodwood_sword.json @@ -0,0 +1,32 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaTools" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A", + "A", + "B" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 1 + }, + "B": { + "item": "natura:sticks", + "data": 12 + } + }, + "result": { + "item": "natura:bloodwood_sword", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/tools/nether/darkwood/darkwood_axe.json b/src/main/resources/assets/natura/recipes/tools/nether/darkwood/darkwood_axe.json new file mode 100644 index 00000000..09e40fd8 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/tools/nether/darkwood/darkwood_axe.json @@ -0,0 +1,32 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaTools" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA", + "AB", + " B" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 2 + }, + "B": { + "item": "natura:sticks", + "data": 10 + } + }, + "result": { + "item": "natura:darkwood_axe", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/tools/nether/darkwood/darkwood_bow.json b/src/main/resources/assets/natura/recipes/tools/nether/darkwood/darkwood_bow.json new file mode 100644 index 00000000..af91d6b8 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/tools/nether/darkwood/darkwood_bow.json @@ -0,0 +1,32 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaTools" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AB ", + "A B", + "AB " + ], + "key": { + "A": { + "item": "natura:materials", + "data": 7 + }, + "B": { + "item": "natura:sticks", + "data": 10 + } + }, + "result": { + "item": "natura:darkwood_bow", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/tools/nether/darkwood/darkwood_kama.json b/src/main/resources/assets/natura/recipes/tools/nether/darkwood/darkwood_kama.json new file mode 100644 index 00000000..18242867 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/tools/nether/darkwood/darkwood_kama.json @@ -0,0 +1,32 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaTools" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA", + " B", + " B" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 2 + }, + "B": { + "item": "natura:sticks", + "data": 10 + } + }, + "result": { + "item": "natura:darkwood_kama", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/tools/nether/darkwood/darkwood_pickaxe.json b/src/main/resources/assets/natura/recipes/tools/nether/darkwood/darkwood_pickaxe.json new file mode 100644 index 00000000..7653c8c6 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/tools/nether/darkwood/darkwood_pickaxe.json @@ -0,0 +1,32 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaTools" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + " B ", + " B " + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 2 + }, + "B": { + "item": "natura:sticks", + "data": 10 + } + }, + "result": { + "item": "natura:darkwood_pickaxe", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/tools/nether/darkwood/darkwood_shovel.json b/src/main/resources/assets/natura/recipes/tools/nether/darkwood/darkwood_shovel.json new file mode 100644 index 00000000..13b2fcb0 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/tools/nether/darkwood/darkwood_shovel.json @@ -0,0 +1,32 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaTools" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A", + "B", + "B" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 2 + }, + "B": { + "item": "natura:sticks", + "data": 10 + } + }, + "result": { + "item": "natura:darkwood_shovel", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/tools/nether/darkwood/darkwood_sword.json b/src/main/resources/assets/natura/recipes/tools/nether/darkwood/darkwood_sword.json new file mode 100644 index 00000000..0da8b6f8 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/tools/nether/darkwood/darkwood_sword.json @@ -0,0 +1,32 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaTools" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A", + "A", + "B" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 2 + }, + "B": { + "item": "natura:sticks", + "data": 10 + } + }, + "result": { + "item": "natura:darkwood_sword", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/tools/nether/flint_and_blaze.json b/src/main/resources/assets/natura/recipes/tools/nether/flint_and_blaze.json new file mode 100644 index 00000000..22882e7e --- /dev/null +++ b/src/main/resources/assets/natura/recipes/tools/nether/flint_and_blaze.json @@ -0,0 +1,27 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaTools" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AB" + ], + "key": { + "A": { + "item": "minecraft:blaze_rod" + }, + "B": { + "item": "minecraft:flint" + } + }, + "result": { + "item": "natura:flint_and_blaze" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/tools/nether/fusewood/fusewood_axe.json b/src/main/resources/assets/natura/recipes/tools/nether/fusewood/fusewood_axe.json new file mode 100644 index 00000000..902d19f9 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/tools/nether/fusewood/fusewood_axe.json @@ -0,0 +1,32 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaTools" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA", + "AB", + " B" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 3 + }, + "B": { + "item": "natura:sticks", + "data": 11 + } + }, + "result": { + "item": "natura:fusewood_axe", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/tools/nether/fusewood/fusewood_bow.json b/src/main/resources/assets/natura/recipes/tools/nether/fusewood/fusewood_bow.json new file mode 100644 index 00000000..caae859a --- /dev/null +++ b/src/main/resources/assets/natura/recipes/tools/nether/fusewood/fusewood_bow.json @@ -0,0 +1,32 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaTools" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AB ", + "A B", + "AB " + ], + "key": { + "A": { + "item": "natura:materials", + "data": 7 + }, + "B": { + "item": "natura:sticks", + "data": 11 + } + }, + "result": { + "item": "natura:fusewood_bow", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/tools/nether/fusewood/fusewood_kama.json b/src/main/resources/assets/natura/recipes/tools/nether/fusewood/fusewood_kama.json new file mode 100644 index 00000000..db9bf6ba --- /dev/null +++ b/src/main/resources/assets/natura/recipes/tools/nether/fusewood/fusewood_kama.json @@ -0,0 +1,32 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaTools" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA", + " B", + " B" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 3 + }, + "B": { + "item": "natura:sticks", + "data": 11 + } + }, + "result": { + "item": "natura:fusewood_kama", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/tools/nether/fusewood/fusewood_pickaxe.json b/src/main/resources/assets/natura/recipes/tools/nether/fusewood/fusewood_pickaxe.json new file mode 100644 index 00000000..a6ee7d0c --- /dev/null +++ b/src/main/resources/assets/natura/recipes/tools/nether/fusewood/fusewood_pickaxe.json @@ -0,0 +1,32 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaTools" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + " B ", + " B " + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 3 + }, + "B": { + "item": "natura:sticks", + "data": 11 + } + }, + "result": { + "item": "natura:fusewood_pickaxe", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/tools/nether/fusewood/fusewood_shovel.json b/src/main/resources/assets/natura/recipes/tools/nether/fusewood/fusewood_shovel.json new file mode 100644 index 00000000..17b6aa59 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/tools/nether/fusewood/fusewood_shovel.json @@ -0,0 +1,32 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaTools" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A", + "B", + "B" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 3 + }, + "B": { + "item": "natura:sticks", + "data": 11 + } + }, + "result": { + "item": "natura:fusewood_shovel", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/tools/nether/fusewood/fusewood_sword.json b/src/main/resources/assets/natura/recipes/tools/nether/fusewood/fusewood_sword.json new file mode 100644 index 00000000..fb139bf8 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/tools/nether/fusewood/fusewood_sword.json @@ -0,0 +1,32 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaTools" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A", + "A", + "B" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 3 + }, + "B": { + "item": "natura:sticks", + "data": 11 + } + }, + "result": { + "item": "natura:fusewood_sword", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/tools/nether/ghostwood/ghostwood_axe.json b/src/main/resources/assets/natura/recipes/tools/nether/ghostwood/ghostwood_axe.json new file mode 100644 index 00000000..088d66d2 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/tools/nether/ghostwood/ghostwood_axe.json @@ -0,0 +1,32 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaTools" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA", + "AB", + " B" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 0 + }, + "B": { + "item": "natura:sticks", + "data": 9 + } + }, + "result": { + "item": "natura:ghostwood_axe", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/tools/nether/ghostwood/ghostwood_bow.json b/src/main/resources/assets/natura/recipes/tools/nether/ghostwood/ghostwood_bow.json new file mode 100644 index 00000000..cf13e705 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/tools/nether/ghostwood/ghostwood_bow.json @@ -0,0 +1,32 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaTools" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AB ", + "A B", + "AB " + ], + "key": { + "A": { + "item": "natura:materials", + "data": 7 + }, + "B": { + "item": "natura:sticks", + "data": 9 + } + }, + "result": { + "item": "natura:ghostwood_bow", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/tools/nether/ghostwood/ghostwood_kama.json b/src/main/resources/assets/natura/recipes/tools/nether/ghostwood/ghostwood_kama.json new file mode 100644 index 00000000..12960a4f --- /dev/null +++ b/src/main/resources/assets/natura/recipes/tools/nether/ghostwood/ghostwood_kama.json @@ -0,0 +1,32 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaTools" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA", + " B", + " B" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 0 + }, + "B": { + "item": "natura:sticks", + "data": 9 + } + }, + "result": { + "item": "natura:ghostwood_kama", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/tools/nether/ghostwood/ghostwood_pickaxe.json b/src/main/resources/assets/natura/recipes/tools/nether/ghostwood/ghostwood_pickaxe.json new file mode 100644 index 00000000..9c58f5c8 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/tools/nether/ghostwood/ghostwood_pickaxe.json @@ -0,0 +1,32 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaTools" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + " B ", + " B " + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 0 + }, + "B": { + "item": "natura:sticks", + "data": 9 + } + }, + "result": { + "item": "natura:ghostwood_pickaxe", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/tools/nether/ghostwood/ghostwood_shovel.json b/src/main/resources/assets/natura/recipes/tools/nether/ghostwood/ghostwood_shovel.json new file mode 100644 index 00000000..997b4b0c --- /dev/null +++ b/src/main/resources/assets/natura/recipes/tools/nether/ghostwood/ghostwood_shovel.json @@ -0,0 +1,32 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaTools" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A", + "B", + "B" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 0 + }, + "B": { + "item": "natura:sticks", + "data": 9 + } + }, + "result": { + "item": "natura:ghostwood_shovel", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/tools/nether/ghostwood/ghostwood_sword.json b/src/main/resources/assets/natura/recipes/tools/nether/ghostwood/ghostwood_sword.json new file mode 100644 index 00000000..c8a9e851 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/tools/nether/ghostwood/ghostwood_sword.json @@ -0,0 +1,32 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaTools" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A", + "A", + "B" + ], + "key": { + "A": { + "item": "natura:nether_planks", + "data": 0 + }, + "B": { + "item": "natura:sticks", + "data": 9 + } + }, + "result": { + "item": "natura:ghostwood_sword", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/tools/nether/netherquartz/netherquartz_axe.json b/src/main/resources/assets/natura/recipes/tools/nether/netherquartz/netherquartz_axe.json new file mode 100644 index 00000000..b3777f6d --- /dev/null +++ b/src/main/resources/assets/natura/recipes/tools/nether/netherquartz/netherquartz_axe.json @@ -0,0 +1,42 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaTools" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA", + "AB", + " B" + ], + "key": { + "A": [ + { + "item": "minecraft:quartz_block", + "data": 0 + }, + { + "item": "minecraft:quartz_block", + "data": 1 + }, + { + "item": "minecraft:quartz_block", + "data": 2 + } + ], + "B": { + "item": "natura:sticks", + "data": 9 + } + }, + "result": { + "item": "natura:netherquartz_axe", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/tools/nether/netherquartz/netherquartz_kama.json b/src/main/resources/assets/natura/recipes/tools/nether/netherquartz/netherquartz_kama.json new file mode 100644 index 00000000..4312abcf --- /dev/null +++ b/src/main/resources/assets/natura/recipes/tools/nether/netherquartz/netherquartz_kama.json @@ -0,0 +1,42 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaTools" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AA", + " B", + " B" + ], + "key": { + "A": [ + { + "item": "minecraft:quartz_block", + "data": 0 + }, + { + "item": "minecraft:quartz_block", + "data": 1 + }, + { + "item": "minecraft:quartz_block", + "data": 2 + } + ], + "B": { + "item": "natura:sticks", + "data": 9 + } + }, + "result": { + "item": "natura:netherquartz_kama", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/tools/nether/netherquartz/netherquartz_pickaxe.json b/src/main/resources/assets/natura/recipes/tools/nether/netherquartz/netherquartz_pickaxe.json new file mode 100644 index 00000000..0a4e430b --- /dev/null +++ b/src/main/resources/assets/natura/recipes/tools/nether/netherquartz/netherquartz_pickaxe.json @@ -0,0 +1,42 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaTools" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "AAA", + " B ", + " B " + ], + "key": { + "A": [ + { + "item": "minecraft:quartz_block", + "data": 0 + }, + { + "item": "minecraft:quartz_block", + "data": 1 + }, + { + "item": "minecraft:quartz_block", + "data": 2 + } + ], + "B": { + "item": "natura:sticks", + "data": 9 + } + }, + "result": { + "item": "natura:netherquartz_pickaxe", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/tools/nether/netherquartz/netherquartz_shovel.json b/src/main/resources/assets/natura/recipes/tools/nether/netherquartz/netherquartz_shovel.json new file mode 100644 index 00000000..0b72b1a5 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/tools/nether/netherquartz/netherquartz_shovel.json @@ -0,0 +1,42 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaTools" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A", + "B", + "B" + ], + "key": { + "A": [ + { + "item": "minecraft:quartz_block", + "data": 0 + }, + { + "item": "minecraft:quartz_block", + "data": 1 + }, + { + "item": "minecraft:quartz_block", + "data": 2 + } + ], + "B": { + "item": "natura:sticks", + "data": 9 + } + }, + "result": { + "item": "natura:netherquartz_shovel", + "data": 0 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/natura/recipes/tools/nether/netherquartz/netherquartz_sword.json b/src/main/resources/assets/natura/recipes/tools/nether/netherquartz/netherquartz_sword.json new file mode 100644 index 00000000..61be47c9 --- /dev/null +++ b/src/main/resources/assets/natura/recipes/tools/nether/netherquartz/netherquartz_sword.json @@ -0,0 +1,42 @@ +{ + "conditions": [ + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaNether" + }, + { + "type": "natura:is_pulse_loaded", + "pulse_name": "NaturaTools" + } + ], + "type": "minecraft:crafting_shaped", + "pattern": [ + "A", + "A", + "B" + ], + "key": { + "A": [ + { + "item": "minecraft:quartz_block", + "data": 0 + }, + { + "item": "minecraft:quartz_block", + "data": 1 + }, + { + "item": "minecraft:quartz_block", + "data": 2 + } + ], + "B": { + "item": "natura:sticks", + "data": 9 + } + }, + "result": { + "item": "natura:netherquartz_sword", + "data": 0 + } +} \ No newline at end of file