Merge branch 'master' into OC_bugfix

This commit is contained in:
HbmMods 2024-08-19 15:10:57 +02:00 committed by GitHub
commit 0e2b7e09b6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
77 changed files with 8903 additions and 2516 deletions

View File

@ -71,6 +71,10 @@ repositories {
name = 'ModMaven' name = 'ModMaven'
url = 'https://modmaven.dev' url = 'https://modmaven.dev'
} }
maven {
name = "gt"
url = "https://gregtech.mechaenetia.com/"
}
//maven { //maven {
// name = "CurseForge" // name = "CurseForge"
// url = "https://minecraft.curseforge.com/api/maven/" // url = "https://minecraft.curseforge.com/api/maven/"
@ -87,7 +91,8 @@ dependencies {
implementation 'codechicken:NotEnoughItems:1.7.10-1.0.3.74:dev' implementation 'codechicken:NotEnoughItems:1.7.10-1.0.3.74:dev'
compileOnly 'codechicken:NotEnoughItems:1.7.10-1.0.3.74:src' compileOnly 'codechicken:NotEnoughItems:1.7.10-1.0.3.74:src'
//compileOnly 'inventory-tweaks:InventoryTweaks:1.62+beta.84:api' compileOnly "inventorytweaks:InventoryTweaks:1.59-dev:deobf"
implementation "li.cil.oc:OpenComputers:MC1.7.10-1.5.+:api" implementation "li.cil.oc:OpenComputers:MC1.7.10-1.5.+:api"
} }

View File

@ -1,52 +1,16 @@
## Added
* Plushies
* Bedrock sellafite
* Replaces bedrock in the bottom of craters
* Looks exactly like slaked sellafite while inheriting all other traits from bedrock (unbreakable, high blast resistance, no mob spawning)
* Overall large craters no longer have the unsightly weird bedrock layer at the bottom
## Changed ## Changed
* Updated chinese localization * To address certain balancing concerns, the RF to HE conversion rate is now 2:5. The HE to RF rate however is still 5:1
* The fluid burner, heat exchanging heater and cooling tower now use the single steel pipe items instead of the larger steel pipes * Because of this, using chains of converters as batteries becomes exponentially lossy with size, therefore the input decay has been removed
* Reduced the amount of condensers needed for crafting the cooling towers * Input decay can still be configured if desired
* Liquefactors and solidifiers now have a base processing time of 5 seconds per operation (instead of 10) * No input decay also means that converters are no longer infinite energy sinks
* Added some info to the coltass about how the coltan deposit works * Power converter recipes have been updated
* Moved some NEI handlers around, fluid containers are now listed last and radiolysis is now listed right after cracking, since they have the same recipes * Soldering stations will no longer work if the recipe requires no input fluid while fluid is present
* The autocrafter's inputs are now limited to 4 items per slot * While this does complicate using the soldering station manually, as switching from milgrade to standard ICs requires emptying the solderer with a siphon, it does make automating easier, since soldering stations will no longer treat incomplete milgrade circuits as ICs
* Autocrafters can now receive stacked items again (except for items with containers), if they do not exceed the 4 item threshold * Cement is now edible
* Bedrock ores now produce bedrock ore fragments instead of straight outputs, one fragment is equivalent to a nugget * Derricks have been remodeled, the port configuration has changed so existing derricks need to be replaced
* Fragments also differ in stack size when produced, most primary fractions yield 9 (equal to the previous full powder), but things with lower demands/higher value like bismuth now yield substantially less * Derricks no longer spawn oil spills
* The base speed of the large mining drill when mining bedrock has been reduced by 80%, it is now advisable to either invest in upgrades early on or use multiple drills * Metal deco blocks are now crafted in batches of 4, as well as recycled in batches of 4. Each block is therefore still worth 25% of an ingot, but recycling your own deco blocks is no longer lossy
* The bedrock ore processor now has a base speed of 30 seconds
* Standard, special, HE artillery shells and most missiles now use updated explosion animations
* Decreased hardness of slag blocks
* Removed legacy circuits
* Removed a bunch of random unused items
* UF6 and PuF6 tanks are being phased out, the blocks will remain for now but functionality and recipes have been removed
* Centrifuges are now configurable via `hbmMachines.json`
* Updated refinery GUI
* Crayons now require paper to craft, fixing an issue where some recipes conflict with the dye mixing ones
* Halved energy consumption for night vision goggles
* Solid rocket fuel now uses 100mB of nitric acid instead of redstone and niter
* The nitric acid from sulfuric acid recipe in the chemical plant now yields 1,000mB instead of 500
* Liquefacting niter now yields 750mB instead of 250
* Increased demand for coking sour gas to 1,000mB instead of 250
* This means that sour gas now has a lower concentration of sulfur, making reforming competitive again compared to the previously buffed coking + mixing
* Disperser canisters are now listed below grenades in the creative tab
## Fixed ## Fixed
* Fixed crash caused by decontaminating items with the radiolysis machine * Fixed some machines not sending fluid gauge syncs properly
* Fixed ICFs not forming correctly depending on the orientation * Fixed refinery GUI crashing when invalid input is used
* Fixed electrolyzer metal recipe config not working
* Fixed the meteor charms not working when used on helmets
* Fixed NEI handler for the ICF's consturction showing inconsistent values
* Fixed radiolysis recipes not showing up in NEI unless the usage recipes are loaded first
* Fixed autocrafter's grid not properly updating when using NEI drag and drop for the filter
* Fixed all carbon-based crucible materials having the wrong ID, this fix will shift IDs but prevent collisions with silicon
* Fixed primary bedrock ore fraction roasting yielding one extra pile of crumbs
* Fixed filing cabinets being unreasonably laggy due to the old packet code
* Fixed the secure access door taking way longer to craft than any other door
* Fixed issues with the spotlight crafting recipes
* Fixed various issues with opencomputers integration
* Fixed incorrect armor mod descriptions being shown for cards
* Fixed mobs being able to spawn on bedrock ore and bedrock oil

View File

@ -1,6 +1,6 @@
mod_version=1.0.27 mod_version=1.0.27
# Empty build number makes a release type # Empty build number makes a release type
mod_build_number=5057 mod_build_number=5061
credits=HbMinecraft,\ credits=HbMinecraft,\
\ rodolphito (explosion algorithms),\ \ rodolphito (explosion algorithms),\

View File

@ -2152,9 +2152,9 @@ public class ModBlocks {
boxcar = new DecoBlock(Material.iron).setBlockName("boxcar").setStepSound(Block.soundTypeMetal).setHardness(10.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":boxcar"); boxcar = new DecoBlock(Material.iron).setBlockName("boxcar").setStepSound(Block.soundTypeMetal).setHardness(10.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":boxcar");
boat = new DecoBlock(Material.iron).setBlockName("boat").setStepSound(Block.soundTypeMetal).setHardness(10.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":boat"); boat = new DecoBlock(Material.iron).setBlockName("boat").setStepSound(Block.soundTypeMetal).setHardness(10.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":boat");
machine_well = new MachineOilWell().setBlockName("machine_well").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_well"); machine_well = new MachineOilWell().setBlockName("machine_well").setHardness(5.0F).setResistance(20.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_well");
machine_pumpjack = new MachinePumpjack().setBlockName("machine_pumpjack").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_pumpjack"); machine_pumpjack = new MachinePumpjack().setBlockName("machine_pumpjack").setHardness(5.0F).setResistance(20.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_pumpjack");
machine_fracking_tower = new MachineFrackingTower().setBlockName("machine_fracking_tower").setHardness(5.0F).setResistance(60.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); machine_fracking_tower = new MachineFrackingTower().setBlockName("machine_fracking_tower").setHardness(5.0F).setResistance(20.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
oil_pipe = new BlockNoDrop(Material.iron).setBlockName("oil_pipe").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":oil_pipe"); oil_pipe = new BlockNoDrop(Material.iron).setBlockName("oil_pipe").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":oil_pipe");
machine_flare = new MachineGasFlare(Material.iron).setBlockName("machine_flare").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); machine_flare = new MachineGasFlare(Material.iron).setBlockName("machine_flare").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
chimney_brick = new MachineChimneyBrick(Material.iron).setBlockName("chimney_brick").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_fire"); chimney_brick = new MachineChimneyBrick(Material.iron).setBlockName("chimney_brick").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_fire");

View File

@ -5,11 +5,17 @@ import java.util.List;
import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.BlockDummyable;
import com.hbm.blocks.IPersistentInfoProvider; import com.hbm.blocks.IPersistentInfoProvider;
import com.hbm.explosion.vanillant.ExplosionVNT;
import com.hbm.explosion.vanillant.standard.BlockAllocatorStandard;
import com.hbm.explosion.vanillant.standard.BlockProcessorStandard;
import com.hbm.explosion.vanillant.standard.EntityProcessorStandard;
import com.hbm.explosion.vanillant.standard.PlayerProcessorStandard;
import com.hbm.handler.MultiblockHandlerXR;
import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.tank.FluidTank;
import com.hbm.main.MainRegistry; import com.hbm.main.MainRegistry;
import com.hbm.particle.helper.ExplosionCreator;
import com.hbm.tileentity.IPersistentNBT; import com.hbm.tileentity.IPersistentNBT;
import com.hbm.tileentity.TileEntityProxyCombo;
import com.hbm.tileentity.machine.oil.TileEntityMachineOilWell; import com.hbm.tileentity.machine.oil.TileEntityMachineOilWell;
import com.hbm.util.BobMathUtil; import com.hbm.util.BobMathUtil;
@ -20,6 +26,7 @@ import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.Explosion;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.common.util.ForgeDirection;
@ -31,15 +38,13 @@ public class MachineOilWell extends BlockDummyable implements IPersistentInfoPro
@Override @Override
public TileEntity createNewTileEntity(World world, int meta) { public TileEntity createNewTileEntity(World world, int meta) {
if(meta >= 12) return new TileEntityMachineOilWell(); if(meta >= 12) return new TileEntityMachineOilWell();
if(meta >= 6) return new TileEntityProxyCombo(false, true, true);
return null; return null;
} }
@Override @Override
public int[] getDimensions() { public int[] getDimensions() {
return new int[] {5, 0, 1, 1, 1, 1}; return new int[] {9, 0, 1, 1, 1, 1};
} }
@Override @Override
@ -47,13 +52,24 @@ public class MachineOilWell extends BlockDummyable implements IPersistentInfoPro
return 0; return 0;
} }
@Override
protected boolean checkRequirement(World world, int x, int y, int z, ForgeDirection dir, int o) {
return MultiblockHandlerXR.checkSpace(world, x, y, z, new int[] {1, -1, 0, 0, 0, 0}, x, y, z, dir) &&
MultiblockHandlerXR.checkSpace(world, x, y + 1, z, new int[] {8, 0, 1, 1, 1, 1}, x, y, z, dir) &&
MultiblockHandlerXR.checkSpace(world, x + 1, y + 1, z + 1, new int[] {-1, 1, 0, 0, 0, 0}, x, y, z, dir) &&
MultiblockHandlerXR.checkSpace(world, x + 1, y + 1, z - 1, new int[] {-1, 1, 0, 0, 0, 0}, x, y, z, dir) &&
MultiblockHandlerXR.checkSpace(world, x - 1, y + 1, z + 1, new int[] {-1, 1, 0, 0, 0, 0}, x, y, z, dir) &&
MultiblockHandlerXR.checkSpace(world, x - 1, y + 1, z - 1, new int[] {-1, 1, 0, 0, 0, 0}, x, y, z, dir);
}
@Override @Override
public void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { public void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) {
super.fillSpace(world, x, y, z, dir, o); MultiblockHandlerXR.fillSpace(world, x, y, z, new int[] {1, -1, 0, 0, 0, 0}, this, dir);
this.makeExtra(world, x + dir.offsetX * o + 1, y, z + dir.offsetZ * o); MultiblockHandlerXR.fillSpace(world, x, y + 1, z, new int[] {8, 0, 1, 1, 1, 1}, this, dir);
this.makeExtra(world, x + dir.offsetX * o - 1, y, z + dir.offsetZ * o); MultiblockHandlerXR.fillSpace(world, x + 1, y + 1, z + 1, new int[] {-1, 1, 0, 0, 0, 0}, this, dir);
this.makeExtra(world, x + dir.offsetX * o, y, z + dir.offsetZ * o + 1); MultiblockHandlerXR.fillSpace(world, x + 1, y + 1, z - 1, new int[] {-1, 1, 0, 0, 0, 0}, this, dir);
this.makeExtra(world, x + dir.offsetX * o, y, z + dir.offsetZ * o - 1); MultiblockHandlerXR.fillSpace(world, x - 1, y + 1, z + 1, new int[] {-1, 1, 0, 0, 0, 0}, this, dir);
MultiblockHandlerXR.fillSpace(world, x - 1, y + 1, z - 1, new int[] {-1, 1, 0, 0, 0, 0}, this, dir);
} }
@Override @Override
@ -89,4 +105,31 @@ public class MachineOilWell extends BlockDummyable implements IPersistentInfoPro
list.add(EnumChatFormatting.YELLOW + "" + tank.getFill() + "/" + tank.getMaxFill() + "mB " + tank.getTankType().getLocalizedName()); list.add(EnumChatFormatting.YELLOW + "" + tank.getFill() + "/" + tank.getMaxFill() + "mB " + tank.getTankType().getLocalizedName());
} }
} }
@Override
public void onBlockExploded(World world, int x, int y, int z, Explosion explosion) {
int[] pos = this.findCore(world, x, y, z);
if(pos == null) return;
TileEntity core = world.getTileEntity(pos[0], pos[1], pos[2]);
if(!(core instanceof TileEntityMachineOilWell)) return;
world.setBlockToAir(x, y, z);
onBlockDestroyedByExplosion(world, x, y, z, explosion);
TileEntityMachineOilWell well = (TileEntityMachineOilWell) core;
if(well.tanks[0].getFill() > 0 || well.tanks[1].getFill() > 0) {
well.tanks[0].setFill(0);
well.tanks[1].setFill(0);
ExplosionVNT xnt = new ExplosionVNT(world, pos[0] + 0.5, pos[1] + 0.5, pos[2] + 0.5, 15F);
xnt.setBlockAllocator(new BlockAllocatorStandard(24));
xnt.setBlockProcessor(new BlockProcessorStandard().setNoDrop());
xnt.setEntityProcessor(new EntityProcessorStandard());
xnt.setPlayerProcessor(new PlayerProcessorStandard());
xnt.explode();
ExplosionCreator.composeEffect(world, pos[0] + 0.5, pos[1] + 0.5, pos[2] + 0.5, 10, 2F, 0.5F, 25F, 5, 8, 20, 0.75F, 1F, -2F, 150);
}
}
} }

View File

@ -98,9 +98,6 @@ public class EntityMappings {
addEntity(EntityGrenadeShrapnel.class, "entity_grenade_shrapnel", 250); addEntity(EntityGrenadeShrapnel.class, "entity_grenade_shrapnel", 250);
addEntity(EntityBlackHole.class, "entity_black_hole", 250); addEntity(EntityBlackHole.class, "entity_black_hole", 250);
addEntity(EntityGrenadeBlackHole.class, "entity_grenade_black_hole", 250); addEntity(EntityGrenadeBlackHole.class, "entity_grenade_black_hole", 250);
addEntity(EntityOilSpillFX.class, "entity_spill_fx", 1000);
addEntity(EntityOilSpill.class, "entity_oil_spill", 1000);
addEntity(EntityGasFX.class, "entity_spill_fx", 1000);
addEntity(EntityMinecartTest.class, "entity_minecart_test", 1000); addEntity(EntityMinecartTest.class, "entity_minecart_test", 1000);
addEntity(EntitySparkBeam.class, "entity_spark_beam", 1000); addEntity(EntitySparkBeam.class, "entity_spark_beam", 1000);
addEntity(EntityMissileDoomsday.class, "entity_missile_doomsday", 1000); addEntity(EntityMissileDoomsday.class, "entity_missile_doomsday", 1000);

View File

@ -1,79 +0,0 @@
package com.hbm.entity.particle;
import net.minecraft.world.World;
public class EntityGasFX extends EntityModFX
{
float smokeParticleScale;
public int particleAge;
public int maxAge;
public EntityGasFX(World world) {
super(world, 0, 0, 0);
}
public EntityGasFX(World p_i1225_1_, double p_i1225_2_, double p_i1225_4_, double p_i1225_6_, double p_i1225_8_, double p_i1225_10_, double p_i1225_12_)
{
this(p_i1225_1_, p_i1225_2_, p_i1225_4_, p_i1225_6_, p_i1225_8_, p_i1225_10_, p_i1225_12_, 1.0F);
}
public EntityGasFX(World p_i1226_1_, double p_i1226_2_, double p_i1226_4_, double p_i1226_6_, double p_i1226_8_, double p_i1226_10_, double p_i1226_12_, float p_i1226_14_)
{
super(p_i1226_1_, p_i1226_2_, p_i1226_4_, p_i1226_6_, 0.0D, 0.0D, 0.0D);
this.motionX *= 0.10000000149011612D;
this.motionY *= 0.10000000149011612D;
this.motionZ *= 0.10000000149011612D;
this.motionX += p_i1226_8_;
this.motionY += p_i1226_10_;
this.motionZ += p_i1226_12_;
this.particleRed = this.particleGreen = this.particleBlue = (float)(Math.random() * 0.30000001192092896D);
this.particleScale *= 0.75F;
this.particleScale *= p_i1226_14_;
this.smokeParticleScale = this.particleScale;
//this.particleMaxAge = (int)(8.0D / (Math.random() * 0.8D + 0.2D));
//this.particleMaxAge = (int)((float)this.particleMaxAge * p_i1226_14_);
this.noClip = false;
}
/**
* Called to update the entity's position/logic.
*/
@Override
public void onUpdate()
{
this.prevPosX = this.posX;
this.prevPosY = this.posY;
this.prevPosZ = this.posZ;
if(maxAge < 15)
{
maxAge = rand.nextInt(4) + 15;
}
this.particleAge++;
if (this.particleAge >= maxAge)
{
this.setDead();
}
this.motionX *= 0.7599999785423279D;
//this.motionY *= 0.7599999785423279D;
this.motionY += 0.1D;
this.motionZ *= 0.7599999785423279D;
if (this.onGround)
{
this.motionX *= 0.699999988079071D;
this.motionZ *= 0.699999988079071D;
}
if(this.isBurning()) {
this.setDead();
worldObj.createExplosion(null, posX, posY, posZ, 3F, true);
}
this.posX += this.motionX;
this.posY += this.motionY;
this.posZ += this.motionZ;
}
}

View File

@ -1,74 +0,0 @@
package com.hbm.entity.particle;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
public class EntityOilSpillFX extends EntityModFX {
float smokeParticleScale;
public int particleAge;
public int maxAge;
public EntityOilSpillFX(World world) {
super(world, 0, 0, 0);
}
public EntityOilSpillFX(World p_i1225_1_, double p_i1225_2_, double p_i1225_4_, double p_i1225_6_, double p_i1225_8_, double p_i1225_10_, double p_i1225_12_) {
this(p_i1225_1_, p_i1225_2_, p_i1225_4_, p_i1225_6_, p_i1225_8_, p_i1225_10_, p_i1225_12_, 1.0F);
}
public EntityOilSpillFX(World p_i1226_1_, double p_i1226_2_, double p_i1226_4_, double p_i1226_6_, double p_i1226_8_, double p_i1226_10_, double p_i1226_12_, float p_i1226_14_) {
super(p_i1226_1_, p_i1226_2_, p_i1226_4_, p_i1226_6_, 0.0D, 0.0D, 0.0D);
this.motionX *= 0.10000000149011612D;
this.motionY *= 0.10000000149011612D;
this.motionZ *= 0.10000000149011612D;
this.motionX += p_i1226_8_;
this.motionY += p_i1226_10_;
this.motionZ += p_i1226_12_;
this.particleRed = this.particleGreen = this.particleBlue = (float) (Math.random() * 0.30000001192092896D);
this.particleScale *= 0.75F;
this.particleScale *= p_i1226_14_;
this.smokeParticleScale = this.particleScale;
this.noClip = false;
}
@Override
public void onUpdate() {
this.prevPosX = this.posX;
this.prevPosY = this.posY;
this.prevPosZ = this.posZ;
if(maxAge < 15) {
maxAge = rand.nextInt(4) + 15;
}
this.particleAge++;
if(this.particleAge >= maxAge) {
this.setDead();
}
this.motionX *= 0.7599999785423279D;
this.motionY *= 0.7599999785423279D;
this.motionZ *= 0.7599999785423279D;
if(this.onGround) {
this.motionX *= 0.699999988079071D;
this.motionZ *= 0.699999988079071D;
}
this.posX += this.motionX;
this.posY += this.motionY;
this.posZ += this.motionZ;
}
@Override
public boolean writeToNBTOptional(NBTTagCompound nbt) {
return false;
}
@Override
public void readEntityFromNBT(NBTTagCompound nbt) {
super.readEntityFromNBT(nbt);
this.setDead();
}
}

View File

@ -1,56 +0,0 @@
package com.hbm.entity.projectile;
import com.hbm.entity.particle.EntityOilSpillFX;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.projectile.EntityThrowable;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World;
public class EntityOilSpill extends EntityThrowable {
public EntityOilSpill(World p_i1773_1_) {
super(p_i1773_1_);
}
public EntityOilSpill(World p_i1774_1_, EntityLivingBase p_i1774_2_) {
super(p_i1774_1_, p_i1774_2_);
}
@Override
public void entityInit() { }
public EntityOilSpill(World p_i1775_1_, double p_i1775_2_, double p_i1775_4_, double p_i1775_6_) {
super(p_i1775_1_, p_i1775_2_, p_i1775_4_, p_i1775_6_);
}
@Override
public void onUpdate() {
super.onUpdate();
if(!worldObj.isRemote) {
worldObj.spawnEntityInWorld(new EntityOilSpillFX(worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0));
if(this.isBurning()) {
this.setDead();
worldObj.createExplosion(null, posX, posY, posZ, 1.5F, true);
}
}
}
@Override
protected void onImpact(MovingObjectPosition p_70184_1_) {
if(this.ticksExisted > 5) {
this.setDead();
}
}
@Override
public boolean writeToNBTOptional(NBTTagCompound nbt) {
return false;
}
@Override
public void readEntityFromNBT(NBTTagCompound nbt) {
super.readEntityFromNBT(nbt);
this.setDead();
}
}

View File

@ -3,7 +3,6 @@ package com.hbm.explosion;
import java.util.List; import java.util.List;
import java.util.Random; import java.util.Random;
import com.hbm.entity.projectile.EntityOilSpill;
import com.hbm.entity.projectile.EntityRubble; import com.hbm.entity.projectile.EntityRubble;
import com.hbm.entity.projectile.EntityShrapnel; import com.hbm.entity.projectile.EntityShrapnel;
import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.AuxParticlePacketNT;
@ -154,20 +153,6 @@ public class ExplosionLarge {
} }
} }
public static void spawnOilSpills(World world, double x, double y, double z, int count) {
for(int i = 0; i < count; i++) {
EntityOilSpill shrapnel = new EntityOilSpill(world);
shrapnel.posX = x;
shrapnel.posY = y;
shrapnel.posZ = z;
shrapnel.motionY = ((rand.nextFloat() * 0.5) + 0.5) * (1 + (count / (15 + rand.nextInt(21)))) + (rand.nextFloat() / 50 * count) * 0.25F;
shrapnel.motionX = rand.nextGaussian() * 1 * (1 + (count / 50)) * 0.15F;
shrapnel.motionZ = rand.nextGaussian() * 1 * (1 + (count / 50)) * 0.15F;
world.spawnEntityInWorld(shrapnel);
}
}
public static void explode(World world, double x, double y, double z, float strength, boolean cloud, boolean rubble, boolean shrapnel, Entity exploder) { public static void explode(World world, double x, double y, double z, float strength, boolean cloud, boolean rubble, boolean shrapnel, Entity exploder) {
world.createExplosion(exploder, x, y, z, strength, true); world.createExplosion(exploder, x, y, z, strength, true);
if(cloud) if(cloud)

View File

@ -1,13 +0,0 @@
package com.hbm.interfaces;
import com.hbm.inventory.fluid.FluidType;
@Deprecated //legacy crap we can't get rid of because some ancient machines still use this for sync
public interface IFluidContainer {
//Args: fill, what the fill should be set to; index, index for array if there are multiple tanks
public void setFillForSync(int fill, int index);
//Args: type, what the type should be set to; index, index for array if there are multiple tanks
public void setTypeForSync(FluidType type, int index);
}

View File

@ -117,6 +117,7 @@ public class RecipesCommon {
return; return;
} }
this.item = stack.getItem(); this.item = stack.getItem();
if(this.item == null) this.item = ModItems.nothing; //i'm going to bash some fuckard's head in
this.stacksize = stack.stackSize; this.stacksize = stack.stackSize;
this.meta = stack.getItemDamage(); this.meta = stack.getItemDamage();
} }
@ -128,6 +129,7 @@ public class RecipesCommon {
public ComparableStack(Item item) { public ComparableStack(Item item) {
this.item = item; this.item = item;
if(this.item == null) this.item = ModItems.nothing;
this.stacksize = 1; this.stacksize = 1;
this.meta = 0; this.meta = 0;
} }

View File

@ -4,6 +4,7 @@ import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.IInventory; import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot; import net.minecraft.inventory.Slot;
@invtweaks.api.container.ChestContainer(rowSize = 13, isLargeChest = false)
public class ContainerCrateDesh extends ContainerCrateBase { public class ContainerCrateDesh extends ContainerCrateBase {
public ContainerCrateDesh(InventoryPlayer invPlayer, IInventory tedf) { public ContainerCrateDesh(InventoryPlayer invPlayer, IInventory tedf) {
@ -15,7 +16,7 @@ public class ContainerCrateDesh extends ContainerCrateBase {
} }
} }
this.playerInv(invPlayer,44, 174, 232); this.playerInv(invPlayer, 44, 174, 232);
} }
} }

