more boxduct variants, fixed soysauce launcher wackyness

This commit is contained in:
Bob 2022-11-21 21:14:13 +01:00
parent ed219824f9
commit bb404bc703
24 changed files with 223 additions and 32 deletions

View File

@ -789,6 +789,7 @@ public class ModBlocks {
public static Block fluid_duct_solid; public static Block fluid_duct_solid;
public static Block fluid_duct_neo; public static Block fluid_duct_neo;
public static Block fluid_duct_box; public static Block fluid_duct_box;
public static Block radio_torch_sender;
public static Block conveyor; public static Block conveyor;
//public static Block conveyor_classic; //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_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_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"); 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 = 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"); //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_neo, ItemBlockBase.class, fluid_duct_neo.getUnlocalizedName());
GameRegistry.registerBlock(fluid_duct_box, ItemBlockBase.class, fluid_duct_box.getUnlocalizedName()); GameRegistry.registerBlock(fluid_duct_box, ItemBlockBase.class, fluid_duct_box.getUnlocalizedName());
GameRegistry.registerBlock(fluid_duct_solid, fluid_duct_solid.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_extractor, crane_extractor.getUnlocalizedName());
GameRegistry.registerBlock(crane_inserter, crane_inserter.getUnlocalizedName()); GameRegistry.registerBlock(crane_inserter, crane_inserter.getUnlocalizedName());

View File

@ -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, 1, 1, -6, 8 }, this, dir);
MultiblockHandlerXR.fillSpace(world, x, y, z, new int[] { 0, 4, 2, 2, 9, -5 }, 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++) { keepInventory = true;
for(int iz = z - 6; iz <= z + 6; iz++) { for(int ix = -6; ix <= 6; ix++) {
this.makeExtra(world, ix, y, iz); for(int iz = -6; iz <= 6; iz++) {
this.makeExtra(world, ix, y + 1, 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 @Override
@ -172,7 +177,7 @@ public class SoyuzLauncher extends BlockDummyable {
if(!keepInventory) { if(!keepInventory) {
ISidedInventory tileentityfurnace = (ISidedInventory) world.getTileEntity(x, y, z); ISidedInventory tileentityfurnace = (ISidedInventory) world.getTileEntity(x, y, z);
if(tileentityfurnace != null) { if(tileentityfurnace instanceof TileEntitySoyuzLauncher) {
for(int i1 = 0; i1 < tileentityfurnace.getSizeInventory(); ++i1) { for(int i1 = 0; i1 < tileentityfurnace.getSizeInventory(); ++i1) {
ItemStack itemstack = tileentityfurnace.getStackInSlot(i1); ItemStack itemstack = tileentityfurnace.getStackInSlot(i1);

View File

@ -36,7 +36,7 @@ public class FluidDuctBox extends FluidDuctBase implements IBlockMulti, ILookOve
@SideOnly(Side.CLIENT) protected IIcon[] iconCurveBR; @SideOnly(Side.CLIENT) protected IIcon[] iconCurveBR;
@SideOnly(Side.CLIENT) protected IIcon[] iconJunction; @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) { public FluidDuctBox(Material mat) {
super(mat); super(mat);
@ -126,7 +126,7 @@ public class FluidDuctBox extends FluidDuctBase implements IBlockMulti, ILookOve
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void getSubBlocks(Item item, CreativeTabs tab, List list) { 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)); list.add(new ItemStack(item, 1, i));
} }
} }
@ -154,7 +154,7 @@ public class FluidDuctBox extends FluidDuctBase implements IBlockMulti, ILookOve
@Override @Override
public int getSubCount() { public int getSubCount() {
return 2; return 3;
} }
@Override @Override
@ -171,4 +171,12 @@ public class FluidDuctBox extends FluidDuctBase implements IBlockMulti, ILookOve
text.add("&[" + duct.getType().getColor() + "&]" +I18nUtil.resolveKey(duct.getType().getUnlocalizedName())); text.add("&[" + duct.getType().getColor() + "&]" +I18nUtil.resolveKey(duct.getType().getUnlocalizedName()));
ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); 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;
}
} }

View File

@ -1,13 +1,29 @@
package com.hbm.blocks.network; 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.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraft.world.World; import net.minecraft.world.World;
public class RadioTorchSender extends RadioTorchBase { public class RadioTorchSender extends RadioTorchBase {
@SideOnly(Side.CLIENT)
protected IIcon iconOn;
public RadioTorchSender() { public RadioTorchSender() {
super(); 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 @Override
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) {

View File

@ -744,6 +744,7 @@ public class ClientProxy extends ServerProxy {
RenderingRegistry.registerBlockHandler(new RenderBoxDuct()); RenderingRegistry.registerBlockHandler(new RenderBoxDuct());
RenderingRegistry.registerBlockHandler(new RenderBlockDecoModel(ModBlocks.deco_computer.getRenderType(), ResourceManager.deco_computer)); RenderingRegistry.registerBlockHandler(new RenderBlockDecoModel(ModBlocks.deco_computer.getRenderType(), ResourceManager.deco_computer));
RenderingRegistry.registerBlockHandler(new RenderReeds()); RenderingRegistry.registerBlockHandler(new RenderReeds());
RenderingRegistry.registerBlockHandler(new RenderRTTY());
RenderingRegistry.registerBlockHandler(new RenderFoundryBasin()); RenderingRegistry.registerBlockHandler(new RenderFoundryBasin());
RenderingRegistry.registerBlockHandler(new RenderFoundryMold()); RenderingRegistry.registerBlockHandler(new RenderFoundryMold());

View File

@ -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_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_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 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")); public static final IModelCustom deco_computer = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/puter.obj"));

View File

@ -9,6 +9,7 @@ import com.hbm.tileentity.network.TileEntityPipeBaseNT;
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
@ -22,10 +23,17 @@ public class RenderBoxDuct implements ISimpleBlockRenderingHandler {
FluidType type = Fluids.NONE; FluidType type = Fluids.NONE;
TileEntity te = world.getTileEntity(x, y, z); 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) { if(te instanceof TileEntityPipeBaseNT) {
TileEntityPipeBaseNT pipe = (TileEntityPipeBaseNT) te; TileEntityPipeBaseNT pipe = (TileEntityPipeBaseNT) te;
type = pipe.getType(); type = pipe.getType();
if(meta == 2) {
FluidDuctBox.cachedColor = type.getColor();
}
} }
boolean pX = Library.canConnectFluid(world, x + 1, y, z, Library.NEG_X, type); 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 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); 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 //Straight along X
if((mask & 0b001111) == 0 && mask > 0) { if((mask & 0b001111) == 0 && mask > 0) {
@ -44,19 +67,19 @@ public class RenderBoxDuct implements ISimpleBlockRenderingHandler {
renderer.uvRotateBottom = 1; renderer.uvRotateBottom = 1;
renderer.uvRotateEast = 2; renderer.uvRotateEast = 2;
renderer.uvRotateWest = 1; 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); renderer.renderStandardBlock(block, x, y, z);
//Straight along Z //Straight along Z
} else if((mask & 0b111100) == 0 && mask > 0) { } else if((mask & 0b111100) == 0 && mask > 0) {
renderer.uvRotateNorth = 1; renderer.uvRotateNorth = 1;
renderer.uvRotateSouth = 2; 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); renderer.renderStandardBlock(block, x, y, z);
//Straight along Y //Straight along Y
} else if((mask & 0b110011) == 0 && mask > 0) { } 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); renderer.renderStandardBlock(block, x, y, z);
//Curve //Curve
@ -79,61 +102,61 @@ public class RenderBoxDuct implements ISimpleBlockRenderingHandler {
renderer.uvRotateWest = 1; 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); renderer.renderStandardBlock(block, x, y, z);
if(nY) { 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); renderer.renderStandardBlock(block, x, y, z);
} }
if(pY) { 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); renderer.renderStandardBlock(block, x, y, z);
} }
if(nX) { 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); renderer.renderStandardBlock(block, x, y, z);
} }
if(pX) { 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); renderer.renderStandardBlock(block, x, y, z);
} }
if(nZ) { 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); renderer.renderStandardBlock(block, x, y, z);
} }
if(pZ) { 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); renderer.renderStandardBlock(block, x, y, z);
} }
//Junction //Junction
} else { } 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); renderer.renderStandardBlock(block, x, y, z);
if(nY) { 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); renderer.renderStandardBlock(block, x, y, z);
} }
if(pY) { 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); renderer.renderStandardBlock(block, x, y, z);
} }
if(nX) { 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); renderer.renderStandardBlock(block, x, y, z);
} }
if(pX) { 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); renderer.renderStandardBlock(block, x, y, z);
} }
if(nZ) { 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); renderer.renderStandardBlock(block, x, y, z);
} }
if(pZ) { 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); renderer.renderStandardBlock(block, x, y, z);
} }
} }

