diff options
Diffstat (limited to 'src/main/java/common/blocks')
-rw-r--r-- | src/main/java/common/blocks/BaseGTUpdateableBlock.java | 57 | ||||
-rw-r--r-- | src/main/java/common/blocks/Block_GDCUnit.java | 29 | ||||
-rw-r--r-- | src/main/java/common/blocks/Block_IchorJar.java | 230 | ||||
-rw-r--r-- | src/main/java/common/blocks/Block_LapotronicEnergyUnit.java | 173 | ||||
-rw-r--r-- | src/main/java/common/blocks/Block_LargeHexPlate.java | 65 | ||||
-rw-r--r-- | src/main/java/common/blocks/Block_TFFTStorageField.java | 92 | ||||
-rw-r--r-- | src/main/java/common/blocks/Block_ThaumiumReinforcedJar.java | 252 | ||||
-rw-r--r-- | src/main/java/common/blocks/Block_YSZUnit.java | 29 |
8 files changed, 0 insertions, 927 deletions
diff --git a/src/main/java/common/blocks/BaseGTUpdateableBlock.java b/src/main/java/common/blocks/BaseGTUpdateableBlock.java deleted file mode 100644 index ff38365d79..0000000000 --- a/src/main/java/common/blocks/BaseGTUpdateableBlock.java +++ /dev/null @@ -1,57 +0,0 @@ -package common.blocks; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EnumCreatureType; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; - -import gregtech.api.GregTech_API; - -/** - * Any blocks that are used as structure parts for GregTech multi machines have to inherit from this class. Otherwise - * the checkMachine() method that verifies a machine's structure won't be called correctly. - */ -public abstract class BaseGTUpdateableBlock extends Block { - - protected BaseGTUpdateableBlock(Material material) { - super(material); - GregTech_API.registerMachineBlock(this, -1); - super.setHarvestLevel("wrench", 2); - } - - @Override - public int damageDropped(int meta) { - return meta; - } - - @Override - public boolean canBeReplacedByLeaves(IBlockAccess world, int x, int y, int z) { - return false; - } - - @Override - public boolean canEntityDestroy(IBlockAccess world, int x, int y, int z, Entity entity) { - return false; - } - - @Override - public boolean canCreatureSpawn(EnumCreatureType type, IBlockAccess world, int x, int y, int z) { - return false; - } - - @Override - public void onBlockAdded(World aWorld, int aX, int aY, int aZ) { - if (GregTech_API.isMachineBlock(this, aWorld.getBlockMetadata(aX, aY, aZ))) { - GregTech_API.causeMachineUpdate(aWorld, aX, aY, aZ); - } - } - - @Override - public void breakBlock(World aWorld, int aX, int aY, int aZ, Block aBlock, int aMetaData) { - if (GregTech_API.isMachineBlock(this, aMetaData)) { - GregTech_API.causeMachineUpdate(aWorld, aX, aY, aZ); - } - } -} diff --git a/src/main/java/common/blocks/Block_GDCUnit.java b/src/main/java/common/blocks/Block_GDCUnit.java deleted file mode 100644 index 27bc95759d..0000000000 --- a/src/main/java/common/blocks/Block_GDCUnit.java +++ /dev/null @@ -1,29 +0,0 @@ -package common.blocks; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.creativetab.CreativeTabs; - -import cpw.mods.fml.common.registry.GameRegistry; -import kekztech.KekzCore; - -public class Block_GDCUnit extends BaseGTUpdateableBlock { - - private static final Block_GDCUnit instance = new Block_GDCUnit(); - - private Block_GDCUnit() { - super(Material.iron); - } - - public static Block registerBlock() { - final String blockName = "kekztech_gdcceramicelectrolyteunit_block"; - instance.setBlockName(blockName); - instance.setCreativeTab(CreativeTabs.tabMisc); - instance.setBlockTextureName(KekzCore.MODID + ":" + "GDCCeramicElectrolyteUnit"); - instance.setHardness(5.0f); - instance.setResistance(6.0f); - GameRegistry.registerBlock(instance, blockName); - - return instance; - } -} diff --git a/src/main/java/common/blocks/Block_IchorJar.java b/src/main/java/common/blocks/Block_IchorJar.java deleted file mode 100644 index a82f9862f0..0000000000 --- a/src/main/java/common/blocks/Block_IchorJar.java +++ /dev/null @@ -1,230 +0,0 @@ -package common.blocks; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.Explosion; -import net.minecraft.world.World; - -import common.itemBlocks.IB_IchorJar; -import common.tileentities.TE_IchorJar; -import common.tileentities.TE_IchorVoidJar; - -import cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import thaumcraft.api.aspects.Aspect; -import thaumcraft.api.aspects.AspectList; -import thaumcraft.common.blocks.BlockJar; -import thaumcraft.common.config.ConfigBlocks; -import thaumcraft.common.config.ConfigItems; -import thaumcraft.common.items.ItemEssence; -import thaumcraft.common.tiles.TileJarFillable; - -public class Block_IchorJar extends BlockJar { - - private static final Block_IchorJar INSTANCE = new Block_IchorJar(); - - private Block_IchorJar() { - super(); - - super.setHardness(12.0F); - super.setResistance(3.0f); - } - - public static Block registerBlock() { - final String blockName = "kekztech_ichorjar_block"; - INSTANCE.setBlockName(blockName); - INSTANCE.setHarvestLevel("pickaxe", 3); - GameRegistry.registerBlock(INSTANCE, IB_IchorJar.class, blockName); - - return INSTANCE; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister ir) { - super.iconLiquid = ir.registerIcon("thaumcraft:animatedglow"); - super.iconJarSide = ir.registerIcon("kekztech:ichor_jar_side"); - super.iconJarTop = ir.registerIcon("kekztech:ichor_jar_top"); - super.iconJarTopVoid = ir.registerIcon("kekztech:ichor_jar_top_void"); - super.iconJarSideVoid = ir.registerIcon("kekztech:ichor_jar_side_void"); - super.iconJarBottom = ir.registerIcon("kekztech:ichor_jar_bottom"); - } - - @Override - @SideOnly(Side.CLIENT) - @SuppressWarnings({ "unchecked" }) - public void getSubBlocks(Item par1, CreativeTabs par2CreativeTabs, List par3List) { - par3List.add(new ItemStack(par1, 1, 0)); // Normal jar - par3List.add(new ItemStack(par1, 1, 3)); // Void jar - } - - @Override - public TileEntity createTileEntity(World world, int meta) { - if (meta == 3) { - return new TE_IchorVoidJar(); - } else { - return new TE_IchorJar(); - } - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float f1, float f2, - float f3) { - // Call parent method to handle jar emptying, labels stuff etc - super.onBlockActivated(world, x, y, z, player, side, f1, f2, f3); - // Interact with Essentia Phials if the player holds one - final ItemStack heldItem = player.getHeldItem(); - if (heldItem != null && heldItem.getItem() == ConfigItems.itemEssence) { - final TileEntity te = world.getTileEntity(x, y, z); - if (te instanceof TE_IchorJar) { - return dealWithPhial(world, player, x, y, z); - } else if (te instanceof TE_IchorVoidJar) { - return dealWithPhial(world, player, x, y, z); - } - } - - return true; - } - - /** - * Handle compatibility with Essentia Phials - * - * @param world Pass through from onBlockActivated() - * @param player Pass through from onBlockActivated() - * @param x Pass through from onBlockActivated() - * @param y Pass through from onBlockActivated() - * @param z Pass through from onBlockActivated() - * @return Not sure tbh - */ - private boolean dealWithPhial(World world, EntityPlayer player, int x, int y, int z) { - final TileJarFillable jarTE = (TileJarFillable) world.getTileEntity(x, y, z); - final ItemStack heldItem = player.getHeldItem(); - // Check whether to fill or to drain the phial - if (heldItem.getItemDamage() == 0) { - if (jarTE.amount >= 8) { - if (world.isRemote) { - player.swingItem(); - return false; - } - - final Aspect jarAspect = Aspect.getAspect(jarTE.aspect.getTag()); - if (jarTE.takeFromContainer(jarAspect, 8)) { - // Take an empty phial from the player's inventory - heldItem.stackSize--; - // Fill a new phial - final ItemStack filledPhial = new ItemStack(ConfigItems.itemEssence, 1, 1); - final AspectList phialContent = new AspectList().add(jarAspect, 8); - ((ItemEssence) ConfigItems.itemEssence).setAspects(filledPhial, phialContent); - // Drop on ground if there's no inventory space - if (!player.inventory.addItemStackToInventory(filledPhial)) { - world.spawnEntityInWorld( - new EntityItem(world, (float) x + 0.5F, (float) y + 0.5F, (float) z + 0.5F, filledPhial)); - } - - world.playSoundAtEntity(player, "game.neutral.swim", 0.25F, 1.0F); - player.inventoryContainer.detectAndSendChanges(); - return true; - } - } - } else { - final AspectList phialContent = ((ItemEssence) ConfigItems.itemEssence).getAspects(heldItem); - if (phialContent != null && phialContent.size() == 1) { - final Aspect phialAspect = phialContent.getAspects()[0]; - if (jarTE.amount + 8 <= jarTE.maxAmount && jarTE.doesContainerAccept(phialAspect)) { - if (world.isRemote) { - player.swingItem(); - return false; - } - - if (jarTE.addToContainer(phialAspect, 8) == 0) { - world.markBlockForUpdate(x, y, z); - jarTE.markDirty(); - heldItem.stackSize--; - // Drop on ground if there's no inventory space - if (!player.inventory.addItemStackToInventory(new ItemStack(ConfigItems.itemEssence, 1, 0))) { - world.spawnEntityInWorld( - new EntityItem( - world, - (float) x + 0.5F, - (float) y + 0.5F, - (float) z + 0.5F, - new ItemStack(ConfigItems.itemEssence, 1, 0))); - } - - world.playSoundAtEntity(player, "game.neutral.swim", 0.25F, 1.0F); - player.inventoryContainer.detectAndSendChanges(); - return true; - } - } - } - } - - return true; - } - - @Override - public void breakBlock(World world, int x, int y, int z, Block par5, int par6) { - final TileEntity te = world.getTileEntity(x, y, z); - if (te instanceof TE_IchorJar) { - final TE_IchorJar ite = (TE_IchorJar) te; - breakBlockWarpy(world, x, y, z, ite.amount, 200, 6.0F); - } else if (te instanceof TE_IchorVoidJar) { - final TE_IchorVoidJar ite = (TE_IchorVoidJar) te; - breakBlockWarpy(world, x, y, z, ite.amount, 200, 6.0F); - } - super.breakBlock(world, x, y, z, par5, par6); - } - - private void breakBlockWarpy(World world, int x, int y, int z, int fillAmount, int iterations, - float explosionStrength) { - if (fillAmount > 0) { - // Create a decent explosion in the center of the block (TNT has strength 4.0F) - world.createExplosion(null, x + 0.5D, y + 0.5D, z + 0.5D, explosionStrength, false); - - // Place a lot of Flux in the area - final int limit = fillAmount / 16; - int created = 0; - for (int i = 0; i < iterations; i++) { - final int xf = x + world.rand.nextInt(7) - world.rand.nextInt(7); - final int yf = x + world.rand.nextInt(7) - world.rand.nextInt(7); - final int zf = x + world.rand.nextInt(7) - world.rand.nextInt(7); - if (world.isAirBlock(xf, yf, zf)) { - if (yf > y) { - world.setBlock(xf, yf, zf, ConfigBlocks.blockFluxGas, 8, 3); - } else { - world.setBlock(xf, yf, zf, ConfigBlocks.blockFluxGoo, 8, 3); - } - - if (created++ > limit) { - break; - } - } - } - } - } - - @Override - public ArrayList<ItemStack> getDrops(World world, int x, int y, int z, int meta, int fortune) { - return new ArrayList<>(Collections.singleton(new ItemStack(this, 1, (meta == 3) ? 3 : 0))); - } - - @Override - public void onBlockHarvested(World par1World, int par2, int par3, int par4, int par5, - EntityPlayer par6EntityPlayer) {} - - @Override - public boolean canDropFromExplosion(Explosion e) { - return false; - } -} diff --git a/src/main/java/common/blocks/Block_LapotronicEnergyUnit.java b/src/main/java/common/blocks/Block_LapotronicEnergyUnit.java deleted file mode 100644 index 653c99216b..0000000000 --- a/src/main/java/common/blocks/Block_LapotronicEnergyUnit.java +++ /dev/null @@ -1,173 +0,0 @@ -package common.blocks; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.client.renderer.texture.TextureMap; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraft.util.ResourceLocation; - -import common.itemBlocks.IB_LapotronicEnergyUnit; - -import cpw.mods.fml.common.registry.GameRegistry; -import gregtech.api.enums.Textures; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.render.TextureFactory; -import gregtech.api.util.GT_Utility; - -public class Block_LapotronicEnergyUnit extends BaseGTUpdateableBlock { - - private static final Block_LapotronicEnergyUnit INSTANCE = new Block_LapotronicEnergyUnit(); - - public enum IconBaseSide implements IIconContainer { - - INSTANCE; - - @Override - public IIcon getIcon() { - return Block_LapotronicEnergyUnit.INSTANCE.iconBaseSide; - } - - @Override - public IIcon getOverlayIcon() { - return null; - } - - @Override - public ResourceLocation getTextureFile() { - return TextureMap.locationBlocksTexture; - } - } - - static { - // technically, this page is owned by me, glee8e, however, I'm kind enough to spare 1 for kekztech since - // this is basically abandon ware by now. - GT_Utility.addTexturePage((byte) 42); - Textures.BlockIcons.setCasingTexture((byte) 42, (byte) 127, TextureFactory.of(IconBaseSide.INSTANCE)); - } - - private IIcon iconBaseSide; - private IIcon iconBaseTop; - - private IIcon iconLapoEmptySide; - private IIcon iconLapoEmptyTop; - private IIcon iconLapoEVSide; - private IIcon iconLapoEVTop; - private IIcon iconLapoIVSide; - private IIcon iconLapoIVTop; - private IIcon iconLapoLuVSide; - private IIcon iconLapoLuVTop; - private IIcon iconLapoZPMSide; - private IIcon iconLapoZPMTop; - private IIcon iconLapoUVSide; - private IIcon iconLapoUVTop; - private IIcon iconUltimateSide; - private IIcon iconUltimateTop; - private IIcon iconUltimateExtremeSide; - private IIcon iconUltimateExtremeTop; - private IIcon iconUltimateInsaneSide; - private IIcon iconUltimateInsaneTop; - private IIcon iconUltimateMegaSide; - private IIcon iconUltimateMegaTop; - - private Block_LapotronicEnergyUnit() { - super(Material.iron); - } - - public static Block registerBlock() { - final String blockName = "kekztech_lapotronicenergyunit_block"; - INSTANCE.setBlockName(blockName); - INSTANCE.setCreativeTab(CreativeTabs.tabMisc); - INSTANCE.setHardness(5.0f); - INSTANCE.setResistance(6.0f); - GameRegistry.registerBlock(INSTANCE, IB_LapotronicEnergyUnit.class, blockName); - - return INSTANCE; - } - - @Override - public void registerBlockIcons(IIconRegister ir) { - iconBaseSide = ir.registerIcon("kekztech:LSCBase_side"); - iconBaseTop = ir.registerIcon("kekztech:LSCBase_top"); - - iconLapoEmptySide = ir.registerIcon("kekztech:LapotronicEnergyUnit6_side"); - iconLapoEmptyTop = ir.registerIcon("kekztech:LapotronicEnergyUnit6_top"); - iconLapoEVSide = ir.registerIcon("kekztech:LapotronicEnergyUnit7_side"); - iconLapoEVTop = ir.registerIcon("kekztech:LapotronicEnergyUnit7_top"); - iconLapoIVSide = ir.registerIcon("kekztech:LapotronicEnergyUnit1_side"); - iconLapoIVTop = ir.registerIcon("kekztech:LapotronicEnergyUnit1_top"); - iconLapoLuVSide = ir.registerIcon("kekztech:LapotronicEnergyUnit2_side"); - iconLapoLuVTop = ir.registerIcon("kekztech:LapotronicEnergyUnit2_top"); - iconLapoZPMSide = ir.registerIcon("kekztech:LapotronicEnergyUnit3_side"); - iconLapoZPMTop = ir.registerIcon("kekztech:LapotronicEnergyUnit3_top"); - iconLapoUVSide = ir.registerIcon("kekztech:LapotronicEnergyUnit4_side"); - iconLapoUVTop = ir.registerIcon("kekztech:LapotronicEnergyUnit4_top"); - - iconUltimateSide = ir.registerIcon("kekztech:UltimateEnergyUnit_side"); - iconUltimateTop = ir.registerIcon("kekztech:UltimateEnergyUnit_top"); - iconUltimateExtremeSide = ir.registerIcon("kekztech:ReallyUltimateEnergyUnit_side"); - iconUltimateExtremeTop = ir.registerIcon("kekztech:ReallyUltimateEnergyUnit_top"); - iconUltimateInsaneSide = ir.registerIcon("kekztech:InsanelyUltimateEnergyUnit_side"); - iconUltimateInsaneTop = ir.registerIcon("kekztech:InsanelyUltimateEnergyUnit_top"); - iconUltimateMegaSide = ir.registerIcon("kekztech:MegaUltimateEnergyUnit_side"); - iconUltimateMegaTop = ir.registerIcon("kekztech:MegaUltimateEnergyUnit_top"); - } - - @Override - @SuppressWarnings({ "unchecked" }) - public void getSubBlocks(Item par1, CreativeTabs par2CreativeTabs, List par3List) { - // Multi casing - par3List.add(new ItemStack(par1, 1, 0)); - // Empty capacitor - par3List.add(new ItemStack(par1, 1, 6)); - // Lapo capacitors EV - UV - par3List.add(new ItemStack(par1, 1, 7)); - par3List.add(new ItemStack(par1, 1, 1)); - par3List.add(new ItemStack(par1, 1, 2)); - par3List.add(new ItemStack(par1, 1, 3)); - par3List.add(new ItemStack(par1, 1, 4)); - // Ultimate battery - par3List.add(new ItemStack(par1, 1, 5)); - // UEV Cap - par3List.add(new ItemStack(par1, 1, 8)); - // UIV Cap - par3List.add(new ItemStack(par1, 1, 9)); - // UMV Cap - par3List.add(new ItemStack(par1, 1, 10)); - } - - @Override - public IIcon getIcon(int side, int meta) { - switch (meta) { - case 0: - return (side < 2) ? iconBaseTop : iconBaseSide; - case 1: - return (side < 2) ? iconLapoIVTop : iconLapoIVSide; - case 2: - return (side < 2) ? iconLapoLuVTop : iconLapoLuVSide; - case 3: - return (side < 2) ? iconLapoZPMTop : iconLapoZPMSide; - case 4: - return (side < 2) ? iconLapoUVTop : iconLapoUVSide; - case 5: - return (side < 2) ? iconUltimateTop : iconUltimateSide; - case 6: - return (side < 2) ? iconLapoEmptyTop : iconLapoEmptySide; - case 7: - return (side < 2) ? iconLapoEVTop : iconLapoEVSide; - case 8: - return (side < 2) ? iconUltimateExtremeTop : iconUltimateExtremeSide; - case 9: - return (side < 2) ? iconUltimateInsaneTop : iconUltimateInsaneSide; - case 10: - return (side < 2) ? iconUltimateMegaTop : iconUltimateMegaSide; - default: - return iconUltimateTop; - } - } -} diff --git a/src/main/java/common/blocks/Block_LargeHexPlate.java b/src/main/java/common/blocks/Block_LargeHexPlate.java deleted file mode 100644 index ac8174ff34..0000000000 --- a/src/main/java/common/blocks/Block_LargeHexPlate.java +++ /dev/null @@ -1,65 +0,0 @@ -package common.blocks; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.util.IIcon; -import net.minecraft.world.IBlockAccess; - -import cpw.mods.fml.common.registry.GameRegistry; - -public class Block_LargeHexPlate extends Block { - - private static final Block_LargeHexPlate INSTANCE = new Block_LargeHexPlate(); - private static final int BATCH_SIZE = 4; - - private final IIcon[][] parts = new IIcon[BATCH_SIZE][BATCH_SIZE]; - - private Block_LargeHexPlate() { - super(Material.rock); - } - - public static Block registerBlock() { - final String blockName = "kekztech_largehextile_block"; - INSTANCE.setBlockName(blockName); - INSTANCE.setCreativeTab(CreativeTabs.tabMisc); - INSTANCE.setHardness(6.0f); - INSTANCE.setResistance(10.0f); - GameRegistry.registerBlock(INSTANCE, blockName); - - return INSTANCE; - } - - @Override - public void registerBlockIcons(IIconRegister ir) { - for (int x = 0; x < BATCH_SIZE; x++) { - for (int z = 0; z < BATCH_SIZE; z++) { - parts[x][z] = ir.registerIcon("kekztech:LargeHexTile_" + x + "_" + z); - } - } - } - - @Override - public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) { - final int xMod = x >= 0 ? Math.abs(x % BATCH_SIZE) - : Math.abs((Math.abs(x) % BATCH_SIZE) - BATCH_SIZE) % BATCH_SIZE; - final int yMod = y >= 0 ? Math.abs(y % BATCH_SIZE) - : Math.abs((Math.abs(y) % BATCH_SIZE) - BATCH_SIZE) % BATCH_SIZE; - final int zMod = z >= 0 ? Math.abs(z % BATCH_SIZE) - : Math.abs((Math.abs(z) % BATCH_SIZE) - BATCH_SIZE) % BATCH_SIZE; - - if (side == 0 || side == 1) { - return parts[xMod][zMod]; - } else if (side == 2 || side == 3) { - return parts[xMod][yMod]; - } else { - return parts[zMod][yMod]; - } - } - - @Override - public IIcon getIcon(int side, int meta) { - return parts[(int) Math.ceil(BATCH_SIZE / 2)][(int) Math.ceil(BATCH_SIZE / 2)]; - } -} diff --git a/src/main/java/common/blocks/Block_TFFTStorageField.java b/src/main/java/common/blocks/Block_TFFTStorageField.java deleted file mode 100644 index 069dd40dca..0000000000 --- a/src/main/java/common/blocks/Block_TFFTStorageField.java +++ /dev/null @@ -1,92 +0,0 @@ -package common.blocks; - -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.client.renderer.texture.TextureMap; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; -import net.minecraft.util.ResourceLocation; - -import common.itemBlocks.IB_TFFTStorageField; -import common.tileentities.GTMTE_TFFT; - -import cpw.mods.fml.common.registry.GameRegistry; -import gregtech.api.enums.Textures; -import gregtech.api.interfaces.IIconContainer; -import gregtech.api.render.TextureFactory; -import gregtech.api.util.GT_Utility; -import kekztech.KekzCore; - -public class Block_TFFTStorageField extends BaseGTUpdateableBlock { - - private static final Block_TFFTStorageField INSTANCE = new Block_TFFTStorageField(); - private static final int SUB_BLOCK_COUNT = GTMTE_TFFT.Field.VALUES.length + 1; - private static final IIcon[] textures = new IIcon[SUB_BLOCK_COUNT]; - - public enum TFFTCasingIcon implements IIconContainer { - - INSTANCE; - - @Override - public IIcon getIcon() { - return textures[0]; - } - - @Override - public IIcon getOverlayIcon() { - return null; - } - - @Override - public ResourceLocation getTextureFile() { - return TextureMap.locationBlocksTexture; - } - } - - // I guess glodblock won't mind - static { - GT_Utility.addTexturePage((byte) 12); - Textures.BlockIcons - .setCasingTexture((byte) 12, (byte) 127, TextureFactory.of(Block_TFFTStorageField.TFFTCasingIcon.INSTANCE)); - } - - private Block_TFFTStorageField() { - super(Material.iron); - } - - public static Block registerBlock() { - final String blockName = "kekztech_tfftstoragefield_block"; - INSTANCE.setBlockName(blockName); - INSTANCE.setCreativeTab(CreativeTabs.tabMisc); - INSTANCE.setHardness(5.0f); - INSTANCE.setResistance(6.0f); - GameRegistry.registerBlock(INSTANCE, IB_TFFTStorageField.class, blockName); - - return INSTANCE; - } - - @Override - public void registerBlockIcons(IIconRegister ir) { - textures[0] = ir.registerIcon(KekzCore.MODID + ":" + "TFFTCasing"); - for (int i = 1; i < SUB_BLOCK_COUNT; i++) { - textures[i] = ir.registerIcon(KekzCore.MODID + ":" + "TFFTStorageFieldBlock" + i); - } - } - - @Override - public void getSubBlocks(Item par1, CreativeTabs par2CreativeTabs, List par3List) { - for (int i = 0; i < SUB_BLOCK_COUNT; i++) { - par3List.add(new ItemStack(par1, 1, i)); - } - } - - @Override - public IIcon getIcon(int side, int meta) { - return textures[meta]; - } -} diff --git a/src/main/java/common/blocks/Block_ThaumiumReinforcedJar.java b/src/main/java/common/blocks/Block_ThaumiumReinforcedJar.java deleted file mode 100644 index 3c91ac6d0d..0000000000 --- a/src/main/java/common/blocks/Block_ThaumiumReinforcedJar.java +++ /dev/null @@ -1,252 +0,0 @@ -package common.blocks; - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.block.Block; -import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.Explosion; -import net.minecraft.world.World; - -import common.itemBlocks.IB_ThaumiumReinforcedJar; -import common.tileentities.TE_ThaumiumReinforcedJar; -import common.tileentities.TE_ThaumiumReinforcedVoidJar; - -import cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import thaumcraft.api.aspects.Aspect; -import thaumcraft.api.aspects.AspectList; -import thaumcraft.common.blocks.BlockJar; -import thaumcraft.common.config.ConfigBlocks; -import thaumcraft.common.config.ConfigItems; -import thaumcraft.common.items.ItemEssence; -import thaumcraft.common.tiles.TileJarFillable; - -public class Block_ThaumiumReinforcedJar extends BlockJar { - - private static final Block_ThaumiumReinforcedJar INSTANCE = new Block_ThaumiumReinforcedJar(); - - private Block_ThaumiumReinforcedJar() { - super(); - - super.setHardness(6.0F); - super.setResistance(6.0F); - } - - public static Block registerBlock() { - final String blockName = "kekztech_thaumiumreinforcedjar_block"; - INSTANCE.setBlockName(blockName); - INSTANCE.setHarvestLevel("pickaxe", 2); - GameRegistry.registerBlock(INSTANCE, IB_ThaumiumReinforcedJar.class, blockName); - - return INSTANCE; - } - - @Override - @SideOnly(Side.CLIENT) - public void registerBlockIcons(IIconRegister ir) { - super.iconLiquid = ir.registerIcon("thaumcraft:animatedglow"); - super.iconJarSide = ir.registerIcon("kekztech:thaumreinforced_jar_side"); - super.iconJarTop = ir.registerIcon("kekztech:thaumreinforced_jar_top"); - super.iconJarTopVoid = ir.registerIcon("kekztech:thaumreinforced_jar_top_void"); - super.iconJarSideVoid = ir.registerIcon("kekztech:thaumreinforced_jar_side_void"); - super.iconJarBottom = ir.registerIcon("kekztech:thaumreinforced_jar_bottom"); - } - - @Override - @SideOnly(Side.CLIENT) - @SuppressWarnings({ "unchecked" }) - public void getSubBlocks(Item par1, CreativeTabs par2CreativeTabs, List par3List) { - par3List.add(new ItemStack(par1, 1, 0)); // Normal jar - par3List.add(new ItemStack(par1, 1, 3)); // Void jar - } - - @Override - public TileEntity createTileEntity(World world, int meta) { - if (meta == 3) { - return new TE_ThaumiumReinforcedVoidJar(); - } else { - return new TE_ThaumiumReinforcedJar(); - } - } - - @Override - public void breakBlock(World world, int x, int y, int z, Block par5, int par6) { - final TileEntity te = world.getTileEntity(x, y, z); - if (te instanceof TE_ThaumiumReinforcedJar) { - final TE_ThaumiumReinforcedJar ite = (TE_ThaumiumReinforcedJar) te; - breakBlockWarpy(world, x, y, z, ite.amount, 50, 1.0F); - } else if (te instanceof TE_ThaumiumReinforcedVoidJar) { - final TE_ThaumiumReinforcedVoidJar ite = (TE_ThaumiumReinforcedVoidJar) te; - breakBlockWarpy(world, x, y, z, ite.amount, 50, 1.0F); - } - super.breakBlock(world, x, y, z, par5, par6); - } - - private void breakBlockWarpy(World world, int x, int y, int z, int fillAmount, int iterations, - float explosionStrength) { - if (fillAmount > 0) { - // Create a decent explosion in the center of the block (TNT has strength 4.0F) - world.createExplosion(null, x + 0.5D, y + 0.5D, z + 0.5D, explosionStrength, false); - - // Place a lot of Flux in the area - final int limit = fillAmount / 16; - int created = 0; - for (int i = 0; i < iterations; i++) { - final int xf = x + world.rand.nextInt(7) - world.rand.nextInt(7); - final int yf = x + world.rand.nextInt(7) - world.rand.nextInt(7); - final int zf = x + world.rand.nextInt(7) - world.rand.nextInt(7); - if (world.isAirBlock(xf, yf, zf)) { - if (yf > y) { - world.setBlock(xf, yf, zf, ConfigBlocks.blockFluxGas, 8, 3); - } else { - world.setBlock(xf, yf, zf, ConfigBlocks.blockFluxGoo, 8, 3); - } - - if (created++ > limit) { - break; - } - } - } - } - } - - @Override - public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float f1, float f2, - float f3) { - // Call parent method to handle jar emptying, labels stuff etc - super.onBlockActivated(world, x, y, z, player, side, f1, f2, f3); - // Interact with Essentia Phials if the player holds one - final ItemStack heldItem = player.getHeldItem(); - if (heldItem != null && heldItem.getItem() == ConfigItems.itemEssence) { - final TileEntity te = world.getTileEntity(x, y, z); - if (te instanceof TE_ThaumiumReinforcedJar) { - return dealWithPhial(world, player, x, y, z); - } else if (te instanceof TE_ThaumiumReinforcedVoidJar) { - return dealWithPhial(world, player, x, y, z); - } - } - - return true; - } - - /** - * Handle compatibility with Essentia Phials - * - * @param world Pass through from onBlockActivated() - * @param player Pass through from onBlockActivated() - * @param x Pass through from onBlockActivated() - * @param y Pass through from onBlockActivated() - * @param z Pass through from onBlockActivated() - * @return Not sure tbh - */ - private boolean dealWithPhial(World world, EntityPlayer player, int x, int y, int z) { - final TileJarFillable kte = (TileJarFillable) world.getTileEntity(x, y, z); - final ItemStack heldItem = player.getHeldItem(); - // Check whether to fill or to drain the phial - if (heldItem.getItemDamage() == 0) { - if (kte.amount >= 8) { - if (world.isRemote) { - player.swingItem(); - return false; - } - - final Aspect jarAspect = Aspect.getAspect(kte.aspect.getTag()); - if (kte.takeFromContainer(jarAspect, 8)) { - // Take an empty phial from the player's inventory - heldItem.stackSize--; - // Fill a new phial - final ItemStack filledPhial = new ItemStack(ConfigItems.itemEssence, 1, 1); - final AspectList phialContent = new AspectList().add(jarAspect, 8); - ((ItemEssence) ConfigItems.itemEssence).setAspects(filledPhial, phialContent); - // Drop on ground if there's no inventory space - if (!player.inventory.addItemStackToInventory(filledPhial)) { - world.spawnEntityInWorld( - new EntityItem(world, (float) x + 0.5F, (float) y + 0.5F, (float) z + 0.5F, filledPhial)); - } - - world.playSoundAtEntity(player, "game.neutral.swim", 0.25F, 1.0F); - player.inventoryContainer.detectAndSendChanges(); - return true; - } - } - } else { - final AspectList phialContent = ((ItemEssence) ConfigItems.itemEssence).getAspects(heldItem); - if (phialContent != null && phialContent.size() == 1) { - final Aspect phialAspect = phialContent.getAspects()[0]; - if (kte.amount + 8 <= kte.maxAmount && kte.doesContainerAccept(phialAspect)) { - if (world.isRemote) { - player.swingItem(); - return false; - } - - if (kte.addToContainer(phialAspect, 8) == 0) { - world.markBlockForUpdate(x, y, z); - kte.markDirty(); - heldItem.stackSize--; - // Drop on ground if there's no inventory space - if (!player.inventory.addItemStackToInventory(new ItemStack(ConfigItems.itemEssence, 1, 0))) { - world.spawnEntityInWorld( - new EntityItem( - world, - (float) x + 0.5F, - (float) y + 0.5F, - (float) z + 0.5F, - new ItemStack(ConfigItems.itemEssence, 1, 0))); - } - - world.playSoundAtEntity(player, "game.neutral.swim", 0.25F, 1.0F); - player.inventoryContainer.detectAndSendChanges(); - return true; - } - } - } - } - - return true; - } - - @Override - public ArrayList<ItemStack> getDrops(World world, int x, int y, int z, int meta, int fortune) { - final ArrayList<ItemStack> drops = new ArrayList<>(); - drops.add(new ItemStack(this, 1, (meta == 3) ? 3 : 0)); - final TileEntity te = world.getTileEntity(x, y, z); - if (te instanceof TE_ThaumiumReinforcedJar) { - final TE_ThaumiumReinforcedJar ite = (TE_ThaumiumReinforcedJar) te; - if (ite.aspectFilter != null) { - final ItemStack droppedLabel = new ItemStack(ConfigItems.itemResource, 1, 13); - droppedLabel.setTagCompound(new NBTTagCompound()); - final AspectList aspect = new AspectList().add(ite.aspectFilter, 0); - aspect.writeToNBT(droppedLabel.getTagCompound()); - drops.add(droppedLabel); - } - } else if (te instanceof TE_ThaumiumReinforcedVoidJar) { - final TE_ThaumiumReinforcedVoidJar ite = (TE_ThaumiumReinforcedVoidJar) te; - if (ite.aspectFilter != null) { - final ItemStack droppedLabel = new ItemStack(ConfigItems.itemResource, 1, 13); - droppedLabel.setTagCompound(new NBTTagCompound()); - final AspectList aspect = new AspectList().add(ite.aspectFilter, 0); - aspect.writeToNBT(droppedLabel.getTagCompound()); - drops.add(droppedLabel); - } - } - return drops; - } - - @Override - public void onBlockHarvested(World par1World, int par2, int par3, int par4, int par5, - EntityPlayer par6EntityPlayer) {} - - @Override - public boolean canDropFromExplosion(Explosion e) { - return false; - } -} diff --git a/src/main/java/common/blocks/Block_YSZUnit.java b/src/main/java/common/blocks/Block_YSZUnit.java deleted file mode 100644 index 312d3250a4..0000000000 --- a/src/main/java/common/blocks/Block_YSZUnit.java +++ /dev/null @@ -1,29 +0,0 @@ -package common.blocks; - -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.creativetab.CreativeTabs; - -import cpw.mods.fml.common.registry.GameRegistry; -import kekztech.KekzCore; - -public class Block_YSZUnit extends BaseGTUpdateableBlock { - - private static final Block_YSZUnit instance = new Block_YSZUnit(); - - private Block_YSZUnit() { - super(Material.iron); - } - - public static Block registerBlock() { - final String blockName = "kekztech_yszceramicelectrolyteunit_block"; - instance.setBlockName(blockName); - instance.setCreativeTab(CreativeTabs.tabMisc); - instance.setBlockTextureName(KekzCore.MODID + ":" + "YSZCeramicElectrolyteUnit"); - instance.setHardness(5.0f); - instance.setResistance(6.0f); - GameRegistry.registerBlock(instance, blockName); - - return instance; - } -} |