working on capabilities optimized imports
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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,);";
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
/**
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 <RECIPE extends IForgeRegistryEntry.Impl<RECIPE>> extends IForgeRegistryEntry.Impl<RECIPE> implements ICustomRecipe<RECIPE>
|
||||
{
|
||||
private boolean is_disabled, is_hidden;
|
||||
|
||||
public AbstractCrafting()
|
||||
{
|
||||
this.is_disabled = false;
|
||||
this.is_hidden = false;
|
||||
}
|
||||
|
||||
abstract public Collection<RECIPE> 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);
|
||||
}
|
||||
|
||||
// ***************************************************************************** //
|
||||
// ..
|
||||
// ***************************************************************************** //
|
||||
}
|
||||
@@ -1,6 +1,5 @@
|
||||
package nmd.primal.forgecraft.crafting;
|
||||
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.*;
|
||||
|
||||
/**
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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> T getCapability(Capability<T> 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> T getCapability(Capability<T> 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<ItemStack> setList = NonNullList.<ItemStack>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<ItemStack> setList = NonNullList.<ItemStack>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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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.
|
||||
*/
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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": "",
|
||||
|
||||
Reference in New Issue
Block a user