aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/block
diff options
context:
space:
mode:
authorAlkalus <3060479+draknyte1@users.noreply.github.com>2018-10-22 16:03:53 +0100
committerAlkalus <3060479+draknyte1@users.noreply.github.com>2018-10-22 16:03:53 +0100
commita4d1dde84d4aa78783d36a7348a436ea96c3166b (patch)
treefb2221784a83a06b5400a7c12611093f12592e3c /src/Java/gtPlusPlus/core/block
parent599e76a49acd06306137080cebe19135d6a4f881 (diff)
downloadGT5-Unofficial-a4d1dde84d4aa78783d36a7348a436ea96c3166b.tar.gz
GT5-Unofficial-a4d1dde84d4aa78783d36a7348a436ea96c3166b.tar.bz2
GT5-Unofficial-a4d1dde84d4aa78783d36a7348a436ea96c3166b.zip
+ Added a Machine that easily allows reconfiguring integrated circuits.
% Adjusted tooltip of the MK IV Fusion reactor to reflect new tier casing requirements.
Diffstat (limited to 'src/Java/gtPlusPlus/core/block')
-rw-r--r--src/Java/gtPlusPlus/core/block/ModBlocks.java5
-rw-r--r--src/Java/gtPlusPlus/core/block/general/MiningExplosives.java3
-rw-r--r--src/Java/gtPlusPlus/core/block/machine/CircuitProgrammer.java135
3 files changed, 140 insertions, 3 deletions
diff --git a/src/Java/gtPlusPlus/core/block/ModBlocks.java b/src/Java/gtPlusPlus/core/block/ModBlocks.java
index 35dd65a8f1..5bff9dd744 100644
--- a/src/Java/gtPlusPlus/core/block/ModBlocks.java
+++ b/src/Java/gtPlusPlus/core/block/ModBlocks.java
@@ -21,6 +21,7 @@ import net.minecraftforge.fluids.Fluid;
public final class ModBlocks {
+ public static Block blockCircuitProgrammer;
public static Block blockFakeMiningPipe;
public static Block blockFakeMiningHead;
@@ -95,7 +96,7 @@ public final class ModBlocks {
blockFirePit = new FirePit();
blockFishTrap = new FishTrap();
blockInfiniteFLuidTank = new FluidTankInfinite();
- blockOreFluorite = new BlockBaseOre.oldOreBlock("oreFluorite", "Fluorite", Material.rock, BlockTypes.ORE, Utils.rgbtoHexValue(120, 120, 30), 3);
+ //blockOreFluorite = new BlockBaseOre.oldOreBlock("oreFluorite", "Fluorite", Material.rock, BlockTypes.ORE, Utils.rgbtoHexValue(120, 120, 30), 3);
blockMiningExplosive = new MiningExplosives();
blockHellfire = new HellFire();
blockProjectTable = new Machine_ProjectTable();
@@ -109,6 +110,8 @@ public final class ModBlocks {
blockFakeMiningPipe = new Mining_Pipe_Fake();
blockFakeMiningHead = new Mining_Head_Fake();
+ blockCircuitProgrammer = new CircuitProgrammer();
+
blockPlayerDoorWooden = new PlayerDoors(Material.wood, "door_wood", true);
blockPlayerDoorIron = new PlayerDoors(Material.iron, "door_iron", true);
blockPlayerDoorCustom_Glass = new PlayerDoors(Material.glass, "door_glass", false);
diff --git a/src/Java/gtPlusPlus/core/block/general/MiningExplosives.java b/src/Java/gtPlusPlus/core/block/general/MiningExplosives.java
index ceb35ad673..45345ef176 100644
--- a/src/Java/gtPlusPlus/core/block/general/MiningExplosives.java
+++ b/src/Java/gtPlusPlus/core/block/general/MiningExplosives.java
@@ -30,11 +30,10 @@ public class MiningExplosives extends BlockTNT {
private IIcon textureBottom;
public MiningExplosives(){
- this.setCreativeTab(AddToCreativeTab.tabMachines);
this.setBlockName("blockMiningExplosives");
- this.setCreativeTab(AddToCreativeTab.tabMachines);
GameRegistry.registerBlock(this, "blockMiningExplosives");
LanguageRegistry.addName(this, "Earth Blasting Explosives");
+ this.setCreativeTab(AddToCreativeTab.tabMachines);
}
/**
diff --git a/src/Java/gtPlusPlus/core/block/machine/CircuitProgrammer.java b/src/Java/gtPlusPlus/core/block/machine/CircuitProgrammer.java
new file mode 100644
index 0000000000..e89ccf367f
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/block/machine/CircuitProgrammer.java
@@ -0,0 +1,135 @@
+package gtPlusPlus.core.block.machine;
+
+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 net.minecraft.block.Block;
+import net.minecraft.block.BlockContainer;
+import net.minecraft.block.material.Material;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.EnumCreatureType;
+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.IBlockAccess;
+import net.minecraft.world.World;
+
+import gtPlusPlus.GTplusplus;
+import gtPlusPlus.api.interfaces.ITileTooltip;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.handler.GuiHandler;
+import gtPlusPlus.core.item.base.itemblock.ItemBlockBasicTile;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.tileentities.general.TileEntityCircuitProgrammer;
+import gtPlusPlus.core.util.minecraft.InventoryUtils;
+
+public class CircuitProgrammer extends BlockContainer implements ITileTooltip
+{
+ @SideOnly(Side.CLIENT)
+ private IIcon textureTop;
+ @SideOnly(Side.CLIENT)
+ private IIcon textureBottom;
+ @SideOnly(Side.CLIENT)
+ private IIcon textureFront;
+
+ /**
+ * Determines which tooltip is displayed within the itemblock.
+ */
+ private final int mTooltipID = 4;
+
+ @Override
+ public int getTooltipID() {
+ return this.mTooltipID;
+ }
+
+ @SuppressWarnings("deprecation")
+ public CircuitProgrammer(){
+ super(Material.iron);
+ this.setBlockName("blockCircuitProgrammer");
+ this.setCreativeTab(AddToCreativeTab.tabMachines);
+ GameRegistry.registerBlock(this, ItemBlockBasicTile.class, "blockCircuitProgrammer");
+ LanguageRegistry.addName(this, "Circuit Programmer");
+
+ }
+
+ /**
+ * Gets the block's texture. Args: side, meta
+ */
+ @Override
+ @SideOnly(Side.CLIENT)
+ public IIcon getIcon(final int p_149691_1_, final 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(final IIconRegister p_149651_1_)
+ {
+ this.blockIcon = p_149651_1_.registerIcon(CORE.MODID + ":" + "metro/" + "TEXTURE_TECH_PANEL_B");
+ this.textureTop = p_149651_1_.registerIcon(CORE.MODID + ":" + "metro/" + "TEXTURE_TECH_PANEL_B");
+ this.textureBottom = p_149651_1_.registerIcon(CORE.MODID + ":" + "metro/" + "TEXTURE_METAL_PANEL_G");
+ this.textureFront = p_149651_1_.registerIcon(CORE.MODID + ":" + "metro/" + "TEXTURE_METAL_PANEL_I");
+ }
+
+ /**
+ * Called upon block activation (right click on the block.)
+ */
+ @Override
+ public boolean onBlockActivated(final World world, final int x, final int y, final int z, final EntityPlayer player, final int side, final float lx, final float ly, final float lz)
+ {
+ if (world.isRemote) {
+ return true;
+ }
+
+ final TileEntity te = world.getTileEntity(x, y, z);
+ if ((te != null) && (te instanceof TileEntityCircuitProgrammer)){
+ player.openGui(GTplusplus.instance, GuiHandler.GUI8, world, x, y, z);
+ return true;
+ }
+ return false;
+ }
+
+ @Override
+ public int getRenderBlockPass() {
+ return 1;
+ }
+
+ @Override
+ public boolean isOpaqueCube() {
+ return false;
+ }
+
+ @Override
+ public TileEntity createNewTileEntity(final World world, final int p_149915_2_) {
+ return new TileEntityCircuitProgrammer();
+ }
+
+ @Override
+ public void onBlockAdded(final World world, final int x, final int y, final int z) {
+ super.onBlockAdded(world, x, y, z);
+ }
+
+ @Override
+ public void breakBlock(final World world, final int x, final int y, final int z, final Block block, final int number) {
+ InventoryUtils.dropInventoryItems(world, x, y, z, block);
+ super.breakBlock(world, x, y, z, block, number);
+ }
+
+ @Override
+ public void onBlockPlacedBy(final World world, final int x, final int y, final int z, final EntityLivingBase entity, final ItemStack stack) {
+ if (stack.hasDisplayName()) {
+ ((TileEntityCircuitProgrammer) world.getTileEntity(x,y,z)).setCustomName(stack.getDisplayName());
+ }
+ }
+
+ @Override
+ public boolean canCreatureSpawn(final EnumCreatureType type, final IBlockAccess world, final int x, final int y, final int z) {
+ return false;
+ }
+
+} \ No newline at end of file