View File

@ -5,7 +5,7 @@ import com.hbm.tileentity.machine.storage.TileEntityCrateIron;
import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Slot; import net.minecraft.inventory.Slot;
//@invtweaks.api.container.ChestContainer @invtweaks.api.container.ChestContainer(rowSize = 9, isLargeChest = false)
public class ContainerCrateIron extends ContainerCrateBase { public class ContainerCrateIron extends ContainerCrateBase {
public ContainerCrateIron(InventoryPlayer invPlayer, TileEntityCrateIron tedf) { public ContainerCrateIron(InventoryPlayer invPlayer, TileEntityCrateIron tedf) {

View File

@ -4,7 +4,7 @@ import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.IInventory; import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot; import net.minecraft.inventory.Slot;
//@invtweaks.api.container.ChestContainer @invtweaks.api.container.ChestContainer(rowSize = 9, isLargeChest = false)
public class ContainerCrateSteel extends ContainerCrateBase { public class ContainerCrateSteel extends ContainerCrateBase {
public ContainerCrateSteel(InventoryPlayer invPlayer, IInventory tedf) { public ContainerCrateSteel(InventoryPlayer invPlayer, IInventory tedf) {
@ -16,6 +16,6 @@ public class ContainerCrateSteel extends ContainerCrateBase {
} }
} }
this.playerInv(invPlayer,8, 84 + (18 * 3) + 2, 142 + (18 * 3) + 2); this.playerInv(invPlayer, 8, 84 + (18 * 3) + 2, 142 + (18 * 3) + 2);
} }
} }

View File

@ -5,6 +5,7 @@ import com.hbm.tileentity.machine.storage.TileEntityCrateTemplate;
import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Slot; import net.minecraft.inventory.Slot;
@invtweaks.api.container.ChestContainer(rowSize = 9, isLargeChest = false)
public class ContainerCrateTemplate extends ContainerCrateBase { public class ContainerCrateTemplate extends ContainerCrateBase {
public ContainerCrateTemplate(InventoryPlayer invPlayer, TileEntityCrateTemplate tedf) { public ContainerCrateTemplate(InventoryPlayer invPlayer, TileEntityCrateTemplate tedf) {
@ -16,6 +17,6 @@ public class ContainerCrateTemplate extends ContainerCrateBase {
} }
} }
this.playerInv(invPlayer,8, 86, 144); this.playerInv(invPlayer, 8, 86, 144);
} }
} }

View File

@ -5,7 +5,7 @@ import com.hbm.tileentity.machine.storage.TileEntityCrateTungsten;
import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Slot; import net.minecraft.inventory.Slot;
//@invtweaks.api.container.ChestContainer @invtweaks.api.container.ChestContainer(rowSize = 9, isLargeChest = false)
public class ContainerCrateTungsten extends ContainerCrateBase { public class ContainerCrateTungsten extends ContainerCrateBase {
public ContainerCrateTungsten(InventoryPlayer invPlayer, TileEntityCrateTungsten te) { public ContainerCrateTungsten(InventoryPlayer invPlayer, TileEntityCrateTungsten te) {
@ -17,6 +17,6 @@ public class ContainerCrateTungsten extends ContainerCrateBase {
} }
} }
this.playerInv(invPlayer,8, 32 + 18 * 3, 90 + (18 * 3)); this.playerInv(invPlayer, 8, 32 + 18 * 3, 90 + (18 * 3));
} }
} }

View File

