fancier steel furnaces, fixed new fluid sys for some machines, strata

This commit is contained in:
Bob 2022-12-01 22:07:11 +01:00
parent dc6a5e6ebb
commit 9f3424120e
18 changed files with 134 additions and 56 deletions

View File

@ -87,5 +87,5 @@ public interface IFluidConnector {
}
}
public static final boolean particleDebug = false;
public static final boolean particleDebug = true;
}

View File

@ -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

View File

@ -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<ItemStack> 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) });

View File

@ -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));

View File

@ -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);

View File

@ -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();
}

View File

@ -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())
};
}

View File

@ -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);
}
}
}

View File

@ -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;

View File

@ -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);

View File

@ -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;

View File

@ -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)
};
}
}

View File

@ -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)
};
}
}

View File

@ -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)
};
}
}

View File

@ -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");

View File

@ -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);
}
}
}

View File

@ -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

View File

@ -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