From c1b9ef3e173387b509b614257986d6c27e8f1e0b Mon Sep 17 00:00:00 2001 From: Bob Date: Wed, 30 Mar 2022 23:23:38 +0200 Subject: [PATCH] fixed energy voids, sulfuric acid puddles --- .../java/api/hbm/energy/IEnergyConductor.java | 10 ++ .../java/api/hbm/energy/IEnergyConnector.java | 2 +- src/main/java/api/hbm/energy/ILoadedTile.java | 6 + .../com/hbm/blocks/network/CableDiode.java | 3 +- .../missile/EntityMissileAntiBallistic.java | 119 +++++++++--------- src/main/java/com/hbm/main/MainRegistry.java | 4 +- .../java/com/hbm/main/ResourceManager.java | 2 +- .../hbm/tileentity/TileEntityLoadedBase.java | 20 +++ .../hbm/tileentity/TileEntityMachineBase.java | 3 +- .../hbm/tileentity/TileEntityProxyBase.java | 2 +- .../hbm/tileentity/TileEntityTickingBase.java | 2 +- .../bomb/TileEntityCompactLauncher.java | 3 +- .../tileentity/bomb/TileEntityLaunchPad.java | 3 +- .../bomb/TileEntityLaunchTable.java | 3 +- .../tileentity/machine/TileEntityChungus.java | 3 +- .../machine/TileEntityCoreAdvanced.java | 3 +- .../machine/TileEntityCoreTitanium.java | 3 +- .../machine/TileEntityFWatzCore.java | 6 +- .../machine/TileEntityForceField.java | 3 +- .../machine/TileEntityFusionMultiblock.java | 3 - .../tileentity/machine/TileEntityGeiger.java | 1 - .../machine/TileEntityHadronPower.java | 4 +- .../machine/TileEntityMachineAmgen.java | 9 +- .../machine/TileEntityMachineArcFurnace.java | 3 +- .../TileEntityMachineBoilerElectric.java | 3 +- .../machine/TileEntityMachineCMBFactory.java | 7 +- .../TileEntityMachineChemplantBase.java | 1 - .../machine/TileEntityMachineCoal.java | 7 +- .../machine/TileEntityMachineDetector.java | 5 +- .../machine/TileEntityMachineEPress.java | 4 +- .../TileEntityMachineElectricFurnace.java | 4 +- .../machine/TileEntityMachineMiniRTG.java | 3 +- .../machine/TileEntityMachineRTG.java | 4 +- .../machine/TileEntityMachineSPP.java | 7 +- .../TileEntityMachineSeleniumEngine.java | 6 +- .../machine/TileEntityMachineShredder.java | 5 +- .../machine/TileEntityMachineTeleporter.java | 3 +- .../machine/TileEntityMachineTurbine.java | 4 +- .../machine/TileEntityMachineTurbofan.java | 4 +- .../machine/TileEntityRadiobox.java | 5 +- .../machine/TileEntityWatzCore.java | 4 +- .../oil/TileEntityMachineGasFlare.java | 5 +- .../network/TileEntityConnector.java | 1 - .../network/TileEntityConverterHeRf.java | 3 +- .../network/TileEntityConverterRfHe.java | 4 +- .../java/com/hbm/world/feature/OreCave.java | 41 +++++- .../models/tank_label/tank_ENDERJUICE.png | Bin 2051 -> 2091 bytes 47 files changed, 204 insertions(+), 146 deletions(-) create mode 100644 src/main/java/api/hbm/energy/ILoadedTile.java create mode 100644 src/main/java/com/hbm/tileentity/TileEntityLoadedBase.java diff --git a/src/main/java/api/hbm/energy/IEnergyConductor.java b/src/main/java/api/hbm/energy/IEnergyConductor.java index 572ef0dc8..1744c5f79 100644 --- a/src/main/java/api/hbm/energy/IEnergyConductor.java +++ b/src/main/java/api/hbm/energy/IEnergyConductor.java @@ -94,6 +94,16 @@ public interface IEnergyConductor extends IEnergyConnector { return pos; } + + /** + * Since isLoaded is only currently used for weeding out unwanted subscribers, and cables shouldn't (although technically can) be + * subscribers, we just default to true because I don't feel like wasting time implementing things that we don't actually need. + * Perhaps this indicates a minor flaw in the new API, but I physically lack the ability to worry about it. + */ + @Override + public default boolean isLoaded() { + return true; + } //TODO: check if this standard implementation doesn't break anything (it shouldn't but right now it's a bit redundant) also: remove duplicate implementations @Override diff --git a/src/main/java/api/hbm/energy/IEnergyConnector.java b/src/main/java/api/hbm/energy/IEnergyConnector.java index 87a0f0a88..40ad4e647 100644 --- a/src/main/java/api/hbm/energy/IEnergyConnector.java +++ b/src/main/java/api/hbm/energy/IEnergyConnector.java @@ -14,7 +14,7 @@ import net.minecraftforge.common.util.ForgeDirection; * This is mean for TILE ENTITIES * @author hbm */ -public interface IEnergyConnector { +public interface IEnergyConnector extends ILoadedTile { /** * Returns the amount of power that remains in the source after transfer diff --git a/src/main/java/api/hbm/energy/ILoadedTile.java b/src/main/java/api/hbm/energy/ILoadedTile.java new file mode 100644 index 000000000..1f6d0f88b --- /dev/null +++ b/src/main/java/api/hbm/energy/ILoadedTile.java @@ -0,0 +1,6 @@ +package api.hbm.energy; + +public interface ILoadedTile { + + public boolean isLoaded(); +} diff --git a/src/main/java/com/hbm/blocks/network/CableDiode.java b/src/main/java/com/hbm/blocks/network/CableDiode.java index 8e260d42b..25da7bb68 100644 --- a/src/main/java/com/hbm/blocks/network/CableDiode.java +++ b/src/main/java/com/hbm/blocks/network/CableDiode.java @@ -5,6 +5,7 @@ import java.util.List; import com.hbm.blocks.ILookOverlay; import com.hbm.blocks.ITooltipProvider; +import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.util.BobMathUtil; import com.hbm.util.I18nUtil; @@ -119,7 +120,7 @@ public class CableDiode extends BlockContainer implements ILookOverlay, IToolabl return new TileEntityDiode(); } - public static class TileEntityDiode extends TileEntity implements IEnergyUser { + public static class TileEntityDiode extends TileEntityLoadedBase implements IEnergyUser { @Override public void readFromNBT(NBTTagCompound nbt) { diff --git a/src/main/java/com/hbm/entity/missile/EntityMissileAntiBallistic.java b/src/main/java/com/hbm/entity/missile/EntityMissileAntiBallistic.java index 8090eae78..b350038be 100644 --- a/src/main/java/com/hbm/entity/missile/EntityMissileAntiBallistic.java +++ b/src/main/java/com/hbm/entity/missile/EntityMissileAntiBallistic.java @@ -17,29 +17,29 @@ import net.minecraft.util.Vec3; import net.minecraft.world.World; public class EntityMissileAntiBallistic extends Entity implements IRadarDetectable { - + int activationTimer; public EntityMissileAntiBallistic(World p_i1582_1_) { super(p_i1582_1_); } - + @Override - public void onUpdate() { - + public void onUpdate() { + if(activationTimer < 40) { activationTimer++; - + motionY = 1.5D; this.setLocationAndAngles(posX + this.motionX, posY + this.motionY, posZ + this.motionZ, 0, 0); - this.rotation(); - - if(!this.worldObj.isRemote) + this.rotation(); + + if(!this.worldObj.isRemote && this.posY < 400) this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0)); - + } else { - + if(activationTimer == 40) { ExplosionLarge.spawnParticlesRadial(worldObj, posX, posY, posZ, 15); activationTimer = 100; @@ -50,9 +50,9 @@ public class EntityMissileAntiBallistic extends Entity implements IRadarDetectab targetMissile(); this.setLocationAndAngles(posX + this.motionX, posY + this.motionY, posZ + this.motionZ, 0, 0); - this.rotation(); - - if(!this.worldObj.isRemote) + this.rotation(); + + if(!this.worldObj.isRemote && this.posY < 400) this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0)); List list = worldObj.getEntitiesWithinAABBExcludingEntity(null, AxisAlignedBB.getBoundingBox(posX - 5, posY - 5, posZ - 5, posX + 5, posY + 5, posZ + 5)); @@ -66,70 +66,66 @@ public class EntityMissileAntiBallistic extends Entity implements IRadarDetectab } } } + + if(this.posY > 2000) + this.setDead(); - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air && - this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.water && - this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.flowing_water) { - - if(!this.worldObj.isRemote) - { + if(this.worldObj.getBlock((int) this.posX, (int) this.posY, (int) this.posZ) != Blocks.air && this.worldObj.getBlock((int) this.posX, (int) this.posY, (int) this.posZ) != Blocks.water && this.worldObj.getBlock((int) this.posX, (int) this.posY, (int) this.posZ) != Blocks.flowing_water) { + + if(!this.worldObj.isRemote) { ExplosionLarge.explode(worldObj, posX, posY, posZ, 10F, true, true, true); } this.setDead(); return; - } + } - } - - protected void rotation() { - float f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - - for (this.rotationPitch = (float)(Math.atan2(this.motionY, f2) * 180.0D / Math.PI) - 90; this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) - { - ; - } - - while (this.rotationPitch - this.prevRotationPitch >= 180.0F) - { - this.prevRotationPitch += 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw < -180.0F) - { - this.prevRotationYaw -= 360.0F; - } - - while (this.rotationYaw - this.prevRotationYaw >= 180.0F) - { - this.prevRotationYaw += 360.0F; - } } - + + protected void rotation() { + float f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); + this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); + + for(this.rotationPitch = (float) (Math.atan2(this.motionY, f2) * 180.0D / Math.PI) - 90; this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) { + ; + } + + while(this.rotationPitch - this.prevRotationPitch >= 180.0F) { + this.prevRotationPitch += 360.0F; + } + + while(this.rotationYaw - this.prevRotationYaw < -180.0F) { + this.prevRotationYaw -= 360.0F; + } + + while(this.rotationYaw - this.prevRotationYaw >= 180.0F) { + this.prevRotationYaw += 360.0F; + } + } + private void targetMissile() { - + List list = worldObj.getEntitiesWithinAABBExcludingEntity(null, AxisAlignedBB.getBoundingBox(posX - 500, 0, posZ - 500, posX + 500, 5000, posZ + 500)); - + Entity target = null; double closest = 1000D; - + for(Entity e : list) { if(e instanceof EntityMissileBaseAdvanced || e instanceof EntityMissileCustom) { double dis = Math.sqrt(Math.pow(e.posX - posX, 2) + Math.pow(e.posY - posY, 2) + Math.pow(e.posZ - posZ, 2)); - + if(dis < closest) { closest = dis; target = e; } } } - + if(target != null) { - + Vec3 vec = Vec3.createVectorHelper(target.posX - posX, target.posY - posY, target.posZ - posZ); vec.normalize(); - + this.motionX = vec.xCoord * 0.065D; this.motionY = vec.yCoord * 0.065D; this.motionZ = vec.zCoord * 0.065D; @@ -138,25 +134,24 @@ public class EntityMissileAntiBallistic extends Entity implements IRadarDetectab @Override protected void entityInit() { - + } @Override protected void readEntityFromNBT(NBTTagCompound p_70037_1_) { - + } @Override protected void writeEntityToNBT(NBTTagCompound p_70014_1_) { - + } - - @Override + + @Override @SideOnly(Side.CLIENT) - public boolean isInRangeToRenderDist(double distance) - { - return distance < 500000; - } + public boolean isInRangeToRenderDist(double distance) { + return distance < 500000; + } @Override public RadarTargetType getTargetType() { diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index daaecb10b..0297c2d0a 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -975,8 +975,8 @@ public class MainRegistry { //expand for the largest entity we have (currently Quackos who is 17.5m in diameter, that's one fat duck) World.MAX_ENTITY_RADIUS = Math.max(World.MAX_ENTITY_RADIUS, 8.75); - new OreCave(ModBlocks.stone_resource, 0).setThreshold(1.5D).setRangeMult(20).setYLevel(30).setMaxRange(20); //sulfur - new OreCave(ModBlocks.stone_resource, 1).setThreshold(1.75D).setRangeMult(20).setYLevel(25).setMaxRange(20); //asbestos + new OreCave(ModBlocks.stone_resource, 0).setThreshold(1.5D).setRangeMult(20).setYLevel(30).setMaxRange(20).withFluid(ModBlocks.sulfuric_acid_block); //sulfur + new OreCave(ModBlocks.stone_resource, 1).setThreshold(1.75D).setRangeMult(20).setYLevel(25).setMaxRange(20); //asbestos //new OreLayer(Blocks.coal_ore, 0.2F).setThreshold(4).setRangeMult(3).setYLevel(70); } diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 8c32969af..430a16e73 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -366,7 +366,7 @@ public class ResourceManager { //Tank public static final ResourceLocation tank_tex = new ResourceLocation(RefStrings.MODID, "textures/models/tank.png"); - public static final ResourceLocation tank_label_tex = new ResourceLocation(RefStrings.MODID, "textures/models/tank_NONE.png"); + public static final ResourceLocation tank_label_tex = new ResourceLocation(RefStrings.MODID, "textures/models/tank_label/tank_NONE.png"); public static final ResourceLocation bat9000_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/bat9000.png"); public static final ResourceLocation orbus_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/orbus.png"); diff --git a/src/main/java/com/hbm/tileentity/TileEntityLoadedBase.java b/src/main/java/com/hbm/tileentity/TileEntityLoadedBase.java new file mode 100644 index 000000000..baec2d8d4 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/TileEntityLoadedBase.java @@ -0,0 +1,20 @@ +package com.hbm.tileentity; + +import api.hbm.energy.ILoadedTile; +import net.minecraft.tileentity.TileEntity; + +public class TileEntityLoadedBase extends TileEntity implements ILoadedTile { + + public boolean isLoaded = true; + + @Override + public boolean isLoaded() { + return isLoaded; + } + + @Override + public void onChunkUnload() { + super.onChunkUnload(); + this.isLoaded = false; + } +} diff --git a/src/main/java/com/hbm/tileentity/TileEntityMachineBase.java b/src/main/java/com/hbm/tileentity/TileEntityMachineBase.java index c9542a9dc..de2396047 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityMachineBase.java +++ b/src/main/java/com/hbm/tileentity/TileEntityMachineBase.java @@ -5,6 +5,7 @@ import com.hbm.packet.AuxGaugePacket; import com.hbm.packet.NBTPacket; import com.hbm.packet.PacketDispatcher; +import api.hbm.energy.ILoadedTile; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.ISidedInventory; @@ -15,7 +16,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.FluidTank; -public abstract class TileEntityMachineBase extends TileEntity implements ISidedInventory, INBTPacketReceiver { +public abstract class TileEntityMachineBase extends TileEntityLoadedBase implements ISidedInventory, INBTPacketReceiver { public ItemStack slots[]; diff --git a/src/main/java/com/hbm/tileentity/TileEntityProxyBase.java b/src/main/java/com/hbm/tileentity/TileEntityProxyBase.java index c1f3c07f7..0bcf59043 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityProxyBase.java +++ b/src/main/java/com/hbm/tileentity/TileEntityProxyBase.java @@ -8,7 +8,7 @@ import com.hbm.tileentity.machine.TileEntityHadron; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityProxyBase extends TileEntity { +public class TileEntityProxyBase extends TileEntityLoadedBase { public boolean canUpdate() { return false; diff --git a/src/main/java/com/hbm/tileentity/TileEntityTickingBase.java b/src/main/java/com/hbm/tileentity/TileEntityTickingBase.java index 4d4bf2d13..cc82f97ee 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityTickingBase.java +++ b/src/main/java/com/hbm/tileentity/TileEntityTickingBase.java @@ -8,7 +8,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.fluids.FluidTank; -public abstract class TileEntityTickingBase extends TileEntity implements INBTPacketReceiver { +public abstract class TileEntityTickingBase extends TileEntityLoadedBase implements INBTPacketReceiver { public TileEntityTickingBase() { } diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityCompactLauncher.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityCompactLauncher.java index d974caa5c..cbe1fac9c 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityCompactLauncher.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityCompactLauncher.java @@ -21,6 +21,7 @@ import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.AuxGaugePacket; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.TEMissileMultipartPacket; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IEnergyUser; import api.hbm.item.IDesignatorItem; @@ -39,7 +40,7 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.Vec3; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityCompactLauncher extends TileEntity implements ISidedInventory, IFluidContainer, IFluidAcceptor, IEnergyUser { +public class TileEntityCompactLauncher extends TileEntityLoadedBase implements ISidedInventory, IFluidContainer, IFluidAcceptor, IEnergyUser { private ItemStack slots[]; diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPad.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPad.java index 1182aa426..c17fe69f8 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPad.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPad.java @@ -4,6 +4,7 @@ import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.TEMissilePacket; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IEnergyUser; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; @@ -18,7 +19,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityLaunchPad extends TileEntity implements ISidedInventory, IEnergyUser { +public class TileEntityLaunchPad extends TileEntityLoadedBase implements ISidedInventory, IEnergyUser { public ItemStack slots[]; diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java index 12c4130e4..a001e3748 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java @@ -21,6 +21,7 @@ import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.AuxGaugePacket; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.TEMissileMultipartPacket; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IEnergyUser; import api.hbm.item.IDesignatorItem; @@ -36,7 +37,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityLaunchTable extends TileEntity implements ISidedInventory, IEnergyUser, IFluidContainer, IFluidAcceptor { +public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISidedInventory, IEnergyUser, IFluidContainer, IFluidAcceptor { private ItemStack slots[]; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityChungus.java b/src/main/java/com/hbm/tileentity/machine/TileEntityChungus.java index ed3ab7486..eb7c80bb8 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityChungus.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityChungus.java @@ -15,6 +15,7 @@ import com.hbm.lib.Library; import com.hbm.packet.NBTPacket; import com.hbm.packet.PacketDispatcher; import com.hbm.tileentity.INBTPacketReceiver; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IEnergyGenerator; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; @@ -25,7 +26,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityChungus extends TileEntity implements IFluidAcceptor, IFluidSource, IEnergyGenerator, INBTPacketReceiver { +public class TileEntityChungus extends TileEntityLoadedBase implements IFluidAcceptor, IFluidSource, IEnergyGenerator, INBTPacketReceiver { public long power; public static final long maxPower = 100000000000L; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreAdvanced.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreAdvanced.java index e6605700f..a945201d1 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreAdvanced.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreAdvanced.java @@ -4,6 +4,7 @@ import com.hbm.blocks.ModBlocks; import com.hbm.interfaces.IFactory; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemBattery; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IBatteryItem; import api.hbm.energy.IEnergyUser; @@ -17,7 +18,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityCoreAdvanced extends TileEntity implements ISidedInventory, IFactory, IEnergyUser { +public class TileEntityCoreAdvanced extends TileEntityLoadedBase implements ISidedInventory, IFactory, IEnergyUser { public int progress = 0; public long power = 0; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreTitanium.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreTitanium.java index 0c5ec6e28..21c51712d 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreTitanium.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreTitanium.java @@ -5,6 +5,7 @@ import com.hbm.interfaces.IFactory; import com.hbm.interfaces.Spaghetti; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemBattery; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IBatteryItem; import api.hbm.energy.IEnergyUser; @@ -18,7 +19,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityCoreTitanium extends TileEntity implements ISidedInventory, IFactory, IEnergyUser { +public class TileEntityCoreTitanium extends TileEntityLoadedBase implements ISidedInventory, IFactory, IEnergyUser { public int progress = 0; public long power = 0; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFWatzCore.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFWatzCore.java index f20c67ce3..e5f462543 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFWatzCore.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFWatzCore.java @@ -1,7 +1,5 @@ package com.hbm.tileentity.machine; -import java.util.ArrayList; -import java.util.List; import java.util.Random; import com.hbm.interfaces.IFluidAcceptor; @@ -14,6 +12,7 @@ import com.hbm.items.ModItems; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.world.machine.FWatz; import api.hbm.energy.IEnergyGenerator; @@ -24,10 +23,9 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; -import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; -public class TileEntityFWatzCore extends TileEntity implements ISidedInventory, IReactor, IEnergyGenerator, IFluidContainer, IFluidAcceptor { +public class TileEntityFWatzCore extends TileEntityLoadedBase implements ISidedInventory, IReactor, IEnergyGenerator, IFluidContainer, IFluidAcceptor { public long power; public final static long maxPower = 10000000000L; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityForceField.java b/src/main/java/com/hbm/tileentity/machine/TileEntityForceField.java index e62b9862f..1208805c8 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityForceField.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityForceField.java @@ -7,6 +7,7 @@ import com.hbm.items.ModItems; import com.hbm.lib.Library; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.TEFFPacket; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IBatteryItem; import api.hbm.energy.IEnergyUser; @@ -24,7 +25,7 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.Vec3; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityForceField extends TileEntity implements ISidedInventory, IEnergyUser { +public class TileEntityForceField extends TileEntityLoadedBase implements ISidedInventory, IEnergyUser { private ItemStack slots[]; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFusionMultiblock.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFusionMultiblock.java index 4c8dff60c..fdab6bcb5 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFusionMultiblock.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFusionMultiblock.java @@ -1,8 +1,5 @@ package com.hbm.tileentity.machine; -import java.util.ArrayList; -import java.util.List; - import com.hbm.blocks.ModBlocks; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityGeiger.java b/src/main/java/com/hbm/tileentity/machine/TileEntityGeiger.java index 1ea71a9ea..e9b9e17db 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityGeiger.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityGeiger.java @@ -5,7 +5,6 @@ import java.util.List; import com.hbm.handler.radiation.ChunkRadiationManager; import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.chunk.Chunk; public class TileEntityGeiger extends TileEntity { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHadronPower.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHadronPower.java index 348e78347..1b5e9ecd1 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityHadronPower.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHadronPower.java @@ -1,14 +1,14 @@ package com.hbm.tileentity.machine; import com.hbm.blocks.machine.BlockHadronPower; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IEnergyUser; import net.minecraft.block.Block; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityHadronPower extends TileEntity implements IEnergyUser { +public class TileEntityHadronPower extends TileEntityLoadedBase implements IEnergyUser { public long power; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAmgen.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAmgen.java index c3326f584..a88a7db69 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAmgen.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAmgen.java @@ -1,20 +1,15 @@ package com.hbm.tileentity.machine; -import java.util.ArrayList; -import java.util.List; - import com.hbm.blocks.ModBlocks; import com.hbm.handler.radiation.ChunkRadiationManager; -import com.hbm.lib.Library; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IEnergyGenerator; import net.minecraft.block.Block; import net.minecraft.init.Blocks; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.chunk.Chunk; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineAmgen extends TileEntity implements IEnergyGenerator { +public class TileEntityMachineAmgen extends TileEntityLoadedBase implements IEnergyGenerator { public long power; public long maxPower = 500; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcFurnace.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcFurnace.java index a2916c09b..9e34acd3f 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcFurnace.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineArcFurnace.java @@ -7,6 +7,7 @@ import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.AuxGaugePacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IBatteryItem; import api.hbm.energy.IEnergyUser; @@ -19,7 +20,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; -public class TileEntityMachineArcFurnace extends TileEntity implements ISidedInventory, IEnergyUser { +public class TileEntityMachineArcFurnace extends TileEntityLoadedBase implements ISidedInventory, IEnergyUser { private ItemStack slots[]; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoilerElectric.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoilerElectric.java index cb959e033..10a765f0c 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoilerElectric.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoilerElectric.java @@ -16,6 +16,7 @@ import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.AuxGaugePacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IBatteryItem; import api.hbm.energy.IEnergyUser; @@ -29,7 +30,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntityFurnace; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineBoilerElectric extends TileEntity implements ISidedInventory, IFluidContainer, IFluidAcceptor, IFluidSource, IEnergyUser { +public class TileEntityMachineBoilerElectric extends TileEntityLoadedBase implements ISidedInventory, IFluidContainer, IFluidAcceptor, IFluidSource, IEnergyUser { private ItemStack slots[]; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCMBFactory.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCMBFactory.java index 780276af0..819467f45 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCMBFactory.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCMBFactory.java @@ -1,8 +1,5 @@ package com.hbm.tileentity.machine; -import java.util.ArrayList; -import java.util.List; - import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; import com.hbm.inventory.FluidTank; @@ -12,6 +9,7 @@ import com.hbm.items.ModItems; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IBatteryItem; import api.hbm.energy.IEnergyUser; @@ -22,10 +20,9 @@ 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; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineCMBFactory extends TileEntity implements ISidedInventory, IEnergyUser, IFluidContainer, IFluidAcceptor { +public class TileEntityMachineCMBFactory extends TileEntityLoadedBase implements ISidedInventory, IEnergyUser, IFluidContainer, IFluidAcceptor { private ItemStack slots[]; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantBase.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantBase.java index 1a3aeeb53..3ad9b2723 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantBase.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantBase.java @@ -18,7 +18,6 @@ import com.hbm.util.InventoryUtil; import api.hbm.energy.IEnergyUser; import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCoal.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCoal.java index d4503636a..878d3ad21 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCoal.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCoal.java @@ -6,13 +6,9 @@ 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; import net.minecraft.tileentity.TileEntityFurnace; import net.minecraftforge.common.util.ForgeDirection; -import java.util.ArrayList; -import java.util.List; - import com.hbm.blocks.machine.MachineCoal; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; @@ -25,12 +21,13 @@ import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.AuxGaugePacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IBatteryItem; import api.hbm.energy.IEnergyGenerator; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -public class TileEntityMachineCoal extends TileEntity implements ISidedInventory, IEnergyGenerator, IFluidContainer, IFluidAcceptor { +public class TileEntityMachineCoal extends TileEntityLoadedBase implements ISidedInventory, IEnergyGenerator, IFluidContainer, IFluidAcceptor { private ItemStack slots[]; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDetector.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDetector.java index eea44c005..e71df5eab 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDetector.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDetector.java @@ -1,10 +1,11 @@ package com.hbm.tileentity.machine; +import com.hbm.tileentity.TileEntityLoadedBase; + import api.hbm.energy.IEnergyUser; -import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineDetector extends TileEntity implements IEnergyUser { +public class TileEntityMachineDetector extends TileEntityLoadedBase implements IEnergyUser { long power; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineEPress.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineEPress.java index 013b5f70f..feea1ffaf 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineEPress.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineEPress.java @@ -1,12 +1,12 @@ package com.hbm.tileentity.machine; -import com.hbm.inventory.recipes.MachineRecipes; import com.hbm.inventory.recipes.PressRecipes; import com.hbm.items.machine.ItemStamp; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.TEPressPacket; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IEnergyUser; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; @@ -22,7 +22,7 @@ import net.minecraft.tileentity.TileEntityFurnace; import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineEPress extends TileEntity implements ISidedInventory, IEnergyUser { +public class TileEntityMachineEPress extends TileEntityLoadedBase implements ISidedInventory, IEnergyUser { private ItemStack slots[]; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineElectricFurnace.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineElectricFurnace.java index 75a49e388..92fe3a0d0 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineElectricFurnace.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineElectricFurnace.java @@ -5,6 +5,7 @@ import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.AuxGaugePacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IBatteryItem; import api.hbm.energy.IEnergyUser; @@ -15,10 +16,9 @@ import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.FurnaceRecipes; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; -import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineElectricFurnace extends TileEntity implements ISidedInventory, IEnergyUser { +public class TileEntityMachineElectricFurnace extends TileEntityLoadedBase implements ISidedInventory, IEnergyUser { private ItemStack slots[]; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiniRTG.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiniRTG.java index 6a2224074..a013fbc17 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiniRTG.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiniRTG.java @@ -5,12 +5,13 @@ import java.util.List; import com.hbm.blocks.ModBlocks; import com.hbm.lib.Library; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IEnergyGenerator; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineMiniRTG extends TileEntity implements IEnergyGenerator { +public class TileEntityMachineMiniRTG extends TileEntityLoadedBase implements IEnergyGenerator { public long power; boolean tact = false; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRTG.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRTG.java index 027653669..cbfe5b0a4 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRTG.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRTG.java @@ -4,6 +4,7 @@ import com.hbm.config.VersatileConfig; import com.hbm.items.machine.ItemRTGPellet; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.util.RTGUtil; import api.hbm.energy.IEnergyGenerator; @@ -13,10 +14,9 @@ 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; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineRTG extends TileEntity implements ISidedInventory, IEnergyGenerator { +public class TileEntityMachineRTG extends TileEntityLoadedBase implements ISidedInventory, IEnergyGenerator { private ItemStack slots[]; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSPP.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSPP.java index 127ba36c5..ad3adb63d 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSPP.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSPP.java @@ -1,16 +1,13 @@ package com.hbm.tileentity.machine; -import java.util.ArrayList; -import java.util.List; - import com.hbm.blocks.ModBlocks; import com.hbm.lib.Library; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IEnergyGenerator; import net.minecraft.init.Blocks; -import net.minecraft.tileentity.TileEntity; -public class TileEntityMachineSPP extends TileEntity implements IEnergyGenerator { +public class TileEntityMachineSPP extends TileEntityLoadedBase implements IEnergyGenerator { public long power; public static final long maxPower = 100000; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSeleniumEngine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSeleniumEngine.java index d19fe1d12..5060a0753 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSeleniumEngine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSeleniumEngine.java @@ -1,8 +1,6 @@ package com.hbm.tileentity.machine; -import java.util.ArrayList; import java.util.HashMap; -import java.util.List; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; @@ -17,6 +15,7 @@ import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.AuxGaugePacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IBatteryItem; import api.hbm.energy.IEnergyGenerator; @@ -26,10 +25,9 @@ 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; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineSeleniumEngine extends TileEntity implements ISidedInventory, IEnergyGenerator, IFluidContainer, IFluidAcceptor { +public class TileEntityMachineSeleniumEngine extends TileEntityLoadedBase implements ISidedInventory, IEnergyGenerator, IFluidContainer, IFluidAcceptor { private ItemStack slots[]; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineShredder.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineShredder.java index 63a11d0ef..d4367bf41 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineShredder.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineShredder.java @@ -1,11 +1,11 @@ package com.hbm.tileentity.machine; -import com.hbm.interfaces.Untested; import com.hbm.inventory.recipes.ShredderRecipes; import com.hbm.items.machine.ItemBlades; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IBatteryItem; import api.hbm.energy.IEnergyUser; @@ -15,10 +15,9 @@ 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; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineShredder extends TileEntity implements ISidedInventory, IEnergyUser { +public class TileEntityMachineShredder extends TileEntityLoadedBase implements ISidedInventory, IEnergyUser { private ItemStack slots[]; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTeleporter.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTeleporter.java index 82928346b..ed2457752 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTeleporter.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTeleporter.java @@ -5,6 +5,7 @@ import java.util.List; import com.hbm.lib.ModDamageSource; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IEnergyUser; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; @@ -14,7 +15,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; -public class TileEntityMachineTeleporter extends TileEntity implements IEnergyUser { +public class TileEntityMachineTeleporter extends TileEntityLoadedBase implements IEnergyUser { public long power = 0; public int targetX = 0; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbine.java index fe29fa2d5..4acfb031a 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbine.java @@ -13,6 +13,7 @@ import com.hbm.inventory.recipes.MachineRecipes; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IBatteryItem; import api.hbm.energy.IEnergyGenerator; @@ -22,10 +23,9 @@ 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; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineTurbine extends TileEntity implements ISidedInventory, IFluidContainer, IFluidAcceptor, IFluidSource, IEnergyGenerator { +public class TileEntityMachineTurbine extends TileEntityLoadedBase implements ISidedInventory, IFluidContainer, IFluidAcceptor, IFluidSource, IEnergyGenerator { private ItemStack slots[]; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java index 44a4c684d..df88f1c23 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java @@ -1,6 +1,5 @@ package com.hbm.tileentity.machine; -import java.util.ArrayList; import java.util.List; import java.util.Random; @@ -19,6 +18,7 @@ import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.LoopedSoundPacket; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.TETurbofanPacket; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IEnergyGenerator; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; @@ -34,7 +34,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; @Spaghetti("a") -public class TileEntityMachineTurbofan extends TileEntity implements ISidedInventory, IEnergyGenerator, IFluidContainer, IFluidAcceptor { +public class TileEntityMachineTurbofan extends TileEntityLoadedBase implements ISidedInventory, IEnergyGenerator, IFluidContainer, IFluidAcceptor { private ItemStack slots[]; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityRadiobox.java b/src/main/java/com/hbm/tileentity/machine/TileEntityRadiobox.java index 0038e9a1a..6db0cc2fd 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityRadiobox.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityRadiobox.java @@ -3,19 +3,18 @@ package com.hbm.tileentity.machine; import java.util.List; import com.hbm.lib.ModDamageSource; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IEnergyUser; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.Entity; -import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.monster.IMob; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityRadiobox extends TileEntity implements IEnergyUser { +public class TileEntityRadiobox extends TileEntityLoadedBase implements IEnergyUser { long power; public static long maxPower = 500000; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityWatzCore.java b/src/main/java/com/hbm/tileentity/machine/TileEntityWatzCore.java index b26d62d7e..1351f0f38 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityWatzCore.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityWatzCore.java @@ -21,6 +21,7 @@ import com.hbm.lib.Library; import com.hbm.main.MainRegistry; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IEnergyGenerator; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; @@ -30,12 +31,11 @@ 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; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityWatzCore extends TileEntity implements ISidedInventory, IReactor, IEnergyGenerator, IFluidContainer, IFluidSource { +public class TileEntityWatzCore extends TileEntityLoadedBase implements ISidedInventory, IReactor, IEnergyGenerator, IFluidContainer, IFluidSource { public long power; public final static long maxPower = 100000000; diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineGasFlare.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineGasFlare.java index 0699d4b30..56c4bbf22 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineGasFlare.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineGasFlare.java @@ -1,7 +1,5 @@ package com.hbm.tileentity.machine.oil; -import java.util.ArrayList; -import java.util.List; import java.util.Random; import com.hbm.entity.particle.EntityGasFlameFX; @@ -14,6 +12,7 @@ import com.hbm.inventory.fluid.Fluids; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IBatteryItem; import api.hbm.energy.IEnergyGenerator; @@ -28,7 +27,7 @@ import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; -public class TileEntityMachineGasFlare extends TileEntity implements ISidedInventory, IEnergyGenerator, IFluidContainer, IFluidAcceptor { +public class TileEntityMachineGasFlare extends TileEntityLoadedBase implements ISidedInventory, IEnergyGenerator, IFluidContainer, IFluidAcceptor { private ItemStack slots[]; diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityConnector.java b/src/main/java/com/hbm/tileentity/network/TileEntityConnector.java index a98ccec0a..cda2f59ca 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityConnector.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityConnector.java @@ -1,7 +1,6 @@ package com.hbm.tileentity.network; import api.hbm.energy.IEnergyConductor; -import net.minecraft.init.Blocks; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.Vec3; import net.minecraftforge.common.util.ForgeDirection; diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityConverterHeRf.java b/src/main/java/com/hbm/tileentity/network/TileEntityConverterHeRf.java index 4d267f71f..941f83c1c 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityConverterHeRf.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityConverterHeRf.java @@ -1,6 +1,7 @@ package com.hbm.tileentity.network; import com.hbm.calc.Location; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IEnergyConnector; import cofh.api.energy.IEnergyHandler; @@ -8,7 +9,7 @@ import cofh.api.energy.IEnergyReceiver; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityConverterHeRf extends TileEntity implements IEnergyConnector, IEnergyHandler { +public class TileEntityConverterHeRf extends TileEntityLoadedBase implements IEnergyConnector, IEnergyHandler { //Thanks to the great people of Fusion Warfare for helping me with the original implementation of the RF energy API diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityConverterRfHe.java b/src/main/java/com/hbm/tileentity/network/TileEntityConverterRfHe.java index f17de5f83..4308103a6 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityConverterRfHe.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityConverterRfHe.java @@ -1,13 +1,13 @@ package com.hbm.tileentity.network; import com.hbm.interfaces.Untested; +import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IEnergyGenerator; import cofh.api.energy.IEnergyHandler; -import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityConverterRfHe extends TileEntity implements IEnergyGenerator, IEnergyHandler { +public class TileEntityConverterRfHe extends TileEntityLoadedBase implements IEnergyGenerator, IEnergyHandler { @Override public void setPower(long power) { diff --git a/src/main/java/com/hbm/world/feature/OreCave.java b/src/main/java/com/hbm/world/feature/OreCave.java index 17ec19c43..26a701d02 100644 --- a/src/main/java/com/hbm/world/feature/OreCave.java +++ b/src/main/java/com/hbm/world/feature/OreCave.java @@ -28,6 +28,7 @@ public class OreCave { private int maxRange = 4; /** The y-level around which the stratum is centered. */ private int yLevel = 30; + private Block fluid; public OreCave(Block ore) { this(ore, 0); @@ -57,6 +58,11 @@ public class OreCave { this.yLevel = yLevel; return this; } + + public OreCave withFluid(Block fluid) { + this.fluid = fluid; + return this; + } @SubscribeEvent public void onDecorate(DecorateBiomeEvent.Pre event) { @@ -95,15 +101,48 @@ public class OreCave { if(genTarget.isNormalCube() && (genTarget.getMaterial() == Material.rock || genTarget.getMaterial() == Material.ground)) { boolean shouldGen = false; + boolean canGenFluid = event.rand.nextBoolean(); for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { Block neighbor = world.getBlock(MathHelper.clamp_int(x + dir.offsetX, cX, cX + 16), y + dir.offsetY, MathHelper.clamp_int(z + dir.offsetZ, cZ, cZ + 16)); if(neighbor.getMaterial() == Material.air || neighbor instanceof BlockStalagmite) { shouldGen = true; + } + + if(shouldGen && (fluid == null || !canGenFluid)) break; + + if(fluid != null) { + switch(dir) { + case UP: if(neighbor.getMaterial() != Material.air && !(neighbor instanceof BlockStalagmite)) canGenFluid = false; break; + case DOWN: if(!neighbor.isNormalCube()) canGenFluid = false; break; + case NORTH: + case SOUTH: + case EAST: + case WEST: + if(!neighbor.isNormalCube() && neighbor != fluid) canGenFluid = false; break; + } } } - if(shouldGen) world.setBlock(x, y, z, ore.block, ore.meta, 2); + + if(fluid != null && canGenFluid) { + world.setBlock(x, y, z, fluid, 0, 2); + world.setBlock(x, y - 1, z, ore.block, ore.meta, 2); + + for(int i = 2; i < 6; i++) { + ForgeDirection dir = ForgeDirection.getOrientation(i); + int clX = MathHelper.clamp_int(x + dir.offsetX, cX, cX + 16); + int clZ = MathHelper.clamp_int(z + dir.offsetZ, cZ, cZ + 16); + Block neighbor = world.getBlock(clX, y, clZ); + + if(neighbor.isNormalCube()) + world.setBlock(clX, y, clZ, ore.block, ore.meta, 2); + } + + } else if(shouldGen) { + world.setBlock(x, y, z, ore.block, ore.meta, 2); + } + } else { if((genTarget.getMaterial() == Material.air || !genTarget.isNormalCube()) && event.rand.nextInt(5) == 0) { diff --git a/src/main/resources/assets/hbm/textures/models/tank_label/tank_ENDERJUICE.png b/src/main/resources/assets/hbm/textures/models/tank_label/tank_ENDERJUICE.png index 36776becf25ad2008eb39efbd83dc9a5ef2c301c..4573c3d26ea74d8f97f7ce2e0681c67a4735dbdb 100644 GIT binary patch delta 2062 zcmV+p2=VuW5UUW7G=JhrL_t(|ob8%za8%V9$N%TP?A@EY*=5%xgcuS?3<`}Y3Q{Nt zNJJ<_88e;AOlJyXr!%D;tsUA9rS?VWR2X%fY3Yo%9UVkVWnxi_q5{Q4qdO^~fFzI- zLWm_VCM5fs-TQVn7Pi=mBRAvud4)azfFKH% zc0)G+0H3rTBY>R&COpFE5}O-AYNU@<=Qdpc0L|1a?GD~yvF!{n!Lc*IIOUhI0RX_p zl=jp;f6Ju|kbkPH;_tB7skOl6b^rkJ@$&kbBXR*ZJ56DBs?ip(`50XLE6`Q zLO<2=*Z3zrJ1K>pz3<$B^!4RC@U>1!p_8>Ycdm_` zcGo8Qh}lM6?WT}Fu>JByC7;JJx9TzJ)|g5O$wu7?-Q04o`irO{+z=*mRJ8lzPRsntlMZD`SKJ-!|RFbIdWY><-GOEvht_- z;yV{93obk!e82anWAja6)Yonf`2*XDt6++>YUPVL)152C+shv2j~)Ay$zWzR>T80N zIDe`aKP%-4v!M2e)WiOb@%DlJ)D(5Dps-3n7fc4z()W?ZcLTYK8i0X@qUVXbphR9h zf0wbVVS$m&X<9g996hun>dUWi&v8G>&n$mPsPFx`!9d5}2Y?Ml`e=+MQYXh<|60a1 zy-=!<*8m1HJ~;4;=<)EM69?ijJHiLQ=zmIl##5Sjzhoz?eF36Hw?$6;-hU>gHgLyX z7F)P9MI5o#{V5a2L0Iz5ZN4Sgmar*I{~Ozab$ve@)-cef_jjnp%N8jWGuJ4~yM7;T z$2-{$%AF{=)T*et!U7 zZw1f80U9v$^N~ZNpODS?u0QFKqsD?%qmhKcz*HJa)6lT4?yvujkbhsLG;`tF9B0&* z^({q`T!QTK%UFC9#Z$;DC`?E~ruNqU^^xY_%h|fWX0WT+yR(_wOT>*K0Dx1-0We(s zcLzH&>O-+a9C=(`06-p}$PAPv5`Szm@>6Sr^cukb_b0R3r(&HKhu%K50uY3Q7feeLn2m1=qpo&S==7A@+;xi@MQ5&8nCf0knuD)oRZMZ@QvPHt zAvPIIrUD!xvgkuHiSUv{M4|vDgTdk%uN4Y*m=q?*PZEU^Whwe2&7bdl41aTb9r;3g zC;QZ2A8nfYJNG>AMvU@Yf#moK#5?DIKc`Yz2bj!kKC{c9&@IJfwggU{9cn1w;;t@w zmb-nydiiAc&Y}Mp4QV>h&C?t=MQ7?AfdkB0%ZWbL-V1EX5<03tku@B)-FX&yy$Kq6BiMaUQ-{k22sMcJyF6xV*`pePsQ zIafXKqVvk*(bgXN$A7wi=sIGfj;}@AooQ~b2k99=5M?4j9&Ru}IO0gtCDFRVvBPaY zaXdKVwc%MZK!cGE=5YD25# z1v55_lihPT-V|w||D4`@d{?Zo^J)4yTMPT_#PP_^!FkgB%1u&P{tC_|6%nc#ba3FT zajxfGmYUthFg~73oLbkmFQe~Sg>x)+OHUI3z^mjXrY9xRQ=bVWu^$JIQ@lzZ1AxJ3 zf5zjZEr8o=)CJJm)D-n(tNs>5-o#nE^(M{3Lb;nBds|2N>tvRkGA#$MnP00000Ne4wvM6N<$f~tfayZ`_I delta 2021 zcmVxodUoG$I0{6+|#moqNJlXEq=J zAm8}UQG1=`DF6U8_km|3wkP}?)l!KF3IxcKBy-%H?3l5N<6~F3?!FVOW$r>K+R&`x zYHdNn^QewaL4Qa*0>OZkIrp4ow+)KJx0~4ZzC*l299}t1K4k8EBxdhDZvy~G?Pp(| zX&8GB0D!D|wpMF|hXCfmef;D$W(=-)eb9Sx?N9FKNdSPk8>6;EEy;n;!Pg%r5yjXxJLQQtC~kdCt*4&?M?@ZA}Vzx5@(1+;|w{(=G>>L{wwd!o#}o|6u`AE zNil{D+z^%L*QcVRFaw>B8ItqKyqxc|wPzllH@n_nPyD+^L~0UURbHz$kokW7lva-= zYm2eulz(ExVYN7WxRap_6Vw6_Z?^uO9Ti&qdwCFM;MNjjEJj6DmYx=mHs*0o7!Ov6 z*n73cZ55gk6&-~orhJ)9*Y80P3_~+^RO$Azr|j=V1`o;<( znlu6)MX7cd9_3zbPU1!2g4KIh!Sp2c@Xk7QJb#u8005GU7p)T)1v_g-XpJ7#$LHYM z(FAUQdoR#+O>+f7E&$2W+vE=1o>oG;DM3@2`w#Kd^-@s+A*eB|eHU2o7_Go06>N`q zWJ@EC1BDoiD(RG4rHoZ-4n>=2?yU3LUQGCf=9!9{DjlQ(m8>T=z*gRO+x`qebGJQ9 zEq_kFb9j9Ioe%D3r-fcW8y%e{@xTQ7u63@^kktkXa5Ccn07z27cI|!fzgce_d9<~K zX>+{dY0*HM4Ew^PZ~q7`hP)n9QsA9sQhR2?bD4*mT8a(w?`V}qO2DY z06_IoSpZ`pX#)TN6ekdkE*>{+{iZq*3Ox=sL70XmN&c+BH^3Ip)dcW^?3uOrt~DRw zEdl`mgeezOdvzcF z7T-k(W6Ive%t@2e*Fx1Mb~GJghUf;>SBnml8ZZE&!BCuA)4LzRFx8#GCEk0@ON^(a zQUj_*69J?{d6g6(o030B`)=PK+)pnorX)1?Q{;nF4#eOS+QrybX3(~kqbfueSq4!LW3cP%m0=Vj}j z%50Z!S>6|>m>Zx=OeM3m-}2mKK$w{KY7%<~-w}5d{t`m~Lo&*$qJOHBo4GOf6(lw} zlT44P@L2J{bq}xl;YMg{dzsHIf0|H33}{mm>Bsk9R^1+H5N6pSz|}Mw8)w1|a=!aW zO`dBCIz!1vPzwOdEZk3L!u};UdK+t2TmS$db)P%#+I-*uor;&OIEJZkA8mqwqaG&< z9T#77Hd=oWZf)F!|9`&78_OyQ5+aa|1v@qOn)l3`xwF1DM1JNEF^nd`XsX1GQ0ezv z16OMqt9;ShVY}AnJfHkiU3uc45I_M<$tY2$K#7kBNZrjRoHx0@EvLzgb8y^wI=P+IJPPMK`g+G%!;daHBb31fVJi${HK6V!Cl|}J%94sh1c-K>UIIyVYi5k zb`qlqJs^OBEJ`xRIwZTzERKwP#C7$*#Z9`e-xX2L{&D7V_8%fk<6Z(#gQ_IwcW!fg zo#-v*0ECZQUU8u&oJ`Y~qZ(BLB5{IbpBmtMI#0P;M_vvLDYl;d^Xw-%9aMqwM?_*& z5vsIr<7W{C%#00000NkvXXu0mjf DsI9bi