@ -12,17 +12,13 @@ import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.gui.GuiInfoContainer; import com.hbm.inventory.gui.GuiInfoContainer;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import com.hbm.items.machine.IItemFluidIdentifier; import com.hbm.items.machine.IItemFluidIdentifier;
import com.hbm.packet.PacketDispatcher;
import com.hbm.packet.TEFluidPacket;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBuf;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.Tessellator;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.MathHelper; import net.minecraft.util.MathHelper;
@ -40,7 +36,6 @@ public class FluidTank {
FluidType type; FluidType type;
int fluid; int fluid;
int maxFluid; int maxFluid;
@Deprecated public int index = 0;
int pressure = 0; int pressure = 0;
public FluidTank(FluidType type, int maxFluid) { public FluidTank(FluidType type, int maxFluid) {
@ -56,13 +51,6 @@ public class FluidTank {
return this; return this;
} }
@Deprecated // indices are no longer needed
public FluidTank(FluidType type, int maxFluid, int index) {
this.type = type;
this.maxFluid = maxFluid;
this.index = index;
}
public void setFill(int i) { public void setFill(int i) {
fluid = i; fluid = i;
} }
@ -108,20 +96,6 @@ public class FluidTank {
return 0; return 0;
} }
//Called on TE update
@Deprecated public void updateTank(TileEntity te) {
updateTank(te, 100);
}
@Deprecated public void updateTank(TileEntity te, int range) {
updateTank(te.xCoord, te.yCoord, te.zCoord, te.getWorldObj().provider.dimensionId, range);
}
@Deprecated public void updateTank(int x, int y, int z, int dim) {
updateTank(x, y, z, dim, 100);
}
@Deprecated public void updateTank(int x, int y, int z, int dim, int range) {
PacketDispatcher.wrapper.sendToAllAround(new TEFluidPacket(x, y, z, fluid, index, type), new TargetPoint(dim, x, y, z, range));
}
//Fills tank from canisters //Fills tank from canisters
public boolean loadTank(int in, int out, ItemStack[] slots) { public boolean loadTank(int in, int out, ItemStack[] slots) {

View File

@ -98,30 +98,22 @@ public class GUIMachineRefinery extends GuiInfoContainer {
GL11.glEnable(GL11.GL_BLEND); GL11.glEnable(GL11.GL_BLEND);
GL11.glColor4f(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F, 1F); GL11.glColor4f(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F, 1F);
func_146110_a(guiLeft + 52, guiTop + 63, 247, 1, 33, 48, 350, 256); func_146110_a(guiLeft + 52, guiTop + 63, 247, 1, 33, 48, 350, 256);
GL11.glDisable(GL11.GL_BLEND);
// Naphtha Oil Products // Naphtha Oil Products
color = new Color(recipe.getW().type.getColor()); color = new Color(recipe.getW().type.getColor());
GL11.glEnable(GL11.GL_BLEND);
GL11.glColor4f(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F, 1F); GL11.glColor4f(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F, 1F);
func_146110_a(guiLeft + 52, guiTop + 32, 247, 50, 66, 52, 350, 256); func_146110_a(guiLeft + 52, guiTop + 32, 247, 50, 66, 52, 350, 256);
GL11.glDisable(GL11.GL_BLEND);
// Light Oil Products // Light Oil Products
color = new Color(recipe.getX().type.getColor()); color = new Color(recipe.getX().type.getColor());
GL11.glEnable(GL11.GL_BLEND);
GL11.glColor4f(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F, 1F); GL11.glColor4f(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F, 1F);
func_146110_a(guiLeft + 52, guiTop + 24, 247, 145, 86, 35, 350, 256); func_146110_a(guiLeft + 52, guiTop + 24, 247, 145, 86, 35, 350, 256);
GL11.glDisable(GL11.GL_BLEND);
// Gaseous Products // Gaseous Products
color = new Color(recipe.getY().type.getColor()); color = new Color(recipe.getY().type.getColor());
GL11.glEnable(GL11.GL_BLEND);
GL11.glColor4f(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F, 1F); GL11.glColor4f(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F, 1F);
func_146110_a(guiLeft + 36, guiTop + 16, 211, 119, 122, 25, 350, 256); func_146110_a(guiLeft + 36, guiTop + 16, 211, 119, 122, 25, 350, 256);
GL11.glDisable(GL11.GL_BLEND); GL11.glDisable(GL11.GL_BLEND);
GL11.glColor4f(1F, 1F, 1F, 1F); GL11.glColor4f(1F, 1F, 1F, 1F);
} }

View File

@ -56,7 +56,7 @@ public class MixerRecipes extends SerializableRecipe {
new MixerRecipe(1000, 50).setStack1(new FluidStack(Fluids.NAPHTHA_DS, 500)).setStack2(new FluidStack(Fluids.AROMATICS, 500)), new MixerRecipe(1000, 50).setStack1(new FluidStack(Fluids.NAPHTHA_DS, 500)).setStack2(new FluidStack(Fluids.AROMATICS, 500)),
new MixerRecipe(1000, 50).setStack1(new FluidStack(Fluids.NAPHTHA_COKER, 500)).setStack2(new FluidStack(Fluids.AROMATICS, 500))); new MixerRecipe(1000, 50).setStack1(new FluidStack(Fluids.NAPHTHA_COKER, 500)).setStack2(new FluidStack(Fluids.AROMATICS, 500)));
register(Fluids.SULFURIC_ACID, new MixerRecipe(500, 50).setStack1(new FluidStack(Fluids.PEROXIDE, 800)).setSolid(new OreDictStack(S.dust()))); register(Fluids.SULFURIC_ACID, new MixerRecipe(500, 50).setStack1(new FluidStack(Fluids.PEROXIDE, 800)).setSolid(new OreDictStack(S.dust())));
register(Fluids.NITRIC_ACID, new MixerRecipe(500, 50).setStack1(new FluidStack(Fluids.SULFURIC_ACID, 500)).setSolid(new OreDictStack(KNO.dust()))); register(Fluids.NITRIC_ACID, new MixerRecipe(1_000, 50).setStack1(new FluidStack(Fluids.SULFURIC_ACID, 500)).setSolid(new OreDictStack(KNO.dust())));
register(Fluids.RADIOSOLVENT, new MixerRecipe(1000, 50).setStack1(new FluidStack(Fluids.REFORMGAS, 750)).setStack2(new FluidStack(Fluids.CHLORINE, 250))); register(Fluids.RADIOSOLVENT, new MixerRecipe(1000, 50).setStack1(new FluidStack(Fluids.REFORMGAS, 750)).setStack2(new FluidStack(Fluids.CHLORINE, 250)));
register(Fluids.SCHRABIDIC, new MixerRecipe(16_000, 100).setStack1(new FluidStack(Fluids.SAS3, 8_000)).setStack2(new FluidStack(Fluids.PEROXIDE, 6_000)).setSolid(new ComparableStack(ModItems.pellet_charged))); register(Fluids.SCHRABIDIC, new MixerRecipe(16_000, 100).setStack1(new FluidStack(Fluids.SAS3, 8_000)).setStack2(new FluidStack(Fluids.PEROXIDE, 6_000)).setSolid(new ComparableStack(ModItems.pellet_charged)));

View File

@ -170,13 +170,13 @@ public class AnvilRecipes {
public static void registerConstructionRecipes() { public static void registerConstructionRecipes() {
constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(AL.ingot(), 1), new AnvilOutput(new ItemStack(ModBlocks.deco_aluminium))).setTier(1).setOverlay(OverlayType.CONSTRUCTION)); constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(AL.ingot(), 1), new AnvilOutput(new ItemStack(ModBlocks.deco_aluminium, 4))).setTier(1).setOverlay(OverlayType.CONSTRUCTION));
constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(BE.ingot(), 1), new AnvilOutput(new ItemStack(ModBlocks.deco_beryllium))).setTier(1).setOverlay(OverlayType.CONSTRUCTION)); constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(BE.ingot(), 1), new AnvilOutput(new ItemStack(ModBlocks.deco_beryllium, 4))).setTier(1).setOverlay(OverlayType.CONSTRUCTION));
constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(PB.ingot(), 1), new AnvilOutput(new ItemStack(ModBlocks.deco_lead))).setTier(1).setOverlay(OverlayType.CONSTRUCTION)); constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(PB.ingot(), 1), new AnvilOutput(new ItemStack(ModBlocks.deco_lead, 4))).setTier(1).setOverlay(OverlayType.CONSTRUCTION));
constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(MINGRADE.ingot(), 1), new AnvilOutput(new ItemStack(ModBlocks.deco_red_copper))).setTier(1).setOverlay(OverlayType.CONSTRUCTION)); constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(MINGRADE.ingot(), 1), new AnvilOutput(new ItemStack(ModBlocks.deco_red_copper, 4))).setTier(1).setOverlay(OverlayType.CONSTRUCTION));
constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(STEEL.ingot(), 1), new AnvilOutput(new ItemStack(ModBlocks.deco_steel))).setTier(1).setOverlay(OverlayType.CONSTRUCTION)); constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(STEEL.ingot(), 1), new AnvilOutput(new ItemStack(ModBlocks.deco_steel, 4))).setTier(1).setOverlay(OverlayType.CONSTRUCTION));
constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(TI.ingot(), 1), new AnvilOutput(new ItemStack(ModBlocks.deco_titanium))).setTier(1).setOverlay(OverlayType.CONSTRUCTION)); constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(TI.ingot(), 1), new AnvilOutput(new ItemStack(ModBlocks.deco_titanium, 4))).setTier(1).setOverlay(OverlayType.CONSTRUCTION));
constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(W.ingot(), 1), new AnvilOutput(new ItemStack(ModBlocks.deco_tungsten))).setTier(1).setOverlay(OverlayType.CONSTRUCTION)); constructionRecipes.add(new AnvilConstructionRecipe(new OreDictStack(W.ingot(), 1), new AnvilOutput(new ItemStack(ModBlocks.deco_tungsten, 4))).setTier(1).setOverlay(OverlayType.CONSTRUCTION));
constructionRecipes.add(new AnvilConstructionRecipe( constructionRecipes.add(new AnvilConstructionRecipe(
new AStack[] {new OreDictStack(DNT.ingot(), 4), new ComparableStack(ModBlocks.depth_brick)}, new AStack[] {new OreDictStack(DNT.ingot(), 4), new ComparableStack(ModBlocks.depth_brick)},
@ -715,14 +715,14 @@ public class AnvilRecipes {
} }
).setTier(2)); ).setTier(2));
constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_titanium), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_titanium, 1), 0.25F)}).setTier(1)); constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_titanium, 4), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_titanium, 1))}).setTier(1));
constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_red_copper), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_red_copper, 1), 0.25F)}).setTier(1)); constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_red_copper, 4), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_red_copper, 1))}).setTier(1));
constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_tungsten), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_tungsten, 1), 0.25F)}).setTier(1)); constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_tungsten, 4), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_tungsten, 1))}).setTier(1));
constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_aluminium), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_aluminium, 1), 0.25F)}).setTier(1)); constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_aluminium, 4), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_aluminium, 1))}).setTier(1));
constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_steel), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_steel, 1), 0.25F)}).setTier(1)); constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_steel, 4), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_steel, 1))}).setTier(1));
constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_lead), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_lead, 1), 0.25F)}).setTier(1)); constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_lead, 4), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_lead, 1))}).setTier(1));
constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_beryllium), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_beryllium, 1), 0.25F)}).setTier(1)); constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_beryllium, 4), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_beryllium, 1))}).setTier(1));
constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_asbestos), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_asbestos, 1), 0.25F)}).setTier(1)); constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.deco_asbestos, 4), new AnvilOutput[] {new AnvilOutput(new ItemStack(ModItems.ingot_asbestos, 1))}).setTier(1));
constructionRecipes.add(new AnvilConstructionRecipe( constructionRecipes.add(new AnvilConstructionRecipe(
new ComparableStack(ModBlocks.heater_firebox), new ComparableStack(ModBlocks.heater_firebox),

View File

@ -2351,22 +2351,6 @@ public class ModItems {
public static Item b_smoke6; public static Item b_smoke6;
public static Item b_smoke7; public static Item b_smoke7;
public static Item b_smoke8; public static Item b_smoke8;
public static Item spill1;
public static Item spill2;
public static Item spill3;
public static Item spill4;
public static Item spill5;
public static Item spill6;
public static Item spill7;
public static Item spill8;
public static Item gas1;
public static Item gas2;
public static Item gas3;
public static Item gas4;
public static Item gas5;
public static Item gas6;
public static Item gas7;
public static Item gas8;
public static Item chlorine1; public static Item chlorine1;
public static Item chlorine2; public static Item chlorine2;
public static Item chlorine3; public static Item chlorine3;
@ -2698,7 +2682,7 @@ public class ModItems {
cinnebar = new Item().setUnlocalizedName("cinnebar").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":cinnebar"); cinnebar = new Item().setUnlocalizedName("cinnebar").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":cinnebar");
powder_ash = new ItemEnumMulti(EnumAshType.class, true, true).setUnlocalizedName("powder_ash").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_ash"); powder_ash = new ItemEnumMulti(EnumAshType.class, true, true).setUnlocalizedName("powder_ash").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_ash");
powder_limestone = new Item().setUnlocalizedName("powder_limestone").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_limestone"); powder_limestone = new Item().setUnlocalizedName("powder_limestone").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_limestone");
powder_cement = new Item().setUnlocalizedName("powder_cement").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_cement"); powder_cement = new ItemLemon(2, 0.5F, false).setUnlocalizedName("powder_cement").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":powder_cement");
ingot_gh336 = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("ingot_gh336").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_gh336"); ingot_gh336 = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("ingot_gh336").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_gh336");
nugget_gh336 = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("nugget_gh336").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_gh336"); nugget_gh336 = new ItemCustomLore().setRarity(EnumRarity.epic).setUnlocalizedName("nugget_gh336").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_gh336");
@ -5404,22 +5388,6 @@ public class ModItems {
b_smoke6 = new Item().setUnlocalizedName("b_smoke6").setTextureName(RefStrings.MODID + ":b_smoke6"); b_smoke6 = new Item().setUnlocalizedName("b_smoke6").setTextureName(RefStrings.MODID + ":b_smoke6");
b_smoke7 = new Item().setUnlocalizedName("b_smoke7").setTextureName(RefStrings.MODID + ":b_smoke7"); b_smoke7 = new Item().setUnlocalizedName("b_smoke7").setTextureName(RefStrings.MODID + ":b_smoke7");
b_smoke8 = new Item().setUnlocalizedName("b_smoke8").setTextureName(RefStrings.MODID + ":b_smoke8"); b_smoke8 = new Item().setUnlocalizedName("b_smoke8").setTextureName(RefStrings.MODID + ":b_smoke8");
spill1 = new Item().setUnlocalizedName("spill1").setTextureName(RefStrings.MODID + ":spill1");
spill2 = new Item().setUnlocalizedName("spill2").setTextureName(RefStrings.MODID + ":spill2");
spill3 = new Item().setUnlocalizedName("spill3").setTextureName(RefStrings.MODID + ":spill3");
spill4 = new Item().setUnlocalizedName("spill4").setTextureName(RefStrings.MODID + ":spill4");
spill5 = new Item().setUnlocalizedName("spill5").setTextureName(RefStrings.MODID + ":spill5");
spill6 = new Item().setUnlocalizedName("spill6").setTextureName(RefStrings.MODID + ":spill6");
spill7 = new Item().setUnlocalizedName("spill7").setTextureName(RefStrings.MODID + ":spill7");
spill8 = new Item().setUnlocalizedName("spill8").setTextureName(RefStrings.MODID + ":spill8");
gas1 = new Item().setUnlocalizedName("gas1").setTextureName(RefStrings.MODID + ":gas1");
gas2 = new Item().setUnlocalizedName("gas2").setTextureName(RefStrings.MODID + ":gas2");
gas3 = new Item().setUnlocalizedName("gas3").setTextureName(RefStrings.MODID + ":gas3");
gas4 = new Item().setUnlocalizedName("gas4").setTextureName(RefStrings.MODID + ":gas4");
gas5 = new Item().setUnlocalizedName("gas5").setTextureName(RefStrings.MODID + ":gas5");
gas6 = new Item().setUnlocalizedName("gas6").setTextureName(RefStrings.MODID + ":gas6");
gas7 = new Item().setUnlocalizedName("gas7").setTextureName(RefStrings.MODID + ":gas7");
gas8 = new Item().setUnlocalizedName("gas8").setTextureName(RefStrings.MODID + ":gas8");
chlorine1 = new Item().setUnlocalizedName("chlorine1").setTextureName(RefStrings.MODID + ":chlorine1"); chlorine1 = new Item().setUnlocalizedName("chlorine1").setTextureName(RefStrings.MODID + ":chlorine1");
chlorine2 = new Item().setUnlocalizedName("chlorine2").setTextureName(RefStrings.MODID + ":chlorine2"); chlorine2 = new Item().setUnlocalizedName("chlorine2").setTextureName(RefStrings.MODID + ":chlorine2");
chlorine3 = new Item().setUnlocalizedName("chlorine3").setTextureName(RefStrings.MODID + ":chlorine3"); chlorine3 = new Item().setUnlocalizedName("chlorine3").setTextureName(RefStrings.MODID + ":chlorine3");
@ -7804,22 +7772,6 @@ public class ModItems {
GameRegistry.registerItem(b_smoke6, b_smoke6.getUnlocalizedName()); GameRegistry.registerItem(b_smoke6, b_smoke6.getUnlocalizedName());
GameRegistry.registerItem(b_smoke7, b_smoke7.getUnlocalizedName()); GameRegistry.registerItem(b_smoke7, b_smoke7.getUnlocalizedName());
GameRegistry.registerItem(b_smoke8, b_smoke8.getUnlocalizedName()); GameRegistry.registerItem(b_smoke8, b_smoke8.getUnlocalizedName());
GameRegistry.registerItem(spill1, spill1.getUnlocalizedName());
GameRegistry.registerItem(spill2, spill2.getUnlocalizedName());
GameRegistry.registerItem(spill3, spill3.getUnlocalizedName());
GameRegistry.registerItem(spill4, spill4.getUnlocalizedName());
GameRegistry.registerItem(spill5, spill5.getUnlocalizedName());
GameRegistry.registerItem(spill6, spill6.getUnlocalizedName());
GameRegistry.registerItem(spill7, spill7.getUnlocalizedName());
GameRegistry.registerItem(spill8, spill8.getUnlocalizedName());
GameRegistry.registerItem(gas1, gas1.getUnlocalizedName());
GameRegistry.registerItem(gas2, gas2.getUnlocalizedName());
GameRegistry.registerItem(gas3, gas3.getUnlocalizedName());
GameRegistry.registerItem(gas4, gas4.getUnlocalizedName());
GameRegistry.registerItem(gas5, gas5.getUnlocalizedName());
GameRegistry.registerItem(gas6, gas6.getUnlocalizedName());
GameRegistry.registerItem(gas7, gas7.getUnlocalizedName());
GameRegistry.registerItem(gas8, gas8.getUnlocalizedName());
GameRegistry.registerItem(chlorine1, chlorine1.getUnlocalizedName()); GameRegistry.registerItem(chlorine1, chlorine1.getUnlocalizedName());
GameRegistry.registerItem(chlorine2, chlorine2.getUnlocalizedName()); GameRegistry.registerItem(chlorine2, chlorine2.getUnlocalizedName());
GameRegistry.registerItem(chlorine3, chlorine3.getUnlocalizedName()); GameRegistry.registerItem(chlorine3, chlorine3.getUnlocalizedName());

View File

@ -3,7 +3,7 @@ package com.hbm.lib;
public class RefStrings { public class RefStrings {
public static final String MODID = "hbm"; public static final String MODID = "hbm";
public static final String NAME = "Hbm's Nuclear Tech Mod"; public static final String NAME = "Hbm's Nuclear Tech Mod";
public static final String VERSION = "1.0.27 BETA (5057)"; public static final String VERSION = "1.0.27 BETA (5061)";
//HBM's Beta Naming Convention: //HBM's Beta Naming Convention:
//V T (X) //V T (X)
//V -> next release version //V -> next release version

View File

@ -654,7 +654,6 @@ public class ClientProxy extends ServerProxy {
RenderingRegistry.registerEntityRenderingHandler(EntityRubble.class, new RenderRubble()); RenderingRegistry.registerEntityRenderingHandler(EntityRubble.class, new RenderRubble());
RenderingRegistry.registerEntityRenderingHandler(EntityShrapnel.class, new RenderShrapnel()); RenderingRegistry.registerEntityRenderingHandler(EntityShrapnel.class, new RenderShrapnel());
RenderingRegistry.registerEntityRenderingHandler(EntityFireworks.class, new RenderShrapnel()); RenderingRegistry.registerEntityRenderingHandler(EntityFireworks.class, new RenderShrapnel());
RenderingRegistry.registerEntityRenderingHandler(EntityOilSpill.class, new RenderEmpty());
RenderingRegistry.registerEntityRenderingHandler(EntityWaterSplash.class, new RenderEmpty()); RenderingRegistry.registerEntityRenderingHandler(EntityWaterSplash.class, new RenderEmpty());
RenderingRegistry.registerEntityRenderingHandler(EntityEMP.class, new RenderEmpty()); RenderingRegistry.registerEntityRenderingHandler(EntityEMP.class, new RenderEmpty());
RenderingRegistry.registerEntityRenderingHandler(EntityBeamVortex.class, new RenderVortexBeam()); RenderingRegistry.registerEntityRenderingHandler(EntityBeamVortex.class, new RenderVortexBeam());
@ -824,8 +823,6 @@ public class ClientProxy extends ServerProxy {
RenderingRegistry.registerEntityRenderingHandler(com.hbm.entity.particle.EntityCloudFX.class, new MultiCloudRenderer(new Item[] { ModItems.cloud1, ModItems.cloud2, ModItems.cloud3, ModItems.cloud4, ModItems.cloud5, ModItems.cloud6, ModItems.cloud7, ModItems.cloud8 })); RenderingRegistry.registerEntityRenderingHandler(com.hbm.entity.particle.EntityCloudFX.class, new MultiCloudRenderer(new Item[] { ModItems.cloud1, ModItems.cloud2, ModItems.cloud3, ModItems.cloud4, ModItems.cloud5, ModItems.cloud6, ModItems.cloud7, ModItems.cloud8 }));
RenderingRegistry.registerEntityRenderingHandler(EntityOrangeFX.class, new MultiCloudRenderer(new Item[] { ModItems.orange1, ModItems.orange2, ModItems.orange3, ModItems.orange4, ModItems.orange5, ModItems.orange6, ModItems.orange7, ModItems.orange8 })); RenderingRegistry.registerEntityRenderingHandler(EntityOrangeFX.class, new MultiCloudRenderer(new Item[] { ModItems.orange1, ModItems.orange2, ModItems.orange3, ModItems.orange4, ModItems.orange5, ModItems.orange6, ModItems.orange7, ModItems.orange8 }));
RenderingRegistry.registerEntityRenderingHandler(EntityFogFX.class, new FogRenderer()); RenderingRegistry.registerEntityRenderingHandler(EntityFogFX.class, new FogRenderer());
RenderingRegistry.registerEntityRenderingHandler(EntityOilSpillFX.class, new SpillRenderer(ModItems.nuclear_waste));
RenderingRegistry.registerEntityRenderingHandler(EntityGasFX.class, new GasRenderer(ModItems.nuclear_waste));
RenderingRegistry.registerEntityRenderingHandler(EntityEMPBlast.class, new RenderEMPBlast()); RenderingRegistry.registerEntityRenderingHandler(EntityEMPBlast.class, new RenderEMPBlast());
} }

View File

@ -277,8 +277,8 @@ public class CraftingManager {
//addRecipeAuto(new ItemStack(ModBlocks.machine_coal_off, 1), new Object[] { "STS", "SCS", "SFS", 'S', STEEL.ingot(), 'T', ModItems.tank_steel, 'C', MINGRADE.ingot(), 'F', Blocks.furnace }); //addRecipeAuto(new ItemStack(ModBlocks.machine_coal_off, 1), new Object[] { "STS", "SCS", "SFS", 'S', STEEL.ingot(), 'T', ModItems.tank_steel, 'C', MINGRADE.ingot(), 'F', Blocks.furnace });
addRecipeAuto(new ItemStack(ModBlocks.machine_wood_burner, 1), new Object[] { "PPP", "CFC", "I I" , 'P', STEEL.plate528(), 'C', ModItems.coil_copper, 'I', IRON.ingot(), 'F', Blocks.furnace}); addRecipeAuto(new ItemStack(ModBlocks.machine_wood_burner, 1), new Object[] { "PPP", "CFC", "I I" , 'P', STEEL.plate528(), 'C', ModItems.coil_copper, 'I', IRON.ingot(), 'F', Blocks.furnace});
addRecipeAuto(new ItemStack(ModBlocks.machine_turbine, 1), new Object[] { "SMS", "PTP", "SMS", 'S', STEEL.ingot(), 'T', ModItems.turbine_titanium, 'M', ModItems.coil_copper, 'P', ANY_PLASTIC.ingot() }); addRecipeAuto(new ItemStack(ModBlocks.machine_turbine, 1), new Object[] { "SMS", "PTP", "SMS", 'S', STEEL.ingot(), 'T', ModItems.turbine_titanium, 'M', ModItems.coil_copper, 'P', ANY_PLASTIC.ingot() });
addRecipeAuto(new ItemStack(ModBlocks.machine_converter_he_rf, 1), new Object[] { "SSS", "CRB", "SSS", 'S', STEEL.ingot(), 'C', ModItems.coil_copper, 'R', ModItems.coil_copper_torus, 'B', REDSTONE.block() }); addRecipeAuto(new ItemStack(ModBlocks.machine_converter_he_rf, 1), new Object[] { "RRR", "WWW", "III", 'R', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CAPACITOR), 'W', REDSTONE.dust(), 'I', STEEL.ingot() });
addRecipeAuto(new ItemStack(ModBlocks.machine_converter_rf_he, 1), new Object[] { "SSS", "BRC", "SSS", 'S', BE.ingot(), 'C', ModItems.coil_copper, 'R', ModItems.coil_copper_torus, 'B', REDSTONE.block() }); addRecipeAuto(new ItemStack(ModBlocks.machine_converter_rf_he, 1), new Object[] { "RRR", "WWW", "III", 'R', REDSTONE.dust(), 'W', MINGRADE.wireFine(), 'I', STEEL.ingot() });
addRecipeAuto(new ItemStack(ModBlocks.crate_template, 1), new Object[] { "IPI", "P P", "IPI", 'I', IRON.ingot(), 'P', Items.paper }); addRecipeAuto(new ItemStack(ModBlocks.crate_template, 1), new Object[] { "IPI", "P P", "IPI", 'I', IRON.ingot(), 'P', Items.paper });
addRecipeAuto(new ItemStack(ModBlocks.crate_iron, 1), new Object[] { "PPP", "I I", "III", 'P', IRON.plate(), 'I', IRON.ingot() }); addRecipeAuto(new ItemStack(ModBlocks.crate_iron, 1), new Object[] { "PPP", "I I", "III", 'P', IRON.plate(), 'I', IRON.ingot() });
addRecipeAuto(new ItemStack(ModBlocks.crate_steel, 1), new Object[] { "PPP", "I I", "III", 'P', STEEL.plate(), 'I', STEEL.ingot() }); addRecipeAuto(new ItemStack(ModBlocks.crate_steel, 1), new Object[] { "PPP", "I I", "III", 'P', STEEL.plate(), 'I', STEEL.ingot() });

View File

@ -1405,6 +1405,22 @@ public class MainRegistry {
ignoreMappings.add("hbm:item.test_leggings"); ignoreMappings.add("hbm:item.test_leggings");
ignoreMappings.add("hbm:item.test_boots"); ignoreMappings.add("hbm:item.test_boots");
ignoreMappings.add("hbm:item.cape_test"); ignoreMappings.add("hbm:item.cape_test");
ignoreMappings.add("hbm:item.spill1");
ignoreMappings.add("hbm:item.spill2");
ignoreMappings.add("hbm:item.spill3");
ignoreMappings.add("hbm:item.spill4");
ignoreMappings.add("hbm:item.spill5");
ignoreMappings.add("hbm:item.spill6");
ignoreMappings.add("hbm:item.spill7");
ignoreMappings.add("hbm:item.spill8");
ignoreMappings.add("hbm:item.gas1");
ignoreMappings.add("hbm:item.gas2");
ignoreMappings.add("hbm:item.gas3");
ignoreMappings.add("hbm:item.gas4");
ignoreMappings.add("hbm:item.gas5");
ignoreMappings.add("hbm:item.gas6");
ignoreMappings.add("hbm:item.gas7");
ignoreMappings.add("hbm:item.gas8");
/// REMAP /// /// REMAP ///
remapItems.put("hbm:item.gadget_explosive8", ModItems.early_explosive_lenses); remapItems.put("hbm:item.gadget_explosive8", ModItems.early_explosive_lenses);

View File

@ -15,8 +15,6 @@ public class PacketDispatcher {
{ {
int i = 0; int i = 0;
//Fluid packet for GUI
wrapper.registerMessage(TEFluidPacket.Handler.class, TEFluidPacket.class, i++, Side.CLIENT);
//Sound packet that keeps client and server separated //Sound packet that keeps client and server separated
wrapper.registerMessage(LoopedSoundPacket.Handler.class, LoopedSoundPacket.class, i++, Side.CLIENT); wrapper.registerMessage(LoopedSoundPacket.Handler.class, LoopedSoundPacket.class, i++, Side.CLIENT);
//Signals server to consume items and create template //Signals server to consume items and create template

View File

@ -1,73 +0,0 @@
package com.hbm.packet;
import com.hbm.interfaces.IFluidContainer;
import com.hbm.inventory.fluid.FluidType;
import com.hbm.inventory.fluid.Fluids;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
import io.netty.buffer.ByteBuf;
import net.minecraft.client.Minecraft;
import net.minecraft.tileentity.TileEntity;
@Deprecated
public class TEFluidPacket implements IMessage {
int x;
int y;
int z;
int fill;
int index;
int type;
public TEFluidPacket() { }
public TEFluidPacket(int x, int y, int z, int fill, int index, FluidType type)
{
this.x = x;
this.y = y;
this.z = z;
this.fill = fill;
this.index = index;
this.type = type.getID();
}
@Override
public void fromBytes(ByteBuf buf) {
x = buf.readInt();
y = buf.readInt();
z = buf.readInt();
fill = buf.readInt();
index = buf.readInt();
type = buf.readInt();
}
@Override
public void toBytes(ByteBuf buf) {
buf.writeInt(x);
buf.writeInt(y);
buf.writeInt(z);
buf.writeInt(fill);
buf.writeInt(index);
buf.writeInt(type);
}
public static class Handler implements IMessageHandler<TEFluidPacket, IMessage> {
@Override
public IMessage onMessage(TEFluidPacket m, MessageContext ctx) {
try{
TileEntity te = Minecraft.getMinecraft().theWorld.getTileEntity(m.x, m.y, m.z);
if (te != null && te instanceof IFluidContainer) {
IFluidContainer gen = (IFluidContainer) te;
gen.setFillForSync(m.fill, m.index);
gen.setTypeForSync(Fluids.fromID(m.type), m.index);
}
} catch(Exception x) { }
return null;
}
}
}

View File

@ -1,121 +0,0 @@
package com.hbm.render.entity.effect;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
import com.hbm.entity.particle.EntityGasFX;
import com.hbm.items.ModItems;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.entity.Entity;
import net.minecraft.item.Item;
import net.minecraft.util.IIcon;
import net.minecraft.util.ResourceLocation;
public class GasRenderer extends Render {
private Item field_94151_a;
public GasRenderer(Item p_i1259_1_, int p_i1259_2_) {
this.field_94151_a = p_i1259_1_;
}
public GasRenderer(Item p_i1260_1_) {
this(p_i1260_1_, 0);
}
/**
* Actually renders the given argument. This is a synthetic bridge method,
* always casting down its argument and then handing it off to a worker
* function which does the actual work. In all probabilty, the class Render
* is generic (Render<T extends Entity) and this method has signature public
* void func_76986_a(T entity, double d, double d1, double d2, float f,
* float f1). But JAD is pre 1.5 so doesn't do that.
*/
@Override
public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_,
float p_76986_9_) {
if (p_76986_1_ instanceof EntityGasFX) {
EntityGasFX fx = (EntityGasFX) p_76986_1_;
if (fx.particleAge <= fx.maxAge && fx.particleAge >= fx.maxAge / 8 * 7) {
field_94151_a = ModItems.gas8;
}
if (fx.particleAge < fx.maxAge / 8 * 7 && fx.particleAge >= fx.maxAge / 8 * 6) {
field_94151_a = ModItems.gas7;
}
if (fx.particleAge < fx.maxAge / 8 * 6 && fx.particleAge >= fx.maxAge / 8 * 5) {
field_94151_a = ModItems.gas6;
}
if (fx.particleAge < fx.maxAge / 8 * 5 && fx.particleAge >= fx.maxAge / 8 * 4) {
field_94151_a = ModItems.gas5;
}
if (fx.particleAge < fx.maxAge / 8 * 4 && fx.particleAge >= fx.maxAge / 8 * 3) {
field_94151_a = ModItems.gas4;
}
if (fx.particleAge < fx.maxAge / 8 * 3 && fx.particleAge >= fx.maxAge / 8 * 2) {
field_94151_a = ModItems.gas3;
}
if (fx.particleAge < fx.maxAge / 8 * 2 && fx.particleAge >= fx.maxAge / 8 * 1) {
field_94151_a = ModItems.gas2;
}
if (fx.particleAge < fx.maxAge / 8 && fx.particleAge >= 0) {
field_94151_a = ModItems.gas1;
}
IIcon iicon = field_94151_a.getIconFromDamage(0);
if (iicon != null) {
GL11.glPushMatrix();
GL11.glTranslatef((float) p_76986_2_, (float) p_76986_4_, (float) p_76986_6_);
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
GL11.glScalef(0.5F, 0.5F, 0.5F);
GL11.glScalef(7.5F, 7.5F, 7.5F);
//
GL11.glScalef(0.25F, 0.25F, 0.25F);
//
this.bindEntityTexture(p_76986_1_);
Tessellator tessellator = Tessellator.instance;
this.func_77026_a(tessellator, iicon);
GL11.glDisable(GL12.GL_RESCALE_NORMAL);
GL11.glPopMatrix();
}
}
}
/**
* Returns the location of an entity's texture. Doesn't seem to be called
* unless you call Render.bindEntityTexture.
*/
@Override
protected ResourceLocation getEntityTexture(Entity p_110775_1_) {
return TextureMap.locationItemsTexture;
}
private void func_77026_a(Tessellator p_77026_1_, IIcon p_77026_2_) {
float f = p_77026_2_.getMinU();
float f1 = p_77026_2_.getMaxU();
float f2 = p_77026_2_.getMinV();
float f3 = p_77026_2_.getMaxV();
float f4 = 1.0F;
float f5 = 0.5F;
float f6 = 0.25F;
GL11.glRotatef(180.0F - this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(-this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F);
p_77026_1_.startDrawingQuads();
p_77026_1_.setNormal(0.0F, 1.0F, 0.0F);
p_77026_1_.addVertexWithUV(0.0F - f5, 0.0F - f6, 0.0D, f, f3);
p_77026_1_.addVertexWithUV(f4 - f5, 0.0F - f6, 0.0D, f1, f3);
p_77026_1_.addVertexWithUV(f4 - f5, f4 - f6, 0.0D, f1, f2);
p_77026_1_.addVertexWithUV(0.0F - f5, f4 - f6, 0.0D, f, f2);
p_77026_1_.draw();
}
}

View File

@ -1,120 +0,0 @@
package com.hbm.render.entity.effect;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12;
import com.hbm.entity.particle.EntityOilSpillFX;
import com.hbm.items.ModItems;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.entity.Entity;
import net.minecraft.item.Item;
import net.minecraft.util.IIcon;
import net.minecraft.util.ResourceLocation;
public class SpillRenderer extends Render {
private Item field_94151_a;
public SpillRenderer(Item p_i1259_1_, int p_i1259_2_) {
this.field_94151_a = p_i1259_1_;
}
public SpillRenderer(Item p_i1260_1_) {
this(p_i1260_1_, 0);
}
/**
* Actually renders the given argument. This is a synthetic bridge method,
* always casting down its argument and then handing it off to a worker
* function which does the actual work. In all probabilty, the class Render
* is generic (Render<T extends Entity) and this method has signature public
* void func_76986_a(T entity, double d, double d1, double d2, float f,
* float f1). But JAD is pre 1.5 so doesn't do that.
*/
@Override
public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_,
float p_76986_9_) {
if (p_76986_1_ instanceof EntityOilSpillFX) {
EntityOilSpillFX fx = (EntityOilSpillFX) p_76986_1_;
if (fx.particleAge <= fx.maxAge && fx.particleAge >= fx.maxAge / 8 * 7) {
field_94151_a = ModItems.spill8;
}
if (fx.particleAge < fx.maxAge / 8 * 7 && fx.particleAge >= fx.maxAge / 8 * 6) {
field_94151_a = ModItems.spill7;
}
if (fx.particleAge < fx.maxAge / 8 * 6 && fx.particleAge >= fx.maxAge / 8 * 5) {
field_94151_a = ModItems.spill6;
}
if (fx.particleAge < fx.maxAge / 8 * 5 && fx.particleAge >= fx.maxAge / 8 * 4) {
field_94151_a = ModItems.spill5;
}
if (fx.particleAge < fx.maxAge / 8 * 4 && fx.particleAge >= fx.maxAge / 8 * 3) {
field_94151_a = ModItems.spill4;
}
if (fx.particleAge < fx.maxAge / 8 * 3 && fx.particleAge >= fx.maxAge / 8 * 2) {
field_94151_a = ModItems.spill3;
}
if (fx.particleAge < fx.maxAge / 8 * 2 && fx.particleAge >= fx.maxAge / 8 * 1) {
field_94151_a = ModItems.spill2;
}
if (fx.particleAge < fx.maxAge / 8 && fx.particleAge >= 0) {
field_94151_a = ModItems.spill1;
}
IIcon iicon = field_94151_a.getIconFromDamage(0);
if (iicon != null) {
GL11.glPushMatrix();
GL11.glTranslatef((float) p_76986_2_, (float) p_76986_4_, (float) p_76986_6_);
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
GL11.glScalef(0.5F, 0.5F, 0.5F);
GL11.glScalef(7.5F, 7.5F, 7.5F);
//
GL11.glScalef(0.25F, 0.25F, 0.25F);
//
this.bindEntityTexture(p_76986_1_);
Tessellator tessellator = Tessellator.instance;
this.func_77026_a(tessellator, iicon);
GL11.glDisable(GL12.GL_RESCALE_NORMAL);
GL11.glPopMatrix();
}
}
}
/**
* Returns the location of an entity's texture. Doesn't seem to be called
* unless you call Render.bindEntityTexture.
*/
@Override
protected ResourceLocation getEntityTexture(Entity p_110775_1_) {
return TextureMap.locationItemsTexture;
}
private void func_77026_a(Tessellator p_77026_1_, IIcon p_77026_2_) {
float f = p_77026_2_.getMinU();
float f1 = p_77026_2_.getMaxU();
float f2 = p_77026_2_.getMinV();
float f3 = p_77026_2_.getMaxV();
float f4 = 1.0F;
float f5 = 0.5F;
float f6 = 0.25F;
GL11.glRotatef(180.0F - this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(-this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F);
p_77026_1_.startDrawingQuads();
p_77026_1_.setNormal(0.0F, 1.0F, 0.0F);
p_77026_1_.addVertexWithUV(0.0F - f5, 0.0F - f6, 0.0D, f, f3);
p_77026_1_.addVertexWithUV(f4 - f5, 0.0F - f6, 0.0D, f1, f3);
p_77026_1_.addVertexWithUV(f4 - f5, f4 - f6, 0.0D, f1, f2);
p_77026_1_.addVertexWithUV(0.0F - f5, f4 - f6, 0.0D, f, f2);
p_77026_1_.draw();
}
}

View File

@ -2,12 +2,17 @@ package com.hbm.render.tileentity;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL11;
import com.hbm.blocks.BlockDummyable;
import com.hbm.blocks.ModBlocks;
import com.hbm.main.ResourceManager; import com.hbm.main.ResourceManager;
import com.hbm.render.item.ItemRenderBase;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.item.Item;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.client.IItemRenderer;
public class RenderDerrick extends TileEntitySpecialRenderer { public class RenderDerrick extends TileEntitySpecialRenderer implements IItemRendererProvider {
@Override @Override
public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) { public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) {
@ -16,7 +21,14 @@ public class RenderDerrick extends TileEntitySpecialRenderer {
GL11.glTranslated(x + 0.5D, y, z + 0.5D); GL11.glTranslated(x + 0.5D, y, z + 0.5D);
GL11.glEnable(GL11.GL_LIGHTING); GL11.glEnable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_CULL_FACE); GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glRotatef(180, 0F, 1F, 0F); GL11.glRotatef(90, 0F, 1F, 0F);
switch(tileEntity.getBlockMetadata() - BlockDummyable.offset) {
case 2: GL11.glRotatef(90, 0F, 1F, 0F); break;
case 4: GL11.glRotatef(180, 0F, 1F, 0F); break;
case 3: GL11.glRotatef(270, 0F, 1F, 0F); break;
case 5: GL11.glRotatef(0, 0F, 1F, 0F); break;
}
GL11.glShadeModel(GL11.GL_SMOOTH); GL11.glShadeModel(GL11.GL_SMOOTH);
bindTexture(ResourceManager.derrick_tex); bindTexture(ResourceManager.derrick_tex);
@ -25,4 +37,25 @@ public class RenderDerrick extends TileEntitySpecialRenderer {
GL11.glPopMatrix(); GL11.glPopMatrix();
} }
@Override
public Item getItemForRenderer() {
return Item.getItemFromBlock(ModBlocks.machine_well);
}
@Override
public IItemRenderer getRenderer() {
return new ItemRenderBase( ) {
public void renderInventory() {
GL11.glTranslated(0, -4, 0);
GL11.glScaled(3, 3, 3);
}
public void renderCommon() {
GL11.glRotatef(90, 0F, 1F, 0F);
GL11.glScaled(0.5, 0.5, 0.5);
GL11.glShadeModel(GL11.GL_SMOOTH);
bindTexture(ResourceManager.derrick_tex); ResourceManager.derrick.renderAll();
GL11.glShadeModel(GL11.GL_FLAT);
}};
}
} }

View File

@ -119,7 +119,7 @@ public class RenderFluidTank extends TileEntitySpecialRenderer implements IItemR
GL11.glShadeModel(GL11.GL_SMOOTH); GL11.glShadeModel(GL11.GL_SMOOTH);
GL11.glDisable(GL11.GL_CULL_FACE); GL11.glDisable(GL11.GL_CULL_FACE);
FluidTank tank = new FluidTank(Fluids.NONE, 0, 0); FluidTank tank = new FluidTank(Fluids.NONE, 0);
boolean exploded = false; boolean exploded = false;
if(item.hasTagCompound() && item.getTagCompound().hasKey(IPersistentNBT.NBT_PERSISTENT_KEY)) { if(item.hasTagCompound() && item.getTagCompound().hasKey(IPersistentNBT.NBT_PERSISTENT_KEY)) {
tank.readFromNBT(item.getTagCompound().getCompoundTag(IPersistentNBT.NBT_PERSISTENT_KEY), "tank"); tank.readFromNBT(item.getTagCompound().getCompoundTag(IPersistentNBT.NBT_PERSISTENT_KEY), "tank");

View File

@ -1,9 +1,19 @@
package com.hbm.tileentity; package com.hbm.tileentity;
import com.hbm.packet.BufPacket;
import com.hbm.packet.PacketDispatcher;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBuf;
import net.minecraft.tileentity.TileEntity;
public interface IBufPacketReceiver { public interface IBufPacketReceiver {
public void serialize(ByteBuf buf); public void serialize(ByteBuf buf);
public void deserialize(ByteBuf buf); public void deserialize(ByteBuf buf);
public default void sendStandard(int range) {
TileEntity te = (TileEntity) this;
PacketDispatcher.wrapper.sendToAllAround(new BufPacket(te.xCoord, te.yCoord, te.zCoord, this), new TargetPoint(te.getWorldObj().provider.dimensionId, te.xCoord, te.yCoord, te.zCoord, range));
}
} }

View File

@ -4,7 +4,6 @@ import java.util.List;
import com.hbm.entity.missile.EntityMissileCustom; import com.hbm.entity.missile.EntityMissileCustom;
import com.hbm.handler.MissileStruct; import com.hbm.handler.MissileStruct;
import com.hbm.interfaces.IFluidContainer;
import com.hbm.inventory.container.ContainerCompactLauncher; import com.hbm.inventory.container.ContainerCompactLauncher;
import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.FluidType;
import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.Fluids;
@ -17,10 +16,10 @@ import com.hbm.items.weapon.ItemCustomMissilePart.FuelType;
import com.hbm.items.weapon.ItemCustomMissilePart.PartSize; import com.hbm.items.weapon.ItemCustomMissilePart.PartSize;
import com.hbm.lib.Library; import com.hbm.lib.Library;
import com.hbm.main.MainRegistry; import com.hbm.main.MainRegistry;
import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.BufPacket;
import com.hbm.packet.AuxGaugePacket;
import com.hbm.packet.PacketDispatcher; import com.hbm.packet.PacketDispatcher;
import com.hbm.packet.TEMissileMultipartPacket; import com.hbm.packet.TEMissileMultipartPacket;
import com.hbm.tileentity.IBufPacketReceiver;
import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IGUIProvider;
import com.hbm.tileentity.IRadarCommandReceiver; import com.hbm.tileentity.IRadarCommandReceiver;
import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.tileentity.TileEntityLoadedBase;
@ -32,6 +31,7 @@ import api.hbm.item.IDesignatorItem;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import io.netty.buffer.ByteBuf;
import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.gui.GuiScreen;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -47,7 +47,7 @@ import net.minecraft.util.Vec3;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.common.util.ForgeDirection;
public class TileEntityCompactLauncher extends TileEntityLoadedBase implements ISidedInventory, IFluidContainer, IEnergyReceiverMK2, IFluidStandardReceiver, IGUIProvider, IRadarCommandReceiver { public class TileEntityCompactLauncher extends TileEntityLoadedBase implements ISidedInventory, IEnergyReceiverMK2, IFluidStandardReceiver, IGUIProvider, IBufPacketReceiver, IRadarCommandReceiver {
private ItemStack slots[]; private ItemStack slots[];
@ -66,8 +66,8 @@ public class TileEntityCompactLauncher extends TileEntityLoadedBase implements I
public TileEntityCompactLauncher() { public TileEntityCompactLauncher() {
slots = new ItemStack[8]; slots = new ItemStack[8];
tanks = new FluidTank[2]; tanks = new FluidTank[2];
tanks[0] = new FluidTank(Fluids.NONE, 25000, 0); tanks[0] = new FluidTank(Fluids.NONE, 25000);
tanks[1] = new FluidTank(Fluids.NONE, 25000, 1); tanks[1] = new FluidTank(Fluids.NONE, 25000);
} }
@Override @Override
@ -177,9 +177,6 @@ public class TileEntityCompactLauncher extends TileEntityLoadedBase implements I
tanks[0].loadTank(2, 6, slots); tanks[0].loadTank(2, 6, slots);
tanks[1].loadTank(3, 7, slots); tanks[1].loadTank(3, 7, slots);
for (int i = 0; i < 2; i++)
tanks[i].updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId);
power = Library.chargeTEFromItems(slots, 5, power, maxPower); power = Library.chargeTEFromItems(slots, 5, power, maxPower);
@ -192,8 +189,7 @@ public class TileEntityCompactLauncher extends TileEntityLoadedBase implements I
if(worldObj.getTotalWorldTime() % 20 == 0) if(worldObj.getTotalWorldTime() % 20 == 0)
this.updateConnections(); this.updateConnections();
PacketDispatcher.wrapper.sendToAllAround(new AuxElectricityPacket(xCoord, yCoord, zCoord, power), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); PacketDispatcher.wrapper.sendToAllAround(new BufPacket(xCoord, yCoord, zCoord, this), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50));
PacketDispatcher.wrapper.sendToAllAround(new AuxGaugePacket(xCoord, yCoord, zCoord, solid, 0), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50));
MissileStruct multipart = getStruct(slots[0]); MissileStruct multipart = getStruct(slots[0]);
@ -234,6 +230,20 @@ public class TileEntityCompactLauncher extends TileEntityLoadedBase implements I
} }
} }
} }
@Override public void serialize(ByteBuf buf) {
buf.writeLong(power);
buf.writeInt(solid);
tanks[0].serialize(buf);
tanks[1].serialize(buf);
}
@Override public void deserialize(ByteBuf buf) {
this.power = buf.readLong();
this.solid = buf.readInt();
tanks[0].deserialize(buf);
tanks[1].deserialize(buf);
}
private void updateConnections() { private void updateConnections() {
@ -546,18 +556,6 @@ public class TileEntityCompactLauncher extends TileEntityLoadedBase implements I
return false; return false;
} }
@Override
public void setFillForSync(int fill, int index) {
if (index < 2 && tanks[index] != null)
tanks[index].setFill(fill);
}
@Override
public void setTypeForSync(FluidType type, int index) {
if (index < 2 && tanks[index] != null)
tanks[index].setTankType(type);
}
@Override @Override
public AxisAlignedBB getRenderBoundingBox() { public AxisAlignedBB getRenderBoundingBox() {
return TileEntity.INFINITE_EXTENT_AABB; return TileEntity.INFINITE_EXTENT_AABB;

View File

@ -5,7 +5,6 @@ import java.util.List;
import com.hbm.entity.missile.EntityMissileCustom; import com.hbm.entity.missile.EntityMissileCustom;
import com.hbm.handler.CompatHandler; import com.hbm.handler.CompatHandler;
import com.hbm.handler.MissileStruct; import com.hbm.handler.MissileStruct;
import com.hbm.interfaces.IFluidContainer;
import com.hbm.inventory.container.ContainerLaunchTable; import com.hbm.inventory.container.ContainerLaunchTable;
import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.FluidType;
import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.Fluids;
@ -18,10 +17,10 @@ import com.hbm.items.weapon.ItemCustomMissilePart.FuelType;
import com.hbm.items.weapon.ItemCustomMissilePart.PartSize; import com.hbm.items.weapon.ItemCustomMissilePart.PartSize;
import com.hbm.lib.Library; import com.hbm.lib.Library;
import com.hbm.main.MainRegistry; import com.hbm.main.MainRegistry;
import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.BufPacket;
import com.hbm.packet.AuxGaugePacket;
import com.hbm.packet.PacketDispatcher; import com.hbm.packet.PacketDispatcher;
import com.hbm.packet.TEMissileMultipartPacket; import com.hbm.packet.TEMissileMultipartPacket;
import com.hbm.tileentity.IBufPacketReceiver;
import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IGUIProvider;
import com.hbm.tileentity.IRadarCommandReceiver; import com.hbm.tileentity.IRadarCommandReceiver;
import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.tileentity.TileEntityLoadedBase;
@ -33,10 +32,10 @@ import cpw.mods.fml.common.Optional;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import io.netty.buffer.ByteBuf;
import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Arguments;
import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Callback;
import li.cil.oc.api.machine.Context; import li.cil.oc.api.machine.Context;
import li.cil.oc.api.network.SimpleComponent;
import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.gui.GuiScreen;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -53,7 +52,7 @@ import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.common.util.ForgeDirection;
@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")})
public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISidedInventory, IEnergyReceiverMK2, IFluidContainer, IFluidStandardReceiver, IGUIProvider, SimpleComponent, IRadarCommandReceiver, CompatHandler.OCComponent { public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISidedInventory, IEnergyReceiverMK2, IFluidStandardReceiver, IGUIProvider, IBufPacketReceiver, IRadarCommandReceiver, CompatHandler.OCComponent {
private ItemStack slots[]; private ItemStack slots[];
@ -74,8 +73,8 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide
public TileEntityLaunchTable() { public TileEntityLaunchTable() {
slots = new ItemStack[8]; slots = new ItemStack[8];
tanks = new FluidTank[2]; tanks = new FluidTank[2];
tanks[0] = new FluidTank(Fluids.NONE, 100000, 0); tanks[0] = new FluidTank(Fluids.NONE, 100000);
tanks[1] = new FluidTank(Fluids.NONE, 100000, 1); tanks[1] = new FluidTank(Fluids.NONE, 100000);
padSize = PartSize.SIZE_10; padSize = PartSize.SIZE_10;
height = 10; height = 10;
} }
@ -190,9 +189,6 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide
tanks[0].loadTank(2, 6, slots); tanks[0].loadTank(2, 6, slots);
tanks[1].loadTank(3, 7, slots); tanks[1].loadTank(3, 7, slots);
for (int i = 0; i < 2; i++)
tanks[i].updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId);
power = Library.chargeTEFromItems(slots, 5, power, maxPower); power = Library.chargeTEFromItems(slots, 5, power, maxPower);
@ -202,9 +198,7 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide
solid += 250; solid += 250;
} }
PacketDispatcher.wrapper.sendToAllAround(new AuxElectricityPacket(xCoord, yCoord, zCoord, power), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); PacketDispatcher.wrapper.sendToAllAround(new BufPacket(xCoord, yCoord, zCoord, this), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50));
PacketDispatcher.wrapper.sendToAllAround(new AuxGaugePacket(xCoord, yCoord, zCoord, solid, 0), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50));
PacketDispatcher.wrapper.sendToAllAround(new AuxGaugePacket(xCoord, yCoord, zCoord, padSize.ordinal(), 1), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 250));
MissileStruct multipart = getStruct(slots[0]); MissileStruct multipart = getStruct(slots[0]);
@ -239,6 +233,22 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide
} }
} }
} }
@Override public void serialize(ByteBuf buf) {
buf.writeLong(power);
buf.writeInt(solid);
buf.writeByte((byte) padSize.ordinal());
tanks[0].serialize(buf);
tanks[1].serialize(buf);
}
@Override public void deserialize(ByteBuf buf) {
this.power = buf.readLong();
this.solid = buf.readInt();
this.padSize = PartSize.values()[buf.readByte()];
tanks[0].deserialize(buf);
tanks[1].deserialize(buf);
}
private void updateConnections() { private void updateConnections() {
@ -543,18 +553,6 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide
public boolean canExtractItem(int i, ItemStack itemStack, int j) { public boolean canExtractItem(int i, ItemStack itemStack, int j) {
return false; return false;
} }
@Override
public void setFillForSync(int fill, int index) {
if (index < 2 && tanks[index] != null)
tanks[index].setFill(fill);
}
@Override
public void setTypeForSync(FluidType type, int index) {
if (index < 2 && tanks[index] != null)
tanks[index].setTankType(type);
}
@Override @Override
public AxisAlignedBB getRenderBoundingBox() { public AxisAlignedBB getRenderBoundingBox() {

View File

@ -49,8 +49,8 @@ public class TileEntityCore extends TileEntityMachineBase implements IGUIProvide
public TileEntityCore() { public TileEntityCore() {
super(3); super(3);
tanks = new FluidTank[2]; tanks = new FluidTank[2];
tanks[0] = new FluidTank(Fluids.DEUTERIUM, 128000, 0); tanks[0] = new FluidTank(Fluids.DEUTERIUM, 128000);
tanks[1] = new FluidTank(Fluids.TRITIUM, 128000, 1); tanks[1] = new FluidTank(Fluids.TRITIUM, 128000);
} }
@Override @Override
@ -140,10 +140,8 @@ public class TileEntityCore extends TileEntityMachineBase implements IGUIProvide
radiation(); radiation();
NBTTagCompound data = new NBTTagCompound(); NBTTagCompound data = new NBTTagCompound();
data.setInteger("tank0", tanks[0].getTankType().ordinal()); tanks[0].writeToNBT(data, "t0");
data.setInteger("tank1", tanks[1].getTankType().ordinal()); tanks[1].writeToNBT(data, "t1");
data.setInteger("fill0", tanks[0].getFill());
data.setInteger("fill1", tanks[1].getFill());
data.setInteger("field", field); data.setInteger("field", field);
data.setInteger("heat", heat); data.setInteger("heat", heat);
data.setInteger("color", color); data.setInteger("color", color);
@ -167,10 +165,8 @@ public class TileEntityCore extends TileEntityMachineBase implements IGUIProvide
public void networkUnpack(NBTTagCompound data) { public void networkUnpack(NBTTagCompound data) {
super.networkUnpack(data); super.networkUnpack(data);
tanks[0].setTankType(Fluids.fromID(data.getInteger("tank0"))); tanks[0].readFromNBT(data, "t0");
tanks[1].setTankType(Fluids.fromID(data.getInteger("tank1"))); tanks[1].readFromNBT(data, "t1");
tanks[0].setFill(data.getInteger("fill0"));
tanks[1].setFill(data.getInteger("fill1"));
field = data.getInteger("field"); field = data.getInteger("field");
heat = data.getInteger("heat"); heat = data.getInteger("heat");
color = data.getInteger("color"); color = data.getInteger("color");

View File

@ -53,7 +53,7 @@ public class TileEntityCoreEmitter extends TileEntityMachineBase implements IEne
public TileEntityCoreEmitter() { public TileEntityCoreEmitter() {
super(0); super(0);
tank = new FluidTank(Fluids.CRYOGEL, 64000, 0); tank = new FluidTank(Fluids.CRYOGEL, 64000);
} }
@Override @Override

View File

@ -1,9 +1,7 @@
package com.hbm.tileentity.machine; package com.hbm.tileentity.machine;
import com.hbm.handler.CompatHandler; import com.hbm.handler.CompatHandler;
import com.hbm.interfaces.IFluidContainer;
import com.hbm.inventory.container.ContainerCoreInjector; import com.hbm.inventory.container.ContainerCoreInjector;
import com.hbm.inventory.fluid.FluidType;
import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.tank.FluidTank;
import com.hbm.inventory.gui.GUICoreInjector; import com.hbm.inventory.gui.GUICoreInjector;
@ -28,7 +26,7 @@ import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.common.util.ForgeDirection;
@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")})
public class TileEntityCoreInjector extends TileEntityMachineBase implements IFluidContainer, IFluidStandardReceiver, SimpleComponent, IGUIProvider, CompatHandler.OCComponent { public class TileEntityCoreInjector extends TileEntityMachineBase implements IFluidStandardReceiver, SimpleComponent, IGUIProvider, CompatHandler.OCComponent {
public FluidTank[] tanks; public FluidTank[] tanks;
public static final int range = 15; public static final int range = 15;
@ -37,8 +35,8 @@ public class TileEntityCoreInjector extends TileEntityMachineBase implements IFl
public TileEntityCoreInjector() { public TileEntityCoreInjector() {
super(4); super(4);
tanks = new FluidTank[2]; tanks = new FluidTank[2];
tanks[0] = new FluidTank(Fluids.DEUTERIUM, 128000, 0); tanks[0] = new FluidTank(Fluids.DEUTERIUM, 128000);
tanks[1] = new FluidTank(Fluids.TRITIUM, 128000, 1); tanks[1] = new FluidTank(Fluids.TRITIUM, 128000);
} }
@Override @Override
@ -103,11 +101,10 @@ public class TileEntityCoreInjector extends TileEntityMachineBase implements IFl
this.markDirty(); this.markDirty();
tanks[0].updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId);
tanks[1].updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId);
NBTTagCompound data = new NBTTagCompound(); NBTTagCompound data = new NBTTagCompound();
data.setInteger("beam", beam); data.setInteger("beam", beam);
tanks[0].writeToNBT(data, "t0");
tanks[1].writeToNBT(data, "t1");
this.networkPack(data, 250); this.networkPack(data, 250);
} }
} }
@ -115,29 +112,18 @@ public class TileEntityCoreInjector extends TileEntityMachineBase implements IFl
public void networkUnpack(NBTTagCompound data) { public void networkUnpack(NBTTagCompound data) {
super.networkUnpack(data); super.networkUnpack(data);
beam = data.getInteger("beam"); beam = data.getInteger("beam");
} tanks[0].readFromNBT(data, "t0");
tanks[1].readFromNBT(data, "t1");
@Override
public void setFillForSync(int fill, int index) {
if (index < 2 && tanks[index] != null)
tanks[index].setFill(fill);
}
@Override
public void setTypeForSync(FluidType type, int index) {
if (index < 2 && tanks[index] != null)
tanks[index].setTankType(type);
} }
@Override @Override
public AxisAlignedBB getRenderBoundingBox() { public AxisAlignedBB getRenderBoundingBox() {
return TileEntity.INFINITE_EXTENT_AABB; return TileEntity.INFINITE_EXTENT_AABB;
} }
@Override @Override
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public double getMaxRenderDistanceSquared() public double getMaxRenderDistanceSquared() {
{
return 65536.0D; return 65536.0D;
} }

View File

@ -1,9 +1,7 @@
package com.hbm.tileentity.machine; package com.hbm.tileentity.machine;
import com.hbm.handler.CompatHandler; import com.hbm.handler.CompatHandler;
import com.hbm.interfaces.IFluidContainer;
import com.hbm.inventory.container.ContainerCoreReceiver; import com.hbm.inventory.container.ContainerCoreReceiver;
import com.hbm.inventory.fluid.FluidType;
import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.tank.FluidTank;
import com.hbm.inventory.gui.GUICoreReceiver; import com.hbm.inventory.gui.GUICoreReceiver;
@ -33,7 +31,7 @@ import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.common.util.ForgeDirection;
@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")})
public class TileEntityCoreReceiver extends TileEntityMachineBase implements IEnergyProviderMK2, IFluidContainer, ILaserable, IFluidStandardReceiver, SimpleComponent, IGUIProvider, IInfoProviderEC, CompatHandler.OCComponent { public class TileEntityCoreReceiver extends TileEntityMachineBase implements IEnergyProviderMK2, ILaserable, IFluidStandardReceiver, SimpleComponent, IGUIProvider, IInfoProviderEC, CompatHandler.OCComponent {
public long power; public long power;
public long joules; public long joules;
@ -41,7 +39,7 @@ public class TileEntityCoreReceiver extends TileEntityMachineBase implements IEn
public TileEntityCoreReceiver() { public TileEntityCoreReceiver() {
super(0); super(0);
tank = new FluidTank(Fluids.CRYOGEL, 64000, 0); tank = new FluidTank(Fluids.CRYOGEL, 64000);
} }
@Override @Override
@ -54,7 +52,6 @@ public class TileEntityCoreReceiver extends TileEntityMachineBase implements IEn
if (!worldObj.isRemote) { if (!worldObj.isRemote) {
tank.updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId);
this.subscribeToAllAround(tank.getTankType(), this); this.subscribeToAllAround(tank.getTankType(), this);
power = joules * 5000; power = joules * 5000;
@ -74,6 +71,7 @@ public class TileEntityCoreReceiver extends TileEntityMachineBase implements IEn
NBTTagCompound data = new NBTTagCompound(); NBTTagCompound data = new NBTTagCompound();
data.setLong("joules", joules); data.setLong("joules", joules);
tank.writeToNBT(data, "t");
this.networkPack(data, 50); this.networkPack(data, 50);
joules = 0; joules = 0;
@ -83,6 +81,7 @@ public class TileEntityCoreReceiver extends TileEntityMachineBase implements IEn
public void networkUnpack(NBTTagCompound data) { public void networkUnpack(NBTTagCompound data) {
super.networkUnpack(data); super.networkUnpack(data);
joules = data.getLong("joules"); joules = data.getLong("joules");
tank.readFromNBT(data, "t");
} }
@Override @Override
@ -105,16 +104,6 @@ public class TileEntityCoreReceiver extends TileEntityMachineBase implements IEn
return this.power; return this.power;
} }
@Override
public void setFillForSync(int fill, int index) {
tank.setFill(fill);
}
@Override
public void setTypeForSync(FluidType type, int index) {
tank.setTankType(type);
}
@Override @Override
public void addEnergy(World world, int x, int y, int z, long energy, ForgeDirection dir) { public void addEnergy(World world, int x, int y, int z, long energy, ForgeDirection dir) {

View File

@ -17,8 +17,8 @@ public class TileEntityDeuteriumTower extends TileEntityDeuteriumExtractor {
public TileEntityDeuteriumTower() { public TileEntityDeuteriumTower() {
super(); super();
tanks[0] = new FluidTank(Fluids.WATER, 50000, 0); tanks[0] = new FluidTank(Fluids.WATER, 50000);
tanks[1] = new FluidTank(Fluids.HEAVYWATER, 5000, 1); tanks[1] = new FluidTank(Fluids.HEAVYWATER, 5000);
} }
@Override @Override

View File

@ -43,8 +43,8 @@ public class TileEntityHeatBoilerIndustrial extends TileEntityLoadedBase impleme
public TileEntityHeatBoilerIndustrial() { public TileEntityHeatBoilerIndustrial() {
this.tanks = new FluidTank[2]; this.tanks = new FluidTank[2];
this.tanks[0] = new FluidTank(Fluids.WATER, 64_000, 0); this.tanks[0] = new FluidTank(Fluids.WATER, 64_000);
this.tanks[1] = new FluidTank(Fluids.STEAM, 64_000 * 100, 1); this.tanks[1] = new FluidTank(Fluids.STEAM, 64_000 * 100);
} }
@Override @Override

View File

@ -37,8 +37,8 @@ public class TileEntityHeaterHeatex extends TileEntityMachineBase implements IHe
public TileEntityHeaterHeatex() { public TileEntityHeaterHeatex() {
super(1); super(1);
this.tanks = new FluidTank[2]; this.tanks = new FluidTank[2];
this.tanks[0] = new FluidTank(Fluids.COOLANT_HOT, 24_000, 0); this.tanks[0] = new FluidTank(Fluids.COOLANT_HOT, 24_000);
this.tanks[1] = new FluidTank(Fluids.COOLANT, 24_000, 1); this.tanks[1] = new FluidTank(Fluids.COOLANT, 24_000);
} }
@Override @Override

View File

@ -9,7 +9,6 @@ import com.hbm.explosion.ExplosionLarge;
import com.hbm.explosion.ExplosionNT; import com.hbm.explosion.ExplosionNT;
import com.hbm.explosion.ExplosionNT.ExAttrib; import com.hbm.explosion.ExplosionNT.ExAttrib;
import com.hbm.handler.CompatHandler; import com.hbm.handler.CompatHandler;
import com.hbm.interfaces.IFluidContainer;
import com.hbm.inventory.container.ContainerITER; import com.hbm.inventory.container.ContainerITER;
import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.FluidType;
import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.Fluids;
@ -52,7 +51,7 @@ import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.common.util.ForgeDirection;
@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")})
public class TileEntityITER extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidContainer, IFluidStandardTransceiver, IGUIProvider, IInfoProviderEC, SimpleComponent, CompatHandler.OCComponent { public class TileEntityITER extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardTransceiver, IGUIProvider, IInfoProviderEC, SimpleComponent, CompatHandler.OCComponent {
public long power; public long power;
public static final long maxPower = 10000000; public static final long maxPower = 10000000;
@ -78,9 +77,9 @@ public class TileEntityITER extends TileEntityMachineBase implements IEnergyRece
public TileEntityITER() { public TileEntityITER() {
super(5); super(5);
tanks = new FluidTank[2]; tanks = new FluidTank[2];
tanks[0] = new FluidTank(Fluids.WATER, 1280000, 0); tanks[0] = new FluidTank(Fluids.WATER, 1280000);
tanks[1] = new FluidTank(Fluids.ULTRAHOTSTEAM, 128000, 1); tanks[1] = new FluidTank(Fluids.ULTRAHOTSTEAM, 128000);
plasma = new FluidTank(Fluids.PLASMA_DT, 16000, 2); plasma = new FluidTank(Fluids.PLASMA_DT, 16000);
} }
@Override @Override
@ -152,9 +151,6 @@ public class TileEntityITER extends TileEntityMachineBase implements IEnergyRece
/// END Processing part /// /// END Processing part ///
/// START Notif packets /// /// START Notif packets ///
for(int i = 0; i < tanks.length; i++)
tanks[i].updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId);
plasma.updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId);
for(DirPos pos : getConPos()) { for(DirPos pos : getConPos()) {
if(tanks[1].getFill() > 0) { if(tanks[1].getFill() > 0) {
@ -166,6 +162,9 @@ public class TileEntityITER extends TileEntityMachineBase implements IEnergyRece
data.setBoolean("isOn", isOn); data.setBoolean("isOn", isOn);
data.setLong("power", power); data.setLong("power", power);
data.setInteger("progress", progress); data.setInteger("progress", progress);
tanks[0].writeToNBT(data, "t0");
tanks[1].writeToNBT(data, "t1");
plasma.writeToNBT(data, "t2");
if(slots[3] == null) { if(slots[3] == null) {
data.setInteger("blanket", 0); data.setInteger("blanket", 0);
@ -386,6 +385,9 @@ public class TileEntityITER extends TileEntityMachineBase implements IEnergyRece
this.power = data.getLong("power"); this.power = data.getLong("power");
this.blanket = data.getInteger("blanket"); this.blanket = data.getInteger("blanket");
this.progress = data.getInteger("progress"); // this.progress = data.getInteger("progress"); //
tanks[0].readFromNBT(data, "t0");
tanks[1].readFromNBT(data, "t1");
plasma.readFromNBT(data, "t2");
} }
@Override @Override
@ -399,24 +401,6 @@ public class TileEntityITER extends TileEntityMachineBase implements IEnergyRece
@Override public long getPower() { return power; } @Override public long getPower() { return power; }
@Override public long getMaxPower() { return maxPower; } @Override public long getMaxPower() { return maxPower; }
@Override
public void setFillForSync(int fill, int index) {
if (index < 2 && tanks[index] != null)
tanks[index].setFill(fill);
if(index == 2)
plasma.setFill(fill);
}
@Override
public void setTypeForSync(FluidType type, int index) {
if (index < 2 && tanks[index] != null)
tanks[index].setTankType(type);
if(index == 2)
plasma.setTankType(type);
}
@Override @Override
public void onChunkUnload() { public void onChunkUnload() {
super.onChunkUnload(); super.onChunkUnload();

View File

@ -44,8 +44,8 @@ public class TileEntityMachineChemfac extends TileEntityMachineChemplantBase imp
public TileEntityMachineChemfac() { public TileEntityMachineChemfac() {
super(77); super(77);
water = new FluidTank(Fluids.WATER, 64_000, tanks.length); water = new FluidTank(Fluids.WATER, 64_000);
steam = new FluidTank(Fluids.SPENTSTEAM, 64_000, tanks.length + 1); steam = new FluidTank(Fluids.SPENTSTEAM, 64_000);
} }
@Override @Override

View File

@ -54,7 +54,7 @@ public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBa
tanks = new FluidTank[4 * count]; tanks = new FluidTank[4 * count];
for(int i = 0; i < 4 * count; i++) { for(int i = 0; i < 4 * count; i++) {
tanks[i] = new FluidTank(Fluids.NONE, getTankCapacity(), i); tanks[i] = new FluidTank(Fluids.NONE, getTankCapacity());
} }
} }
@ -372,7 +372,7 @@ public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBa
for(int i = 0; i < tanks.length; i++) { for(int i = 0; i < tanks.length; i++) {
FluidTank tank = tanks[i]; FluidTank tank = tanks[i];
if(tank.index % 4 < 2) { if(i % 4 < 2) {
inTanks.add(tank); inTanks.add(tank);
} }
} }
@ -493,7 +493,7 @@ public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBa
for(int i = 0; i < tanks.length; i++) { for(int i = 0; i < tanks.length; i++) {
FluidTank tank = tanks[i]; FluidTank tank = tanks[i];
if(tank.index % 4 > 1) { if(i % 4 > 1) {
outTanks.add(tank); outTanks.add(tank);
} }
} }

View File

@ -6,7 +6,6 @@ import java.util.HashMap;
import com.google.gson.JsonArray; import com.google.gson.JsonArray;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import com.google.gson.stream.JsonWriter; import com.google.gson.stream.JsonWriter;
import com.hbm.interfaces.IFluidContainer;
import com.hbm.inventory.FluidContainerRegistry; import com.hbm.inventory.FluidContainerRegistry;
import com.hbm.inventory.container.ContainerMachineDiesel; import com.hbm.inventory.container.ContainerMachineDiesel;
import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.FluidType;
@ -37,7 +36,7 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.common.util.ForgeDirection;
public class TileEntityMachineDiesel extends TileEntityMachinePolluting implements IEnergyProviderMK2, IFluidContainer, IFluidStandardTransceiver, IConfigurableMachine, IGUIProvider, IInfoProviderEC { public class TileEntityMachineDiesel extends TileEntityMachinePolluting implements IEnergyProviderMK2, IFluidStandardTransceiver, IConfigurableMachine, IGUIProvider, IInfoProviderEC {
public long power; public long power;
public int soundCycle = 0; public int soundCycle = 0;
@ -61,7 +60,7 @@ public class TileEntityMachineDiesel extends TileEntityMachinePolluting implemen
public TileEntityMachineDiesel() { public TileEntityMachineDiesel() {
super(5, 100); super(5, 100);
tank = new FluidTank(Fluids.DIESEL, 4_000, 0); tank = new FluidTank(Fluids.DIESEL, 4_000);
} }
@Override @Override
@ -138,7 +137,6 @@ public class TileEntityMachineDiesel extends TileEntityMachinePolluting implemen
FluidType last = tank.getTankType(); FluidType last = tank.getTankType();
if(tank.setType(3, 4, slots)) this.unsubscribeToAllAround(last, this); if(tank.setType(3, 4, slots)) this.unsubscribeToAllAround(last, this);
tank.loadTank(0, 1, slots); tank.loadTank(0, 1, slots);
tank.updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId);
this.subscribeToAllAround(tank.getTankType(), this); this.subscribeToAllAround(tank.getTankType(), this);
@ -156,6 +154,7 @@ public class TileEntityMachineDiesel extends TileEntityMachinePolluting implemen
NBTTagCompound data = new NBTTagCompound(); NBTTagCompound data = new NBTTagCompound();
data.setInteger("power", (int) power); data.setInteger("power", (int) power);
data.setInteger("powerCap", (int) powerCap); data.setInteger("powerCap", (int) powerCap);
tank.writeToNBT(data, "t");
this.networkPack(data, 50); this.networkPack(data, 50);
} }
} }
@ -165,6 +164,7 @@ public class TileEntityMachineDiesel extends TileEntityMachinePolluting implemen
power = data.getInteger("power"); power = data.getInteger("power");
powerCap = data.getInteger("powerCap"); powerCap = data.getInteger("powerCap");
tank.readFromNBT(data, "t");
} }
public boolean hasAcceptableFuel() { public boolean hasAcceptableFuel() {
@ -237,16 +237,6 @@ public class TileEntityMachineDiesel extends TileEntityMachinePolluting implemen
return this.maxPower; return this.maxPower;
} }
@Override
public void setFillForSync(int fill, int index) {
tank.setFill(fill);
}
@Override
public void setTypeForSync(FluidType type, int index) {
tank.setTankType(type);
}
@Override @Override
public FluidTank[] getReceivingTanks() { public FluidTank[] getReceivingTanks() {
return new FluidTank[] {tank}; return new FluidTank[] {tank};

View File

@ -62,9 +62,9 @@ public class TileEntityMachineIGenerator extends TileEntityMachineBase implement
public TileEntityMachineIGenerator() { public TileEntityMachineIGenerator() {
super(21); super(21);
tanks = new FluidTank[3]; tanks = new FluidTank[3];
tanks[0] = new FluidTank(Fluids.WATER, waterCap, 0); tanks[0] = new FluidTank(Fluids.WATER, waterCap);
tanks[1] = new FluidTank(Fluids.HEATINGOIL, oilCap, 1); tanks[1] = new FluidTank(Fluids.HEATINGOIL, oilCap);
tanks[2] = new FluidTank(Fluids.LUBRICANT, lubeCap, 2); tanks[2] = new FluidTank(Fluids.LUBRICANT, lubeCap);
} }
@Override @Override

View File

@ -4,7 +4,6 @@ import java.util.Random;
import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.BlockDummyable;
import com.hbm.handler.CompatHandler; import com.hbm.handler.CompatHandler;
import com.hbm.interfaces.IFluidContainer;
import com.hbm.inventory.container.ContainerMachineLargeTurbine; import com.hbm.inventory.container.ContainerMachineLargeTurbine;
import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.FluidType;
import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.Fluids;
@ -40,7 +39,7 @@ import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.common.util.ForgeDirection;
@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")})
public class TileEntityMachineLargeTurbine extends TileEntityMachineBase implements IFluidContainer, IEnergyProviderMK2, IFluidStandardTransceiver, IGUIProvider, SimpleComponent, IInfoProviderEC, CompatHandler.OCComponent { public class TileEntityMachineLargeTurbine extends TileEntityMachineBase implements IEnergyProviderMK2, IFluidStandardTransceiver, IGUIProvider, SimpleComponent, IInfoProviderEC, CompatHandler.OCComponent {
public long power; public long power;
public static final long maxPower = 100000000; public static final long maxPower = 100000000;
@ -59,8 +58,8 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme
super(7); super(7);
tanks = new FluidTank[2]; tanks = new FluidTank[2];
tanks[0] = new FluidTank(Fluids.STEAM, 512000, 0); tanks[0] = new FluidTank(Fluids.STEAM, 512000);
tanks[1] = new FluidTank(Fluids.SPENTSTEAM, 10240000, 1); tanks[1] = new FluidTank(Fluids.SPENTSTEAM, 10240000);
Random rand = new Random(); Random rand = new Random();
audioDesync = rand.nextFloat() * 0.05F; audioDesync = rand.nextFloat() * 0.05F;
@ -115,12 +114,11 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme
tanks[1].unloadTank(5, 6, slots); tanks[1].unloadTank(5, 6, slots);
for(int i = 0; i < 2; i++)
tanks[i].updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId);
NBTTagCompound data = new NBTTagCompound(); NBTTagCompound data = new NBTTagCompound();
data.setLong("power", power); data.setLong("power", power);
data.setBoolean("operational", operational); data.setBoolean("operational", operational);
tanks[0].writeToNBT(data, "t0");
tanks[1].writeToNBT(data, "t1");
this.networkPack(data, 50); this.networkPack(data, 50);
} else { } else {
this.lastRotor = this.rotor; this.lastRotor = this.rotor;
@ -175,6 +173,8 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme
this.power = data.getLong("power"); this.power = data.getLong("power");
this.shouldTurn = data.getBoolean("operational"); this.shouldTurn = data.getBoolean("operational");
tanks[0].readFromNBT(data, "t0");
tanks[1].readFromNBT(data, "t1");
} }
public long getPowerScaled(int i) { public long getPowerScaled(int i) {
@ -197,18 +197,6 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme
nbt.setLong("power", power); nbt.setLong("power", power);
} }
@Override
public void setFillForSync(int fill, int index) {
if(index < 2 && tanks[index] != null)
tanks[index].setFill(fill);
}
@Override
public void setTypeForSync(FluidType type, int index) {
if(index < 2 && tanks[index] != null)
tanks[index].setTankType(type);
}
@Override @Override
public long getPower() { public long getPower() {
return power; return power;

View File

@ -5,10 +5,8 @@ import java.util.Set;
import com.google.common.collect.Sets; import com.google.common.collect.Sets;
import com.hbm.blocks.ModBlocks; import com.hbm.blocks.ModBlocks;
import com.hbm.interfaces.IFluidContainer;
import com.hbm.inventory.UpgradeManager; import com.hbm.inventory.UpgradeManager;
import com.hbm.inventory.container.ContainerMiningLaser; import com.hbm.inventory.container.ContainerMiningLaser;
import com.hbm.inventory.fluid.FluidType;
import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.tank.FluidTank;
import com.hbm.inventory.gui.GUIMiningLaser; import com.hbm.inventory.gui.GUIMiningLaser;
@ -52,7 +50,7 @@ import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.common.util.ForgeDirection;
public class TileEntityMachineMiningLaser extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidContainer, IMiningDrill, IFluidStandardSender, IGUIProvider, IUpgradeInfoProvider { public class TileEntityMachineMiningLaser extends TileEntityMachineBase implements IEnergyReceiverMK2, IMiningDrill, IFluidStandardSender, IGUIProvider, IUpgradeInfoProvider {
public long power; public long power;
public int age = 0; public int age = 0;
@ -77,7 +75,7 @@ public class TileEntityMachineMiningLaser extends TileEntityMachineBase implemen
//slots 1 - 8: upgrades //slots 1 - 8: upgrades
//slots 9 - 29: output //slots 9 - 29: output
super(30); super(30);
tank = new FluidTank(Fluids.OIL, 64000, 0); tank = new FluidTank(Fluids.OIL, 64_000);
} }
@Override @Override
@ -98,7 +96,6 @@ public class TileEntityMachineMiningLaser extends TileEntityMachineBase implemen
this.sendFluid(tank, worldObj, xCoord, yCoord - 2, zCoord, Library.NEG_Z); this.sendFluid(tank, worldObj, xCoord, yCoord - 2, zCoord, Library.NEG_Z);
power = Library.chargeTEFromItems(slots, 0, power, maxPower); power = Library.chargeTEFromItems(slots, 0, power, maxPower);
tank.updateTank(xCoord, yCoord, zCoord, this.worldObj.provider.dimensionId);
//reset progress if the position changes //reset progress if the position changes
if(lastTargetX != targetX || if(lastTargetX != targetX ||
@ -181,6 +178,7 @@ public class TileEntityMachineMiningLaser extends TileEntityMachineBase implemen
data.setBoolean("beam", beam); data.setBoolean("beam", beam);
data.setBoolean("isOn", isOn); data.setBoolean("isOn", isOn);
data.setDouble("progress", clientBreakProgress); data.setDouble("progress", clientBreakProgress);
tank.writeToNBT(data, "t");
this.networkPack(data, 250); this.networkPack(data, 250);
} }
@ -203,18 +201,15 @@ public class TileEntityMachineMiningLaser extends TileEntityMachineBase implemen
this.beam = data.getBoolean("beam"); this.beam = data.getBoolean("beam");
this.isOn = data.getBoolean("isOn"); this.isOn = data.getBoolean("isOn");
this.breakProgress = data.getDouble("progress"); this.breakProgress = data.getDouble("progress");
tank.readFromNBT(data, "t");
} }
private void buildDam() { private void buildDam() {
if(worldObj.getBlock(targetX + 1, targetY, targetZ).getMaterial().isLiquid()) if(worldObj.getBlock(targetX + 1, targetY, targetZ).getMaterial().isLiquid()) worldObj.setBlock(targetX + 1, targetY, targetZ, ModBlocks.barricade);
worldObj.setBlock(targetX + 1, targetY, targetZ, ModBlocks.barricade); if(worldObj.getBlock(targetX - 1, targetY, targetZ).getMaterial().isLiquid()) worldObj.setBlock(targetX - 1, targetY, targetZ, ModBlocks.barricade);
if(worldObj.getBlock(targetX - 1, targetY, targetZ).getMaterial().isLiquid()) if(worldObj.getBlock(targetX, targetY, targetZ + 1).getMaterial().isLiquid()) worldObj.setBlock(targetX, targetY, targetZ + 1, ModBlocks.barricade);
worldObj.setBlock(targetX - 1, targetY, targetZ, ModBlocks.barricade); if(worldObj.getBlock(targetX, targetY, targetZ - 1).getMaterial().isLiquid()) worldObj.setBlock(targetX, targetY, targetZ - 1, ModBlocks.barricade);
if(worldObj.getBlock(targetX, targetY, targetZ + 1).getMaterial().isLiquid())
worldObj.setBlock(targetX, targetY, targetZ + 1, ModBlocks.barricade);
if(worldObj.getBlock(targetX, targetY, targetZ - 1).getMaterial().isLiquid())
worldObj.setBlock(targetX, targetY, targetZ - 1, ModBlocks.barricade);
} }
private void tryFillContainer(int x, int y, int z) { private void tryFillContainer(int x, int y, int z) {
@ -606,16 +601,6 @@ public class TileEntityMachineMiningLaser extends TileEntityMachineBase implemen
return maxPower; return maxPower;
} }
@Override
public void setFillForSync(int fill, int index) {
tank.setFill(fill);
}
@Override
public void setTypeForSync(FluidType type, int index) {
tank.setTankType(type);
}
@Override @Override
public void readFromNBT(NBTTagCompound nbt) { public void readFromNBT(NBTTagCompound nbt) {
super.readFromNBT(nbt); super.readFromNBT(nbt);

View File

@ -6,7 +6,6 @@ import java.util.List;
import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.BlockDummyable;
import com.hbm.blocks.ModBlocks; import com.hbm.blocks.ModBlocks;
import com.hbm.blocks.machine.MachineITER; import com.hbm.blocks.machine.MachineITER;
import com.hbm.interfaces.IFluidContainer;
import com.hbm.inventory.container.ContainerPlasmaHeater; import com.hbm.inventory.container.ContainerPlasmaHeater;
import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.FluidType;
import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.Fluids;
@ -29,7 +28,7 @@ import net.minecraft.util.AxisAlignedBB;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.common.util.ForgeDirection;
public class TileEntityMachinePlasmaHeater extends TileEntityMachineBase implements IFluidContainer, IEnergyReceiverMK2, IFluidStandardReceiver, IGUIProvider { public class TileEntityMachinePlasmaHeater extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardReceiver, IGUIProvider {
public long power; public long power;
public static final long maxPower = 100000000; public static final long maxPower = 100000000;
@ -40,9 +39,9 @@ public class TileEntityMachinePlasmaHeater extends TileEntityMachineBase impleme
public TileEntityMachinePlasmaHeater() { public TileEntityMachinePlasmaHeater() {
super(5); super(5);
tanks = new FluidTank[2]; tanks = new FluidTank[2];
tanks[0] = new FluidTank(Fluids.DEUTERIUM, 16000, 0); tanks[0] = new FluidTank(Fluids.DEUTERIUM, 16_000);
tanks[1] = new FluidTank(Fluids.TRITIUM, 16000, 1); tanks[1] = new FluidTank(Fluids.TRITIUM, 16_000);
plasma = new FluidTank(Fluids.PLASMA_DT, 64000, 2); plasma = new FluidTank(Fluids.PLASMA_DT, 64_000);
} }
@Override @Override
@ -123,12 +122,12 @@ public class TileEntityMachinePlasmaHeater extends TileEntityMachineBase impleme
/// END Loading plasma into the ITER /// /// END Loading plasma into the ITER ///
/// START Notif packets /// /// START Notif packets ///
for(int i = 0; i < tanks.length; i++)
tanks[i].updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId);
plasma.updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId);
NBTTagCompound data = new NBTTagCompound(); NBTTagCompound data = new NBTTagCompound();
data.setLong("power", power); data.setLong("power", power);
tanks[0].writeToNBT(data, "t0");
tanks[1].writeToNBT(data, "t1");
plasma.writeToNBT(data, "t2");
this.networkPack(data, 50); this.networkPack(data, 50);
/// END Notif packets /// /// END Notif packets ///
} }
@ -154,6 +153,9 @@ public class TileEntityMachinePlasmaHeater extends TileEntityMachineBase impleme
super.networkUnpack(nbt); super.networkUnpack(nbt);
this.power = nbt.getLong("power"); this.power = nbt.getLong("power");
tanks[0].readFromNBT(nbt, "t0");
tanks[1].readFromNBT(nbt, "t1");
plasma.readFromNBT(nbt, "t2");
} }
private void updateType() { private void updateType() {
@ -212,24 +214,6 @@ public class TileEntityMachinePlasmaHeater extends TileEntityMachineBase impleme
plasma.writeToNBT(nbt, "plasma"); plasma.writeToNBT(nbt, "plasma");
} }
@Override
public void setFillForSync(int fill, int index) {
if (index < 2 && tanks[index] != null)
tanks[index].setFill(fill);
if(index == 2)
plasma.setFill(fill);
}
@Override
public void setTypeForSync(FluidType type, int index) {
if (index < 2 && tanks[index] != null)
tanks[index].setTankType(type);
if(index == 2)
plasma.setTankType(type);
}
@Override @Override
public void setPower(long i) { public void setPower(long i) {
this.power = i; this.power = i;

View File

@ -1,6 +1,5 @@
package com.hbm.tileentity.machine; package com.hbm.tileentity.machine;
import com.hbm.interfaces.IFluidContainer;
import com.hbm.inventory.FluidStack; import com.hbm.inventory.FluidStack;
import com.hbm.inventory.container.ContainerRadiolysis; import com.hbm.inventory.container.ContainerRadiolysis;
import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.FluidType;
@ -34,7 +33,7 @@ import net.minecraft.util.AxisAlignedBB;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.common.util.ForgeDirection;
public class TileEntityMachineRadiolysis extends TileEntityMachineBase implements IEnergyProviderMK2, IFluidContainer, IFluidStandardTransceiver, IGUIProvider, IInfoProviderEC { public class TileEntityMachineRadiolysis extends TileEntityMachineBase implements IEnergyProviderMK2, IFluidStandardTransceiver, IGUIProvider, IInfoProviderEC {
public long power; public long power;
public static final int maxPower = 1000000; public static final int maxPower = 1000000;
@ -48,9 +47,9 @@ public class TileEntityMachineRadiolysis extends TileEntityMachineBase implement
public TileEntityMachineRadiolysis() { public TileEntityMachineRadiolysis() {
super(15); //10 rtg slots, 2 fluid ID slots (io), 2 irradiation slots (io), battery slot super(15); //10 rtg slots, 2 fluid ID slots (io), 2 irradiation slots (io), battery slot
tanks = new FluidTank[3]; tanks = new FluidTank[3];
tanks[0] = new FluidTank(Fluids.NONE, 2000, 0); tanks[0] = new FluidTank(Fluids.NONE, 2_000);
tanks[1] = new FluidTank(Fluids.NONE, 2000, 1); tanks[1] = new FluidTank(Fluids.NONE, 2_000);
tanks[2] = new FluidTank(Fluids.NONE, 2000, 2); tanks[2] = new FluidTank(Fluids.NONE, 2_000);
} }
@Override @Override
@ -104,6 +103,9 @@ public class TileEntityMachineRadiolysis extends TileEntityMachineBase implement
this.power = data.getLong("power"); this.power = data.getLong("power");
this.heat = data.getInteger("heat"); this.heat = data.getInteger("heat");
tanks[0].readFromNBT(data, "t0");
tanks[1].readFromNBT(data, "t1");
tanks[2].readFromNBT(data, "t2");
} }
@Override @Override
@ -141,10 +143,10 @@ public class TileEntityMachineRadiolysis extends TileEntityMachineBase implement
NBTTagCompound data = new NBTTagCompound(); NBTTagCompound data = new NBTTagCompound();
data.setLong("power", power); data.setLong("power", power);
data.setInteger("heat", heat); data.setInteger("heat", heat);
tanks[0].writeToNBT(data, "t0");
tanks[1].writeToNBT(data, "t1");
tanks[2].writeToNBT(data, "t2");
this.networkPack(data, 50); this.networkPack(data, 50);
for(byte i = 0; i < 3; i++)
tanks[i].updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId);
} }
} }
@ -249,18 +251,6 @@ public class TileEntityMachineRadiolysis extends TileEntityMachineBase implement
return maxPower; return maxPower;
} }
/* Fluid Methods */
@Override
public void setFillForSync(int fill, int index) {
if(index < 3 && tanks[index] != null)
tanks[index].setFill(fill);
}
@Override
public void setTypeForSync(FluidType type, int index) {
this.tanks[index].setTankType(type);
}
@Override @Override
public FluidTank[] getAllTanks() { public FluidTank[] getAllTanks() {
return tanks; return tanks;

View File

@ -158,6 +158,8 @@ public class TileEntityMachineSolderingStation extends TileEntityMachineBase imp
if(this.tank.getFill() < recipe.fluid.fill) return false; if(this.tank.getFill() < recipe.fluid.fill) return false;
} }
if(recipe.fluid == null && this.tank.getFill() > 0) return false;
if(slots[6] != null) { if(slots[6] != null) {
if(slots[6].getItem() != recipe.output.getItem()) return false; if(slots[6].getItem() != recipe.output.getItem()) return false;
if(slots[6].getItemDamage() != recipe.output.getItemDamage()) return false; if(slots[6].getItemDamage() != recipe.output.getItemDamage()) return false;

View File

@ -1,7 +1,6 @@
package com.hbm.tileentity.machine; package com.hbm.tileentity.machine;
import com.hbm.handler.CompatHandler; import com.hbm.handler.CompatHandler;
import com.hbm.interfaces.IFluidContainer;
import com.hbm.inventory.container.ContainerMachineTurbine; import com.hbm.inventory.container.ContainerMachineTurbine;
import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.FluidType;
import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.Fluids;
@ -10,8 +9,7 @@ import com.hbm.inventory.fluid.trait.FT_Coolable;
import com.hbm.inventory.fluid.trait.FT_Coolable.CoolingType; import com.hbm.inventory.fluid.trait.FT_Coolable.CoolingType;
import com.hbm.inventory.gui.GUIMachineTurbine; import com.hbm.inventory.gui.GUIMachineTurbine;
import com.hbm.lib.Library; import com.hbm.lib.Library;
import com.hbm.packet.AuxElectricityPacket; import com.hbm.tileentity.IBufPacketReceiver;
import com.hbm.packet.PacketDispatcher;
import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IGUIProvider;
import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.tileentity.TileEntityLoadedBase;
import com.hbm.util.CompatEnergyControl; import com.hbm.util.CompatEnergyControl;
@ -21,9 +19,9 @@ import api.hbm.energymk2.IEnergyProviderMK2;
import api.hbm.fluid.IFluidStandardTransceiver; import api.hbm.fluid.IFluidStandardTransceiver;
import api.hbm.tile.IInfoProviderEC; import api.hbm.tile.IInfoProviderEC;
import cpw.mods.fml.common.Optional; import cpw.mods.fml.common.Optional;
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import io.netty.buffer.ByteBuf;
import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Arguments;
import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Callback;
import li.cil.oc.api.machine.Context; import li.cil.oc.api.machine.Context;
@ -39,7 +37,7 @@ import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.common.util.ForgeDirection;
@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")})
public class TileEntityMachineTurbine extends TileEntityLoadedBase implements ISidedInventory, IFluidContainer, IEnergyProviderMK2, IFluidStandardTransceiver, IGUIProvider, SimpleComponent, IInfoProviderEC, CompatHandler.OCComponent { public class TileEntityMachineTurbine extends TileEntityLoadedBase implements ISidedInventory, IEnergyProviderMK2, IFluidStandardTransceiver, IBufPacketReceiver, IGUIProvider, SimpleComponent, IInfoProviderEC, CompatHandler.OCComponent {
private ItemStack slots[]; private ItemStack slots[];
@ -58,8 +56,8 @@ public class TileEntityMachineTurbine extends TileEntityLoadedBase implements IS
public TileEntityMachineTurbine() { public TileEntityMachineTurbine() {
slots = new ItemStack[7]; slots = new ItemStack[7];
tanks = new FluidTank[2]; tanks = new FluidTank[2];
tanks[0] = new FluidTank(Fluids.STEAM, 64000, 0); tanks[0] = new FluidTank(Fluids.STEAM, 64_000);
tanks[1] = new FluidTank(Fluids.SPENTSTEAM, 128000, 1); tanks[1] = new FluidTank(Fluids.SPENTSTEAM, 128_000);
} }
@Override @Override
@ -272,23 +270,20 @@ public class TileEntityMachineTurbine extends TileEntityLoadedBase implements IS
tanks[1].unloadTank(5, 6, slots); tanks[1].unloadTank(5, 6, slots);
for(int i = 0; i < 2; i++) this.sendStandard(25);
tanks[i].updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId);
PacketDispatcher.wrapper.sendToAllAround(new AuxElectricityPacket(xCoord, yCoord, zCoord, power), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50));
} }
} }
@Override @Override public void serialize(ByteBuf buf) {
public void setFillForSync(int fill, int index) { buf.writeLong(power);
if(index < 2 && tanks[index] != null) tanks[0].serialize(buf);
tanks[index].setFill(fill); tanks[1].serialize(buf);
} }
@Override @Override public void deserialize(ByteBuf buf) {
public void setTypeForSync(FluidType type, int index) { this.power = buf.readLong();
if(index < 2 && tanks[index] != null) tanks[0].deserialize(buf);
tanks[index].setTankType(type); tanks[1].deserialize(buf);
} }
@Override @Override

