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 36776becf..4573c3d26 100644 Binary files a/src/main/resources/assets/hbm/textures/models/tank_label/tank_ENDERJUICE.png and b/src/main/resources/assets/hbm/textures/models/tank_label/tank_ENDERJUICE.png differ