diff --git a/kfc/gradle.properties b/kfc/gradle.properties index f54576d2..21db4186 100644 --- a/kfc/gradle.properties +++ b/kfc/gradle.properties @@ -6,7 +6,7 @@ org.gradle.jvmargs=-Xmx3G mod_group=nmd.primal.forgecraft mod_name=ForgeCraft -mod_version=1.6.07 +mod_version=1.6.08 forge_version=14.23.4.2744 mcp_mappings=snapshot_20171003 mc_version=1.12.2 diff --git a/kfc/src/main/java/nmd/primal/forgecraft/ModInfo.java b/kfc/src/main/java/nmd/primal/forgecraft/ModInfo.java index a3975bb1..a2b3c4c3 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/ModInfo.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/ModInfo.java @@ -2,11 +2,8 @@ package nmd.primal.forgecraft; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.ItemStack; -import net.minecraftforge.fml.common.registry.GameRegistry; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; -import net.minecraftforge.registries.IForgeRegistry; -import nmd.primal.forgecraft.crafting.CrucibleCrafting; import nmd.primal.forgecraft.init.ModItems; //import nmd.primal.forgecraft.Item.ModItems; @@ -21,7 +18,7 @@ public class ModInfo { //public static final String MOD_PREFIX = MOD_ID + ":"; public static final String MOD_CHANNEL = MOD_ID; - public static final String MOD_VERSION = "1.6.07"; + public static final String MOD_VERSION = "1.6.08"; public static final String MC_VERSIONS = "[1.12.0, 1.13.0)"; public static final String DEPENDENCIES = "required-after:forge@[14.21.1.2400,);" + "required-after:primal@[0.6.69,);"; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/blocks/Anvil/AnvilIron.java b/kfc/src/main/java/nmd/primal/forgecraft/blocks/Anvil/AnvilIron.java index 33a2ce67..3d03fcf2 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/blocks/Anvil/AnvilIron.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/blocks/Anvil/AnvilIron.java @@ -3,7 +3,6 @@ package nmd.primal.forgecraft.blocks.Anvil; import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; @@ -33,6 +32,7 @@ public class AnvilIron extends AnvilBase implements AnvilHandler { if (!world.isRemote) { ItemStack pItem = player.inventory.getCurrentItem(); TileAnvil tile = (TileAnvil) world.getTileEntity(pos); + ItemStack stack12 = tile.getSlotStack(12).copy(); if (tile != null) { if ((pItem.getItem() instanceof Gallagher) || (pItem.getItem() == ModItems.forgehammer)) { ItemStack[] tempArray = new ItemStack[25]; @@ -52,7 +52,7 @@ public class AnvilIron extends AnvilBase implements AnvilHandler { } } }*/ - doAnvilRecipe(pItem, tempArray, world, tile, pos, player); + doAnvilRecipe(pItem, stack12, tempArray, world, tile, pos, player); return true; } doAnvilInventoryManager(pItem, world, tile, pos, hitx, hity, hitz, state, player); diff --git a/kfc/src/main/java/nmd/primal/forgecraft/blocks/Anvil/AnvilStone.java b/kfc/src/main/java/nmd/primal/forgecraft/blocks/Anvil/AnvilStone.java index 73968400..f087bc88 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/blocks/Anvil/AnvilStone.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/blocks/Anvil/AnvilStone.java @@ -3,7 +3,6 @@ package nmd.primal.forgecraft.blocks.Anvil; import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumFacing; @@ -115,7 +114,7 @@ public class AnvilStone extends AnvilBase { for (int i = 0; i < 25; i++) { tempArray[i] = tile.getSlotStack(i); } - doAnvilRecipe(pItem, tempArray, world, tile, pos, player); + doAnvilRecipe(pItem, stack12, tempArray, world, tile, pos, player); return true; } diff --git a/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/CastingForm.java b/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/CastingForm.java index 60b4fde1..c8958233 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/CastingForm.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/CastingForm.java @@ -11,7 +11,6 @@ import net.minecraft.inventory.ItemStackHelper; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumBlockRenderType; import net.minecraft.util.EnumFacing; @@ -26,7 +25,6 @@ import net.minecraftforge.fml.relauncher.SideOnly; import net.minecraftforge.items.IItemHandler; import nmd.primal.forgecraft.CommonUtils; import nmd.primal.forgecraft.ModInfo; -import nmd.primal.forgecraft.blocks.Crucibles.NBTCrucible; import nmd.primal.forgecraft.blocks.CustomContainerFacing; import nmd.primal.forgecraft.crafting.CastingCrafting; import nmd.primal.forgecraft.crafting.CrucibleCrafting; @@ -34,14 +32,10 @@ import nmd.primal.forgecraft.init.ModBlocks; import nmd.primal.forgecraft.init.ModItems; import nmd.primal.forgecraft.items.SlottedTongs; import nmd.primal.forgecraft.items.parts.BronzeToolPart; -import nmd.primal.forgecraft.items.parts.ToolPart; import nmd.primal.forgecraft.tiles.TileCastingForm; import nmd.primal.forgecraft.util.CastingFormHandler; import nmd.primal.forgecraft.util.ToolNBT; -import java.util.Random; - -import static nmd.primal.core.api.PrimalAPI.randomCheck; import static nmd.primal.forgecraft.items.SlottedTongs.ITEM_HANDLER; /** diff --git a/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/Forge.java b/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/Forge.java index 77bc958c..4026161f 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/Forge.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/Forge.java @@ -9,7 +9,6 @@ import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Items; import net.minecraft.init.SoundEvents; import net.minecraft.item.ItemSpade; import net.minecraft.item.ItemStack; @@ -25,14 +24,9 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import nmd.primal.core.api.PrimalAPI; import nmd.primal.core.common.helper.PlayerHelper; -import nmd.primal.core.common.helper.RecipeHelper; import nmd.primal.core.common.recipes.inworld.FireSource; import nmd.primal.forgecraft.ModInfo; import nmd.primal.forgecraft.blocks.CustomContainerFacing; -import nmd.primal.forgecraft.init.ModItems; -import nmd.primal.forgecraft.items.BaseMultiItem; -import nmd.primal.forgecraft.items.SlottedTongs; -import nmd.primal.forgecraft.items.parts.ToolPart; import nmd.primal.forgecraft.tiles.TileForge; import nmd.primal.forgecraft.util.ForgeHandler; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/compat/JEI/anvil/AnvilRecipeWrapper.java b/kfc/src/main/java/nmd/primal/forgecraft/compat/JEI/anvil/AnvilRecipeWrapper.java index 5600e134..c256120c 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/compat/JEI/anvil/AnvilRecipeWrapper.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/compat/JEI/anvil/AnvilRecipeWrapper.java @@ -3,20 +3,10 @@ package nmd.primal.forgecraft.compat.JEI.anvil; import mezz.jei.api.ingredients.IIngredients; import mezz.jei.api.recipe.IRecipeWrapper; import net.minecraft.client.Minecraft; -import net.minecraft.init.Items; -import net.minecraft.inventory.ItemStackHelper; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.fml.common.registry.ForgeRegistries; -import nmd.primal.core.api.PrimalAPI; import nmd.primal.forgecraft.crafting.AnvilCrafting; -import nmd.primal.forgecraft.init.ModItems; import javax.annotation.Nonnull; -import java.awt.*; -import java.util.Arrays; -import java.util.List; /** * Created by mminaie on 9/16/18. diff --git a/kfc/src/main/java/nmd/primal/forgecraft/compat/JEI/casting/CastingRecipeCategory.java b/kfc/src/main/java/nmd/primal/forgecraft/compat/JEI/casting/CastingRecipeCategory.java index 0d39de00..829c5a4c 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/compat/JEI/casting/CastingRecipeCategory.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/compat/JEI/casting/CastingRecipeCategory.java @@ -7,12 +7,10 @@ import mezz.jei.api.gui.IRecipeLayout; import mezz.jei.api.ingredients.IIngredients; import net.minecraft.client.Minecraft; import net.minecraft.client.resources.I18n; -import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; import nmd.primal.core.common.helper.CommonUtils; import nmd.primal.forgecraft.ModInfo; import nmd.primal.forgecraft.compat.JEI.AbstractCategory; -import nmd.primal.forgecraft.init.ModItems; import javax.annotation.Nonnull; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/compat/JEI/casting/CastingRecipeChecker.java b/kfc/src/main/java/nmd/primal/forgecraft/compat/JEI/casting/CastingRecipeChecker.java index 7fc94059..8c69e222 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/compat/JEI/casting/CastingRecipeChecker.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/compat/JEI/casting/CastingRecipeChecker.java @@ -1,6 +1,5 @@ package nmd.primal.forgecraft.compat.JEI.casting; -import nmd.primal.forgecraft.crafting.AnvilCrafting; import nmd.primal.forgecraft.crafting.CastingCrafting; import java.util.ArrayList; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/compat/JEI/casting/CastingRecipeWrapper.java b/kfc/src/main/java/nmd/primal/forgecraft/compat/JEI/casting/CastingRecipeWrapper.java index 28666191..2f43eea9 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/compat/JEI/casting/CastingRecipeWrapper.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/compat/JEI/casting/CastingRecipeWrapper.java @@ -5,7 +5,6 @@ import mezz.jei.api.recipe.IRecipeWrapper; import net.minecraft.client.Minecraft; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import nmd.primal.forgecraft.crafting.AnvilCrafting; import nmd.primal.forgecraft.crafting.CastingCrafting; import javax.annotation.Nonnull; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/compat/JEI/crucible/CrucibleRecipeCategory.java b/kfc/src/main/java/nmd/primal/forgecraft/compat/JEI/crucible/CrucibleRecipeCategory.java index 9de58792..e8cb6836 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/compat/JEI/crucible/CrucibleRecipeCategory.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/compat/JEI/crucible/CrucibleRecipeCategory.java @@ -1,13 +1,14 @@ package nmd.primal.forgecraft.compat.JEI.crucible; import mezz.jei.api.IGuiHelper; -import mezz.jei.api.gui.*; +import mezz.jei.api.gui.IDrawable; +import mezz.jei.api.gui.IGuiItemStackGroup; +import mezz.jei.api.gui.IRecipeLayout; import mezz.jei.api.ingredients.IIngredients; import net.minecraft.client.Minecraft; import net.minecraft.client.resources.I18n; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; - import nmd.primal.core.common.helper.CommonUtils; import nmd.primal.forgecraft.ModInfo; import nmd.primal.forgecraft.compat.JEI.AbstractCategory; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/compat/JEI/crucible/CrucibleRecipeWrapper.java b/kfc/src/main/java/nmd/primal/forgecraft/compat/JEI/crucible/CrucibleRecipeWrapper.java index 08a25e1f..c5d03b7b 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/compat/JEI/crucible/CrucibleRecipeWrapper.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/compat/JEI/crucible/CrucibleRecipeWrapper.java @@ -5,12 +5,9 @@ import mezz.jei.api.recipe.IRecipeWrapper; import net.minecraft.client.Minecraft; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.Ingredient; -import net.minecraft.util.NonNullList; import nmd.primal.forgecraft.crafting.CrucibleCrafting; -import nmd.primal.forgecraft.init.ModBlocks; import javax.annotation.Nonnull; - import java.awt.*; import java.util.Arrays; import java.util.List; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/compat/JEI/forge/ForgeRecipeChecker.java b/kfc/src/main/java/nmd/primal/forgecraft/compat/JEI/forge/ForgeRecipeChecker.java index a6d63eaa..d6f53d0a 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/compat/JEI/forge/ForgeRecipeChecker.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/compat/JEI/forge/ForgeRecipeChecker.java @@ -1,6 +1,5 @@ package nmd.primal.forgecraft.compat.JEI.forge; -import nmd.primal.forgecraft.crafting.CastingCrafting; import nmd.primal.forgecraft.crafting.ForgeCrafting; import java.util.ArrayList; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/compat/JEI/forge/ForgeRecipeHandler.java b/kfc/src/main/java/nmd/primal/forgecraft/compat/JEI/forge/ForgeRecipeHandler.java index 41ab3bc1..cf62cda3 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/compat/JEI/forge/ForgeRecipeHandler.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/compat/JEI/forge/ForgeRecipeHandler.java @@ -2,7 +2,6 @@ package nmd.primal.forgecraft.compat.JEI.forge; import mezz.jei.api.recipe.IRecipeWrapper; import mezz.jei.api.recipe.IRecipeWrapperFactory; -import nmd.primal.forgecraft.crafting.CastingCrafting; import nmd.primal.forgecraft.crafting.ForgeCrafting; import javax.annotation.Nonnull; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/compat/JEI/forge/ForgeRecipeWrapper.java b/kfc/src/main/java/nmd/primal/forgecraft/compat/JEI/forge/ForgeRecipeWrapper.java index d5ddc274..ce7e7fae 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/compat/JEI/forge/ForgeRecipeWrapper.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/compat/JEI/forge/ForgeRecipeWrapper.java @@ -5,7 +5,6 @@ import mezz.jei.api.recipe.IRecipeWrapper; import net.minecraft.client.Minecraft; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import nmd.primal.forgecraft.crafting.CastingCrafting; import nmd.primal.forgecraft.crafting.ForgeCrafting; import javax.annotation.Nonnull; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/crafting/AbstractCrafting.java b/kfc/src/main/java/nmd/primal/forgecraft/crafting/AbstractCrafting.java deleted file mode 100644 index a51d01cf..00000000 --- a/kfc/src/main/java/nmd/primal/forgecraft/crafting/AbstractCrafting.java +++ /dev/null @@ -1,70 +0,0 @@ -package nmd.primal.forgecraft.crafting; - -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.registries.IForgeRegistryEntry; -import nmd.primal.core.api.interfaces.ICustomRecipe; -import nmd.primal.forgecraft.ModInfo; - -import java.util.Collection; - -/** - * Created by mminaie on 9/15/18. - */ -public abstract class AbstractCrafting > extends IForgeRegistryEntry.Impl implements ICustomRecipe -{ - private boolean is_disabled, is_hidden; - - public AbstractCrafting() - { - this.is_disabled = false; - this.is_hidden = false; - } - - abstract public Collection getRecipes(); - - // ***************************************************************************** // - // Disable/Hidden Recipe controls - // ***************************************************************************** // - @Override - public RECIPE setDisabled(boolean is_disabled) - { - this.is_disabled = is_disabled; - return (RECIPE) this; - } - - @Override - public RECIPE setHidden(boolean is_hidden) - { - this.is_hidden = is_hidden; - return (RECIPE) this; - } - - @Override - public boolean isDisabled() - { - return this.is_disabled; - } - - @Override - public boolean isHidden() - { - return this.is_hidden; - } - - // ***************************************************************************** // - // Helper Methods - // ***************************************************************************** // - public static ResourceLocation getFullRecipeName(String prefix, String name) - { - return getFullRecipeName(ModInfo.MOD_ID, prefix, name); - } - - public static ResourceLocation getFullRecipeName(String id, String prefix, String name) - { - return new ResourceLocation(id, prefix + "_" + name); - } - - // ***************************************************************************** // - // .. - // ***************************************************************************** // -} \ No newline at end of file diff --git a/kfc/src/main/java/nmd/primal/forgecraft/crafting/AnvilCrafting.java b/kfc/src/main/java/nmd/primal/forgecraft/crafting/AnvilCrafting.java index f8c5ede2..e70086a9 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/crafting/AnvilCrafting.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/crafting/AnvilCrafting.java @@ -1,6 +1,5 @@ package nmd.primal.forgecraft.crafting; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import java.util.ArrayList; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/crafting/CrucibleCrafting.java b/kfc/src/main/java/nmd/primal/forgecraft/crafting/CrucibleCrafting.java index 3160a1a7..9c39accd 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/crafting/CrucibleCrafting.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/crafting/CrucibleCrafting.java @@ -3,7 +3,8 @@ package nmd.primal.forgecraft.crafting; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.Ingredient; -import java.util.*; +import java.util.ArrayList; +import java.util.List; /** * Created by mminaie on 11/11/17. diff --git a/kfc/src/main/java/nmd/primal/forgecraft/init/ModBlocks.java b/kfc/src/main/java/nmd/primal/forgecraft/init/ModBlocks.java index 2137807d..0864301f 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/init/ModBlocks.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/init/ModBlocks.java @@ -12,8 +12,8 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import nmd.primal.forgecraft.blocks.Anvil.AnvilIron; import nmd.primal.forgecraft.blocks.Anvil.AnvilStone; -import nmd.primal.forgecraft.blocks.*; import nmd.primal.forgecraft.blocks.Crucibles.NBTCrucible; +import nmd.primal.forgecraft.blocks.YewStave; import nmd.primal.forgecraft.blocks.machine.*; /** diff --git a/kfc/src/main/java/nmd/primal/forgecraft/init/ModCrafting.java b/kfc/src/main/java/nmd/primal/forgecraft/init/ModCrafting.java index 5a0201e1..03df9d9b 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/init/ModCrafting.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/init/ModCrafting.java @@ -3,12 +3,10 @@ package nmd.primal.forgecraft.init; import net.minecraft.block.BlockPlanks; import net.minecraft.init.Blocks; import net.minecraft.init.Items; -import net.minecraft.inventory.ItemStackHelper; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.Ingredient; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.NonNullList; import net.minecraftforge.oredict.OreDictionary; import net.minecraftforge.oredict.OreIngredient; import nmd.primal.core.api.PrimalAPI; @@ -17,9 +15,7 @@ import nmd.primal.forgecraft.crafting.AnvilCrafting; import nmd.primal.forgecraft.crafting.CastingCrafting; import nmd.primal.forgecraft.crafting.CrucibleCrafting; import nmd.primal.forgecraft.crafting.ForgeCrafting; -import nmd.primal.forgecraft.util.ToolNBT; -import java.util.List; import java.util.Random; /** @@ -1419,7 +1415,7 @@ public class ModCrafting{ "null" ); /*** Temp Clean Iron Sword ***/ - //TODO uncomment this + AnvilCrafting.addRecipe( new ItemStack [] { emptyAir,emptyAir,emptyAir,emptyAir,emptyAir, @@ -1453,7 +1449,6 @@ public class ModCrafting{ "null" ); /*** Temp Clean Iron LongSword ***/ - //TODO uncomment this AnvilCrafting.addRecipe( new ItemStack [] { emptyAir,emptyAir,hotCleanChunk,emptyAir,emptyAir, diff --git a/kfc/src/main/java/nmd/primal/forgecraft/init/recipes/CauldronRecipes.java b/kfc/src/main/java/nmd/primal/forgecraft/init/recipes/CauldronRecipes.java index c9abae0d..ac62dfd7 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/init/recipes/CauldronRecipes.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/init/recipes/CauldronRecipes.java @@ -1,19 +1,14 @@ package nmd.primal.forgecraft.init.recipes; -import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.event.RegistryEvent; -import net.minecraftforge.fluids.FluidRegistry; -import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.registry.GameRegistry; import net.minecraftforge.registries.IForgeRegistry; import nmd.primal.core.common.recipes.tile.CauldronRecipe; -import nmd.primal.core.common.recipes.tile.HibachiRecipe; import nmd.primal.forgecraft.ModInfo; -import nmd.primal.forgecraft.init.ModBlocks; import nmd.primal.forgecraft.init.ModItems; @GameRegistry.ObjectHolder(ModInfo.MOD_ID) diff --git a/kfc/src/main/java/nmd/primal/forgecraft/init/recipes/DryingRecipes.java b/kfc/src/main/java/nmd/primal/forgecraft/init/recipes/DryingRecipes.java index cb8c95e9..01382423 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/init/recipes/DryingRecipes.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/init/recipes/DryingRecipes.java @@ -2,7 +2,6 @@ package nmd.primal.forgecraft.init.recipes; import net.minecraft.item.ItemStack; import net.minecraftforge.event.RegistryEvent; - import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.registry.GameRegistry; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/BaseMultiItem.java b/kfc/src/main/java/nmd/primal/forgecraft/items/BaseMultiItem.java index 94bdff7a..e7060079 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/BaseMultiItem.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/BaseMultiItem.java @@ -16,6 +16,7 @@ import net.minecraft.world.World; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import nmd.primal.core.api.PrimalAPI; +import nmd.primal.core.common.helper.FireHelper; import nmd.primal.forgecraft.init.ModItems; import javax.annotation.Nullable; @@ -181,6 +182,18 @@ public class BaseMultiItem extends BaseItem { if (!stack.hasTagCompound()) { stack.setTagCompound(new NBTTagCompound()); stack.getTagCompound().setBoolean("hot", false); + + } + if (stack.hasTagCompound()) { + if (stack.getTagCompound().getBoolean("hot")) { + if (stack.getTagCompound().getBoolean("hot")) { + player.setFire(1); + } + if (PrimalAPI.randomCheck(50)) { + stack.getTagCompound().setBoolean("hot", false); + player.getEntityWorld().playSound(null, player.getPosition(), SoundEvents.BLOCK_FIRE_EXTINGUISH, SoundCategory.AMBIENT, 1.0F, PrimalAPI.getRandom().nextFloat() * 0.4F + 0.8F); + } + } } } @@ -196,6 +209,10 @@ public class BaseMultiItem extends BaseItem { } } } + if(!entityItem.isWet()){ + FireHelper.setFire(entityItem.getEntityWorld(),entityItem.getPosition()); + return true; + } return false; } diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/SlottedTongs.java b/kfc/src/main/java/nmd/primal/forgecraft/items/SlottedTongs.java index 1cc956f6..6e4404dd 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/SlottedTongs.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/SlottedTongs.java @@ -7,6 +7,7 @@ import net.minecraft.client.util.ITooltipFlag; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.SoundEvents; +import net.minecraft.inventory.ItemStackHelper; import net.minecraft.item.IItemPropertyGetter; import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; @@ -64,8 +65,10 @@ public class SlottedTongs extends Item implements IPickup, AnvilHandler{ @SideOnly(Side.CLIENT) public float apply(ItemStack stack, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) { + IItemHandler inventory = stack.getCapability(ITEM_HANDLER, null); - ItemStack slotStack = inventory.getStackInSlot(0).copy(); + ItemStack slotStack = inventory.getStackInSlot(0); + //System.out.println(stack.getTagCompound()); if (stack.getItem() instanceof SlottedTongs) { if (slotStack.getItem() instanceof ItemNBTCrucible) { @@ -283,32 +286,7 @@ public class SlottedTongs extends Item implements IPickup, AnvilHandler{ - @Override - public ICapabilityProvider initCapabilities(final ItemStack stack, NBTTagCompound nbt) - { - return new ICapabilityProvider() - { - final ItemStackHandler itemHandler = new ItemStackHandler(1); - @Override - public boolean hasCapability(Capability capability, @Nullable EnumFacing facing) - { - if (capability == ITEM_HANDLER) - return true; - return false; - } - - @SuppressWarnings("unchecked") - @Nullable - @Override - public T getCapability(Capability capability, @Nullable EnumFacing facing) - { - if (capability == ITEM_HANDLER) - return (T) itemHandler; - return null; - } - }; - } @Override public EnumActionResult onItemUse(EntityPlayer player, World world, BlockPos pos, EnumHand hand, EnumFacing face, float hitx, float hity, float hitz) @@ -486,28 +464,65 @@ public class SlottedTongs extends Item implements IPickup, AnvilHandler{ } } - @Nullable + @Override + public ICapabilityProvider initCapabilities(final ItemStack stack, NBTTagCompound nbt) + { + return new ICapabilityProvider() + { + final ItemStackHandler itemHandler = new ItemStackHandler(1); + + @Override + public boolean hasCapability(Capability capability, @Nullable EnumFacing facing) + { + if (capability == ITEM_HANDLER) + return true; + return false; + } + + @SuppressWarnings("unchecked") + @Nullable + @Override + public T getCapability(Capability capability, @Nullable EnumFacing facing) + { + if (capability == ITEM_HANDLER) + return (T) itemHandler; + return null; + } + }; + } + @Override public NBTTagCompound getNBTShareTag(ItemStack stack) { - return super.getNBTShareTag(stack); - //IItemHandler inventory = stack.getCapability(ITEM_HANDLER, null); - //NonNullList setList = NonNullList.withSize(1, ItemStack.EMPTY); - //ItemStackHelper.saveAllItems(stack.getTagCompound(), setList); - //return stack.getTagCompound(); + //return stack.getCapability(ITEM_HANDLER, null). + /* + AntibarrelData data = stack.getCapability(CAP, null); + + if (BlockUtils.hasData(stack)) + { + data.deserializeNBT(BlockUtils.getData(stack)); + BlockUtils.removeData(stack); + } + */ + + IItemHandler data = stack.getCapability(ITEM_HANDLER, null); + + } @Override public void readNBTShareTag(ItemStack stack, @Nullable NBTTagCompound nbt) { - super.readNBTShareTag(stack, nbt); - - //stack.deserializeNBT(nbt); - //IItemHandler inventory = stack.getCapability(ITEM_HANDLER, null); - //NonNullList setList = NonNullList.withSize(1, ItemStack.EMPTY); - //ItemStackHelper.loadAllItems(nbt, setList); - //inventory.insertItem(0, setList.get(0), false); + if (nbt != null) + { + AntibarrelData.get(stack).deserializeNBT(nbt); + } + } + @Override + public boolean getShareTag() + { + return true; } } diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/parts/ToolPart.java b/kfc/src/main/java/nmd/primal/forgecraft/items/parts/ToolPart.java index 6bf20c59..cc6f05e0 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/parts/ToolPart.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/parts/ToolPart.java @@ -16,6 +16,7 @@ import net.minecraft.world.World; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import nmd.primal.core.api.PrimalAPI; +import nmd.primal.core.common.helper.FireHelper; import nmd.primal.forgecraft.ModInfo; import nmd.primal.forgecraft.util.ToolNBT; @@ -274,6 +275,15 @@ public class ToolPart extends Item implements ToolNBT{ setLapisLevel(item, 0); setModifiers(item, 0); } + if (item.hasTagCompound()) { + if (item.getSubCompound("tags").getBoolean("hot")) { + player.setFire(1); + if (PrimalAPI.randomCheck(50)) { + item.getSubCompound("tags").setBoolean("hot", false); + player.getEntityWorld().playSound(null, player.getPosition(), SoundEvents.BLOCK_FIRE_EXTINGUISH, SoundCategory.AMBIENT, 1.0F, PrimalAPI.getRandom().nextFloat() * 0.4F + 0.8F); + } + } + } } @@ -289,6 +299,10 @@ public class ToolPart extends Item implements ToolNBT{ } } } + if(!entityItem.isWet()){ + FireHelper.setFire(entityItem.getEntityWorld(),entityItem.getPosition()); + return true; + } return false; } diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/weapons/CustomSword.java b/kfc/src/main/java/nmd/primal/forgecraft/items/weapons/CustomSword.java index 0c6750c4..1b21c6e6 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/items/weapons/CustomSword.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/weapons/CustomSword.java @@ -12,7 +12,6 @@ import net.minecraft.inventory.EntityEquipmentSlot; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.ItemSword; -import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/renders/blocks/TileAnvilRender.java b/kfc/src/main/java/nmd/primal/forgecraft/renders/blocks/TileAnvilRender.java index e8dc70ce..eb060f71 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/renders/blocks/TileAnvilRender.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/renders/blocks/TileAnvilRender.java @@ -1,6 +1,5 @@ package nmd.primal.forgecraft.renders.blocks; -import net.minecraft.block.Block; import net.minecraft.block.state.IBlockState; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.OpenGlHelper; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/renders/blocks/TileCastingformRender.java b/kfc/src/main/java/nmd/primal/forgecraft/renders/blocks/TileCastingformRender.java index cadc67bd..2ef33154 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/renders/blocks/TileCastingformRender.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/renders/blocks/TileCastingformRender.java @@ -10,8 +10,8 @@ import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.item.Item; import net.minecraft.util.EnumFacing; import net.minecraft.util.math.BlockPos; -import nmd.primal.forgecraft.blocks.machine.CastingForm; import nmd.primal.forgecraft.blocks.CustomContainerFacing; +import nmd.primal.forgecraft.blocks.machine.CastingForm; import nmd.primal.forgecraft.init.ModItems; import nmd.primal.forgecraft.tiles.TileCastingForm; import org.lwjgl.opengl.GL11; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/renders/blocks/TileForgeRender.java b/kfc/src/main/java/nmd/primal/forgecraft/renders/blocks/TileForgeRender.java index 7c73fb68..e2f1d53f 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/renders/blocks/TileForgeRender.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/renders/blocks/TileForgeRender.java @@ -7,16 +7,12 @@ import net.minecraft.client.renderer.RenderItem; import net.minecraft.client.renderer.block.model.ItemCameraTransforms; import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.init.Items; -import net.minecraft.item.EnumDyeColor; import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumFacing; import net.minecraft.util.math.BlockPos; -import nmd.primal.core.api.PrimalAPI; import nmd.primal.forgecraft.blocks.machine.Forge; -import nmd.primal.forgecraft.init.ModItems; import nmd.primal.forgecraft.items.BaseMultiItem; import nmd.primal.forgecraft.items.parts.ToolPart; import nmd.primal.forgecraft.tiles.TileForge; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/tiles/TileBloomery.java b/kfc/src/main/java/nmd/primal/forgecraft/tiles/TileBloomery.java index c53f6b5f..8a434d59 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/tiles/TileBloomery.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/tiles/TileBloomery.java @@ -14,8 +14,8 @@ import net.minecraft.world.World; import nmd.primal.core.api.PrimalAPI; import nmd.primal.core.common.helper.FireHelper; import nmd.primal.core.common.helper.RecipeHelper; -import nmd.primal.forgecraft.blocks.machine.BloomeryBase; import nmd.primal.forgecraft.blocks.Crucibles.NBTCrucible; +import nmd.primal.forgecraft.blocks.machine.BloomeryBase; import nmd.primal.forgecraft.crafting.CrucibleCrafting; import nmd.primal.forgecraft.init.ModItems; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/tiles/TileForge.java b/kfc/src/main/java/nmd/primal/forgecraft/tiles/TileForge.java index 6d4d6b74..28952f64 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/tiles/TileForge.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/tiles/TileForge.java @@ -6,7 +6,6 @@ import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.ITickable; -import net.minecraft.util.NonNullList; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import nmd.primal.core.api.PrimalAPI; @@ -145,7 +144,6 @@ public class TileForge extends TileBaseSlot implements ITickable, ToolNBT{ } } if(stack.isEmpty() || RecipeHelper.getBurnTime(stack) <=0){ - System.out.println(stack); world.setBlockState(pos, state.withProperty(PrimalAPI.States.ACTIVE, false), 2); } if(this.getSlotStack(0).getItem() == PrimalAPI.Items.CHARCOAL_FAIR){ @@ -210,6 +208,8 @@ public class TileForge extends TileBaseSlot implements ITickable, ToolNBT{ if (cookCounter2 >= recipe.getIdealTime()) { ItemStack outputStack = recipe.getOutput().copy(); outputStack.setItemDamage(stack.getItemDamage()); + outputStack.setTagCompound(stackCompound); + outputStack.getSubCompound("tags").setBoolean("hot", true); this.setSlotStack(i, outputStack); cookCounter2 = 0; } @@ -224,7 +224,8 @@ public class TileForge extends TileBaseSlot implements ITickable, ToolNBT{ if (cookCounter3 >= recipe.getIdealTime()) { ItemStack outputStack = recipe.getOutput().copy(); outputStack.setItemDamage(stack.getItemDamage()); - + outputStack.setTagCompound(stackCompound); + outputStack.getSubCompound("tags").setBoolean("hot", true); this.setSlotStack(i, outputStack); cookCounter3 = 0; @@ -240,6 +241,8 @@ public class TileForge extends TileBaseSlot implements ITickable, ToolNBT{ if (cookCounter4 >= recipe.getIdealTime()) { ItemStack outputStack = recipe.getOutput().copy(); outputStack.setItemDamage(stack.getItemDamage()); + outputStack.setTagCompound(stackCompound); + outputStack.getSubCompound("tags").setBoolean("hot", true); this.setSlotStack(i, outputStack); cookCounter4 = 0; } @@ -254,6 +257,8 @@ public class TileForge extends TileBaseSlot implements ITickable, ToolNBT{ if (cookCounter5 >= recipe.getIdealTime()) { ItemStack outputStack = recipe.getOutput().copy(); outputStack.setItemDamage(stack.getItemDamage()); + outputStack.setTagCompound(stackCompound); + outputStack.getSubCompound("tags").setBoolean("hot", true); this.setSlotStack(i, outputStack); cookCounter5 = 0; } diff --git a/kfc/src/main/java/nmd/primal/forgecraft/tiles/TileNBTCrucible.java b/kfc/src/main/java/nmd/primal/forgecraft/tiles/TileNBTCrucible.java index 374e6f18..a2600f92 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/tiles/TileNBTCrucible.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/tiles/TileNBTCrucible.java @@ -9,12 +9,8 @@ import net.minecraft.util.NonNullList; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import nmd.primal.core.api.PrimalAPI; -import nmd.primal.core.api.interfaces.IRecipeCache; import nmd.primal.forgecraft.crafting.CrucibleCrafting; -import java.util.ArrayList; -import java.util.List; - /** * Created by mminaie on 11/11/17. */ diff --git a/kfc/src/main/java/nmd/primal/forgecraft/util/AnvilHandler.java b/kfc/src/main/java/nmd/primal/forgecraft/util/AnvilHandler.java index 3d919805..5f31b0bc 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/util/AnvilHandler.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/util/AnvilHandler.java @@ -5,7 +5,6 @@ import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.item.EnumDyeColor; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumFacing; @@ -19,7 +18,6 @@ import nmd.primal.forgecraft.crafting.AnvilCrafting; import nmd.primal.forgecraft.init.ModItems; import nmd.primal.forgecraft.items.BaseMultiItem; import nmd.primal.forgecraft.items.ForgeHammer; -import nmd.primal.forgecraft.items.SlottedTongs; import nmd.primal.forgecraft.items.parts.ToolPart; import nmd.primal.forgecraft.tiles.TileAnvil; @@ -57,7 +55,7 @@ public interface AnvilHandler { return reverseMax[x]; } - default boolean doAnvilRecipe(ItemStack pItem, ItemStack[] tempArray, World world, TileAnvil tile, BlockPos pos, EntityPlayer player) { + default boolean doAnvilRecipe(ItemStack pItem, ItemStack stack12, ItemStack[] tempArray, World world, TileAnvil tile, BlockPos pos, EntityPlayer player) { AnvilCrafting recipe = AnvilCrafting.getRecipe(tempArray); if (recipe != null) { if (pItem.getItem() instanceof Gallagher) { @@ -68,12 +66,14 @@ public interface AnvilHandler { } world.playEvent(1031, pos, 0); - if (ThreadLocalRandom.current().nextInt(0, 2) == 0) { if (recipe.getOutput().getItem() instanceof ToolPart) { - if (!tile.getSlotStack(12).getItem().equals(recipe.getOutput().getItem())) { + System.out.println(tile.getSlotStack(12).getTagCompound()); + + if (!tile.getSlotStack(12).getItem().equals(recipe.getOutput().getItem()) ) { + ItemStack tempStack = recipe.getOutput(); tempStack.setTagCompound(new NBTTagCompound()); NBTTagCompound tags = new NBTTagCompound(); @@ -98,10 +98,12 @@ public interface AnvilHandler { outputStack.getTagCompound().setTag("tags", tempNBT); outputStack.getSubCompound("tags").setBoolean("hot", false); + if (recipe.getUpgrade() == "repair") { CommonUtils.spawnItemEntityFromWorld(world, pos, outputStack); } + if (outputStack.getSubCompound("tags").getInteger("modifiers") < 3) { //Upgrade emerald @@ -253,9 +255,9 @@ public interface AnvilHandler { if (!tongStack.isEmpty()) { if (tile.getSlotStack(counter).isEmpty()) { - ItemStack tempStack = tongStack.copy(); - tile.setSlotStack(counter, tempStack); - inventory.extractItem(0, 1, false); + //ItemStack tempStack = tongStack.copy(); + tile.setSlotStack(counter, inventory.extractItem(0, 1, false)); + //System.out.println(tile.getSlotStack(counter).getTagCompound()); return true; } } diff --git a/kfc/src/main/java/nmd/primal/forgecraft/util/ForgeHandler.java b/kfc/src/main/java/nmd/primal/forgecraft/util/ForgeHandler.java index d6805701..49d2a238 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/util/ForgeHandler.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/util/ForgeHandler.java @@ -2,21 +2,15 @@ package nmd.primal.forgecraft.util; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumFacing; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraftforge.items.IItemHandler; -import net.minecraftforge.items.IItemHandlerModifiable; import nmd.primal.core.common.helper.RecipeHelper; -import nmd.primal.core.common.items.tools.Gallagher; import nmd.primal.forgecraft.init.ModItems; import nmd.primal.forgecraft.items.BaseMultiItem; -import nmd.primal.forgecraft.items.ForgeHammer; -import nmd.primal.forgecraft.items.SlottedTongs; import nmd.primal.forgecraft.items.parts.ToolPart; -import nmd.primal.forgecraft.tiles.TileAnvil; import nmd.primal.forgecraft.tiles.TileForge; import static nmd.primal.forgecraft.blocks.CustomContainerFacing.FACING; diff --git a/kfc/src/main/resources/mcmod.info b/kfc/src/main/resources/mcmod.info index 1aa07a9f..d09d5ecd 100644 --- a/kfc/src/main/resources/mcmod.info +++ b/kfc/src/main/resources/mcmod.info @@ -2,7 +2,7 @@ "modid": "forgecraft", "name": "Kitsu's Forgecraft", "description": "Forged with sweat and blood", - "version": "1.6.07", + "version": "1.6.08", "mcversion": "1.12.2", "url": "", "updateUrl": "",