View File

@ -134,6 +134,9 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IC
this.heat = data.getInteger("heat"); this.heat = data.getInteger("heat");
this.pressure = data.getInteger("pressure"); this.pressure = data.getInteger("pressure");
this.isOn = data.getBoolean("isOn"); this.isOn = data.getBoolean("isOn");
steam.readFromNBT(data, "t0");
carbonDioxide.readFromNBT(data, "t1");
water.readFromNBT(data, "t2");
} }
public int getGaugeScaled(int i, int type) { public int getGaugeScaled(int i, int type) {
@ -229,11 +232,10 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IC
data.setInteger("heat", heat); data.setInteger("heat", heat);
data.setInteger("pressure", pressure); data.setInteger("pressure", pressure);
data.setBoolean("isOn", isOn); data.setBoolean("isOn", isOn);
steam.writeToNBT(data, "t0");
carbonDioxide.writeToNBT(data, "t1");
water.writeToNBT(data, "t2");
this.networkPack(data, 150); this.networkPack(data, 150);
steam.updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId);
carbonDioxide.updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId);
water.updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId);
} }
} }

View File

@ -5,7 +5,6 @@ import java.util.List;
import com.hbm.entity.missile.EntitySoyuz; import com.hbm.entity.missile.EntitySoyuz;
import com.hbm.handler.MissileStruct; import com.hbm.handler.MissileStruct;
import com.hbm.interfaces.IFluidContainer;
import com.hbm.inventory.container.ContainerSoyuzLauncher; import com.hbm.inventory.container.ContainerSoyuzLauncher;
import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.FluidType;
import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.Fluids;
@ -37,7 +36,7 @@ import net.minecraft.util.Vec3;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.common.util.ForgeDirection;
public class TileEntitySoyuzLauncher extends TileEntityMachineBase implements ISidedInventory, IEnergyReceiverMK2, IFluidContainer, IFluidStandardReceiver, IGUIProvider { public class TileEntitySoyuzLauncher extends TileEntityMachineBase implements ISidedInventory, IEnergyReceiverMK2, IFluidStandardReceiver, IGUIProvider {
public long power; public long power;
public static final long maxPower = 1000000; public static final long maxPower = 1000000;
@ -56,8 +55,8 @@ public class TileEntitySoyuzLauncher extends TileEntityMachineBase implements IS
public TileEntitySoyuzLauncher() { public TileEntitySoyuzLauncher() {
super(27); super(27);
tanks = new FluidTank[2]; tanks = new FluidTank[2];
tanks[0] = new FluidTank(Fluids.KEROSENE, 128000, 0); tanks[0] = new FluidTank(Fluids.KEROSENE, 128_000);
tanks[1] = new FluidTank(Fluids.OXYGEN, 128000, 1); tanks[1] = new FluidTank(Fluids.OXYGEN, 128_000);
} }
@Override @Override
@ -80,9 +79,6 @@ public class TileEntitySoyuzLauncher extends TileEntityMachineBase implements IS
tanks[0].loadTank(4, 5, slots); tanks[0].loadTank(4, 5, slots);
tanks[1].loadTank(6, 7, slots); tanks[1].loadTank(6, 7, slots);
for (int i = 0; i < 2; i++)
tanks[i].updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId);
power = Library.chargeTEFromItems(slots, 8, power, maxPower); power = Library.chargeTEFromItems(slots, 8, power, maxPower);
@ -104,6 +100,8 @@ public class TileEntitySoyuzLauncher extends TileEntityMachineBase implements IS
data.setByte("mode", mode); data.setByte("mode", mode);
data.setBoolean("starting", starting); data.setBoolean("starting", starting);
data.setByte("type", this.getType()); data.setByte("type", this.getType());
tanks[0].writeToNBT(data, "t0");
tanks[1].writeToNBT(data, "t1");
networkPack(data, 250); networkPack(data, 250);
} }
@ -172,24 +170,25 @@ public class TileEntitySoyuzLauncher extends TileEntityMachineBase implements IS
public AudioWrapper createAudioLoop() { public AudioWrapper createAudioLoop() {
return MainRegistry.proxy.getLoopedSound("hbm:block.soyuzReady", xCoord, yCoord, zCoord, 2.0F, 100F, 1.0F); return MainRegistry.proxy.getLoopedSound("hbm:block.soyuzReady", xCoord, yCoord, zCoord, 2.0F, 100F, 1.0F);
} }
public void onChunkUnload() { @Override
public void onChunkUnload() {
if(audio != null) {
if(audio != null) {
audio.stopSound(); audio.stopSound();
audio = null; audio = null;
} }
} }
public void invalidate() { @Override
public void invalidate() {
super.invalidate(); super.invalidate();
if(audio != null) { if(audio != null) {
audio.stopSound(); audio.stopSound();
audio = null; audio = null;
} }
} }
public void networkUnpack(NBTTagCompound data) { public void networkUnpack(NBTTagCompound data) {
super.networkUnpack(data); super.networkUnpack(data);
@ -198,6 +197,8 @@ public class TileEntitySoyuzLauncher extends TileEntityMachineBase implements IS
mode = data.getByte("mode"); mode = data.getByte("mode");
starting = data.getBoolean("starting"); starting = data.getBoolean("starting");
rocketType = data.getByte("type"); rocketType = data.getByte("type");
tanks[0].readFromNBT(data, "t0");
tanks[1].readFromNBT(data, "t1");
} }
public void startCountdown() { public void startCountdown() {
@ -399,18 +400,6 @@ public class TileEntitySoyuzLauncher extends TileEntityMachineBase implements IS
nbt.setTag("items", list); nbt.setTag("items", list);
} }
@Override
public void setFillForSync(int fill, int index) {
if (index < 2 && tanks[index] != null)
tanks[index].setFill(fill);
}
@Override
public void setTypeForSync(FluidType type, int index) {
if (index < 2 && tanks[index] != null)
tanks[index].setTankType(type);
}
@Override @Override
public AxisAlignedBB getRenderBoundingBox() { public AxisAlignedBB getRenderBoundingBox() {
return TileEntity.INFINITE_EXTENT_AABB; return TileEntity.INFINITE_EXTENT_AABB;

View File

@ -5,15 +5,14 @@ import java.util.List;
import com.hbm.config.VersatileConfig; import com.hbm.config.VersatileConfig;
import com.hbm.hazard.HazardRegistry; import com.hbm.hazard.HazardRegistry;
import com.hbm.hazard.HazardSystem; import com.hbm.hazard.HazardSystem;
import com.hbm.interfaces.IFluidContainer;
import com.hbm.inventory.container.ContainerStorageDrum; import com.hbm.inventory.container.ContainerStorageDrum;
import com.hbm.inventory.fluid.FluidType;
import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.tank.FluidTank;
import com.hbm.inventory.gui.GUIStorageDrum; import com.hbm.inventory.gui.GUIStorageDrum;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import com.hbm.items.special.ItemWasteLong; import com.hbm.items.special.ItemWasteLong;
import com.hbm.items.special.ItemWasteShort; import com.hbm.items.special.ItemWasteShort;
import com.hbm.tileentity.IBufPacketReceiver;
import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IGUIProvider;
import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.tileentity.TileEntityMachineBase;
import com.hbm.util.ContaminationUtil; import com.hbm.util.ContaminationUtil;
@ -23,6 +22,7 @@ import com.hbm.util.ContaminationUtil.HazardType;
import api.hbm.fluid.IFluidStandardSender; import api.hbm.fluid.IFluidStandardSender;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import io.netty.buffer.ByteBuf;
import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.gui.GuiScreen;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -34,7 +34,7 @@ import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.Vec3; import net.minecraft.util.Vec3;
import net.minecraft.world.World; import net.minecraft.world.World;
public class TileEntityStorageDrum extends TileEntityMachineBase implements IFluidContainer, IFluidStandardSender, IGUIProvider { public class TileEntityStorageDrum extends TileEntityMachineBase implements IFluidStandardSender, IBufPacketReceiver, IGUIProvider {
public FluidTank[] tanks; public FluidTank[] tanks;
private static final int[] slots_arr = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 }; private static final int[] slots_arr = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 };
@ -43,8 +43,8 @@ public class TileEntityStorageDrum extends TileEntityMachineBase implements IFlu
public TileEntityStorageDrum() { public TileEntityStorageDrum() {
super(24); super(24);
tanks = new FluidTank[2]; tanks = new FluidTank[2];
tanks[0] = new FluidTank(Fluids.WASTEFLUID, 16000, 0); tanks[0] = new FluidTank(Fluids.WASTEFLUID, 16000);
tanks[1] = new FluidTank(Fluids.WASTEGAS, 16000, 1); tanks[1] = new FluidTank(Fluids.WASTEGAS, 16000);
} }
@Override @Override
@ -145,15 +145,24 @@ public class TileEntityStorageDrum extends TileEntityMachineBase implements IFlu
this.sendFluidToAll(tanks[0], this); this.sendFluidToAll(tanks[0], this);
this.sendFluidToAll(tanks[1], this); this.sendFluidToAll(tanks[1], this);
tanks[0].updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId); this.sendStandard(25);
tanks[1].updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId);
if(rad > 0) { if(rad > 0) {
radiate(worldObj, xCoord, yCoord, zCoord, rad); radiate(worldObj, xCoord, yCoord, zCoord, rad);
} }
} }
} }
@Override public void serialize(ByteBuf buf) {
tanks[0].serialize(buf);
tanks[1].serialize(buf);
}
@Override public void deserialize(ByteBuf buf) {
tanks[0].deserialize(buf);
tanks[1].deserialize(buf);
}
private void radiate(World world, int x, int y, int z, float rads) { private void radiate(World world, int x, int y, int z, float rads) {
@ -233,18 +242,6 @@ public class TileEntityStorageDrum extends TileEntityMachineBase implements IFlu
public int[] getAccessibleSlotsFromSide(int side) { public int[] getAccessibleSlotsFromSide(int side) {
return slots_arr; return slots_arr;
} }
@Override
public void setFillForSync(int fill, int index) {
if(index < 2 && tanks[index] != null)
tanks[index].setFill(fill);
}
@Override
public void setTypeForSync(FluidType type, int index) {
if(index < 2 && tanks[index] != null)
tanks[index].setTankType(type);
}
@Override @Override
public void readFromNBT(NBTTagCompound nbt) { public void readFromNBT(NBTTagCompound nbt) {

View File

@ -4,10 +4,8 @@ import java.util.List;
import com.hbm.blocks.ModBlocks; import com.hbm.blocks.ModBlocks;
import com.hbm.interfaces.IControlReceiver; import com.hbm.interfaces.IControlReceiver;
import com.hbm.interfaces.IFluidContainer;
import com.hbm.inventory.UpgradeManager; import com.hbm.inventory.UpgradeManager;
import com.hbm.inventory.container.ContainerMachineGasFlare; import com.hbm.inventory.container.ContainerMachineGasFlare;
import com.hbm.inventory.fluid.FluidType;
import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.tank.FluidTank;
import com.hbm.inventory.fluid.trait.FT_Flammable; import com.hbm.inventory.fluid.trait.FT_Flammable;
@ -43,7 +41,7 @@ import net.minecraft.util.DamageSource;
import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World; import net.minecraft.world.World;
public class TileEntityMachineGasFlare extends TileEntityMachineBase implements IEnergyProviderMK2, IFluidContainer, IFluidStandardReceiver, IControlReceiver, IGUIProvider, IUpgradeInfoProvider, IInfoProviderEC { public class TileEntityMachineGasFlare extends TileEntityMachineBase implements IEnergyProviderMK2, IFluidStandardReceiver, IControlReceiver, IGUIProvider, IUpgradeInfoProvider, IInfoProviderEC {
public long power; public long power;
public static final long maxPower = 100000; public static final long maxPower = 100000;
@ -55,7 +53,7 @@ public class TileEntityMachineGasFlare extends TileEntityMachineBase implements
public TileEntityMachineGasFlare() { public TileEntityMachineGasFlare() {
super(6); super(6);
tank = new FluidTank(Fluids.GAS, 64000, 0); tank = new FluidTank(Fluids.GAS, 64000);
} }
@Override @Override
@ -112,7 +110,6 @@ public class TileEntityMachineGasFlare extends TileEntityMachineBase implements
tank.setType(3, slots); tank.setType(3, slots);
tank.loadTank(1, 2, slots); tank.loadTank(1, 2, slots);
tank.updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId);
int maxVent = 50; int maxVent = 50;
int maxBurn = 10; int maxBurn = 10;
@ -186,6 +183,7 @@ public class TileEntityMachineGasFlare extends TileEntityMachineBase implements
data.setLong("power", this.power); data.setLong("power", this.power);
data.setBoolean("isOn", isOn); data.setBoolean("isOn", isOn);
data.setBoolean("doesBurn", doesBurn); data.setBoolean("doesBurn", doesBurn);
tank.writeToNBT(data, "t");
this.networkPack(data, 50); this.networkPack(data, 50);
} else { } else {
@ -250,6 +248,7 @@ public class TileEntityMachineGasFlare extends TileEntityMachineBase implements
this.power = nbt.getLong("power"); this.power = nbt.getLong("power");
this.isOn = nbt.getBoolean("isOn"); this.isOn = nbt.getBoolean("isOn");
this.doesBurn = nbt.getBoolean("doesBurn"); this.doesBurn = nbt.getBoolean("doesBurn");
tank.readFromNBT(nbt, "t");
} }
@Override @Override
@ -278,16 +277,6 @@ public class TileEntityMachineGasFlare extends TileEntityMachineBase implements
this.power = i; this.power = i;
} }
@Override
public void setFillForSync(int fill, int index) {
tank.setFill(fill);
}
@Override
public void setTypeForSync(FluidType type, int index) {
tank.setTankType(type);
}
@Override @Override
public FluidTank[] getReceivingTanks() { public FluidTank[] getReceivingTanks() {
return new FluidTank[] { tank }; return new FluidTank[] { tank };

View File

@ -3,11 +3,9 @@ package com.hbm.tileentity.machine.oil;
import java.util.List; import java.util.List;
import com.hbm.blocks.ModBlocks; import com.hbm.blocks.ModBlocks;
import com.hbm.interfaces.IFluidContainer;
import com.hbm.inventory.FluidStack; import com.hbm.inventory.FluidStack;
import com.hbm.inventory.UpgradeManager; import com.hbm.inventory.UpgradeManager;
import com.hbm.inventory.container.ContainerLiquefactor; import com.hbm.inventory.container.ContainerLiquefactor;
import com.hbm.inventory.fluid.FluidType;
import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.tank.FluidTank;
import com.hbm.inventory.gui.GUILiquefactor; import com.hbm.inventory.gui.GUILiquefactor;
@ -35,7 +33,7 @@ import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World; import net.minecraft.world.World;
public class TileEntityMachineLiquefactor extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidContainer, IFluidStandardSender, IGUIProvider, IUpgradeInfoProvider, IInfoProviderEC { public class TileEntityMachineLiquefactor extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardSender, IGUIProvider, IUpgradeInfoProvider, IInfoProviderEC {
public long power; public long power;
public static final long maxPower = 100000; public static final long maxPower = 100000;
@ -49,7 +47,7 @@ public class TileEntityMachineLiquefactor extends TileEntityMachineBase implemen
public TileEntityMachineLiquefactor() { public TileEntityMachineLiquefactor() {
super(4); super(4);
tank = new FluidTank(Fluids.NONE, 24000, 0); tank = new FluidTank(Fluids.NONE, 24_000);
} }
@Override @Override
@ -62,7 +60,6 @@ public class TileEntityMachineLiquefactor extends TileEntityMachineBase implemen
if(!worldObj.isRemote) { if(!worldObj.isRemote) {
this.power = Library.chargeTEFromItems(slots, 1, power, maxPower); this.power = Library.chargeTEFromItems(slots, 1, power, maxPower);
tank.updateTank(this);
this.updateConnections(); this.updateConnections();
@ -85,6 +82,7 @@ public class TileEntityMachineLiquefactor extends TileEntityMachineBase implemen
data.setInteger("progress", this.progress); data.setInteger("progress", this.progress);
data.setInteger("usage", this.usage); data.setInteger("usage", this.usage);
data.setInteger("processTime", this.processTime); data.setInteger("processTime", this.processTime);
tank.writeToNBT(data, "t");
this.networkPack(data, 50); this.networkPack(data, 50);
} }
} }
@ -124,22 +122,14 @@ public class TileEntityMachineLiquefactor extends TileEntityMachineBase implemen
public boolean canProcess() { public boolean canProcess() {
if(this.power < usage) if(this.power < usage) return false;
return false; if(slots[0] == null) return false;
if(slots[0] == null)
return false;
FluidStack out = LiquefactionRecipes.getOutput(slots[0]); FluidStack out = LiquefactionRecipes.getOutput(slots[0]);
if(out == null) if(out == null) return false;
return false; if(out.type != tank.getTankType() && tank.getFill() > 0) return false;
if(out.fill + tank.getFill() > tank.getMaxFill()) return false;
if(out.type != tank.getTankType() && tank.getFill() > 0)
return false;
if(out.fill + tank.getFill() > tank.getMaxFill())
return false;
return true; return true;
} }
@ -171,6 +161,7 @@ public class TileEntityMachineLiquefactor extends TileEntityMachineBase implemen
this.progress = nbt.getInteger("progress"); this.progress = nbt.getInteger("progress");
this.usage = nbt.getInteger("usage"); this.usage = nbt.getInteger("usage");
this.processTime = nbt.getInteger("processTime"); this.processTime = nbt.getInteger("processTime");
tank.readFromNBT(nbt, "t");
} }
@Override @Override
@ -200,16 +191,6 @@ public class TileEntityMachineLiquefactor extends TileEntityMachineBase implemen
return maxPower; return maxPower;
} }
@Override
public void setFillForSync(int fill, int index) {
tank.setFill(fill);
}
@Override
public void setTypeForSync(FluidType type, int index) {
tank.setTankType(type);
}
AxisAlignedBB bb = null; AxisAlignedBB bb = null;
@Override @Override

