aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/block
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus/core/block')
-rw-r--r--src/Java/gtPlusPlus/core/block/ModBlocks.java3
-rw-r--r--src/Java/gtPlusPlus/core/block/machine/Machine_Workbench.java74
-rw-r--r--src/Java/gtPlusPlus/core/block/machine/Machine_WorkbenchAdvanced.java114
-rw-r--r--src/Java/gtPlusPlus/core/block/machine/heliumgen/tileentity/TileEntityHeliumGenerator.java4
4 files changed, 176 insertions, 19 deletions
diff --git a/src/Java/gtPlusPlus/core/block/ModBlocks.java b/src/Java/gtPlusPlus/core/block/ModBlocks.java
index b7a2526e30..af7e5d833e 100644
--- a/src/Java/gtPlusPlus/core/block/ModBlocks.java
+++ b/src/Java/gtPlusPlus/core/block/ModBlocks.java
@@ -2,6 +2,7 @@ package gtPlusPlus.core.block;
import gtPlusPlus.core.block.general.LightGlass;
import gtPlusPlus.core.block.machine.Machine_Workbench;
+import gtPlusPlus.core.block.machine.Machine_WorkbenchAdvanced;
import gtPlusPlus.core.fluids.FluidRegistryHandler;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.util.Utils;
@@ -13,6 +14,7 @@ import cpw.mods.fml.common.registry.GameRegistry;
public final class ModBlocks {
public static Block blockWorkbench;
+ public static Block blockWorkbenchAdvanced;
//Blocks
//public static Block blockBloodSteel;
//public static Block blockStaballoy;
@@ -48,6 +50,7 @@ public final class ModBlocks {
//Workbench
blockWorkbench = new Machine_Workbench().setHardness(1.5F);
+ blockWorkbenchAdvanced = new Machine_WorkbenchAdvanced().setHardness(2.5F);
}
diff --git a/src/Java/gtPlusPlus/core/block/machine/Machine_Workbench.java b/src/Java/gtPlusPlus/core/block/machine/Machine_Workbench.java
index 308413d81f..ed986b756e 100644
--- a/src/Java/gtPlusPlus/core/block/machine/Machine_Workbench.java
+++ b/src/Java/gtPlusPlus/core/block/machine/Machine_Workbench.java
@@ -4,24 +4,31 @@ import gtPlusPlus.GTplusplus;
import gtPlusPlus.core.creative.AddToCreativeTab;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.tileentities.machines.TileEntityWorkbench;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.player.PlayerUtils;
+import ic2.core.item.tool.ItemToolWrench;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.init.Blocks;
+import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
+import buildcraft.api.tools.IToolWrench;
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 crazypants.enderio.api.tool.ITool;
public class Machine_Workbench extends BlockContainer
{
@SideOnly(Side.CLIENT)
private IIcon textureTop;
@SideOnly(Side.CLIENT)
+ private IIcon textureBottom;
+ @SideOnly(Side.CLIENT)
private IIcon textureFront;
@SuppressWarnings("deprecation")
@@ -31,7 +38,7 @@ public class Machine_Workbench extends BlockContainer
this.setBlockName("blockWorkbenchGT");
this.setCreativeTab(AddToCreativeTab.tabMachines);
GameRegistry.registerBlock(this, "blockWorkbenchGT");
- LanguageRegistry.addName(this, "Gregtech Workbench");
+ LanguageRegistry.addName(this, "Bronze Workbench");
}
@@ -42,16 +49,17 @@ public class Machine_Workbench extends BlockContainer
@SideOnly(Side.CLIENT)
public IIcon getIcon(int p_149691_1_, int p_149691_2_)
{
- return p_149691_1_ == 1 ? this.textureTop : (p_149691_1_ == 0 ? Blocks.planks.getBlockTextureFromSide(p_149691_1_) : (p_149691_1_ != 2 && p_149691_1_ != 4 ? this.blockIcon : this.textureFront));
+ return p_149691_1_ == 1 ? this.textureTop : (p_149691_1_ == 0 ? this.textureBottom : (p_149691_1_ != 2 && p_149691_1_ != 4 ? this.blockIcon : this.textureFront));
}
@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister p_149651_1_)
{
- this.blockIcon = p_149651_1_.registerIcon(CORE.MODID + ":" + "workbench");
- this.textureTop = p_149651_1_.registerIcon(CORE.MODID + ":" + "workbench" + "_top");
- this.textureFront = p_149651_1_.registerIcon(CORE.MODID + ":" + "workbench");
+ this.blockIcon = p_149651_1_.registerIcon(CORE.MODID + ":" + "TileEntities/" + "bronze_side_cabinet");
+ this.textureTop = p_149651_1_.registerIcon(CORE.MODID + ":" + "TileEntities/" + "bronze_top_crafting");
+ this.textureBottom = p_149651_1_.registerIcon(CORE.MODID + ":" + "TileEntities/" + "bronze_side");
+ this.textureFront = p_149651_1_.registerIcon(CORE.MODID + ":" + "TileEntities/" + "bronze_side_cabinet");
}
/**
@@ -59,17 +67,49 @@ public class Machine_Workbench extends BlockContainer
*/
@Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float lx, float ly, float lz)
- {
- if (world.isRemote) return true;
-
- TileEntity te = world.getTileEntity(x, y, z);
- if (te != null && te instanceof TileEntityWorkbench)
- {
- player.openGui(GTplusplus.instance, 3, world, x, y, z);
- return true;
- }
- return false;
- }
+ {
+
+ ItemStack heldItem = null;
+ if (world.isRemote){
+ heldItem = PlayerUtils.getItemStackInPlayersHand();
+ }
+
+ boolean holdingWrench = false;
+
+ if (heldItem != null){
+ if (heldItem.getItem() instanceof ItemToolWrench){
+ holdingWrench = true;
+ }
+ else if (heldItem.getItem() instanceof IToolWrench){
+ holdingWrench = true;
+ }
+ else if (heldItem.getItem() instanceof ITool){
+ holdingWrench = true;
+ }
+ /*else if (heldItem.getItem() instanceof GT_MetaGenerated_Tool){
+ GT_MetaGenerated_Tool testTool = (GT_MetaGenerated_Tool) heldItem.getItem();
+ if (testTool.canWrench(player, x, y, z)){
+ holdingWrench = true;
+ }
+ }*/
+ else {
+ holdingWrench = false;
+ }
+ }
+
+ if (world.isRemote) return true;
+
+ TileEntity te = world.getTileEntity(x, y, z);
+ if (te != null && te instanceof TileEntityWorkbench)
+ {
+ if (!holdingWrench){
+ player.openGui(GTplusplus.instance, 3, world, x, y, z);
+ return true;
+ }
+ Utils.LOG_INFO("Holding a Wrench, doing wrench things instead.");
+ }
+ return false;
+ }
@Override
public TileEntity createNewTileEntity(World world, int p_149915_2_) {
diff --git a/src/Java/gtPlusPlus/core/block/machine/Machine_WorkbenchAdvanced.java b/src/Java/gtPlusPlus/core/block/machine/Machine_WorkbenchAdvanced.java
new file mode 100644
index 0000000000..2f061ea298
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/block/machine/Machine_WorkbenchAdvanced.java
@@ -0,0 +1,114 @@
+package gtPlusPlus.core.block.machine;
+
+import gtPlusPlus.GTplusplus;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.tileentities.machines.TileEntityWorkbenchAdvanced;
+import gtPlusPlus.core.util.Utils;
+import gtPlusPlus.core.util.player.PlayerUtils;
+import ic2.core.item.tool.ItemToolWrench;
+import net.minecraft.block.BlockContainer;
+import net.minecraft.block.material.Material;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.IIcon;
+import net.minecraft.world.World;
+import buildcraft.api.tools.IToolWrench;
+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 crazypants.enderio.api.tool.ITool;
+
+public class Machine_WorkbenchAdvanced extends BlockContainer
+{
+ @SideOnly(Side.CLIENT)
+ private IIcon textureTop;
+ @SideOnly(Side.CLIENT)
+ private IIcon textureBottom;
+ @SideOnly(Side.CLIENT)
+ private IIcon textureFront;
+
+ @SuppressWarnings("deprecation")
+ public Machine_WorkbenchAdvanced()
+ {
+ super(Material.iron);
+ this.setBlockName("blockWorkbenchGTAdvanced");
+ this.setCreativeTab(AddToCreativeTab.tabMachines);
+ GameRegistry.registerBlock(this, "blockWorkbenchGTAdvanced");
+ LanguageRegistry.addName(this, "Advanced Workbench");
+
+ }
+
+ /**
+ * Gets the block's texture. Args: side, meta
+ */
+ @Override
+ @SideOnly(Side.CLIENT)
+ public IIcon getIcon(int p_149691_1_, int p_149691_2_)
+ {
+ return p_149691_1_ == 1 ? this.textureTop : (p_149691_1_ == 0 ? this.textureBottom : (p_149691_1_ != 2 && p_149691_1_ != 4 ? this.blockIcon : this.textureFront));
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void registerBlockIcons(IIconRegister p_149651_1_)
+ {
+ this.blockIcon = p_149651_1_.registerIcon(CORE.MODID + ":" + "TileEntities/" + "machine_top");
+ this.textureTop = p_149651_1_.registerIcon(CORE.MODID + ":" + "TileEntities/" + "cover_crafting");
+ this.textureBottom = p_149651_1_.registerIcon(CORE.MODID + ":" + "TileEntities/" + "machine_top");
+ this.textureFront = p_149651_1_.registerIcon(CORE.MODID + ":" + "TileEntities/" + "machine_top");
+ }
+
+ /**
+ * Called upon block activation (right click on the block.)
+ */
+ @Override
+ public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float lx, float ly, float lz)
+ {
+
+ ItemStack heldItem = PlayerUtils.getItemStackInPlayersHand(player);
+ if (world.isRemote) return true;
+ boolean holdingWrench = false;
+
+ if (heldItem != null){
+ if (heldItem.getItem() instanceof ItemToolWrench){
+ holdingWrench = true;
+ }
+ else if (heldItem.getItem() instanceof IToolWrench){
+ holdingWrench = true;
+ }
+ else if (heldItem.getItem() instanceof ITool){
+ holdingWrench = true;
+ }
+ /*else if (heldItem.getItem() instanceof GT_MetaGenerated_Tool){
+ GT_MetaGenerated_Tool testTool = (GT_MetaGenerated_Tool) heldItem.getItem();
+ if (testTool.canWrench(player, x, y, z)){
+ holdingWrench = true;
+ }
+ }*/
+ else {
+ holdingWrench = false;
+ }
+ }
+
+
+ TileEntity te = world.getTileEntity(x, y, z);
+ if (te != null && te instanceof TileEntityWorkbenchAdvanced)
+ {
+ if (!holdingWrench){
+ player.openGui(GTplusplus.instance, 4, world, x, y, z);
+ return true;
+ }
+ Utils.LOG_INFO("Holding a Wrench, doing wrench things instead.");
+ }
+ return false;
+ }
+
+ @Override
+ public TileEntity createNewTileEntity(World world, int p_149915_2_) {
+ return new TileEntityWorkbenchAdvanced(128000, 2);
+ }
+} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/core/block/machine/heliumgen/tileentity/TileEntityHeliumGenerator.java b/src/Java/gtPlusPlus/core/block/machine/heliumgen/tileentity/TileEntityHeliumGenerator.java
index 06c13f997a..5ffd70efc4 100644
--- a/src/Java/gtPlusPlus/core/block/machine/heliumgen/tileentity/TileEntityHeliumGenerator.java
+++ b/src/Java/gtPlusPlus/core/block/machine/heliumgen/tileentity/TileEntityHeliumGenerator.java
@@ -4,7 +4,7 @@ import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.block.machine.heliumgen.slots.InvSlotRadiation;
import gtPlusPlus.core.item.ModItems;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.item.UtilsItems;
+import gtPlusPlus.core.util.item.ItemUtils;
import ic2.api.Direction;
import ic2.api.reactor.IReactor;
import ic2.api.reactor.IReactorComponent;
@@ -51,7 +51,7 @@ public class TileEntityHeliumGenerator extends TileEntityInventory implements II
if(++progress >= 40){
//if(++progress >= 300){
if(heliumStack == null)
- heliumStack = UtilsItems.getSimpleStack(ModItems.itemHeliumBlob);
+ heliumStack = ItemUtils.getSimpleStack(ModItems.itemHeliumBlob);
else if(heliumStack.getItem() == ModItems.itemHeliumBlob && heliumStack.stackSize < 64)
heliumStack.stackSize++;
progress = 0;