diff options
author | draknyte1 <draknyte1@hotmail.com> | 2016-11-04 15:23:26 +1000 |
---|---|---|
committer | draknyte1 <draknyte1@hotmail.com> | 2016-11-04 15:23:26 +1000 |
commit | 0669f5eb9d5029a8b94ec552171b0837605f7747 (patch) | |
tree | 6b40e64c04d51b7a33cf2f0b35f7232cf37c4247 /src/Java/gtPlusPlus/xmod/ic2 | |
parent | 3654052fb63a571c5eaca7f20714b87c17f7e966 (diff) | |
download | GT5-Unofficial-0669f5eb9d5029a8b94ec552171b0837605f7747.tar.gz GT5-Unofficial-0669f5eb9d5029a8b94ec552171b0837605f7747.tar.bz2 GT5-Unofficial-0669f5eb9d5029a8b94ec552171b0837605f7747.zip |
$ Cleaned up the entire project.
> Much neat, very nices.
Diffstat (limited to 'src/Java/gtPlusPlus/xmod/ic2')
18 files changed, 1015 insertions, 1113 deletions
diff --git a/src/Java/gtPlusPlus/xmod/ic2/HANDLER_IC2.java b/src/Java/gtPlusPlus/xmod/ic2/HANDLER_IC2.java index 97f37a8628..2e32eacab6 100644 --- a/src/Java/gtPlusPlus/xmod/ic2/HANDLER_IC2.java +++ b/src/Java/gtPlusPlus/xmod/ic2/HANDLER_IC2.java @@ -4,25 +4,25 @@ import gtPlusPlus.core.lib.LoadedMods; import gtPlusPlus.xmod.ic2.item.IC2_Items; import gtPlusPlus.xmod.ic2.recipe.RECIPE_IC2; -public class HANDLER_IC2{ - - public static void preInit() { - if (LoadedMods.IndustrialCraft2){ - IC2_Items.register(); - //new BlockRTG(InternalName.beer); - } - } +public class HANDLER_IC2 { public static void init() { - if (LoadedMods.IndustrialCraft2){ - - } + if (LoadedMods.IndustrialCraft2) { + + } } public static void postInit() { - if (LoadedMods.IndustrialCraft2){ + if (LoadedMods.IndustrialCraft2) { RECIPE_IC2.initRecipes(); - } + } + } + + public static void preInit() { + if (LoadedMods.IndustrialCraft2) { + IC2_Items.register(); + // new BlockRTG(InternalName.beer); + } } } diff --git a/src/Java/gtPlusPlus/xmod/ic2/block/RTGGenerator/BlockRTG.java b/src/Java/gtPlusPlus/xmod/ic2/block/RTGGenerator/BlockRTG.java index 4115258bb5..215b1dd0a3 100644 --- a/src/Java/gtPlusPlus/xmod/ic2/block/RTGGenerator/BlockRTG.java +++ b/src/Java/gtPlusPlus/xmod/ic2/block/RTGGenerator/BlockRTG.java @@ -18,6 +18,7 @@ import ic2.core.block.BlockMultiID; import ic2.core.block.TileEntityBlock; import ic2.core.block.reactor.tileentity.TileEntityNuclearReactorElectric; import ic2.core.init.InternalName; +import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; @@ -25,15 +26,12 @@ import net.minecraft.item.*; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; -public class BlockRTG -extends BlockMultiID -{ - public BlockRTG(InternalName internalName1) - { +public class BlockRTG extends BlockMultiID { + public BlockRTG(final InternalName internalName1) { super(internalName1, Material.iron, ItemGenerators.class); - setCreativeTab(AddToCreativeTab.tabMachines); - setHardness(3.0F); - setStepSound(soundTypeMetal); + this.setCreativeTab(AddToCreativeTab.tabMachines); + this.setHardness(3.0F); + this.setStepSound(Block.soundTypeMetal); IC2_Items.blockRTG = new ItemStack(this, 1, 0); IC2_Items.blockKineticGenerator = new ItemStack(this, 1, 1); @@ -43,130 +41,127 @@ extends BlockMultiID } @Override - public void getSubBlocks(Item j, CreativeTabs tabs, List itemList) { - Item item = Item.getItemFromBlock(this); - if (!item.getHasSubtypes()) { - itemList.add(new ItemStack(this)); - } else { - for (int i = 0; i < 16; i++) - { - ItemStack is = new ItemStack(this, 1, i); - if (is.getItem().getUnlocalizedName(is) == null) { - break; - } - itemList.add(is); - } + public int damageDropped(final int meta) { + switch (meta) { + case 2: + return 2; } + return 0; } - @Override - public String getTextureFolder(int id) - { - return "generator"; + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(final ItemStack stack) { + return stack.getItemDamage() == 5 ? EnumRarity.uncommon : EnumRarity.common; } @Override - public int damageDropped(int meta) - { - switch (meta) - { - case 2: - return 2; + public void getSubBlocks(final Item j, final CreativeTabs tabs, final List itemList) { + final Item item = Item.getItemFromBlock(this); + if (!item.getHasSubtypes()) { + itemList.add(new ItemStack(this)); + } + else { + for (int i = 0; i < 16; i++) { + final ItemStack is = new ItemStack(this, 1, i); + if (is.getItem().getUnlocalizedName(is) == null) { + break; + } + itemList.add(is); + } } - return 0; } @Override - public Class<? extends TileEntity> getTeClass(int meta, MutableObject<Class<?>[]> ctorArgTypes, MutableObject<Object[]> ctorArgs) - { - try - { - switch (meta) - { - case 0: - return TileEntityRTG.class; - case 1: - return TileEntityKineticWindGenerator.class; + public Class<? extends TileEntity> getTeClass(final int meta, final MutableObject<Class<?>[]> ctorArgTypes, + final MutableObject<Object[]> ctorArgs) { + try { + switch (meta) { + case 0: + return TileEntityRTG.class; + case 1: + return TileEntityKineticWindGenerator.class; } } - catch (Exception e) - { + catch (final Exception e) { throw new RuntimeException(e); } return null; } /* - * - * { - case 0: - return TileEntityGenerator.class; - case 1: - return TileEntityGeoGenerator.class; - case 2: - return TileEntityWaterGenerator.class; - case 3: - return TileEntitySolarGenerator.class; - case 4: - return TileEntityWindGenerator.class; - case 5: - return TileEntityNuclearReactorElectric.class; - case 6: - return TileEntityRTGenerator.class; - case 7: - return TileEntitySemifluidGenerator.class; - case 8: - return TileEntityStirlingGenerator.class; - case 9: - return TileEntityKineticGenerator.class; - } - * + * + * { case 0: return TileEntityGenerator.class; case 1: return + * TileEntityGeoGenerator.class; case 2: return + * TileEntityWaterGenerator.class; case 3: return + * TileEntitySolarGenerator.class; case 4: return + * TileEntityWindGenerator.class; case 5: return + * TileEntityNuclearReactorElectric.class; case 6: return + * TileEntityRTGenerator.class; case 7: return + * TileEntitySemifluidGenerator.class; case 8: return + * TileEntityStirlingGenerator.class; case 9: return + * TileEntityKineticGenerator.class; } + * * (non-Javadoc) - * @see net.minecraft.block.Block#randomDisplayTick(net.minecraft.world.World, int, int, int, java.util.Random) + * + * @see + * net.minecraft.block.Block#randomDisplayTick(net.minecraft.world.World, + * int, int, int, java.util.Random) */ @Override - public void randomDisplayTick(World world, int x, int y, int z, Random random) - { + public String getTextureFolder(final int id) { + return "generator"; + } + + @Override + public boolean onBlockActivated(final World world, final int i, final int j, final int k, + final EntityPlayer entityplayer, final int side, final float a, final float b, final float c) { + if (entityplayer.getCurrentEquippedItem() != null + && entityplayer.getCurrentEquippedItem().isItemEqual(Ic2Items.reactorChamber)) { + return false; + } + return super.onBlockActivated(world, i, j, k, entityplayer, side, a, b, c); + } + + @Override + public void randomDisplayTick(final World world, final int x, final int y, final int z, final Random random) { if (!IC2.platform.isRendering()) { return; } - int meta = world.getBlockMetadata(x, y, z); - if ((meta == 0) && (isActive(world, x, y, z))) - { - TileEntityBlock te = (TileEntityBlock)getOwnTe(world, x, y, z); + final int meta = world.getBlockMetadata(x, y, z); + if (meta == 0 && this.isActive(world, x, y, z)) { + final TileEntityBlock te = (TileEntityBlock) this.getOwnTe(world, x, y, z); if (te == null) { return; } - int l = te.getFacing(); - float f = x + 0.5F; - float f1 = y + 0.0F + random.nextFloat() * 6.0F / 16.0F; - float f2 = z + 0.5F; - float f3 = 0.52F; - float f4 = random.nextFloat() * 0.6F - 0.3F; - switch (l) - { - case 4: - world.spawnParticle("smoke", f - f3, f1, f2 + f4, 0.0D, 0.0D, 0.0D); - world.spawnParticle("flame", f - f3, f1, f2 + f4, 0.0D, 0.0D, 0.0D); - break; - case 5: - world.spawnParticle("smoke", f + f3, f1, f2 + f4, 0.0D, 0.0D, 0.0D); - world.spawnParticle("flame", f + f3, f1, f2 + f4, 0.0D, 0.0D, 0.0D); - break; - case 2: - world.spawnParticle("smoke", f + f4, f1, f2 - f3, 0.0D, 0.0D, 0.0D); - world.spawnParticle("flame", f + f4, f1, f2 - f3, 0.0D, 0.0D, 0.0D); - break; - case 3: - world.spawnParticle("smoke", f + f4, f1, f2 + f3, 0.0D, 0.0D, 0.0D); - world.spawnParticle("flame", f + f4, f1, f2 + f3, 0.0D, 0.0D, 0.0D); + final int l = te.getFacing(); + final float f = x + 0.5F; + final float f1 = y + 0.0F + random.nextFloat() * 6.0F / 16.0F; + final float f2 = z + 0.5F; + final float f3 = 0.52F; + final float f4 = random.nextFloat() * 0.6F - 0.3F; + switch (l) { + case 4: + world.spawnParticle("smoke", f - f3, f1, f2 + f4, 0.0D, 0.0D, 0.0D); + world.spawnParticle("flame", f - f3, f1, f2 + f4, 0.0D, 0.0D, 0.0D); + break; + case 5: + world.spawnParticle("smoke", f + f3, f1, f2 + f4, 0.0D, 0.0D, 0.0D); + world.spawnParticle("flame", f + f3, f1, f2 + f4, 0.0D, 0.0D, 0.0D); + break; + case 2: + world.spawnParticle("smoke", f + f4, f1, f2 - f3, 0.0D, 0.0D, 0.0D); + world.spawnParticle("flame", f + f4, f1, f2 - f3, 0.0D, 0.0D, 0.0D); + break; + case 3: + world.spawnParticle("smoke", f + f4, f1, f2 + f3, 0.0D, 0.0D, 0.0D); + world.spawnParticle("flame", f + f4, f1, f2 + f3, 0.0D, 0.0D, 0.0D); } } - else if (meta == 5) - { - TileEntityNuclearReactorElectric te = (TileEntityNuclearReactorElectric)getOwnTe(world, x, y, z); + else if (meta == 5) { + final TileEntityNuclearReactorElectric te = (TileEntityNuclearReactorElectric) this.getOwnTe(world, x, y, + z); if (te == null) { return; } @@ -176,28 +171,14 @@ extends BlockMultiID } puffs = world.rand.nextInt(puffs); for (int n = 0; n < puffs; n++) { - world.spawnParticle("smoke", x + random.nextFloat(), y + 0.95F, z + random.nextFloat(), 0.0D, 0.0D, 0.0D); + world.spawnParticle("smoke", x + random.nextFloat(), y + 0.95F, z + random.nextFloat(), 0.0D, 0.0D, + 0.0D); } puffs -= world.rand.nextInt(4) + 3; for (int n = 0; n < puffs; n++) { - world.spawnParticle("flame", x + random.nextFloat(), y + 1.0F, z + random.nextFloat(), 0.0D, 0.0D, 0.0D); + world.spawnParticle("flame", x + random.nextFloat(), y + 1.0F, z + random.nextFloat(), 0.0D, 0.0D, + 0.0D); } } } - - @Override - public boolean onBlockActivated(World world, int i, int j, int k, EntityPlayer entityplayer, int side, float a, float b, float c) - { - if ((entityplayer.getCurrentEquippedItem() != null) && (entityplayer.getCurrentEquippedItem().isItemEqual(Ic2Items.reactorChamber))) { - return false; - } - return super.onBlockActivated(world, i, j, k, entityplayer, side, a, b, c); - } - - @Override - @SideOnly(Side.CLIENT) - public EnumRarity getRarity(ItemStack stack) - { - return stack.getItemDamage() == 5 ? EnumRarity.uncommon : EnumRarity.common; - } } diff --git a/src/Java/gtPlusPlus/xmod/ic2/block/RTGGenerator/TileEntityRTG.java b/src/Java/gtPlusPlus/xmod/ic2/block/RTGGenerator/TileEntityRTG.java index 915f1d0fbe..cac4cbf9db 100644 --- a/src/Java/gtPlusPlus/xmod/ic2/block/RTGGenerator/TileEntityRTG.java +++ b/src/Java/gtPlusPlus/xmod/ic2/block/RTGGenerator/TileEntityRTG.java @@ -13,74 +13,64 @@ import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; -public class TileEntityRTG -extends TileEntityRTGenerator -{ +public class TileEntityRTG extends TileEntityRTGenerator { public final InvSlotConsumable fuelSlot; - public TileEntityRTG() - { - this.fuelSlot = new InvSlotConsumableId(this, "fuelSlot", 0, 12, new Item[] { Ic2Items.RTGPellets.getItem() }); + public TileEntityRTG() { + this.fuelSlot = new InvSlotConsumableId(this, "fuelSlot", 0, 12, new Item[] { + Ic2Items.RTGPellets.getItem() + }); } @Override - public int gaugeFuelScaled(int i) - { - return i; + public boolean delayActiveUpdate() { + return true; } @Override - public boolean gainEnergy() - { - int counter = 0; - for (int i = 0; i < this.fuelSlot.size(); i++) { - if (this.fuelSlot.get(i) != null) { - counter++; - } - } - if (counter == 0) { - return false; - } - this.storage += (int)Math.pow(2.0D, counter - 1); - return true; - } + public boolean gainEnergy() { + int counter = 0; + for (int i = 0; i < this.fuelSlot.size(); i++) { + if (this.fuelSlot.get(i) != null) { + counter++; + } + } + if (counter == 0) { + return false; + } + this.storage += (int) Math.pow(2.0D, counter - 1); + return true; + } @Override - public boolean gainFuel() - { + public boolean gainFuel() { return false; } @Override - public boolean needsFuel() - { - return true; + public int gaugeFuelScaled(final int i) { + return i; } @Override - public String getInventoryName() - { - return "RTG"; + @SideOnly(Side.CLIENT) + public GuiScreen getGui(final EntityPlayer entityPlayer, final boolean isAdmin) { + return new GUI_RTG(new CONTAINER_RTG(entityPlayer, this)); } - + @Override - public ContainerBase<TileEntityRTGenerator> getGuiContainer(EntityPlayer entityPlayer) - { + public ContainerBase<TileEntityRTGenerator> getGuiContainer(final EntityPlayer entityPlayer) { return new CONTAINER_RTG(entityPlayer, this); } @Override - @SideOnly(Side.CLIENT) - public GuiScreen getGui(EntityPlayer entityPlayer, boolean isAdmin) - { - return new GUI_RTG(new CONTAINER_RTG(entityPlayer, this)); + public String getInventoryName() { + return "RTG"; } @Override - public boolean delayActiveUpdate() - { + public boolean needsFuel() { return true; } - } diff --git a/src/Java/gtPlusPlus/xmod/ic2/block/RTGGenerator/gui/CONTAINER_RTG.java b/src/Java/gtPlusPlus/xmod/ic2/block/RTGGenerator/gui/CONTAINER_RTG.java index 7e0733de24..8336cad6f4 100644 --- a/src/Java/gtPlusPlus/xmod/ic2/block/RTGGenerator/gui/CONTAINER_RTG.java +++ b/src/Java/gtPlusPlus/xmod/ic2/block/RTGGenerator/gui/CONTAINER_RTG.java @@ -7,27 +7,23 @@ import ic2.core.block.generator.container.ContainerRTGenerator; import ic2.core.slot.SlotInvSlot; import net.minecraft.entity.player.EntityPlayer; -public class CONTAINER_RTG -extends ContainerRTGenerator -{ - public CONTAINER_RTG(EntityPlayer entityPlayer, TileEntityRTG tileEntity1) - { +public class CONTAINER_RTG extends ContainerRTGenerator { + public CONTAINER_RTG(final EntityPlayer entityPlayer, final TileEntityRTG tileEntity1) { super(entityPlayer, tileEntity1); for (int i = 0; i < 4; i++) { - addSlotToContainer(new SlotInvSlot(tileEntity1.fuelSlot, i, 36 + i * 18, 18)); + this.addSlotToContainer(new SlotInvSlot(tileEntity1.fuelSlot, i, 36 + i * 18, 18)); } for (int i = 4; i < 8; i++) { - addSlotToContainer(new SlotInvSlot(tileEntity1.fuelSlot, i, 36 + (i - 4) * 18, 36)); + this.addSlotToContainer(new SlotInvSlot(tileEntity1.fuelSlot, i, 36 + (i - 4) * 18, 36)); } for (int i = 8; i < 12; i++) { - addSlotToContainer(new SlotInvSlot(tileEntity1.fuelSlot, i, 36 + (i - 8) * 18, 54)); + this.addSlotToContainer(new SlotInvSlot(tileEntity1.fuelSlot, i, 36 + (i - 8) * 18, 54)); } } @Override - public List<String> getNetworkedFields() - { - List<String> ret = super.getNetworkedFields(); + public List<String> getNetworkedFields() { + final List<String> ret = super.getNetworkedFields(); ret.add("storage"); diff --git a/src/Java/gtPlusPlus/xmod/ic2/block/RTGGenerator/gui/GUI_RTG.java b/src/Java/gtPlusPlus/xmod/ic2/block/RTGGenerator/gui/GUI_RTG.java index 756d272c9d..d7cdc17fe8 100644 --- a/src/Java/gtPlusPlus/xmod/ic2/block/RTGGenerator/gui/GUI_RTG.java +++ b/src/Java/gtPlusPlus/xmod/ic2/block/RTGGenerator/gui/GUI_RTG.java @@ -12,40 +12,40 @@ import net.minecraft.util.ResourceLocation; import net.minecraft.util.StatCollector; @SideOnly(Side.CLIENT) -public class GUI_RTG - extends GuiRTGenerator -{ - public CONTAINER_RTG container; - public String name; - - public GUI_RTG(CONTAINER_RTG container1) - { - super(container1); - - this.container = container1; - this.name = "RTG Mach II"; - } - - @Override -protected void drawGuiContainerForegroundLayer(int par1, int par2) - { - this.fontRendererObj.drawString(this.name, (this.xSize - this.fontRendererObj.getStringWidth(this.name)) / 2, 4, 4210752); - - GuiTooltipHelper.drawAreaTooltip(par1 - this.guiLeft, par2 - this.guiTop, StatCollector.translateToLocalFormatted("ic2.generic.text.bufferEU", new Object[] { Double.valueOf(((TileEntityRTG)this.container.base).storage) }), 117, 38, 150, 48); - } - - @Override -protected void drawGuiContainerBackgroundLayer(float f, int x, int y) - { - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - this.mc.getTextureManager().bindTexture(background); - int j = (this.width - this.xSize) / 2; - int k = (this.height - this.ySize) / 2; - drawTexturedModalRect(j, k, 0, 0, this.xSize, this.ySize); - - int i1 = ((TileEntityRTG)this.container.base).gaugeStorageScaled(31); - drawTexturedModalRect(j + 119, k + 40, 179, 3, i1, 8); - } - - private static final ResourceLocation background = new ResourceLocation(IC2.textureDomain, "textures/gui/GUIRTGenerator.png"); +public class GUI_RTG extends GuiRTGenerator { + private static final ResourceLocation background = new ResourceLocation(IC2.textureDomain, + "textures/gui/GUIRTGenerator.png"); + public CONTAINER_RTG container; + + public String name; + + public GUI_RTG(final CONTAINER_RTG container1) { + super(container1); + + this.container = container1; + this.name = "RTG Mach II"; + } + + @Override + protected void drawGuiContainerBackgroundLayer(final float f, final int x, final int y) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + this.mc.getTextureManager().bindTexture(GUI_RTG.background); + final int j = (this.width - this.xSize) / 2; + final int k = (this.height - this.ySize) / 2; + this.drawTexturedModalRect(j, k, 0, 0, this.xSize, this.ySize); + + final int i1 = ((TileEntityRTG) this.container.base).gaugeStorageScaled(31); + this.drawTexturedModalRect(j + 119, k + 40, 179, 3, i1, 8); + } + + @Override + protected void drawGuiContainerForegroundLayer(final int par1, final int par2) { + this.fontRendererObj.drawString(this.name, (this.xSize - this.fontRendererObj.getStringWidth(this.name)) / 2, 4, + 4210752); + + GuiTooltipHelper.drawAreaTooltip(par1 - this.guiLeft, par2 - this.guiTop, + StatCollector.translateToLocalFormatted("ic2.generic.text.bufferEU", new Object[] { + Double.valueOf(((TileEntityRTG) this.container.base).storage) + }), 117, 38, 150, 48); + } } diff --git a/src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/IC2_BlockKineticGenerator.java b/src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/IC2_BlockKineticGenerator.java index b0a6b0d6fb..d4597cecab 100644 --- a/src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/IC2_BlockKineticGenerator.java +++ b/src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/IC2_BlockKineticGenerator.java @@ -15,61 +15,53 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; -public class IC2_BlockKineticGenerator - extends BlockMultiID -{ - public IC2_BlockKineticGenerator(InternalName internalName1) - { - super(internalName1, Material.iron, ItemKineticGenerator.class); - - setHardness(3.0F); - setStepSound(Block.soundTypeMetal); - this.setCreativeTab(AddToCreativeTab.tabMachines); - - GameRegistry.registerTileEntity(TileEntityWindKineticGenerator.class, "Advanced Kinetic Wind Generator"); - - } - - @Override -public String getTextureFolder(int id) - { - return "kineticgenerator"; - } - - @Override -public int damageDropped(int meta) - { - return meta; - } - - @Override -public Class<? extends TileEntity> getTeClass(int meta, MutableObject<Class<?>[]> ctorArgTypes, MutableObject<Object[]> ctorArgs) - { - try - { - switch (meta) - { - case 0: - return TileEntityWindKineticGenerator.class; - } - } - catch (Exception e) - { - throw new RuntimeException(e); - } - return null; - } - - @Override -public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer entityPlayer, int side, float a, float b, float c) - { - if (entityPlayer.isSneaking()) { - return false; - } - TileEntity te = getOwnTe(world, x, y, z); - if ((te != null) && ((te instanceof TileEntityManualKineticGenerator))) { - return ((TileEntityManualKineticGenerator)te).playerKlicked(entityPlayer); - } - return super.onBlockActivated(world, x, y, z, entityPlayer, side, a, b, c); - } +public class IC2_BlockKineticGenerator extends BlockMultiID { + public IC2_BlockKineticGenerator(final InternalName internalName1) { + super(internalName1, Material.iron, ItemKineticGenerator.class); + + this.setHardness(3.0F); + this.setStepSound(Block.soundTypeMetal); + this.setCreativeTab(AddToCreativeTab.tabMachines); + + GameRegistry.registerTileEntity(TileEntityWindKineticGenerator.class, "Advanced Kinetic Wind Generator"); + + } + + @Override + public int damageDropped(final int meta) { + return meta; + } + + @Override + public Class<? extends TileEntity> getTeClass(final int meta, final MutableObject<Class<?>[]> ctorArgTypes, + final MutableObject<Object[]> ctorArgs) { + try { + switch (meta) { + case 0: + return TileEntityWindKineticGenerator.class; + } + } + catch (final Exception e) { + throw new RuntimeException(e); + } + return null; + } + + @Override + public String getTextureFolder(final int id) { + return "kineticgenerator"; + } + + @Override + public boolean onBlockActivated(final World world, final int x, final int y, final int z, + final EntityPlayer entityPlayer, final int side, final float a, final float b, final float c) { + if (entityPlayer.isSneaking()) { + return false; + } + final TileEntity te = this.getOwnTe(world, x, y, z); + if (te != null && te instanceof TileEntityManualKineticGenerator) { + return ((TileEntityManualKineticGenerator) te).playerKlicked(entityPlayer); + } + return super.onBlockActivated(world, x, y, z, entityPlayer, side, a, b, c); + } } diff --git a/src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/IC2_TEComponent.java b/src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/IC2_TEComponent.java index e41097c6ef..7d61881016 100644 --- a/src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/IC2_TEComponent.java +++ b/src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/IC2_TEComponent.java @@ -8,40 +8,41 @@ import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.nbt.NBTTagCompound; -public abstract class IC2_TEComponent -{ - protected final TileEntityBlock parent; - - public IC2_TEComponent(TileEntityBlock parent) - { - this.parent = parent; - } - - public abstract String getDefaultName(); - - public void readFromNbt(NBTTagCompound nbt) {} - - public NBTTagCompound writeToNbt() - { - return null; - } - - public void onLoaded() {} - - public void onUnloaded() {} - - public void onNeighborUpdate(Block srcBlock) {} - - public void onContainerUpdate(String name, EntityPlayerMP player) {} - - public void onNetworkUpdate(DataInput is) - throws IOException - {} - - public boolean enableWorldTick() - { - return false; - } - - public void onWorldTick() {} +public abstract class IC2_TEComponent { + protected final TileEntityBlock parent; + + public IC2_TEComponent(final TileEntityBlock parent) { + this.parent = parent; + } + + public boolean enableWorldTick() { + return false; + } + + public abstract String getDefaultName(); + + public void onContainerUpdate(final String name, final EntityPlayerMP player) { + } + + public void onLoaded() { + } + + public void onNeighborUpdate(final Block srcBlock) { + } + + public void onNetworkUpdate(final DataInput is) throws IOException { + } + + public void onUnloaded() { + } + + public void onWorldTick() { + } + + public void readFromNbt(final NBTTagCompound nbt) { + } + + public NBTTagCompound writeToNbt() { + return null; + } } diff --git a/src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/container/ContainerKineticWindgenerator.java b/src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/container/ContainerKineticWindgenerator.java index 132aee6f00..7d65a042ec 100644 --- a/src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/container/ContainerKineticWindgenerator.java +++ b/src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/container/ContainerKineticWindgenerator.java @@ -7,20 +7,18 @@ import ic2.core.block.kineticgenerator.tileentity.TileEntityWindKineticGenerator import ic2.core.slot.SlotInvSlot; import net.minecraft.entity.player.EntityPlayer; -public class ContainerKineticWindgenerator - extends ContainerFullInv<TileEntityWindKineticGenerator> -{ - public ContainerKineticWindgenerator(EntityPlayer entityPlayer, TileEntityWindKineticGenerator tileEntity1) - { - super(entityPlayer, tileEntity1, 166); - - addSlotToContainer(new SlotInvSlot(tileEntity1.rotorSlot, 0, 80, 26)); - } - - public List<String> getNetworkedFields() - { - List<String> ret = super.getNetworkedFields(); - ret.add("windStrength"); - return ret; - } +public class ContainerKineticWindgenerator extends ContainerFullInv<TileEntityWindKineticGenerator> { + public ContainerKineticWindgenerator(final EntityPlayer entityPlayer, + final TileEntityWindKineticGenerator tileEntity1) { + super(entityPlayer, tileEntity1, 166); + + this.addSlotToContainer(new SlotInvSlot(tileEntity1.rotorSlot, 0, 80, 26)); + } + + @Override + public List<String> getNetworkedFields() { + final List<String> ret = super.getNetworkedFields(); + ret.add("windStrength"); + return ret; + } } diff --git a/src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/gui/GuiKineticWindGenerator.java b/src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/gui/GuiKineticWindGenerator.java index 5612a43651..3380b83c39 100644 --- a/src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/gui/GuiKineticWindGenerator.java +++ b/src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/gui/GuiKineticWindGenerator.java @@ -6,70 +6,72 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import ic2.core.IC2; import ic2.core.block.kineticgenerator.container.ContainerWindKineticGenerator; -import ic2.core.block.kineticgenerator.tileentity.TileEntityWindKineticGenerator; import ic2.core.util.GuiTooltipHelper; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.util.ResourceLocation; import net.minecraft.util.StatCollector; @SideOnly(Side.CLIENT) -public class GuiKineticWindGenerator - extends GuiContainer -{ - public ContainerWindKineticGenerator container; - public String name; - - public GuiKineticWindGenerator(ContainerWindKineticGenerator container1) - { - super(container1); - - this.container = container1; - this.name = StatCollector.translateToLocal("ic2.WindKineticGenerator.gui.name"); - } - - protected void drawGuiContainerForegroundLayer(int par1, int par2) - { - this.fontRendererObj.drawString(this.name, (this.xSize - this.fontRendererObj.getStringWidth(this.name)) / 2, 6, 4210752); - if (((TileEntityWindKineticGenerator)this.container.base).checkrotor()) - { - if (!((TileEntityWindKineticGenerator)this.container.base).rotorspace()) - { - this.fontRendererObj.drawString(StatCollector.translateToLocal("ic2.WindKineticGenerator.gui.rotorspace"), 20, 52, 2157374); - } - else if ((((TileEntityWindKineticGenerator)this.container.base).checkrotor()) && (!((TileEntityWindKineticGenerator)this.container.base).guiisminWindStrength())) - { - this.fontRendererObj.drawString(StatCollector.translateToLocal("ic2.WindKineticGenerator.gui.windweak1"), 27, 52, 2157374); - this.fontRendererObj.drawString(StatCollector.translateToLocal("ic2.WindKineticGenerator.gui.windweak2"), 24, 69, 2157374); - } - else - { - this.fontRendererObj.drawString(StatCollector.translateToLocalFormatted("ic2.WindKineticGenerator.gui.output", new Object[] { Integer.valueOf(((TileEntityWindKineticGenerator)this.container.base).getKuOutput()) }), 55, 52, 2157374); - this.fontRendererObj.drawString(((TileEntityWindKineticGenerator)this.container.base).getRotorhealth() + " %", 46, 70, 2157374); - if (((TileEntityWindKineticGenerator)this.container.base).guiisoverload()) - { - GuiTooltipHelper.drawAreaTooltip(par1 - this.guiLeft, par2 - this.guiTop, StatCollector.translateToLocal("ic2.WindKineticGenerator.error.overload"), 44, 20, 79, 45); - GuiTooltipHelper.drawAreaTooltip(par1 - this.guiLeft, par2 - this.guiTop, StatCollector.translateToLocal("ic2.WindKineticGenerator.error.overload2"), 102, 20, 131, 45); - } - } - } - else { - this.fontRendererObj.drawString(StatCollector.translateToLocal("ic2.WindKineticGenerator.gui.rotormiss"), 27, 52, 2157374); - } - } - - protected void drawGuiContainerBackgroundLayer(float f, int x, int y) - { - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - this.mc.getTextureManager().bindTexture(background); - int j = (this.width - this.xSize) / 2; - int k = (this.height - this.ySize) / 2; - drawTexturedModalRect(j, k, 0, 0, this.xSize, this.ySize); - if ((((TileEntityWindKineticGenerator)this.container.base).guiisoverload()) && (((TileEntityWindKineticGenerator)this.container.base).checkrotor())) - { - drawTexturedModalRect(j + 44, k + 20, 176, 0, 30, 26); - drawTexturedModalRect(j + 102, k + 20, 176, 0, 30, 26); - } - } - - private static final ResourceLocation background = new ResourceLocation(IC2.textureDomain, "textures/gui/GUIWindKineticGenerator.png"); +public class GuiKineticWindGenerator extends GuiContainer { + private static final ResourceLocation background = new ResourceLocation(IC2.textureDomain, + "textures/gui/GUIWindKineticGenerator.png"); + public ContainerWindKineticGenerator container; + + public String name; + + public GuiKineticWindGenerator(final ContainerWindKineticGenerator container1) { + super(container1); + + this.container = container1; + this.name = StatCollector.translateToLocal("ic2.WindKineticGenerator.gui.name"); + } + + @Override + protected void drawGuiContainerBackgroundLayer(final float f, final int x, final int y) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + this.mc.getTextureManager().bindTexture(GuiKineticWindGenerator.background); + final int j = (this.width - this.xSize) / 2; + final int k = (this.height - this.ySize) / 2; + this.drawTexturedModalRect(j, k, 0, 0, this.xSize, this.ySize); + if (this.container.base.guiisoverload() && this.container.base.checkrotor()) { + this.drawTexturedModalRect(j + 44, k + 20, 176, 0, 30, 26); + this.drawTexturedModalRect(j + 102, k + 20, 176, 0, 30, 26); + } + } + + @Override + protected void drawGuiContainerForegroundLayer(final int par1, final int par2) { + this.fontRendererObj.drawString(this.name, (this.xSize - this.fontRendererObj.getStringWidth(this.name)) / 2, 6, + 4210752); + if (this.container.base.checkrotor()) { + if (!this.container.base.rotorspace()) { + this.fontRendererObj.drawString( + StatCollector.translateToLocal("ic2.WindKineticGenerator.gui.rotorspace"), 20, 52, 2157374); + } + else if (this.container.base.checkrotor() && !this.container.base.guiisminWindStrength()) { + this.fontRendererObj.drawString( + StatCollector.translateToLocal("ic2.WindKineticGenerator.gui.windweak1"), 27, 52, 2157374); + this.fontRendererObj.drawString( + StatCollector.translateToLocal("ic2.WindKineticGenerator.gui.windweak2"), 24, 69, 2157374); + } + else { + this.fontRendererObj.drawString( + StatCollector.translateToLocalFormatted("ic2.WindKineticGenerator.gui.output", new Object[] { + Integer.valueOf(this.container.base.getKuOutput()) + }), 55, 52, 2157374); + this.fontRendererObj.drawString(this.container.base.getRotorhealth() + " %", 46, 70, 2157374); + if (this.container.base.guiisoverload()) { + GuiTooltipHelper.drawAreaTooltip(par1 - this.guiLeft, par2 - this.guiTop, + StatCollector.translateToLocal("ic2.WindKineticGenerator.error.overload"), 44, 20, 79, 45); + GuiTooltipHelper.drawAreaTooltip(par1 - this.guiLeft, par2 - this.guiTop, + StatCollector.translateToLocal("ic2.WindKineticGenerator.error.overload2"), 102, 20, 131, + 45); + } + } + } + else { + this.fontRendererObj.drawString(StatCollector.translateToLocal("ic2.WindKineticGenerator.gui.rotormiss"), + 27, 52, 2157374); + } + } } diff --git a/src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/tileentity/TileEntityKineticWindGenerator.java b/src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/tileentity/TileEntityKineticWindGenerator.java index bb5531ea9a..1dc9d39acf 100644 --- a/src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/tileentity/TileEntityKineticWindGenerator.java +++ b/src/Java/gtPlusPlus/xmod/ic2/block/kieticgenerator/tileentity/TileEntityKineticWindGenerator.java @@ -13,7 +13,6 @@ import ic2.core.block.invslot.InvSlotConsumableKineticRotor; import ic2.core.block.kineticgenerator.container.ContainerWindKineticGenerator; import ic2.core.block.kineticgenerator.gui.GuiWindKineticGenerator; import ic2.core.block.kineticgenerator.tileentity.TileEntityWindKineticGenerator; -import ic2.core.network.NetworkManager; import ic2.core.util.Util; import net.minecraft.block.Block; import net.minecraft.client.gui.GuiScreen; @@ -24,365 +23,320 @@ import net.minecraft.util.StatCollector; import net.minecraft.world.ChunkCache; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityKineticWindGenerator -extends TileEntityWindKineticGenerator -implements IKineticSource, IHasGui -{ - public final InvSlotConsumableKineticRotor rotorSlot; - private double windStrength; - private int obstructedCrossSection; - private int crossSection; - private int updateTicker; - private float rotationSpeed; - private static final double efficiencyRollOffExponent = 2.0D; - private static final int nominalRotationPeriod = 500; - - public TileEntityKineticWindGenerator() - { - this.updateTicker = IC2.random.nextInt(getTickRate()); +public class TileEntityKineticWindGenerator extends TileEntityWindKineticGenerator implements IKineticSource, IHasGui { + private static final double efficiencyRollOffExponent = 2.0D; + private static final int nominalRotationPeriod = 500; + public final InvSlotConsumableKineticRotor rotorSlot; + private double windStrength; + private int obstructedCrossSection; + private int crossSection; + private int updateTicker; + private float rotationSpeed; + + public TileEntityKineticWindGenerator() { + this.updateTicker = IC2.random.nextInt(this.getTickRate()); this.rotorSlot = new InvSlotConsumableKineticRotor(this, "rotorslot", 0, null, 1, null, GearboxType.WIND); } - - public void update2Entity() - { - super.updateEntity(); - - assert (IC2.platform.isSimulating()); - if (this.updateTicker++ % getTickRate() != 0) { - return; - } - boolean needsInvUpdate = false; - if (!this.rotorSlot.isEmpty()) - { - if (checkSpace(1, true) == 0) - { - if (getActive() != true) { - setActive(true); - } - needsInvUpdate = true; - } - else - { - if (getActive()) { - setActive(false); - } - needsInvUpdate = true; - } - } - else - { - if (getActive()) { - setActive(false); - } - needsInvUpdate = true; - } - if (getActive()) - { - this.crossSection = (getRotorDiameter() / 2 * 2 * 2 + 1); + @Override + public double calcWindStrength() { + double windStr = WorldData.get(this.worldObj).windSim.getWindAt(this.yCoord); - this.crossSection *= this.crossSection; - this.obstructedCrossSection = checkSpace(getRotorDiameter() * 3, false); - if ((this.obstructedCrossSection > 0) && (this.obstructedCrossSection <= (getRotorDiameter() + 1) / 2)) { - this.obstructedCrossSection = 0; - } else if (this.obstructedCrossSection < 0) { - this.obstructedCrossSection = this.crossSection; - } - this.windStrength = calcWindStrength(); + windStr *= 1.0D - Math.pow(this.obstructedCrossSection / this.crossSection, 2.0D); - float speed = (float)Util.limit((this.windStrength - getMinWindStrength()) / getMaxWindStrength(), 0.0D, 2.0D); + return Math.max(0.0D, windStr); + } + @Override + public boolean checkrotor() { + return !this.rotorSlot.isEmpty(); + } - setRotationSpeed(speed*2); - if (this.windStrength >= getMinWindStrength()) { - if (this.windStrength <= getMaxWindStrength()) { - this.rotorSlot.damage(1, false); - } else { - this.rotorSlot.damage(4, false); - } - } + @Override + public int checkSpace(int length, final boolean onlyrotor) { + int box = this.getRotorDiameter() / 2; + int lentemp = 0; + if (onlyrotor) { + length = 1; + lentemp = length + 1; } - } + if (!onlyrotor) { + box *= 2; + } + final ForgeDirection fwdDir = ForgeDirection.VALID_DIRECTIONS[this.getFacing()]; + final ForgeDirection rightDir = fwdDir.getRotation(ForgeDirection.DOWN); + final int xMaxDist = Math.abs(length * fwdDir.offsetX + box * rightDir.offsetX); + final int zMaxDist = Math.abs(length * fwdDir.offsetZ + box * rightDir.offsetZ); - @Override - public List<String> getNetworkedFields() - { - List<String> ret = new Vector<String>(1); + final ChunkCache chunkCache = new ChunkCache(this.worldObj, this.xCoord - xMaxDist, this.yCoord - box, + this.zCoord - zMaxDist, this.xCoord + xMaxDist, this.yCoord + box, this.zCoord + zMaxDist, 0); - ret.add("rotationSpeed"); - ret.add("rotorSlot"); - ret.addAll(super.getNetworkedFields()); + int ret = 0; + for (int up = -box; up <= box; up++) { + final int y = this.yCoord + up; + for (int right = -box; right <= box; right++) { + boolean occupied = false; + for (int fwd = lentemp - length; fwd <= length; fwd++) { + final int x = this.xCoord + fwd * fwdDir.offsetX + right * rightDir.offsetX; + + final int z = this.zCoord + fwd * fwdDir.offsetZ + right * rightDir.offsetZ; + + assert Math.abs(x - this.xCoord) <= xMaxDist; + assert Math.abs(z - this.zCoord) <= zMaxDist; + final Block block = chunkCache.getBlock(x, y, z); + if (!block.isAir(chunkCache, x, y, z)) { + occupied = true; + if ((up != 0 || right != 0 || fwd != 0) + && chunkCache.getTileEntity(x, y, z) instanceof TileEntityKineticWindGenerator + && !onlyrotor) { + return -1; + } + } + } + if (occupied) { + ret++; + } + } + } return ret; } - @Override - public ContainerBase<TileEntityWindKineticGenerator> getGuiContainer(EntityPlayer entityPlayer) - { - return new ContainerWindKineticGenerator(entityPlayer, this); + public boolean enableUpdateEntity() { + return IC2.platform.isSimulating(); } @Override - @SideOnly(Side.CLIENT) - public GuiScreen getGui(EntityPlayer entityPlayer, boolean isAdmin) - { - return new GuiWindKineticGenerator(new ContainerWindKineticGenerator(entityPlayer, this)); + public boolean facingMatchesDirection(final ForgeDirection direction) { + return direction.ordinal() == this.getFacing(); } @Override - public boolean facingMatchesDirection(ForgeDirection direction) - { - return direction.ordinal() == getFacing(); - } + public float getAngle() { + if (this.rotationSpeed > 0.0F) { + final long period = (long) (5.0E+008F / this.rotationSpeed); - @Override - public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side) - { - if ((side == 0) || (side == 1)) { - return false; + return (float) (System.nanoTime() % period) / (float) period * 360.0F; } - return getFacing() != side; + return 0.0F; } @Override - public void setFacing(short side) - { - super.setFacing(side); + public float getefficiency() { + final ItemStack stack = this.rotorSlot.get(); + if (stack != null && stack.getItem() instanceof IKineticRotor) { + return (float) (((IKineticRotor) stack.getItem()).getEfficiency(stack) * 1.5); + } + return 0.0F; } - public boolean enableUpdateEntity() - { - return IC2.platform.isSimulating(); + @Override + @SideOnly(Side.CLIENT) + public GuiScreen getGui(final EntityPlayer entityPlayer, final boolean isAdmin) { + return new GuiWindKineticGenerator(new ContainerWindKineticGenerator(entityPlayer, this)); } @Override - public String getRotorhealth() - { - if (!this.rotorSlot.isEmpty()) { - return StatCollector.translateToLocalFormatted("ic2.WindKineticGenerator.gui.rotorhealth", new Object[] { Integer.valueOf((int)(100.0F - this.rotorSlot.get().getItemDamage() / this.rotorSlot.get().getMaxDamage() * 100.0F)) }); - } - return ""; + public ContainerBase<TileEntityWindKineticGenerator> getGuiContainer(final EntityPlayer entityPlayer) { + return new ContainerWindKineticGenerator(entityPlayer, this); } @Override - public int maxrequestkineticenergyTick(ForgeDirection directionFrom) - { - return getKuOutput(); + public String getInventoryName() { + return "Advanced Kinetic Wind Generator"; } @Override - public int requestkineticenergy(ForgeDirection directionFrom, int requestkineticenergy) - { - if (facingMatchesDirection(directionFrom.getOpposite())) { - return Math.min(requestkineticenergy, getKuOutput()); + public int getKuOutput() { + if (this.windStrength >= this.getMinWindStrength() && this.getActive()) { + return (int) (this.windStrength * 50.0D * this.getefficiency()); } return 0; } @Override - public String getInventoryName() - { - return "Advanced Kinetic Wind Generator"; + public int getMaxWindStrength() { + final ItemStack stack = this.rotorSlot.get(); + if (stack != null && stack.getItem() instanceof IKineticRotor) { + return ((IKineticRotor) stack.getItem()).getMaxWindStrength(stack) * 2; + } + return 0; } @Override - public void onGuiClosed(EntityPlayer entityPlayer) {} - - @Override - public boolean shouldRenderInPass(int pass) - { - return pass == 0; + public int getMinWindStrength() { + final ItemStack stack = this.rotorSlot.get(); + if (stack != null && stack.getItem() instanceof IKineticRotor) { + return ((IKineticRotor) stack.getItem()).getMinWindStrength(stack) / 2; + } + return 0; } @Override - public int checkSpace(int length, boolean onlyrotor) - { - int box = getRotorDiameter() / 2; - int lentemp = 0; - if (onlyrotor) - { - length = 1; - lentemp = length + 1; - } - if (!onlyrotor) { - box *= 2; - } - ForgeDirection fwdDir = ForgeDirection.VALID_DIRECTIONS[getFacing()]; - ForgeDirection rightDir = fwdDir.getRotation(ForgeDirection.DOWN); + public List<String> getNetworkedFields() { + final List<String> ret = new Vector<String>(1); - int xMaxDist = Math.abs(length * fwdDir.offsetX + box * rightDir.offsetX); - - int zMaxDist = Math.abs(length * fwdDir.offsetZ + box * rightDir.offsetZ); - - - ChunkCache chunkCache = new ChunkCache(this.worldObj, this.xCoord - xMaxDist, this.yCoord - box, this.zCoord - zMaxDist, this.xCoord + xMaxDist, this.yCoord + box, this.zCoord + zMaxDist, 0); - - - - int ret = 0; - for (int up = -box; up <= box; up++) - { - int y = this.yCoord + up; - for (int right = -box; right <= box; right++) - { - boolean occupied = false; - for (int fwd = lentemp - length; fwd <= length; fwd++) - { - int x = this.xCoord + fwd * fwdDir.offsetX + right * rightDir.offsetX; - - int z = this.zCoord + fwd * fwdDir.offsetZ + right * rightDir.offsetZ; - - - assert (Math.abs(x - this.xCoord) <= xMaxDist); - assert (Math.abs(z - this.zCoord) <= zMaxDist); + ret.add("rotationSpeed"); + ret.add("rotorSlot"); + ret.addAll(super.getNetworkedFields()); - Block block = chunkCache.getBlock(x, y, z); - if (!block.isAir(chunkCache, x, y, z)) - { - occupied = true; - if (((up != 0) || (right != 0) || (fwd != 0)) && ((chunkCache.getTileEntity(x, y, z) instanceof TileEntityKineticWindGenerator)) && (!onlyrotor)) { - return -1; - } - } - } - if (occupied) { - ret++; - } - } - } return ret; } @Override - public boolean checkrotor() - { - return !this.rotorSlot.isEmpty(); + public int getRotorDiameter() { + final ItemStack stack = this.rotorSlot.get(); + if (stack != null && stack.getItem() instanceof IKineticRotor) { + return ((IKineticRotor) stack.getItem()).getDiameter(stack) / 2; + } + return 0; } @Override - public boolean rotorspace() - { - return checkSpace(1, true) == 0; + public String getRotorhealth() { + if (!this.rotorSlot.isEmpty()) { + return StatCollector.translateToLocalFormatted("ic2.WindKineticGenerator.gui.rotorhealth", new Object[] { + Integer.valueOf((int) (100.0F + - this.rotorSlot.get().getItemDamage() / this.rotorSlot.get().getMaxDamage() * 100.0F)) + }); + } + return ""; } - private void setRotationSpeed(float speed) - { - if (this.rotationSpeed != speed) - { - this.rotationSpeed = speed; - ((NetworkManager)IC2.network.get()).updateTileEntityField(this, "rotationSpeed"); + @Override + public ResourceLocation getRotorRenderTexture() { + final ItemStack stack = this.rotorSlot.get(); + if (stack != null && stack.getItem() instanceof IKineticRotor) { + return ((IKineticRotor) stack.getItem()).getRotorRenderTexture(stack); } + return new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorWoodmodel.png"); } @Override - public int getTickRate() - { + public int getTickRate() { return 32; } @Override - public double calcWindStrength() - { - double windStr = WorldData.get(this.worldObj).windSim.getWindAt(this.yCoord); - - windStr *= (1.0D - Math.pow(this.obstructedCrossSection / this.crossSection, 2.0D)); - - - return Math.max(0.0D, windStr); + public int getWindStrength() { + return (int) this.windStrength; } @Override - public float getAngle() - { - if (this.rotationSpeed > 0.0F) - { - long period = (long) (5.0E+008F / this.rotationSpeed); - - - return (float)(System.nanoTime() % period) / (float)period * 360.0F; - } - return 0.0F; + public boolean guiisminWindStrength() { + return this.windStrength >= this.getMinWindStrength(); } @Override - public float getefficiency() - { - ItemStack stack = this.rotorSlot.get(); - if ((stack != null) && ((stack.getItem() instanceof IKineticRotor))) { - return (float) (((IKineticRotor)stack.getItem()).getEfficiency(stack)*1.5); + public boolean guiisoverload() { + if (this.windStrength > this.getMaxWindStrength()) { + return true; } - return 0.0F; + return false; } @Override - public int getMinWindStrength() - { - ItemStack stack = this.rotorSlot.get(); - if ((stack != null) && ((stack.getItem() instanceof IKineticRotor))) { - return ((IKineticRotor)stack.getItem()).getMinWindStrength(stack)/2; - } - return 0; + public int maxrequestkineticenergyTick(final ForgeDirection directionFrom) { + return this.getKuOutput(); } @Override - public int getMaxWindStrength() - { - ItemStack stack = this.rotorSlot.get(); - if ((stack != null) && ((stack.getItem() instanceof IKineticRotor))) { - return ((IKineticRotor)stack.getItem()).getMaxWindStrength(stack)*2; - } - return 0; + public void onGuiClosed(final EntityPlayer entityPlayer) { } @Override - public int getRotorDiameter() - { - ItemStack stack = this.rotorSlot.get(); - if ((stack != null) && ((stack.getItem() instanceof IKineticRotor))) { - return ((IKineticRotor)stack.getItem()).getDiameter(stack)/2; + public int requestkineticenergy(final ForgeDirection directionFrom, final int requestkineticenergy) { + if (this.facingMatchesDirection(directionFrom.getOpposite())) { + return Math.min(requestkineticenergy, this.getKuOutput()); } return 0; } @Override - public ResourceLocation getRotorRenderTexture() - { - ItemStack stack = this.rotorSlot.get(); - if ((stack != null) && ((stack.getItem() instanceof IKineticRotor))) { - return ((IKineticRotor)stack.getItem()).getRotorRenderTexture(stack); - } - return new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorWoodmodel.png"); + public boolean rotorspace() { + return this.checkSpace(1, true) == 0; } @Override - public boolean guiisoverload() - { - if (this.windStrength > getMaxWindStrength()) { - return true; + public void setFacing(final short side) { + super.setFacing(side); + } + + private void setRotationSpeed(final float speed) { + if (this.rotationSpeed != speed) { + this.rotationSpeed = speed; + IC2.network.get().updateTileEntityField(this, "rotationSpeed"); } - return false; } @Override - public boolean guiisminWindStrength() - { - return this.windStrength >= getMinWindStrength(); + public boolean shouldRenderInPass(final int pass) { + return pass == 0; } - @Override - public int getKuOutput() - { - if ((this.windStrength >= getMinWindStrength()) && (getActive())) { - return (int)(this.windStrength * 50.0D * getefficiency()); + public void update2Entity() { + super.updateEntity(); + + assert IC2.platform.isSimulating(); + if (this.updateTicker++ % this.getTickRate() != 0) { + return; + } + boolean needsInvUpdate = false; + if (!this.rotorSlot.isEmpty()) { + if (this.checkSpace(1, true) == 0) { + if (this.getActive() != true) { + this.setActive(true); + } + needsInvUpdate = true; + } + else { + if (this.getActive()) { + this.setActive(false); + } + needsInvUpdate = true; + } + } + else { + if (this.getActive()) { + this.setActive(false); + } + needsInvUpdate = true; + } + if (this.getActive()) { + this.crossSection = this.getRotorDiameter() / 2 * 2 * 2 + 1; + + this.crossSection *= this.crossSection; + this.obstructedCrossSection = this.checkSpace(this.getRotorDiameter() * 3, false); + if (this.obstructedCrossSection > 0 && this.obstructedCrossSection <= (this.getRotorDiameter() + 1) / 2) { + this.obstructedCrossSection = 0; + } + else if (this.obstructedCrossSection < 0) { + this.obstructedCrossSection = this.crossSection; + } + this.windStrength = this.calcWindStrength(); + + final float speed = (float) Util + .limit((this.windStrength - this.getMinWindStrength()) / this.getMaxWindStrength(), 0.0D, 2.0D); + + this.setRotationSpeed(speed * 2); + if (this.windStrength >= this.getMinWindStrength()) { + if (this.windStrength <= this.getMaxWindStrength()) { + this.rotorSlot.damage(1, false); + } + else { + this.rotorSlot.damage(4, false); + } + } } - return 0; } @Override - public int getWindStrength() - { - return (int)this.windStrength; + public boolean wrenchCanSetFacing(final EntityPlayer entityPlayer, final int side) { + if (side == 0 || side == 1) { + return false; + } + return this.getFacing() != side; } } diff --git a/src/Java/gtPlusPlus/xmod/ic2/item/IC2_ItemGradual.java b/src/Java/gtPlusPlus/xmod/ic2/item/IC2_ItemGradual.java index b481e20ace..96c61d65b5 100644 --- a/src/Java/gtPlusPlus/xmod/ic2/item/IC2_ItemGradual.java +++ b/src/Java/gtPlusPlus/xmod/ic2/item/IC2_ItemGradual.java @@ -9,31 +9,25 @@ import gtPlusPlus.core.item.base.CoreItem; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.*; -public class IC2_ItemGradual -extends CoreItem -{ - public IC2_ItemGradual(String internalName) - { +public class IC2_ItemGradual extends CoreItem { + public IC2_ItemGradual(final String internalName) { super(internalName, AddToCreativeTab.tabMachines, 1, 10000, "", EnumRarity.uncommon); - setNoRepair(); + this.setNoRepair(); } @Override - public boolean isDamaged(ItemStack stack) - { - return getDamage(stack) > 1; + @SideOnly(Side.CLIENT) + public void getSubItems(final Item item, final CreativeTabs tabs, final List itemList) { + itemList.add(new ItemStack(this, 1, 1)); } @Override - public boolean showDurabilityBar(ItemStack stack) - { - return true; + public boolean isDamaged(final ItemStack stack) { + return this.getDamage(stack) > 1; } @Override - @SideOnly(Side.CLIENT) - public void getSubItems(Item item, CreativeTabs tabs, List itemList) - { - itemList.add(new ItemStack(this, 1, 1)); + public boolean showDurabilityBar(final ItemStack stack) { + return true; } } diff --git a/src/Java/gtPlusPlus/xmod/ic2/item/IC2_ItemGradualInteger.java b/src/Java/gtPlusPlus/xmod/ic2/item/IC2_ItemGradualInteger.java index 4922e0f806..54e8ae855e 100644 --- a/src/Java/gtPlusPlus/xmod/ic2/item/IC2_ItemGradualInteger.java +++ b/src/Java/gtPlusPlus/xmod/ic2/item/IC2_ItemGradualInteger.java @@ -6,48 +6,41 @@ import net.minecraft.entity.EntityLivingBase; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -public class IC2_ItemGradualInteger - extends IC2_ItemGradual - implements ICustomDamageItem -{ - private final int maxDmg; - - public IC2_ItemGradualInteger(String internalName, int maxdmg) - { - super(internalName); - - this.maxDmg = maxdmg; - } - - @Override -public int getCustomDamage(ItemStack stack) - { - NBTTagCompound nbt = StackUtil.getOrCreateNbtData(stack); - return nbt.getInteger("advDmg"); - } - - @Override -public int getMaxCustomDamage(ItemStack stack) - { - return this.maxDmg; - } - - @Override -public void setCustomDamage(ItemStack stack, int damage) - { - NBTTagCompound nbt = StackUtil.getOrCreateNbtData(stack); - nbt.setInteger("advDmg", 0); - - int maxStackDamage = stack.getMaxDamage(); - if (maxStackDamage > 2) { - //stack.setItemDamage(1 + (int)Util.map(damage, this.maxDmg, maxStackDamage - 2)); - } - } - - @Override -public boolean applyCustomDamage(ItemStack stack, int damage, EntityLivingBase src) - { - setCustomDamage(stack, getCustomDamage(stack) + damage); - return true; - } +public class IC2_ItemGradualInteger extends IC2_ItemGradual implements ICustomDamageItem { + private final int maxDmg; + + public IC2_ItemGradualInteger(final String internalName, final int maxdmg) { + super(internalName); + + this.maxDmg = maxdmg; + } + + @Override + public boolean applyCustomDamage(final ItemStack stack, final int damage, final EntityLivingBase src) { + this.setCustomDamage(stack, this.getCustomDamage(stack) + damage); + return true; + } + + @Override + public int getCustomDamage(final ItemStack stack) { + final NBTTagCompound nbt = StackUtil.getOrCreateNbtData(stack); + return nbt.getInteger("advDmg"); + } + + @Override + public int getMaxCustomDamage(final ItemStack stack) { + return this.maxDmg; + } + + @Override + public void setCustomDamage(final ItemStack stack, final int damage) { + final NBTTagCompound nbt = StackUtil.getOrCreateNbtData(stack); + nbt.setInteger("advDmg", 0); + + final int maxStackDamage = stack.getMaxDamage(); + if (maxStackDamage > 2) { + // stack.setItemDamage(1 + (int)Util.map(damage, this.maxDmg, + // maxStackDamage - 2)); + } + } } diff --git a/src/Java/gtPlusPlus/xmod/ic2/item/IC2_ItemIC2.java b/src/Java/gtPlusPlus/xmod/ic2/item/IC2_ItemIC2.java index e18455d69b..d7cb77ee40 100644 --- a/src/Java/gtPlusPlus/xmod/ic2/item/IC2_ItemIC2.java +++ b/src/Java/gtPlusPlus/xmod/ic2/item/IC2_ItemIC2.java @@ -9,94 +9,68 @@ import net.minecraft.item.*; import net.minecraft.util.IIcon; import net.minecraft.util.StatCollector; -public class IC2_ItemIC2 -extends Item -{ - public IC2_ItemIC2(String internalName) - { - setUnlocalizedName(internalName); - setCreativeTab(AddToCreativeTab.tabMachines); - setTextureName(CORE.MODID + ":" + internalName); +public class IC2_ItemIC2 extends Item { + private int rarity = 0; - GameRegistry.registerItem(this, internalName); - } - - public String getTextureFolder() - { - return null; - } - - /* public String getTextureName(int index) - { - if ((!this.hasSubtypes) && (index > 0)) { - return null; - } - String name = getUnlocalizedName(new ItemStack(this, 1, index)); - if ((name != null) && (name.length() > 4)) { - return name.substring(4); - } - return name; - } + protected IIcon[] textures; - @Override -@SideOnly(Side.CLIENT) - public void registerIcons(IIconRegister iconRegister) - { - int indexCount = 0; - while (getTextureName(indexCount) != null) - { - indexCount++; - if (indexCount > 32767) { - throw new RuntimeException("More Item Icons than actually possible @ " + getUnlocalizedName()); - } - } - this.textures = new IIcon[indexCount]; - for (int index = 0; index < indexCount; index++) { - this.textures[index] = iconRegister.registerIcon(CORE.MODID + ":" + getUnlocalizedName()); - } - } + /* + * public String getTextureName(int index) { if ((!this.hasSubtypes) && + * (index > 0)) { return null; } String name = getUnlocalizedName(new + * ItemStack(this, 1, index)); if ((name != null) && (name.length() > 4)) { + * return name.substring(4); } return name; } + * + * @Override + * + * @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister + * iconRegister) { int indexCount = 0; while (getTextureName(indexCount) != + * null) { indexCount++; if (indexCount > 32767) { throw new + * RuntimeException("More Item Icons than actually possible @ " + + * getUnlocalizedName()); } } this.textures = new IIcon[indexCount]; for + * (int index = 0; index < indexCount; index++) { this.textures[index] = + * iconRegister.registerIcon(CORE.MODID + ":" + getUnlocalizedName()); } } + * + * @Override + * + * @SideOnly(Side.CLIENT) public IIcon getIconFromDamage(int meta) { if + * (meta < this.textures.length) { return this.textures[meta]; } return + * this.textures.length < 1 ? null : this.textures[0]; } + */ - @Override -@SideOnly(Side.CLIENT) - public IIcon getIconFromDamage(int meta) - { - if (meta < this.textures.length) { - return this.textures[meta]; - } - return this.textures.length < 1 ? null : this.textures[0]; - }*/ + public IC2_ItemIC2(final String internalName) { + this.setUnlocalizedName(internalName); + this.setCreativeTab(AddToCreativeTab.tabMachines); + this.setTextureName(CORE.MODID + ":" + internalName); - @Override - public String getUnlocalizedName() - { - return super.getUnlocalizedName(); + GameRegistry.registerItem(this, internalName); } @Override - public String getUnlocalizedName(ItemStack itemStack) - { - return getUnlocalizedName(); + public String getItemStackDisplayName(final ItemStack itemStack) { + return StatCollector.translateToLocal(this.getUnlocalizedName(itemStack)); } @Override - public String getItemStackDisplayName(ItemStack itemStack) - { - return StatCollector.translateToLocal(getUnlocalizedName(itemStack)); + @SideOnly(Side.CLIENT) + public EnumRarity getRarity(final ItemStack stack) { + return EnumRarity.values()[this.rarity]; } - public IC2_ItemIC2 setRarity(int aRarity) - { - this.rarity = aRarity; - return this; + public String getTextureFolder() { + return null; } @Override - @SideOnly(Side.CLIENT) - public EnumRarity getRarity(ItemStack stack) - { - return EnumRarity.values()[this.rarity]; + public String getUnlocalizedName() { + return super.getUnlocalizedName(); } - private int rarity = 0; - protected IIcon[] textures; + @Override + public String getUnlocalizedName(final ItemStack itemStack) { + return this.getUnlocalizedName(); + } + public IC2_ItemIC2 setRarity(final int aRarity) { + this.rarity = aRarity; + return this; + } } diff --git a/src/Java/gtPlusPlus/xmod/ic2/item/IC2_Items.java b/src/Java/gtPlusPlus/xmod/ic2/item/IC2_Items.java index bf6f3bc1cd..c7645d309e 100644 --- a/src/Java/gtPlusPlus/xmod/ic2/item/IC2_Items.java +++ b/src/Java/gtPlusPlus/xmod/ic2/item/IC2_Items.java @@ -10,62 +10,98 @@ import net.minecraft.util.ResourceLocation; public class IC2_Items { - public static ItemStack rotor_Material_1; //Energetic Alloy - public static ItemStack rotor_Material_2; //TungstenSteel - public static ItemStack rotor_Material_3; //Vibrant Alloy - public static ItemStack rotor_Material_4; //Iridium + public static ItemStack rotor_Material_1; // Energetic Alloy + public static ItemStack rotor_Material_2; // TungstenSteel + public static ItemStack rotor_Material_3; // Vibrant Alloy + public static ItemStack rotor_Material_4; // Iridium - public static ItemStack rotor_Blade_Material_1; - public static ItemStack rotor_Blade_Material_2; - public static ItemStack rotor_Blade_Material_3; - public static ItemStack rotor_Blade_Material_4; + public static ItemStack rotor_Blade_Material_1; + public static ItemStack rotor_Blade_Material_2; + public static ItemStack rotor_Blade_Material_3; + public static ItemStack rotor_Blade_Material_4; - public static ItemStack shaft_Material_1; //Energetic Alloy - public static ItemStack shaft_Material_2; //TungstenSteel - public static ItemStack shaft_Material_3; //Vibrant Alloy - public static ItemStack shaft_Material_4; //Iridium - - public static ItemStack blockRTG; - public static ItemStack blockKineticGenerator; + public static ItemStack shaft_Material_1; // Energetic Alloy + public static ItemStack shaft_Material_2; // TungstenSteel + public static ItemStack shaft_Material_3; // Vibrant Alloy + public static ItemStack shaft_Material_4; // Iridium - public static void register(){ + public static ItemStack blockRTG; + public static ItemStack blockKineticGenerator; - if(LoadedMods.EnderIO){ - //Tier 1 - rotor_Blade_Material_1 = new ItemStack (new CoreItem("itemEnergeticRotorBlade", AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor")); - shaft_Material_1 = new ItemStack (new CoreItem("itemEnergeticShaft", AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor")); - rotor_Material_1 = new ItemStack (new RotorBase(InternalName.itemwoodrotor, 9, 512000, 0.9F, 12, 80, new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorEnergeticModel.png")).setCreativeTab(AddToCreativeTab.tabMachines).setUnlocalizedName("itemEnergeticRotor")); - //Tier 2 - rotor_Blade_Material_2 = new ItemStack (new CoreItem("itemTungstenSteelRotorBlade", AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor")); - shaft_Material_2 = new ItemStack (new CoreItem("itemTungstenSteelShaft", AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor")); - rotor_Material_2 = new ItemStack (new RotorBase(InternalName.itemironrotor, 11, 809600, 1.0F, 14, 120, new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorTungstenSteelModel.png")).setCreativeTab(AddToCreativeTab.tabMachines).setUnlocalizedName("itemTungstenSteelRotor")); - //Tier 3 - rotor_Blade_Material_3 = new ItemStack (new CoreItem("itemVibrantRotorBlade", AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor")); - shaft_Material_3 = new ItemStack (new CoreItem("itemVibrantShaft", AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor")); - rotor_Material_3 = new ItemStack (new RotorBase(InternalName.itemsteelrotor, 13, 1600000, 1.2F, 16, 160, new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorVibrantModel.png")).setCreativeTab(AddToCreativeTab.tabMachines).setUnlocalizedName("itemVibrantRotor")); - //Tier 4 - rotor_Blade_Material_4 = new ItemStack (new CoreItem("itemIridiumRotorBlade", AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor")); - shaft_Material_4 = new ItemStack (new CoreItem("itemIridiumShaft", AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor")); - rotor_Material_4 = new ItemStack (new RotorIridium(InternalName.itemwcarbonrotor, 15, 3200000, 1.5F, 18, 320, new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorIridiumModel.png")).setCreativeTab(AddToCreativeTab.tabMachines).setUnlocalizedName("itemIridiumRotor")); + public static void register() { + + if (LoadedMods.EnderIO) { + // Tier 1 + IC2_Items.rotor_Blade_Material_1 = new ItemStack(new CoreItem("itemEnergeticRotorBlade", + AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor")); + IC2_Items.shaft_Material_1 = new ItemStack(new CoreItem("itemEnergeticShaft", AddToCreativeTab.tabMachines, + 16, "A part for an advanced Kinetic Rotor")); + IC2_Items.rotor_Material_1 = new ItemStack(new RotorBase(InternalName.itemwoodrotor, 9, 512000, 0.9F, 12, + 80, new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorEnergeticModel.png")) + .setCreativeTab(AddToCreativeTab.tabMachines).setUnlocalizedName("itemEnergeticRotor")); + // Tier 2 + IC2_Items.rotor_Blade_Material_2 = new ItemStack(new CoreItem("itemTungstenSteelRotorBlade", + AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor")); + IC2_Items.shaft_Material_2 = new ItemStack(new CoreItem("itemTungstenSteelShaft", + AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor")); + IC2_Items.rotor_Material_2 = new ItemStack(new RotorBase(InternalName.itemironrotor, 11, 809600, 1.0F, 14, + 120, new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorTungstenSteelModel.png")) + .setCreativeTab(AddToCreativeTab.tabMachines).setUnlocalizedName("itemTungstenSteelRotor")); + // Tier 3 + IC2_Items.rotor_Blade_Material_3 = new ItemStack(new CoreItem("itemVibrantRotorBlade", + AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor")); + IC2_Items.shaft_Material_3 = new ItemStack(new CoreItem("itemVibrantShaft", AddToCreativeTab.tabMachines, + 16, "A part for an advanced Kinetic Rotor")); + IC2_Items.rotor_Material_3 = new ItemStack(new RotorBase(InternalName.itemsteelrotor, 13, 1600000, 1.2F, 16, + 160, new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorVibrantModel.png")) + .setCreativeTab(AddToCreativeTab.tabMachines).setUnlocalizedName("itemVibrantRotor")); + // Tier 4 + IC2_Items.rotor_Blade_Material_4 = new ItemStack(new CoreItem("itemIridiumRotorBlade", + AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor")); + IC2_Items.shaft_Material_4 = new ItemStack(new CoreItem("itemIridiumShaft", AddToCreativeTab.tabMachines, + 16, "A part for an advanced Kinetic Rotor")); + IC2_Items.rotor_Material_4 = new ItemStack( + new RotorIridium(InternalName.itemwcarbonrotor, 15, 3200000, 1.5F, 18, 320, + new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorIridiumModel.png")) + .setCreativeTab(AddToCreativeTab.tabMachines) + .setUnlocalizedName("itemIridiumRotor")); } else { - //Tier 1 - Magnalium - rotor_Blade_Material_1 = new ItemStack (new CoreItem("itemMagnaliumRotorBlade", AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor")); - shaft_Material_1 = new ItemStack (new CoreItem("itemMagnaliumShaft", AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor")); - rotor_Material_1 = new ItemStack (new RotorBase(InternalName.itemwoodrotor, 9, 512000, 0.9F, 12, 80, new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorMagnaliumModel.png")).setCreativeTab(AddToCreativeTab.tabMachines).setUnlocalizedName("itemMagnaliumRotor")); - //Tier 2 - rotor_Blade_Material_2 = new ItemStack (new CoreItem("itemTungstenSteelRotorBlade", AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor")); - shaft_Material_2 = new ItemStack (new CoreItem("itemTungstenSteelShaft", AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor")); - rotor_Material_2 = new ItemStack (new RotorBase(InternalName.itemironrotor, 11, 809600, 1.0F, 14, 120, new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorTungstenSteelModel.png")).setCreativeTab(AddToCreativeTab.tabMachines).setUnlocalizedName("itemTungstenSteelRotor")); - //Tier 3 - Ultimet - rotor_Blade_Material_3 = new ItemStack (new CoreItem("itemUltimetRotorBlade", AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor")); - shaft_Material_3 = new ItemStack (new CoreItem("itemUltimetShaft", AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor")); - rotor_Material_3 = new ItemStack (new RotorBase(InternalName.itemsteelrotor, 13, 1600000, 1.2F, 16, 160, new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorUltimetModel.png")).setCreativeTab(AddToCreativeTab.tabMachines).setUnlocalizedName("itemUltimetRotor")); - //Tier 4 - rotor_Blade_Material_4 = new ItemStack (new CoreItem("itemIridiumRotorBlade", AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor")); - shaft_Material_4 = new ItemStack (new CoreItem("itemIridiumShaft", AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor")); - rotor_Material_4 = new ItemStack (new RotorIridium(InternalName.itemwcarbonrotor, 15, 3200000, 1.5F, 18, 320, new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorIridiumModel.png")).setCreativeTab(AddToCreativeTab.tabMachines).setUnlocalizedName("itemIridiumRotor")); + // Tier 1 - Magnalium + IC2_Items.rotor_Blade_Material_1 = new ItemStack(new CoreItem("itemMagnaliumRotorBlade", + AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor")); + IC2_Items.shaft_Material_1 = new ItemStack(new CoreItem("itemMagnaliumShaft", AddToCreativeTab.tabMachines, + 16, "A part for an advanced Kinetic Rotor")); + IC2_Items.rotor_Material_1 = new ItemStack(new RotorBase(InternalName.itemwoodrotor, 9, 512000, 0.9F, 12, + 80, new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorMagnaliumModel.png")) + .setCreativeTab(AddToCreativeTab.tabMachines).setUnlocalizedName("itemMagnaliumRotor")); + // Tier 2 + IC2_Items.rotor_Blade_Material_2 = new ItemStack(new CoreItem("itemTungstenSteelRotorBlade", + AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor")); + IC2_Items.shaft_Material_2 = new ItemStack(new CoreItem("itemTungstenSteelShaft", + AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor")); + IC2_Items.rotor_Material_2 = new ItemStack(new RotorBase(InternalName.itemironrotor, 11, 809600, 1.0F, 14, + 120, new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorTungstenSteelModel.png")) + .setCreativeTab(AddToCreativeTab.tabMachines).setUnlocalizedName("itemTungstenSteelRotor")); + // Tier 3 - Ultimet + IC2_Items.rotor_Blade_Material_3 = new ItemStack(new CoreItem("itemUltimetRotorBlade", + AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor")); + IC2_Items.shaft_Material_3 = new ItemStack(new CoreItem("itemUltimetShaft", AddToCreativeTab.tabMachines, + 16, "A part for an advanced Kinetic Rotor")); + IC2_Items.rotor_Material_3 = new ItemStack(new RotorBase(InternalName.itemsteelrotor, 13, 1600000, 1.2F, 16, + 160, new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorUltimetModel.png")) + .setCreativeTab(AddToCreativeTab.tabMachines).setUnlocalizedName("itemUltimetRotor")); + // Tier 4 + IC2_Items.rotor_Blade_Material_4 = new ItemStack(new CoreItem("itemIridiumRotorBlade", + AddToCreativeTab.tabMachines, 16, "A part for an advanced Kinetic Rotor")); + IC2_Items.shaft_Material_4 = new ItemStack(new CoreItem("itemIridiumShaft", AddToCreativeTab.tabMachines, + 16, "A part for an advanced Kinetic Rotor")); + IC2_Items.rotor_Material_4 = new ItemStack( + new RotorIridium(InternalName.itemwcarbonrotor, 15, 3200000, 1.5F, 18, 320, + new ResourceLocation(IC2.textureDomain, "textures/items/rotors/rotorIridiumModel.png")) + .setCreativeTab(AddToCreativeTab.tabMachines) + .setUnlocalizedName("itemIridiumRotor")); } } diff --git a/src/Java/gtPlusPlus/xmod/ic2/item/ItemGenerators.java b/src/Java/gtPlusPlus/xmod/ic2/item/ItemGenerators.java index 5967aeba49..38f259b578 100644 --- a/src/Java/gtPlusPlus/xmod/ic2/item/ItemGenerators.java +++ b/src/Java/gtPlusPlus/xmod/ic2/item/ItemGenerators.java @@ -8,47 +8,42 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.StatCollector; -public class ItemGenerators - extends ItemBlockIC2 -{ - public ItemGenerators(Block block) - { - super(block); - - setMaxDamage(0); - setHasSubtypes(true); - } - - @Override -public int getMetadata(int i) - { - return i; - } - - @Override -public String getUnlocalizedName(ItemStack itemstack) - { - int meta = itemstack.getItemDamage(); - switch (meta) - { - case 0: - return "ic2.blockRTGenerator2"; - case 1: - return "ic2.blockKineticGenerator2"; - } - return null; - } - - @Override -public void addInformation(ItemStack itemStack, EntityPlayer player, List info, boolean b) - { - int meta = itemStack.getItemDamage(); - switch (meta) - { - case 0: - info.add(StatCollector.translateToLocal("ic2.item.tooltip.PowerOutput") + " 1-32 EU/t " + StatCollector.translateToLocal("ic2.item.tooltip.max")); break; - case 1: - info.add(StatCollector.translateToLocal("ic2.item.tooltip.PowerOutput") + " 1-512 EU/t " + StatCollector.translateToLocal("ic2.item.tooltip.max")); - } - } +public class ItemGenerators extends ItemBlockIC2 { + public ItemGenerators(final Block block) { + super(block); + + this.setMaxDamage(0); + this.setHasSubtypes(true); + } + + @Override + public void addInformation(final ItemStack itemStack, final EntityPlayer player, final List info, final boolean b) { + final int meta = itemStack.getItemDamage(); + switch (meta) { + case 0: + info.add(StatCollector.translateToLocal("ic2.item.tooltip.PowerOutput") + " 1-32 EU/t " + + StatCollector.translateToLocal("ic2.item.tooltip.max")); + break; + case 1: + info.add(StatCollector.translateToLocal("ic2.item.tooltip.PowerOutput") + " 1-512 EU/t " + + StatCollector.translateToLocal("ic2.item.tooltip.max")); + } + } + + @Override + public int getMetadata(final int i) { + return i; + } + + @Override + public String getUnlocalizedName(final ItemStack itemstack) { + final int meta = itemstack.getItemDamage(); + switch (meta) { + case 0: + return "ic2.blockRTGenerator2"; + case 1: + return "ic2.blockKineticGenerator2"; + } + return null; + } } diff --git a/src/Java/gtPlusPlus/xmod/ic2/item/RotorBase.java b/src/Java/gtPlusPlus/xmod/ic2/item/RotorBase.java index 3ebd9682e0..8f1dd7f479 100644 --- a/src/Java/gtPlusPlus/xmod/ic2/item/RotorBase.java +++ b/src/Java/gtPlusPlus/xmod/ic2/item/RotorBase.java @@ -13,86 +13,82 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; import net.minecraft.util.StatCollector; -public class RotorBase extends ItemWindRotor{ +public class RotorBase extends ItemWindRotor { - private final int maxWindStrength; - private final int minWindStrength; - private final int radius; - private final float efficiency; - private final ResourceLocation renderTexture; - private final boolean water; + private final int maxWindStrength; + private final int minWindStrength; + private final int radius; + private final float efficiency; + private final ResourceLocation renderTexture; + private final boolean water; - public RotorBase(InternalName internalName, int Radius, int durability, float efficiency, int minWindStrength, int maxWindStrength, ResourceLocation RenderTexture) - { + public RotorBase(final InternalName internalName, final int Radius, final int durability, final float efficiency, + final int minWindStrength, final int maxWindStrength, final ResourceLocation RenderTexture) { super(internalName, Radius, durability, efficiency, minWindStrength, maxWindStrength, RenderTexture); - - - setMaxStackSize(1); - setMaxDamage(durability); + this.setMaxStackSize(1); + this.setMaxDamage(durability); this.radius = Radius; this.efficiency = efficiency; this.renderTexture = RenderTexture; this.minWindStrength = minWindStrength; this.maxWindStrength = maxWindStrength; - this.water = (internalName != InternalName.itemwoodrotor); + this.water = internalName != InternalName.itemwoodrotor; } @Override - public void addInformation(ItemStack itemStack, EntityPlayer player, List info, boolean b) - { - info.add(StatCollector.translateToLocalFormatted("ic2.itemrotor.wind.info", new Object[] { Integer.valueOf(this.minWindStrength), Integer.valueOf(this.maxWindStrength) })); + public void addInformation(final ItemStack itemStack, final EntityPlayer player, final List info, final boolean b) { + info.add(StatCollector.translateToLocalFormatted("ic2.itemrotor.wind.info", new Object[] { + Integer.valueOf(this.minWindStrength), Integer.valueOf(this.maxWindStrength) + })); IKineticRotor.GearboxType type = null; - if ((Minecraft.getMinecraft().currentScreen != null) && ((Minecraft.getMinecraft().currentScreen instanceof GuiWaterKineticGenerator))) { + if (Minecraft.getMinecraft().currentScreen != null + && Minecraft.getMinecraft().currentScreen instanceof GuiWaterKineticGenerator) { type = IKineticRotor.GearboxType.WATER; - } else if ((Minecraft.getMinecraft().currentScreen != null) && ((Minecraft.getMinecraft().currentScreen instanceof GuiWindKineticGenerator))) { + } + else if (Minecraft.getMinecraft().currentScreen != null + && Minecraft.getMinecraft().currentScreen instanceof GuiWindKineticGenerator) { type = IKineticRotor.GearboxType.WIND; } if (type != null) { - //info.add(StatCollector.translateToLocal("ic2.itemrotor.fitsin." + isAcceptedType(itemStack, type))); + // info.add(StatCollector.translateToLocal("ic2.itemrotor.fitsin." + + // isAcceptedType(itemStack, type))); } } @Override - public String getTextureFolder() - { - return "rotors"; + public int getDiameter(final ItemStack stack) { + return this.radius; } @Override - public int getDiameter(ItemStack stack) - { - return this.radius; + public float getEfficiency(final ItemStack stack) { + return this.efficiency; } @Override - public ResourceLocation getRotorRenderTexture(ItemStack stack) - { - return this.renderTexture; + public int getMaxWindStrength(final ItemStack stack) { + return this.maxWindStrength; } @Override - public float getEfficiency(ItemStack stack) - { - return this.efficiency; + public int getMinWindStrength(final ItemStack stack) { + return this.minWindStrength; } @Override - public int getMinWindStrength(ItemStack stack) - { - return this.minWindStrength; + public ResourceLocation getRotorRenderTexture(final ItemStack stack) { + return this.renderTexture; } @Override - public int getMaxWindStrength(ItemStack stack) - { - return this.maxWindStrength; + public String getTextureFolder() { + return "rotors"; } - public boolean isAcceptedType(ItemStack stack, IKineticRotor.GearboxType type) - { - return (type == IKineticRotor.GearboxType.WIND) || (this.water); + @Override + public boolean isAcceptedType(final ItemStack stack, final IKineticRotor.GearboxType type) { + return type == IKineticRotor.GearboxType.WIND || this.water; } } - diff --git a/src/Java/gtPlusPlus/xmod/ic2/item/RotorIridium.java b/src/Java/gtPlusPlus/xmod/ic2/item/RotorIridium.java index b4b40fda37..2aa89bd868 100644 --- a/src/Java/gtPlusPlus/xmod/ic2/item/RotorIridium.java +++ b/src/Java/gtPlusPlus/xmod/ic2/item/RotorIridium.java @@ -15,106 +15,100 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.ResourceLocation; import net.minecraft.util.StatCollector; -public class RotorIridium extends RotorBase{ +public class RotorIridium extends RotorBase { - private final int maxWindStrength; - private final int minWindStrength; - private final int radius; - private final float efficiency; - private final ResourceLocation renderTexture; - private final boolean water; + private final int maxWindStrength; + private final int minWindStrength; + private final int radius; + private final float efficiency; + private final ResourceLocation renderTexture; + private final boolean water; - public RotorIridium(InternalName internalName, int Radius, int durability, float efficiency, int minWindStrength, int maxWindStrength, ResourceLocation RenderTexture) - { + public RotorIridium(final InternalName internalName, final int Radius, final int durability, final float efficiency, + final int minWindStrength, final int maxWindStrength, final ResourceLocation RenderTexture) { super(internalName, Radius, durability, efficiency, minWindStrength, maxWindStrength, RenderTexture); - - - setMaxStackSize(1); - setMaxDamage(Integer.MAX_VALUE); + this.setMaxStackSize(1); + this.setMaxDamage(Integer.MAX_VALUE); this.radius = Radius; this.efficiency = efficiency; this.renderTexture = RenderTexture; this.minWindStrength = minWindStrength; this.maxWindStrength = maxWindStrength; - this.water = (internalName != InternalName.itemwoodrotor); + this.water = internalName != InternalName.itemwoodrotor; } @Override - public void addInformation(ItemStack itemStack, EntityPlayer player, List info, boolean b) - { - info.add(StatCollector.translateToLocalFormatted("ic2.itemrotor.wind.info", new Object[] { Integer.valueOf(this.minWindStrength), Integer.valueOf(this.maxWindStrength) })); + public void addInformation(final ItemStack itemStack, final EntityPlayer player, final List info, final boolean b) { + info.add(StatCollector.translateToLocalFormatted("ic2.itemrotor.wind.info", new Object[] { + Integer.valueOf(this.minWindStrength), Integer.valueOf(this.maxWindStrength) + })); IKineticRotor.GearboxType type = null; - if ((Minecraft.getMinecraft().currentScreen != null) && ((Minecraft.getMinecraft().currentScreen instanceof GuiWaterKineticGenerator))) { + if (Minecraft.getMinecraft().currentScreen != null + && Minecraft.getMinecraft().currentScreen instanceof GuiWaterKineticGenerator) { type = IKineticRotor.GearboxType.WATER; - } else if ((Minecraft.getMinecraft().currentScreen != null) && ((Minecraft.getMinecraft().currentScreen instanceof GuiWindKineticGenerator))) { + } + else if (Minecraft.getMinecraft().currentScreen != null + && Minecraft.getMinecraft().currentScreen instanceof GuiWindKineticGenerator) { type = IKineticRotor.GearboxType.WIND; } if (type != null) { - //info.add(StatCollector.translateToLocal("ic2.itemrotor.fitsin." + isAcceptedType(itemStack, type))); + // info.add(StatCollector.translateToLocal("ic2.itemrotor.fitsin." + + // isAcceptedType(itemStack, type))); } } @Override - public String getTextureFolder() - { - return "rotors"; - } - - @Override - public int getDiameter(ItemStack stack) - { - return this.radius; - } - - @Override - public ResourceLocation getRotorRenderTexture(ItemStack stack) - { - return this.renderTexture; - } - - @Override - public float getEfficiency(ItemStack stack) - { - return this.efficiency; - } - - @Override - public int getMinWindStrength(ItemStack stack) - { - return this.minWindStrength; - } - - @Override - public int getMaxWindStrength(ItemStack stack) - { - return this.maxWindStrength; - } - - public boolean isAcceptedType(ItemStack stack, IKineticRotor.GearboxType type) - { - return (type == IKineticRotor.GearboxType.WIND) || (this.water); - } - - - @Override - public void setCustomDamage(ItemStack stack, int damage) - { - NBTTagCompound nbt = StackUtil.getOrCreateNbtData(stack); - nbt.setInteger("advDmg", 0); - - int maxStackDamage = stack.getMaxDamage(); - if (maxStackDamage > 2) { - //stack.setItemDamage(1 + (int)Util.map(damage, this.maxDmg, maxStackDamage - 2)); - } - } - - @Override - public boolean applyCustomDamage(ItemStack stack, int damage, EntityLivingBase src) - { - setCustomDamage(stack, getCustomDamage(stack) + damage); - return true; - } + public boolean applyCustomDamage(final ItemStack stack, final int damage, final EntityLivingBase src) { + this.setCustomDamage(stack, this.getCustomDamage(stack) + damage); + return true; + } + + @Override + public int getDiameter(final ItemStack stack) { + return this.radius; + } + + @Override + public float getEfficiency(final ItemStack stack) { + return this.efficiency; + } + + @Override + public int getMaxWindStrength(final ItemStack stack) { + return this.maxWindStrength; + } + + @Override + public int getMinWindStrength(final ItemStack stack) { + return this.minWindStrength; + } + + @Override + public ResourceLocation getRotorRenderTexture(final ItemStack stack) { + return this.renderTexture; + } + + @Override + public String getTextureFolder() { + return "rotors"; + } + + @Override + public boolean isAcceptedType(final ItemStack stack, final IKineticRotor.GearboxType type) { + return type == IKineticRotor.GearboxType.WIND || this.water; + } + + @Override + public void setCustomDamage(final ItemStack stack, final int damage) { + final NBTTagCompound nbt = StackUtil.getOrCreateNbtData(stack); + nbt.setInteger("advDmg", 0); + + final int maxStackDamage = stack.getMaxDamage(); + if (maxStackDamage > 2) { + // stack.setItemDamage(1 + (int)Util.map(damage, this.maxDmg, + // maxStackDamage - 2)); + } } - +} diff --git a/src/Java/gtPlusPlus/xmod/ic2/recipe/RECIPE_IC2.java b/src/Java/gtPlusPlus/xmod/ic2/recipe/RECIPE_IC2.java index bf55a6cbf7..8fb8336ca0 100644 --- a/src/Java/gtPlusPlus/xmod/ic2/recipe/RECIPE_IC2.java +++ b/src/Java/gtPlusPlus/xmod/ic2/recipe/RECIPE_IC2.java @@ -11,136 +11,142 @@ import gtPlusPlus.xmod.ic2.item.IC2_Items; import net.minecraft.item.ItemStack; public class RECIPE_IC2 { - - public static String plate_T1 = "plateEnergeticAlloy"; - public static String plate_T2 = "plateTungstenSteel"; - public static String plate_T3 = "plateVibrantAlloy"; - public static String plate_T4 = "plateAlloyIridium"; - - public static ItemStack block_T1 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.EnergeticAlloy, 1L); - public static ItemStack block_T2 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.TungstenSteel, 1L); - public static ItemStack block_T3 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.VibrantAlloy, 1L); - public static ItemStack block_T4 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Iridium, 1L); - - public static String ingot_T1 = "ingotEnergeticAlloy"; - public static String ingot_T2 = "ingotTungstenSteel"; - public static String ingot_T3 = "ingotVibrantAlloy"; - public static String ingot_T4 = "ingotIridium"; - - private static ItemStack rotor_blade_T1 = ItemUtils.getSimpleStack(IC2_Items.rotor_Blade_Material_1.getItem()); - private static ItemStack rotor_blade_T2 = ItemUtils.getSimpleStack(IC2_Items.rotor_Blade_Material_2.getItem()); - private static ItemStack rotor_blade_T3 = ItemUtils.getSimpleStack(IC2_Items.rotor_Blade_Material_3.getItem()); - private static ItemStack rotor_blade_T4 = ItemUtils.getSimpleStack(IC2_Items.rotor_Blade_Material_4.getItem()); - - private static ItemStack shaft_T1 = ItemUtils.getSimpleStack(IC2_Items.shaft_Material_1.getItem()); - private static ItemStack shaft_T2 = ItemUtils.getSimpleStack(IC2_Items.shaft_Material_2.getItem()); - private static ItemStack shaft_T3 = ItemUtils.getSimpleStack(IC2_Items.shaft_Material_3.getItem()); - private static ItemStack shaft_T4 = ItemUtils.getSimpleStack(IC2_Items.shaft_Material_4.getItem()); - - private static ItemStack rotor_T1 = ItemUtils.getSimpleStack(IC2_Items.rotor_Material_1.getItem()); - private static ItemStack rotor_T2 = ItemUtils.getSimpleStack(IC2_Items.rotor_Material_2.getItem()); - private static ItemStack rotor_T3 = ItemUtils.getSimpleStack(IC2_Items.rotor_Material_3.getItem()); - private static ItemStack rotor_T4 = ItemUtils.getSimpleStack(IC2_Items.rotor_Material_4.getItem()); - - private static void checkForEnderIO(){ - if(!LoadedMods.EnderIO){ - plate_T1 = "plateMagnalium"; - plate_T2 = "plateTungstenSteel"; - plate_T3 = "plateUltimet"; - plate_T4 = "plateAlloyIridium"; - - block_T1 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Magnalium, 1L); - block_T2 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.TungstenSteel, 1L); - block_T3 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Ultimet, 1L); - block_T4 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Iridium, 1L); - - ingot_T1 = "ingotMagnalium"; - ingot_T2 = "ingotTungstenSteel"; - ingot_T3 = "ingotUltimet"; - ingot_T4 = "ingotIridium"; + + public static String plate_T1 = "plateEnergeticAlloy"; + public static String plate_T2 = "plateTungstenSteel"; + public static String plate_T3 = "plateVibrantAlloy"; + public static String plate_T4 = "plateAlloyIridium"; + + public static ItemStack block_T1 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.EnergeticAlloy, + 1L); + public static ItemStack block_T2 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.TungstenSteel, + 1L); + public static ItemStack block_T3 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.VibrantAlloy, + 1L); + public static ItemStack block_T4 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Iridium, 1L); + + public static String ingot_T1 = "ingotEnergeticAlloy"; + public static String ingot_T2 = "ingotTungstenSteel"; + public static String ingot_T3 = "ingotVibrantAlloy"; + public static String ingot_T4 = "ingotIridium"; + + private static ItemStack rotor_blade_T1 = ItemUtils.getSimpleStack(IC2_Items.rotor_Blade_Material_1.getItem()); + private static ItemStack rotor_blade_T2 = ItemUtils.getSimpleStack(IC2_Items.rotor_Blade_Material_2.getItem()); + private static ItemStack rotor_blade_T3 = ItemUtils.getSimpleStack(IC2_Items.rotor_Blade_Material_3.getItem()); + private static ItemStack rotor_blade_T4 = ItemUtils.getSimpleStack(IC2_Items.rotor_Blade_Material_4.getItem()); + + private static ItemStack shaft_T1 = ItemUtils.getSimpleStack(IC2_Items.shaft_Material_1.getItem()); + private static ItemStack shaft_T2 = ItemUtils.getSimpleStack(IC2_Items.shaft_Material_2.getItem()); + private static ItemStack shaft_T3 = ItemUtils.getSimpleStack(IC2_Items.shaft_Material_3.getItem()); + private static ItemStack shaft_T4 = ItemUtils.getSimpleStack(IC2_Items.shaft_Material_4.getItem()); + + private static ItemStack rotor_T1 = ItemUtils.getSimpleStack(IC2_Items.rotor_Material_1.getItem()); + private static ItemStack rotor_T2 = ItemUtils.getSimpleStack(IC2_Items.rotor_Material_2.getItem()); + private static ItemStack rotor_T3 = ItemUtils.getSimpleStack(IC2_Items.rotor_Material_3.getItem()); + private static ItemStack rotor_T4 = ItemUtils.getSimpleStack(IC2_Items.rotor_Material_4.getItem()); + + private static void checkForEnderIO() { + if (!LoadedMods.EnderIO) { + RECIPE_IC2.plate_T1 = "plateMagnalium"; + RECIPE_IC2.plate_T2 = "plateTungstenSteel"; + RECIPE_IC2.plate_T3 = "plateUltimet"; + RECIPE_IC2.plate_T4 = "plateAlloyIridium"; + + RECIPE_IC2.block_T1 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Magnalium, 1L); + RECIPE_IC2.block_T2 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.TungstenSteel, 1L); + RECIPE_IC2.block_T3 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Ultimet, 1L); + RECIPE_IC2.block_T4 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Iridium, 1L); + + RECIPE_IC2.ingot_T1 = "ingotMagnalium"; + RECIPE_IC2.ingot_T2 = "ingotTungstenSteel"; + RECIPE_IC2.ingot_T3 = "ingotUltimet"; + RECIPE_IC2.ingot_T4 = "ingotIridium"; } } - - public static void initRecipes(){ - - //Rotor Blade Recipes - RecipeUtils.recipeBuilder( - plate_T1, ingot_T1, plate_T1, - plate_T1, ingot_T1, plate_T1, - plate_T1, ingot_T1, plate_T1, - rotor_blade_T1); - - RecipeUtils.recipeBuilder( - plate_T2, ingot_T2, plate_T2, - plate_T2, ingot_T2, plate_T2, - plate_T2, ingot_T2, plate_T2, - rotor_blade_T2); - - RecipeUtils.recipeBuilder( - plate_T3, ingot_T3, plate_T3, - plate_T3, ingot_T3, plate_T3, - plate_T3, ingot_T3, plate_T3, - rotor_blade_T3); - - RecipeUtils.recipeBuilder( - plate_T4, ingot_T4, plate_T4, - plate_T4, ingot_T4, plate_T4, - plate_T4, ingot_T4, plate_T4, - rotor_blade_T4); - - //Shaft Extruder Recipe - GT_ModHandler.addCraftingRecipe(GregtechItemList.Shape_Extruder_WindmillShaft.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"hXS", "XPX", "fXd", Character.valueOf('P'), ItemList.Shape_Extruder_Rod, Character.valueOf('X'), OrePrefixes.plate.get(Materials.DarkIron), Character.valueOf('S'), OrePrefixes.screw.get(Materials.DarkIron)}); - GT_ModHandler.addCraftingRecipe(GregtechItemList.Shape_Extruder_WindmillShaft.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"hXS", "XPX", "fXd", Character.valueOf('P'), ItemList.Shape_Extruder_Rod, Character.valueOf('X'), OrePrefixes.plate.get(Materials.TungstenSteel), Character.valueOf('S'), OrePrefixes.screw.get(Materials.TungstenSteel)}); - GT_ModHandler.addCraftingRecipe(GregtechItemList.Shape_Extruder_WindmillShaft.get(1L, new Object[0]), GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE, new Object[]{"hXS", "XPX", "fXd", Character.valueOf('P'), ItemList.Shape_Extruder_Rod, Character.valueOf('X'), OrePrefixes.plate.get(Materials.Molybdenum), Character.valueOf('S'), OrePrefixes.screw.get(Materials.Molybdenum)}); + + public static void initRecipes() { + + // Rotor Blade Recipes + RecipeUtils.recipeBuilder(RECIPE_IC2.plate_T1, RECIPE_IC2.ingot_T1, RECIPE_IC2.plate_T1, RECIPE_IC2.plate_T1, + RECIPE_IC2.ingot_T1, RECIPE_IC2.plate_T1, RECIPE_IC2.plate_T1, RECIPE_IC2.ingot_T1, RECIPE_IC2.plate_T1, + RECIPE_IC2.rotor_blade_T1); + + RecipeUtils.recipeBuilder(RECIPE_IC2.plate_T2, RECIPE_IC2.ingot_T2, RECIPE_IC2.plate_T2, RECIPE_IC2.plate_T2, + RECIPE_IC2.ingot_T2, RECIPE_IC2.plate_T2, RECIPE_IC2.plate_T2, RECIPE_IC2.ingot_T2, RECIPE_IC2.plate_T2, + RECIPE_IC2.rotor_blade_T2); + + RecipeUtils.recipeBuilder(RECIPE_IC2.plate_T3, RECIPE_IC2.ingot_T3, RECIPE_IC2.plate_T3, RECIPE_IC2.plate_T3, + RECIPE_IC2.ingot_T3, RECIPE_IC2.plate_T3, RECIPE_IC2.plate_T3, RECIPE_IC2.ingot_T3, RECIPE_IC2.plate_T3, + RECIPE_IC2.rotor_blade_T3); + + RecipeUtils.recipeBuilder(RECIPE_IC2.plate_T4, RECIPE_IC2.ingot_T4, RECIPE_IC2.plate_T4, RECIPE_IC2.plate_T4, + RECIPE_IC2.ingot_T4, RECIPE_IC2.plate_T4, RECIPE_IC2.plate_T4, RECIPE_IC2.ingot_T4, RECIPE_IC2.plate_T4, + RECIPE_IC2.rotor_blade_T4); + + // Shaft Extruder Recipe + GT_ModHandler.addCraftingRecipe(GregtechItemList.Shape_Extruder_WindmillShaft.get(1L, new Object[0]), + GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE + | GT_ModHandler.RecipeBits.REVERSIBLE, + new Object[] { + "hXS", "XPX", "fXd", Character.valueOf('P'), ItemList.Shape_Extruder_Rod, + Character.valueOf('X'), OrePrefixes.plate.get(Materials.DarkIron), Character.valueOf('S'), + OrePrefixes.screw.get(Materials.DarkIron) + }); + GT_ModHandler.addCraftingRecipe(GregtechItemList.Shape_Extruder_WindmillShaft.get(1L, new Object[0]), + GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE + | GT_ModHandler.RecipeBits.REVERSIBLE, + new Object[] { + "hXS", "XPX", "fXd", Character.valueOf('P'), ItemList.Shape_Extruder_Rod, + Character.valueOf('X'), OrePrefixes.plate.get(Materials.TungstenSteel), Character.valueOf('S'), + OrePrefixes.screw.get(Materials.TungstenSteel) + }); + GT_ModHandler.addCraftingRecipe(GregtechItemList.Shape_Extruder_WindmillShaft.get(1L, new Object[0]), + GT_ModHandler.RecipeBits.BUFFERED | GT_ModHandler.RecipeBits.NOT_REMOVABLE + | GT_ModHandler.RecipeBits.REVERSIBLE, + new Object[] { + "hXS", "XPX", "fXd", Character.valueOf('P'), ItemList.Shape_Extruder_Rod, + Character.valueOf('X'), OrePrefixes.plate.get(Materials.Molybdenum), Character.valueOf('S'), + OrePrefixes.screw.get(Materials.Molybdenum) + }); Utils.LOG_INFO("Added recipe item for GT5 Extruder: Shaft Shape"); - - //Shaft Recipes - GT_Values.RA.addExtruderRecipe(GT_Utility.copyAmount(9L, block_T1), GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), shaft_T1, 2560, 250); - if (LoadedMods.EnderIO){ - Utils.LOG_INFO("Added recipe for GT5 Extruder: Windmill Shaft [Energetic]"); + + // Shaft Recipes + GT_Values.RA.addExtruderRecipe(GT_Utility.copyAmount(9L, RECIPE_IC2.block_T1), + GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), RECIPE_IC2.shaft_T1, 2560, 250); + if (LoadedMods.EnderIO) { + Utils.LOG_INFO("Added recipe for GT5 Extruder: Windmill Shaft [Energetic]"); } else { Utils.LOG_INFO("Added recipe for GT5 Extruder: Windmill Shaft [Magnalium]"); } - GT_Values.RA.addExtruderRecipe(GT_Utility.copyAmount(9L, block_T2), GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), shaft_T2, 5120, 500); + GT_Values.RA.addExtruderRecipe(GT_Utility.copyAmount(9L, RECIPE_IC2.block_T2), + GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), RECIPE_IC2.shaft_T2, 5120, 500); Utils.LOG_INFO("Added recipe for GT5 Extruder: Windmill Shaft [TungstenSteel]"); - GT_Values.RA.addExtruderRecipe(GT_Utility.copyAmount(9L, block_T3), GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), shaft_T3, 10240, 2000); - if (LoadedMods.EnderIO){ - Utils.LOG_INFO("Added recipe for GT5 Extruder: Windmill Shaft [Vibrant]"); + GT_Values.RA.addExtruderRecipe(GT_Utility.copyAmount(9L, RECIPE_IC2.block_T3), + GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), RECIPE_IC2.shaft_T3, 10240, 2000); + if (LoadedMods.EnderIO) { + Utils.LOG_INFO("Added recipe for GT5 Extruder: Windmill Shaft [Vibrant]"); } else { Utils.LOG_INFO("Added recipe for GT5 Extruder: Windmill Shaft [Ultimet]"); } - GT_Values.RA.addExtruderRecipe(GT_Utility.copyAmount(9L, block_T4), GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), shaft_T4, 20480, 4000); + GT_Values.RA.addExtruderRecipe(GT_Utility.copyAmount(9L, RECIPE_IC2.block_T4), + GregtechItemList.Shape_Extruder_WindmillShaft.get(0L, new Object[0]), RECIPE_IC2.shaft_T4, 20480, 4000); Utils.LOG_INFO("Added recipe for GT5 Extruder: Windmill Shaft [Iridium]"); - - //Rotor Recipes - RecipeUtils.recipeBuilder( - null, rotor_blade_T1, null, - rotor_blade_T1, shaft_T1, rotor_blade_T1, - null, rotor_blade_T1, null, - rotor_T1); - - RecipeUtils.recipeBuilder( - null, rotor_blade_T2, null, - rotor_blade_T2, shaft_T2, rotor_blade_T2, - null, rotor_blade_T2, null, - rotor_T2); - - RecipeUtils.recipeBuilder( - null, rotor_blade_T3, null, - rotor_blade_T3, shaft_T3, rotor_blade_T3, - null, rotor_blade_T3, null, - rotor_T3); - - RecipeUtils.recipeBuilder( - null, rotor_blade_T4, null, - rotor_blade_T4, shaft_T4, rotor_blade_T4, - null, rotor_blade_T4, null, - rotor_T4); - + + // Rotor Recipes + RecipeUtils.recipeBuilder(null, RECIPE_IC2.rotor_blade_T1, null, RECIPE_IC2.rotor_blade_T1, RECIPE_IC2.shaft_T1, + RECIPE_IC2.rotor_blade_T1, null, RECIPE_IC2.rotor_blade_T1, null, RECIPE_IC2.rotor_T1); + + RecipeUtils.recipeBuilder(null, RECIPE_IC2.rotor_blade_T2, null, RECIPE_IC2.rotor_blade_T2, RECIPE_IC2.shaft_T2, + RECIPE_IC2.rotor_blade_T2, null, RECIPE_IC2.rotor_blade_T2, null, RECIPE_IC2.rotor_T2); + + RecipeUtils.recipeBuilder(null, RECIPE_IC2.rotor_blade_T3, null, RECIPE_IC2.rotor_blade_T3, RECIPE_IC2.shaft_T3, + RECIPE_IC2.rotor_blade_T3, null, RECIPE_IC2.rotor_blade_T3, null, RECIPE_IC2.rotor_T3); + + RecipeUtils.recipeBuilder(null, RECIPE_IC2.rotor_blade_T4, null, RECIPE_IC2.rotor_blade_T4, RECIPE_IC2.shaft_T4, + RECIPE_IC2.rotor_blade_T4, null, RECIPE_IC2.rotor_blade_T4, null, RECIPE_IC2.rotor_T4); + } - - - + } |