working on capabilities optimized imports

This commit is contained in:
Mohammad-Ali Minaie
2018-09-23 12:21:57 -04:00
parent 8dc5089de3
commit 4818efe33c
35 changed files with 118 additions and 197 deletions

View File

@@ -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

View File

@@ -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,);";

View File

@@ -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);

View File

@@ -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;
}

View File

@@ -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;
/**

View File

@@ -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;

View File

@@ -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.

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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);
}
// ***************************************************************************** //
// ..
// ***************************************************************************** //
}

View File

@@ -1,6 +1,5 @@
package nmd.primal.forgecraft.crafting;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import java.util.ArrayList;

View File

@@ -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.

View File

@@ -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.*;
/**

View File

@@ -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,

View File

@@ -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)

View File

@@ -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;

View File

@@ -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;
}

View File

@@ -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;
}
}

View File

@@ -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;
}

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;
}

View File

@@ -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.
*/

View File

@@ -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;
}
}

View File

@@ -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;

View File

@@ -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": "",