mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
pfft
This commit is contained in:
parent
fb19e4d93f
commit
955a349793
@ -1962,7 +1962,7 @@ public class ModBlocks {
|
||||
drone_crate_provider = new DroneDock().setBlockName("drone_crate_provider").setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":drone_crate_provider");
|
||||
drone_crate_requester = new DroneDock().setBlockName("drone_crate_requester").setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":drone_crate_requester");
|
||||
|
||||
pneumatic_tube = new PneumoTube().setBlockName("pneumatic_tube").setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pneumatic_tube");
|
||||
pneumatic_tube = new PneumoTube().setBlockName("pneumatic_tube").setStepSound(ModSoundTypes.pipe).setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pneumatic_tube");
|
||||
|
||||
chain = new BlockChain(Material.iron).setBlockName("dungeon_chain").setHardness(0.25F).setResistance(2.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":chain");
|
||||
|
||||
|
||||
@ -119,7 +119,8 @@ public class PneumoTube extends BlockContainer implements IToolable, IFluidConne
|
||||
if(rot == ForgeDirection.UNKNOWN) break; //unknown is always valid, simply disables this part
|
||||
if(rot == oth) continue; //skip if both positions collide
|
||||
TileEntity tile = Compat.getTileStandard(world, x + rot.offsetX, y + rot.offsetY, z + rot.offsetZ);
|
||||
if(tile instanceof IInventory && !(tile instanceof TileEntityPneumoTube)) break; //valid if connected to an IInventory
|
||||
if(tile instanceof TileEntityPneumoTube) continue;
|
||||
if(tile instanceof IInventory) break; //valid if connected to an IInventory
|
||||
}
|
||||
|
||||
if(player.isSneaking()) tube.ejectionDir = rot; else tube.insertionDir = rot;
|
||||
@ -207,8 +208,13 @@ public class PneumoTube extends BlockContainer implements IToolable, IFluidConne
|
||||
|
||||
public boolean canConnectToAir(IBlockAccess world, int x, int y, int z, ForgeDirection dir) {
|
||||
TileEntityPneumoTube tube = (TileEntityPneumoTube) world.getTileEntity(x, y, z);
|
||||
if(tube != null && !tube.isCompressor()) return false;
|
||||
return Library.canConnectFluid(world, x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, dir, Fluids.AIR) && !(world.getTileEntity(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ) instanceof TileEntityPneumoTube);
|
||||
if(tube != null) {
|
||||
if(!tube.isCompressor()) return false;
|
||||
if(tube.ejectionDir == dir || tube.insertionDir == dir) return false;
|
||||
}
|
||||
TileEntity tile = world.getTileEntity(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ);
|
||||
if(tile instanceof TileEntityPneumoTube) return false;
|
||||
return Library.canConnectFluid(world, x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, dir, Fluids.AIR);
|
||||
}
|
||||
@Override
|
||||
public boolean canConnect(FluidType type, IBlockAccess world, int x, int y, int z, ForgeDirection dir) {
|
||||
|
||||
@ -49,9 +49,7 @@ public class FluidTank {
|
||||
}
|
||||
|
||||
public FluidTank withPressure(int pressure) {
|
||||
|
||||
if(this.pressure != pressure) this.setFill(0);
|
||||
|
||||
this.pressure = pressure;
|
||||
return this;
|
||||
}
|
||||
|
||||
@ -7,13 +7,17 @@ import org.lwjgl.opengl.GL11;
|
||||
import com.hbm.inventory.container.ContainerPneumoTube;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.module.ModulePatternMatcher;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
import com.hbm.packet.toserver.NBTControlPacket;
|
||||
import com.hbm.render.util.GaugeUtil;
|
||||
import com.hbm.tileentity.network.TileEntityPneumoTube;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.audio.PositionedSoundRecord;
|
||||
import net.minecraft.client.resources.I18n;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.inventory.Slot;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
@ -35,6 +39,9 @@ public class GUIPneumoTube extends GuiInfoContainer {
|
||||
super.drawScreen(x, y, interp);
|
||||
|
||||
tube.compair.renderTankInfo(this, x, y, guiLeft + 7, guiTop + 16, 18, 18);
|
||||
|
||||
this.drawCustomInfoStat(x, y, guiLeft + 7, guiTop + 52, 18, 18, x, y, (tube.redstone ? (EnumChatFormatting.GREEN + "ON ") : (EnumChatFormatting.RED + "OFF ")) + EnumChatFormatting.RESET + "with Redstone");
|
||||
this.drawCustomInfoStat(x, y, guiLeft + 6, guiTop + 36, 20, 8, x, y, "Compressor: " + tube.compair.getPressure() + " PU");
|
||||
|
||||
if(this.mc.thePlayer.inventory.getItemStack() == null) {
|
||||
for(int i = 0; i < 15; ++i) {
|
||||
@ -46,12 +53,38 @@ public class GUIPneumoTube extends GuiInfoContainer {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void mouseClicked(int x, int y, int i) {
|
||||
super.mouseClicked(x, y, i);
|
||||
|
||||
if(checkClick(x, y, 7, 52, 18, 18)) {
|
||||
mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F));
|
||||
NBTTagCompound data = new NBTTagCompound();
|
||||
data.setBoolean("redstone", true);
|
||||
PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, tube.xCoord, tube.yCoord, tube.zCoord));
|
||||
}
|
||||
|
||||
if(checkClick(x, y, 6, 36, 20, 8)) {
|
||||
mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F));
|
||||
NBTTagCompound data = new NBTTagCompound();
|
||||
data.setBoolean("pressure", true);
|
||||
PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, tube.xCoord, tube.yCoord, tube.zCoord));
|
||||
}
|
||||
|
||||
if(checkClick(x, y, 128, 30, 14, 26)) {
|
||||
mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F));
|
||||
NBTTagCompound data = new NBTTagCompound();
|
||||
data.setBoolean("whitelist", true);
|
||||
PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, tube.xCoord, tube.yCoord, tube.zCoord));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void drawGuiContainerForegroundLayer(int i, int j) {
|
||||
String name = this.tube.hasCustomInventoryName() ? this.tube.getInventoryName() : I18n.format(this.tube.getInventoryName());
|
||||
|
||||
this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752);
|
||||
this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 5, 4210752);
|
||||
this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752);
|
||||
}
|
||||
|
||||
@ -61,6 +94,14 @@ public class GUIPneumoTube extends GuiInfoContainer {
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
|
||||
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
|
||||
|
||||
if(tube.redstone) drawTexturedModalRect(guiLeft + 7, guiTop + 52, 179, 0, 18, 18);
|
||||
|
||||
if(tube.whitelist) {
|
||||
drawTexturedModalRect(guiLeft + 139, guiTop + 33, 176, 0, 3, 6);
|
||||
} else {
|
||||
drawTexturedModalRect(guiLeft + 139, guiTop + 47, 176, 0, 3, 6);
|
||||
}
|
||||
|
||||
drawTexturedModalRect(guiLeft + 6 + 4 * (tube.compair.getPressure() - 1), guiTop + 36, 179, 18, 4, 8);
|
||||
GaugeUtil.drawSmoothGauge(guiLeft + 16, guiTop + 25, this.zLevel, (double) tube.compair.getFill() / (double) tube.compair.getMaxFill(), 5, 2, 1, 0xCA6C43, 0xAB4223);
|
||||
}
|
||||
|
||||
@ -70,8 +70,10 @@ public class RenderPneumoTube implements ISimpleBlockRenderingHandler {
|
||||
double lower = 0.3125D;
|
||||
double upper = 0.6875D;
|
||||
|
||||
boolean hasConnections = tile != null && (tile.isCompressor() || tile.isEndpoint());
|
||||
|
||||
//Straight along X
|
||||
if(mask == 0b110000) {
|
||||
if(mask == 0b110000 && !hasConnections) {
|
||||
renderer.setRenderBounds(0.0D, lower, lower, 1.0D, upper, upper);
|
||||
duct.renderSides[4] = false;
|
||||
duct.renderSides[5] = false;
|
||||
@ -80,7 +82,7 @@ public class RenderPneumoTube implements ISimpleBlockRenderingHandler {
|
||||
duct.resetRenderSides();
|
||||
|
||||
// Straight along Z
|
||||
} else if(mask == 0b000011) {
|
||||
} else if(mask == 0b000011 && !hasConnections) {
|
||||
renderer.setRenderBounds(lower, lower, 0.0D, upper, upper, 1.0D);
|
||||
duct.renderSides[2] = false;
|
||||
duct.renderSides[3] = false;
|
||||
@ -93,7 +95,7 @@ public class RenderPneumoTube implements ISimpleBlockRenderingHandler {
|
||||
renderer.uvRotateBottom = 0;
|
||||
|
||||
//Straight along Y
|
||||
} else if(mask == 0b001100) {
|
||||
} else if(mask == 0b001100 && !hasConnections) {
|
||||
renderer.setRenderBounds(lower, 0.0D, lower, upper, 1.0D, upper);
|
||||
duct.renderSides[0] = false;
|
||||
duct.renderSides[1] = false;
|
||||
@ -180,10 +182,10 @@ public class RenderPneumoTube implements ISimpleBlockRenderingHandler {
|
||||
if(dir == Library.NEG_Y) {
|
||||
duct.renderSides[1] = false;
|
||||
duct.renderSides[0] = false;
|
||||
renderer.setRenderBounds(lower, upper, lower, upper, cUpper, upper);
|
||||
renderer.setRenderBounds(lower, cLower, lower, upper, lower, upper);
|
||||
renderer.renderStandardBlock(duct, x, y, z); duct.resetRenderSides();
|
||||
duct.activeIcon = newIcon;
|
||||
renderer.setRenderBounds(nLower, cUpper, nLower, nUpper, 1, nUpper);
|
||||
renderer.setRenderBounds(nLower, 0, nLower, nUpper, nLower, nUpper);
|
||||
renderer.renderStandardBlock(duct, x, y, z);
|
||||
}
|
||||
|
||||
@ -199,10 +201,10 @@ public class RenderPneumoTube implements ISimpleBlockRenderingHandler {
|
||||
if(dir == Library.NEG_Z) {
|
||||
duct.renderSides[3] = false;
|
||||
duct.renderSides[2] = false;
|
||||
renderer.setRenderBounds(lower, lower, upper, upper, upper, cUpper);
|
||||
renderer.setRenderBounds(lower, lower, cLower, upper, upper, lower);
|
||||
renderer.renderStandardBlock(duct, x, y, z); duct.resetRenderSides();
|
||||
duct.activeIcon = newIcon;
|
||||
renderer.setRenderBounds(nLower, nLower, cUpper, nUpper, nUpper, 1);
|
||||
renderer.setRenderBounds(nLower, nLower, 0, nUpper, nUpper, cLower);
|
||||
renderer.renderStandardBlock(duct, x, y, z);
|
||||
}
|
||||
|
||||
|
||||
@ -126,10 +126,12 @@ public class TileEntityCraneRouter extends TileEntityMachineBase implements IGUI
|
||||
public boolean hasPermission(EntityPlayer player) {
|
||||
return Vec3.createVectorHelper(xCoord - player.posX, yCoord - player.posY, zCoord - player.posZ).lengthVector() < 20;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int[] getFilterSlots() {
|
||||
return new int[]{0, slots.length};
|
||||
}
|
||||
|
||||
@Override
|
||||
public void receiveControl(NBTTagCompound data) {
|
||||
if(data.hasKey("toggle")) {
|
||||
|
||||
@ -1,13 +1,22 @@
|
||||
package com.hbm.tileentity.network;
|
||||
|
||||
import com.hbm.inventory.container.ContainerPneumoTube;
|
||||
import com.hbm.inventory.fluid.FluidType;
|
||||
import com.hbm.inventory.fluid.Fluids;
|
||||
import com.hbm.inventory.fluid.tank.FluidTank;
|
||||
import com.hbm.inventory.gui.GUIPneumoTube;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.module.ModulePatternMatcher;
|
||||
import com.hbm.tileentity.IControlReceiverFilter;
|
||||
import com.hbm.tileentity.IGUIProvider;
|
||||
import com.hbm.tileentity.TileEntityMachineBase;
|
||||
import com.hbm.uninos.GenNode;
|
||||
import com.hbm.uninos.UniNodespace;
|
||||
import com.hbm.uninos.networkproviders.PneumaticNetworkProvider;
|
||||
import com.hbm.util.Compat;
|
||||
import com.hbm.util.EnumUtil;
|
||||
import com.hbm.util.fauxpointtwelve.BlockPos;
|
||||
import com.hbm.util.fauxpointtwelve.DirPos;
|
||||
|
||||
import api.hbm.fluidmk2.IFluidStandardReceiverMK2;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
@ -15,22 +24,30 @@ import cpw.mods.fml.relauncher.SideOnly;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.Container;
|
||||
import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.network.NetworkManager;
|
||||
import net.minecraft.network.Packet;
|
||||
import net.minecraft.network.play.server.S35PacketUpdateTileEntity;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.MathHelper;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
public class TileEntityPneumoTube extends TileEntityMachineBase implements IGUIProvider, IFluidStandardReceiverMK2 {
|
||||
public class TileEntityPneumoTube extends TileEntityMachineBase implements IGUIProvider, IFluidStandardReceiverMK2, IControlReceiverFilter {
|
||||
|
||||
public ModulePatternMatcher pattern = new ModulePatternMatcher(15);
|
||||
public ForgeDirection insertionDir = ForgeDirection.UNKNOWN;
|
||||
public ForgeDirection ejectionDir = ForgeDirection.UNKNOWN;
|
||||
|
||||
public boolean whitelist = false;
|
||||
public boolean redstone = false;
|
||||
|
||||
public FluidTank compair;
|
||||
|
||||
protected PneumaticNode node;
|
||||
|
||||
public TileEntityPneumoTube() {
|
||||
super(17);
|
||||
this.compair = new FluidTank(Fluids.AIR, 4_000).withPressure(1);
|
||||
@ -46,25 +63,73 @@ public class TileEntityPneumoTube extends TileEntityMachineBase implements IGUIP
|
||||
|
||||
if(!worldObj.isRemote) {
|
||||
|
||||
if(this.node == null || this.node.expired) {
|
||||
this.node = (PneumaticNode) UniNodespace.getNode(worldObj, xCoord, yCoord, zCoord, PneumaticNetworkProvider.THE_PROVIDER);
|
||||
|
||||
if(this.node == null || this.node.expired) {
|
||||
this.node = (PneumaticNode) new PneumaticNode(new BlockPos(xCoord, yCoord, zCoord)).setConnections(
|
||||
new DirPos(xCoord + 1, yCoord, zCoord, Library.POS_X),
|
||||
new DirPos(xCoord - 1, yCoord, zCoord, Library.NEG_X),
|
||||
new DirPos(xCoord, yCoord + 1, zCoord, Library.POS_Y),
|
||||
new DirPos(xCoord, yCoord - 1, zCoord, Library.NEG_Y),
|
||||
new DirPos(xCoord, yCoord, zCoord + 1, Library.POS_Z),
|
||||
new DirPos(xCoord, yCoord, zCoord - 1, Library.NEG_Z)
|
||||
);
|
||||
UniNodespace.createNode(worldObj, this.node);
|
||||
}
|
||||
}
|
||||
|
||||
if(this.isCompressor()) {
|
||||
for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) {
|
||||
if(worldObj.getTotalWorldTime() % 10 == 0) for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) {
|
||||
if(dir != this.insertionDir && dir != this.ejectionDir) {
|
||||
this.trySubscribe(compair.getTankType(), worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir);
|
||||
}
|
||||
}
|
||||
|
||||
if(worldObj.getTotalWorldTime() % 40 == 0 && this.compair.getFill() > 0) {
|
||||
//this.compair.setFill(0);
|
||||
//worldObj.playSoundEffect(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5, "hbm:weapon.reload.tubeFwoomp", 1.0F, 1.0F);
|
||||
}
|
||||
}
|
||||
|
||||
if(this.isEndpoint() && this.node != null && this.node.net != null && worldObj.getTotalWorldTime() % 10 == 0) {
|
||||
TileEntity tile = Compat.getTileStandard(worldObj, xCoord + this.ejectionDir.offsetX, yCoord + this.ejectionDir.offsetY, zCoord + this.ejectionDir.offsetZ);
|
||||
if(tile instanceof IInventory) this.node.net.addReceiver((IInventory) tile);
|
||||
}
|
||||
|
||||
this.networkPackNT(15);
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isCompressor() {
|
||||
return this.insertionDir != ForgeDirection.UNKNOWN;
|
||||
|
||||
@Override
|
||||
public long getReceiverSpeed(FluidType type, int pressure) {
|
||||
return MathHelper.clamp_int((this.compair.getMaxFill() - this.compair.getFill()) / 25, 1, 100);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canConnect(FluidType type, ForgeDirection dir) {
|
||||
return dir != this.insertionDir && dir != this.ejectionDir && type == Fluids.AIR;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void invalidate() {
|
||||
super.invalidate();
|
||||
|
||||
if(!worldObj.isRemote) {
|
||||
if(this.node != null) {
|
||||
UniNodespace.destroyNode(worldObj, xCoord, yCoord, zCoord, PneumaticNetworkProvider.THE_PROVIDER);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isCompressor() { return this.insertionDir != ForgeDirection.UNKNOWN; }
|
||||
public boolean isEndpoint() { return this.ejectionDir != ForgeDirection.UNKNOWN; }
|
||||
|
||||
@Override
|
||||
public void serialize(ByteBuf buf) {
|
||||
super.serialize(buf);
|
||||
buf.writeBoolean(redstone);
|
||||
buf.writeBoolean(whitelist);
|
||||
pattern.serialize(buf);
|
||||
compair.serialize(buf);
|
||||
}
|
||||
@ -72,6 +137,8 @@ public class TileEntityPneumoTube extends TileEntityMachineBase implements IGUIP
|
||||
@Override
|
||||
public void deserialize(ByteBuf buf) {
|
||||
super.deserialize(buf);
|
||||
this.redstone = buf.readBoolean();
|
||||
this.whitelist = buf.readBoolean();
|
||||
pattern.deserialize(buf);
|
||||
compair.deserialize(buf);
|
||||
}
|
||||
@ -107,6 +174,9 @@ public class TileEntityPneumoTube extends TileEntityMachineBase implements IGUIP
|
||||
this.ejectionDir = EnumUtil.grabEnumSafely(ForgeDirection.class, nbt.getByte("ejectionDir"));
|
||||
this.compair.readFromNBT(nbt, "tank");
|
||||
this.pattern.readFromNBT(nbt);
|
||||
|
||||
this.whitelist = nbt.getBoolean("whitelist");
|
||||
this.redstone = nbt.getBoolean("redstone");
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -116,6 +186,9 @@ public class TileEntityPneumoTube extends TileEntityMachineBase implements IGUIP
|
||||
nbt.setByte("ejectionDir", (byte) ejectionDir.ordinal());
|
||||
this.compair.writeToNBT(nbt, "tank");
|
||||
this.pattern.writeToNBT(nbt);
|
||||
|
||||
nbt.setBoolean("whitelist", whitelist);
|
||||
nbt.setBoolean("redstone", redstone);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -128,7 +201,34 @@ public class TileEntityPneumoTube extends TileEntityMachineBase implements IGUIP
|
||||
public Object provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) {
|
||||
return new GUIPneumoTube(player.inventory, this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void receiveControl(NBTTagCompound data) {
|
||||
if(data.hasKey("whitelist")) {
|
||||
this.whitelist = !this.whitelist;
|
||||
}
|
||||
if(data.hasKey("redstone")) {
|
||||
this.redstone = !this.redstone;
|
||||
}
|
||||
if(data.hasKey("pressure")) {
|
||||
int pressure = this.compair.getPressure() + 1;
|
||||
if(pressure > 5) pressure = 1;
|
||||
this.compair.withPressure(pressure);
|
||||
}
|
||||
|
||||
this.markDirty();
|
||||
}
|
||||
|
||||
@Override public boolean hasPermission(EntityPlayer player) { return this.isUseableByPlayer(player); }
|
||||
@Override public int[] getFilterSlots() { return new int[] {0, 15}; }
|
||||
|
||||
@Override public FluidTank[] getAllTanks() { return new FluidTank[] {compair}; }
|
||||
@Override public FluidTank[] getReceivingTanks() { return new FluidTank[] {compair}; }
|
||||
|
||||
public static class PneumaticNode extends GenNode {
|
||||
|
||||
public PneumaticNode(BlockPos... positions) {
|
||||
super(PneumaticNetworkProvider.THE_PROVIDER, positions);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,11 @@
|
||||
package com.hbm.uninos.networkproviders;
|
||||
|
||||
import com.hbm.tileentity.network.TileEntityPneumoTube.PneumaticNode;
|
||||
import com.hbm.uninos.NodeNet;
|
||||
|
||||
import net.minecraft.inventory.IInventory;
|
||||
|
||||
public class PneumaticNetwork extends NodeNet<IInventory, IInventory, PneumaticNode> {
|
||||
|
||||
@Override public void update() { }
|
||||
}
|
||||
@ -0,0 +1,13 @@
|
||||
package com.hbm.uninos.networkproviders;
|
||||
|
||||
import com.hbm.uninos.INetworkProvider;
|
||||
|
||||
public class PneumaticNetworkProvider implements INetworkProvider<PneumaticNetwork>{
|
||||
|
||||
public static PneumaticNetworkProvider THE_PROVIDER = new PneumaticNetworkProvider();
|
||||
|
||||
@Override
|
||||
public PneumaticNetwork provideNetwork() {
|
||||
return new PneumaticNetwork();
|
||||
}
|
||||
}
|
||||
@ -410,6 +410,7 @@ container.paDipole=Dipol
|
||||
container.paQuadrupole=Quad.
|
||||
container.paSource=Teilchenquelle
|
||||
container.plasmaHeater=Plasmaerhitzer
|
||||
container.pneumoTube=Rohrpost
|
||||
container.press=Befeuerte Presse
|
||||
container.puf6_tank=PuF6 Tank
|
||||
container.pumpjack=Pferdekopfpumpe
|
||||
@ -702,6 +703,7 @@ hbm.key.toggleHUD=HUD umschalten
|
||||
hbm.key.trainInv=Zug-Inventar
|
||||
hbm.key.reload=Nachladen
|
||||
|
||||
hbmfluid.air=Druckluft
|
||||
hbmfluid.amat=Antimaterie
|
||||
hbmfluid.aromatics=Aromatische Kohlenwasserstoffe
|
||||
hbmfluid.aschrab=Antischrabidium
|
||||
@ -4755,6 +4757,7 @@ tile.plant_tall.weed.name=Hanf
|
||||
tile.plasma.name=Plasma
|
||||
tile.plasma_heater.name=Plasmaerhitzer
|
||||
tile.plushie.name=%s Plüschfigur
|
||||
tile.pneumatic_tube.name=Rohrpost
|
||||
tile.pole_satellite_receiver.name=Satellitenschüssel
|
||||
tile.pole_top.name=Antennenspitze
|
||||
tile.press_preheater.name=Presse-Vorheizer
|
||||
|
||||
@ -813,6 +813,7 @@ container.paDipole=Dipole
|
||||
container.paQuadrupole=Quad.
|
||||
container.paSource=Particle Source
|
||||
container.plasmaHeater=Plasma Heater
|
||||
container.pneumoTube=Pneumatic Tube
|
||||
container.press=Burner Press
|
||||
container.puf6_tank=PuF6 Tank
|
||||
container.pumpjack=Pumpjack
|
||||
@ -1410,6 +1411,7 @@ hbm.key.toggleHUD=Toggle HUD
|
||||
hbm.key.trainInv=Train Inventory
|
||||
hbm.key.reload=Reload
|
||||
|
||||
hbmfluid.air=Compressed Air
|
||||
hbmfluid.alumina=Alumina
|
||||
hbmfluid.amat=Antimatter
|
||||
hbmfluid.aromatics=Aromatic Hydrocarbons
|
||||
@ -5901,6 +5903,7 @@ tile.plant_tall.weed.name=Hemp
|
||||
tile.plasma.name=Plasma
|
||||
tile.plasma_heater.name=Plasma Heater
|
||||
tile.plushie.name=%s Plushie
|
||||
tile.pneumatic_tube.name=Pneumatic Tube
|
||||
tile.pole_satellite_receiver.name=Satellite Dish
|
||||
tile.pole_top.name=Antenna Top
|
||||
tile.press_preheater.name=Burner Press Preheater
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user