From 9f3424120ef0f6730c429b01cd6eb1fecbb00a78 Mon Sep 17 00:00:00 2001 From: Bob Date: Thu, 1 Dec 2022 22:07:11 +0100 Subject: [PATCH] fancier steel furnaces, fixed new fluid sys for some machines, strata --- .../java/api/hbm/fluid/IFluidConnector.java | 2 +- .../java/com/hbm/inventory/material/Mats.java | 6 ++-- .../inventory/recipes/CentrifugeRecipes.java | 8 ++++- .../hbm/inventory/recipes/SILEXRecipes.java | 9 +++--- .../com/hbm/items/machine/ItemFluidDuct.java | 6 ++-- .../render/tileentity/RenderFurnaceSteel.java | 26 ++++++++++++++++ .../tileentity/machine/TileEntityChungus.java | 17 ++++++----- .../machine/TileEntityFurnaceSteel.java | 4 +++ .../TileEntityMachineChemplantBase.java | 4 +-- .../TileEntityMachineLargeTurbine.java | 1 + .../machine/TileEntityTowerLarge.java | 28 ++++++++++++++++- .../machine/rbmk/TileEntityRBMKBoiler.java | 6 ++-- .../machine/rbmk/TileEntityRBMKHeater.java | 6 ++-- .../machine/rbmk/TileEntityRBMKOutgasser.java | 6 ++-- .../storage/TileEntityMachineFluidTank.java | 30 +++++++++++++------ .../com/hbm/world/feature/OreLayer3D.java | 25 +++++++--------- src/main/resources/assets/hbm/lang/de_DE.lang | 3 ++ src/main/resources/assets/hbm/lang/en_US.lang | 3 ++ 18 files changed, 134 insertions(+), 56 deletions(-) diff --git a/src/main/java/api/hbm/fluid/IFluidConnector.java b/src/main/java/api/hbm/fluid/IFluidConnector.java index 634412cbf..f5b728959 100644 --- a/src/main/java/api/hbm/fluid/IFluidConnector.java +++ b/src/main/java/api/hbm/fluid/IFluidConnector.java @@ -87,5 +87,5 @@ public interface IFluidConnector { } } - public static final boolean particleDebug = false; + public static final boolean particleDebug = true; } diff --git a/src/main/java/com/hbm/inventory/material/Mats.java b/src/main/java/com/hbm/inventory/material/Mats.java index cb10c3fe1..cc979d2b4 100644 --- a/src/main/java/com/hbm/inventory/material/Mats.java +++ b/src/main/java/com/hbm/inventory/material/Mats.java @@ -56,13 +56,13 @@ public class Mats { public static final NTMMaterial MAT_LIGCOKE = make( 1412, LIGCOKE) .setConversion(MAT_CARBON, 4, 3); public static final NTMMaterial MAT_GRAPHITE = make( 1420, GRAPHITE) .setConversion(MAT_CARBON, 1, 1); public static final NTMMaterial MAT_IRON = makeSmeltable(2600, IRON, 0xFFA259).omitAutoGen(); - public static final NTMMaterial MAT_WROUGHTIRON = makeSmeltable(2601, df("WroughtIron"), 0xFAAB89).omitAutoGen(); - public static final NTMMaterial MAT_PIGIRON = makeSmeltable(2602, df("PigIron"), 0xFF8B59).omitAutoGen(); - public static final NTMMaterial MAT_METEORICIRON = makeSmeltable(2603, df("MeteoricIron"), 0x715347).omitAutoGen(); public static final NTMMaterial MAT_GOLD = makeSmeltable(7900, GOLD, 0xE8D754).omitAutoGen(); public static final NTMMaterial MAT_REDSTONE = makeSmeltable(_VS + 01, REDSTONE, 0xFF1000).omitAutoGen(); public static final NTMMaterial MAT_OBSIDIAN = makeSmeltable(_VS + 02, df("Obsidian"), 0x3D234D).omitAutoGen(); public static final NTMMaterial MAT_HEMATITE = makeAdditive( 2601, HEMATITE, 0x6E463D).omitAutoGen(); + public static final NTMMaterial MAT_WROUGHTIRON = makeSmeltable(2602, df("WroughtIron"), 0xFAAB89).omitAutoGen(); + public static final NTMMaterial MAT_PIGIRON = makeSmeltable(2603, df("PigIron"), 0xFF8B59).omitAutoGen(); + public static final NTMMaterial MAT_METEORICIRON = makeSmeltable(2604, df("MeteoricIron"), 0x715347).omitAutoGen(); public static final NTMMaterial MAT_MALACHITE = makeAdditive( 2901, MALACHITE, 0x61AF87).omitAutoGen(); //Radioactive diff --git a/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java b/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java index 02098b33f..643c8c58d 100644 --- a/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java @@ -292,6 +292,12 @@ public class CentrifugeRecipes extends SerializableRecipe { new ItemStack(ModItems.powder_meteorite_tiny, 1), new ItemStack(ModItems.dust, 6) }); + recipes.put(new ComparableStack(ModBlocks.block_slag), new ItemStack[] { + new ItemStack(Blocks.gravel, 1), + new ItemStack(ModItems.powder_fire, 1), + new ItemStack(Items.dye, 1, 15), //temp + new ItemStack(ModItems.dust) }); + List quartz = OreDictionary.getOres("crystalCertusQuartz"); if(quartz != null && !quartz.isEmpty()) { @@ -331,7 +337,7 @@ public class CentrifugeRecipes extends SerializableRecipe { recipes.put(new ComparableStack(ModItems.crystal_schrabidium), new ItemStack[] { new ItemStack(ModItems.powder_schrabidium, 2), new ItemStack(ModItems.powder_schrabidium, 2), new ItemStack(ModItems.powder_plutonium, 1), new ItemStack(ModItems.powder_lithium_tiny, 1) }); recipes.put(new ComparableStack(ModItems.crystal_rare), new ItemStack[] { new ItemStack(ModItems.powder_desh_mix, 1), new ItemStack(ModItems.powder_desh_mix, 1), new ItemStack(ModItems.nugget_zirconium, 2), new ItemStack(ModItems.nugget_zirconium, 2) }); recipes.put(new ComparableStack(ModItems.crystal_phosphorus), new ItemStack[] { new ItemStack(ModItems.powder_fire, 3), new ItemStack(ModItems.powder_fire, 3), new ItemStack(ModItems.ingot_phosphorus, 2), new ItemStack(Items.blaze_powder, 2) }); - recipes.put(new ComparableStack(ModItems.crystal_trixite), new ItemStack[] { new ItemStack(ModItems.powder_plutonium, 2), new ItemStack(ModItems.powder_cobalt, 3), new ItemStack(ModItems.powder_niobium, 2), new ItemStack(ModItems.powder_niobium, 1) }); + recipes.put(new ComparableStack(ModItems.crystal_trixite), new ItemStack[] { new ItemStack(ModItems.powder_plutonium, 2), new ItemStack(ModItems.powder_cobalt, 3), new ItemStack(ModItems.powder_niobium, 2), new ItemStack(ModItems.powder_nitan_mix, 1) }); recipes.put(new ComparableStack(ModItems.crystal_lithium), new ItemStack[] { new ItemStack(ModItems.powder_lithium, 2), new ItemStack(ModItems.powder_lithium, 2), new ItemStack(ModItems.powder_quartz, 1), new ItemStack(ModItems.fluorite, 1) }); recipes.put(new ComparableStack(ModItems.crystal_starmetal), new ItemStack[] { new ItemStack(ModItems.powder_dura_steel, 3), new ItemStack(ModItems.powder_cobalt, 3), new ItemStack(ModItems.powder_astatine, 2), new ItemStack(ModItems.ingot_mercury, 5) }); recipes.put(new ComparableStack(ModItems.crystal_cobalt), new ItemStack[] { new ItemStack(ModItems.powder_cobalt, 2), new ItemStack(ModItems.powder_iron, 3), new ItemStack(ModItems.powder_copper, 3), new ItemStack(ModItems.powder_lithium_tiny, 1) }); diff --git a/src/main/java/com/hbm/inventory/recipes/SILEXRecipes.java b/src/main/java/com/hbm/inventory/recipes/SILEXRecipes.java index 66d545ce1..6cdaa21ba 100644 --- a/src/main/java/com/hbm/inventory/recipes/SILEXRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/SILEXRecipes.java @@ -71,18 +71,19 @@ public class SILEXRecipes { .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_plutonium), 2)) ); - recipes.put(new ComparableStack(ModBlocks.ore_tikite), new SILEXRecipe(500, 100, EnumWavelengths.UV) + recipes.put(new ComparableStack(ModBlocks.ore_tikite), new SILEXRecipe(900, 100, EnumWavelengths.UV) .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_plutonium), 2)) .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_cobalt), 3)) .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_niobium), 3)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_spark_mix), 1)) + .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_nitan_mix), 2)) ); - recipes.put(new ComparableStack(ModItems.crystal_trixite), new SILEXRecipe(900, 100, EnumWavelengths.UV) + recipes.put(new ComparableStack(ModItems.crystal_trixite), new SILEXRecipe(1200, 100, EnumWavelengths.UV) .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_plutonium), 2)) .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_cobalt), 3)) .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_niobium), 3)) - .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_spark_mix), 2)) + .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_nitan_mix), 1)) + .addOut(new WeightedRandomObject(new ItemStack(ModItems.powder_spark_mix), 1)) ); itemTranslation.put(new ComparableStack(ModItems.powder_lapis), new ComparableStack(Items.dye, 1, 4)); diff --git a/src/main/java/com/hbm/items/machine/ItemFluidDuct.java b/src/main/java/com/hbm/items/machine/ItemFluidDuct.java index d9a704514..b366e39ea 100644 --- a/src/main/java/com/hbm/items/machine/ItemFluidDuct.java +++ b/src/main/java/com/hbm/items/machine/ItemFluidDuct.java @@ -5,7 +5,7 @@ import java.util.List; import com.hbm.blocks.ModBlocks; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; -import com.hbm.tileentity.conductor.TileEntityFluidDuctSimple; +import com.hbm.tileentity.network.TileEntityPipeBaseNT; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -122,8 +122,8 @@ public class ItemFluidDuct extends Item { --stack.stackSize; world.setBlock(x, y, z, ModBlocks.fluid_duct_neo); - if(world.getTileEntity(x, y, z) instanceof TileEntityFluidDuctSimple) { - ((TileEntityFluidDuctSimple) world.getTileEntity(x, y, z)).setType(Fluids.fromID(stack.getItemDamage())); + if(world.getTileEntity(x, y, z) instanceof TileEntityPipeBaseNT) { + ((TileEntityPipeBaseNT) world.getTileEntity(x, y, z)).setType(Fluids.fromID(stack.getItemDamage())); } world.playSoundEffect(x, y, z, "hbm:block.pipePlaced", 1.0F, 0.65F + world.rand.nextFloat() * 0.2F); diff --git a/src/main/java/com/hbm/render/tileentity/RenderFurnaceSteel.java b/src/main/java/com/hbm/render/tileentity/RenderFurnaceSteel.java index 9d070f3be..42e00e615 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderFurnaceSteel.java +++ b/src/main/java/com/hbm/render/tileentity/RenderFurnaceSteel.java @@ -6,7 +6,9 @@ import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ModBlocks; import com.hbm.main.ResourceManager; import com.hbm.render.item.ItemRenderBase; +import com.hbm.tileentity.machine.TileEntityFurnaceSteel; +import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.item.Item; import net.minecraft.tileentity.TileEntity; @@ -33,6 +35,30 @@ public class RenderFurnaceSteel extends TileEntitySpecialRenderer implements IIt bindTexture(ResourceManager.furnace_steel_tex); ResourceManager.furnace_steel.renderAll(); + TileEntityFurnaceSteel furnace = (TileEntityFurnaceSteel) tileEntity; + + if(furnace.wasOn) { + GL11.glDisable(GL11.GL_TEXTURE_2D); + GL11.glEnable(GL11.GL_BLEND); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE); + float col = (float )Math.sin(System.currentTimeMillis() * 0.001); + Tessellator tess = Tessellator.instance; + tess.startDrawingQuads(); + tess.setColorRGBA_F(0.875F + col * 0.125F, 0.625F + col * 0.375F, 0F, 0.5F); + //tess.setColorRGBA_I(Color.HSBtoRGB(furnace.getWorldObj().getTotalWorldTime() / 50.0F, 0.5F, 0.1F) & 16777215, 255); + tess.setBrightness(240); + for(int i = 0; i < 4; i++) { + tess.setNormal(1F, 0F, 0F); + tess.addVertex(1 + i * 0.0625, 1, -1); + tess.addVertex(1 + i * 0.0625, 1, 1); + tess.addVertex(1 + i * 0.0625, 0.5, 1); + tess.addVertex(1 + i * 0.0625, 0.5, -1); + } + tess.draw(); + GL11.glDisable(GL11.GL_BLEND); + GL11.glEnable(GL11.GL_TEXTURE_2D); + } + GL11.glPopMatrix(); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityChungus.java b/src/main/java/com/hbm/tileentity/machine/TileEntityChungus.java index 453733386..5d11587c7 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityChungus.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityChungus.java @@ -18,6 +18,7 @@ import com.hbm.packet.PacketDispatcher; import com.hbm.tileentity.INBTPacketReceiver; import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.util.fauxpointtwelve.BlockPos; +import com.hbm.util.fauxpointtwelve.DirPos; import api.hbm.energy.IEnergyGenerator; import api.hbm.fluid.IFluidStandardTransceiver; @@ -79,9 +80,9 @@ public class TileEntityChungus extends TileEntityLoadedBase implements IFluidAcc ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); this.sendPower(worldObj, xCoord - dir.offsetX * 11, yCoord, zCoord - dir.offsetZ * 11, dir); - for(BlockPos pos : this.getConPos()) { - this.sendFluid(tanks[1].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), dir); - this.trySubscribe(tanks[0].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), dir); + for(DirPos pos : this.getConPos()) { + this.sendFluid(tanks[1].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + this.trySubscribe(tanks[0].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } if(power > maxPower) @@ -138,13 +139,13 @@ public class TileEntityChungus extends TileEntityLoadedBase implements IFluidAcc } } - public BlockPos[] getConPos() { + public DirPos[] getConPos() { ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - return new BlockPos[] { - new BlockPos(xCoord - dir.offsetX * 4, yCoord + 2, zCoord - dir.offsetZ * 4), - new BlockPos(xCoord + rot.offsetX * 3, yCoord, zCoord + rot.offsetZ * 3), - new BlockPos(xCoord - rot.offsetZ * 3, yCoord, zCoord - rot.offsetZ * 3) + return new DirPos[] { + new DirPos(xCoord + dir.offsetX * 5, yCoord + 2, zCoord + dir.offsetZ * 5, dir), + new DirPos(xCoord + rot.offsetX * 3, yCoord, zCoord + rot.offsetZ * 3, rot), + new DirPos(xCoord - rot.offsetX * 3, yCoord, zCoord - rot.offsetZ * 3, rot.getOpposite()) }; } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceSteel.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceSteel.java index 642c99014..ff6bffa73 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceSteel.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceSteel.java @@ -110,6 +110,10 @@ public class TileEntityFurnaceSteel extends TileEntityMachineBase implements IGU if(worldObj.rand.nextInt(20) == 0) worldObj.spawnParticle("cloud", xCoord + 0.5 + dir.offsetX * 0.75, yCoord + 2, zCoord + 0.5 + dir.offsetZ * 0.75, 0.0, 0.05, 0.0); + + if(worldObj.rand.nextInt(15) == 0) + worldObj.spawnParticle("lava", xCoord + 0.5 + dir.offsetX * 1.5 + rot.offsetX * (worldObj.rand.nextDouble() - 0.5), yCoord + 0.75, zCoord + 0.5 + dir.offsetZ * 1.5 + rot.offsetZ * (worldObj.rand.nextDouble() - 0.5), dir.offsetX * 0.5D, 0.05, dir.offsetZ * 0.5D); + } } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantBase.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantBase.java index 36d55272b..be3879c33 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantBase.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantBase.java @@ -426,7 +426,7 @@ public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBa FluidTank tank = rec.get(i); int fillWeight = weight.get(i); - int part = (int) ((long)amount * (long)fillWeight / (long)demand); + int part = (int) (Math.min((long)amount, (long)demand) * (long)fillWeight / (long)demand); tank.setFill(tank.getFill() + part); } @@ -556,7 +556,7 @@ public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBa FluidTank tank = rec.get(i); int fillWeight = weight.get(i); - int part = (int) ((long)amount * (long)fillWeight / (long)demand); + int part = (int) (Math.min((long)amount, (long)demand) * (long)fillWeight / (long)demand); tank.setFill(tank.getFill() + part); fluid -= part; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineLargeTurbine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineLargeTurbine.java index 050d19aec..ac1fb1502 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineLargeTurbine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineLargeTurbine.java @@ -66,6 +66,7 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); this.sendPower(worldObj, xCoord + dir.offsetX * -4, yCoord, zCoord + dir.offsetZ * -4, dir.getOpposite()); + for(DirPos pos : getConPos()) this.trySubscribe(tanks[0].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); for(DirPos pos : getConPos()) this.sendFluid(tanks[1].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); tanks[0].setType(0, 1, slots); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityTowerLarge.java b/src/main/java/com/hbm/tileentity/machine/TileEntityTowerLarge.java index 2ee2f78ea..2edfcb54b 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityTowerLarge.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityTowerLarge.java @@ -3,11 +3,13 @@ package com.hbm.tileentity.machine; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.lib.Library; import com.hbm.main.MainRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.util.ForgeDirection; @@ -45,7 +47,7 @@ public class TileEntityTowerLarge extends TileEntityCondenser { @Override public void fillFluidInit(FluidType type) { - for(int i = 2; i <= 6; i++) { + for(int i = 2; i < 6; i++) { ForgeDirection dir = ForgeDirection.getOrientation(i); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); fillFluid(xCoord + dir.offsetX * 5, yCoord, zCoord + dir.offsetZ * 5, getTact(), type); @@ -53,6 +55,30 @@ public class TileEntityTowerLarge extends TileEntityCondenser { fillFluid(xCoord + dir.offsetX * 5 + rot.offsetX * -3, yCoord, zCoord + dir.offsetZ * 5 + rot.offsetZ * -3, getTact(), type); } } + + @Override + public void subscribeToAllAround(FluidType type, TileEntity te) { + + for(int i = 2; i < 6; i++) { + ForgeDirection dir = ForgeDirection.getOrientation(i); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + this.trySubscribe(this.tanks[0].getTankType(), worldObj, xCoord + dir.offsetX * 5, yCoord, zCoord + dir.offsetZ * 5, dir); + this.trySubscribe(this.tanks[0].getTankType(), worldObj, xCoord + dir.offsetX * 5 + rot.offsetX * 3, yCoord, zCoord + dir.offsetZ * 5 + rot.offsetZ * 3, dir); + this.trySubscribe(this.tanks[0].getTankType(),worldObj, xCoord + dir.offsetX * 5 + rot.offsetX * -3, yCoord, zCoord + dir.offsetZ * 5 + rot.offsetZ * -3, dir); + } + } + + @Override + public void sendFluidToAll(FluidType type, TileEntity te) { + + for(int i = 2; i < 6; i++) { + ForgeDirection dir = ForgeDirection.getOrientation(i); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + this.sendFluid(this.tanks[1].getTankType(), worldObj, xCoord + dir.offsetX * 5, yCoord, zCoord + dir.offsetZ * 5, dir); + this.sendFluid(this.tanks[1].getTankType(), worldObj, xCoord + dir.offsetX * 5 + rot.offsetX * 3, yCoord, zCoord + dir.offsetZ * 5 + rot.offsetZ * 3, dir); + this.sendFluid(this.tanks[1].getTankType(),worldObj, xCoord + dir.offsetX * 5 + rot.offsetX * -3, yCoord, zCoord + dir.offsetZ * 5 + rot.offsetZ * -3, dir); + } + } AxisAlignedBB bb = null; diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java index 236d8031d..e3a220a7a 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java @@ -133,7 +133,7 @@ public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements I if(worldObj.getBlock(xCoord, yCoord - 1, zCoord) == ModBlocks.rbmk_loader) { return new DirPos[] { - new DirPos(this.xCoord + 1, this.yCoord + RBMKDials.getColumnHeight(worldObj) + 1, this.zCoord, Library.POS_Y), + new DirPos(this.xCoord, this.yCoord + RBMKDials.getColumnHeight(worldObj) + 1, this.zCoord, Library.POS_Y), new DirPos(this.xCoord + 1, this.yCoord - 1, this.zCoord, Library.POS_X), new DirPos(this.xCoord - 1, this.yCoord - 1, this.zCoord, Library.NEG_X), new DirPos(this.xCoord, this.yCoord - 1, this.zCoord + 1, Library.POS_Z), @@ -142,7 +142,7 @@ public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements I }; } else if(worldObj.getBlock(xCoord, yCoord - 2, zCoord) == ModBlocks.rbmk_loader) { return new DirPos[] { - new DirPos(this.xCoord + 1, this.yCoord + RBMKDials.getColumnHeight(worldObj) + 1, this.zCoord, Library.POS_Y), + new DirPos(this.xCoord, this.yCoord + RBMKDials.getColumnHeight(worldObj) + 1, this.zCoord, Library.POS_Y), new DirPos(this.xCoord + 1, this.yCoord - 2, this.zCoord, Library.POS_X), new DirPos(this.xCoord - 1, this.yCoord - 2, this.zCoord, Library.NEG_X), new DirPos(this.xCoord, this.yCoord - 2, this.zCoord + 1, Library.POS_Z), @@ -151,7 +151,7 @@ public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements I }; } else { return new DirPos[] { - new DirPos(this.xCoord + 1, this.yCoord + RBMKDials.getColumnHeight(worldObj) + 1, this.zCoord, Library.POS_Y) + new DirPos(this.xCoord, this.yCoord + RBMKDials.getColumnHeight(worldObj) + 1, this.zCoord, Library.POS_Y) }; } } diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKHeater.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKHeater.java index 0c4439768..e0c1138e6 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKHeater.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKHeater.java @@ -74,7 +74,7 @@ public class TileEntityRBMKHeater extends TileEntityRBMKSlottedBase implements I if(worldObj.getBlock(xCoord, yCoord - 1, zCoord) == ModBlocks.rbmk_loader) { return new DirPos[] { - new DirPos(this.xCoord + 1, this.yCoord + RBMKDials.getColumnHeight(worldObj) + 1, this.zCoord, Library.POS_Y), + new DirPos(this.xCoord, this.yCoord + RBMKDials.getColumnHeight(worldObj) + 1, this.zCoord, Library.POS_Y), new DirPos(this.xCoord + 1, this.yCoord - 1, this.zCoord, Library.POS_X), new DirPos(this.xCoord - 1, this.yCoord - 1, this.zCoord, Library.NEG_X), new DirPos(this.xCoord, this.yCoord - 1, this.zCoord + 1, Library.POS_Z), @@ -83,7 +83,7 @@ public class TileEntityRBMKHeater extends TileEntityRBMKSlottedBase implements I }; } else if(worldObj.getBlock(xCoord, yCoord - 2, zCoord) == ModBlocks.rbmk_loader) { return new DirPos[] { - new DirPos(this.xCoord + 1, this.yCoord + RBMKDials.getColumnHeight(worldObj) + 1, this.zCoord, Library.POS_Y), + new DirPos(this.xCoord, this.yCoord + RBMKDials.getColumnHeight(worldObj) + 1, this.zCoord, Library.POS_Y), new DirPos(this.xCoord + 1, this.yCoord - 2, this.zCoord, Library.POS_X), new DirPos(this.xCoord - 1, this.yCoord - 2, this.zCoord, Library.NEG_X), new DirPos(this.xCoord, this.yCoord - 2, this.zCoord + 1, Library.POS_Z), @@ -92,7 +92,7 @@ public class TileEntityRBMKHeater extends TileEntityRBMKSlottedBase implements I }; } else { return new DirPos[] { - new DirPos(this.xCoord + 1, this.yCoord + RBMKDials.getColumnHeight(worldObj) + 1, this.zCoord, Library.POS_Y) + new DirPos(this.xCoord, this.yCoord + RBMKDials.getColumnHeight(worldObj) + 1, this.zCoord, Library.POS_Y) }; } } diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java index aa42a7281..c6170daba 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java @@ -65,7 +65,7 @@ public class TileEntityRBMKOutgasser extends TileEntityRBMKSlottedBase implement if(worldObj.getBlock(xCoord, yCoord - 1, zCoord) == ModBlocks.rbmk_loader) { return new DirPos[] { - new DirPos(this.xCoord + 1, this.yCoord + RBMKDials.getColumnHeight(worldObj) + 1, this.zCoord, Library.POS_Y), + new DirPos(this.xCoord, this.yCoord + RBMKDials.getColumnHeight(worldObj) + 1, this.zCoord, Library.POS_Y), new DirPos(this.xCoord + 1, this.yCoord - 1, this.zCoord, Library.POS_X), new DirPos(this.xCoord - 1, this.yCoord - 1, this.zCoord, Library.NEG_X), new DirPos(this.xCoord, this.yCoord - 1, this.zCoord + 1, Library.POS_Z), @@ -74,7 +74,7 @@ public class TileEntityRBMKOutgasser extends TileEntityRBMKSlottedBase implement }; } else if(worldObj.getBlock(xCoord, yCoord - 2, zCoord) == ModBlocks.rbmk_loader) { return new DirPos[] { - new DirPos(this.xCoord + 1, this.yCoord + RBMKDials.getColumnHeight(worldObj) + 1, this.zCoord, Library.POS_Y), + new DirPos(this.xCoord, this.yCoord + RBMKDials.getColumnHeight(worldObj) + 1, this.zCoord, Library.POS_Y), new DirPos(this.xCoord + 1, this.yCoord - 2, this.zCoord, Library.POS_X), new DirPos(this.xCoord - 1, this.yCoord - 2, this.zCoord, Library.NEG_X), new DirPos(this.xCoord, this.yCoord - 2, this.zCoord + 1, Library.POS_Z), @@ -83,7 +83,7 @@ public class TileEntityRBMKOutgasser extends TileEntityRBMKSlottedBase implement }; } else { return new DirPos[] { - new DirPos(this.xCoord + 1, this.yCoord + RBMKDials.getColumnHeight(worldObj) + 1, this.zCoord, Library.POS_Y) + new DirPos(this.xCoord, this.yCoord + RBMKDials.getColumnHeight(worldObj) + 1, this.zCoord, Library.POS_Y) }; } } diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java index 6734e3fa6..38162e0f1 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java @@ -13,6 +13,7 @@ import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.lib.Library; import com.hbm.tileentity.IPersistentNBT; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.fauxpointtwelve.DirPos; import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.relauncher.Side; @@ -50,16 +51,14 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements if(age >= 20) age = 0; + if(this.mode == 2 || this.mode == 3) { + for(DirPos pos : getConPos()) this.tryUnsubscribe(tank.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ()); + } + if(this.mode == 0 || this.mode == 1) { + for(DirPos pos : getConPos()) this.trySubscribe(tank.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + } if(this.mode == 1 || this.mode == 2) { - FluidType type = tank.getTankType(); - sendFluid(type, worldObj, xCoord + 2, yCoord, zCoord - 1, Library.POS_X); - sendFluid(type, worldObj, xCoord + 2, yCoord, zCoord + 1, Library.POS_X); - sendFluid(type, worldObj, xCoord - 2, yCoord, zCoord - 1, Library.NEG_X); - sendFluid(type, worldObj, xCoord - 2, yCoord, zCoord + 1, Library.NEG_X); - sendFluid(type, worldObj, xCoord - 1, yCoord, zCoord + 2, Library.POS_Z); - sendFluid(type, worldObj, xCoord + 1, yCoord, zCoord + 2, Library.POS_Z); - sendFluid(type, worldObj, xCoord - 1, yCoord, zCoord - 2, Library.NEG_Z); - sendFluid(type, worldObj, xCoord + 1, yCoord, zCoord - 2, Library.NEG_Z); + for(DirPos pos : getConPos()) this.sendFluid(tank.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } if((mode == 1 || mode == 2) && (age == 9 || age == 19)) @@ -88,6 +87,19 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements } } + protected DirPos[] getConPos() { + return new DirPos[] { + new DirPos(xCoord + 2, yCoord, zCoord - 1, Library.POS_X), + new DirPos(xCoord + 2, yCoord, zCoord + 1, Library.POS_X), + new DirPos(xCoord - 2, yCoord, zCoord - 1, Library.NEG_X), + new DirPos(xCoord - 2, yCoord, zCoord + 1, Library.NEG_X), + new DirPos(xCoord - 1, yCoord, zCoord + 2, Library.POS_Z), + new DirPos(xCoord + 1, yCoord, zCoord + 2, Library.POS_Z), + new DirPos(xCoord - 1, yCoord, zCoord - 2, Library.NEG_Z), + new DirPos(xCoord + 1, yCoord, zCoord - 2, Library.NEG_Z) + }; + } + public void networkUnpack(NBTTagCompound data) { mode = data.getShort("mode"); diff --git a/src/main/java/com/hbm/world/feature/OreLayer3D.java b/src/main/java/com/hbm/world/feature/OreLayer3D.java index 8279a0158..6d5c9de44 100644 --- a/src/main/java/com/hbm/world/feature/OreLayer3D.java +++ b/src/main/java/com/hbm/world/feature/OreLayer3D.java @@ -40,26 +40,21 @@ public class OreLayer3D { int cX = event.chunkX; int cZ = event.chunkZ; - double scaleH = 0.02D; - double scaleV = 0.2D; + double scaleH = 0.04D; + double scaleV = 0.25D; for(int x = cX + 8; x < cX + 24; x++) { for(int z = cZ + 8; z < cZ + 24; z++) { - - double nY = this.noiseY.func_151601_a(x * scaleH, z * scaleH); - - if(nY > 4) { + for(int y = 64; y > 5; y--) { + double nX = this.noiseX.func_151601_a(y * scaleV, z * scaleH); + double nY = this.noiseY.func_151601_a(x * scaleH, z * scaleH); + double nZ = this.noiseZ.func_151601_a(x * scaleH, y * scaleV); - for(int y = 64; y > 5; y--) { - double nX = this.noiseX.func_151601_a(y * scaleV, z * scaleH); - double nZ = this.noiseZ.func_151601_a(x * scaleH, y * scaleV); + if(nX * nY * nZ > 220) { + Block target = world.getBlock(x, y, z); - if(nX > 4 && nZ > 4) { - Block target = world.getBlock(x, y, z); - - if(target.isNormalCube() && target.getMaterial() == Material.rock) { - world.setBlock(x, y, z, block, meta, 2); - } + if(target.isNormalCube() && target.getMaterial() == Material.rock) { + world.setBlock(x, y, z, block, meta, 2); } } } diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index c11796120..c8fa56426 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -695,12 +695,14 @@ hbmmat.lignite=Braunkohle hbmmat.lithium=Lithium hbmmat.magnetizedtungsten=Magnetisierter Wolfram hbmmat.malachite=Malachit +hbmmat.meteoriciron=Meteoriteneisen hbmmat.mingrade=Minecraft-Kupfer hbmmat.neptunium237=Neptunium-237 hbmmat.niobium=Niob hbmmat.obsidian=Obsidian hbmmat.osmiridium=Osmiridium hbmmat.petcoke=Petroleumkoks +hbmmat.pigiron=Roheisen hbmmat.plutonium=Plutonium hbmmat.plutonium238=Plutonium-238 hbmmat.plutonium239=Plutonium-239 @@ -736,6 +738,7 @@ hbmmat.uranium235=Uran-235 hbmmat.uranium238=Uran-238 hbmmat.whitephosphorus=Weißer Phosphor hbmmat.workersalloy=Desh +hbmmat.wroughtiron=Schmiedeeisen matshape.block=%s Block matshape.blocks=%s Blöcke diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 520c9cb4d..767c4b9d5 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -1011,12 +1011,14 @@ hbmmat.lignite=Lignite hbmmat.lithium=Lithium hbmmat.magnetizedtungsten=Magnetized Tungsten hbmmat.malachite=Malachite +hbmmat.meteoriciron=Meteoric Iron hbmmat.mingrade=Minecraft Grade Copper hbmmat.neptunium237=Neptunium-237 hbmmat.niobium=Niobium hbmmat.obsidian=Obsidian hbmmat.osmiridium=Osmiridium hbmmat.petcoke=Petroleum Coke +hbmmat.pigiron=Pig Iron hbmmat.plutonium=Plutonium hbmmat.plutonium238=Plutonium-238 hbmmat.plutonium239=Plutonium-239 @@ -1052,6 +1054,7 @@ hbmmat.uranium235=Uranium-235 hbmmat.uranium238=Uranium-238 hbmmat.whitephosphorus=White Phosphorus hbmmat.workersalloy=Desh +hbmmat.wroughtiron=Wroght Iron matshape.block=%s Block matshape.blocks=%s Blocks