View File

@ -6,7 +6,6 @@ import java.util.List;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import com.google.gson.stream.JsonWriter; import com.google.gson.stream.JsonWriter;
import com.hbm.blocks.ModBlocks; import com.hbm.blocks.ModBlocks;
import com.hbm.explosion.ExplosionLarge;
import com.hbm.inventory.container.ContainerMachineOilWell; import com.hbm.inventory.container.ContainerMachineOilWell;
import com.hbm.inventory.gui.GUIMachineOilWell; import com.hbm.inventory.gui.GUIMachineOilWell;
import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType;
@ -70,8 +69,8 @@ public class TileEntityMachineOilWell extends TileEntityOilDrillBase {
if("oreUranium".equals(name)) { if("oreUranium".equals(name)) {
for(int j = -1; j <= 1; j++) { for(int j = -1; j <= 1; j++) {
for(int k = -1; k <= 1; k++) { for(int k = -1; k <= 1; k++) {
if(worldObj.getBlock(xCoord + j, yCoord + 7, zCoord + j).isReplaceable(worldObj, xCoord + j, yCoord + 7, zCoord + k)) { if(worldObj.getBlock(xCoord + j, yCoord + 10, zCoord + j).isReplaceable(worldObj, xCoord + j, yCoord + 7, zCoord + k)) {
worldObj.setBlock(xCoord + k, yCoord + 7, zCoord + k, ModBlocks.gas_radon_dense); worldObj.setBlock(xCoord + k, yCoord + 10, zCoord + k, ModBlocks.gas_radon_dense);
} }
} }
} }
@ -80,8 +79,8 @@ public class TileEntityMachineOilWell extends TileEntityOilDrillBase {
if("oreAsbestos".equals(name)) { if("oreAsbestos".equals(name)) {
for(int j = -1; j <= 1; j++) { for(int j = -1; j <= 1; j++) {
for(int k = -1; k <= 1; k++) { for(int k = -1; k <= 1; k++) {
if(worldObj.getBlock(xCoord + j, yCoord + 7, zCoord + j).isReplaceable(worldObj, xCoord + j, yCoord + 7, zCoord + k)) { if(worldObj.getBlock(xCoord + j, yCoord + 10, zCoord + j).isReplaceable(worldObj, xCoord + j, yCoord + 7, zCoord + k)) {
worldObj.setBlock(xCoord + k, yCoord + 7, zCoord + k, ModBlocks.gas_asbestos); worldObj.setBlock(xCoord + k, yCoord + 10, zCoord + k, ModBlocks.gas_asbestos);
} }
} }
} }
@ -92,7 +91,6 @@ public class TileEntityMachineOilWell extends TileEntityOilDrillBase {
@Override @Override
public void onSuck(int x, int y, int z) { public void onSuck(int x, int y, int z) {
ExplosionLarge.spawnOilSpills(worldObj, xCoord + 0.5F, yCoord + 5.5F, zCoord + 0.5F, 3);
worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "game.neutral.swim.splash", 2.0F, 0.5F); worldObj.playSoundEffect(this.xCoord, this.yCoord, this.zCoord, "game.neutral.swim.splash", 2.0F, 0.5F);
this.tanks[0].setFill(this.tanks[0].getFill() + oilPerDepsoit); this.tanks[0].setFill(this.tanks[0].getFill() + oilPerDepsoit);
@ -116,7 +114,7 @@ public class TileEntityMachineOilWell extends TileEntityOilDrillBase {
yCoord, yCoord,
zCoord - 1, zCoord - 1,
xCoord + 2, xCoord + 2,
yCoord + 7, yCoord + 10,
zCoord + 2 zCoord + 2
); );
} }
@ -127,10 +125,10 @@ public class TileEntityMachineOilWell extends TileEntityOilDrillBase {
@Override @Override
public DirPos[] getConPos() { public DirPos[] getConPos() {
return new DirPos[] { return new DirPos[] {
new DirPos(xCoord + 2, yCoord, zCoord, Library.POS_X), new DirPos(xCoord + 1, yCoord, zCoord, Library.POS_X),
new DirPos(xCoord - 2, yCoord, zCoord, Library.NEG_X), new DirPos(xCoord - 1, yCoord, zCoord, Library.NEG_X),
new DirPos(xCoord, yCoord, zCoord + 2, Library.POS_Z), new DirPos(xCoord, yCoord, zCoord + 1, Library.POS_Z),
new DirPos(xCoord, yCoord, zCoord - 2, Library.NEG_Z) new DirPos(xCoord, yCoord, zCoord - 1, Library.NEG_Z)
}; };
} }

View File

@ -112,12 +112,10 @@ public class TileEntityMachinePumpjack extends TileEntityOilDrillBase {
} }
@Override @Override
public void sendUpdate() { public void networkPack(NBTTagCompound nbt, int range) {
NBTTagCompound data = new NBTTagCompound(); nbt.setFloat("speed", this.indicator == 0 ? (5F + (2F * this.speedLevel)) + (this.overLevel - 1F) * 10: 0F);
data.setLong("power", power);
data.setInteger("indicator", this.indicator); super.networkPack(nbt, range);
data.setFloat("speed", this.indicator == 0 ? (5F + (2F * this.speedLevel)) + (this.overLevel - 1F) * 10: 0F);
this.networkPack(data, 25);
} }
@Override @Override

View File

@ -3,10 +3,8 @@ package com.hbm.tileentity.machine.oil;
import java.util.List; import java.util.List;
import com.hbm.blocks.ModBlocks; import com.hbm.blocks.ModBlocks;
import com.hbm.interfaces.IFluidContainer;
import com.hbm.inventory.UpgradeManager; import com.hbm.inventory.UpgradeManager;
import com.hbm.inventory.container.ContainerSolidifier; import com.hbm.inventory.container.ContainerSolidifier;
import com.hbm.inventory.fluid.FluidType;
import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.tank.FluidTank;
import com.hbm.inventory.gui.GUISolidifier; import com.hbm.inventory.gui.GUISolidifier;
@ -35,7 +33,7 @@ import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World; import net.minecraft.world.World;
public class TileEntityMachineSolidifier extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidContainer, IFluidStandardReceiver, IGUIProvider, IUpgradeInfoProvider, IInfoProviderEC { public class TileEntityMachineSolidifier extends TileEntityMachineBase implements IEnergyReceiverMK2, IFluidStandardReceiver, IGUIProvider, IUpgradeInfoProvider, IInfoProviderEC {
public long power; public long power;
public static final long maxPower = 100000; public static final long maxPower = 100000;
@ -49,7 +47,7 @@ public class TileEntityMachineSolidifier extends TileEntityMachineBase implement
public TileEntityMachineSolidifier() { public TileEntityMachineSolidifier() {
super(5); super(5);
tank = new FluidTank(Fluids.NONE, 24000, 0); tank = new FluidTank(Fluids.NONE, 24_000);
} }
@Override @Override
@ -63,7 +61,6 @@ public class TileEntityMachineSolidifier extends TileEntityMachineBase implement
if(!worldObj.isRemote) { if(!worldObj.isRemote) {
this.power = Library.chargeTEFromItems(slots, 1, power, maxPower); this.power = Library.chargeTEFromItems(slots, 1, power, maxPower);
tank.setType(4, slots); tank.setType(4, slots);
tank.updateTank(this);
this.updateConnections(); this.updateConnections();
@ -84,6 +81,7 @@ public class TileEntityMachineSolidifier extends TileEntityMachineBase implement
data.setInteger("progress", this.progress); data.setInteger("progress", this.progress);
data.setInteger("usage", this.usage); data.setInteger("usage", this.usage);
data.setInteger("processTime", this.processTime); data.setInteger("processTime", this.processTime);
tank.writeToNBT(data, "t");
this.networkPack(data, 50); this.networkPack(data, 50);
} }
} }
@ -180,6 +178,7 @@ public class TileEntityMachineSolidifier extends TileEntityMachineBase implement
this.progress = nbt.getInteger("progress"); this.progress = nbt.getInteger("progress");
this.usage = nbt.getInteger("usage"); this.usage = nbt.getInteger("usage");
this.processTime = nbt.getInteger("processTime"); this.processTime = nbt.getInteger("processTime");
tank.readFromNBT(nbt, "t");
} }
@Override @Override
@ -208,16 +207,6 @@ public class TileEntityMachineSolidifier extends TileEntityMachineBase implement
public long getMaxPower() { public long getMaxPower() {
return maxPower; return maxPower;
} }
@Override
public void setFillForSync(int fill, int index) {
tank.setFill(fill);
}
@Override
public void setTypeForSync(FluidType type, int index) {
tank.setTankType(type);
}
AxisAlignedBB bb = null; AxisAlignedBB bb = null;

View File

@ -104,10 +104,6 @@ public abstract class TileEntityOilDrillBase extends TileEntityMachineBase imple
this.overLevel = Math.min(UpgradeManager.getLevel(UpgradeType.OVERDRIVE), 3) + 1; this.overLevel = Math.min(UpgradeManager.getLevel(UpgradeType.OVERDRIVE), 3) + 1;
int abLevel = Math.min(UpgradeManager.getLevel(UpgradeType.AFTERBURN), 3); int abLevel = Math.min(UpgradeManager.getLevel(UpgradeType.AFTERBURN), 3);
for(int i = 0; i < tanks.length; i++) {
tanks[i].updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId);
}
int toBurn = Math.min(tanks[1].getFill(), abLevel * 10); int toBurn = Math.min(tanks[1].getFill(), abLevel * 10);
if(toBurn > 0) { if(toBurn > 0) {
@ -161,6 +157,7 @@ public abstract class TileEntityOilDrillBase extends TileEntityMachineBase imple
NBTTagCompound data = new NBTTagCompound(); NBTTagCompound data = new NBTTagCompound();
data.setLong("power", power); data.setLong("power", power);
data.setInteger("indicator", this.indicator); data.setInteger("indicator", this.indicator);
for(int i = 0; i < tanks.length; i++) tanks[i].writeToNBT(data, "t" + i);
this.networkPack(data, 25); this.networkPack(data, 25);
} }
@ -169,6 +166,7 @@ public abstract class TileEntityOilDrillBase extends TileEntityMachineBase imple
this.power = nbt.getLong("power"); this.power = nbt.getLong("power");
this.indicator = nbt.getInteger("indicator"); this.indicator = nbt.getInteger("indicator");
for(int i = 0; i < tanks.length; i++) tanks[i].readFromNBT(nbt, "t" + i);
} }
public boolean canPump() { public boolean canPump() {

View File

@ -9,7 +9,6 @@ import com.hbm.blocks.ModBlocks;
import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType; import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType;
import com.hbm.handler.CompatHandler; import com.hbm.handler.CompatHandler;
import com.hbm.interfaces.IControlReceiver; import com.hbm.interfaces.IControlReceiver;
import com.hbm.interfaces.IFluidContainer;
import com.hbm.inventory.container.ContainerRBMKGeneric; import com.hbm.inventory.container.ContainerRBMKGeneric;
import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.FluidType;
import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.Fluids;
@ -34,7 +33,7 @@ import net.minecraft.util.Vec3;
import net.minecraft.world.World; import net.minecraft.world.World;
@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")})
public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements IFluidContainer, IControlReceiver, IFluidStandardTransceiver, SimpleComponent, IInfoProviderEC, CompatHandler.OCComponent { public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements IControlReceiver, IFluidStandardTransceiver, SimpleComponent, IInfoProviderEC, CompatHandler.OCComponent {
public FluidTank feed; public FluidTank feed;
public FluidTank steam; public FluidTank steam;
@ -44,8 +43,8 @@ public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements I
public TileEntityRBMKBoiler() { public TileEntityRBMKBoiler() {
super(0); super(0);
feed = new FluidTank(Fluids.WATER, 10000, 0); feed = new FluidTank(Fluids.WATER, 10000);
steam = new FluidTank(Fluids.STEAM, 1000000, 1); steam = new FluidTank(Fluids.STEAM, 1000000);
} }
@Override @Override
@ -57,8 +56,6 @@ public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements I
public void updateEntity() { public void updateEntity() {
if(!worldObj.isRemote) { if(!worldObj.isRemote) {
feed.updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId);
steam.updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId);
this.consumption = 0; this.consumption = 0;
this.output = 0; this.output = 0;
@ -149,24 +146,6 @@ public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements I
}; };
} }
} }
@Override
public void setFillForSync(int fill, int index) {
if(index == 0)
feed.setFill(fill);
else if(index == 1)
steam.setFill(fill);
}
@Override
public void setTypeForSync(FluidType type, int index) {
if(index == 0)
feed.setTankType(type);
else if(index == 1)
steam.setTankType(type);
}
@Override @Override
public void readFromNBT(NBTTagCompound nbt) { public void readFromNBT(NBTTagCompound nbt) {

View File

@ -27,7 +27,7 @@ public class TileEntityRBMKCooler extends TileEntityRBMKBase implements IFluidSt
public TileEntityRBMKCooler() { public TileEntityRBMKCooler() {
super(); super();
this.tank = new FluidTank(Fluids.CRYOGEL, 8000, 0); this.tank = new FluidTank(Fluids.CRYOGEL, 8_000);
} }
@Override @Override

View File

@ -4,9 +4,7 @@ import api.hbm.fluid.IFluidStandardTransceiver;
import com.hbm.blocks.ModBlocks; import com.hbm.blocks.ModBlocks;
import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType; import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType;
import com.hbm.handler.CompatHandler; import com.hbm.handler.CompatHandler;
import com.hbm.interfaces.IFluidContainer;
import com.hbm.inventory.container.ContainerRBMKHeater; import com.hbm.inventory.container.ContainerRBMKHeater;
import com.hbm.inventory.fluid.FluidType;
import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.tank.FluidTank;
import com.hbm.inventory.fluid.trait.FT_Heatable; import com.hbm.inventory.fluid.trait.FT_Heatable;
@ -30,15 +28,15 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World; import net.minecraft.world.World;
@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "opencomputers")}) @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "opencomputers")})
public class TileEntityRBMKHeater extends TileEntityRBMKSlottedBase implements IFluidContainer, IFluidStandardTransceiver, SimpleComponent, CompatHandler.OCComponent { public class TileEntityRBMKHeater extends TileEntityRBMKSlottedBase implements IFluidStandardTransceiver, SimpleComponent, CompatHandler.OCComponent {
public FluidTank feed; public FluidTank feed;
public FluidTank steam; public FluidTank steam;
public TileEntityRBMKHeater() { public TileEntityRBMKHeater() {
super(1); super(1);
this.feed = new FluidTank(Fluids.COOLANT, 16_000, 0); this.feed = new FluidTank(Fluids.COOLANT, 16_000);
this.steam = new FluidTank(Fluids.COOLANT_HOT, 16_000, 1); this.steam = new FluidTank(Fluids.COOLANT_HOT, 16_000);
} }
@Override @Override
@ -53,9 +51,6 @@ public class TileEntityRBMKHeater extends TileEntityRBMKSlottedBase implements I
feed.setType(0, slots); feed.setType(0, slots);
feed.updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId);
steam.updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId);
if(feed.getTankType().hasTrait(FT_Heatable.class)) { if(feed.getTankType().hasTrait(FT_Heatable.class)) {
FT_Heatable trait = feed.getTankType().getTrait(FT_Heatable.class); FT_Heatable trait = feed.getTankType().getTrait(FT_Heatable.class);
HeatingStep step = trait.getFirstStep(); HeatingStep step = trait.getFirstStep();
@ -114,24 +109,6 @@ public class TileEntityRBMKHeater extends TileEntityRBMKSlottedBase implements I
}; };
} }
} }
@Override
public void setFillForSync(int fill, int index) {
if(index == 0)
feed.setFill(fill);
else if(index == 1)
steam.setFill(fill);
}
@Override
public void setTypeForSync(FluidType type, int index) {
if(index == 0)
feed.setTankType(type);
else if(index == 1)
steam.setTankType(type);
}
@Override @Override
public void readFromNBT(NBTTagCompound nbt) { public void readFromNBT(NBTTagCompound nbt) {

View File

@ -21,10 +21,10 @@ import com.hbm.util.CompatEnergyControl;
import cpw.mods.fml.common.Optional; import cpw.mods.fml.common.Optional;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import io.netty.buffer.ByteBuf;
import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Arguments;
import li.cil.oc.api.machine.Callback; import li.cil.oc.api.machine.Callback;
import li.cil.oc.api.machine.Context; import li.cil.oc.api.machine.Context;
import li.cil.oc.api.network.SimpleComponent;
import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.gui.GuiScreen;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Container; import net.minecraft.inventory.Container;
@ -35,7 +35,7 @@ import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.common.util.ForgeDirection;
@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "opencomputers")}) @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "opencomputers")})
public class TileEntityMachineBattery extends TileEntityMachineBase implements IEnergyConductorMK2, IEnergyProviderMK2, IEnergyReceiverMK2, IPersistentNBT, SimpleComponent, IGUIProvider, IInfoProviderEC, CompatHandler.OCComponent { public class TileEntityMachineBattery extends TileEntityMachineBase implements IEnergyConductorMK2, IEnergyProviderMK2, IEnergyReceiverMK2, IPersistentNBT, IGUIProvider, IInfoProviderEC, CompatHandler.OCComponent {
public long[] log = new long[20]; public long[] log = new long[20];
public long delta = 0; public long delta = 0;
@ -214,13 +214,7 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I
prevPowerState = power; prevPowerState = power;
NBTTagCompound nbt = new NBTTagCompound(); this.networkPackNT(20);
nbt.setLong("power", avg);
nbt.setLong("delta", delta);
nbt.setShort("redLow", redLow);
nbt.setShort("redHigh", redHigh);
nbt.setByte("priority", (byte) this.priority.ordinal());
this.networkPack(nbt, 20);
} }
} }
@ -250,14 +244,25 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I
} }
@Override @Override
public void networkUnpack(NBTTagCompound nbt) { public void serialize(ByteBuf buf) {
super.networkUnpack(nbt); super.serialize(buf);
this.power = nbt.getLong("power"); buf.writeLong(power);
this.delta = nbt.getLong("delta"); buf.writeLong(delta);
this.redLow = nbt.getShort("redLow"); buf.writeShort(redLow);
this.redHigh = nbt.getShort("redHigh"); buf.writeShort(redHigh);
this.priority = ConnectionPriority.values()[nbt.getByte("priority")]; buf.writeByte(priority.ordinal());
}
@Override
public void deserialize(ByteBuf buf) {
super.deserialize(buf);
power = buf.readLong();
delta = buf.readLong();
redLow = buf.readShort();
redHigh = buf.readShort();
priority = ConnectionPriority.values()[buf.readByte()];
} }
@Override @Override

