From fd15ae499c11112c282a93c6cf342bc88698e8ac Mon Sep 17 00:00:00 2001 From: Alkalus Date: Mon, 20 Nov 2017 16:48:02 +1000 Subject: + Added a faster TC Alchemical Furnace. + Added a Wither-Proof block. % Tweaked Grindle GUI. --- src/Java/gtPlusPlus/core/block/ModBlocks.java | 4 + .../block/general/antigrief/BlockWitherProof.java | 104 +++++++++++++++++++++ 2 files changed, 108 insertions(+) create mode 100644 src/Java/gtPlusPlus/core/block/general/antigrief/BlockWitherProof.java (limited to 'src/Java/gtPlusPlus/core/block') diff --git a/src/Java/gtPlusPlus/core/block/ModBlocks.java b/src/Java/gtPlusPlus/core/block/ModBlocks.java index a469acfc49..6ebb21bb9c 100644 --- a/src/Java/gtPlusPlus/core/block/ModBlocks.java +++ b/src/Java/gtPlusPlus/core/block/ModBlocks.java @@ -4,6 +4,7 @@ import cpw.mods.fml.common.registry.GameRegistry; import gtPlusPlus.core.block.base.BasicBlock.BlockTypes; import gtPlusPlus.core.block.base.BlockBaseOre; import gtPlusPlus.core.block.general.*; +import gtPlusPlus.core.block.general.antigrief.BlockWitherProof; import gtPlusPlus.core.block.machine.*; import gtPlusPlus.core.fluids.FluidRegistryHandler; import gtPlusPlus.core.lib.CORE; @@ -45,6 +46,8 @@ public final class ModBlocks { public static Block blockProjectTable; public static Block blockTradeTable; public static Block blockModularTable; + + public static Block blockWitherGuard; public static void init() { Utils.LOG_INFO("Initializing Blocks."); @@ -74,6 +77,7 @@ public final class ModBlocks { blockProjectTable = new Machine_ProjectTable(); blockTradeTable = new Machine_TradeTable(); blockModularTable = new Machine_ModularityTable(); + blockWitherGuard = new BlockWitherProof(); } diff --git a/src/Java/gtPlusPlus/core/block/general/antigrief/BlockWitherProof.java b/src/Java/gtPlusPlus/core/block/general/antigrief/BlockWitherProof.java new file mode 100644 index 0000000000..297bcb3061 --- /dev/null +++ b/src/Java/gtPlusPlus/core/block/general/antigrief/BlockWitherProof.java @@ -0,0 +1,104 @@ +package gtPlusPlus.core.block.general.antigrief; + +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.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.boss.EntityDragon; +import net.minecraft.entity.boss.EntityWither; +import net.minecraft.entity.boss.IBossDisplayData; +import net.minecraft.world.Explosion; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; + +public class BlockWitherProof extends Block{ + + public BlockWitherProof(){ + super(Material.redstoneLight); + this.setBlockName(Utils.sanitizeString("blockBlackGate")); + this.setBlockTextureName(CORE.MODID + ":" + "blockFrameGt"); + this.setCreativeTab(AddToCreativeTab.tabBlock); + this.setHardness(-1F); + this.setResistance(5000.0F); + this.setHarvestLevel("pickaxe", 3); + this.setStepSound(soundTypeMetal); + LanguageRegistry.addName(this, "Wither Cage"); + GameRegistry.registerBlock(this, Utils.sanitizeString("blockBlackGate")); + + } + + public String GetProperName(){ + return "Wither Cage"; + } + + @Override + @SideOnly(Side.CLIENT) + public int getRenderBlockPass(){ + return 1; + } + + @Override + public boolean isOpaqueCube(){ + return false; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(final IIconRegister iIcon){ + this.blockIcon = iIcon.registerIcon(CORE.MODID + ":" + "blockFrameGt"); + } + + public void onBlockExploded(World world, int x, int y, int z, 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_) { + + } + + @Override + public boolean canDropFromExplosion(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()){ + return false; + } + if (entity instanceof EntityWither || entity instanceof EntityDragon || entity instanceof IBossDisplayData){ + return false; + } + else { + 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; + } + + @Override + public int getRenderColor(final int aMeta) { + return mWitherColour; + } + + + +} -- cgit From be05aadfba9659ec68219554ae96b81de5549034 Mon Sep 17 00:00:00 2001 From: Alkalus Date: Fri, 24 Nov 2017 13:41:48 +1000 Subject: + Added a simple block that can convert liquid xp to mob essence and back. + Added some Enchantment utilities. --- src/Java/gtPlusPlus/core/block/ModBlocks.java | 23 ++++- .../core/block/general/BlockTankXpConverter.java | 105 +++++++++++++++++++++ 2 files changed, 123 insertions(+), 5 deletions(-) create mode 100644 src/Java/gtPlusPlus/core/block/general/BlockTankXpConverter.java (limited to 'src/Java/gtPlusPlus/core/block') diff --git a/src/Java/gtPlusPlus/core/block/ModBlocks.java b/src/Java/gtPlusPlus/core/block/ModBlocks.java index 6ebb21bb9c..992cd7e991 100644 --- a/src/Java/gtPlusPlus/core/block/ModBlocks.java +++ b/src/Java/gtPlusPlus/core/block/ModBlocks.java @@ -3,9 +3,20 @@ package gtPlusPlus.core.block; import cpw.mods.fml.common.registry.GameRegistry; import gtPlusPlus.core.block.base.BasicBlock.BlockTypes; import gtPlusPlus.core.block.base.BlockBaseOre; -import gtPlusPlus.core.block.general.*; +import gtPlusPlus.core.block.general.BlockTankXpConverter; +import gtPlusPlus.core.block.general.FirePit; +import gtPlusPlus.core.block.general.FluidTankInfinite; +import gtPlusPlus.core.block.general.HellFire; +import gtPlusPlus.core.block.general.LightGlass; +import gtPlusPlus.core.block.general.MiningExplosives; import gtPlusPlus.core.block.general.antigrief.BlockWitherProof; -import gtPlusPlus.core.block.machine.*; +import gtPlusPlus.core.block.machine.FishTrap; +import gtPlusPlus.core.block.machine.HeliumGenerator; +import gtPlusPlus.core.block.machine.Machine_ModularityTable; +import gtPlusPlus.core.block.machine.Machine_ProjectTable; +import gtPlusPlus.core.block.machine.Machine_TradeTable; +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; @@ -38,16 +49,17 @@ public final class ModBlocks { public static Block blockFirePit; public static Block blockOreFluorite; - + public static Block blockMiningExplosive; - + public static Block blockHellfire; public static Block blockInfiniteFLuidTank; public static Block blockProjectTable; public static Block blockTradeTable; public static Block blockModularTable; - + public static Block blockWitherGuard; + public static Block blockXpConverter; public static void init() { Utils.LOG_INFO("Initializing Blocks."); @@ -78,6 +90,7 @@ public final class ModBlocks { blockTradeTable = new Machine_TradeTable(); blockModularTable = new Machine_ModularityTable(); blockWitherGuard = new BlockWitherProof(); + blockXpConverter = new BlockTankXpConverter(); } diff --git a/src/Java/gtPlusPlus/core/block/general/BlockTankXpConverter.java b/src/Java/gtPlusPlus/core/block/general/BlockTankXpConverter.java new file mode 100644 index 0000000000..aa19556317 --- /dev/null +++ b/src/Java/gtPlusPlus/core/block/general/BlockTankXpConverter.java @@ -0,0 +1,105 @@ +package gtPlusPlus.core.block.general; + +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.core.creative.AddToCreativeTab; +import gtPlusPlus.core.item.base.itemblock.ItemBlockEntityBase; +import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.core.tileentities.general.TileEntityXpConverter; +import gtPlusPlus.core.util.enchantment.EnchantmentUtils; +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.player.EntityPlayer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; + +public class BlockTankXpConverter extends BlockContainer { + + @SideOnly(Side.CLIENT) + private IIcon textureTop; + @SideOnly(Side.CLIENT) + private IIcon textureBottom; + @SideOnly(Side.CLIENT) + private IIcon textureFront; + + @SuppressWarnings("deprecation") + public BlockTankXpConverter() { + super(Material.iron); + this.setBlockName("blockTankXpConverter"); + this.setCreativeTab(AddToCreativeTab.tabMachines); + GameRegistry.registerBlock(this, ItemBlockEntityBase.class, "blockTankXpConverter"); + LanguageRegistry.addName(this, "Xp Converter"); + } + + /** + * 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 + ":" + "SwirlYellow"); + this.textureTop = p_149651_1_.registerIcon(CORE.MODID + ":" + "SwirlYellow"); + this.textureBottom = p_149651_1_.registerIcon(CORE.MODID + ":" + "SwirlYellow"); + this.textureFront = p_149651_1_.registerIcon(CORE.MODID + ":" + "SwirlYellow"); + } + + /** + * 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; + } + 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()); + } + 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 "+EnchantmentUtils.getLevelForLiquid(tank.tankLiquidXp.getFluidAmount())); + } + } + } + return true; + } + + @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 TileEntityXpConverter(); + } + + @Override + public void onBlockAdded(final World world, final int x, final int y, final int z) { + super.onBlockAdded(world, x, y, z); + } + +} -- cgit From 27a3675ced121616092334e68b8ae2719a86abaf Mon Sep 17 00:00:00 2001 From: Alkalus Date: Fri, 24 Nov 2017 13:50:31 +1000 Subject: % Refactored a package and class name. --- src/Java/gtPlusPlus/core/block/general/BlockTankXpConverter.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/Java/gtPlusPlus/core/block') diff --git a/src/Java/gtPlusPlus/core/block/general/BlockTankXpConverter.java b/src/Java/gtPlusPlus/core/block/general/BlockTankXpConverter.java index aa19556317..d9cbfc9fe5 100644 --- a/src/Java/gtPlusPlus/core/block/general/BlockTankXpConverter.java +++ b/src/Java/gtPlusPlus/core/block/general/BlockTankXpConverter.java @@ -8,7 +8,7 @@ import gtPlusPlus.core.creative.AddToCreativeTab; import gtPlusPlus.core.item.base.itemblock.ItemBlockEntityBase; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.tileentities.general.TileEntityXpConverter; -import gtPlusPlus.core.util.enchantment.EnchantmentUtils; +import gtPlusPlus.core.util.enchanting.EnchantingUtils; import gtPlusPlus.core.util.player.PlayerUtils; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; @@ -75,7 +75,7 @@ public class BlockTankXpConverter extends BlockContainer { 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 "+EnchantmentUtils.getLevelForLiquid(tank.tankLiquidXp.getFluidAmount())); + PlayerUtils.messagePlayer(player, "This is worth "+EnchantingUtils.getLevelForLiquid(tank.tankLiquidXp.getFluidAmount())); } } } -- cgit From b5fd7c514de976e5f0b550e751ae3a73001ac67e Mon Sep 17 00:00:00 2001 From: Alkalus Date: Fri, 24 Nov 2017 17:20:03 +1000 Subject: $ Fixed issue where all my blocks allowed mobs to spawn. % More Work on the Xp Converter. % Formatting. --- .../gtPlusPlus/core/block/base/AdvancedBlock.java | 7 +++ .../gtPlusPlus/core/block/base/BasicBlock.java | 7 +++ .../gtPlusPlus/core/block/base/BlockBaseNBT.java | 19 ++++--- .../gtPlusPlus/core/block/base/BlockBaseOre.java | 6 +++ src/Java/gtPlusPlus/core/block/base/MetaBlock.java | 7 +++ .../core/block/general/BlockTankXpConverter.java | 59 +++++++++++++++++++--- .../gtPlusPlus/core/block/general/HellFire.java | 41 +++++++++------ .../block/general/antigrief/BlockWitherProof.java | 38 ++++++++------ .../block/general/fluids/BlockFluidSludge.java | 6 +++ .../core/block/machine/BlockGtFrameBox.java | 6 +++ .../gtPlusPlus/core/block/machine/FishTrap.java | 25 +++++---- .../block/machine/Machine_ModularityTable.java | 13 +++-- .../core/block/machine/Machine_ProjectTable.java | 8 ++- .../core/block/machine/Machine_TradeTable.java | 18 ++++--- .../core/block/machine/Machine_Workbench.java | 7 +++ 15 files changed, 201 insertions(+), 66 deletions(-) (limited to 'src/Java/gtPlusPlus/core/block') diff --git a/src/Java/gtPlusPlus/core/block/base/AdvancedBlock.java b/src/Java/gtPlusPlus/core/block/base/AdvancedBlock.java index 7a0b715138..d8e59f96c8 100644 --- a/src/Java/gtPlusPlus/core/block/base/AdvancedBlock.java +++ b/src/Java/gtPlusPlus/core/block/base/AdvancedBlock.java @@ -4,7 +4,9 @@ import gtPlusPlus.core.lib.CORE; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.EnumCreatureType; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; public class AdvancedBlock extends Block { @@ -28,4 +30,9 @@ public class AdvancedBlock extends Block { return false; } + @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/base/BasicBlock.java b/src/Java/gtPlusPlus/core/block/base/BasicBlock.java index 9e3a5fc37f..f97763dd54 100644 --- a/src/Java/gtPlusPlus/core/block/base/BasicBlock.java +++ b/src/Java/gtPlusPlus/core/block/base/BasicBlock.java @@ -5,7 +5,9 @@ import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.util.Utils; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; +import net.minecraft.entity.EnumCreatureType; import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; public class BasicBlock extends BlockContainer { @@ -62,4 +64,9 @@ public class BasicBlock extends BlockContainer { return null; } + @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/base/BlockBaseNBT.java b/src/Java/gtPlusPlus/core/block/base/BlockBaseNBT.java index 3ecb556e09..da308e270b 100644 --- a/src/Java/gtPlusPlus/core/block/base/BlockBaseNBT.java +++ b/src/Java/gtPlusPlus/core/block/base/BlockBaseNBT.java @@ -9,10 +9,12 @@ import gtPlusPlus.core.item.base.itemblock.ItemBlockNBT; import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; +import net.minecraft.entity.EnumCreatureType; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.world.Explosion; +import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; public abstract class BlockBaseNBT extends BlockContainer @@ -25,7 +27,7 @@ public abstract class BlockBaseNBT extends BlockContainer private IIcon textureFront; @SuppressWarnings("deprecation") - public BlockBaseNBT(Material material, String unlocalName, String displayName){ + public BlockBaseNBT(final Material material, final String unlocalName, final String displayName){ super(material); this.setBlockName(unlocalName); this.setCreativeTab(AddToCreativeTab.tabMachines); @@ -46,28 +48,33 @@ public abstract class BlockBaseNBT extends BlockContainer public abstract TileEntity createNewTileEntity(final World world, final int p_149915_2_); @Override - public void breakBlock(World world, int x, int y, int z, Block block, int meta) { + public void breakBlock(final World world, final int x, final int y, final int z, final Block block, final int meta) { super.breakBlock(world, x, y, z, block, meta); } @Override - public void onBlockDestroyedByPlayer(World world, int x, int y, int z, int meta) { + public void onBlockDestroyedByPlayer(final World world, final int x, final int y, final int z, final int meta) { super.onBlockDestroyedByPlayer(world, x, y, z, meta); } @Override - public void onBlockDestroyedByExplosion(World world, int x, int y, int z, Explosion explosion) { + public void onBlockDestroyedByExplosion(final World world, final int x, final int y, final int z, final Explosion explosion) { super.onBlockDestroyedByExplosion(world, x, y, z, explosion); } @Override - public void onBlockHarvested(World world, int x, int y, int z, int meta, EntityPlayer player) { + public void onBlockHarvested(final World world, final int x, final int y, final int z, final int meta, final EntityPlayer player) { super.onBlockHarvested(world, x, y, z, meta, player); } @Override - public void onBlockExploded(World world, int x, int y, int z, Explosion explosion) { + public void onBlockExploded(final World world, final int x, final int y, final int z, final Explosion explosion) { super.onBlockExploded(world, x, y, z, explosion); } + @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 diff --git a/src/Java/gtPlusPlus/core/block/base/BlockBaseOre.java b/src/Java/gtPlusPlus/core/block/base/BlockBaseOre.java index c1e58e9393..285f394971 100644 --- a/src/Java/gtPlusPlus/core/block/base/BlockBaseOre.java +++ b/src/Java/gtPlusPlus/core/block/base/BlockBaseOre.java @@ -6,6 +6,7 @@ import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.util.math.MathUtils; 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; @@ -71,6 +72,11 @@ public class BlockBaseOre extends BlockBaseModular{ return this.blockColour; } + @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/base/MetaBlock.java b/src/Java/gtPlusPlus/core/block/base/MetaBlock.java index 3e116eeb7f..880bb3a597 100644 --- a/src/Java/gtPlusPlus/core/block/base/MetaBlock.java +++ b/src/Java/gtPlusPlus/core/block/base/MetaBlock.java @@ -4,8 +4,10 @@ import java.util.List; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.EnumCreatureType; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.world.IBlockAccess; public class MetaBlock extends MultiTextureBlock { @@ -25,4 +27,9 @@ public class MetaBlock extends MultiTextureBlock { } } + @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 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; + } + } diff --git a/src/Java/gtPlusPlus/core/block/machine/BlockGtFrameBox.java b/src/Java/gtPlusPlus/core/block/machine/BlockGtFrameBox.java index cab02f9db6..0ed3aa5afd 100644 --- a/src/Java/gtPlusPlus/core/block/machine/BlockGtFrameBox.java +++ b/src/Java/gtPlusPlus/core/block/machine/BlockGtFrameBox.java @@ -4,6 +4,7 @@ import gtPlusPlus.core.block.base.BasicBlock.BlockTypes; import gtPlusPlus.core.block.base.MetaBlock; import gtPlusPlus.core.lib.CORE; import net.minecraft.block.material.Material; +import net.minecraft.entity.EnumCreatureType; import net.minecraft.world.IBlockAccess; public class BlockGtFrameBox extends MetaBlock { @@ -32,4 +33,9 @@ public class BlockGtFrameBox extends MetaBlock { return super.colorMultiplier(p_149720_1_, p_149720_2_, p_149720_3_, p_149720_4_); } + @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/machine/FishTrap.java b/src/Java/gtPlusPlus/core/block/machine/FishTrap.java index f2e15e24b6..fad1dff490 100644 --- a/src/Java/gtPlusPlus/core/block/machine/FishTrap.java +++ b/src/Java/gtPlusPlus/core/block/machine/FishTrap.java @@ -14,10 +14,12 @@ 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; public class FishTrap extends BlockContainer @@ -95,23 +97,28 @@ public class FishTrap extends BlockContainer } @Override - public void onBlockAdded(World world, int x, int y, int z) { + 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(World world, int x, int y, int z, Block block, int number) { - InventoryUtils.dropInventoryItems(world, x, y, z, block); - super.breakBlock(world, x, y, z, block, number); - } + 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(World world, int x, int y, int z, EntityLivingBase entity, ItemStack stack) { + public void onBlockPlacedBy(final World world, final int x, final int y, final int z, final EntityLivingBase entity, final ItemStack stack) { if (stack.hasDisplayName()) { - ((TileEntityFishTrap) world.getTileEntity(x,y,z)).setCustomName(stack.getDisplayName()); - } + ((TileEntityFishTrap) 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; + } + /*@Override public void breakBlock(World world, BlockPos pos, IBlockState blockstate) { TileEntityFishTrap te = (TileEntityFishTrap) world.getTileEntity(pos); diff --git a/src/Java/gtPlusPlus/core/block/machine/Machine_ModularityTable.java b/src/Java/gtPlusPlus/core/block/machine/Machine_ModularityTable.java index 9a11c9dadc..1b4c5ebd01 100644 --- a/src/Java/gtPlusPlus/core/block/machine/Machine_ModularityTable.java +++ b/src/Java/gtPlusPlus/core/block/machine/Machine_ModularityTable.java @@ -12,9 +12,11 @@ import gtPlusPlus.core.util.Utils; 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.tileentity.TileEntity; import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; public class Machine_ModularityTable extends BlockContainer @@ -67,9 +69,9 @@ public class Machine_ModularityTable extends BlockContainer } final TileEntity te = world.getTileEntity(x, y, z); if ((te != null) && (te instanceof TileEntityModularityTable)){ - player.openGui(GTplusplus.instance, 1, world, x, y, z); - Utils.LOG_INFO("Player opened GUI"); - return true; + player.openGui(GTplusplus.instance, 1, world, x, y, z); + Utils.LOG_INFO("Player opened GUI"); + return true; } return false; } @@ -79,4 +81,9 @@ public class Machine_ModularityTable extends BlockContainer return new TileEntityModularityTable(); } + @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 diff --git a/src/Java/gtPlusPlus/core/block/machine/Machine_ProjectTable.java b/src/Java/gtPlusPlus/core/block/machine/Machine_ProjectTable.java index 2c742b99db..939015adf7 100644 --- a/src/Java/gtPlusPlus/core/block/machine/Machine_ProjectTable.java +++ b/src/Java/gtPlusPlus/core/block/machine/Machine_ProjectTable.java @@ -10,7 +10,6 @@ import gtPlusPlus.core.creative.AddToCreativeTab; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.lib.LoadedMods; import gtPlusPlus.core.tileentities.machines.TileEntityProjectTable; -import gtPlusPlus.core.tileentities.machines.TileEntityWorkbench; import gtPlusPlus.core.util.Utils; import gtPlusPlus.core.util.player.PlayerUtils; import gtPlusPlus.core.util.reflect.ReflectionUtils; @@ -18,10 +17,12 @@ 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.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; @Optional.Interface(iface = "crazypants.enderio.api.tool.ITool", modid = "EnderIO") @@ -151,4 +152,9 @@ public class Machine_ProjectTable extends BlockContainer return false; } + @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 diff --git a/src/Java/gtPlusPlus/core/block/machine/Machine_TradeTable.java b/src/Java/gtPlusPlus/core/block/machine/Machine_TradeTable.java index 540ba61837..724b438b13 100644 --- a/src/Java/gtPlusPlus/core/block/machine/Machine_TradeTable.java +++ b/src/Java/gtPlusPlus/core/block/machine/Machine_TradeTable.java @@ -1,22 +1,19 @@ 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 gtPlusPlus.GTplusplus; import gtPlusPlus.core.block.base.BlockBaseNBT; -import gtPlusPlus.core.creative.AddToCreativeTab; -import gtPlusPlus.core.item.base.itemblock.ItemBlockNBT; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.tileentities.machines.TileEntityTradeTable; import gtPlusPlus.core.util.Utils; -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.tileentity.TileEntity; import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; public class Machine_TradeTable extends BlockBaseNBT @@ -53,9 +50,9 @@ public class Machine_TradeTable extends BlockBaseNBT final TileEntity te = world.getTileEntity(x, y, z); if ((te != null) && (te instanceof TileEntityTradeTable)) { - //Utils.LOG_INFO("Clicked on TE - ok"); - player.openGui(GTplusplus.instance, 6, world, x, y, z); - return true; + //Utils.LOG_INFO("Clicked on TE - ok"); + player.openGui(GTplusplus.instance, 6, world, x, y, z); + return true; } else { Utils.LOG_INFO("Bad TE"); @@ -68,4 +65,9 @@ public class Machine_TradeTable extends BlockBaseNBT return new TileEntityTradeTable(); } + @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 diff --git a/src/Java/gtPlusPlus/core/block/machine/Machine_Workbench.java b/src/Java/gtPlusPlus/core/block/machine/Machine_Workbench.java index 64a5c5af8b..b5c54ad9a8 100644 --- a/src/Java/gtPlusPlus/core/block/machine/Machine_Workbench.java +++ b/src/Java/gtPlusPlus/core/block/machine/Machine_Workbench.java @@ -17,10 +17,12 @@ 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.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; @Optional.Interface(iface = "crazypants.enderio.api.tool.ITool", modid = "EnderIO") @@ -150,4 +152,9 @@ public class Machine_Workbench extends BlockContainer return false; } + @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 -- cgit From ecbe25305fedc7119d034abc68547ebfed8b6725 Mon Sep 17 00:00:00 2001 From: Alkalus Date: Sat, 25 Nov 2017 15:25:40 +1000 Subject: $ More Fixes to the Xp Converter. --- .../core/block/general/BlockTankXpConverter.java | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) (limited to 'src/Java/gtPlusPlus/core/block') diff --git a/src/Java/gtPlusPlus/core/block/general/BlockTankXpConverter.java b/src/Java/gtPlusPlus/core/block/general/BlockTankXpConverter.java index 97a9ff2af6..e4270061cb 100644 --- a/src/Java/gtPlusPlus/core/block/general/BlockTankXpConverter.java +++ b/src/Java/gtPlusPlus/core/block/general/BlockTankXpConverter.java @@ -4,7 +4,6 @@ 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; @@ -75,17 +74,15 @@ public class BlockTankXpConverter extends BlockContainer { 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); - } - + final ItemStack mHandStack = PlayerUtils.getItemStackInPlayersHand(world, player.getDisplayName()); + final Item mHandItem = mHandStack.getItem(); + 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); } + } } catch (final Throwable t){ -- cgit From f30d9f3ad55ae18cec5e86cc6a7b0124847b9a1f Mon Sep 17 00:00:00 2001 From: Alkalus Date: Sun, 26 Nov 2017 19:09:55 +1000 Subject: % Made the Xp Converter more colourful. --- .../core/block/general/BlockTankXpConverter.java | 104 ++++++++++++++++++++- 1 file changed, 100 insertions(+), 4 deletions(-) (limited to 'src/Java/gtPlusPlus/core/block') diff --git a/src/Java/gtPlusPlus/core/block/general/BlockTankXpConverter.java b/src/Java/gtPlusPlus/core/block/general/BlockTankXpConverter.java index e4270061cb..c2afdfd21f 100644 --- a/src/Java/gtPlusPlus/core/block/general/BlockTankXpConverter.java +++ b/src/Java/gtPlusPlus/core/block/general/BlockTankXpConverter.java @@ -1,5 +1,9 @@ package gtPlusPlus.core.block.general; +import java.util.HashMap; +import java.util.Map; +import java.util.Random; + import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; import cpw.mods.fml.relauncher.Side; @@ -9,6 +13,8 @@ import gtPlusPlus.core.creative.AddToCreativeTab; import gtPlusPlus.core.item.base.itemblock.ItemBlockEntityBase; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.tileentities.general.TileEntityXpConverter; +import gtPlusPlus.core.util.Utils; +import gtPlusPlus.core.util.array.Triplet; import gtPlusPlus.core.util.enchanting.EnchantingUtils; import gtPlusPlus.core.util.player.PlayerUtils; import net.minecraft.block.BlockContainer; @@ -32,6 +38,10 @@ public class BlockTankXpConverter extends BlockContainer { @SideOnly(Side.CLIENT) private IIcon textureFront; + private int mRainbowTick = 0; + private int mRainbowTickMax = 0; + private final Map> mRainbowMap = new HashMap>(); + @SuppressWarnings("deprecation") public BlockTankXpConverter() { super(Material.iron); @@ -39,6 +49,10 @@ public class BlockTankXpConverter extends BlockContainer { this.setCreativeTab(AddToCreativeTab.tabMachines); GameRegistry.registerBlock(this, ItemBlockEntityBase.class, "blockTankXpConverter"); LanguageRegistry.addName(this, "Xp Converter"); + this.generateRainbowMap(); + if (!this.getTickRandomly()){ + this.setTickRandomly(true); + } } /** @@ -55,10 +69,10 @@ public class BlockTankXpConverter extends BlockContainer { @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(final IIconRegister p_149651_1_) { - this.blockIcon = p_149651_1_.registerIcon(CORE.MODID + ":" + "SwirlYellow"); - this.textureTop = p_149651_1_.registerIcon(CORE.MODID + ":" + "SwirlYellow"); - this.textureBottom = p_149651_1_.registerIcon(CORE.MODID + ":" + "SwirlYellow"); - this.textureFront = p_149651_1_.registerIcon(CORE.MODID + ":" + "SwirlYellow"); + this.blockIcon = p_149651_1_.registerIcon(CORE.MODID + ":" + "SwirlGray"); + this.textureTop = p_149651_1_.registerIcon(CORE.MODID + ":" + "SwirlGray"); + this.textureBottom = p_149651_1_.registerIcon(CORE.MODID + ":" + "SwirlGray"); + this.textureFront = p_149651_1_.registerIcon(CORE.MODID + ":" + "SwirlGray"); } /** @@ -142,4 +156,86 @@ public class BlockTankXpConverter extends BlockContainer { return false; } + private final boolean generateRainbowMap(){ + int id = 0; + this.mRainbowMap.put(id++, new Triplet( 0, 255, 0)); + this.mRainbowMap.put(id++, new Triplet( 51, 255, 0)); + this.mRainbowMap.put(id++, new Triplet(102, 255, 0)); + this.mRainbowMap.put(id++, new Triplet(153, 255, 0)); + this.mRainbowMap.put(id++, new Triplet(204, 255, 0)); + this.mRainbowMap.put(id++, new Triplet(255, 255, 0)); + this.mRainbowMap.put(id++, new Triplet(255, 204, 0)); + this.mRainbowMap.put(id++, new Triplet(255, 153, 0)); + this.mRainbowMap.put(id++, new Triplet(255, 102, 0)); + this.mRainbowMap.put(id++, new Triplet(255, 51, 0)); + this.mRainbowMap.put(id++, new Triplet(255, 0, 0)); + this.mRainbowMap.put(id++, new Triplet(255, 0, 51)); + this.mRainbowMap.put(id++, new Triplet(255, 0, 102)); + this.mRainbowMap.put(id++, new Triplet(255, 0, 153)); + this.mRainbowMap.put(id++, new Triplet(255, 0, 204)); + this.mRainbowMap.put(id++, new Triplet(255, 0, 255)); + this.mRainbowMap.put(id++, new Triplet(204, 0, 255)); + this.mRainbowMap.put(id++, new Triplet(153, 0, 255)); + this.mRainbowMap.put(id++, new Triplet(102, 0, 255)); + this.mRainbowMap.put(id++, new Triplet( 51, 0, 255)); + this.mRainbowMap.put(id++, new Triplet( 0, 0, 255)); + this.mRainbowMap.put(id++, new Triplet( 0, 51, 255)); + this.mRainbowMap.put(id++, new Triplet( 0, 102, 255)); + this.mRainbowMap.put(id++, new Triplet( 0, 153, 255)); + this.mRainbowMap.put(id++, new Triplet( 0, 204, 255)); + this.mRainbowMap.put(id++, new Triplet( 0, 255, 255)); + this.mRainbowMap.put(id++, new Triplet( 0, 255, 204)); + this.mRainbowMap.put(id++, new Triplet( 0, 255, 153)); + this.mRainbowMap.put(id++, new Triplet( 0, 255, 102)); + this.mRainbowMap.put(id++, new Triplet( 0, 255, 51)); + this.mRainbowTickMax = this.mRainbowMap.size(); + return true; + } + + @Override + public int getBlockColor() { + return Utils.rgbtoHexValue(0, 0, 0); + } + + @Override + public int colorMultiplier(final IBlockAccess p_149720_1_, final int p_149720_2_, final int p_149720_3_, final int p_149720_4_) { + + if ((this.mRainbowTick < 0) || (this.mRainbowTick > this.mRainbowTickMax)){ + this.mRainbowTick = 0; + } + //Utils.LOG_INFO("x: "+this.mRainbowTick); + if (this.mRainbowTick <= this.mRainbowTickMax){ + Triplet mT = this.mRainbowMap.get(this.mRainbowTick); + try { + return Utils.rgbtoHexValue(mT.getValue_1(), mT.getValue_1(), mT.getValue_1()); + } catch (final Throwable t){ + try { + mT = this.mRainbowMap.get(this.mRainbowTick-1); + return Utils.rgbtoHexValue(mT.getValue_1(), mT.getValue_1(), mT.getValue_1()); + } catch (final Throwable t1){ + return Utils.rgbtoHexValue(0, 0, 0); + } + } + } + + return Utils.rgbtoHexValue(0, 0, 0); + } + + @Override + public void updateTick(final World world, final int x, final int y, final int z, final Random rand) { + //this.mRainbowTick++; + super.updateTick(world, x, y, z, rand); + } + + @Override + public void randomDisplayTick(final World world, final int x, final int y, final int z, final Random rand) { + this.mRainbowTick++; + super.randomDisplayTick(world, x, y, z, rand); + } + + @Override + public int tickRate(final World p_149738_1_) { + return 20; + } + } -- cgit From 9e4dcc750d9aa3c37d278aec7404a9ded134f0b6 Mon Sep 17 00:00:00 2001 From: Alkalus Date: Sun, 26 Nov 2017 20:55:02 +1000 Subject: + Added Xp Converter crafting recipe. + Added compressed obsidian. + Added inverted obsidian. + Added crafting & uncrafting recipes for the compressed & inverted obsidian. % Formatting. --- src/Java/gtPlusPlus/core/block/ModBlocks.java | 3 + .../block/general/BlockCompressedObsidian.java | 90 +++++++++++++++ .../core/block/general/BlockTankXpConverter.java | 122 +++++++++++---------- 3 files changed, 158 insertions(+), 57 deletions(-) create mode 100644 src/Java/gtPlusPlus/core/block/general/BlockCompressedObsidian.java (limited to 'src/Java/gtPlusPlus/core/block') diff --git a/src/Java/gtPlusPlus/core/block/ModBlocks.java b/src/Java/gtPlusPlus/core/block/ModBlocks.java index 992cd7e991..770494c9f0 100644 --- a/src/Java/gtPlusPlus/core/block/ModBlocks.java +++ b/src/Java/gtPlusPlus/core/block/ModBlocks.java @@ -3,6 +3,7 @@ package gtPlusPlus.core.block; import cpw.mods.fml.common.registry.GameRegistry; import gtPlusPlus.core.block.base.BasicBlock.BlockTypes; import gtPlusPlus.core.block.base.BlockBaseOre; +import gtPlusPlus.core.block.general.BlockCompressedObsidian; import gtPlusPlus.core.block.general.BlockTankXpConverter; import gtPlusPlus.core.block.general.FirePit; import gtPlusPlus.core.block.general.FluidTankInfinite; @@ -60,6 +61,7 @@ public final class ModBlocks { public static Block blockWitherGuard; public static Block blockXpConverter; + public static Block blockCompressedObsidian; public static void init() { Utils.LOG_INFO("Initializing Blocks."); @@ -91,6 +93,7 @@ public final class ModBlocks { blockModularTable = new Machine_ModularityTable(); blockWitherGuard = new BlockWitherProof(); blockXpConverter = new BlockTankXpConverter(); + blockCompressedObsidian = new BlockCompressedObsidian(); } diff --git a/src/Java/gtPlusPlus/core/block/general/BlockCompressedObsidian.java b/src/Java/gtPlusPlus/core/block/general/BlockCompressedObsidian.java new file mode 100644 index 0000000000..48ee7709ec --- /dev/null +++ b/src/Java/gtPlusPlus/core/block/general/BlockCompressedObsidian.java @@ -0,0 +1,90 @@ +package gtPlusPlus.core.block.general; + +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + +import cpw.mods.fml.common.registry.GameRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import gtPlusPlus.core.creative.AddToCreativeTab; +import gtPlusPlus.core.item.base.itemblock.ItemBlockMeta; +import gtPlusPlus.core.lib.CORE; +import net.minecraft.block.BlockObsidian; +import net.minecraft.block.material.MapColor; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; + +public class BlockCompressedObsidian extends BlockObsidian { + + @SideOnly(Side.CLIENT) + private final IIcon textureArray[] = new IIcon[6]; + + public BlockCompressedObsidian() { + this.setBlockName("blockCompressedObsidian"); + this.setCreativeTab(AddToCreativeTab.tabMachines); + GameRegistry.registerBlock(this, ItemBlockMeta.class, "blockCompressedObsidian"); + } + + @Override + public MapColor getMapColor(final int meta) { + if (meta != 5) { + return MapColor.obsidianColor; + } + else { + return MapColor.sandColor; + } + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(final IIconRegister iicon) { + this.textureArray[0] = iicon.registerIcon(CORE.MODID + ":" + "compressed/" + "obsidian1"); + this.textureArray[1] = iicon.registerIcon(CORE.MODID + ":" + "compressed/" + "obsidian2"); + this.textureArray[2] = iicon.registerIcon(CORE.MODID + ":" + "compressed/" + "obsidian3"); + this.textureArray[3] = iicon.registerIcon(CORE.MODID + ":" + "compressed/" + "obsidian4"); + this.textureArray[4] = iicon.registerIcon(CORE.MODID + ":" + "compressed/" + "obsidian5"); + this.textureArray[5] = iicon.registerIcon(CORE.MODID + ":" + "compressed/" + "obsidian_invert"); + } + + /** + * Gets the block's texture. Args: side, meta + */ + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(final int side, final int meta) { + return this.textureArray[meta]; + } + + @Override + public int damageDropped(final int damage) { + return damage; + } + + @Override + public void getSubBlocks(final Item item, final CreativeTabs tab, final List list) { + for (int i = 0; i < 6; i++) { + list.add(new ItemStack(item, 1, i)); + } + } + + @Override + public Item getItemDropped(final int meta, final Random rand, final int fortune) { + return Item.getItemFromBlock(this); + } + + @Override + public ArrayList getDrops(final World world, final int x, final int y, final int z, final int metadata, + final int fortune) { + int m = metadata; + if (m == 5) { + m = 1; + } + return super.getDrops(world, x, y, z, m, fortune); + } + +} diff --git a/src/Java/gtPlusPlus/core/block/general/BlockTankXpConverter.java b/src/Java/gtPlusPlus/core/block/general/BlockTankXpConverter.java index c2afdfd21f..7e1ab75b84 100644 --- a/src/Java/gtPlusPlus/core/block/general/BlockTankXpConverter.java +++ b/src/Java/gtPlusPlus/core/block/general/BlockTankXpConverter.java @@ -50,7 +50,7 @@ public class BlockTankXpConverter extends BlockContainer { GameRegistry.registerBlock(this, ItemBlockEntityBase.class, "blockTankXpConverter"); LanguageRegistry.addName(this, "Xp Converter"); this.generateRainbowMap(); - if (!this.getTickRandomly()){ + if (!this.getTickRandomly()) { this.setTickRandomly(true); } } @@ -86,44 +86,48 @@ public class BlockTankXpConverter extends BlockContainer { } else { boolean mDidScrewDriver = false; - //Check For Screwdriver + // Check For Screwdriver try { final ItemStack mHandStack = PlayerUtils.getItemStackInPlayersHand(world, player.getDisplayName()); final Item mHandItem = mHandStack.getItem(); - if (((mHandItem instanceof GT_MetaGenerated_Tool_01) && ((mHandItem.getDamage(mHandStack) == 22) || (mHandItem.getDamage(mHandStack) == 150)))){ + 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){ + if (tile != null) { mDidScrewDriver = true; tile.onScrewdriverRightClick((byte) side, player, x, y, z); } } } - catch (final Throwable t){ + catch (final Throwable t) { mDidScrewDriver = false; } - if (!mDidScrewDriver){ - + if (!mDidScrewDriver) { try { final TileEntityXpConverter tile = (TileEntityXpConverter) world.getTileEntity(x, y, z); - if (tile != null){ + if (tile != null) { tile.onRightClick((byte) side, player, x, y, z); } } - catch (final Throwable t){} + 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 != 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.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."); + if ((tank.tankEssence.getFluid() != null) && (tank.tankLiquidXp.getFluid() != null)) { + PlayerUtils.messagePlayer(player, "This is worth " + + EnchantingUtils.getLevelForLiquid(tank.tankLiquidXp.getFluidAmount()) + " levels."); } } } @@ -152,42 +156,43 @@ public class BlockTankXpConverter extends BlockContainer { } @Override - public boolean canCreatureSpawn(final EnumCreatureType type, final IBlockAccess world, final int x, final int y, final int z) { + public boolean canCreatureSpawn(final EnumCreatureType type, final IBlockAccess world, final int x, final int y, + final int z) { return false; } - private final boolean generateRainbowMap(){ + private final boolean generateRainbowMap() { int id = 0; - this.mRainbowMap.put(id++, new Triplet( 0, 255, 0)); - this.mRainbowMap.put(id++, new Triplet( 51, 255, 0)); - this.mRainbowMap.put(id++, new Triplet(102, 255, 0)); - this.mRainbowMap.put(id++, new Triplet(153, 255, 0)); - this.mRainbowMap.put(id++, new Triplet(204, 255, 0)); - this.mRainbowMap.put(id++, new Triplet(255, 255, 0)); - this.mRainbowMap.put(id++, new Triplet(255, 204, 0)); - this.mRainbowMap.put(id++, new Triplet(255, 153, 0)); - this.mRainbowMap.put(id++, new Triplet(255, 102, 0)); - this.mRainbowMap.put(id++, new Triplet(255, 51, 0)); - this.mRainbowMap.put(id++, new Triplet(255, 0, 0)); - this.mRainbowMap.put(id++, new Triplet(255, 0, 51)); - this.mRainbowMap.put(id++, new Triplet(255, 0, 102)); - this.mRainbowMap.put(id++, new Triplet(255, 0, 153)); - this.mRainbowMap.put(id++, new Triplet(255, 0, 204)); - this.mRainbowMap.put(id++, new Triplet(255, 0, 255)); - this.mRainbowMap.put(id++, new Triplet(204, 0, 255)); - this.mRainbowMap.put(id++, new Triplet(153, 0, 255)); - this.mRainbowMap.put(id++, new Triplet(102, 0, 255)); - this.mRainbowMap.put(id++, new Triplet( 51, 0, 255)); - this.mRai