aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/block/general
diff options
context:
space:
mode:
authorAlkalus <draknyte1@hotmail.com>2017-11-24 17:20:03 +1000
committerAlkalus <draknyte1@hotmail.com>2017-11-24 17:20:03 +1000
commitb5fd7c514de976e5f0b550e751ae3a73001ac67e (patch)
tree3cf44e52935588e228cfa89af9c70d4b81648b97 /src/Java/gtPlusPlus/core/block/general
parent27a3675ced121616092334e68b8ae2719a86abaf (diff)
downloadGT5-Unofficial-b5fd7c514de976e5f0b550e751ae3a73001ac67e.tar.gz
GT5-Unofficial-b5fd7c514de976e5f0b550e751ae3a73001ac67e.tar.bz2
GT5-Unofficial-b5fd7c514de976e5f0b550e751ae3a73001ac67e.zip
$ Fixed issue where all my blocks allowed mobs to spawn.
% More Work on the Xp Converter. % Formatting.
Diffstat (limited to 'src/Java/gtPlusPlus/core/block/general')
-rw-r--r--src/Java/gtPlusPlus/core/block/general/BlockTankXpConverter.java59
-rw-r--r--src/Java/gtPlusPlus/core/block/general/HellFire.java41
-rw-r--r--src/Java/gtPlusPlus/core/block/general/antigrief/BlockWitherProof.java38
-rw-r--r--src/Java/gtPlusPlus/core/block/general/fluids/BlockFluidSludge.java6
4 files changed, 105 insertions, 39 deletions
diff --git a/src/Java/gtPlusPlus/core/block/general/BlockTankXpConverter.java b/src/Java/gtPlusPlus/core/block/general/BlockTankXpConverter.java
index d9cbfc9fe5..97a9ff2af6 100644
--- a/src/Java/gtPlusPlus/core/block/general/BlockTankXpConverter.java
+++ b/src/Java/gtPlusPlus/core/block/general/BlockTankXpConverter.java
@@ -4,6 +4,8 @@ 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 gregtech.api.interfaces.IToolStats;
+import gregtech.common.items.GT_MetaGenerated_Tool_01;
import gtPlusPlus.core.creative.AddToCreativeTab;
import gtPlusPlus.core.item.base.itemblock.ItemBlockEntityBase;
import gtPlusPlus.core.lib.CORE;
@@ -13,9 +15,13 @@ import gtPlusPlus.core.util.player.PlayerUtils;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.entity.EnumCreatureType;
import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+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;
public class BlockTankXpConverter extends BlockContainer {
@@ -66,16 +72,48 @@ public class BlockTankXpConverter extends BlockContainer {
return true;
}
else {
- final TileEntityXpConverter tank = (TileEntityXpConverter) world.getTileEntity(x, y, z);
- if (tank != null){
- if (tank.tankEssence.getFluid() != null){
- PlayerUtils.messagePlayer(player, "This tank contains "+tank.tankEssence.getFluidAmount()+"L of "+tank.tankEssence.getFluid().getLocalizedName());
+ boolean mDidScrewDriver = false;
+ //Check For Screwdriver
+ try {
+ final ItemStack mHandStack = PlayerUtils.getItemStackInPlayersHand(player);
+ final Item mHandItem = PlayerUtils.getItemInPlayersHand(player);
+ if (mHandItem instanceof IToolStats){
+ if (((mHandItem instanceof GT_MetaGenerated_Tool_01) && ((mHandItem.getDamage(mHandStack) == 22) || (mHandItem.getDamage(mHandStack) == 150)))){
+ final TileEntityXpConverter tile = (TileEntityXpConverter) world.getTileEntity(x, y, z);
+ if (tile != null){
+ mDidScrewDriver = true;
+ tile.onScrewdriverRightClick((byte) side, player, x, y, z);
+ }
+
+ }
}
- if (tank.tankLiquidXp.getFluid() != null){
- PlayerUtils.messagePlayer(player, "This tank contains "+tank.tankLiquidXp.getFluidAmount()+"L of "+tank.tankLiquidXp.getFluid().getLocalizedName());
+ }
+ catch (final Throwable t){
+ mDidScrewDriver = false;
+ }
+
+ if (!mDidScrewDriver){
+
+
+ try {
+ final TileEntityXpConverter tile = (TileEntityXpConverter) world.getTileEntity(x, y, z);
+ if (tile != null){
+ tile.onRightClick((byte) side, player, x, y, z);
+ }
}
- if ((tank.tankEssence.getFluid() != null) && (tank.tankLiquidXp.getFluid() != null)){
- PlayerUtils.messagePlayer(player, "This is worth "+EnchantingUtils.getLevelForLiquid(tank.tankLiquidXp.getFluidAmount()));
+ catch (final Throwable t){}
+
+ final TileEntityXpConverter tank = (TileEntityXpConverter) world.getTileEntity(x, y, z);
+ if (tank != null){
+ if (tank.tankEssence.getFluid() != null){
+ PlayerUtils.messagePlayer(player, "This tank contains "+tank.tankEssence.getFluidAmount()+"L of "+tank.tankEssence.getFluid().getLocalizedName());
+ }
+ if (tank.tankLiquidXp.getFluid() != null){
+ PlayerUtils.messagePlayer(player, "This tank contains "+tank.tankLiquidXp.getFluidAmount()+"L of "+tank.tankLiquidXp.getFluid().getLocalizedName());
+ }
+ if ((tank.tankEssence.getFluid() != null) && (tank.tankLiquidXp.getFluid() != null)){
+ PlayerUtils.messagePlayer(player, "This is worth "+EnchantingUtils.getLevelForLiquid(tank.tankLiquidXp.getFluidAmount())+" levels.");
+ }
}
}
}
@@ -102,4 +140,9 @@ public class BlockTankXpConverter extends BlockContainer {
super.onBlockAdded(world, x, y, z);
}
+ @Override
+ public boolean canCreatureSpawn(final EnumCreatureType type, final IBlockAccess world, final int x, final int y, final int z) {
+ return false;
+ }
+
}
diff --git a/src/Java/gtPlusPlus/core/block/general/HellFire.java b/src/Java/gtPlusPlus/core/block/general/HellFire.java
index 2adab5d5e7..d73d0eb085 100644
--- a/src/Java/gtPlusPlus/core/block/general/HellFire.java
+++ b/src/Java/gtPlusPlus/core/block/general/HellFire.java
@@ -1,6 +1,11 @@
package gtPlusPlus.core.block.general;
-import static net.minecraftforge.common.util.ForgeDirection.*;
+import static net.minecraftforge.common.util.ForgeDirection.DOWN;
+import static net.minecraftforge.common.util.ForgeDirection.EAST;
+import static net.minecraftforge.common.util.ForgeDirection.NORTH;
+import static net.minecraftforge.common.util.ForgeDirection.SOUTH;
+import static net.minecraftforge.common.util.ForgeDirection.UP;
+import static net.minecraftforge.common.util.ForgeDirection.WEST;
import java.util.IdentityHashMap;
import java.util.Map.Entry;
@@ -21,6 +26,7 @@ import net.minecraft.block.BlockFire;
import net.minecraft.block.material.MapColor;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.Entity;
+import net.minecraft.entity.EnumCreatureType;
import net.minecraft.init.Blocks;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
@@ -44,29 +50,29 @@ public class HellFire extends BlockFire {
this.setCreativeTab(AddToCreativeTab.tabBlock);
GameRegistry.registerBlock(this, "blockHellFire");
LanguageRegistry.addName(this, "Hellish Fire");
- enableBrutalFire();
+ this.enableBrutalFire();
}
private void enableBrutalFire() {
- for (Object o : Block.blockRegistry.getKeys())
+ for (final Object o : Block.blockRegistry.getKeys())
{
- String name = (String)o;
- Block b = Block.getBlockFromName(name);
+ final String name = (String)o;
+ final Block b = Block.getBlockFromName(name);
- if (b == Blocks.grass || b == Blocks.mycelium){
- int spread = 3;
- int flamm = 3;
+ if ((b == Blocks.grass) || (b == Blocks.mycelium)){
+ final int spread = 3;
+ final int flamm = 3;
this.setFireInfo(b, spread * 4, flamm * 4);
}
if (b != Blocks.air)
{
- int spread = Blocks.fire.getEncouragement(b);
- int flamm = Blocks.fire.getFlammability(b);
+ final int spread = Blocks.fire.getEncouragement(b);
+ final int flamm = Blocks.fire.getFlammability(b);
this.setFireInfo(b, spread * 4, flamm * 4);
}
}
-
+
//Special Case madness
this.setFireInfo(Blocks.brown_mushroom_block, 20, 100);
this.setFireInfo(Blocks.red_mushroom_block, 20, 100);
@@ -89,7 +95,7 @@ public class HellFire extends BlockFire {
@Override
public void updateTick(final World world, final int x, final int y, final int z, Random random) {
- random = new XSTR();
+ random = new XSTR();
if (world.getGameRules().getGameRuleBooleanValue("doFireTick")) {
final boolean flag = world.getBlock(x, y - 1, z).isFireSource(world, x, y - 1, z, UP);
@@ -296,13 +302,18 @@ public class HellFire extends BlockFire {
//Burn
@Override
- public void onEntityWalking(World world, int i, int j, int k, Entity entity) {
+ public void onEntityWalking(final World world, final int i, final int j, final int k, final Entity entity) {
entity.setFire(10);
}
+ @Override
+ public boolean canCreatureSpawn(final EnumCreatureType type, final IBlockAccess world, final int x, final int y, final int z) {
+ return false;
+ }
+
//Burn
@Override
- public void onEntityCollidedWithBlock(World world, int i, int j, int k, Entity entity) {
+ public void onEntityCollidedWithBlock(final World world, final int i, final int j, final int k, final Entity entity) {
entity.setFire(10);
}
@@ -399,7 +410,7 @@ public class HellFire extends BlockFire {
@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(final IIconRegister IIconRegister) {
- this.IIconArray = new IIcon[] {
+ this.IIconArray = new IIcon[] {
IIconRegister.registerIcon(CORE.MODID + ":" + "hellfire/" + "blockHellFire" + "_layer_0"),
IIconRegister.registerIcon(CORE.MODID + ":" + "hellfire/" + "blockHellFire" + "_layer_1") };
}
diff --git a/src/Java/gtPlusPlus/core/block/general/antigrief/BlockWitherProof.java b/src/Java/gtPlusPlus/core/block/general/antigrief/BlockWitherProof.java
index 297bcb3061..d093bf2e2f 100644
--- a/src/Java/gtPlusPlus/core/block/general/antigrief/BlockWitherProof.java
+++ b/src/Java/gtPlusPlus/core/block/general/antigrief/BlockWitherProof.java
@@ -7,11 +7,11 @@ import cpw.mods.fml.relauncher.SideOnly;
import gtPlusPlus.core.creative.AddToCreativeTab;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.math.MathUtils;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.Entity;
+import net.minecraft.entity.EnumCreatureType;
import net.minecraft.entity.boss.EntityDragon;
import net.minecraft.entity.boss.EntityWither;
import net.minecraft.entity.boss.IBossDisplayData;
@@ -56,39 +56,40 @@ public class BlockWitherProof extends Block{
this.blockIcon = iIcon.registerIcon(CORE.MODID + ":" + "blockFrameGt");
}
- public void onBlockExploded(World world, int x, int y, int z, Explosion explosion){
+ @Override
+ public void onBlockExploded(final World world, final int x, final int y, final int z, final Explosion explosion){
//prevent from being destroyed by wither and nukes.
}
@Override
- public void onBlockDestroyedByExplosion(World p_149723_1_, int p_149723_2_,
- int p_149723_3_, int p_149723_4_, Explosion p_149723_5_) {
-
+ public void onBlockDestroyedByExplosion(final World p_149723_1_, final int p_149723_2_,
+ final int p_149723_3_, final int p_149723_4_, final Explosion p_149723_5_) {
+
}
@Override
- public boolean canDropFromExplosion(Explosion p_149659_1_) {
+ public boolean canDropFromExplosion(final Explosion p_149659_1_) {
return false;
}
@Override
- public boolean canEntityDestroy(IBlockAccess world, int x, int y, int z,
- Entity entity) {
- if (entity == null || !entity.isEntityAlive()){
+ public boolean canEntityDestroy(final IBlockAccess world, final int x, final int y, final int z,
+ final Entity entity) {
+ if ((entity == null) || !entity.isEntityAlive()){
return false;
- }
- if (entity instanceof EntityWither || entity instanceof EntityDragon || entity instanceof IBossDisplayData){
+ }
+ if ((entity instanceof EntityWither) || (entity instanceof EntityDragon) || (entity instanceof IBossDisplayData)){
return false;
}
else {
- return super.canEntityDestroy(world, x, y, z, entity);
- }
+ return super.canEntityDestroy(world, x, y, z, entity);
+ }
}
-
-
+
+
//Colour Handling
private static final int mWitherColour = Utils.rgbtoHexValue(32, 32, 32);
-
+
@Override
public int colorMultiplier(final IBlockAccess par1IBlockAccess, final int par2, final int par3, final int par4){
return mWitherColour;
@@ -99,6 +100,11 @@ public class BlockWitherProof extends Block{
return mWitherColour;
}
+ @Override
+ public boolean canCreatureSpawn(final EnumCreatureType type, final IBlockAccess world, final int x, final int y, final int z) {
+ return false;
+ }
+
}
diff --git a/src/Java/gtPlusPlus/core/block/general/fluids/BlockFluidSludge.java b/src/Java/gtPlusPlus/core/block/general/fluids/BlockFluidSludge.java
index f40c1dbe7d..b87054748d 100644
--- a/src/Java/gtPlusPlus/core/block/general/fluids/BlockFluidSludge.java
+++ b/src/Java/gtPlusPlus/core/block/general/fluids/BlockFluidSludge.java
@@ -6,6 +6,7 @@ import gtPlusPlus.core.creative.AddToCreativeTab;
import gtPlusPlus.core.lib.CORE;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.entity.EnumCreatureType;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
@@ -52,4 +53,9 @@ public class BlockFluidSludge extends BlockFluidClassic {
return super.displaceIfPossible(world, x, y, z);
}
+ @Override
+ public boolean canCreatureSpawn(final EnumCreatureType type, final IBlockAccess world, final int x, final int y, final int z) {
+ return false;
+ }
+
}