View File

@ -24,7 +24,7 @@ public class TileEntityConverterHeRf extends TileEntityLoadedBase implements IEn
public final long maxPower = 5_000_000; public final long maxPower = 5_000_000;
public static long heInput = 5; public static long heInput = 5;
public static long rfOutput = 1; public static long rfOutput = 1;
public static double inputDecay = 0.05; public static double inputDecay = 0.0;
public EnergyStorage storage = new EnergyStorage(1_000_000, 1_000_000, 1_000_000); public EnergyStorage storage = new EnergyStorage(1_000_000, 1_000_000, 1_000_000);
@Override @Override
@ -93,13 +93,13 @@ public class TileEntityConverterHeRf extends TileEntityLoadedBase implements IEn
public void readIfPresent(JsonObject obj) { public void readIfPresent(JsonObject obj) {
heInput = IConfigurableMachine.grab(obj, "L:HE_Used", heInput); heInput = IConfigurableMachine.grab(obj, "L:HE_Used", heInput);
rfOutput = IConfigurableMachine.grab(obj, "L:RF_Created", rfOutput); rfOutput = IConfigurableMachine.grab(obj, "L:RF_Created", rfOutput);
inputDecay = IConfigurableMachine.grab(obj, "D:inputDecay", inputDecay); inputDecay = IConfigurableMachine.grab(obj, "D:inputDecay2", inputDecay);
} }
@Override @Override
public void writeConfig(JsonWriter writer) throws IOException { public void writeConfig(JsonWriter writer) throws IOException {
writer.name("L:HE_Used").value(heInput); writer.name("L:HE_Used").value(heInput);
writer.name("L:RF_Created").value(rfOutput); writer.name("L:RF_Created").value(rfOutput);
writer.name("D:inputDecay").value(inputDecay); writer.name("D:inputDecay2").value(inputDecay);
} }
} }