View 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;
}
}

View File

@ -154,8 +154,8 @@ public class TileEntitySoyuzLauncher extends TileEntityMachineBase implements IS
ForgeDirection rot = dir.getRotation(ForgeDirection.UP); ForgeDirection rot = dir.getRotation(ForgeDirection.UP);
for(int i = -6; i <= 6; i++) { 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 + 0, zCoord + dir.offsetZ * 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 - 1, zCoord + dir.offsetZ * 7 + rot.offsetZ * i, dir));
} }
} }

View File

@ -12,7 +12,6 @@ import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.tank.FluidTank;
import com.hbm.lib.Library; import com.hbm.lib.Library;
import com.hbm.main.MainRegistry; import com.hbm.main.MainRegistry;
import com.hbm.main.ModEventHandlerImpact;
import com.hbm.tileentity.IPersistentNBT; import com.hbm.tileentity.IPersistentNBT;
import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.tileentity.TileEntityMachineBase;
@ -178,7 +177,6 @@ public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcc
@Override @Override
public int getFluidFill(FluidType type) { public int getFluidFill(FluidType type) {
return type == this.tank.getTankType() ? tank.getFill() : 0; return type == this.tank.getTankType() ? tank.getFill() : 0;
} }

View File

@ -14,14 +14,14 @@ import com.hbm.lib.Library;
import com.hbm.tileentity.IPersistentNBT; import com.hbm.tileentity.IPersistentNBT;
import com.hbm.tileentity.TileEntityMachineBase; 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.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB; 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 FluidTank tank;
public short mode = 0; public short mode = 0;
@ -229,4 +229,14 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements
this.tank.readFromNBT(data, "tank"); this.tank.readFromNBT(data, "tank");
this.mode = data.getShort("mode"); 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];
}
} }

View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 294 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 377 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 364 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 347 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 395 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 489 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 274 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 294 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 301 B

After

Width:  |  Height:  |  Size: 189 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 283 B

After

Width:  |  Height:  |  Size: 172 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 313 B

After

Width:  |  Height:  |  Size: 191 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 291 B

After

Width:  |  Height:  |  Size: 173 B