From a675750793105875d1210690c6f0f33071e5cc1d Mon Sep 17 00:00:00 2001 From: Bob Date: Mon, 3 Aug 2020 20:15:45 +0200 Subject: [PATCH] some code cleanup again, mufflers, radar API class --- .../java/api/hbm/energy/IRadarDetectable.java | 20 + .../assets/hbm/textures/blocks/muffler.png | Bin 808 -> 800 bytes src/main/java/com/hbm/blocks/ModBlocks.java | 7 + src/main/java/com/hbm/main/ClientProxy.java | 474 +++++++++--------- .../java/com/hbm/main/CraftingManager.java | 2 + src/main/java/com/hbm/main/MainRegistry.java | 1 - src/main/java/com/hbm/main/ServerProxy.java | 11 +- .../hbm/render/item/ItemRenderTemplate.java | 4 - .../item/{ => block}/ItemRenderDecoBlock.java | 2 +- .../item/{ => block}/ItemRenderPoleTop.java | 2 +- .../ItemRenderSatelliteReceiver.java | 2 +- .../{ => block}/ItemRenderSteelPoles.java | 2 +- .../{ => block}/ItemRenderTapeRecorder.java | 2 +- .../{ => block}/ItemRenderTestContainer.java | 2 +- .../{ => weapon}/ItemRenderBFLauncher.java | 2 +- .../{ => weapon}/ItemRenderBaleflare.java | 2 +- .../item/{ => weapon}/ItemRenderBigSword.java | 2 +- .../item/{ => weapon}/ItemRenderBullshit.java | 2 +- .../{ => weapon}/ItemRenderCryolator.java | 2 +- .../item/{ => weapon}/ItemRenderEMPRay.java | 2 +- .../item/{ => weapon}/ItemRenderFatMan.java | 2 +- .../item/{ => weapon}/ItemRenderGunAnim.java | 2 +- .../{ => weapon}/ItemRenderImmolator.java | 2 +- .../item/{ => weapon}/ItemRenderMIRV.java | 2 +- .../{ => weapon}/ItemRenderMIRVLauncher.java | 2 +- .../item/{ => weapon}/ItemRenderMP.java | 2 +- .../item/{ => weapon}/ItemRenderMP40.java | 2 +- .../item/{ => weapon}/ItemRenderMiniNuke.java | 2 +- .../{ => weapon}/ItemRenderNukeGadget.java | 2 +- .../item/{ => weapon}/ItemRenderOSIPR.java | 2 +- .../item/{ => weapon}/ItemRenderObj.java | 2 +- .../item/{ => weapon}/ItemRenderOverkill.java | 2 +- .../{ => weapon}/ItemRenderRedstoneSword.java | 2 +- .../item/{ => weapon}/ItemRenderRevolver.java | 2 +- .../ItemRenderRevolverCursed.java | 2 +- .../{ => weapon}/ItemRenderRevolverGold.java | 2 +- .../ItemRenderRevolverInverted.java | 2 +- .../{ => weapon}/ItemRenderRevolverIron.java | 2 +- .../{ => weapon}/ItemRenderRevolverLead.java | 2 +- .../ItemRenderRevolverNightmare.java | 2 +- .../ItemRenderRevolverSchrabidium.java | 2 +- .../item/{ => weapon}/ItemRenderRocket.java | 2 +- .../item/{ => weapon}/ItemRenderRpg.java | 2 +- .../item/{ => weapon}/ItemRenderShim.java | 2 +- .../item/{ => weapon}/ItemRenderStinger.java | 2 +- .../ItemRenderTestBombAdvanced.java | 2 +- .../item/{ => weapon}/ItemRenderUZI.java | 2 +- .../item/{ => weapon}/ItemRenderUboinik.java | 2 +- .../{ => weapon}/ItemRenderWeaponObj.java | 2 +- .../{ => weapon}/ItemRenderWeaponQuadro.java | 2 +- .../{ => weapon}/ItemRenderWeaponSauer.java | 2 +- .../item/{ => weapon}/ItemRenderXVL1456.java | 2 +- .../item/{ => weapon}/ItemRenderZOMG.java | 2 +- .../hbm/render/tileentity/RenderTaint.java | 126 ----- .../render/tileentity/RenderTapeRecorder.java | 49 -- .../tileentity/RenderTestContainer.java | 167 ------ .../render/tileentity/RenderYellowBarrel.java | 35 -- .../hbm/tileentity/TileEntityMachineBase.java | 20 + .../hbm/tileentity/deco/TileEntityTaint.java | 15 - .../machine/TileEntityMachineDiesel.java | 152 +----- 60 files changed, 347 insertions(+), 826 deletions(-) create mode 100644 src/main/java/api/hbm/energy/IRadarDetectable.java rename src/main/java/com/hbm/render/item/{ => block}/ItemRenderDecoBlock.java (97%) rename src/main/java/com/hbm/render/item/{ => block}/ItemRenderPoleTop.java (95%) rename src/main/java/com/hbm/render/item/{ => block}/ItemRenderSatelliteReceiver.java (95%) rename src/main/java/com/hbm/render/item/{ => block}/ItemRenderSteelPoles.java (95%) rename src/main/java/com/hbm/render/item/{ => block}/ItemRenderTapeRecorder.java (95%) rename src/main/java/com/hbm/render/item/{ => block}/ItemRenderTestContainer.java (92%) rename src/main/java/com/hbm/render/item/{ => weapon}/ItemRenderBFLauncher.java (98%) rename src/main/java/com/hbm/render/item/{ => weapon}/ItemRenderBaleflare.java (98%) rename src/main/java/com/hbm/render/item/{ => weapon}/ItemRenderBigSword.java (94%) rename src/main/java/com/hbm/render/item/{ => weapon}/ItemRenderBullshit.java (98%) rename src/main/java/com/hbm/render/item/{ => weapon}/ItemRenderCryolator.java (98%) rename src/main/java/com/hbm/render/item/{ => weapon}/ItemRenderEMPRay.java (98%) rename src/main/java/com/hbm/render/item/{ => weapon}/ItemRenderFatMan.java (95%) rename src/main/java/com/hbm/render/item/{ => weapon}/ItemRenderGunAnim.java (99%) rename src/main/java/com/hbm/render/item/{ => weapon}/ItemRenderImmolator.java (98%) rename src/main/java/com/hbm/render/item/{ => weapon}/ItemRenderMIRV.java (98%) rename src/main/java/com/hbm/render/item/{ => weapon}/ItemRenderMIRVLauncher.java (98%) rename src/main/java/com/hbm/render/item/{ => weapon}/ItemRenderMP.java (94%) rename src/main/java/com/hbm/render/item/{ => weapon}/ItemRenderMP40.java (98%) rename src/main/java/com/hbm/render/item/{ => weapon}/ItemRenderMiniNuke.java (95%) rename src/main/java/com/hbm/render/item/{ => weapon}/ItemRenderNukeGadget.java (94%) rename src/main/java/com/hbm/render/item/{ => weapon}/ItemRenderOSIPR.java (95%) rename src/main/java/com/hbm/render/item/{ => weapon}/ItemRenderObj.java (97%) rename src/main/java/com/hbm/render/item/{ => weapon}/ItemRenderOverkill.java (99%) rename src/main/java/com/hbm/render/item/{ => weapon}/ItemRenderRedstoneSword.java (93%) rename src/main/java/com/hbm/render/item/{ => weapon}/ItemRenderRevolver.java (95%) rename src/main/java/com/hbm/render/item/{ => weapon}/ItemRenderRevolverCursed.java (95%) rename src/main/java/com/hbm/render/item/{ => weapon}/ItemRenderRevolverGold.java (95%) rename src/main/java/com/hbm/render/item/{ => weapon}/ItemRenderRevolverInverted.java (98%) rename src/main/java/com/hbm/render/item/{ => weapon}/ItemRenderRevolverIron.java (95%) rename src/main/java/com/hbm/render/item/{ => weapon}/ItemRenderRevolverLead.java (95%) rename src/main/java/com/hbm/render/item/{ => weapon}/ItemRenderRevolverNightmare.java (98%) rename src/main/java/com/hbm/render/item/{ => weapon}/ItemRenderRevolverSchrabidium.java (95%) rename src/main/java/com/hbm/render/item/{ => weapon}/ItemRenderRocket.java (94%) rename src/main/java/com/hbm/render/item/{ => weapon}/ItemRenderRpg.java (96%) rename src/main/java/com/hbm/render/item/{ => weapon}/ItemRenderShim.java (98%) rename src/main/java/com/hbm/render/item/{ => weapon}/ItemRenderStinger.java (98%) rename src/main/java/com/hbm/render/item/{ => weapon}/ItemRenderTestBombAdvanced.java (95%) rename src/main/java/com/hbm/render/item/{ => weapon}/ItemRenderUZI.java (99%) rename src/main/java/com/hbm/render/item/{ => weapon}/ItemRenderUboinik.java (98%) rename src/main/java/com/hbm/render/item/{ => weapon}/ItemRenderWeaponObj.java (99%) rename src/main/java/com/hbm/render/item/{ => weapon}/ItemRenderWeaponQuadro.java (99%) rename src/main/java/com/hbm/render/item/{ => weapon}/ItemRenderWeaponSauer.java (99%) rename src/main/java/com/hbm/render/item/{ => weapon}/ItemRenderXVL1456.java (95%) rename src/main/java/com/hbm/render/item/{ => weapon}/ItemRenderZOMG.java (95%) delete mode 100644 src/main/java/com/hbm/render/tileentity/RenderTaint.java delete mode 100644 src/main/java/com/hbm/render/tileentity/RenderTapeRecorder.java delete mode 100644 src/main/java/com/hbm/render/tileentity/RenderTestContainer.java delete mode 100644 src/main/java/com/hbm/render/tileentity/RenderYellowBarrel.java delete mode 100644 src/main/java/com/hbm/tileentity/deco/TileEntityTaint.java diff --git a/src/main/java/api/hbm/energy/IRadarDetectable.java b/src/main/java/api/hbm/energy/IRadarDetectable.java new file mode 100644 index 000000000..e0449d664 --- /dev/null +++ b/src/main/java/api/hbm/energy/IRadarDetectable.java @@ -0,0 +1,20 @@ +package api.hbm.energy; + +public interface IRadarDetectable { + + public static enum RadarTargetType { + MISSILE_TIER0, //tier 0 missile (micro missile assemblies) + MISSILE_TIER1, //tier 1 missiles + MISSILE_TIER2, //tier 2 missiles + MISSILE_TIER3, //tier 3 missiles + MISSILE_TIER4, //tier 4 missiles (nuclear, thermo, doomsday) + MISSILE_10, //size 10 custom missiles + MISSILE_10_15, //size 10/15 custom missiles + MISSILE_15, //size 15 custom missiles + MISSILE_15_20, //size 15/20 custom missiles + MISSILE_20, //size 20 custom missiles + PLAYER, //airborne players + } + + //TODO: rewrite the crappy radaar TE code and implement the API +} diff --git a/src/main/java/assets/hbm/textures/blocks/muffler.png b/src/main/java/assets/hbm/textures/blocks/muffler.png index be3ccc853b3efe1f8eb7d4d3e3fbccf8041e96dc..57e0f1c03728a7e839e050201e304b66a5530c50 100644 GIT binary patch delta 760 zcmV0pi7{qam5Q0LXfDnSk zVu4bMVzCH7k|eyny`fCgWHOmhuh)@M5=9Y<#e&spMV{xZ*MDoa+byT9~Funx+8U-rk~=Vm_ZU7z|Lm-HzdK zNWET1*L4Pi0a=z|nkJ1#gCGbf7K^y93qTl#BuT>M4jeiEN>k@_`d7e`)mnjyDzZp+X zPI!8HqFgT1YPCp`gdhmebsfVn&@_!O3|XyKG@DHhhXbS0h|kYYRGOy5aZI&Z#dY0Z zET!-~k3ylqY&N4>t#W>T4nPnDl*?s0oesz25%KWwkS~|Zzs|K7mcDp6ZGD@Wq zhr@yCbbpFzntvOa&*y|;h*~a}_`XlARs-PU;{zcCr>Cdnc}}m_LrRHK3d^$S^?Kxa zj^}wOrBIrtp=lc3ZWpB#*VotRy3XtCE1S)RcDqffR3c4Nq?Fv;+yF2hj~S20zY?p} zD(!X~UDt`@m^hAUHk)j>TY@0q?CcE7vM3Y^_;J4fM|gF0_4@_ewh62B-#*G=JYoL_t(IjXjb}PU>I)Mo*y+3KR;}k^;uTO~e>yZo$pE6B2?G zB^am)AOZzTi={k@<-Y?HH}K`;J4bR|SIDwVk|bm@8FINCnx^sn{f#6^C;$-0G0)G>$hxjGpUxm-rmG+fukG)+v? zWVu`-eSLii-}jl#X2`Nkv)TL`*zI;yDiw5HXSdq{P^nZ<6ou7lMW@q2J|2%uCKGD4 z8k(jt8jVQP6kXS;*Xy{hOQBG}aU1|9{XE+>kcXvl7li_?mlcp)fVi6$(gTVk*Re!11>o|_XY&Js(L8(-tSS%uW zo+oCr8LsP6DwVjtz9x=i7K;U%ru~r|k4M5VR;xIU zL%ZEZQ4|`D28BX_<#LH-S=`><0^qtX<#L%;tHt?zM)G}M_`d(=*|zP!c+xb*FbsZv ze(*dGU4Pe+Wtrpg$ZECvZD+k+GaL@FZ5x1IuZJW_)M_<^5WKy;k~o((Cn56orR}2Q*Ei+wBrX5jQtClu9MyI3}CT^7!}&z~|>D)9Lj0 z#OZX3Wm#yN#%8nOa5!){9N6#ojK^dC{rg9;Sa~F$&*OO>k|bf<_AhN1hQjxKJkKLZ z5*)`N2m)kTMpacVFE0s#fXQTnBuSX2iK?pjzE7vqL3(<65~I0000= 24 && calendar.get(5) <= 26) - { - this.field_147509_j = true; - } - } - - public void renderTileEntityAt(TileEntityTestContainer p_147500_1_, double p_147500_2_, double p_147500_4_, double p_147500_6_, float p_147500_8_) - { - int i; - - if (!p_147500_1_.hasWorldObj()) - { - i = 0; - } - else - { - Block block = p_147500_1_.getBlockType(); - i = p_147500_1_.getBlockMetadata(); - - if (block instanceof TestContainer && i == 0) - { - try - { - ((TestContainer)block).func_149954_e(p_147500_1_.getWorldObj(), p_147500_1_.xCoord, p_147500_1_.yCoord, p_147500_1_.zCoord); - } - catch (ClassCastException e) - { - FMLLog.severe("Attempted to render a chest at %d, %d, %d that was not a chest", p_147500_1_.xCoord, p_147500_1_.yCoord, p_147500_1_.zCoord); - } - i = p_147500_1_.getBlockMetadata(); - } - - p_147500_1_.checkForAdjacentChests(); - } - - if (p_147500_1_.adjacentChestZNeg == null && p_147500_1_.adjacentChestXNeg == null) - { - ModelChest modelchest; - - if (p_147500_1_.adjacentChestXPos == null && p_147500_1_.adjacentChestZPos == null) - { - modelchest = this.field_147510_h; - - this.bindTexture(field_147504_g); - } - else - { - modelchest = this.field_147511_i; - - this.bindTexture(field_147505_d); - } - - GL11.glPushMatrix(); - GL11.glEnable(GL12.GL_RESCALE_NORMAL); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - GL11.glTranslatef((float)p_147500_2_, (float)p_147500_4_ + 1.0F, (float)p_147500_6_ + 1.0F); - GL11.glScalef(1.0F, -1.0F, -1.0F); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - short short1 = 0; - - if (i == 2) - { - short1 = 180; - } - - if (i == 3) - { - short1 = 0; - } - - if (i == 4) - { - short1 = 90; - } - - if (i == 5) - { - short1 = -90; - } - - if (i == 2 && p_147500_1_.adjacentChestXPos != null) - { - GL11.glTranslatef(1.0F, 0.0F, 0.0F); - } - - if (i == 5 && p_147500_1_.adjacentChestZPos != null) - { - GL11.glTranslatef(0.0F, 0.0F, -1.0F); - } - - GL11.glRotatef(short1, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - float f1 = p_147500_1_.prevLidAngle + (p_147500_1_.lidAngle - p_147500_1_.prevLidAngle) * p_147500_8_; - float f2; - - if (p_147500_1_.adjacentChestZNeg != null) - { - f2 = p_147500_1_.adjacentChestZNeg.prevLidAngle + (p_147500_1_.adjacentChestZNeg.lidAngle - p_147500_1_.adjacentChestZNeg.prevLidAngle) * p_147500_8_; - - if (f2 > f1) - { - f1 = f2; - } - } - - if (p_147500_1_.adjacentChestXNeg != null) - { - f2 = p_147500_1_.adjacentChestXNeg.prevLidAngle + (p_147500_1_.adjacentChestXNeg.lidAngle - p_147500_1_.adjacentChestXNeg.prevLidAngle) * p_147500_8_; - - if (f2 > f1) - { - f1 = f2; - } - } - - f1 = 1.0F - f1; - f1 = 1.0F - f1 * f1 * f1; - modelchest.chestLid.rotateAngleX = -(f1 * (float)Math.PI / 2.0F); - modelchest.renderAll(); - GL11.glDisable(GL12.GL_RESCALE_NORMAL); - GL11.glPopMatrix(); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - } - } - - @Override - public void renderTileEntityAt(TileEntity p_147500_1_, double p_147500_2_, double p_147500_4_, double p_147500_6_, float p_147500_8_) - { - this.renderTileEntityAt((TileEntityTestContainer)p_147500_1_, p_147500_2_, p_147500_4_, p_147500_6_, p_147500_8_); - } -} \ No newline at end of file diff --git a/src/main/java/com/hbm/render/tileentity/RenderYellowBarrel.java b/src/main/java/com/hbm/render/tileentity/RenderYellowBarrel.java deleted file mode 100644 index bbcfaf6d5..000000000 --- a/src/main/java/com/hbm/render/tileentity/RenderYellowBarrel.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.hbm.render.tileentity; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; -import com.hbm.render.model.ModelTestRender; - -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ResourceLocation; - -public class RenderYellowBarrel extends TileEntitySpecialRenderer { - - private static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":" + "textures/models/ModelYellowBarrel.png"); - - private ModelTestRender model; - - public RenderYellowBarrel() { - this.model = new ModelTestRender(); - } - - @Override - public void renderTileEntityAt(TileEntity tileentity, double x, double y, double z, float f) { - GL11.glPushMatrix(); - GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F); - GL11.glRotatef(180, 0F, 0F, 1F); - - this.bindTexture(texture); - - GL11.glPushMatrix(); - this.model.renderModel(0.0625F); - GL11.glPopMatrix(); - GL11.glPopMatrix(); - } -} diff --git a/src/main/java/com/hbm/tileentity/TileEntityMachineBase.java b/src/main/java/com/hbm/tileentity/TileEntityMachineBase.java index ba57bc629..45598ef1e 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityMachineBase.java +++ b/src/main/java/com/hbm/tileentity/TileEntityMachineBase.java @@ -1,5 +1,6 @@ package com.hbm.tileentity; +import com.hbm.blocks.ModBlocks; import com.hbm.interfaces.Spaghetti; import com.hbm.packet.AuxGaugePacket; import com.hbm.packet.NBTPacket; @@ -12,6 +13,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.FluidTank; @Spaghetti("Not spaghetti in itself, but for the love of god please use this base class for all machines") @@ -198,4 +200,22 @@ public abstract class TileEntityMachineBase extends TileEntity implements ISided } nbt.setTag("items", list); } + + public int countMufflers() { + + int count = 0; + + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) + if(worldObj.getBlock(xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ) == ModBlocks.muffler) + count++; + + return count; + } + + public float getVolume(int toSilence) { + + float volume = 1 - (countMufflers() / (float)toSilence); + + return Math.max(volume, 0); + } } diff --git a/src/main/java/com/hbm/tileentity/deco/TileEntityTaint.java b/src/main/java/com/hbm/tileentity/deco/TileEntityTaint.java deleted file mode 100644 index b06d217f2..000000000 --- a/src/main/java/com/hbm/tileentity/deco/TileEntityTaint.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.hbm.tileentity.deco; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.tileentity.TileEntity; - -public class TileEntityTaint extends TileEntity { - - @Override - @SideOnly(Side.CLIENT) - public double getMaxRenderDistanceSquared() - { - return 65536.0D; - } -} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDiesel.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDiesel.java index c8f0c9533..a3b6ec871 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDiesel.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDiesel.java @@ -12,22 +12,13 @@ import com.hbm.inventory.FluidContainerRegistry; import com.hbm.inventory.FluidTank; import com.hbm.items.ModItems; import com.hbm.lib.Library; -import com.hbm.packet.AuxElectricityPacket; -import com.hbm.packet.AuxGaugePacket; -import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.TileEntityMachineBase; import api.hbm.energy.IBatteryItem; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraft.tileentity.TileEntity; -public class TileEntityMachineDiesel extends TileEntity implements ISidedInventory, ISource, IFluidContainer, IFluidAcceptor { - - private ItemStack slots[]; +public class TileEntityMachineDiesel extends TileEntityMachineBase implements ISource, IFluidContainer, IFluidAcceptor { public long power; public int soundCycle = 0; @@ -41,77 +32,14 @@ public class TileEntityMachineDiesel extends TileEntity implements ISidedInvento private static final int[] slots_bottom = new int[] { 1, 2 }; private static final int[] slots_side = new int[] { 2 }; - private String customName; - public TileEntityMachineDiesel() { - slots = new ItemStack[5]; + super(5); tank = new FluidTank(FluidType.DIESEL, 16000, 0); } @Override - public int getSizeInventory() { - return slots.length; - } - - @Override - public ItemStack getStackInSlot(int i) { - return slots[i]; - } - - @Override - public ItemStack getStackInSlotOnClosing(int i) { - if (slots[i] != null) { - ItemStack itemStack = slots[i]; - slots[i] = null; - return itemStack; - } else { - return null; - } - } - - @Override - public void setInventorySlotContents(int i, ItemStack itemStack) { - slots[i] = itemStack; - if (itemStack != null && itemStack.stackSize > getInventoryStackLimit()) { - itemStack.stackSize = getInventoryStackLimit(); - } - } - - @Override - public String getInventoryName() { - return this.hasCustomInventoryName() ? this.customName : "container.machineDiesel"; - } - - @Override - public boolean hasCustomInventoryName() { - return this.customName != null && this.customName.length() > 0; - } - - public void setCustomName(String name) { - this.customName = name; - } - - @Override - public int getInventoryStackLimit() { - return 64; - } - - @Override - public boolean isUseableByPlayer(EntityPlayer player) { - if (worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) { - return false; - } else { - return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <= 64; - } - } - - // You scrubs aren't needed for anything (right now) - @Override - public void openInventory() { - } - - @Override - public void closeInventory() { + public String getName() { + return "container.machineDiesel"; } @Override @@ -126,61 +54,22 @@ public class TileEntityMachineDiesel extends TileEntity implements ISidedInvento return false; } - @Override - public ItemStack decrStackSize(int i, int j) { - if (slots[i] != null) { - if (slots[i].stackSize <= j) { - ItemStack itemStack = slots[i]; - slots[i] = null; - return itemStack; - } - ItemStack itemStack1 = slots[i].splitStack(j); - if (slots[i].stackSize == 0) { - slots[i] = null; - } - - return itemStack1; - } else { - return null; - } - } - @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); - NBTTagList list = nbt.getTagList("items", 10); this.power = nbt.getLong("powerTime"); this.powerCap = nbt.getLong("powerCap"); tank.readFromNBT(nbt, "fuel"); - slots = new ItemStack[getSizeInventory()]; - - for (int i = 0; i < list.tagCount(); i++) { - NBTTagCompound nbt1 = list.getCompoundTagAt(i); - byte b0 = nbt1.getByte("slot"); - if (b0 >= 0 && b0 < slots.length) { - slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); - } - } } @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); + nbt.setLong("powerTime", power); nbt.setLong("powerCap", powerCap); tank.writeToNBT(nbt, "fuel"); - NBTTagList list = new NBTTagList(); - - for (int i = 0; i < slots.length; i++) { - if (slots[i] != null) { - NBTTagCompound nbt1 = new NBTTagCompound(); - nbt1.setByte("slot", (byte) i); - slots[i].writeToNBT(nbt1); - list.appendTag(nbt1); - } - } - nbt.setTag("items", list); } @Override @@ -188,11 +77,6 @@ public class TileEntityMachineDiesel extends TileEntity implements ISidedInvento return p_94128_1_ == 0 ? slots_bottom : (p_94128_1_ == 1 ? slots_top : slots_side); } - @Override - public boolean canInsertItem(int i, ItemStack itemStack, int j) { - return this.isItemValidForSlot(i, itemStack); - } - @Override public boolean canExtractItem(int i, ItemStack itemStack, int j) { if (i == 1) @@ -211,7 +95,8 @@ public class TileEntityMachineDiesel extends TileEntity implements ISidedInvento @Override public void updateEntity() { - if (!worldObj.isRemote) { + + if(!worldObj.isRemote) { age++; if (age >= 20) { age = 0; @@ -236,11 +121,19 @@ public class TileEntityMachineDiesel extends TileEntity implements ISidedInvento generate(); - PacketDispatcher.wrapper.sendToAllAround(new AuxElectricityPacket(xCoord, yCoord, zCoord, power), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); - PacketDispatcher.wrapper.sendToAllAround(new AuxGaugePacket(xCoord, yCoord, zCoord, (int)powerCap, 0), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); + NBTTagCompound data = new NBTTagCompound(); + data.setInteger("power", (int) power); + data.setInteger("powerCap", (int) powerCap); + this.networkPack(data, 50); } } + public void networkUnpack(NBTTagCompound data) { + + power = data.getInteger("power"); + powerCap = data.getInteger("powerCap"); + } + public boolean hasAcceptableFuel() { return getHEFromFuel() > 0; } @@ -259,20 +152,17 @@ public class TileEntityMachineDiesel extends TileEntity implements ISidedInvento } public void generate() { + if (hasAcceptableFuel()) { if (tank.getFill() > 0) { + if (soundCycle == 0) { - //if (tank.getTankType().name().equals(FluidType.) > 0) - // this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "fireworks.blast", 1.0F, 1.0F); - //else - this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "fireworks.blast", 1.0F, 0.5F); + this.worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "fireworks.blast", 1.5F * this.getVolume(3), 0.5F); } soundCycle++; if (soundCycle >= 3) soundCycle = 0; - //if (this.superTimer > 0) - // soundCycle = 0; tank.setFill(tank.getFill() - 10); if (tank.getFill() < 0)