more boxduct variants, fixed soysauce launcher wackyness
@ -789,6 +789,7 @@ public class ModBlocks {
|
||||
public static Block fluid_duct_solid;
|
||||
public static Block fluid_duct_neo;
|
||||
public static Block fluid_duct_box;
|
||||
public static Block radio_torch_sender;
|
||||
|
||||
public static Block conveyor;
|
||||
//public static Block conveyor_classic;
|
||||
@ -1977,6 +1978,7 @@ public class ModBlocks {
|
||||
fluid_duct_solid = new BlockFluidDuctSolid(Material.iron).setBlockName("fluid_duct_solid").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fluid_duct_solid");
|
||||
fluid_duct_neo = new FluidDuctStandard(Material.iron).setBlockName("fluid_duct_neo").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pipe_neo");
|
||||
fluid_duct_box = new FluidDuctBox(Material.iron).setBlockName("fluid_duct_box").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fluid_duct_box");
|
||||
radio_torch_sender = new RadioTorchSender().setBlockName("radio_torch_sender").setHardness(0.1F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
|
||||
|
||||
conveyor = new BlockConveyor().setBlockName("conveyor").setHardness(2.0F).setResistance(2.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":conveyor");
|
||||
//conveyor_classic = new BlockConveyorClassic().setBlockName("conveyor_classic").setHardness(2.0F).setResistance(2.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":conveyor");
|
||||
@ -3158,6 +3160,7 @@ public class ModBlocks {
|
||||
GameRegistry.registerBlock(fluid_duct_neo, ItemBlockBase.class, fluid_duct_neo.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(fluid_duct_box, ItemBlockBase.class, fluid_duct_box.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(fluid_duct_solid, fluid_duct_solid.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(radio_torch_sender, radio_torch_sender.getUnlocalizedName());
|
||||
|
||||
GameRegistry.registerBlock(crane_extractor, crane_extractor.getUnlocalizedName());
|
||||
GameRegistry.registerBlock(crane_inserter, crane_inserter.getUnlocalizedName());
|
||||
|
||||
@ -145,12 +145,17 @@ public class SoyuzLauncher extends BlockDummyable {
|
||||
MultiblockHandlerXR.fillSpace(world, x, y, z, new int[] { 0, 4, 1, 1, -6, 8 }, this, dir);
|
||||
MultiblockHandlerXR.fillSpace(world, x, y, z, new int[] { 0, 4, 2, 2, 9, -5 }, this, dir);
|
||||
|
||||
for(int ix = x - 6; ix <= x + 6; ix++) {
|
||||
for(int iz = z - 6; iz <= z + 6; iz++) {
|
||||
this.makeExtra(world, ix, y, iz);
|
||||
this.makeExtra(world, ix, y + 1, iz);
|
||||
keepInventory = true;
|
||||
for(int ix = -6; ix <= 6; ix++) {
|
||||
for(int iz = -6; iz <= 6; iz++) {
|
||||
|
||||
if(ix == 6 || ix == -6 || iz == 6 || iz == -6) {
|
||||
this.makeExtra(world, x + ix, y, z + iz);
|
||||
this.makeExtra(world, x + ix, y + 1, z + iz);
|
||||
}
|
||||
}
|
||||
}
|
||||
keepInventory = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -172,7 +177,7 @@ public class SoyuzLauncher extends BlockDummyable {
|
||||
if(!keepInventory) {
|
||||
ISidedInventory tileentityfurnace = (ISidedInventory) world.getTileEntity(x, y, z);
|
||||
|
||||
if(tileentityfurnace != null) {
|
||||
if(tileentityfurnace instanceof TileEntitySoyuzLauncher) {
|
||||
for(int i1 = 0; i1 < tileentityfurnace.getSizeInventory(); ++i1) {
|
||||
ItemStack itemstack = tileentityfurnace.getStackInSlot(i1);
|
||||
|
||||
|
||||
@ -36,7 +36,7 @@ public class FluidDuctBox extends FluidDuctBase implements IBlockMulti, ILookOve
|
||||
@SideOnly(Side.CLIENT) protected IIcon[] iconCurveBR;
|
||||
@SideOnly(Side.CLIENT) protected IIcon[] iconJunction;
|
||||
|
||||
private static final String[] materials = new String[] { "silver", "copper" };
|
||||
private static final String[] materials = new String[] { "silver", "copper", "white" };
|
||||
|
||||
public FluidDuctBox(Material mat) {
|
||||
super(mat);
|
||||
@ -126,7 +126,7 @@ public class FluidDuctBox extends FluidDuctBase implements IBlockMulti, ILookOve
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void getSubBlocks(Item item, CreativeTabs tab, List list) {
|
||||
for(int i = 0; i < 2; ++i) {
|
||||
for(int i = 0; i < 12; ++i) {
|
||||
list.add(new ItemStack(item, 1, i));
|
||||
}
|
||||
}
|
||||
@ -154,7 +154,7 @@ public class FluidDuctBox extends FluidDuctBase implements IBlockMulti, ILookOve
|
||||
|
||||
@Override
|
||||
public int getSubCount() {
|
||||
return 2;
|
||||
return 3;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -171,4 +171,12 @@ public class FluidDuctBox extends FluidDuctBase implements IBlockMulti, ILookOve
|
||||
text.add("&[" + duct.getType().getColor() + "&]" +I18nUtil.resolveKey(duct.getType().getUnlocalizedName()));
|
||||
ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text);
|
||||
}
|
||||
|
||||
public static int cachedColor = 0xffffff;
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public int colorMultiplier(IBlockAccess world, int x, int y, int z) {
|
||||
return cachedColor;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,13 +1,29 @@
|
||||
package com.hbm.blocks.network;
|
||||
|
||||
import com.hbm.lib.RefStrings;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class RadioTorchSender extends RadioTorchBase {
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
protected IIcon iconOn;
|
||||
|
||||
public RadioTorchSender() {
|
||||
super();
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void registerBlockIcons(IIconRegister iconRegister) {
|
||||
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":rtty_sender_off");
|
||||
this.iconOn = iconRegister.registerIcon(RefStrings.MODID + ":rtty_sender_on");
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) {
|
||||
|
||||
@ -744,6 +744,7 @@ public class ClientProxy extends ServerProxy {
|
||||
RenderingRegistry.registerBlockHandler(new RenderBoxDuct());
|
||||
RenderingRegistry.registerBlockHandler(new RenderBlockDecoModel(ModBlocks.deco_computer.getRenderType(), ResourceManager.deco_computer));
|
||||
RenderingRegistry.registerBlockHandler(new RenderReeds());
|
||||
RenderingRegistry.registerBlockHandler(new RenderRTTY());
|
||||
|
||||
RenderingRegistry.registerBlockHandler(new RenderFoundryBasin());
|
||||
RenderingRegistry.registerBlockHandler(new RenderFoundryMold());
|
||||
|
||||
@ -1266,6 +1266,7 @@ public class ResourceManager {
|
||||
public static final IModelCustom pipe_rim = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/pipe_rim.obj"));
|
||||
public static final IModelCustom pipe_quad = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/pipe_quad.obj"));
|
||||
public static final IModelCustom pipe_frame = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/pipe_frame.obj"));
|
||||
public static final IModelCustom rtty = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/rtty.obj"));
|
||||
|
||||
public static final IModelCustom deco_computer = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/puter.obj"));
|
||||
|
||||
|
||||
@ -9,6 +9,7 @@ import com.hbm.tileentity.network.TileEntityPipeBaseNT;
|
||||
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
|
||||
@ -22,10 +23,17 @@ public class RenderBoxDuct implements ISimpleBlockRenderingHandler {
|
||||
FluidType type = Fluids.NONE;
|
||||
|
||||
TileEntity te = world.getTileEntity(x, y, z);
|
||||
|
||||
Tessellator tessellator = Tessellator.instance;
|
||||
tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z));
|
||||
int meta = world.getBlockMetadata(x, y, z);
|
||||
|
||||
FluidDuctBox.cachedColor = 0xffffff;
|
||||
if(te instanceof TileEntityPipeBaseNT) {
|
||||
TileEntityPipeBaseNT pipe = (TileEntityPipeBaseNT) te;
|
||||
type = pipe.getType();
|
||||
if(meta == 2) {
|
||||
FluidDuctBox.cachedColor = type.getColor();
|
||||
}
|
||||
}
|
||||
|
||||
boolean pX = Library.canConnectFluid(world, x + 1, y, z, Library.NEG_X, type);
|
||||
@ -37,6 +45,21 @@ public class RenderBoxDuct implements ISimpleBlockRenderingHandler {
|
||||
|
||||
int mask = 0 + (pX ? 32 : 0) + (nX ? 16 : 0) + (pY ? 8 : 0) + (nY ? 4 : 0) + (pZ ? 2 : 0) + (nZ ? 1 : 0);
|
||||
int count = 0 + (pX ? 1 : 0) + (nX ? 1 : 0) + (pY ? 1 : 0) + (nY ? 1 : 0) + (pZ ? 1 : 0) + (nZ ? 1 : 0);
|
||||
|
||||
double lower = 0.125D;
|
||||
double upper = 0.875D;
|
||||
double jLower = 0.0625D;
|
||||
double jUpper = 0.9375D;
|
||||
|
||||
for(int i = 2; i < 10; i += 3) {
|
||||
|
||||
if(meta > i) {
|
||||
lower += 0.0625D;
|
||||
upper -= 0.0625D;
|
||||
jLower += 0.0625D;
|
||||
jUpper -= 0.0625D;
|
||||
}
|
||||
}
|
||||
|
||||
//Straight along X
|
||||
if((mask & 0b001111) == 0 && mask > 0) {
|
||||
@ -44,19 +67,19 @@ public class RenderBoxDuct implements ISimpleBlockRenderingHandler {
|
||||
renderer.uvRotateBottom = 1;
|
||||
renderer.uvRotateEast = 2;
|
||||
renderer.uvRotateWest = 1;
|
||||
renderer.setRenderBounds(0.0D, 0.125D, 0.125D, 1.0D, 0.875D, 0.875D);
|
||||
renderer.setRenderBounds(0.0D, lower, lower, 1.0D, upper, upper);
|
||||
renderer.renderStandardBlock(block, x, y, z);
|
||||
|
||||
//Straight along Z
|
||||
} else if((mask & 0b111100) == 0 && mask > 0) {
|
||||
renderer.uvRotateNorth = 1;
|
||||
renderer.uvRotateSouth = 2;
|
||||
renderer.setRenderBounds(0.125D, 0.125D, 0.0D, 0.875D, 0.875D, 1.0D);
|
||||
renderer.setRenderBounds(lower, lower, 0.0D, upper, upper, 1.0D);
|
||||
renderer.renderStandardBlock(block, x, y, z);
|
||||
|
||||
//Straight along Y
|
||||
} else if((mask & 0b110011) == 0 && mask > 0) {
|
||||
renderer.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 1.0D, 0.875D);
|
||||
renderer.setRenderBounds(lower, 0.0D, lower, upper, 1.0D, upper);
|
||||
renderer.renderStandardBlock(block, x, y, z);
|
||||
|
||||
//Curve
|
||||
@ -79,61 +102,61 @@ public class RenderBoxDuct implements ISimpleBlockRenderingHandler {
|
||||
renderer.uvRotateWest = 1;
|
||||
}
|
||||
|
||||
renderer.setRenderBounds(0.125D, 0.125D, 0.125D, 0.875D, 0.875D, 0.875D);
|
||||
renderer.setRenderBounds(lower, lower, lower, upper, upper, upper);
|
||||
renderer.renderStandardBlock(block, x, y, z);
|
||||
|
||||
if(nY) {
|
||||
renderer.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.125D, 0.875D);
|
||||
renderer.setRenderBounds(lower, 0.0D, lower, upper, lower, upper);
|
||||
renderer.renderStandardBlock(block, x, y, z);
|
||||
}
|
||||
if(pY) {
|
||||
renderer.setRenderBounds(0.125D, 0.875D, 0.125D, 0.875D, 1.0D, 0.875D);
|
||||
renderer.setRenderBounds(lower, upper, lower, upper, 1.0D, upper);
|
||||
renderer.renderStandardBlock(block, x, y, z);
|
||||
}
|
||||
if(nX) {
|
||||
renderer.setRenderBounds(0.0D, 0.125D, 0.125D, 0.125D, 0.875D, 0.875D);
|
||||
renderer.setRenderBounds(0.0D, lower, lower, lower, upper, upper);
|
||||
renderer.renderStandardBlock(block, x, y, z);
|
||||
}
|
||||
if(pX) {
|
||||
renderer.setRenderBounds(0.875D, 0.125D, 0.125D, 1.0D, 0.875D, 0.875D);
|
||||
renderer.setRenderBounds(upper, lower, lower, 1.0D, upper, upper);
|
||||
renderer.renderStandardBlock(block, x, y, z);
|
||||
}
|
||||
if(nZ) {
|
||||
renderer.setRenderBounds(0.125D, 0.125D, 0.0D, 0.875D, 0.875D, 0.125D);
|
||||
renderer.setRenderBounds(lower, lower, 0.0D, upper, upper, lower);
|
||||
renderer.renderStandardBlock(block, x, y, z);
|
||||
}
|
||||
if(pZ) {
|
||||
renderer.setRenderBounds(0.125D, 0.125D, 0.875D, 0.875D, 0.875D, 1.0D);
|
||||
renderer.setRenderBounds(lower, lower, upper, upper, upper, 1.0D);
|
||||
renderer.renderStandardBlock(block, x, y, z);
|
||||
}
|
||||
|
||||
//Junction
|
||||
} else {
|
||||
renderer.setRenderBounds(0.0625D, 0.0625D, 0.0625D, 0.9375D, 0.9375D, 0.9375D);
|
||||
renderer.setRenderBounds(jLower, jLower, jLower, jUpper, jUpper, jUpper);
|
||||
renderer.renderStandardBlock(block, x, y, z);
|
||||
|
||||
if(nY) {
|
||||
renderer.setRenderBounds(0.125D, 0.0D, 0.125D, 0.875D, 0.0625D, 0.875D);
|
||||
renderer.setRenderBounds(lower, 0.0D, lower, upper, jLower, upper);
|
||||
renderer.renderStandardBlock(block, x, y, z);
|
||||
}
|
||||
if(pY) {
|
||||
renderer.setRenderBounds(0.125D, 0.9375D, 0.125D, 0.875D, 1.0D, 0.875D);
|
||||
renderer.setRenderBounds(lower, jUpper, lower, upper, 1.0D, upper);
|
||||
renderer.renderStandardBlock(block, x, y, z);
|
||||
}
|
||||
if(nX) {
|
||||
renderer.setRenderBounds(0.0D, 0.125D, 0.125D, 0.0625D, 0.875D, 0.875D);
|
||||
renderer.setRenderBounds(0.0D, lower, lower, jLower, upper, upper);
|
||||
renderer.renderStandardBlock(block, x, y, z);
|
||||
}
|
||||
if(pX) {
|
||||
renderer.setRenderBounds(0.9375D, 0.125D, 0.125D, 1.0D, 0.875D, 0.875D);
|
||||
renderer.setRenderBounds(jUpper, lower, lower, 1.0D, upper, upper);
|
||||
renderer.renderStandardBlock(block, x, y, z);
|
||||
}
|
||||
if(nZ) {
|
||||
renderer.setRenderBounds(0.125D, 0.125D, 0.0D, 0.875D, 0.875D, 0.0625D);
|
||||
renderer.setRenderBounds(lower, lower, 0.0D, upper, upper, jLower);
|
||||
renderer.renderStandardBlock(block, x, y, z);
|
||||
}
|
||||
if(pZ) {
|
||||
renderer.setRenderBounds(0.125D, 0.125D, 0.9375D, 0.875D, 0.875D, 1.0D);
|
||||
renderer.setRenderBounds(lower, lower, jUpper, upper, upper, 1.0D);
|
||||
renderer.renderStandardBlock(block, x, y, z);
|
||||
}
|
||||
}
|
||||
|
||||
67
src/main/java/com/hbm/render/block/RenderRTTY.java
Normal file
@ -0,0 +1,67 @@
|
||||
package com.hbm.render.block;
|
||||
|
||||
import com.hbm.blocks.network.RadioTorchBase;
|
||||
import com.hbm.main.ResourceManager;
|
||||
import com.hbm.render.util.ObjUtil;
|
||||
|
||||
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.renderer.RenderBlocks;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.util.IIcon;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraftforge.client.model.obj.WavefrontObject;
|
||||
|
||||
public class RenderRTTY implements ISimpleBlockRenderingHandler {
|
||||
|
||||
@Override
|
||||
public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { }
|
||||
|
||||
@Override
|
||||
public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) {
|
||||
|
||||
Tessellator tessellator = Tessellator.instance;
|
||||
int brightness = block.getMixedBrightnessForBlock(world, x, y, z);
|
||||
tessellator.setBrightness(brightness);
|
||||
tessellator.setColorOpaque_F(1, 1, 1);
|
||||
|
||||
IIcon icon = block.getIcon(world, x, y, z, 0);
|
||||
int meta = world.getBlockMetadata(x, y, z);
|
||||
|
||||
float flip = 0;
|
||||
float rotation = 0;
|
||||
|
||||
if(meta == 0)
|
||||
flip = (float)Math.PI;
|
||||
|
||||
if(meta == 2)
|
||||
rotation = 90F / 180F * (float) Math.PI;
|
||||
|
||||
if(meta == 3)
|
||||
rotation = 270F / 180F * (float) Math.PI;
|
||||
|
||||
if(meta == 4)
|
||||
rotation = 180F / 180F * (float)Math.PI;
|
||||
|
||||
if(rotation != 0F || meta == 5)
|
||||
flip = (float)Math.PI * 0.5F;
|
||||
|
||||
//using OBJ here because vanilla's block renderer is so broken it's not even funny anymore
|
||||
//mojang genuinely doesn't know how on earth UVs work
|
||||
tessellator.addTranslation(x + 0.5F, y + 0.5F, z + 0.5F);
|
||||
ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rtty, icon, tessellator, rotation, flip, false);
|
||||
tessellator.addTranslation(-x - 0.5F, -y - 0.5F, -z - 0.5F);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean shouldRender3DInInventory(int modelId) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getRenderId() {
|
||||
return RadioTorchBase.renderID;
|
||||
}
|
||||
}
|
||||
@ -154,8 +154,8 @@ public class TileEntitySoyuzLauncher extends TileEntityMachineBase implements IS
|
||||
ForgeDirection rot = dir.getRotation(ForgeDirection.UP);
|
||||
|
||||
for(int i = -6; i <= 6; i++) {
|
||||
conPos.add(new DirPos(xCoord + dir.offsetX * 7 + rot.offsetX * i, yCoord + 0, zCoord + dir.offsetX * 7 + rot.offsetZ * i, dir));
|
||||
conPos.add(new DirPos(xCoord + dir.offsetX * 7 + rot.offsetX * i, yCoord + 1, zCoord + dir.offsetX * 7 + rot.offsetZ * i, dir));
|
||||
conPos.add(new DirPos(xCoord + dir.offsetX * 7 + rot.offsetX * i, yCoord + 0, zCoord + dir.offsetZ * 7 + rot.offsetZ * i, dir));
|
||||
conPos.add(new DirPos(xCoord + dir.offsetX * 7 + rot.offsetX * i, yCoord - 1, zCoord + dir.offsetZ * 7 + rot.offsetZ * i, dir));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -12,7 +12,6 @@ import com.hbm.inventory.fluid.Fluids;
|
||||
import com.hbm.inventory.fluid.tank.FluidTank;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.main.ModEventHandlerImpact;
|
||||
import com.hbm.tileentity.IPersistentNBT;
|
||||
import com.hbm.tileentity.TileEntityMachineBase;
|
||||
|
||||
@ -178,7 +177,6 @@ public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcc
|
||||
|
||||
@Override
|
||||
public int getFluidFill(FluidType type) {
|
||||
|
||||
return type == this.tank.getTankType() ? tank.getFill() : 0;
|
||||
}
|
||||
|
||||
|
||||
@ -14,14 +14,14 @@ import com.hbm.lib.Library;
|
||||
import com.hbm.tileentity.IPersistentNBT;
|
||||
import com.hbm.tileentity.TileEntityMachineBase;
|
||||
|
||||
import api.hbm.fluid.IFluidUser;
|
||||
import api.hbm.fluid.IFluidStandardTransceiver;
|
||||
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;
|
||||
|
||||
public class TileEntityMachineFluidTank extends TileEntityMachineBase implements IFluidContainer, IFluidSource, IFluidAcceptor, IFluidUser, IPersistentNBT {
|
||||
public class TileEntityMachineFluidTank extends TileEntityMachineBase implements IFluidContainer, IFluidSource, IFluidAcceptor, IFluidStandardTransceiver, IPersistentNBT {
|
||||
|
||||
public FluidTank tank;
|
||||
public short mode = 0;
|
||||
@ -229,4 +229,14 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements
|
||||
this.tank.readFromNBT(data, "tank");
|
||||
this.mode = data.getShort("mode");
|
||||
}
|
||||
|
||||
@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];
|
||||
}
|
||||
}
|
||||
|
||||
59
src/main/resources/assets/hbm/models/blocks/rtty.obj
Normal file
@ -0,0 +1,59 @@
|
||||
# Blender v2.79 (sub 0) OBJ File: 'rtty.blend'
|
||||
# www.blender.org
|
||||
o Cube_Cube.001
|
||||
v -0.125000 -0.500000 0.062500
|
||||
v -0.125000 0.125000 0.062500
|
||||
v -0.125000 -0.500000 -0.062500
|
||||
v -0.125000 0.125000 -0.062500
|
||||
v 0.125000 -0.500000 0.062500
|
||||
v 0.125000 0.125000 0.062500
|
||||
v 0.125000 -0.500000 -0.062500
|
||||
v 0.125000 0.125000 -0.062500
|
||||
v -0.062500 0.062500 0.062500
|
||||
v -0.062500 0.062500 -0.062500
|
||||
v 0.062500 0.062500 0.062500
|
||||
v 0.062500 0.062500 -0.062500
|
||||
v -0.062500 -0.500000 0.125000
|
||||
v -0.062500 0.125000 0.125000
|
||||
v -0.062500 -0.500000 -0.125000
|
||||
v -0.062500 0.125000 -0.125000
|
||||
v 0.062500 -0.500000 0.125000
|
||||
v 0.062500 0.125000 0.125000
|
||||
v 0.062500 -0.500000 -0.125000
|
||||
v 0.062500 0.125000 -0.125000
|
||||
vt 0.625000 0.625000
|
||||
vt 0.375000 0.000000
|
||||
vt 0.625000 0.000000
|
||||
vt 0.625000 0.625000
|
||||
vt 0.375000 0.000000
|
||||
vt 0.625000 0.000000
|
||||
vt 0.562500 0.562500
|
||||
vt 0.437500 0.437500
|
||||
vt 0.562500 0.437500
|
||||
vt 0.625000 0.625000
|
||||
vt 0.375000 -0.000000
|
||||
vt 0.625000 -0.000000
|
||||
vt 0.625000 0.625000
|
||||
vt 0.375000 0.000000
|
||||
vt 0.625000 0.000000
|
||||
vt 0.375000 0.625000
|
||||
vt 0.375000 0.625000
|
||||
vt 0.437500 0.562500
|
||||
vt 0.375000 0.625000
|
||||
vt 0.375000 0.625000
|
||||
vn 0.0000 0.0000 -1.0000
|
||||
vn 0.0000 0.0000 1.0000
|
||||
vn 0.0000 1.0000 0.0000
|
||||
vn -1.0000 0.0000 0.0000
|
||||
vn 1.0000 0.0000 0.0000
|
||||
s off
|
||||
f 4/1/1 7/2/1 3/3/1
|
||||
f 6/4/2 1/5/2 5/6/2
|
||||
f 10/7/3 11/8/3 12/9/3
|
||||
f 14/10/4 15/11/4 13/12/4
|
||||
f 20/13/5 17/14/5 19/15/5
|
||||
f 4/1/1 8/16/1 7/2/1
|
||||
f 6/4/2 2/17/2 1/5/2
|
||||
f 10/7/3 9/18/3 11/8/3
|
||||
f 14/10/4 16/19/4 15/11/4
|
||||
f 20/13/5 18/20/5 17/14/5
|
||||
|
After Width: | Height: | Size: 294 B |
|
After Width: | Height: | Size: 377 B |
|
After Width: | Height: | Size: 364 B |
|
After Width: | Height: | Size: 347 B |
|
After Width: | Height: | Size: 395 B |
|
After Width: | Height: | Size: 489 B |
|
After Width: | Height: | Size: 274 B |
|
After Width: | Height: | Size: 294 B |
|
Before Width: | Height: | Size: 301 B After Width: | Height: | Size: 189 B |
|
Before Width: | Height: | Size: 283 B After Width: | Height: | Size: 172 B |
|
Before Width: | Height: | Size: 313 B After Width: | Height: | Size: 191 B |
|
Before Width: | Height: | Size: 291 B After Width: | Height: | Size: 173 B |