View File

@ -17,9 +17,9 @@ public class TileEntityConverterRfHe extends TileEntityLoadedBase implements IEn
public long power; public long power;
public final long maxPower = 5_000_000; public final long maxPower = 5_000_000;
public static long rfInput = 1; public static long rfInput = 2;
public static long heOutput = 5; public static long heOutput = 5;
public static double inputDecay = 0.05; public static double inputDecay = 0.0;
public EnergyStorage storage = new EnergyStorage(1_000_000, 1_000_000, 1_000_000); public EnergyStorage storage = new EnergyStorage(1_000_000, 1_000_000, 1_000_000);
@ -73,15 +73,15 @@ public class TileEntityConverterRfHe extends TileEntityLoadedBase implements IEn
@Override @Override
public void readIfPresent(JsonObject obj) { public void readIfPresent(JsonObject obj) {
rfInput = IConfigurableMachine.grab(obj, "L:RF_Used", rfInput); rfInput = IConfigurableMachine.grab(obj, "L:RF_Used2", rfInput);
heOutput = IConfigurableMachine.grab(obj, "L:HE_Created", heOutput); heOutput = IConfigurableMachine.grab(obj, "L:HE_Created2", heOutput);
inputDecay = IConfigurableMachine.grab(obj, "D:inputDecay", inputDecay); inputDecay = IConfigurableMachine.grab(obj, "D:inputDecay2", inputDecay);
} }
@Override @Override
public void writeConfig(JsonWriter writer) throws IOException { public void writeConfig(JsonWriter writer) throws IOException {
writer.name("L:RF_Used").value(rfInput); writer.name("L:RF_Used2").value(rfInput);
writer.name("L:HE_Created").value(heOutput); writer.name("L:HE_Created2").value(heOutput);
writer.name("D:inputDecay").value(inputDecay); writer.name("D:inputDecay2").value(inputDecay);
} }
} }

