diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 9e904ba13..8b365ed54 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -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()); diff --git a/src/main/java/com/hbm/blocks/machine/SoyuzLauncher.java b/src/main/java/com/hbm/blocks/machine/SoyuzLauncher.java index 6ed230464..63d4610f7 100644 --- a/src/main/java/com/hbm/blocks/machine/SoyuzLauncher.java +++ b/src/main/java/com/hbm/blocks/machine/SoyuzLauncher.java @@ -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); diff --git a/src/main/java/com/hbm/blocks/network/FluidDuctBox.java b/src/main/java/com/hbm/blocks/network/FluidDuctBox.java index 8213efbdd..9769c6836 100644 --- a/src/main/java/com/hbm/blocks/network/FluidDuctBox.java +++ b/src/main/java/com/hbm/blocks/network/FluidDuctBox.java @@ -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; + } } diff --git a/src/main/java/com/hbm/blocks/network/RadioTorchSender.java b/src/main/java/com/hbm/blocks/network/RadioTorchSender.java index c456e2b2b..ba82ce6c1 100644 --- a/src/main/java/com/hbm/blocks/network/RadioTorchSender.java +++ b/src/main/java/com/hbm/blocks/network/RadioTorchSender.java @@ -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_) { diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 2da3a5218..7a2659cba 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -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()); diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index b9c6b03f4..13c6c5ed4 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -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")); diff --git a/src/main/java/com/hbm/render/block/RenderBoxDuct.java b/src/main/java/com/hbm/render/block/RenderBoxDuct.java index f7afa2ee2..4a9b9713d 100644 --- a/src/main/java/com/hbm/render/block/RenderBoxDuct.java +++ b/src/main/java/com/hbm/render/block/RenderBoxDuct.java @@ -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); } } diff --git a/src/main/java/com/hbm/render/block/RenderRTTY.java b/src/main/java/com/hbm/render/block/RenderRTTY.java new file mode 100644 index 000000000..24858ce6a --- /dev/null +++ b/src/main/java/com/hbm/render/block/RenderRTTY.java @@ -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; + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntitySoyuzLauncher.java b/src/main/java/com/hbm/tileentity/machine/TileEntitySoyuzLauncher.java index f870f9cfe..e0c215294 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntitySoyuzLauncher.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntitySoyuzLauncher.java @@ -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)); } } diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java index 2d167fc91..3136a3a21 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java @@ -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; } diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java index 7aee76459..6734e3fa6 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java @@ -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]; + } } diff --git a/src/main/resources/assets/hbm/models/blocks/rtty.obj b/src/main/resources/assets/hbm/models/blocks/rtty.obj new file mode 100644 index 000000000..5961d712a --- /dev/null +++ b/src/main/resources/assets/hbm/models/blocks/rtty.obj @@ -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 diff --git a/src/main/resources/assets/hbm/textures/blocks/boxduct_white_curve.png b/src/main/resources/assets/hbm/textures/blocks/boxduct_white_curve.png new file mode 100644 index 000000000..d8115f2db Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/boxduct_white_curve.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/boxduct_white_curve_bl.png b/src/main/resources/assets/hbm/textures/blocks/boxduct_white_curve_bl.png new file mode 100644 index 000000000..586ca4d1a Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/boxduct_white_curve_bl.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/boxduct_white_curve_br.png b/src/main/resources/assets/hbm/textures/blocks/boxduct_white_curve_br.png new file mode 100644 index 000000000..1883702b0 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/boxduct_white_curve_br.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/boxduct_white_curve_tl.png b/src/main/resources/assets/hbm/textures/blocks/boxduct_white_curve_tl.png new file mode 100644 index 000000000..e79b0a583 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/boxduct_white_curve_tl.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/boxduct_white_curve_tr.png b/src/main/resources/assets/hbm/textures/blocks/boxduct_white_curve_tr.png new file mode 100644 index 000000000..1732c7916 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/boxduct_white_curve_tr.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/boxduct_white_end.png b/src/main/resources/assets/hbm/textures/blocks/boxduct_white_end.png new file mode 100644 index 000000000..484764a50 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/boxduct_white_end.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/boxduct_white_junction.png b/src/main/resources/assets/hbm/textures/blocks/boxduct_white_junction.png new file mode 100644 index 000000000..36e78e712 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/boxduct_white_junction.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/boxduct_white_straight.png b/src/main/resources/assets/hbm/textures/blocks/boxduct_white_straight.png new file mode 100644 index 000000000..636913932 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/boxduct_white_straight.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/rtty_rec_off.png b/src/main/resources/assets/hbm/textures/blocks/rtty_rec_off.png index 6e823d5f0..23c33d6a5 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/rtty_rec_off.png and b/src/main/resources/assets/hbm/textures/blocks/rtty_rec_off.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/rtty_rec_on.png b/src/main/resources/assets/hbm/textures/blocks/rtty_rec_on.png index 3dd5d38c5..aa3cf9116 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/rtty_rec_on.png and b/src/main/resources/assets/hbm/textures/blocks/rtty_rec_on.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/rtty_sender_off.png b/src/main/resources/assets/hbm/textures/blocks/rtty_sender_off.png index 6019674be..7caf9ecb7 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/rtty_sender_off.png and b/src/main/resources/assets/hbm/textures/blocks/rtty_sender_off.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/rtty_sender_on.png b/src/main/resources/assets/hbm/textures/blocks/rtty_sender_on.png index 6899d1439..482ac138e 100644 Binary files a/src/main/resources/assets/hbm/textures/blocks/rtty_sender_on.png and b/src/main/resources/assets/hbm/textures/blocks/rtty_sender_on.png differ