mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-08-10 17:55:44 +00:00
balls.mp4
This commit is contained in:
parent
5a47a351a0
commit
3bccdef311
24
changelog
24
changelog
@ -1,23 +1,7 @@
|
||||
## Changed
|
||||
* Updated russian and chinese localization
|
||||
* Updated the trinitite ore textures
|
||||
* The ore spots are now smaller and more shard-like
|
||||
* Each trinitite ore block now has four randomized texture variants
|
||||
* Trinitite ores now spawn fewer particles
|
||||
* The radiation effect caused by walking on trinitite ore is now much shorter but more intense to compensate
|
||||
* Finally removed the old terra drill items after being deprecated for almost a year
|
||||
* The electrolysis machine now instantly annihilates all buffered fluid output when changing recipe
|
||||
* This is a straight downgrade but people for some reason wanted it so sure why not
|
||||
* Cable diodes now have a GUI for configuration instead of requiring tools
|
||||
* The throughput can now be configured more precisely instead of increments of powers of 10
|
||||
* The magnetic storage barrel now uses BSCCO and has a new texture
|
||||
* Updated all oil well GUI textures
|
||||
* There's now only two upgrade slots instead of three
|
||||
* All legacy pixel gauges have been replaced with smooth ones (watz, ZIRNOX, CCGT) making them more accurate
|
||||
|
||||
## Fixed
|
||||
* Fixed burner press GUI offsets being incorrect
|
||||
* Potentially fixed an issue with journey map where slaked sellafite would sometimes get the wrong color in the minimap
|
||||
* Finally fixed an issue making electric armor way worse than it should be, as well as preventing the vanilla armor points from working almost entirely
|
||||
* Fixed pneumatic storage exporter duping filter items when broken
|
||||
* Re-enabled the GTNH-NEI filter slot integration
|
||||
* Fixed various GUI title offsets
|
||||
* Fixed mask man announcement being sent 20 minutes before spawn (therefore never being sent at all) instead of one minute as intended
|
||||
* Fixed old BAT9000 recycling
|
||||
* Fixed held block being placed when not sneaking when opening the cable diode's GUI
|
||||
@ -1965,7 +1965,7 @@ public class ModBlocks {
|
||||
|
||||
pile_brick = new BlockPileBrick().setBlockName("pile_brick").setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pile_brick");
|
||||
pile_device = new BlockPileDevice().setBlockName("pile_device").setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel");
|
||||
pile_block = new BlockPile().setBlockName("pile_block").setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pile_block");
|
||||
pile_block = new BlockPile().setBlockName("pile_block").setStepSound(Block.soundTypeMetal).setHardness(15.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pile_block");
|
||||
|
||||
pwr_fuel = new BlockPillarPWR(Material.iron, RefStrings.MODID + ":pwr_fuel_top").setBlockName("pwr_fuel").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_fuel_side");
|
||||
pwr_control = new BlockPillarPWR(Material.iron, RefStrings.MODID + ":pwr_control_top").setBlockName("pwr_control").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_control_side");
|
||||
@ -1977,7 +1977,7 @@ public class ModBlocks {
|
||||
pwr_casing = new BlockGenericTooltip(Material.iron).setBlockName("pwr_casing").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_casing");
|
||||
pwr_port = new BlockGenericTooltip(Material.iron).setBlockName("pwr_port").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_port");
|
||||
pwr_controller = new MachinePWRController(Material.iron).setBlockName("pwr_controller").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_casing_blank");
|
||||
pwr_block = new BlockPWR(Material.iron).setBlockName("pwr_block").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":pwr_block");
|
||||
pwr_block = new BlockPWR(Material.iron).setBlockName("pwr_block").setHardness(15.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":pwr_block");
|
||||
|
||||
fusion_heater = new BlockPillar(Material.iron, RefStrings.MODID + ":fusion_heater_top").setBlockName("fusion_heater").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":fusion_heater_side");
|
||||
fusion_hatch = new FusionHatch(Material.iron).setBlockName("fusion_hatch").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":fusion_hatch");
|
||||
@ -3134,12 +3134,12 @@ public class ModBlocks {
|
||||
register(red_pylon_medium_wood_transformer);
|
||||
register(red_pylon_medium_steel);
|
||||
register(red_pylon_medium_steel_transformer);
|
||||
GameRegistry.registerBlock(red_pylon_large, ItemBlockBase.class, red_pylon_large.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(substation, ItemBlockBase.class, substation.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(cable_switch, cable_switch.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(cable_detector, cable_detector.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(cable_diode, ItemBlockBase.class, cable_diode.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(machine_detector, machine_detector.getUnlocalizedName());
|
||||
register(red_pylon_large);
|
||||
register(substation);
|
||||
register(cable_switch);
|
||||
register(cable_detector);
|
||||
register(cable_diode);
|
||||
register(machine_detector);
|
||||
|
||||
register(fluid_duct_neo);
|
||||
register(fluid_duct_box);
|
||||
|
||||
@ -12,6 +12,7 @@ import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.block.BlockContainer;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
@ -67,6 +68,17 @@ public class BlockPileDevice extends BlockContainer implements IBlockMulti {
|
||||
return metaOffset + side;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) {
|
||||
if(world.getBlockMetadata(x, y, z) != BLOCK_META_CONTROL) return;
|
||||
|
||||
int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3;
|
||||
if(i == 0) world.setBlockMetadataWithNotify(x, y, z, BLOCK_META_CONTROL + 1, 2);
|
||||
if(i == 1) world.setBlockMetadataWithNotify(x, y, z, BLOCK_META_CONTROL + 2, 2);
|
||||
if(i == 2) world.setBlockMetadataWithNotify(x, y, z, BLOCK_META_CONTROL + 0, 2);
|
||||
if(i == 3) world.setBlockMetadataWithNotify(x, y, z, BLOCK_META_CONTROL + 3, 2);
|
||||
}
|
||||
|
||||
public static int itemMetaToBlockMeta(int meta) {
|
||||
if(meta >= ITEM_META_CONTROL) return BLOCK_META_CONTROL;
|
||||
if(meta == ITEM_META_VENT) return BLOCK_META_VENT;
|
||||
|
||||
@ -65,8 +65,8 @@ public class CableDiode extends BlockContainer implements IEnergyConnectorBlock,
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float fX, float fY, float fZ) {
|
||||
|
||||
if(!player.isSneaking() && world.isRemote) {
|
||||
FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z);
|
||||
if(!player.isSneaking()) {
|
||||
if(world.isRemote) FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@ -127,53 +127,4 @@ public class ExplosionBalefire
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*private void breakColumn(int x, int z)
|
||||
{
|
||||
int dist = this.radius2 - (x * x + z * z);
|
||||
if (dist > 0)
|
||||
{
|
||||
int pX = posX + x;
|
||||
int pZ = posZ + z;
|
||||
|
||||
int y = worldObj.getHeightValue(pX, pZ);
|
||||
float strength = (float)dist / (float) this.radius;
|
||||
|
||||
while(y > 0) {
|
||||
|
||||
if(strength <= 10) {
|
||||
if(worldObj.rand.nextInt(10) == 0) {
|
||||
worldObj.setBlock(pX, y + 1, pZ, ModBlocks.balefire);
|
||||
|
||||
if(worldObj.getBlock(pX, y, pZ) == ModBlocks.block_schrabidium_cluster)
|
||||
worldObj.setBlock(pX, y, pZ, ModBlocks.block_euphemium_cluster, worldObj.getBlockMetadata(pX, y, pZ), 3);
|
||||
}
|
||||
|
||||
if(worldObj.getBlock(pX, y, pZ) == Blocks.stone)
|
||||
worldObj.setBlock(pX, y, pZ, ModBlocks.sellafield_slaked);
|
||||
if(worldObj.getBlock(pX, y - 1, pZ) == Blocks.stone)
|
||||
worldObj.setBlock(pX, y - 1, pZ, ModBlocks.sellafield_slaked);
|
||||
if(worldObj.getBlock(pX, y - 2, pZ) == Blocks.stone)
|
||||
worldObj.setBlock(pX, y - 2, pZ, ModBlocks.sellafield_slaked);
|
||||
if(worldObj.getBlock(pX, y - 3, pZ) == Blocks.stone)
|
||||
worldObj.setBlock(pX, y - 3, pZ, ModBlocks.sellafield_slaked);
|
||||
if(worldObj.getBlock(pX, y - 4, pZ) == Blocks.stone)
|
||||
worldObj.setBlock(pX, y - 4, pZ, ModBlocks.sellafield_slaked);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
float hardness = worldObj.getBlock(pX, y, pZ).getBlockHardness(worldObj, pX, y, pZ);
|
||||
|
||||
if(worldObj.getBlock(pX, y, pZ).getMaterial().isLiquid())
|
||||
hardness = Blocks.air.getBlockHardness(worldObj, pX, y + 1, pZ);
|
||||
|
||||
strength -= hardness;
|
||||
|
||||
worldObj.setBlockToAir(pX, y, pZ);
|
||||
|
||||
y--;
|
||||
}
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
@ -28,7 +28,6 @@ import net.minecraft.util.ResourceLocation;
|
||||
public class GUIMachineTurbineGas extends GuiInfoContainer {
|
||||
|
||||
private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/generators/gui_turbinegas.png");
|
||||
private static ResourceLocation gauge_tex = new ResourceLocation(RefStrings.MODID + ":textures/gui/gauges/button_big.png");
|
||||
private TileEntityMachineTurbineGas turbinegas;
|
||||
|
||||
int yStart;
|
||||
|
||||
@ -492,6 +492,11 @@ public class AssemblyMachineRecipes extends GenericRecipes<GenericRecipe> {
|
||||
.inputItemsEx(new ComparableStack(ModItems.item_expensive, 8, EnumExpensiveType.LEAD_PLATING), new OreDictStack(ANY_HARDPLASTIC.ingot(), 24), new OreDictStack(GOLD.wireDense(), 32), new ComparableStack(ModItems.circuit, 4, EnumCircuitType.BISMOID), new ComparableStack(ModItems.item_expensive, 2, EnumExpensiveType.COMPUTER))
|
||||
.setPools528(GenericRecipes.POOL_PREFIX_528 + "chip_quantum"));
|
||||
|
||||
// pile
|
||||
this.register(new GenericRecipe("ass.pileblock").setup(20, 250).outputItems(new ItemStack(ModBlocks.pile_brick, 1))
|
||||
.inputItems(new OreDictStack(KEY_PLANKS, 1), new OreDictStack(GRAPHITE.ingot(), 4), new OreDictStack(STEEL.bolt(), 2))
|
||||
.inputItemsEx(new OreDictStack(KEY_PLANKS, 1), new OreDictStack(GRAPHITE.ingot(), 8), new OreDictStack(STEEL.plate(), 1)));
|
||||
|
||||
// reactors
|
||||
this.register(new GenericRecipe("ass.breedingreactor").setup(200, 100).outputItems(new ItemStack(ModBlocks.machine_reactor_breeding, 1))
|
||||
.inputItems(new ComparableStack(ModItems.reactor_core, 1), new OreDictStack(STEEL.ingot(), 12), new OreDictStack(PB.plate(), 16), new ComparableStack(ModBlocks.reinforced_glass, 4), new OreDictStack(ASBESTOS.ingot(), 4), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 4), new ComparableStack(ModItems.crt_display, 1))
|
||||
|
||||
@ -3,6 +3,7 @@ package com.hbm.render.tileentity;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.main.ResourceManager;
|
||||
import com.hbm.tileentity.machine.pile.TileEntityPileVent;
|
||||
|
||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
@ -23,9 +24,12 @@ public class RenderPileVent extends TileEntitySpecialRenderer {
|
||||
case 3: GL11.glRotated(0, 0, 1, 0); break;
|
||||
}
|
||||
|
||||
TileEntityPileVent vent = (TileEntityPileVent) te;
|
||||
float rot = vent.lastFan + (vent.fan - vent.lastFan) * interp;
|
||||
|
||||
bindTexture(ResourceManager.pile_vent_tex);
|
||||
ResourceManager.pile_vent.renderPart("Pipe");
|
||||
GL11.glRotated((te.getWorldObj().getTotalWorldTime() % 360 + interp) * 45, 0, -1, 0);
|
||||
GL11.glRotated(rot, 0, -1, 0);
|
||||
ResourceManager.pile_vent.renderPart("Fan");
|
||||
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
|
||||
@ -1,7 +1,80 @@
|
||||
package com.hbm.tileentity.machine.pile;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.blocks.machine.pile.BlockPile;
|
||||
import com.hbm.tileentity.TileEntityTickingBase;
|
||||
import com.hbm.tileentity.machine.pile.TileEntityPileCore.PileChannel;
|
||||
import com.hbm.util.Compat;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
|
||||
public class TileEntityPileControl extends TileEntity {
|
||||
public class TileEntityPileControl extends TileEntityTickingBase {
|
||||
|
||||
public double syncLevel;
|
||||
public double level;
|
||||
public double lastLevel;
|
||||
|
||||
public int turnProgress;
|
||||
|
||||
public int chanNum;
|
||||
|
||||
@Override
|
||||
public void updateEntity() {
|
||||
|
||||
if(!worldObj.isRemote) {
|
||||
|
||||
boolean canMove = false;
|
||||
|
||||
if(worldObj.getBlock(xCoord, yCoord - 1, zCoord) == ModBlocks.pile_block && worldObj.getBlockMetadata(xCoord, yCoord - 1, zCoord) == BlockPile.META_CONTROL) {
|
||||
|
||||
TileEntity tile = Compat.getTileStandard(worldObj, xCoord, yCoord - 1, zCoord);
|
||||
|
||||
if(tile instanceof TileEntityPileBaseMK2) {
|
||||
TileEntityPileBaseMK2 pile = (TileEntityPileBaseMK2) tile;
|
||||
TileEntityPileCore core = pile.getCore();
|
||||
|
||||
if(core != null) {
|
||||
PileChannel controlChan = core.getControlChannel(xCoord, yCoord - 1, zCoord);
|
||||
|
||||
if(controlChan != null) {
|
||||
canMove = true;
|
||||
this.chanNum = core.getControlChannelNum(controlChan);
|
||||
controlChan.control = this.level;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.networkPackNT(100);
|
||||
|
||||
} else {
|
||||
|
||||
this.lastLevel = this.level;
|
||||
|
||||
if(this.turnProgress > 0) {
|
||||
this.level = this.level + ((this.syncLevel - this.level) / (double) this.turnProgress);
|
||||
--this.turnProgress;
|
||||
} else {
|
||||
this.level = this.syncLevel;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void serialize(ByteBuf buf) {
|
||||
super.serialize(buf);
|
||||
buf.writeDouble(this.level);
|
||||
buf.writeInt(this.chanNum);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deserialize(ByteBuf buf) {
|
||||
super.deserialize(buf);
|
||||
double lastSync = this.syncLevel;
|
||||
this.syncLevel = buf.readDouble();
|
||||
this.chanNum = buf.readInt();
|
||||
|
||||
if(this.syncLevel != lastSync) this.turnProgress = 2;
|
||||
}
|
||||
}
|
||||
|
||||
@ -15,6 +15,7 @@ import com.hbm.util.fauxpointtwelve.DirPos;
|
||||
|
||||
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
@ -81,6 +82,14 @@ public class TileEntityPileCore extends TileEntityTickingBase {
|
||||
return null;
|
||||
}
|
||||
|
||||
public int getFuelChannelNum(PileChannel chan) { return getChannelNum(chan, fuelChannels); }
|
||||
public int getVentilationChannelNum(PileChannel chan) { return getChannelNum(chan, ventilationChannels); }
|
||||
public int getControlChannelNum(PileChannel chan) { return getChannelNum(chan, controlChannels); }
|
||||
|
||||
public int getChannelNum(PileChannel chan, List<PileChannel> list) {
|
||||
return list.indexOf(chan); // more reliable when channels change and not that big of a deal because we have lists in single digit length
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToNBT(NBTTagCompound nbt) {
|
||||
super.writeToNBT(nbt);
|
||||
@ -185,6 +194,7 @@ public class TileEntityPileCore extends TileEntityTickingBase {
|
||||
if(!worldObj.isRemote) {
|
||||
|
||||
if(worldObj.getTotalWorldTime() % 3 == 0) for(PileChannel chan : this.ventilationChannels) {
|
||||
if(chan.air <= 0) continue;
|
||||
|
||||
double x = chan.entry.getX() + 0.5 + chan.entry.getDir().offsetX * (this.width - 0.375);
|
||||
double y = chan.entry.getY() + 0.5;
|
||||
@ -227,18 +237,25 @@ public class TileEntityPileCore extends TileEntityTickingBase {
|
||||
public final int length; // length of the channel, always equal to the h/w/d size of that axis
|
||||
public final PileChannelType type;
|
||||
|
||||
public final ItemStack[] rods;
|
||||
public int air;
|
||||
public double control = 1D; // pulled out by default, unlike me who never pulls out
|
||||
|
||||
public PileChannel(int x, int y, int z, ForgeDirection dir) {
|
||||
this.entry = new DirPos(x, y, z, dir);
|
||||
this.type = PileChannelType.getChannelType(dir, orientation);
|
||||
this.length =
|
||||
type == PileChannelType.CONTROL ? height :
|
||||
type == PileChannelType.FUEL ? depth : width;
|
||||
|
||||
this.rods = new ItemStack[length];
|
||||
}
|
||||
|
||||
public PileChannel(int x, int y, int z, ForgeDirection dir, int length, PileChannelType type) {
|
||||
this.entry = new DirPos(x, y, z, dir);
|
||||
this.type = type;
|
||||
this.length = length;
|
||||
this.rods = new ItemStack[length];
|
||||
}
|
||||
|
||||
public void writeChannelToNBT(NBTTagCompound nbt, String name) {
|
||||
|
||||
@ -1,7 +1,107 @@
|
||||
package com.hbm.tileentity.machine.pile;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.blocks.machine.pile.BlockPile;
|
||||
import com.hbm.inventory.fluid.FluidType;
|
||||
import com.hbm.inventory.fluid.Fluids;
|
||||
import com.hbm.inventory.fluid.tank.FluidTank;
|
||||
import com.hbm.tileentity.TileEntityTickingBase;
|
||||
import com.hbm.tileentity.machine.pile.TileEntityPileCore.PileChannel;
|
||||
import com.hbm.util.Compat;
|
||||
|
||||
import api.hbm.fluidmk2.IFluidStandardReceiverMK2;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
public class TileEntityPileVent extends TileEntity {
|
||||
public class TileEntityPileVent extends TileEntityTickingBase implements IFluidStandardReceiverMK2 {
|
||||
|
||||
public FluidTank compair;
|
||||
public boolean isActive = false;
|
||||
|
||||
public float fan;
|
||||
public float lastFan;
|
||||
|
||||
public int chanNum;
|
||||
|
||||
public TileEntityPileVent() {
|
||||
this.compair = new FluidTank(Fluids.AIR, 4_000);
|
||||
}
|
||||
|
||||
@Override public FluidTank[] getAllTanks() { return new FluidTank[] {compair}; }
|
||||
@Override public FluidTank[] getReceivingTanks() { return new FluidTank[] {compair}; }
|
||||
|
||||
@Override
|
||||
public boolean canConnect(FluidType type, ForgeDirection dir) {
|
||||
if(type != compair.getTankType()) return false;
|
||||
ForgeDirection conDir = getOrientation();
|
||||
return dir == conDir.getOpposite();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateEntity() {
|
||||
|
||||
if(!worldObj.isRemote) {
|
||||
|
||||
ForgeDirection dir = getOrientation();
|
||||
this.trySubscribe(compair.getTankType(), worldObj, xCoord - dir.offsetX, yCoord, zCoord - dir.offsetZ, dir.getOpposite());
|
||||
|
||||
this.isActive = false;
|
||||
|
||||
if(this.compair.getFill() > 0) {
|
||||
int x = xCoord + dir.offsetX;
|
||||
int y = yCoord;
|
||||
int z = zCoord + dir.offsetZ;
|
||||
|
||||
if(worldObj.getBlock(x, y, z) == ModBlocks.pile_block && worldObj.getBlockMetadata(x, y, z) == BlockPile.META_AIR_IN) {
|
||||
TileEntity tile = Compat.getTileStandard(worldObj, xCoord + dir.offsetX, yCoord, zCoord + dir.offsetZ);
|
||||
|
||||
if(tile instanceof TileEntityPileBaseMK2) {
|
||||
TileEntityPileBaseMK2 pile = (TileEntityPileBaseMK2) tile;
|
||||
TileEntityPileCore core = pile.getCore();
|
||||
|
||||
if(core != null) {
|
||||
PileChannel ventChan = core.getVentilationChannel(x, y, z);
|
||||
|
||||
if(ventChan != null) {
|
||||
this.isActive = true;
|
||||
this.chanNum = core.getVentilationChannelNum(ventChan);
|
||||
// compair stuff here
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.networkPackNT(35);
|
||||
|
||||
} else {
|
||||
|
||||
this.lastFan = fan;
|
||||
if(this.isActive) this.fan += 45;
|
||||
|
||||
if(this.fan >= 360) {
|
||||
this.lastFan -= 360;
|
||||
this.fan -= 360;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public ForgeDirection getOrientation() {
|
||||
return ForgeDirection.getOrientation(this.getBlockMetadata() % 4 + 2);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void serialize(ByteBuf buf) {
|
||||
super.serialize(buf);
|
||||
buf.writeBoolean(this.isActive);
|
||||
buf.writeInt(this.chanNum);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deserialize(ByteBuf buf) {
|
||||
super.deserialize(buf);
|
||||
this.isActive = buf.readBoolean();
|
||||
this.chanNum = buf.readInt();
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user