View File

@ -7,7 +7,6 @@ import com.hbm.blocks.BlockDummyable;
import com.hbm.entity.projectile.EntityBulletBaseNT; import com.hbm.entity.projectile.EntityBulletBaseNT;
import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.handler.BulletConfigSyncingUtil;
import com.hbm.handler.BulletConfiguration; import com.hbm.handler.BulletConfiguration;
import com.hbm.interfaces.IFluidContainer;
import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.FluidType;
import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.tank.FluidTank;
@ -31,13 +30,13 @@ import net.minecraft.util.Vec3;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.common.util.ForgeDirection;
public class TileEntityTurretFritz extends TileEntityTurretBaseNT implements IFluidContainer, IFluidStandardReceiver { public class TileEntityTurretFritz extends TileEntityTurretBaseNT implements IFluidStandardReceiver {
public FluidTank tank; public FluidTank tank;
public TileEntityTurretFritz() { public TileEntityTurretFritz() {
super(); super();
this.tank = new FluidTank(Fluids.DIESEL, 16000, 0); this.tank = new FluidTank(Fluids.DIESEL, 16000);
} }
@Override @Override
@ -142,7 +141,6 @@ public class TileEntityTurretFritz extends TileEntityTurretBaseNT implements IFl
if(!worldObj.isRemote) { if(!worldObj.isRemote) {
tank.setType(9, 9, slots); tank.setType(9, 9, slots);
tank.loadTank(0, 1, slots); tank.loadTank(0, 1, slots);
tank.updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId);
for(int i = 1; i < 10; i++) { for(int i = 1; i < 10; i++) {
@ -155,6 +153,19 @@ public class TileEntityTurretFritz extends TileEntityTurretBaseNT implements IFl
} }
} }
} }
@Override
protected NBTTagCompound writePacket() {
NBTTagCompound data = super.writePacket();
tank.writeToNBT(data, "t");
return data;
}
@Override
public void networkUnpack(NBTTagCompound nbt) {
super.networkUnpack(nbt);
tank.readFromNBT(nbt, "t");
}
@Override //TODO: clean this shit up @Override //TODO: clean this shit up
protected void updateConnections() { protected void updateConnections() {
@ -197,16 +208,6 @@ public class TileEntityTurretFritz extends TileEntityTurretBaseNT implements IFl
return new int[] { 1, 2, 3, 4, 5, 6, 7, 8 }; return new int[] { 1, 2, 3, 4, 5, 6, 7, 8 };
} }
@Override
public void setFillForSync(int fill, int index) {
tank.setFill(fill);
}
@Override
public void setTypeForSync(FluidType type, int index) {
tank.setTankType(type);
}
@Override @Override
public FluidTank[] getReceivingTanks() { public FluidTank[] getReceivingTanks() {
return new FluidTank[] { tank }; return new FluidTank[] { tank };

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 506 B

After

Width:  |  Height:  |  Size: 751 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 542 B

After

Width:  |  Height:  |  Size: 738 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 226 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 487 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB