mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-08-10 17:55:44 +00:00
evil
This commit is contained in:
parent
d1af1e567c
commit
a24d6e4bce
12
changelog
12
changelog
@ -1,12 +1,22 @@
|
||||
## Added
|
||||
* Redstone-over-Radio Terminal
|
||||
* Allows commands to be sent manually, command line style
|
||||
* Supports single commands and repeated ones (polling)
|
||||
|
||||
## Changed
|
||||
* RoR graphs can now have their min and max bounds set to a fixed number
|
||||
* This should make it easier to accurately tell the difference/scale of values when they exist in an expected range (for example, RBMK temperatures)
|
||||
* RoR controllers now use polling by default, since state change is unable to actually perform a function unless the state changes, preventing repeated commands
|
||||
* HE/RF converters now have a tooltip showing their buffered energy
|
||||
* Updated the models of the cage lamp, fluorescent light and halogen lamp
|
||||
* 528 mode now has a new config for enabling gravity on machines
|
||||
* Machines not on solid ground will tilt, causing them to break
|
||||
* Still a work in progress, not all machines make use of it yet
|
||||
* The ZIRNOX for example will continue to operate when tilted, however the pipes will disconnect, resulting in a fatal loss of cooling
|
||||
* Slightly adjusted the automatic buzzsaw's texture
|
||||
|
||||
## Fixed
|
||||
* Fixed RoR graph showing the wrong name in the GUI
|
||||
* Fixed polling option in RoR controllers reading dead signals
|
||||
* Fixed polling option in RoR controllers reading dead signals
|
||||
* Fixed state change in RoR controllers not allowing repeat commands
|
||||
* Fixed blast furnace NEI handler not cycling through all valid material shapes
|
||||
@ -56,11 +56,13 @@ public class GeneralConfig {
|
||||
public static boolean enable528NetherBurn = true;
|
||||
public static boolean enable528PressurizedRecipes = true;
|
||||
public static boolean enable528ExplosiveEnergistics = true;
|
||||
public static boolean enable528MachineGravity = true;
|
||||
public static int coltanRate = 2;
|
||||
|
||||
public static boolean true528() {
|
||||
return enable528 && enable528ReasimBoilers && !enable528ColtanSpawn && enable528BosniaSimulator &&
|
||||
enable528NetherBurn && enable528PressurizedRecipes && enable528ExplosiveEnergistics && coltanRate <= 2;
|
||||
enable528NetherBurn && enable528PressurizedRecipes && enable528ExplosiveEnergistics &&
|
||||
enable528MachineGravity && coltanRate <= 2;
|
||||
}
|
||||
|
||||
public static boolean enableLBSM = false;
|
||||
@ -143,6 +145,7 @@ public class GeneralConfig {
|
||||
enable528NetherBurn = CommonConfig.createConfigBool(config, CATEGORY_528, "X528_enable528NetherBurn", "Whether players burn in the nether", true);
|
||||
enable528PressurizedRecipes = CommonConfig.createConfigBool(config, CATEGORY_528, "X528_enable528PressurizedRecipes", "Sets some recipes to require pressurized input fluid", true);
|
||||
enable528ExplosiveEnergistics = CommonConfig.createConfigBool(config, CATEGORY_528, "X528_enable528ExplosiveEnergistics", "Renders AE2 unusable.", true);
|
||||
enable528MachineGravity = CommonConfig.createConfigBool(config, CATEGORY_528, "X528_enable528MachineGravity", "Requires most large machines to have a proper foundation, or else they tilt and break.", true);
|
||||
coltanRate = CommonConfig.createConfigInt(config, CATEGORY_528, "X528_oreColtanFrequency", "Determines how many coltan ore veins are to be expected in a chunk. These values do not affect the frequency in deposits, and only apply if random coltan spanwing is enabled.", 2);
|
||||
|
||||
final String CATEGORY_LBSM = CommonConfig.CATEGORY_LBSM;
|
||||
@ -175,6 +178,7 @@ public class GeneralConfig {
|
||||
enable528NetherBurn = false;
|
||||
enable528PressurizedRecipes = false;
|
||||
enable528ExplosiveEnergistics = false;
|
||||
enable528MachineGravity = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -48,12 +48,12 @@ public class AlloyFurnaceRecipeHandler extends TemplateRecipeHandler implements
|
||||
|
||||
@Override
|
||||
public List<PositionedStack> getIngredients() {
|
||||
return getCycledIngredients(cycleticks / 48, Arrays.asList(new PositionedStack[] { input1, input2 }));
|
||||
return getCycledIngredients(cycleticks / 20, Arrays.asList(new PositionedStack[] { input1, input2 }));
|
||||
}
|
||||
|
||||
@Override
|
||||
public PositionedStack getOtherStack() {
|
||||
return fuels.get((cycleticks / 48) % fuels.size()).stack;
|
||||
return fuels.get((cycleticks / 20) % fuels.size()).stack;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -150,7 +150,7 @@ public class BlastFurnaceRecipes extends SerializableRecipe {
|
||||
else {
|
||||
in1.remove(nothing);
|
||||
in1.addAll(stack.extractForNEI());
|
||||
break;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if(in1.contains(nothing)) {
|
||||
@ -162,7 +162,7 @@ public class BlastFurnaceRecipes extends SerializableRecipe {
|
||||
} else {
|
||||
in2.remove(nothing);
|
||||
in2.addAll(stack.extractForNEI());
|
||||
break;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if(in2.contains(nothing)) {
|
||||
|
||||
@ -28,6 +28,12 @@ public class RenderFusionTorus extends TileEntitySpecialRenderer implements IIte
|
||||
|
||||
TileEntityFusionTorus torus = (TileEntityFusionTorus) tile;
|
||||
|
||||
if(torus.tilted) {
|
||||
GL11.glTranslated(0, -1, 0);
|
||||
GL11.glRotated(10, 0, 0, 1);
|
||||
GL11.glRotated(5, 0, 1, 0);
|
||||
}
|
||||
|
||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||
bindTexture(ResourceManager.fusion_torus_tex);
|
||||
ResourceManager.fusion_torus.renderPart("Torus");
|
||||
|
||||
@ -3,6 +3,7 @@ package com.hbm.render.tileentity;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.main.ResourceManager;
|
||||
import com.hbm.tileentity.machine.oil.TileEntityMachineGasFlare;
|
||||
|
||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
@ -16,6 +17,14 @@ public class RenderGasFlare extends TileEntitySpecialRenderer {
|
||||
GL11.glTranslated(x + 0.5D, y, z + 0.5D);
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
GL11.glRotatef(180, 0F, 1F, 0F);
|
||||
|
||||
TileEntityMachineGasFlare flare = (TileEntityMachineGasFlare) tileEntity;
|
||||
|
||||
if(flare.tilted) {
|
||||
GL11.glTranslated(0, -0.25, 0);
|
||||
GL11.glRotated(10, 0, 0, 1);
|
||||
GL11.glRotated(5, 0, 1, 0);
|
||||
}
|
||||
|
||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||
|
||||
@ -22,6 +22,12 @@ public class RenderRefinery extends TileEntitySpecialRenderer {
|
||||
bindTexture(ResourceManager.refinery_tex);
|
||||
|
||||
TileEntityMachineRefinery refinery = (TileEntityMachineRefinery) tileEntity;
|
||||
|
||||
if(refinery.tilted) {
|
||||
GL11.glTranslated(0, -0.25, 0);
|
||||
GL11.glRotated(10, 0, 0, 1);
|
||||
GL11.glRotated(5, 0, 1, 0);
|
||||
}
|
||||
|
||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||
|
||||
|
||||
@ -3,6 +3,7 @@ package com.hbm.render.tileentity;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.main.ResourceManager;
|
||||
import com.hbm.tileentity.machine.TileEntityReactorZirnox;
|
||||
|
||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
@ -15,15 +16,18 @@ public class RenderZirnox extends TileEntitySpecialRenderer {
|
||||
GL11.glTranslated(x + 0.5D, y, z + 0.5D);
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||
|
||||
if(((TileEntityReactorZirnox) tileEntity).tilted) {
|
||||
GL11.glTranslated(0, -0.5, 0);
|
||||
GL11.glRotated(10, 0, 0, 1);
|
||||
GL11.glRotated(5, 0, 1, 0);
|
||||
}
|
||||
|
||||
switch(tileEntity.getBlockMetadata() - 10) {
|
||||
case 2:
|
||||
GL11.glRotatef(90, 0F, 1F, 0F); break;
|
||||
case 3:
|
||||
GL11.glRotatef(270, 0F, 1F, 0F); break;
|
||||
case 4:
|
||||
GL11.glRotatef(180, 0F, 1F, 0F); break;
|
||||
case 5:
|
||||
GL11.glRotatef(0, 0F, 1F, 0F); break;
|
||||
case 2: GL11.glRotatef(90, 0F, 1F, 0F); break;
|
||||
case 3: GL11.glRotatef(270, 0F, 1F, 0F); break;
|
||||
case 4: GL11.glRotatef(180, 0F, 1F, 0F); break;
|
||||
case 5: GL11.glRotatef(0, 0F, 1F, 0F); break;
|
||||
}
|
||||
|
||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||
|
||||
@ -1,16 +1,20 @@
|
||||
package com.hbm.tileentity;
|
||||
|
||||
import com.hbm.config.GeneralConfig;
|
||||
import com.hbm.handler.threading.PacketThreading;
|
||||
import com.hbm.packet.toclient.BufPacket;
|
||||
import com.hbm.sound.AudioWrapper;
|
||||
import com.hbm.util.fauxpointtwelve.BlockPos;
|
||||
|
||||
import api.hbm.fluidmk2.IFluidUserMK2;
|
||||
import api.hbm.tile.ILoadedTile;
|
||||
import cpw.mods.fml.common.network.NetworkRegistry;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
public class TileEntityLoadedBase extends TileEntity implements ILoadedTile, IBufPacketReceiver {
|
||||
|
||||
@ -29,8 +33,6 @@ public class TileEntityLoadedBase extends TileEntity implements ILoadedTile, IBu
|
||||
public void onChunkUnload() {
|
||||
super.onChunkUnload();
|
||||
this.isLoaded = false;
|
||||
|
||||
if(this instanceof IFluidUserMK2) markChanged();
|
||||
}
|
||||
|
||||
/** The "chunks is modified, pls don't forget to save me" effect of markDirty, minus the block updates */
|
||||
@ -101,8 +103,59 @@ public class TileEntityLoadedBase extends TileEntity implements ILoadedTile, IBu
|
||||
PacketThreading.createAllAroundThreadedPacket(packet, new NetworkRegistry.TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, range));
|
||||
}
|
||||
|
||||
public void checkTilt(BlockPos[] floor, boolean extraHeavy) {
|
||||
public void checkTilt(boolean extraHeavy) {
|
||||
if(!GeneralConfig.enable528MachineGravity) { this.tilted = false; return; }
|
||||
if(this.getFloorCount() <= 0) { this.tilted = false; return; }
|
||||
if(this.worldObj.getTotalWorldTime() % 20 != 0) return;
|
||||
// TBI i need a break
|
||||
|
||||
if(this.tiltBlocksChecked >= this.getFloorCount()) {
|
||||
|
||||
if(this.tiltBlocksValid >= this.tiltBlocksChecked * 0.95) {
|
||||
this.tilted = false;
|
||||
} else {
|
||||
// if(!this.tiled) play sound
|
||||
this.tilted = true;
|
||||
}
|
||||
|
||||
this.markChanged();
|
||||
this.tiltBlocksChecked = 0;
|
||||
this.tiltBlocksValid = 0;
|
||||
}
|
||||
|
||||
BlockPos pos = getFloorPosFromIndex(this.tiltBlocksChecked);
|
||||
if(pos == null) return;
|
||||
|
||||
Block ground = worldObj.getBlock(pos.getX(), pos.getY(), pos.getZ());
|
||||
this.tiltBlocksChecked++;
|
||||
|
||||
// for extra heavy machines, the ground needs to:
|
||||
// * be a fully solid block (side UP is checked for custom behavior)
|
||||
// * be opaque
|
||||
// * NOT be sand, cloth or ground material
|
||||
// * have an explosion resistance of stone or greater
|
||||
if(extraHeavy) {
|
||||
if(!ground.isBlockSolid(worldObj, pos.getX(), pos.getY(), pos.getZ(), 1)) return;
|
||||
if(!ground.isNormalCube()) return;
|
||||
if(ground.getMaterial() == Material.sand || ground.getMaterial() == Material.cloth || ground.getMaterial() == Material.ground) return;
|
||||
if(ground.getExplosionResistance(null) < Blocks.stone.getExplosionResistance(null)) return;
|
||||
this.tiltBlocksValid++;
|
||||
// for standard machines, the ground needs to:
|
||||
// * be solid at the top
|
||||
// * NOT be sand
|
||||
} else {
|
||||
if(!ground.isSideSolid(worldObj, pos.getX(), pos.getY(), pos.getZ(), ForgeDirection.UP)) return;
|
||||
if(ground.getMaterial() == Material.sand) return;
|
||||
this.tiltBlocksValid++;
|
||||
}
|
||||
}
|
||||
|
||||
public int getFloorCount() { return 0; }
|
||||
public BlockPos getFloorPosFromIndex(int index) { return null; }
|
||||
|
||||
public BlockPos standardFloor3x3(int index) {
|
||||
return new BlockPos(xCoord - 1 + (index / 2) * 2, yCoord - 1, zCoord - 2 + (index % 2) * 2);
|
||||
}
|
||||
public BlockPos standardFloor5x5(int index) {
|
||||
return new BlockPos(xCoord - 2 + (index / 3) * 2, yCoord - 1, zCoord - 2 + (index % 3) * 2);
|
||||
}
|
||||
}
|
||||
|
||||
@ -26,9 +26,10 @@ import com.hbm.tileentity.IGUIProvider;
|
||||
import com.hbm.tileentity.TileEntityMachineBase;
|
||||
import com.hbm.util.CompatEnergyControl;
|
||||
import com.hbm.util.EnumUtil;
|
||||
import com.hbm.util.fauxpointtwelve.BlockPos;
|
||||
import com.hbm.util.fauxpointtwelve.DirPos;
|
||||
|
||||
import api.hbm.fluid.IFluidStandardTransceiver;
|
||||
import api.hbm.fluidmk2.IFluidStandardTransceiverMK2;
|
||||
import api.hbm.redstoneoverradio.IRORValueProvider;
|
||||
import api.hbm.redstoneoverradio.IRORInteractive;
|
||||
import api.hbm.tile.IInfoProviderEC;
|
||||
@ -51,7 +52,7 @@ import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")})
|
||||
public class TileEntityReactorZirnox extends TileEntityMachineBase implements IControlReceiver, IFluidStandardTransceiver, SimpleComponent, IGUIProvider, IInfoProviderEC, CompatHandler.OCComponent, IRORValueProvider, IRORInteractive {
|
||||
public class TileEntityReactorZirnox extends TileEntityMachineBase implements IControlReceiver, IFluidStandardTransceiverMK2, SimpleComponent, IGUIProvider, IInfoProviderEC, CompatHandler.OCComponent, IRORValueProvider, IRORInteractive {
|
||||
|
||||
public int heat;
|
||||
public static final int maxHeat = 100000;
|
||||
@ -187,12 +188,14 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IC
|
||||
public void updateEntity() {
|
||||
|
||||
if(!worldObj.isRemote) {
|
||||
this.checkTilt(true);
|
||||
|
||||
if (redstonePowered) {
|
||||
isOn = true;
|
||||
}
|
||||
this.output = 0;
|
||||
|
||||
if(worldObj.getTotalWorldTime() % 20 == 0) {
|
||||
if(!tilted && worldObj.getTotalWorldTime() % 20 == 0) {
|
||||
this.updateConnections();
|
||||
}
|
||||
|
||||
@ -225,8 +228,8 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IC
|
||||
|
||||
}
|
||||
|
||||
for(DirPos pos : getConPos()) {
|
||||
this.sendFluid(steam, worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir());
|
||||
if(!this.tilted) for(DirPos pos : getConPos()) {
|
||||
this.tryProvide(steam, worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir());
|
||||
}
|
||||
|
||||
checkIfMeltdown();
|
||||
@ -234,6 +237,9 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IC
|
||||
this.networkPackNT(150);
|
||||
}
|
||||
}
|
||||
|
||||
@Override public int getFloorCount() { return 3 * 3; }
|
||||
@Override public BlockPos getFloorPosFromIndex(int index) { return this.standardFloor5x5(index); }
|
||||
|
||||
@Override
|
||||
public void serialize(ByteBuf buf) {
|
||||
|
||||
@ -98,6 +98,7 @@ public class TileEntityFusionTorus extends TileEntityCooledBase implements IGUIP
|
||||
public void updateEntity() {
|
||||
|
||||
if(!worldObj.isRemote) {
|
||||
this.checkTilt(true);
|
||||
|
||||
for(int i = 0; i < 4; i++) {
|
||||
if(klystronNodes[i] == null || klystronNodes[i].expired) klystronNodes[i] = createNode(KlystronNetworkProvider.THE_PROVIDER, ForgeDirection.getOrientation(i + 2));
|
||||
@ -177,7 +178,7 @@ public class TileEntityFusionTorus extends TileEntityCooledBase implements IGUIP
|
||||
this.plasmaEnergy = 0;
|
||||
this.fuelConsumption = 0;
|
||||
this.fusionModule.preUpdate(factor, collectors * 0.5D);
|
||||
this.fusionModule.update(1D, 1D, this.isCool() && ignition, slots[1]);
|
||||
this.fusionModule.update(1D, 1D, !this.tilted && this.isCool() && ignition, slots[1]);
|
||||
this.didProcess = this.fusionModule.didProcess;
|
||||
if(this.fusionModule.markDirty) this.markDirty();
|
||||
if(didProcess && recipe != null) {
|
||||
@ -393,6 +394,15 @@ public class TileEntityFusionTorus extends TileEntityCooledBase implements IGUIP
|
||||
new DirPos(xCoord - 2, yCoord + 5, zCoord - 6, Library.POS_Y),
|
||||
};
|
||||
}
|
||||
|
||||
@Override public int getFloorCount() { return 6 * 6; }
|
||||
@Override public BlockPos getFloorPosFromIndex(int index) {
|
||||
return new BlockPos(
|
||||
xCoord - 5 + (index / 6) * 2,
|
||||
yCoord - 1,
|
||||
zCoord - 5 + (index % 6) * 2
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isItemValidForSlot(int slot, ItemStack stack) {
|
||||
|
||||
@ -24,6 +24,7 @@ import com.hbm.tileentity.IUpgradeInfoProvider;
|
||||
import com.hbm.tileentity.TileEntityMachineBase;
|
||||
import com.hbm.util.CompatEnergyControl;
|
||||
import com.hbm.util.ParticleUtil;
|
||||
import com.hbm.util.fauxpointtwelve.BlockPos;
|
||||
import com.hbm.util.fauxpointtwelve.DirPos;
|
||||
import com.hbm.util.i18n.I18nUtil;
|
||||
|
||||
@ -104,6 +105,7 @@ public class TileEntityMachineGasFlare extends TileEntityMachineBase implements
|
||||
public void updateEntity() {
|
||||
|
||||
if(!worldObj.isRemote) {
|
||||
this.checkTilt(false);
|
||||
|
||||
this.fluidUsed = 0;
|
||||
this.output = 0;
|
||||
@ -246,6 +248,9 @@ public class TileEntityMachineGasFlare extends TileEntityMachineBase implements
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override public int getFloorCount() { return 2 * 2; }
|
||||
@Override public BlockPos getFloorPosFromIndex(int index) { return this.standardFloor3x3(index); }
|
||||
|
||||
public DirPos[] getConPos() {
|
||||
return new DirPos[] {
|
||||
|
||||
@ -27,6 +27,7 @@ import com.hbm.main.MainRegistry;
|
||||
import com.hbm.sound.AudioWrapper;
|
||||
import com.hbm.tileentity.*;
|
||||
import com.hbm.util.ParticleUtil;
|
||||
import com.hbm.util.fauxpointtwelve.BlockPos;
|
||||
import com.hbm.util.fauxpointtwelve.DirPos;
|
||||
|
||||
import api.hbm.energymk2.IEnergyReceiverMK2;
|
||||
@ -132,6 +133,7 @@ public class TileEntityMachineRefinery extends TileEntityMachineBase implements
|
||||
public void updateEntity() {
|
||||
|
||||
if(!worldObj.isRemote) {
|
||||
this.checkTilt(false);
|
||||
|
||||
this.isOn = false;
|
||||
|
||||
@ -220,6 +222,9 @@ public class TileEntityMachineRefinery extends TileEntityMachineBase implements
|
||||
}
|
||||
}
|
||||
|
||||
@Override public int getFloorCount() { return 2 * 2; }
|
||||
@Override public BlockPos getFloorPosFromIndex(int index) { return this.standardFloor3x3(index); }
|
||||
|
||||
@Override
|
||||
public AudioWrapper createAudioLoop() {
|
||||
return MainRegistry.proxy.getLoopedSound("hbm:block.boiler", xCoord, yCoord, zCoord, 0.25F, 15F, 1.0F, 20);
|
||||
|
||||
@ -296,20 +296,9 @@ public class TileEntityBarrel extends TileEntityMachineBase implements SimpleCom
|
||||
return fluid == tank.getTankType();
|
||||
}
|
||||
|
||||
@Override
|
||||
public FluidTank[] getSendingTanks() {
|
||||
return (mode == 1 || mode == 2) ? new FluidTank[] {tank} : new FluidTank[0];
|
||||
}
|
||||
|
||||
@Override
|
||||
public FluidTank[] getReceivingTanks() {
|
||||
return (mode == 0 || mode == 1) ? new FluidTank[] {tank} : new FluidTank[0];
|
||||
}
|
||||
|
||||
@Override
|
||||
public FluidTank[] getAllTanks() {
|
||||
return new FluidTank[] { tank };
|
||||
}
|
||||
@Override public FluidTank[] getSendingTanks() { return (mode == 1 || mode == 2) ? new FluidTank[] {tank} : new FluidTank[0]; }
|
||||
@Override public FluidTank[] getReceivingTanks() { return (mode == 0 || mode == 1) ? new FluidTank[] {tank} : new FluidTank[0]; }
|
||||
@Override public FluidTank[] getAllTanks() { return new FluidTank[] { tank }; }
|
||||
|
||||
@Override
|
||||
public ConnectionPriority getFluidPriority() {
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 626 B |
Binary file not shown.
|
Before Width: | Height: | Size: 369 B |
Binary file not shown.
|
Before Width: | Height: | Size: 13 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 1.9 KiB |
Loading…
x
Reference in New Issue
Block a user