aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Java/gtPlusPlus/core/handler/GuiHandler.java24
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_General.java41
-rw-r--r--src/Java/gtPlusPlus/core/util/item/ItemUtils.java45
-rw-r--r--src/Java/gtPlusPlus/xmod/thaumcraft/common/block/BlockFastAlchemyFurnace.java254
-rw-r--r--src/Java/gtPlusPlus/xmod/thaumcraft/common/tile/TileFastAlchemyFurnace.java388
5 files changed, 461 insertions, 291 deletions
diff --git a/src/Java/gtPlusPlus/core/handler/GuiHandler.java b/src/Java/gtPlusPlus/core/handler/GuiHandler.java
index 124b01a2c0..6791289f9f 100644
--- a/src/Java/gtPlusPlus/core/handler/GuiHandler.java
+++ b/src/Java/gtPlusPlus/core/handler/GuiHandler.java
@@ -3,12 +3,24 @@ package gtPlusPlus.core.handler;
import cpw.mods.fml.common.network.IGuiHandler;
import cpw.mods.fml.common.network.NetworkRegistry;
import gtPlusPlus.GTplusplus;
-import gtPlusPlus.core.container.*;
+import gtPlusPlus.core.container.Container_BackpackBase;
+import gtPlusPlus.core.container.Container_FishTrap;
+import gtPlusPlus.core.container.Container_Grindle;
+import gtPlusPlus.core.container.Container_ModularityTable;
+import gtPlusPlus.core.container.Container_ProjectTable;
+import gtPlusPlus.core.container.Container_TradeTable;
+import gtPlusPlus.core.container.Container_Workbench;
+import gtPlusPlus.core.container.Container_WorkbenchAdvanced;
import gtPlusPlus.core.gui.beta.Gui_ID_Registry;
import gtPlusPlus.core.gui.beta.MU_GuiId;
import gtPlusPlus.core.gui.item.GuiBaseBackpack;
import gtPlusPlus.core.gui.item.GuiBaseGrindle;
-import gtPlusPlus.core.gui.machine.*;
+import gtPlusPlus.core.gui.machine.GUI_FishTrap;
+import gtPlusPlus.core.gui.machine.GUI_ModularityTable;
+import gtPlusPlus.core.gui.machine.GUI_ProjectTable;
+import gtPlusPlus.core.gui.machine.GUI_TradeTable;
+import gtPlusPlus.core.gui.machine.GUI_Workbench;
+import gtPlusPlus.core.gui.machine.GUI_WorkbenchAdvanced;
import gtPlusPlus.core.interfaces.IGuiManager;
import gtPlusPlus.core.inventories.BaseInventoryBackpack;
import gtPlusPlus.core.inventories.BaseInventoryGrindle;
@@ -34,8 +46,8 @@ public class GuiHandler implements IGuiHandler {
public static final int GUI5 = 4; //Workbench Adv
public static final int GUI6 = 5; //Fish trap
public static final int GUI7 = 6; //Trade table
- public static final int GUI8 = 7; //
- public static final int GUI9 = 8; //
+ public static final int GUI8 = 7; //Alchemical Furnace
+ public static final int GUI9 = 8; //Grindle
@@ -83,7 +95,7 @@ public class GuiHandler implements IGuiHandler {
return new Container_TradeTable(player.inventory, (TileEntityTradeTable)te);
}
}
-
+
if (ID == GUI9){
return new Container_Grindle(player, player.inventory, new BaseInventoryGrindle(player.getHeldItem()));
}
@@ -132,7 +144,7 @@ public class GuiHandler implements IGuiHandler {
return new GUI_TradeTable(player.inventory, (TileEntityTradeTable)te, ((TileEntityBase) te).getOwner());
}
}
-
+
if (ID == GUI9){
return new GuiBaseGrindle(new Container_Grindle(player, player.inventory, new BaseInventoryGrindle(player.getHeldItem())));
}
diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_General.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_General.java
index e9a2ee86b4..f5f793da77 100644
--- a/src/Java/gtPlusPlus/core/recipe/RECIPES_General.java
+++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_General.java
@@ -1,28 +1,19 @@
package gtPlusPlus.core.recipe;
import cpw.mods.fml.common.registry.GameRegistry;
-import gregtech.api.enums.GT_Values;
import gregtech.api.enums.ItemList;
-import gregtech.api.enums.Materials;
-import gregtech.api.enums.OrePrefixes;
import gregtech.api.util.GT_ModHandler;
-import gregtech.api.util.GT_OreDictUnificator;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.item.ModItems;
-import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.fluid.FluidUtils;
import gtPlusPlus.core.util.item.ItemUtils;
import gtPlusPlus.core.util.recipe.RecipeUtils;
-import gtPlusPlus.core.util.reflect.AddGregtechRecipe;
-import gtPlusPlus.core.world.darkworld.Dimension_DarkWorld;
import gtPlusPlus.xmod.bop.blocks.BOP_Block_Registrator;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
-import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.oredict.OreDictionary;
public class RECIPES_General {
@@ -102,18 +93,18 @@ public class RECIPES_General {
"stickWood", "treeSapling", "stickWood",
"stickWood", "dustBone", "stickWood",
ItemUtils.getSimpleStack(BOP_Block_Registrator.sapling_Rainforest))){
- Utils.LOG_INFO("Added a recipe for Rainforest oak Saplings.");
+ Utils.LOG_INFO("Added a recipe for Rainforest oak Saplings.");
}
//Iron bars
- ItemStack ironBars = ItemUtils.getItemStack("minecraft:iron_bars", 1);
+ final ItemStack ironBars = ItemUtils.getItemStack("minecraft:iron_bars", 1);
//Fish Trap
if (RecipeUtils.recipeBuilder(
ironBars, ironBars, ironBars,
ironBars, "frameGtWroughtIron", ironBars,
ironBars, ironBars, ironBars,
ItemUtils.getSimpleStack(ModBlocks.blockFishTrap))){
- Utils.LOG_INFO("Added a recipe for the Fish Trap.");
+ Utils.LOG_INFO("Added a recipe for the Fish Trap.");
}
//Alkalus Coin
@@ -122,31 +113,31 @@ public class RECIPES_General {
"gemFlawlessRuby", ItemList.Credit_Greg_Naquadah.get(1), "gemFlawlessSapphire",
"gemExquisiteEmerald", "gemFlawlessEmerald", "gemExquisiteSapphire",
ItemUtils.getSimpleStack(ModItems.itemAlkalusDisk))){
- Utils.LOG_INFO("Added a recipe for The Alkalus Disk.");
+ Utils.LOG_INFO("Added a recipe for The Alkalus Disk.");
}
- String fancyGems[] = new String[]{"gemExquisiteDiamond", "gemExquisiteEmerald", "gemExquisiteRuby", "gemExquisiteSapphire"};
- ItemStack gemShards[] = new ItemStack[]{ItemUtils.simpleMetaStack(ModItems.itemGemShards, 0, 1),
+ final String fancyGems[] = new String[]{"gemExquisiteDiamond", "gemExquisiteEmerald", "gemExquisiteRuby", "gemExquisiteSapphire"};
+ final ItemStack gemShards[] = new ItemStack[]{ItemUtils.simpleMetaStack(ModItems.itemGemShards, 0, 1),
ItemUtils.simpleMetaStack(ModItems.itemGemShards, 1, 1),
ItemUtils.simpleMetaStack(ModItems.itemGemShards, 2, 1),
ItemUtils.simpleMetaStack(ModItems.itemGemShards, 3, 1)};
-
+
int l=0;
- for (String gem : fancyGems){
+ for (final String gem : fancyGems){
GameRegistry.addShapelessRecipe(
gemShards[l],
ItemUtils.getItemStackOfAmountFromOreDict(gem, 1),
new ItemStack(ModItems.itemAlkalusDisk, 1, OreDictionary.WILDCARD_VALUE));
l++;
}
-
+
RecipeUtils.addShapedGregtechRecipe(
"stickBlackSteel", "plateTungstenSteel", "stickBlackSteel",
- "plateTungstenSteel", "blockIron", "plateTungstenSteel",
- "stickBlackSteel", "plateTungstenSteel", "stickBlackSteel",
- ItemUtils.getSimpleStack(ModBlocks.blockWitherGuard));
+ "plateTungstenSteel", ItemUtils.getSimpleStack(Items.nether_star), "plateTungstenSteel",
+ "stickBlackSteel", "plateTungstenSteel", "stickBlackSteel",
+ ItemUtils.getSimpleStack(ModBlocks.blockWitherGuard, 32));
- //Alkalus Coin
+ //Alkalus Coin
/*AddGregtechRecipe.addAssemblylineRecipe(
ItemUtils.getSimpleStack(ModItems.itemAlkalusDisk),
288000,
@@ -160,16 +151,16 @@ public class RECIPES_General {
GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Superconductor, 16L),
GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Superconductor, 16L),
GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.Superconductor, 16L),
- GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NiobiumTitanium, 2L)},
+ GT_OreDictUnificator.get(OrePrefixes.cableGt04, Materials.NiobiumTitanium, 2L)},
new FluidStack[]{
Materials.Osmium.getMolten(144*32),
Materials.Europium.getFluid(144*8)},
ItemUtils.getSimpleStack(Dimension_DarkWorld.portalItem),
30*20*60,
100000);*/
-
- }
}
+}
+
diff --git a/src/Java/gtPlusPlus/core/util/item/ItemUtils.java b/src/Java/gtPlusPlus/core/util/item/ItemUtils.java
index 337e301414..3680dfb59d 100644
--- a/src/Java/gtPlusPlus/core/util/item/ItemUtils.java
+++ b/src/Java/gtPlusPlus/core/util/item/ItemUtils.java
@@ -42,6 +42,9 @@ public class ItemUtils {
public static ItemStack getSimpleStack(final Block x){
return getSimpleStack(Item.getItemFromBlock(x), 1);
}
+ public static ItemStack getSimpleStack(final Block x, final int i){
+ return getSimpleStack(Item.getItemFromBlock(x), i);
+ }
public static ItemStack getSimpleStack(final Item x, final int i){
try {
final ItemStack r = new ItemStack(x, i);
@@ -61,8 +64,8 @@ public class ItemUtils {
}
public static final int WILDCARD_VALUE = Short.MAX_VALUE;
- public static ItemStack getWildcardStack(Item x){
- ItemStack y = new ItemStack(x, 1, WILDCARD_VALUE);
+ public static ItemStack getWildcardStack(final Item x){
+ final ItemStack y = new ItemStack(x, 1, WILDCARD_VALUE);
return y;
}
@@ -265,8 +268,8 @@ public class ItemUtils {
//Adds a check to grab dusts using GT methodology if possible.
ItemStack returnValue = null;
if (oredictName.toLowerCase().contains("dust")){
- String MaterialName = oredictName.toLowerCase().replace("dust", "");
- Materials m = Materials.get(MaterialName);
+ final String MaterialName = oredictName.toLowerCase().replace("dust", "");
+ final Materials m = Materials.get(MaterialName);
returnValue = getGregtechDust(m, amount);
if (returnValue != null){
return returnValue;
@@ -284,7 +287,7 @@ public class ItemUtils {
Utils.LOG_WARNING(oredictName+" was not valid.");
return null;
}
- catch (Throwable t){
+ catch (final Throwable t){
return null;
}
}
@@ -317,7 +320,7 @@ public class ItemUtils {
return output;
}
- public static Item generateSpecialUsePlate(String internalName, String displayName, short[] rgb, int radioactivity){
+ public static Item generateSpecialUsePlate(final String internalName, final String displayName, final short[] rgb, final int radioactivity){
return new BaseItemPlate_OLD(internalName, displayName, Utils.rgbtoHexValue(rgb[0], rgb[1], rgb[2]), radioactivity);
}
@@ -344,7 +347,7 @@ public class ItemUtils {
public static MultiPickaxeBase generateMultiPick(final boolean GT_Durability, final Materials material){
final ToolMaterial customMaterial = Utils.generateToolMaterialFromGT(material);
- int enchantLevel = material.mEnchantmentToolsLevel;
+ final int enchantLevel = material.mEnchantmentToolsLevel;
final Object enchant = new Pair(material.mEnchantmentTools, enchantLevel);
return generateMultiPick(GT_Durability, customMaterial, material.mDefaultLocalName, material.mDurability, material.mRGBa, enchant);
}
@@ -575,24 +578,24 @@ public class ItemUtils {
return outputs;
}
- private static String getModId(Item item) {
+ private static String getModId(final Item item) {
try {
- GameRegistry.UniqueIdentifier id = GameRegistry.findUniqueIdentifierFor(item);
- String modname = (id.modId == null ? id.name : id.modId);
- return id == null || id.modId.equals("") ? "minecraft" : modname;
- } catch (Throwable t){
+ final GameRegistry.UniqueIdentifier id = GameRegistry.findUniqueIdentifierFor(item);
+ final String modname = (id.modId == null ? id.name : id.modId);
+ return (id == null) || id.modId.equals("") ? "minecraft" : modname;
+ } catch (final Throwable t){
try {
- UniqueIdentifier t2 = GameRegistry.findUniqueIdentifierFor(Block.getBlockFromItem(item));
- String modname = (t2.modId == null ? t2.name : t2.modId);
- return t2 == null || t2.modId.equals("") ? "minecraft" : modname;
+ final UniqueIdentifier t2 = GameRegistry.findUniqueIdentifierFor(Block.getBlockFromItem(item));
+ final String modname = (t2.modId == null ? t2.name : t2.modId);
+ return (t2 == null) || t2.modId.equals("") ? "minecraft" : modname;
}
- catch (Throwable t3){
+ catch (final Throwable t3){
return "bad modid";
}
}
}
- public static String getModId(ItemStack key) {
+ public static String getModId(final ItemStack key) {
return getModId(key.getItem());
}
@@ -602,13 +605,13 @@ public class ItemUtils {
if (!oreDictList.isEmpty()){
ItemStack returnvalue;
for (int xrc=0;xrc<oreDictList.size();xrc++){
- String modid = getModId(oreDictList.get(xrc).getItem());
+ final String modid = getModId(oreDictList.get(xrc).getItem());
if (modid.equals("gregtech") || modid.equals(CORE.MODID)){
returnvalue = oreDictList.get(xrc).copy();
returnvalue.stackSize = amount;
return returnvalue;
}
- }
+ }
}
return getNonTinkersDust(oredictName, amount);
}
@@ -619,13 +622,13 @@ public class ItemUtils {
if (!oreDictList.isEmpty()){
ItemStack returnvalue;
for (int xrc=0;xrc<oreDictList.size();xrc++){
- String modid = getModId(oreDictList.get(xrc).getItem());
+ final String modid = getModId(oreDictList.get(xrc).getItem());
if (!modid.equals("tconstruct")){
returnvalue = oreDictList.get(xrc).copy();
returnvalue.stackSize = amount;
return returnvalue;
}
- }
+ }
}
//If only Tinkers dust exists, bow down and just use it.
return getItemStackOfAmountFromOreDictNoBroken(oredictName, amount);
diff --git a/src/Java/gtPlusPlus/xmod/thaumcraft/common/block/BlockFastAlchemyFurnace.java b/src/Java/gtPlusPlus/xmod/thaumcraft/common/block/BlockFastAlchemyFurnace.java
index 3d570dfe7e..eee996f6f9 100644
--- a/src/Java/gtPlusPlus/xmod/thaumcraft/common/block/BlockFastAlchemyFurnace.java
+++ b/src/Java/gtPlusPlus/xmod/thaumcraft/common/block/BlockFastAlchemyFurnace.java
@@ -1,94 +1,252 @@
package gtPlusPlus.xmod.thaumcraft.common.block;
+import java.util.List;
import java.util.Random;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
+import gtPlusPlus.GTplusplus;
import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.handler.GuiHandler;
import gtPlusPlus.xmod.thaumcraft.common.tile.TileFastAlchemyFurnace;
import net.minecraft.block.Block;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Blocks;
+import net.minecraft.inventory.Container;
+import net.minecraft.inventory.IInventory;
import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.AxisAlignedBB;
+import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
-import thaumcraft.common.blocks.BlockAlchemyFurnace;
+import net.minecraftforge.common.util.ForgeDirection;
+import thaumcraft.common.Thaumcraft;
+import thaumcraft.common.blocks.BlockStoneDevice;
+import thaumcraft.common.config.ConfigBlocks;
+import thaumcraft.common.lib.utils.InventoryUtils;
-public class BlockFastAlchemyFurnace extends BlockAlchemyFurnace {
+public class BlockFastAlchemyFurnace extends BlockStoneDevice {
+
+ public IIcon[] iconFurnace;
+ public IIcon[] iconPedestal;
public BlockFastAlchemyFurnace() {
+ this.iconFurnace = new IIcon[5];
+ this.iconPedestal = new IIcon[2];
this.setCreativeTab(AddToCreativeTab.tabMachines);
this.setBlockName("blockFastAlchemyFurnace");
+ this.setHardness(3.0f);
+ this.setResistance(25.0f);
+ this.setStepSound(Block.soundTypeStone);
+ this.setBlockBounds(0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f);
GameRegistry.registerBlock(this, "blockFastAlchemyFurnace");
LanguageRegistry.addName(this, "Upgraded Alchemical Furnace");
}
- public int func_149692_a(int metadata) {
- if ((metadata == 1) || (metadata == 4))
- return 3;
- if (metadata == 3)
- return 9;
- if (metadata == 2)
- return 1;
+ @Override
+ public int getLightValue(final IBlockAccess world, final int x, final int y, final int z) {
+ final Block block = world.getBlock(x, y, z);
+ if (block != this)
+ {
+ return block.getLightValue(world, x, y, z);
+ }
+ /**
+ * Gets the light value of the specified block coords. Args: x, y, z
+ */
+ return this.getLightValue();
+ }
+
+ @Override
+ public int damageDropped(final int metadata) {
return 0;
}
- public TileEntity createTileEntity(World world, int metadata) {
+ @Override
+ public TileEntity createTileEntity(final World world, final int metadata) {
if (metadata == 0){
return new TileFastAlchemyFurnace();
}
return null;
}
- public int getLightValue(IBlockAccess world, int x, int y, int z){
- Block block = world.getBlock(x, y, z);
- if (block != this)
- {
- return block.getLightValue(world, x, y, z);
- }
- return getLightValue();
+ @Override
+ public TileEntity createNewTileEntity(final World var1, final int md) {
+ return null;
}
- /*public int func_149736_g(World world, int x, int y, int z, int rs) {
+ @Override
+ public int getComparatorInputOverride(final World world, final int x, final int y, final int z, final int rs) {
+ final TileEntity te = world.getTileEntity(x, y, z);
+ if ((te != null) && (te instanceof TileFastAlchemyFurnace)) {
+ return Container.calcRedstoneFromInventory((IInventory) te);
+ }
+ return 0;
+ }
- }*/
+ @Override
+ public boolean onBlockActivated(final World world, final int x, final int y, final int z, final EntityPlayer player,
+ final int side, final float par7, final float par8, final float par9) {
- public TileEntity func_149915_a(World var1, int md) {
- return null;
+ if (world.isRemote) {
+ return true;
+ }
+
+ final int metadata = world.getBlockMetadata(x, y, z);
+ final TileEntity tileEntity = world.getTileEntity(x, y, z);
+
+ if ((metadata == 0) && (tileEntity instanceof TileFastAlchemyFurnace) && !player.isSneaking()) {
+ player.openGui(GTplusplus.instance, GuiHandler.GUI8, world, x, y, z);
+ return true;
+ }
+ return false;
}
- /* public void func_149749_a(World world, int x, int y, int z, Block bl, int md) {
- }*/
-
+ @Override
+ public void addCollisionBoxesToList(final World world, final int i, final int j, final int k,
+ final AxisAlignedBB axisalignedbb, final List arraylist, final Entity par7Entity) {
+ this.setBlockBounds(0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f);
+ super.addCollisionBoxesToList(world, i, j, k, axisalignedbb, arraylist, par7Entity);
+ }
+
+ @Override
+ public void setBlockBoundsBasedOnState(final IBlockAccess world, final int i, final int j, final int k) {
+ this.setBlockBounds(0.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f);
+ super.setBlockBoundsBasedOnState(world, i, j, k);
+ }
+
+ @Override
+ public boolean onBlockEventReceived(final World par1World, final int par2, final int par3, final int par4,
+ final int par5, final int par6) {
+ if (par5 == 1) {
+ if (par1World.isRemote) {
+ Thaumcraft.proxy.blockSparkle(par1World, par2, par3, par4, 11960575, 2);
+ par1World.playAuxSFX(2001, par2, par3, par4, Block.getIdFromBlock(Blocks.stonebrick) + 0);
+ }
+ return true;
+ }
+ return super.onBlockEventReceived(par1World, par2, par3, par4, par5, par6);
+ }
+
+ @Override
+ public boolean isSideSolid(final IBlockAccess world, final int x, final int y, final int z,
+ final ForgeDirection side) {
+ return super.isSideSolid(world, x, y, z, side);
+ }
+
+ @Override
+ public boolean hasComparatorInputOverride() {
+ return true;
+ }
+
+ @Override
+ public void breakBlock(final World par1World, final int par2, final int par3, final int par4, final Block par5,
+ final int par6) {
+ InventoryUtils.dropItems(par1World, par2, par3, par4);
+ super.breakBlock(par1World, par2, par3, par4, par5, par6);
+ }
+
+ @Override
+ public void onNeighborBlockChange(final World world, final int x, final int y, final int z, final Block par5) {
+ final TileEntity te = world.getTileEntity(x, y, z);
+ if ((te != null) && (te instanceof TileFastAlchemyFurnace)) {
+ ((TileFastAlchemyFurnace) te).getBellows();
+ }
+ }
+
+ @Override
@SideOnly(Side.CLIENT)
- public void func_149734_b(final World world, final int x, final int y, final int z, final Random rand) {
- /*final int meta = world.func_72805_g(x, y, z);
- if (meta == 0) {
- final TileAlchemyFurnaceAdvanced tile = (TileAlchemyFurnaceAdvanced) world.func_147438_o(x, y, z);
- if (tile != null && tile.vis > 0) {
- final FXSlimyBubble ef = new FXSlimyBubble(world, (double) (x + rand.nextFloat()), (double) (y + 1),
- (double) (z + rand.nextFloat()), 0.06f + rand.nextFloat() * 0.06f);
- ef.func_82338_g(0.8f);
- ef.func_70538_b(0.6f - rand.nextFloat() * 0.2f, 0.0f, 0.6f + rand.nextFloat() * 0.2f);
- ParticleEngine.instance.addEffect(world, (EntityFX) ef);
- if (rand.nextInt(50) == 0) {
- final double var21 = x + rand.nextFloat();
- final double var22 = y + this.field_149756_F;
- final double var23 = z + rand.nextFloat();
- world.func_72980_b(var21, var22, var23, "liquid.lavapop", 0.1f + rand.nextFloat() * 0.1f,
- 0.9f + rand.nextFloat() * 0.15f, false);
+ public void randomDisplayTick(final World w, final int i, final int j, final int k, final Random r) {
+ final TileEntity te = w.getTileEntity(i, j, k);
+ if ((te != null) && (te instanceof TileFastAlchemyFurnace) && ((TileFastAlchemyFurnace) te).isBurning()) {
+ final float f = i + 0.5f;
+ final float f2 = j + 0.2f + ((r.nextFloat() * 5.0f) / 16.0f);
+ final float f3 = k + 0.5f;
+ final float f4 = 0.52f;
+ final float f5 = (r.nextFloat() * 0.5f) - 0.25f;
+ w.spawnParticle("smoke", f - f4, f2, f3 + f5, 0.0, 0.0, 0.0);
+ w.spawnParticle("flame", f - f4, f2, f3 + f5, 0.0, 0.0, 0.0);
+ w.spawnParticle("smoke", f + f4, f2, f3 + f5, 0.0, 0.0, 0.0);
+ w.spawnParticle("flame", f + f4, f2, f3 + f5, 0.0, 0.0, 0.0);
+ w.spawnParticle("smoke", f + f5, f2, f3 - f4, 0.0, 0.0, 0.0);
+ w.spawnParticle("flame", f + f5, f2, f3 - f4, 0.0, 0.0, 0.0);
+ w.spawnParticle("smoke", f + f5, f2, f3 + f4, 0.0, 0.0, 0.0);
+ w.spawnParticle("flame", f + f5, f2, f3 + f4, 0.0, 0.0, 0.0);
+ }
+ }
+
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void registerBlockIcons(final IIconRegister ir) {
+ this.iconPedestal[0] = ir.registerIcon("thaumcraft:pedestal_side");
+ this.iconPedestal[1] = ir.registerIcon("thaumcraft:pedestal_top");
+ this.iconFurnace[0] = ir.registerIcon("thaumcraft:al_furnace_side");
+ this.iconFurnace[1] = ir.registerIcon("thaumcraft:al_furnace_top");
+ this.iconFurnace[2] = ir.registerIcon("thaumcraft:al_furnace_front_off");
+ this.iconFurnace[3] = ir.registerIcon("thaumcraft:al_furnace_front_on");
+ this.iconFurnace[4] = ir.registerIcon("thaumcraft:al_furnace_top_filled");
+ }
+
+ @Override
+ public int getRenderType() {
+ return ConfigBlocks.blockStoneDeviceRI;
+ }
+
+ @Override
+ public boolean isOpaqueCube() {
+ return false;
+ }
+
+ @Override
+ public boolean renderAsNormalBlock() {
+ return false;
+ }
+
+ @Override
+ public IIcon getIcon(final int side, final int md) {
+ if (md == 0) {
+ if (side == 1) {
+ return this.iconFurnace[1];
+ }
+ if (side > 1) {
+ return this.iconFurnace[2];
+ }
+ } else if (md == 1) {
+ if (side <= 1) {
+ return this.iconPedestal[1];
+ }
+ if (side > 1) {
+ return this.iconPedestal[0];
+ }
+ }
+ return this.iconPedestal[1];
+ }
+
+ @Override
+ public IIcon getIcon(final IBlockAccess iblockaccess, final int i, final int j, final int k, final int side) {
+ final int metadata = iblockaccess.getBlockMetadata(i, j, k);
+ if (metadata == 0) {
+ final TileEntity te = iblockaccess.getTileEntity(i, j, k);
+ if (side == 1) {
+ if ((te != null) && (te instanceof TileFastAlchemyFurnace) && (((TileFastAlchemyFurnace) te).vis > 0)) {
+ return this.iconFurnace[4];
+ }
+ return this.iconFurnace[1];
+ } else if (side > 1) {
+ if ((te != null) && (te instanceof TileFastAlchemyFurnace) && ((TileFastAlchemyFurnace) te).isBurning()) {
+ return this.iconFurnace[3];
}
- final int q = rand.nextInt(2);
- final int w = rand.nextInt(2);
- final FXSlimyBubble ef2 = new FXSlimyBubble(world, x - 0.6 + rand.nextFloat() * 0.2 + q * 2,
- (double) (y + 2), z - 0.6 + rand.nextFloat() * 0.2 + w * 2, 0.06f + rand.nextFloat() * 0.06f);
- ef2.func_82338_g(0.8f);
- ef2.func_70538_b(0.6f - rand.nextFloat() * 0.2f, 0.0f, 0.6f + rand.nextFloat() * 0.2f);
- ParticleEngine.instance.addEffect(world, (EntityFX) ef2);
+ return this.iconFurnace[2];
}
+ } else if ((metadata == 1) || (metadata == 5) || (metadata == 8) || (metadata == 12)) {
+ return super.getIcon(iblockaccess, i, j, k, side);
}
- super.func_149734_b(world, x, y, z, rand);*/
+ return this.iconFurnace[0];
}
} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/xmod/thaumcraft/common/tile/TileFastAlchemyFurnace.java b/src/Java/gtPlusPlus/xmod/thaumcraft/common/tile/TileFastAlchemyFurnace.java
index 226c7cf393..ec39e7f4af 100644
--- a/src/Java/gtPlusPlus/xmod/thaumcraft/common/tile/TileFastAlchemyFurnace.java
+++ b/src/Java/gtPlusPlus/xmod/thaumcraft/common/tile/TileFastAlchemyFurnace.java
@@ -22,12 +22,12 @@ import thaumcraft.common.tiles.TileAlembic;
import thaumcraft.common.tiles.TileBellows;
public class TileFastAlchemyFurnace extends TileAlchemyFurnace {
- private static final int[] slots_bottom = {1};
- private static final int[] slots_top = new int[0];
- private static final int[] slots_sides = {0};
+ private static final int[] slots_bottom;
+ private static final int[] slots_top;
+ private static final int[] slots_sides;
public AspectList aspects;
public int vis;
- private int maxVis;
+ private final int maxVis;
public int smeltTime;
int bellows;
boolean speedBoost;
@@ -40,255 +40,247 @@ public class TileFastAlchemyFurnace extends TileAlchemyFurnace {
public TileFastAlchemyFurnace() {
this.aspects = new AspectList();
-
- this.maxVis = 100;
- this.smeltTime = 25;
+ this.maxVis = 150;
+ this.smeltTime = 100;
this.bellows = -1;
- this.speedBoost = false;
-
+ this.speedBoost = true;
this.furnaceItemStacks = new ItemStack[2];
-
this.count = 0;
}
- public int func_70302_i_() {
+ @Override
+ public int getSizeInventory() {
return this.furnaceItemStacks.length;
}
- public ItemStack func_70301_a(int par1) {
+ @Override
+ public ItemStack getStackInSlot(final int par1) {
return this.furnaceItemStacks[par1];
}
- public ItemStack func_70298_a(int par1, int par2) {
- if (this.furnaceItemStacks[par1] != null) {
- if (this.furnaceItemStacks[par1].stackSize <= par2) {
- ItemStack itemstack = this.furnaceItemStacks[par1];
- this.furnaceItemStacks[par1] = null;
- return itemstack;
- }
-
- ItemStack itemstack = this.furnaceItemStacks[par1].splitStack(par2);
-
- if (this.furnaceItemStacks[par1].stackSize == 0) {
- this.furnaceItemStacks[par1] = null;
- }
-
+ @Override
+ public ItemStack decrStackSize(final int par1, final int par2) {
+ if (this.furnaceItemStacks[par1] == null) {
+ return null;
+ }
+ if (this.furnaceItemStacks[par1].stackSize <= par2) {
+ final ItemStack itemstack = this.furnaceItemStacks[par1];
+ this.furnaceItemStacks[par1] = null;
return itemstack;
}
-
- return null;
+ final ItemStack itemstack = this.furnaceItemStacks[par1].splitStack(par2);
+ if (this.furnaceItemStacks[par1].stackSize == 0) {
+ this.furnaceItemStacks[par1] = null;
+ }
+ return itemstack;
}
- public ItemStack func_70304_b(int par1) {
+ @Override
+ public ItemStack getStackInSlotOnClosing(final int par1) {
if (this.furnaceItemStacks[par1] != null) {
- ItemStack itemstack = this.furnaceItemStacks[par1];
+ final ItemStack itemstack = this.furnaceItemStacks[par1];
this.furnaceItemStacks[par1] = null;
return itemstack;
}
-
return null;
}
- public void func_70299_a(int par1, ItemStack par2ItemStack) {
+ @Override
+ public void setInventorySlotContents(final int par1, final ItemStack par2ItemStack) {
this.furnaceItemStacks[par1] = par2ItemStack;
-
- if ((par2ItemStack == null) || (par2ItemStack.stackSize <= func_70297_j_()))
- return;
- par2ItemStack.stackSize = func_70297_j_();
+ if ((par2ItemStack != null) && (par2ItemStack.stackSize > this.getInventoryStackLimit())) {
+ par2ItemStack.stackSize = this.getInventoryStackLimit();
+ }
}
- public String func_145825_b() {
- return ((func_145818_k_()) ? this.customName : "container.alchemyfurnace");
+ @Override
+ public String getInventoryName() {
+ return this.hasCustomInventoryName() ? this.customName : "container.alchemyfurnace";
}
- public boolean func_145818_k_() {
- return ((this.customName != null) && (this.customName.length() > 0));
+ @Override
+ public boolean hasCustomInventoryName() {
+ return (this.customName != null) && (this.customName.length() > 0);
}
- public void setGuiDisplayName(String par1Str) {
+ @Override
+ public void setGuiDisplayName(final String par1Str) {
this.customName = par1Str;
}
- public void readCustomNBT(NBTTagCompound nbttagcompound) {
+ @Override
+ public void readCustomNBT(final NBTTagCompound nbttagcompound) {
this.furnaceBurnTime = nbttagcompound.getShort("BurnTime");
this.vis = nbttagcompound.getShort("Vis");
}
- public void writeCustomNBT(NBTTagCompound nbttagcompound) {
+ @Override
+ public void writeCustomNBT(final NBTTagCompound nbttagcompound) {
nbttagcompound.setShort("BurnTime", (short) this.furnaceBurnTime);
nbttagcompound.setShort("Vis", (short) this.vis);
}
- public void func_145839_a(NBTTagCompound nbtCompound) {
- super.func_145839_a(nbtCompound);
- NBTTagList nbttaglist = nbtCompound.getTagList("Items", 10);
- this.furnaceItemStacks = new ItemStack[func_70302_i_()];
-
+ @Override
+ public void readFromNBT(final NBTTagCompound nbtCompound) {
+ super.readFromNBT(nbtCompound);
+ final NBTTagList nbttaglist = nbtCompound.getTagList("Items", 10);
+ this.furnaceItemStacks = new ItemStack[this.getSizeInventory()];
for (int i = 0; i < nbttaglist.tagCount(); ++i) {
- NBTTagCompound nbttagcompound1 = nbttaglist.getCompoundTagAt(i);
- byte b0 = nbttagcompound1.getByte("Slot");
-
- if ((b0 < 0) || (b0 >= this.furnaceItemStacks.length))
- continue;
- this.furnaceItemStacks[b0] = ItemStack.loadItemStackFromNBT(nbttagcompound1);
+ final NBTTagCompound nbttagcompound1 = nbttaglist.getCompoundTagAt(i);
+ final byte b0 = nbttagcompound1.getByte("Slot");
+ if ((b0 >= 0) && (b0 < this.furnaceItemStacks.length)) {
+ this.furnaceItemStacks[b0] = ItemStack.loadItemStackFromNBT(nbttagcompound1);
+ }
}
-
this.speedBoost = nbtCompound.getBoolean("speedBoost");
this.furnaceCookTime = nbtCompound.getShort("CookTime");
this.currentItemBurnTime = TileEntityFurnace.getItemBurnTime(this.furnaceItemStacks[1]);
-
if (nbtCompound.hasKey("CustomName")) {
this.customName = nbtCompound.getString("CustomName");
}
-
this.aspects.readFromNBT(nbtCompound);
this.vis = this.aspects.visSize();
}
- public void func_145841_b(NBTTagCompound nbtCompound) {
- super.func_145841_b(nbtCompound);
+ @Override
+ public void writeToNBT(final NBTTagCompound nbtCompound) {
+ super.writeToNBT(nbtCompound);
nbtCompound.setBoolean("speedBoost", this.speedBoost);
nbtCompound.setShort("CookTime", (short) this.furnaceCookTime);
- NBTTagList nbttaglist = new NBTTagList();
-
+ final NBTTagList nbttaglist = new NBTTagList();
for (int i = 0; i < this.furnaceItemStacks.length; ++i) {
- if (this.furnaceItemStacks[i] == null)
- continue;
- NBTTagCompound nbttagcompound1 = new NBTTagCompound();
- nbttagcompound1.setByte("Slot", (byte) i);
- this.furnaceItemStacks[i].writeToNBT(nbttagcompound1);
- nbttaglist.appendTag(nbttagcompound1);
+ if (this.furnaceItemStacks[i] != null) {
+ final NBTTagCompound nbttagcompound1 = new NBTTagCompound();
+ nbttagcompound1.setByte("Slot", (byte) i);
+ this.furnaceItemStacks[i].writeToNBT(nbttagcompound1);
+ nbttaglist.appendTag(nbttagcompound1);
+ }
}
-
nbtCompound.setTag("Items", nbttaglist);
-
- if (func_145818_k_()) {
+ if (this.hasCustomInventoryName()) {
nbtCompound.setString("CustomName", this.customName);
}
-
this.aspects.writeToNBT(nbtCompound);
}
- public int func_70297_j_() {
+ @Override
+ public int getInventoryStackLimit() {
return 64;
}
+ @Override
@SideOnly(Side.CLIENT)
- public int getCookProgressScaled(int par1) {
- if (this.smeltTime <= 0)
+ public int getCookProgressScaled(final int par1) {
+ if (this.smeltTime <= 0) {
this.smeltTime = 1;
- return (this.furnaceCookTime * par1 / this.smeltTime);
+ }
+ return (this.furnaceCookTime * par1) / this.smeltTime;
}
+ @Override
@SideOnly(Side.CLIENT)
- public int getContentsScaled(int par1) {
- return (this.vis * par1 / this.maxVis);
+ public int getContentsScaled(final int par1) {
+ return (this.vis * par1) / this.maxVis;
}
+ @Override
@SideOnly(Side.CLIENT)
- public int getBurnTimeRemainingScaled(int par1) {
+ public int getBurnTimeRemainingScaled(final int par1) {
if (this.currentItemBurnTime == 0) {
this.currentItemBurnTime = 200;
}
-
- return (this.furnaceBurnTime * par1 / this.currentItemBurnTime);
+ return (this.furnaceBurnTime * par1) / this.currentItemBurnTime;
}
+ @Override
public boolean isBurning() {
- return (this.furnaceBurnTime > 0);
+ return this.furnaceBurnTime > 0;
}
- public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) {
+ @Override
+ public void onDataPacket(final NetworkManager net, final S35PacketUpdateTileEntity pkt) {
super.onDataPacket(net, pkt);
- if (this.worldObj != null)
- this.worldObj.updateLightByType(EnumSkyBlock.Block, this.xCoord, this.yCoord,
- this.zCoord);
+ if (this.worldObj != null) {
+ this.worldObj.updateLightByType(EnumSkyBlock.Block, this.xCoord, this.yCoord, this.zCoord);
+ }
}
+ @Override
public boolean canUpdate() {
return true;
}
- public void func_145845_h() {
- boolean flag = this.furnaceBurnTime > 0;
- boolean flag1 = false;
- this.count += 1;
+ @Override
+ public void updateEntity() {
+ final boolean flag = this.furnaceBurnTime > 0;
+ boolean flag2 = false;
+ ++this.count;
if (this.furnaceBurnTime > 0) {
- this.furnaceBurnTime -= 1;
+ --this.furnaceBurnTime;
}
-
- if (!(this.worldObj.isRemote)) {
- if (this.bellows < 0)
- getBellows();
-
- if ((this.count % ((this.speedBoost) ? 20 : 40) == 0) && (this.aspects.size() > 0)) {
- AspectList exlude = new AspectList();
+ if (!this.worldObj.isRemote) {
+ if (this.bellows < 0) {
+ this.getBellows();
+ }
+ if (((this.count % (this.speedBoost ? 10 : 20)) == 0) && (this.aspects.size() > 0)) {
+ final AspectList exlude = new AspectList();
int deep = 0;
TileEntity tile = null;
while (deep < 5) {
++deep;
- tile = this.worldObj.getTileEntity(this.xCoord, this.yCoord + deep,
- this.zCoord);
- if (!(tile instanceof TileAlembic))
+ tile = this.worldObj.getTileEntity(this.xCoord, this.yCoord + deep, this.zCoord);
+ if (!(tile instanceof TileAlembic)) {
break;
- TileAlembic alembic = (TileAlembic) tile;
+ }
+ final TileAlembic alembic = (TileAlembic) tile;
if ((alembic.aspect != null) && (alembic.amount < alembic.maxAmount)
&& (this.aspects.getAmount(alembic.aspect) > 0)) {
- takeFromContainer(alembic.aspect, 1);
+ this.takeFromContainer(alembic.aspect, 1);
alembic.addToContainer(alembic.aspect, 1);
exlude.merge(alembic.aspect, 1);
- this.worldObj.markBlockForUpdate(this.xCoord, this.yCoord,
- this.zCoord);
- this.worldObj.markBlockForUpdate(this.xCoord, this.yCoord + deep,
- this.zCoord);
+ this.worldObj.markBlockForUpdate(this.xCoord, this.yCoord, this.zCoord);
+ this.worldObj.markBlockForUpdate(this.xCoord, this.yCoord + deep, this.zCoord);
}
tile = null;
}
-
deep = 0;
while (deep < 5) {
++deep;
- tile = this.worldObj.getTileEntity(this.xCoord, this.yCoord + deep,
- this.zCoord);
- if (!(tile instanceof TileAlembic))
+ tile = this.worldObj.getTileEntity(this.xCoord, this.yCoord + deep, this.zCoord);
+ if (!(tile instanceof TileAlembic)) {
break;
- TileAlembic alembic = (TileAlembic) tile;
- if ((alembic.aspect == null) || (alembic.amount == 0))
- ;
+ }
+ final TileAlembic alembic = (TileAlembic) tile;
+ if ((alembic.aspect != null) && (alembic.amount != 0)) {
+ continue;
+ }
Aspect as = null;
if (alembic.aspectFilter == null) {
- as = takeRandomAspect(exlude);
- } else if (takeFromContainer(alembic.aspectFilter, 1)) {
+ as = this.takeRandomAspect(exlude);
+ } else if (this.takeFromContainer(alembic.aspectFilter, 1)) {
as = alembic.aspectFilter;
}
-
if (as != null) {
alembic.addToContainer(as, 1);
- this.worldObj.markBlockForUpdate(this.xCoord, this.yCoord,
- this.zCoord);
- this.worldObj.markBlockForUpdate(this.xCoord, this.yCoord + deep,
- this.zCoord);
+ this.worldObj.markBlockForUpdate(this.xCoord, this.yCoord, this.zCoord);
+ this.worldObj.markBlockForUpdate(this.xCoord, this.yCoord + deep, this.zCoord);
break;
}
-
}
-
}
-
- if ((this.furnaceBurnTime == 0) && (canSmelt())) {
- this.currentItemBurnTime = (this.furnaceBurnTime = TileEntityFurnace
- .getItemBurnTime(this.furnaceItemStacks[1]));
-
+ if ((this.furnaceBurnTime == 0) && this.canSmelt()) {
+ final int itemBurnTime = TileEntityFurnace.getItemBurnTime(this.furnaceItemStacks[1]);
+ this.furnaceBurnTime = itemBurnTime;
+ this.currentItemBurnTime = itemBurnTime;
if (this.furnaceBurnTime > 0) {
- flag1 = true;
+ flag2 = true;
this.speedBoost = false;
-
if (this.furnaceItemStacks[1] != null) {
if (this.furnaceItemStacks[1].isItemEqual(new ItemStack(ConfigItems.itemResource, 1, 0))) {
this.speedBoost = true;
}
- this.furnaceItemStacks[1].stackSize -= 1;
-
+ final ItemStack itemStack = this.furnaceItemStacks[1];
+ --itemStack.stackSize;
if (this.furnaceItemStacks[1].stackSize == 0) {
this.furnaceItemStacks[1] = this.furnaceItemStacks[1].getItem()
.getContainerItem(this.furnaceItemStacks[1]);
@@ -296,126 +288,134 @@ public class TileFastAlchemyFurnace extends TileAlchemyFurnace {
}
}
}
-
- if ((isBurning()) && (canSmelt())) {
- this.furnaceCookTime += 1;
-
+ if (this.isBurning() && this.canSmelt()) {
+ ++this.furnaceCookTime;
if (this.furnaceCookTime >= this.smeltTime) {
this.furnaceCookTime = 0;
- smeltItem();
- flag1 = true;
+ this.smeltItem();
+ flag2 = true;
}
} else {
this.furnaceCookTime = 0;
}
-
- if (flag != this.furnaceBurnTime > 0) {
- flag1 = true;
+ if (flag != (this.furnaceBurnTime > 0)) {
+ flag2 = true;
this.worldObj.markBlockForUpdate(this.xCoord, this.yCoord, this.zCoord);
}
}
-
- if (!(flag1))
- return;
- markDirty();
+ if (flag2) {
+ this.markDirty();
+ }
}
private boolean canSmelt() {
if (this.furnaceItemStacks[0] == null) {
return false;
}
-
AspectList al = ThaumcraftCraftingManager.getObjectTags(this.furnaceItemStacks[0]);
al = ThaumcraftCraftingManager.getBonusTags(this.furnaceItemStacks[0], al);
-
- if ((al == null) || (al.size() == 0))
+ if ((al == null) || (al.size() == 0)) {
return false;
- int vs = al.visSize();
- if (vs > this.maxVis - this.vis)
+ }
+ final int vs = al.visSize();
+ if (vs > (this.maxVis - this.vis)) {
return false;
- this.smeltTime = (int) (vs * 10 * (1.0F - (0.125F * this.bellows)));
+ }
+ this.smeltTime = (int) (vs * 10 * (1.0f - (0.125f * this.bellows)));
return true;
}
+ @Override
public void getBellows() {
- this.bellows = TileBellows.getBellows(this.worldObj, this.xCoord, this.yCoord,
- this.zCoord, ForgeDirection.VALID_DIRECTIONS);
+ this.bellows = TileBellows.getBellows(this.worldObj, this.xCoord, this.yCoord, this.zCoord,
+ ForgeDirection.VALID_DIRECTIONS);
}
+ @Override
public void smeltItem() {
- if (!(canSmelt())) {
- return;
- }
- AspectList al = ThaumcraftCraftingManager.getObjectTags(this.furnaceItemStacks[0]);
- al = ThaumcraftCraftingManager.getBonusTags(this.furnaceItemStacks[0], al);
-
- for (Aspect a : al.getAspects()) {
- this.aspects.add(a, al.getAmount(a));
+ if (this.canSmelt()) {
+ AspectList al = ThaumcraftCraftingManager.getObjectTags(this.furnaceItemStacks[0]);
+ al = ThaumcraftCraftingManager.getBonusTags(this.furnaceItemStacks[0], al);
+ for (final Aspect a : al.getAspects()) {
+ this.aspects.add(a, al.getAmount(a));
+ }
+ this.vis = this.aspects.visSize();
+ final ItemStack itemStack = this.furnaceItemStacks[0];
+ --itemStack.stackSize;
+ if (this.furnaceItemStacks[0].stackSize <= 0) {
+ this.furnaceItemStacks[0] = null;
+ }
}
-
- this.vis = this.aspects.visSize();
-
- this.furnaceItemStacks[0].stackSize -= 1;
-
- if (this.furnaceItemStacks[0].stackSize > 0)
- return;
- this.furnaceItemStacks[0] = null;
}
- public static boolean isItemFuel(ItemStack par0ItemStack) {
- return (TileEntityFurnace.getItemBurnTime(par0ItemStack) > 0);
+ public static boolean isItemFuel(final ItemStack par0ItemStack) {
+ return TileEntityFurnace.getItemBurnTime(par0ItemStack) > 0;
}
- public boolean func_70300_a(EntityPlayer par1EntityPlayer) {
- return (this.worldObj.getTileEntity(this.xCoord, this.yCoord,
- this.zCoord) == this);
+ @Override
+ public boolean isUseableByPlayer(final EntityPlayer par1EntityPlayer) {
+ return (this.worldObj.getTileEntity(this.xCoord, this.yCoord, this.zCoord) == this)
+ && (par1EntityPlayer.getDistanceSq(this.xCoord + 0.5, this.yCoord + 0.5, this.zCoord + 0.5) <= 64.0);
}
- public void func_70295_k_() {
+ @Override
+ public void openInventory() {
}
- public void func_70305_f() {
+ @Override
+ public void closeInventory() {
}
- public boolean func_94041_b(int par1, ItemStack par2ItemStack) {
+ @Override
+ public boolean isItemValidForSlot(final int par1, final ItemStack par2ItemStack) {
if (par1 == 0) {
AspectList al = ThaumcraftCraftingManager.getObjectTags(par2ItemStack);
al = ThaumcraftCraftingManager.getBonusTags(par2ItemStack, al);
- if ((al != null) && (al.size() > 0))
+ if ((al != null) && (al.size() > 0)) {
return true;
+ }
}
- return ((par1 == 1) ? isItemFuel(par2ItemStack) : false);
+ return (par1 == 1) && isItemFuel(par2ItemStack);
}
- public int[] func_94128_d(int par1) {
- return ((par1 == 1) ? slots_top : (par1 == 0) ? slots_bottom : slots_sides);
+ @Override
+ public int[] getAccessibleSlotsFromSide(final int par1) {
+ return (par1 == 0)
+ ? TileFastAlchemyFurnace.slots_bottom
+ : ((par1 == 1) ? TileFastAlchemyFurnace.slots_top : TileFastAlchemyFurnace.slots_sides);
}
- public boolean func_102007_a(int par1, ItemStack par2ItemStack, int par3) {
- return ((par3 == 1) ? false : func_94041_b(par1, par2ItemStack));
+ @Override
+ public boolean canInsertItem(final int par1, final ItemStack par2ItemStack, final int par3) {
+ return (par3 != 1) && this.isItemValidForSlot(par1, par2ItemStack);
}
- public boolean func_102008_b(int par1, ItemStack par2ItemStack, int par3) {
- return ((par3 != 0) || (par1 != 1) || (par2ItemStack.getItem() == Items.bucket));
+ @Override
+ public boolean canExtractItem(final int par1, final ItemStack par2ItemStack, final int par3) {
+ return (par3 != 0) || (par1 != 1) || (par2ItemStack.getItem() == Items.bucket);
}
- public Aspect takeRandomAspect(AspectList exlude) {
+ @Override
+ public Aspect takeRandomAspect(final AspectList exlude) {
if (this.aspects.size() > 0) {
- AspectList temp = this.aspects.copy();
- if (exlude.size() > 0)
- for (Aspect a : exlude.getAspects())
+ final AspectList temp = this.aspects.copy();
+ if (exlude.size() > 0) {
+ for (final Aspect a : exlude.getAspects()) {
temp.remove(a);
+ }
+ }
if (temp.size() > 0) {
- Aspect tag = temp.getAspects()[this.worldObj.rand.nextInt(temp.getAspects().length)];
+ final Aspect tag = temp.getAspects()[this.worldObj.rand.nextInt(temp.getAspects().length)];
this.aspects.remove(tag, 1);
- this.vis -= 1;
+ --this.vis;
return tag;
}
}
return null;
}
- public boolean takeFromContainer(Aspect tag, int amount) {
+ @Override
+ public boolean takeFromContainer(final Aspect tag, final int amount) {
if ((this.aspects != null) && (this.aspects.getAmount(tag) >= amount)) {
this.aspects.remove(tag, amount);
this.vis -= amount;
@@ -423,4 +423,10 @@ public class TileFastAlchemyFurnace extends TileAlchemyFurnace {
}
return false;
}
+
+ static {
+ slots_bottom = new int[]{1};
+ slots_top = new int[0];
+ slots_sides = new int[]{0};
+ }
} \ No newline at end of file