From 35103853e3bc3f770216b4d63f6e26dfd9b356cd Mon Sep 17 00:00:00 2001 From: HbmMods Date: Sat, 11 Jul 2026 19:19:58 +0200 Subject: [PATCH] deltarune gas leak theory --- changelog | 105 +---- src/main/java/com/hbm/blocks/ModBlocks.java | 22 +- .../com/hbm/blocks/generic/BlockDecoCT.java | 2 +- .../hbm/blocks/generic/BlockNTMGlassCT.java | 2 +- ...nericPWR.java => BlockGenericTooltip.java} | 4 +- .../hbm/blocks/machine/BlockHadronCoil.java | 2 +- .../java/com/hbm/blocks/machine/BlockICF.java | 2 +- .../java/com/hbm/blocks/machine/BlockPWR.java | 2 +- .../hbm/blocks/machine/pile/BlockPile.java | 58 +++ .../com/hbm/blocks/network/WireCoated.java | 2 +- .../container/ContainerMachinePress.java | 4 +- .../hbm/inventory/gui/GUIMachinePress.java | 8 +- .../com/hbm/render/block/ct/CTContext.java | 14 +- .../com/hbm/render/block/ct/IBlockCT.java | 2 +- .../hbm/models/reactors/pile_control.obj | 318 +++++++++++++++ .../hbm/models/reactors/pile_loader.obj | 324 +++++++++++++++ .../assets/hbm/models/reactors/pile_vent.obj | 378 ++++++++++++++++++ .../assets/hbm/textures/blocks/pile_block.png | Bin 0 -> 634 bytes .../hbm/textures/blocks/pile_block_ct.png | Bin 0 -> 1438 bytes .../hbm/textures/blocks/pile_block_top.png | Bin 0 -> 634 bytes .../hbm/textures/blocks/pile_block_top_ct.png | Bin 0 -> 1532 bytes .../assets/hbm/textures/blocks/pile_brick.png | Bin 0 -> 276 bytes .../assets/hbm/textures/blocks/pile_wood.png | Bin 0 -> 525 bytes .../hbm/textures/blocks/pile_wood_planks.png | Bin 0 -> 647 bytes .../textures/blocks/pile_wood_planks_lr.png | Bin 0 -> 704 bytes .../playground/nullstone_demo_1_wip.png | Bin 0 -> 292 bytes .../assets/hbm/textures/gui/gui_press.png | Bin 4460 -> 3504 bytes .../hbm/textures/models/pile/pile_control.png | Bin 0 -> 408 bytes .../hbm/textures/models/pile/pile_loader.png | Bin 0 -> 465 bytes .../hbm/textures/models/pile/pile_vent.png | Bin 0 -> 469 bytes 30 files changed, 1118 insertions(+), 131 deletions(-) rename src/main/java/com/hbm/blocks/machine/{BlockGenericPWR.java => BlockGenericTooltip.java} (77%) create mode 100644 src/main/java/com/hbm/blocks/machine/pile/BlockPile.java create mode 100644 src/main/resources/assets/hbm/models/reactors/pile_control.obj create mode 100644 src/main/resources/assets/hbm/models/reactors/pile_loader.obj create mode 100644 src/main/resources/assets/hbm/models/reactors/pile_vent.obj create mode 100644 src/main/resources/assets/hbm/textures/blocks/pile_block.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/pile_block_ct.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/pile_block_top.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/pile_block_top_ct.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/pile_brick.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/pile_wood.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/pile_wood_planks.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/pile_wood_planks_lr.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/playground/nullstone_demo_1_wip.png create mode 100644 src/main/resources/assets/hbm/textures/models/pile/pile_control.png create mode 100644 src/main/resources/assets/hbm/textures/models/pile/pile_loader.png create mode 100644 src/main/resources/assets/hbm/textures/models/pile/pile_vent.png diff --git a/changelog b/changelog index 49a10e560..a9bebc540 100644 --- a/changelog +++ b/changelog @@ -1,105 +1,2 @@ -## Added -* Pneumatic Storage System - * Mass storage logistics system that can perform various automation tasks - * Items can be stored in clutter storages (steel crate equivalent) or mono type storages (ironically supports three types set using filters holding several thousand items) - * In order to be accessible, all storages need a supply of compressed air with the compression level dictating range - * Access points allow items to be retrieved and inserted manually - * Access points have a search function as well as several sorting options - * Importers allow hopper IO to add items to the network - * Exporters allow items to be retrieved and then taken using hopper IO, things like filters and request rules can be defined in several ways - * Allows continuous request and request on demand (redstone or RoR command) - * Filters can be set using items or RoR commands - * Requests can be configured to take as much as possible, to only take full stacks, or to only take full requests - * In combination with assembler recipe switching, using RoR logic, this means that on-demand recipe automation is now possible - * Still in testing, there's no recipes for any of the parts yet -* Cargo door - * Steel grate door which goes well with the cargo elevators - -## Changed -* Updated chinese localization -* Watz powerplant now has OC and RoR integration -* The automatic thresher now has a fluid port on the bottom as well -* The foundry basins and outlet filters now use the properly translated name instead of the internal name for the material -* Removed config for new bedrock ores - * New ores are the default anyway and old bedrock ores are now properly deprecated - * Existing setups will continue to work for now - * Old bedrock ore items still exist but are no longer listed in the creative tab -* Removed recipe for the small single block steam turbine - * We have steam engines and industrial turbines are really not that expensive - * "oh no, i have to build an actually good looking setup now if i want to build a zirnox!" yeah you do -* Updated light brick texture -* The maximum character limit on RoR channels is now the same for all RoR devices, being 15 - * This does not include special RoR interactive devices that don't use GUI text fields like the RoR terminal or the AUTOCAL units -* Pile output rods like the bred uranium and the plutonium rods can no longer be dismantled using the anvil, the PUREX is now mandatory -* If too many conveyor item entities intersect with one another, they explode - * The conveyor belt the items were on is broken, preventing further item buildup -* Items that leave the covneyor belt, usually by trying to enter a full inserter, now have a shortened lifespan of 1 minute instead of 5 -* Base steam production per consumed heat has been increased by 50% on the ZIRNOX -* Both radioisotope cell variants have been finally removed after being deprecated for a while -* Selfchargers now have a tooltip explaining the hazards of using them in a battery socket -* The alternate recipe for the assembler in the assembler now uses integrated circuits instead of analog ones -* Added an alternate chemical plant recipe that uses a smaller selection of items and ICs instead of ACs -* Flashgold and flashlead are now made in the PUREX instead of the crafting table - * The flashgold recipe now yields two billets instead of one -* Slightly changed the HSS ingot and plate textures to not look identical to steel except slightly greenish -* The AUTOCAL's buffer is now limited to 256 characters instead of being infinite -* Increased the blast furnace's fuel buffer by 50%, allowing coke blocks to be used -* If an RoR controller tries to parse an integer, but the supplied string represents a decimal, instead of canceling the operation, the system will now interpret decimals and round them to be integers - * This means that the AUTOCAL can now send RoR commands using calculated values directly without the use of `round` or `evalr` -* Assembly machines and chemical plants now support Redstone-over-Radio - * Active state (0 or 1), progress (0-100) and current recipe (internal name) can now be read - * The recipe can be set using a controller - * Do note that setting a recipe that needs a blueprint without that blueprint will not work - * RoR set recipes cause the assembler to go into low power mode, making it run at only 25% speed (visible through the blue progress bar) - * The speed penalty is removed as soon as a recipe is assigned manually again -* Assembly factories, chemical factories, PUREX and plasma forges can now be read (but not configured) using Redstone-over-Radio -* Fusion reactor vessels can now be read and configured using RoR - * Unlike assemblers and chemplants, remote recipe configuration does not cause a speed penalty -* The AUTOCAL's script interpreter now runs MS-ES v1.1 (First Extended Instruction Set) - * Allows the use of a global stack, similar to the buffer which can hold 256 values - * Allows splitting of strings and counting of string fragments - * Adds substring operations - * Polling for receiving only fresh RoR signals - * A command for writing the world time to the buffer, allowing for more precise timers -* All RoR values/commands are now case-insensitive -* Changed mask man spawning rules - * Instead of random checks and chances, if a player meets the requirements, a timer starts (timer exists per player) - * Once this timer runs out, mask man spawns - * Should the timer run out but the spawn be unsuccessful (spawn restrictions) then a different message appears - * If the requirements are no longer met, the timer immediately resets, making it easier to avoid him deliberately - * The default spawn timer is now 20 minutes, making it easier to spawn him deliberately - * One minute before the timer ends, a warning message appears -* Changed normal mode control unit recipes - * Standard control units now use rubber instead of speed I upgrades - * Advanced control units now use hardplastics instead of speed III upgrades - * Quantum computers now use speed III upgrades instead of overdrive I -* Updated electric furnace, burner press and electric press GUIs -* The RoR terminal can now accept RoR controller input, allowing the terminal screen to be written directly and RoR terminal commands to be executed via incoming RoR signals - * The last part seems redundant, why would you need to send RoR by sending RoR? The answer being, the terminal can be toggled to send polling signals, which will run independently of the source - * For AUTOCALs, this means that they can now send polling signals "in parallel", i.e. independently of the code that actually runs on said AUTOCAL, by simply toggling polling on a terminal - * Since AUTOCALs now have a proper screen to output things with, it is now theoretically possible to program a functioning arcade machine (with terminal graphics) -* Glyphids will now try to target new players every 5 seconds if their current target is farther away than any other potential target - * 1/3 of glyphids do not have this behavior, this means that larger groups of glyphids cannot be trapped indefinitely by triggering target changes on purpose -* Pedestal blocks fitted with charms now have a 200x200 block square area around them where the charm effect of repelling meteors applies to all players -* Pedestal blocks fitted with golden defusers now have a 50x50 block area around them where creepers are automatically defused -* Disabled GTNH-NEI filter drag functionality because GTNH-NEI breaks the pattern slots of the new pneumatics stuff and the person who added it originally was too bald to fix it despite being told multiple times - * 70k it's 70k and he's bald bald haha bald head - * baldie baldie hahaha he bald he has the no of hair - * follically challenged baldie bald head -* Increased flue gas burn value from 10kTU to 25kTU - ## Fixed -* Fixed AUTOCAL's number comparison functions not working with variable substitution as advertised -* Fixed broken thorium ore centrifuging recipe shown in NEI -* Fixed industrial turbine not properly saving its energy values, causing the flywheel to stop on relog -* Fixed lapis dust to cobalt shredder recipe not using oredict -* Fixed AUTOCAL's file opening buttons not working on some systems, it will fall back to opening the folder instead -* Fixed some recipes not using ore dict when they should -* Fixed `anyBismoid` group not being a proper group, causing other mods' bismuth and arsenic to not be included -* Fixed RoR gauge not using SI suffixes on values below 0 -* Fixed AUTOCAL units not closing their GUI when the unit is destroyed -* Fixed AUTOCAL's $buffer$ substitution not working -* Fixed meteorite sword localization still being broken -* Fixed missing localization on the FM radio -* Fixed mufflers not working on large doors -* Fixed the electric press not displaying the currently pressed item in the model +* Fixed burner press GUI offsets being incorrect \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 91c3537de..fad72e397 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -851,6 +851,9 @@ public class ModBlocks { public static Block custom_machine; public static Block cm_anchor; + public static Block pile_brick; + public static Block pile_block; + public static Block pwr_fuel; public static Block pwr_control; public static Block pwr_channel; @@ -1958,16 +1961,19 @@ public class ModBlocks { cm_heat = new BlockCMHeat(Material.iron, RefStrings.MODID +":cm_heat_top").setBlockName("cm_heat").setCreativeTab(MainRegistry.machineTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_heat_side"); custom_machine = new BlockCustomMachine().setBlockName("custom_machine").setCreativeTab(MainRegistry.machineTab).setLightLevel(1F).setHardness(5.0F).setResistance(10.0F); cm_anchor = new BlockCMAnchor().setBlockName("custom_machine_anchor").setCreativeTab(MainRegistry.machineTab).setHardness(5.0F).setResistance(10.0F); + + pile_brick = new BlockGenericTooltip(Material.iron).setBlockName("pile_brick").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pile_brick"); + pile_block = new BlockPile().setBlockName("pile_block").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pile_block"); pwr_fuel = new BlockPillarPWR(Material.iron, RefStrings.MODID + ":pwr_fuel_top").setBlockName("pwr_fuel").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_fuel_side"); pwr_control = new BlockPillarPWR(Material.iron, RefStrings.MODID + ":pwr_control_top").setBlockName("pwr_control").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_control_side"); pwr_channel = new BlockPillarPWR(Material.iron, RefStrings.MODID + ":pwr_channel_top").setBlockName("pwr_channel").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_channel_side"); - pwr_heatex = new BlockGenericPWR(Material.iron).setBlockName("pwr_heatex").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_heatex"); - pwr_heatsink = new BlockGenericPWR(Material.iron).setBlockName("pwr_heatsink").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_heatsink"); - pwr_neutron_source = new BlockGenericPWR(Material.iron).setBlockName("pwr_neutron_source").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_neutron_source"); - pwr_reflector = new BlockGenericPWR(Material.iron).setBlockName("pwr_reflector").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_reflector"); - pwr_casing = new BlockGenericPWR(Material.iron).setBlockName("pwr_casing").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_casing"); - pwr_port = new BlockGenericPWR(Material.iron).setBlockName("pwr_port").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_port"); + pwr_heatex = new BlockGenericTooltip(Material.iron).setBlockName("pwr_heatex").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_heatex"); + pwr_heatsink = new BlockGenericTooltip(Material.iron).setBlockName("pwr_heatsink").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_heatsink"); + pwr_neutron_source = new BlockGenericTooltip(Material.iron).setBlockName("pwr_neutron_source").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_neutron_source"); + pwr_reflector = new BlockGenericTooltip(Material.iron).setBlockName("pwr_reflector").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_reflector"); + pwr_casing = new BlockGenericTooltip(Material.iron).setBlockName("pwr_casing").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_casing"); + pwr_port = new BlockGenericTooltip(Material.iron).setBlockName("pwr_port").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_port"); pwr_controller = new MachinePWRController(Material.iron).setBlockName("pwr_controller").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":pwr_casing_blank"); pwr_block = new BlockPWR(Material.iron).setBlockName("pwr_block").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":pwr_block"); @@ -3317,6 +3323,10 @@ public class ModBlocks { register(cm_flux); register(cm_heat); register(cm_anchor); + + //Chicago Pile + register(pile_brick); + register(pile_block); //PWR register(pwr_fuel); diff --git a/src/main/java/com/hbm/blocks/generic/BlockDecoCT.java b/src/main/java/com/hbm/blocks/generic/BlockDecoCT.java index f46a7b4fd..214e05e77 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockDecoCT.java +++ b/src/main/java/com/hbm/blocks/generic/BlockDecoCT.java @@ -34,7 +34,7 @@ public class BlockDecoCT extends BlockOre implements IBlockCT { } @Override - public IIcon[] getFragments(IBlockAccess world, int x, int y, int z) { + public IIcon[] getFragments(IBlockAccess world, int x, int y, int z, int side) { return rec.fragCache; } diff --git a/src/main/java/com/hbm/blocks/generic/BlockNTMGlassCT.java b/src/main/java/com/hbm/blocks/generic/BlockNTMGlassCT.java index be9993790..a5bd0f3a4 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockNTMGlassCT.java +++ b/src/main/java/com/hbm/blocks/generic/BlockNTMGlassCT.java @@ -36,7 +36,7 @@ public class BlockNTMGlassCT extends BlockNTMGlass implements IBlockCT { } @Override - public IIcon[] getFragments(IBlockAccess world, int x, int y, int z) { + public IIcon[] getFragments(IBlockAccess world, int x, int y, int z, int side) { return rec.fragCache; } } diff --git a/src/main/java/com/hbm/blocks/machine/BlockGenericPWR.java b/src/main/java/com/hbm/blocks/machine/BlockGenericTooltip.java similarity index 77% rename from src/main/java/com/hbm/blocks/machine/BlockGenericPWR.java rename to src/main/java/com/hbm/blocks/machine/BlockGenericTooltip.java index d94d06697..e66836750 100644 --- a/src/main/java/com/hbm/blocks/machine/BlockGenericPWR.java +++ b/src/main/java/com/hbm/blocks/machine/BlockGenericTooltip.java @@ -9,9 +9,9 @@ import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; -public class BlockGenericPWR extends BlockGeneric implements ITooltipProvider { +public class BlockGenericTooltip extends BlockGeneric implements ITooltipProvider { - public BlockGenericPWR(Material material) { + public BlockGenericTooltip(Material material) { super(material); } diff --git a/src/main/java/com/hbm/blocks/machine/BlockHadronCoil.java b/src/main/java/com/hbm/blocks/machine/BlockHadronCoil.java index 3e099e600..7a0d858b9 100644 --- a/src/main/java/com/hbm/blocks/machine/BlockHadronCoil.java +++ b/src/main/java/com/hbm/blocks/machine/BlockHadronCoil.java @@ -43,7 +43,7 @@ public class BlockHadronCoil extends Block implements IBlockCT, ITooltipProvider } @Override - public IIcon[] getFragments(IBlockAccess world, int x, int y, int z) { + public IIcon[] getFragments(IBlockAccess world, int x, int y, int z, int side) { return rec.fragCache; } diff --git a/src/main/java/com/hbm/blocks/machine/BlockICF.java b/src/main/java/com/hbm/blocks/machine/BlockICF.java index 442433aba..95d708b63 100644 --- a/src/main/java/com/hbm/blocks/machine/BlockICF.java +++ b/src/main/java/com/hbm/blocks/machine/BlockICF.java @@ -55,7 +55,7 @@ public class BlockICF extends BlockContainer implements IBlockCT { } @Override - public IIcon[] getFragments(IBlockAccess world, int x, int y, int z) { + public IIcon[] getFragments(IBlockAccess world, int x, int y, int z, int side) { int meta = world.getBlockMetadata(x, y, z); if(meta == 1) return recPort.fragCache; return rec.fragCache; diff --git a/src/main/java/com/hbm/blocks/machine/BlockPWR.java b/src/main/java/com/hbm/blocks/machine/BlockPWR.java index aff9d5cbf..07c368d27 100644 --- a/src/main/java/com/hbm/blocks/machine/BlockPWR.java +++ b/src/main/java/com/hbm/blocks/machine/BlockPWR.java @@ -62,7 +62,7 @@ public class BlockPWR extends BlockContainer implements IBlockCT { } @Override - public IIcon[] getFragments(IBlockAccess world, int x, int y, int z) { + public IIcon[] getFragments(IBlockAccess world, int x, int y, int z, int side) { int meta = world.getBlockMetadata(x, y, z); if(meta == 1) return recPort.fragCache; return rec.fragCache; diff --git a/src/main/java/com/hbm/blocks/machine/pile/BlockPile.java b/src/main/java/com/hbm/blocks/machine/pile/BlockPile.java new file mode 100644 index 000000000..fb1d35a9f --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/pile/BlockPile.java @@ -0,0 +1,58 @@ +package com.hbm.blocks.machine.pile; + +import java.util.Random; + +import com.hbm.lib.RefStrings; +import com.hbm.render.block.ct.CT; +import com.hbm.render.block.ct.CTStitchReceiver; +import com.hbm.render.block.ct.IBlockCT; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.item.Item; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; + +public class BlockPile extends BlockContainer implements IBlockCT { + + @SideOnly(Side.CLIENT) protected IIcon iconTop; + + public BlockPile() { + super(Material.iron); + } + + @Override public int getRenderType() { return CT.renderID; } + + @Override + public Item getItemDropped(int i, Random rand, int j) { + return null; + } + + @SideOnly(Side.CLIENT) public CTStitchReceiver rec; + @SideOnly(Side.CLIENT) public CTStitchReceiver recTop; + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister reg) { + super.registerBlockIcons(reg); + this.iconTop = reg.registerIcon(RefStrings.MODID + ":pile_block_top"); + + this.rec = IBlockCT.primeReceiver(reg, this.blockIcon.getIconName(), this.blockIcon); + this.recTop = IBlockCT.primeReceiver(reg, this.iconTop.getIconName(), this.iconTop); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return null; + } + + @Override + public IIcon[] getFragments(IBlockAccess world, int x, int y, int z, int side) { + if(side == 0 || side == 1) return recTop.fragCache; + return rec.fragCache; + } +} diff --git a/src/main/java/com/hbm/blocks/network/WireCoated.java b/src/main/java/com/hbm/blocks/network/WireCoated.java index c96c68ad5..ddc06bc6d 100644 --- a/src/main/java/com/hbm/blocks/network/WireCoated.java +++ b/src/main/java/com/hbm/blocks/network/WireCoated.java @@ -40,7 +40,7 @@ public class WireCoated extends BlockContainer implements IBlockCT { } @Override - public IIcon[] getFragments(IBlockAccess world, int x, int y, int z) { + public IIcon[] getFragments(IBlockAccess world, int x, int y, int z, int side) { return rec.fragCache; } } diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachinePress.java b/src/main/java/com/hbm/inventory/container/ContainerMachinePress.java index 8fda99d52..86f096a4c 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerMachinePress.java +++ b/src/main/java/com/hbm/inventory/container/ContainerMachinePress.java @@ -33,12 +33,12 @@ public class ContainerMachinePress extends Container { for(int i = 0; i < 3; i++) { for(int j = 0; j < 9; j++) { - this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 120 + i * 18)); + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 8 + j * 18, 132 + i * 18)); } } for(int i = 0; i < 9; i++) { - this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 178)); + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 190)); } } diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachinePress.java b/src/main/java/com/hbm/inventory/gui/GUIMachinePress.java index a9c306d77..17e64d6ed 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachinePress.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachinePress.java @@ -22,7 +22,7 @@ public class GUIMachinePress extends GuiInfoContainer { press = tedf; this.xSize = 176; - this.ySize = 202; + this.ySize = 214; } @Override @@ -37,7 +37,7 @@ public class GUIMachinePress extends GuiInfoContainer { protected void drawGuiContainerForegroundLayer( int i, int j) { String name = this.press.hasCustomInventoryName() ? this.press.getInventoryName() : I18n.format(this.press.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, 0xffffff); this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); } @@ -48,11 +48,11 @@ public class GUIMachinePress extends GuiInfoContainer { drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); if(press.burnTime >= 20) { - this.drawTexturedModalRect(guiLeft + 27, guiTop + 36, 0, 202, 14, 14); + this.drawTexturedModalRect(guiLeft + 27, guiTop + 36, 0, 214, 14, 14); } int k = (int) (press.renderPress * 16 / press.maxPress); - this.drawTexturedModalRect(guiLeft + 79, guiTop + 35, 14, 202, 18, k); + this.drawTexturedModalRect(guiLeft + 79, guiTop + 35, 15, 214, 18, k); double i = (double) press.speed / (double) press.maxSpeed; GUIElements.drawSmoothGauge(guiLeft + 34, guiTop + 25, this.zLevel, i, 5, 2, 1, 0x7f0000); diff --git a/src/main/java/com/hbm/render/block/ct/CTContext.java b/src/main/java/com/hbm/render/block/ct/CTContext.java index d028d2933..74f3b4108 100644 --- a/src/main/java/com/hbm/render/block/ct/CTContext.java +++ b/src/main/java/com/hbm/render/block/ct/CTContext.java @@ -96,7 +96,7 @@ public class CTContext { int ibl = b | l | cornerType(cons[3], cons[5], cons[6]); int ibr = b | r | cornerType(cons[4], cons[7], cons[6]); - faces[i] = new CTFace(world, x, y, z, (IBlockCT)block, itl, itr, ibl, ibr); + faces[i] = new CTFace(world, x, y, z, i, (IBlockCT)block, itl, itr, ibl, ibr); } } @@ -152,6 +152,7 @@ public class CTContext { int x; int y; int z; + int side; IBlockCT ct; int index_tl; int index_tr; @@ -160,11 +161,12 @@ public class CTContext { public CTFace() { } - public CTFace(IBlockAccess world, int x, int y, int z, IBlockCT block, int i, int j, int k, int l) { + public CTFace(IBlockAccess world, int x, int y, int z, int side, IBlockCT block, int i, int j, int k, int l) { this.world = world; this.x = x; this.y = y; this.z = z; + this.side = side; this.ct = block; this.index_tl = i; this.index_tr = j; @@ -172,9 +174,9 @@ public class CTContext { this.index_br = l; } - public IIcon getTopLeft() { return ct.getFragments(world, x, y, z)[index_tl]; } - public IIcon getTopRight() { return ct.getFragments(world, x, y, z)[index_tr]; } - public IIcon getBottomLeft() { return ct.getFragments(world, x, y, z)[index_bl]; } - public IIcon getBottomRight() { return ct.getFragments(world, x, y, z)[index_br]; } + public IIcon getTopLeft() { return ct.getFragments(world, x, y, z, side)[index_tl]; } + public IIcon getTopRight() { return ct.getFragments(world, x, y, z, side)[index_tr]; } + public IIcon getBottomLeft() { return ct.getFragments(world, x, y, z, side)[index_bl]; } + public IIcon getBottomRight() { return ct.getFragments(world, x, y, z, side)[index_br]; } } } diff --git a/src/main/java/com/hbm/render/block/ct/IBlockCT.java b/src/main/java/com/hbm/render/block/ct/IBlockCT.java index c672784c0..0dfdb717f 100644 --- a/src/main/java/com/hbm/render/block/ct/IBlockCT.java +++ b/src/main/java/com/hbm/render/block/ct/IBlockCT.java @@ -7,7 +7,7 @@ import net.minecraft.world.IBlockAccess; public interface IBlockCT { - public IIcon[] getFragments(IBlockAccess world, int x, int y, int z); + public IIcon[] getFragments(IBlockAccess world, int x, int y, int z, int side); public default boolean canConnect(IBlockAccess world, int x, int y, int z, Block block) { return this == block; diff --git a/src/main/resources/assets/hbm/models/reactors/pile_control.obj b/src/main/resources/assets/hbm/models/reactors/pile_control.obj new file mode 100644 index 000000000..a7859bdb4 --- /dev/null +++ b/src/main/resources/assets/hbm/models/reactors/pile_control.obj @@ -0,0 +1,318 @@ +# Blender v2.79 (sub 0) OBJ File: 'pile_control.blend' +# www.blender.org +o Rod +v 0.187500 0.750000 -0.250000 +v 0.250000 0.750000 -0.187500 +v -0.250000 0.750000 -0.187500 +v -0.187500 0.750000 -0.250000 +v -0.187500 0.750000 0.250000 +v -0.250000 0.750000 0.187500 +v 0.250000 0.750000 0.187500 +v 0.187500 0.750000 0.250000 +v 0.250000 1.000000 -0.187500 +v 0.187500 1.000000 -0.250000 +v -0.187500 1.000000 -0.250000 +v -0.250000 1.000000 -0.187500 +v -0.250000 1.000000 0.187500 +v -0.187500 1.000000 0.250000 +v 0.187500 1.000000 0.250000 +v 0.250000 1.000000 0.187500 +v 0.187500 0.750000 -0.125000 +v 0.125000 0.750000 -0.187500 +v -0.125000 0.750000 -0.187500 +v -0.187500 0.750000 -0.125000 +v -0.187500 0.750000 0.125000 +v -0.125000 0.750000 0.187500 +v 0.125000 0.750000 0.187500 +v 0.187500 0.750000 0.125000 +v 0.125000 0.000000 -0.187500 +v 0.187500 0.000000 -0.125000 +v -0.187500 0.000000 -0.125000 +v -0.125000 0.000000 -0.187500 +v -0.125000 0.000000 0.187500 +v -0.187500 0.000000 0.125000 +v 0.187500 0.000000 0.125000 +v 0.125000 0.000000 0.187500 +vt 0.618182 0.600000 +vt 0.509091 0.700000 +vt 0.509091 0.600000 +vt 0.872727 0.600000 +vt 0.763636 0.700000 +vt 0.763636 0.600000 +vt 0.490909 0.600000 +vt 0.381818 0.700000 +vt 0.381818 0.600000 +vt 0.618182 0.700000 +vt 0.636364 0.725000 +vt 0.490909 0.875000 +vt 0.490909 0.575000 +vt 0.509091 0.400000 +vt 0.745455 1.000000 +vt 0.818182 0.700000 +vt 0.818182 1.000000 +vt 0.927273 1.000000 +vt 1.000000 0.700000 +vt 1.000000 1.000000 +vt 0.654545 1.000000 +vt 0.727273 0.700000 +vt 0.727273 1.000000 +vt 0.636364 0.700000 +vt 0.636364 0.600000 +vt 0.490909 0.700000 +vt 0.363636 0.600000 +vt 0.745455 0.600000 +vt 0.745455 0.700000 +vt 0.745455 0.700000 +vt 0.636364 0.700000 +vt 0.636364 1.000000 +vt 0.909091 0.700000 +vt 0.927273 0.700000 +vt 0.836364 1.000000 +vt 0.909091 1.000000 +vt 0.872727 0.700000 +vt 0.636364 0.875000 +vt 0.618182 0.900000 +vt 0.509091 0.900000 +vt 0.490909 0.725000 +vt 0.618182 0.400000 +vt 0.636364 0.425000 +vt 0.636364 0.575000 +vt 0.490909 0.425000 +vt 0.654545 0.700000 +vt 0.363636 0.700000 +vt 0.836364 0.700000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 -0.0000 +vn -0.0000 0.0000 1.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 0.7071 +vn -0.7071 0.0000 0.7071 +vn -0.7071 0.0000 -0.7071 +vn 0.0000 0.0000 -1.0000 +s off +f 2/1/1 16/2/1 7/3/1 +f 6/4/2 12/5/2 3/6/2 +f 8/7/3 14/8/3 5/9/3 +f 9/10/4 10/11/4 14/12/4 +f 2/1/5 8/13/5 6/14/5 +f 24/15/1 26/16/1 17/17/1 +f 20/18/2 30/19/2 21/20/2 +f 22/21/3 32/22/3 23/23/3 +f 10/24/6 2/1/6 1/25/6 +f 8/7/7 16/2/7 15/26/7 +f 14/8/8 6/27/8 5/9/8 +f 4/28/9 12/5/9 11/29/9 +f 4/28/10 10/24/10 1/25/10 +f 24/15/7 32/22/7 31/30/7 +f 30/31/8 22/21/8 21/32/8 +f 20/18/9 28/33/9 27/34/9 +f 26/16/6 18/35/6 17/17/6 +f 18/35/10 28/33/10 19/36/10 +f 2/1/1 9/10/1 16/2/1 +f 6/4/2 13/37/2 12/5/2 +f 8/7/3 15/26/3 14/8/3 +f 10/11/4 11/38/4 12/39/4 +f 12/39/4 13/40/4 10/11/4 +f 13/40/4 14/12/4 10/11/4 +f 14/12/4 15/41/4 16/2/4 +f 16/2/4 9/10/4 14/12/4 +f 6/14/5 3/42/5 4/43/5 +f 4/43/5 1/44/5 2/1/5 +f 2/1/5 7/3/5 8/13/5 +f 8/13/5 5/45/5 6/14/5 +f 6/14/5 4/43/5 2/1/5 +f 24/15/1 31/30/1 26/16/1 +f 20/18/2 27/34/2 30/19/2 +f 22/21/3 29/46/3 32/22/3 +f 10/24/6 9/10/6 2/1/6 +f 8/7/7 7/3/7 16/2/7 +f 14/8/8 13/47/8 6/27/8 +f 4/28/9 3/6/9 12/5/9 +f 4/28/10 11/29/10 10/24/10 +f 24/15/7 23/23/7 32/22/7 +f 30/31/8 29/46/8 22/21/8 +f 20/18/9 19/36/9 28/33/9 +f 26/16/6 25/48/6 18/35/6 +f 18/35/10 25/48/10 28/33/10 +o Base +v -0.375000 0.000000 -0.375000 +v -0.375000 0.000000 0.375000 +v 0.375000 0.000000 -0.375000 +v 0.375000 0.000000 0.375000 +v -0.375000 0.250000 -0.375000 +v -0.375000 0.250000 0.375000 +v 0.375000 0.250000 -0.375000 +v 0.375000 0.250000 0.375000 +v 0.500000 0.375000 0.125000 +v 0.500000 0.375000 -0.125000 +v 0.500000 0.625000 -0.125000 +v 0.500000 0.625000 0.125000 +v 0.375000 0.625000 0.125000 +v 0.375000 0.625000 -0.125000 +v 0.375000 0.375000 0.125000 +v 0.375000 0.375000 -0.125000 +v -0.250000 0.250000 -0.187500 +v -0.187500 0.250000 -0.250000 +v -0.187500 0.250000 0.250000 +v -0.250000 0.250000 0.187500 +v 0.187500 0.250000 -0.250000 +v 0.250000 0.250000 -0.187500 +v 0.250000 0.250000 0.187500 +v 0.187500 0.250000 0.250000 +v 0.250000 0.750000 -0.187500 +v 0.187500 0.750000 -0.250000 +v -0.187500 0.750000 -0.250000 +v -0.250000 0.750000 -0.187500 +v -0.250000 0.750000 0.187500 +v -0.187500 0.750000 0.250000 +v 0.187500 0.750000 0.250000 +v 0.250000 0.750000 0.187500 +v 0.312500 0.687500 0.187500 +v 0.312500 0.687500 -0.187500 +v 0.312500 0.312500 0.187500 +v 0.312500 0.312500 -0.187500 +v 0.250000 0.687500 0.187500 +v 0.250000 0.687500 -0.187500 +v 0.250000 0.312500 0.187500 +v 0.250000 0.312500 -0.187500 +vt 0.290909 0.800000 +vt 0.072727 0.500000 +vt 0.290909 0.500000 +vt 0.072727 0.400000 +vt 0.290909 0.100000 +vt 0.290909 0.400000 +vt 0.290909 -0.000000 +vt 0.072727 0.100000 +vt 0.072727 -0.000000 +vt 0.000000 0.100000 +vt 0.000000 0.400000 +vt 0.363636 0.400000 +vt 0.363636 0.100000 +vt 0.618182 0.000000 +vt 0.509091 0.200000 +vt 0.509091 -0.000000 +vt 0.872727 0.000000 +vt 0.763636 0.200000 +vt 0.763636 0.000000 +vt 0.618182 0.200000 +vt 0.636364 0.225000 +vt 0.490909 0.375000 +vt 0.490909 -0.000000 +vt 0.381818 0.200000 +vt 0.381818 0.000000 +vt 0.909091 0.325000 +vt 0.927273 0.450000 +vt 0.909091 0.425000 +vt 0.363636 0.000000 +vt 0.363636 0.200000 +vt 0.745455 0.000000 +vt 0.636364 0.200000 +vt 0.636364 0.000000 +vt 0.872727 0.325000 +vt 0.800000 0.425000 +vt 0.800000 0.325000 +vt 0.909091 0.575000 +vt 0.872727 0.475000 +vt 0.909091 0.475000 +vt 0.909091 0.125000 +vt 0.872727 0.025000 +vt 0.909091 0.025000 +vt 0.909091 0.275000 +vt 0.872727 0.175000 +vt 0.909091 0.175000 +vt 0.927273 0.600000 +vt 0.927273 0.150000 +vt 0.927273 0.300000 +vt 0.945455 0.300000 +vt 0.945455 0.450000 +vt 0.945455 0.600000 +vt 0.927273 -0.000000 +vt 0.945455 0.150000 +vt 0.072727 0.800000 +vt 0.872727 0.200000 +vt 0.636364 0.375000 +vt 0.618182 0.400000 +vt 0.509091 0.400000 +vt 0.490909 0.225000 +vt 0.490909 0.200000 +vt 0.745455 0.200000 +vt 0.872727 0.425000 +vt 0.872727 0.575000 +vt 0.872727 0.125000 +vt 0.872727 0.275000 +vt 0.945455 -0.000000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 -0.0000 +vn -0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.7071 0.7071 0.0000 +vn 0.7071 0.0000 0.7071 +vn -0.7071 0.0000 0.7071 +vn -0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 -0.7071 +vn 0.7071 -0.7071 0.0000 +s off +f 35/49/11 34/50/11 33/51/11 +f 38/52/12 39/53/12 37/54/12 +f 35/55/13 40/56/13 36/57/13 +f 34/50/14 37/54/14 33/51/14 +f 36/58/15 38/52/15 34/59/15 +f 33/60/16 39/53/16 35/61/16 +f 54/62/13 64/63/13 55/64/13 +f 52/65/14 60/66/14 49/67/14 +f 57/68/12 58/69/12 62/70/12 +f 56/71/15 62/72/15 51/73/15 +f 46/74/17 65/75/17 45/76/17 +f 64/63/18 56/71/18 55/64/18 +f 52/77/19 62/72/19 61/78/19 +f 60/66/20 50/79/20 49/67/20 +f 54/62/21 58/80/21 57/68/21 +f 50/79/16 58/80/16 53/81/16 +f 43/82/13 41/83/13 42/84/13 +f 45/76/12 43/82/12 46/74/12 +f 47/85/15 44/86/15 45/87/15 +f 48/88/11 41/89/11 47/90/11 +f 46/91/16 42/92/16 48/93/16 +f 45/87/18 67/94/18 47/85/18 +f 47/90/22 68/95/22 48/88/22 +f 46/91/21 68/95/21 66/96/21 +f 68/95/16 70/97/16 66/96/16 +f 66/96/12 69/98/12 65/75/12 +f 65/75/15 71/99/15 67/94/15 +f 67/100/11 72/101/11 68/95/11 +f 35/49/11 36/102/11 34/50/11 +f 38/52/12 40/56/12 39/53/12 +f 35/55/13 39/53/13 40/56/13 +f 34/50/14 38/52/14 37/54/14 +f 36/58/15 40/56/15 38/52/15 +f 33/60/16 37/54/16 39/53/16 +f 54/62/13 57/68/13 64/63/13 +f 52/65/14 61/103/14 60/66/14 +f 58/69/12 59/104/12 60/105/12 +f 60/105/12 61/106/12 58/69/12 +f 61/106/12 62/70/12 58/69/12 +f 62/70/12 63/107/12 64/63/12 +f 64/63/12 57/68/12 62/70/12 +f 56/71/15 63/108/15 62/72/15 +f 46/74/17 66/96/17 65/75/17 +f 64/63/18 63/108/18 56/71/18 +f 52/77/19 51/73/19 62/72/19 +f 60/66/20 59/109/20 50/79/20 +f 54/62/21 53/81/21 58/80/21 +f 50/79/16 59/109/16 58/80/16 +f 43/82/13 44/110/13 41/83/13 +f 45/76/12 44/110/12 43/82/12 +f 47/85/15 41/111/15 44/86/15 +f 48/88/11 42/112/11 41/89/11 +f 46/91/16 43/113/16 42/92/16 +f 45/87/18 65/75/18 67/94/18 +f 47/90/22 67/100/22 68/95/22 +f 46/91/21 48/93/21 68/95/21 +f 68/95/16 72/101/16 70/97/16 +f 66/96/12 70/97/12 69/98/12 +f 65/75/15 69/98/15 71/99/15 +f 67/100/11 71/114/11 72/101/11 diff --git a/src/main/resources/assets/hbm/models/reactors/pile_loader.obj b/src/main/resources/assets/hbm/models/reactors/pile_loader.obj new file mode 100644 index 000000000..9752a11f1 --- /dev/null +++ b/src/main/resources/assets/hbm/models/reactors/pile_loader.obj @@ -0,0 +1,324 @@ +# Blender v2.79 (sub 0) OBJ File: 'pile_loader.blend' +# www.blender.org +o Lever +v -0.093750 0.468750 -0.312500 +v -0.093750 0.468750 -0.375000 +v -0.093750 0.531250 -0.375000 +v -0.093750 0.531250 -0.312500 +v -0.218750 0.531250 -0.375000 +v -0.218750 0.468750 -0.375000 +v -0.156250 0.531250 -0.312500 +v -0.156250 0.468750 -0.312500 +v -0.156250 0.468750 -0.250000 +v -0.156250 0.531250 -0.250000 +v -0.218750 0.468750 -0.250000 +v -0.218750 0.531250 -0.250000 +v -0.093750 0.562500 -0.406250 +v -0.093750 0.437500 -0.406250 +v -0.093750 0.562500 -0.281250 +v -0.093750 0.437500 -0.281250 +v 0.531250 0.562500 -0.281250 +v 0.531250 0.562500 -0.406250 +v 0.531250 0.437500 -0.406250 +v 0.531250 0.437500 -0.281250 +vt 0.979167 0.642857 +vt 0.958333 0.666667 +vt 0.958333 0.619048 +vt 0.937500 0.666667 +vt 0.937500 0.619048 +vt 0.937500 0.571429 +vt 0.916667 0.595238 +vt 0.916667 0.571429 +vt 0.958333 0.571429 +vt 0.979167 0.595238 +vt 1.000000 0.571429 +vt 0.979167 0.571429 +vt 0.916667 0.642857 +vt 0.916667 0.666667 +vt 1.000000 0.642857 +vt 0.979167 0.666667 +vt 0.958333 0.571429 +vt 0.916667 0.333333 +vt 0.958333 0.333333 +vt 0.833333 0.333333 +vt 0.875000 0.285714 +vt 0.875000 0.333333 +vt 0.875000 0.619048 +vt 0.833333 0.571429 +vt 0.875000 0.571429 +vt 1.000000 0.571429 +vt 1.000000 0.333333 +vt 0.916667 0.571429 +vt 1.000000 0.595238 +vt 1.000000 0.666667 +vt 0.833333 0.285714 +vt 0.833333 0.619048 +vn 0.0000 1.0000 0.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 +vn 0.0000 0.0000 1.0000 +s off +f 7/1/1 3/2/1 5/3/1 +f 5/3/2 2/4/2 6/5/2 +f 11/6/3 8/7/3 9/8/3 +f 12/9/1 7/10/1 5/3/1 +f 9/11/4 7/10/4 10/12/4 +f 12/9/5 6/5/5 11/6/5 +f 8/13/3 2/4/3 1/14/3 +f 8/15/6 4/16/6 7/1/6 +f 16/17/3 19/18/3 20/19/3 +f 17/20/4 19/21/4 18/22/4 +f 14/23/5 15/24/5 13/25/5 +f 15/26/6 20/19/6 17/27/6 +f 13/25/1 17/20/1 18/22/1 +f 13/25/2 19/18/2 14/28/2 +f 7/1/1 4/16/1 3/2/1 +f 5/3/2 3/2/2 2/4/2 +f 11/6/3 6/5/3 8/7/3 +f 12/9/1 10/12/1 7/10/1 +f 9/11/4 8/29/4 7/10/4 +f 12/9/5 5/3/5 6/5/5 +f 8/13/3 6/5/3 2/4/3 +f 8/15/6 1/30/6 4/16/6 +f 16/17/3 14/28/3 19/18/3 +f 17/20/4 20/31/4 19/21/4 +f 14/23/5 16/32/5 15/24/5 +f 15/26/6 16/17/6 20/19/6 +f 13/25/1 15/24/1 17/20/1 +f 13/25/2 18/22/2 19/18/2 +o Slider +v 0.437500 0.437500 0.125000 +v 0.437500 0.437500 -0.125000 +v 0.312500 0.437500 0.125000 +v 0.312500 0.437500 -0.125000 +v 0.437500 0.687500 0.125000 +v 0.437500 0.687500 -0.125000 +v 0.312500 0.687500 0.125000 +v 0.312500 0.687500 -0.125000 +vt 0.625000 0.761905 +vt 0.583333 0.857143 +vt 0.583333 0.761905 +vt 0.500000 0.761905 +vt 0.500000 0.857143 +vt 0.708333 0.857143 +vt 0.708333 0.761905 +vt 0.625000 0.857143 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +s off +f 28/33/7 25/34/7 26/35/7 +f 22/36/8 25/34/8 21/37/8 +f 23/38/9 28/33/9 24/39/9 +f 28/33/7 27/40/7 25/34/7 +f 22/36/8 26/35/8 25/34/8 +f 23/38/9 27/40/9 28/33/9 +o Loader +v -0.500000 0.875000 0.375000 +v -0.500000 0.125000 0.375000 +v -0.500000 0.875000 -0.375000 +v -0.500000 0.125000 -0.375000 +v -0.250000 0.875000 -0.375000 +v -0.250000 0.875000 0.375000 +v -0.250000 0.125000 0.375000 +v -0.250000 0.125000 -0.375000 +v -0.250000 0.687500 0.250000 +v -0.250000 0.750000 0.187500 +v -0.250000 0.250000 0.187500 +v -0.250000 0.312500 0.250000 +v -0.250000 0.750000 -0.187500 +v -0.250000 0.687500 -0.250000 +v -0.250000 0.312500 -0.250000 +v -0.250000 0.250000 -0.187500 +v 0.500000 0.687500 -0.250000 +v 0.437500 0.750000 -0.125000 +v 0.437500 0.750000 0.125000 +v 0.500000 0.687500 0.250000 +v 0.500000 0.312500 0.250000 +v 0.500000 0.250000 0.187500 +v 0.500000 0.250000 -0.187500 +v 0.500000 0.312500 -0.250000 +v 0.500000 0.750000 0.187500 +v 0.500000 0.750000 -0.187500 +v -0.187500 0.750000 0.125000 +v -0.187500 0.750000 -0.125000 +v -0.187500 0.437500 -0.125000 +v -0.187500 0.437500 0.125000 +v 0.437500 0.437500 0.125000 +v 0.437500 0.437500 -0.125000 +v 0.312500 0.500000 0.125000 +v 0.312500 0.437500 0.062500 +v 0.312500 0.437500 -0.062500 +v 0.312500 0.500000 -0.125000 +v 0.312500 0.687500 0.062500 +v 0.312500 0.625000 0.125000 +v 0.312500 0.625000 -0.125000 +v 0.312500 0.687500 -0.062500 +v -0.187500 0.625000 0.125000 +v -0.187500 0.687500 0.062500 +v -0.187500 0.687500 -0.062500 +v -0.187500 0.625000 -0.125000 +v -0.187500 0.437500 0.062500 +v -0.187500 0.500000 0.125000 +v -0.187500 0.500000 -0.125000 +v -0.187500 0.437500 -0.062500 +vt 0.750000 0.476190 +vt 0.500000 0.761905 +vt 0.500000 0.476190 +vt 0.500000 0.095238 +vt 0.750000 0.380952 +vt 0.500000 0.380952 +vt 0.750000 -0.000000 +vt 0.500000 -0.000000 +vt 0.833333 0.380952 +vt 0.750000 0.095238 +vt 0.833333 0.095238 +vt 0.416667 0.095238 +vt 0.416667 0.380952 +vt 0.416667 0.642857 +vt 0.166667 0.500000 +vt 0.416667 0.500000 +vt 0.416667 0.142857 +vt 0.166667 0.000000 +vt 0.416667 0.000000 +vt 0.416667 0.309524 +vt 0.166667 0.166667 +vt 0.416667 0.166667 +vt -0.000000 0.476190 +vt 0.020833 0.309524 +vt 0.166667 0.333333 +vt 0.166667 0.666667 +vt 0.416667 0.666667 +vt 0.416667 0.476190 +vt 0.166667 0.476190 +vt 0.166667 0.309524 +vt 0.187500 1.000000 +vt 0.395833 0.880952 +vt 0.395833 1.000000 +vt 0.395833 0.452381 +vt 0.187500 0.452381 +vt 0.187500 0.357143 +vt 0.416667 0.333333 +vt 0.395833 0.357143 +vt 0.187500 0.785714 +vt 0.395833 0.785714 +vt 0.500000 0.880952 +vt 0.500000 0.785714 +vt 0.083333 0.785714 +vt 0.187500 0.880952 +vt 0.083333 0.880952 +vt 0.395833 0.666667 +vt 0.187500 0.666667 +vt 0.750000 0.761905 +vt 0.166667 0.642857 +vt 0.166667 0.142857 +vt 0.145833 0.500000 +vt 0.020833 0.500000 +vt -0.000000 0.333333 +vt 0.145833 0.309524 +vt 0.833333 0.071429 +vt 1.000000 0.119048 +vt 0.833333 0.119048 +vt 0.833333 0.214286 +vt 1.000000 0.261905 +vt 0.833333 0.261905 +vt 0.833333 0.142857 +vt 1.000000 0.190476 +vt 0.833333 0.190476 +vt 0.833333 -0.000000 +vt 1.000000 0.047619 +vt 0.833333 0.047619 +vt 0.833333 0.285714 +vt 1.000000 0.071429 +vt 1.000000 0.142857 +vt 1.000000 0.214286 +vt 1.000000 -0.000000 +vt 1.000000 0.285714 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 0.7071 0.7071 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 0.7071 -0.7071 +vn 0.0000 -0.3827 -0.9239 +vn 0.0000 0.3827 -0.9239 +vn 0.0000 0.3827 0.9239 +vn 0.0000 -0.3827 0.9239 +vn 0.0000 0.9239 -0.3827 +vn 0.0000 0.9239 0.3827 +vn 0.0000 -0.9239 0.3827 +vn 0.0000 -0.9239 -0.3827 +s off +f 31/41/10 30/42/10 29/43/10 +f 35/44/11 33/45/11 34/46/11 +f 32/47/12 35/44/12 30/48/12 +f 29/43/13 33/45/13 31/41/13 +f 31/49/14 36/50/14 32/51/14 +f 30/52/15 34/46/15 29/53/15 +f 40/54/15 48/55/15 37/56/15 +f 44/57/12 50/58/12 39/59/12 +f 42/60/14 52/61/14 43/62/14 +f 50/63/11 52/64/11 54/65/11 +f 50/66/16 40/54/16 39/67/16 +f 38/68/17 48/55/17 53/69/17 +f 52/61/18 44/57/18 43/62/18 +f 42/60/19 54/65/19 45/70/19 +f 47/71/14 58/72/14 55/73/14 +f 55/74/13 53/69/13 47/75/13 +f 46/76/13 41/77/13 56/78/13 +f 56/78/13 38/68/13 55/74/13 +f 47/75/13 54/65/13 46/76/13 +f 58/72/13 60/79/13 57/80/13 +f 55/81/11 57/80/11 56/82/11 +f 46/83/10 59/84/10 47/85/10 +f 56/86/15 60/79/15 46/87/15 +f 31/41/10 32/88/10 30/42/10 +f 35/44/11 36/50/11 33/45/11 +f 32/47/12 36/50/12 35/44/12 +f 29/43/13 34/46/13 33/45/13 +f 31/49/14 33/45/14 36/50/14 +f 30/52/15 35/44/15 34/46/15 +f 40/54/15 49/89/15 48/55/15 +f 44/57/12 51/90/12 50/58/12 +f 42/60/14 45/70/14 52/61/14 +f 54/65/11 53/69/11 48/91/11 +f 48/91/11 49/92/11 50/63/11 +f 50/63/11 51/93/11 52/64/11 +f 52/64/11 45/94/11 54/65/11 +f 54/65/11 48/91/11 50/63/11 +f 50/66/16 49/89/16 40/54/16 +f 38/68/17 37/56/17 48/55/17 +f 52/61/18 51/90/18 44/57/18 +f 42/60/19 41/77/19 54/65/19 +f 47/71/14 59/84/14 58/72/14 +f 55/74/13 38/68/13 53/69/13 +f 46/76/13 54/65/13 41/77/13 +f 56/78/13 41/77/13 38/68/13 +f 47/75/13 53/69/13 54/65/13 +f 58/72/13 59/84/13 60/79/13 +f 55/81/11 58/72/11 57/80/11 +f 46/83/10 60/79/10 59/84/10 +f 56/86/15 57/80/15 60/79/15 +s 1 +f 64/95/20 72/96/21 67/97/21 +f 66/98/22 74/99/23 61/100/23 +f 68/101/24 70/102/25 65/103/25 +f 62/104/26 76/105/27 63/106/27 +f 74/99/23 62/107/26 61/100/23 +f 64/95/20 76/105/27 75/108/20 +f 68/101/24 72/96/21 71/109/24 +f 66/98/22 70/102/25 69/110/22 +f 64/95/20 75/108/20 72/96/21 +f 66/98/22 69/110/22 74/99/23 +f 68/101/24 71/109/24 70/102/25 +f 62/104/26 73/111/26 76/105/27 +f 74/99/23 73/112/26 62/107/26 +f 64/95/20 63/106/27 76/105/27 +f 68/101/24 67/97/21 72/96/21 +f 66/98/22 65/103/25 70/102/25 diff --git a/src/main/resources/assets/hbm/models/reactors/pile_vent.obj b/src/main/resources/assets/hbm/models/reactors/pile_vent.obj new file mode 100644 index 000000000..b13ceeb4b --- /dev/null +++ b/src/main/resources/assets/hbm/models/reactors/pile_vent.obj @@ -0,0 +1,378 @@ +# Blender v2.79 (sub 0) OBJ File: 'pile_vent.blend' +# www.blender.org +o Fan +v 0.000000 0.812500 -0.031250 +v -0.022097 0.812500 -0.022097 +v -0.031250 0.812500 0.000000 +v -0.022097 0.812500 0.022097 +v 0.000000 0.812500 0.031250 +v 0.022097 0.812500 0.022097 +v 0.031250 0.812500 -0.000000 +v 0.022097 0.812500 -0.022097 +v -0.022097 0.875000 -0.022097 +v -0.000000 0.875000 -0.031250 +v -0.031250 0.875000 0.000000 +v -0.022097 0.875000 0.022097 +v -0.000000 0.875000 0.031250 +v 0.022097 0.875000 0.022097 +v 0.031250 0.875000 -0.000000 +v 0.022097 0.875000 -0.022097 +v -0.027063 0.859375 0.109375 +v 0.027063 0.828125 0.109375 +v -0.027063 0.859375 0.000000 +v 0.027063 0.828125 0.000000 +v -0.027063 0.828125 0.000000 +v 0.027063 0.859375 0.000000 +v -0.027063 0.828125 -0.109375 +v 0.027063 0.859375 -0.109375 +v 0.109375 0.859375 0.027063 +v 0.109375 0.828125 -0.027063 +v -0.000000 0.859375 0.027063 +v -0.000000 0.828125 -0.027063 +v -0.000000 0.828125 0.027063 +v -0.000000 0.859375 -0.027063 +v -0.109375 0.828125 0.027063 +v -0.109375 0.859375 -0.027063 +vt 0.048780 0.775000 +vt 0.146341 0.825000 +vt 0.048780 0.825000 +vt 0.012195 0.775314 +vt 0.020602 0.778883 +vt 0.024084 0.787500 +vt 0.146341 0.825000 +vt 0.048780 0.775000 +vt 0.146341 0.775000 +vt 0.048780 0.775000 +vt 0.146341 0.825000 +vt 0.048780 0.825000 +vt 0.146341 0.825000 +vt 0.048780 0.775000 +vt 0.146341 0.775000 +vt 0.146341 0.775000 +vt 0.020602 0.796117 +vt 0.012195 0.799686 +vt 0.003788 0.796117 +vt 0.000306 0.787500 +vt 0.003788 0.778883 +vt 0.048780 0.825000 +vt 0.146341 0.775000 +vt 0.048780 0.825000 +vt 0.146341 0.750000 +vt 0.121951 0.775000 +vt 0.121951 0.750000 +vt 0.073171 0.750000 +vt 0.097561 0.775000 +vt 0.073171 0.775000 +vt 0.024390 0.750000 +vt 0.048780 0.775000 +vt 0.024390 0.775000 +vt 0.195122 0.750000 +vt 0.170732 0.775000 +vt 0.170732 0.750000 +vt 0.097561 0.750000 +vt 0.048780 0.750000 +vt 0.000000 0.750000 +vt 0.000000 0.775000 +vt 0.146341 0.775000 +vt 0.195122 0.775000 +vn 0.5000 0.8660 0.0000 +vn 0.0000 1.0000 0.0000 +vn -0.5000 0.8660 0.0000 +vn -0.0000 0.8660 -0.5000 +vn 0.0000 0.8660 0.5000 +vn 0.0000 -0.0000 -1.0000 +vn 0.7071 0.0000 -0.7071 +vn 0.7071 0.0000 0.7071 +vn 1.0000 0.0000 0.0000 +vn -0.7071 -0.0000 0.7071 +vn -0.0000 0.0000 1.0000 +vn -1.0000 -0.0000 0.0000 +vn -0.7071 -0.0000 -0.7071 +s off +f 18/1/1 19/2/1 17/3/1 +f 15/4/2 16/5/2 10/6/2 +f 22/7/3 23/8/3 21/9/3 +f 26/10/4 27/11/4 25/12/4 +f 30/13/5 31/14/5 29/15/5 +f 18/1/1 20/16/1 19/2/1 +f 10/6/2 9/17/2 11/18/2 +f 11/18/2 12/19/2 10/6/2 +f 12/19/2 13/20/2 10/6/2 +f 13/20/2 14/21/2 10/6/2 +f 14/21/2 15/4/2 10/6/2 +f 22/7/3 24/22/3 23/8/3 +f 26/10/4 28/23/4 27/11/4 +f 30/13/5 32/24/5 31/14/5 +s 1 +f 1/25/6 16/26/7 8/27/7 +f 6/28/8 15/29/9 14/30/8 +f 4/31/10 13/32/11 12/33/10 +f 3/34/12 9/35/13 2/36/13 +f 8/27/7 15/29/9 7/37/9 +f 5/38/11 14/30/8 13/32/11 +f 3/39/12 12/33/10 11/40/12 +f 2/36/13 10/41/6 1/25/6 +f 1/25/6 10/41/6 16/26/7 +f 6/28/8 7/37/9 15/29/9 +f 4/31/10 5/38/11 13/32/11 +f 3/34/12 11/42/12 9/35/13 +f 8/27/7 16/26/7 15/29/9 +f 5/38/11 6/28/8 14/30/8 +f 3/39/12 4/31/10 12/33/10 +f 2/36/13 9/35/13 10/41/6 +o Pipe +v -0.500000 0.875000 0.375000 +v -0.500000 0.125000 0.375000 +v -0.500000 0.875000 -0.375000 +v -0.500000 0.125000 -0.375000 +v -0.375000 0.875000 -0.375000 +v -0.375000 0.875000 0.375000 +v -0.375000 0.125000 0.375000 +v -0.375000 0.125000 -0.375000 +v 0.500000 0.750000 0.250000 +v 0.500000 0.250000 0.250000 +v 0.500000 0.750000 -0.250000 +v 0.500000 0.250000 -0.250000 +v 0.375000 0.750000 -0.250000 +v 0.375000 0.750000 0.250000 +v 0.375000 0.250000 0.250000 +v 0.375000 0.250000 -0.250000 +v 0.375000 0.687500 0.187500 +v 0.375000 0.312500 0.187500 +v 0.375000 0.687500 -0.187500 +v 0.375000 0.312500 -0.187500 +v 0.125000 0.687500 -0.187500 +v 0.125000 0.687500 0.187500 +v 0.125000 0.312500 0.187500 +v 0.125000 0.312500 -0.187500 +v 0.125000 0.750000 0.250000 +v 0.125000 0.250000 0.250000 +v 0.125000 0.750000 -0.250000 +v 0.125000 0.250000 -0.250000 +v -0.125000 0.750000 -0.250000 +v -0.125000 0.750000 0.250000 +v -0.125000 0.250000 0.250000 +v -0.125000 0.250000 -0.250000 +v -0.125000 0.687500 0.187500 +v -0.125000 0.312500 0.187500 +v -0.125000 0.687500 -0.187500 +v -0.125000 0.312500 -0.187500 +v -0.375000 0.687500 -0.187500 +v -0.375000 0.687500 0.187500 +v -0.375000 0.312500 0.187500 +v -0.375000 0.312500 -0.187500 +v -0.187500 0.687500 0.187500 +v 0.187500 0.687500 0.187500 +v -0.187500 0.687500 -0.187500 +v 0.187500 0.687500 -0.187500 +v -0.125000 0.875000 -0.125000 +v -0.125000 0.875000 0.125000 +v 0.125000 0.875000 0.125000 +v 0.125000 0.875000 -0.125000 +v -0.187500 0.875000 -0.187500 +v -0.187500 0.875000 0.187500 +v 0.187500 0.875000 0.187500 +v 0.187500 0.875000 -0.187500 +v -0.125000 0.812500 -0.125000 +v -0.125000 0.812500 0.125000 +v 0.125000 0.812500 0.125000 +v 0.125000 0.812500 -0.125000 +vt 0.487805 0.600000 +vt 0.512195 0.425000 +vt 0.512195 0.575000 +vt 0.951219 0.400000 +vt 0.658537 0.700000 +vt 0.658537 0.400000 +vt 0.658537 0.050000 +vt 0.951219 0.350000 +vt 0.658537 0.350000 +vt 1.000000 0.350000 +vt 0.951219 0.050000 +vt 1.000000 0.050000 +vt 0.609756 0.050000 +vt 0.609756 0.350000 +vt 0.951219 -0.000000 +vt 0.658537 0.000000 +vt 0.000000 0.600000 +vt 0.195122 0.400000 +vt 0.195122 0.600000 +vt 0.512195 0.775000 +vt 0.512195 0.625000 +vt 0.195122 -0.000000 +vt 0.243902 0.200000 +vt 0.195122 0.200000 +vt 0.243902 0.600000 +vt 0.243902 0.400000 +vt 0.243902 0.800000 +vt 0.195122 0.800000 +vt 0.512195 0.175000 +vt 0.487805 -0.000000 +vt 0.512195 0.025000 +vt 0.487805 0.400000 +vt 0.512195 0.225000 +vt 0.512195 0.375000 +vt 0.365854 0.625000 +vt 0.268293 0.775000 +vt 0.268293 0.625000 +vt 0.365854 0.025000 +vt 0.268293 0.175000 +vt 0.268293 0.025000 +vt 0.365854 0.425000 +vt 0.268293 0.575000 +vt 0.268293 0.425000 +vt 0.365854 0.225000 +vt 0.268293 0.375000 +vt 0.268293 0.225000 +vt 0.390244 -0.000000 +vt 0.487805 0.200000 +vt 0.390244 0.200000 +vt 0.390244 0.400000 +vt 0.390244 0.600000 +vt 0.487805 0.800000 +vt 0.390244 0.800000 +vt 0.609756 0.625000 +vt 0.609756 0.025000 +vt 0.609756 0.425000 +vt 0.609756 0.225000 +vt 0.024390 0.750000 +vt 0.121951 0.725000 +vt 0.121951 0.750000 +vt 0.829268 0.700000 +vt 0.682927 0.775000 +vt 0.682927 0.700000 +vt 0.682927 1.000000 +vt 0.829268 0.925000 +vt 0.829268 1.000000 +vt 0.609756 0.775000 +vt 0.682927 0.925000 +vt 0.609756 0.925000 +vt 0.902439 0.925000 +vt 0.829268 0.775000 +vt 0.902439 0.775000 +vt 0.804878 0.800000 +vt 0.804878 0.900000 +vt 0.707317 0.900000 +vt 0.707317 0.800000 +vt 0.024390 0.725000 +vt 0.121951 0.625000 +vt 0.000000 0.625000 +vt 0.000000 0.725000 +vt 0.146341 0.725000 +vt 0.146341 0.625000 +vt 0.121951 0.600000 +vt 0.024390 0.625000 +vt 0.024390 0.600000 +vt 0.365854 0.375000 +vt 0.365854 0.575000 +vt 0.365854 0.775000 +vt 0.365854 0.175000 +vt 0.951219 0.700000 +vt -0.000000 0.400000 +vt 0.243902 0.000000 +vt 0.609756 0.775000 +vt 0.609756 0.175000 +vt 0.609756 0.575000 +vt 0.609756 0.375000 +vn -1.0000 0.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +s off +f 62/43/14 67/44/14 65/45/14 +f 35/46/14 34/47/14 33/48/14 +f 39/49/15 37/50/15 38/51/15 +f 35/52/16 40/53/16 36/54/16 +f 34/55/17 38/51/17 33/56/17 +f 36/57/18 39/49/18 34/58/18 +f 33/48/19 37/50/19 35/46/19 +f 42/59/15 43/60/15 41/61/15 +f 66/62/14 62/43/14 65/63/14 +f 42/64/18 48/65/18 44/66/18 +f 43/60/19 46/67/19 41/61/19 +f 44/66/16 45/68/16 43/60/16 +f 41/61/17 47/69/17 42/70/17 +f 68/71/14 63/72/14 66/73/14 +f 61/74/14 68/75/14 67/76/14 +f 54/77/17 50/78/17 49/79/17 +f 55/80/18 52/81/18 50/82/18 +f 53/83/19 49/84/19 51/85/19 +f 56/86/16 51/87/16 52/88/16 +f 58/89/18 64/90/18 60/91/18 +f 59/92/19 62/43/19 57/93/19 +f 60/91/16 61/74/16 59/92/16 +f 57/93/17 63/94/17 58/95/17 +f 70/96/17 66/62/17 65/63/17 +f 71/97/18 68/71/18 66/73/18 +f 69/98/19 65/45/19 67/44/19 +f 72/99/16 67/76/16 68/75/16 +f 79/100/16 86/101/16 78/102/16 +f 75/103/16 84/104/16 76/105/16 +f 74/106/17 82/107/17 73/108/17 +f 76/109/15 83/110/15 74/111/15 +f 73/112/14 81/113/14 75/114/14 +f 77/115/19 82/107/19 78/116/19 +f 78/116/19 83/110/19 79/117/19 +f 79/117/19 84/104/19 80/118/19 +f 80/118/19 81/113/19 77/115/19 +f 87/119/19 85/120/19 86/101/19 +f 80/121/14 87/119/14 79/122/14 +f 78/123/15 85/120/15 77/124/15 +f 77/125/17 88/126/17 80/127/17 +f 56/86/15 59/92/15 53/128/15 +f 53/83/15 57/93/15 54/129/15 +f 54/77/15 58/95/15 55/130/15 +f 55/80/15 60/91/15 56/131/15 +f 48/65/14 51/87/14 45/68/14 +f 46/67/14 51/85/14 49/84/14 +f 46/67/14 50/78/14 47/69/14 +f 48/65/14 50/82/14 52/81/14 +f 62/43/14 61/74/14 67/44/14 +f 35/46/14 36/132/14 34/47/14 +f 39/49/15 40/53/15 37/50/15 +f 35/52/16 37/50/16 40/53/16 +f 34/55/17 39/49/17 38/51/17 +f 36/57/18 40/53/18 39/49/18 +f 33/48/19 38/51/19 37/50/19 +f 42/59/15 44/133/15 43/60/15 +f 66/62/14 63/94/14 62/43/14 +f 42/64/18 47/134/18 48/65/18 +f 43/60/19 45/68/19 46/67/19 +f 44/66/16 48/65/16 45/68/16 +f 41/61/17 46/67/17 47/69/17 +f 68/71/14 64/90/14 63/72/14 +f 61/74/14 64/90/14 68/75/14 +f 54/77/17 55/130/17 50/78/17 +f 55/80/18 56/131/18 52/81/18 +f 53/83/19 54/129/19 49/84/19 +f 56/86/16 53/128/16 51/87/16 +f 58/89/18 63/72/18 64/90/18 +f 59/92/19 61/74/19 62/43/19 +f 60/91/16 64/90/16 61/74/16 +f 57/93/17 62/43/17 63/94/17 +f 70/96/17 71/135/17 66/62/17 +f 71/97/18 72/136/18 68/71/18 +f 69/98/19 70/137/19 65/45/19 +f 72/99/16 69/138/16 67/76/16 +f 79/100/16 87/119/16 86/101/16 +f 75/103/16 81/113/16 84/104/16 +f 74/106/17 83/110/17 82/107/17 +f 76/109/15 84/104/15 83/110/15 +f 73/112/14 82/107/14 81/113/14 +f 77/115/19 81/113/19 82/107/19 +f 78/116/19 82/107/19 83/110/19 +f 79/117/19 83/110/19 84/104/19 +f 80/118/19 84/104/19 81/113/19 +f 87/119/19 88/126/19 85/120/19 +f 80/121/14 88/126/14 87/119/14 +f 78/123/15 86/101/15 85/120/15 +f 77/125/17 85/120/17 88/126/17 +f 56/86/15 60/91/15 59/92/15 +f 53/83/15 59/92/15 57/93/15 +f 54/77/15 57/93/15 58/95/15 +f 55/80/15 58/89/15 60/91/15 +f 48/65/14 52/88/14 51/87/14 +f 46/67/14 45/68/14 51/85/14 +f 46/67/14 49/79/14 50/78/14 +f 48/65/14 47/134/14 50/82/14 diff --git a/src/main/resources/assets/hbm/textures/blocks/pile_block.png b/src/main/resources/assets/hbm/textures/blocks/pile_block.png new file mode 100644 index 0000000000000000000000000000000000000000..d4aefb1d12fa4e74e6729b1bb208143397908fca GIT binary patch literal 634 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 P00000NkvXXu0mjfW}Wfx literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/pile_wood_planks.png b/src/main/resources/assets/hbm/textures/blocks/pile_wood_planks.png new file mode 100644 index 0000000000000000000000000000000000000000..262060858374c695c2735433cd1feb22bc651c9d GIT binary patch literal 647 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 om!{zaG(#hur;s##yjEv09>P#P5=M^ literal 4460 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 diff --git a/src/main/resources/assets/hbm/textures/models/pile/pile_control.png b/src/main/resources/assets/hbm/textures/models/pile/pile_control.png new file mode 100644 index 0000000000000000000000000000000000000000..01c9468082c294b6b1d3d5c2dc2969e163df834b GIT binary patch literal 408 zcmV;J0cZY+P)PBw>3CK!Qa zVa#Y5z9S59o`)_@Dnrf3thMZ%i|%Qyfp1gvy{eu| z3ESJtrRlJ2THGqs1gOiuJ>q*yzJvK5cSzG=*|fM-Z%GF)SjyP(7Q}l_ zU7-9T;v-(%A2b1UeO#+LX3$zEtKzf0Wmp+QK|TWq-!*#b3GcDsygJeUo%rwE7R}^b zjH)?Tf>dRsY2BqX<2kziR!kr9;(BjcgW5Bc;sxcE8H%+w8eUuH0F$&ud|3A0QY!P9 z9*YcNFBtZUdxYod;Q4pbOjyR~;?B%+gIaF!YWV};9(IrG-+Q?L0000 z=eY=;LRT1bh50|l+ua8u*MQdAc&`JlxPSmuCjkJLobU+XwH}Z91b{n8AR!_%)W-vr z1C7mvf@JCkDy5ullxD`CX2!EbOhl{(i-^2-oN{74F2Y_%zl2K8@Tff=}R=rssDX^^F5f&j+7? zjY8H0wzg3lg1^-76q*as`Cq5o+ss{mu&fXM1n!=Eo5JeY_4!{v8Q*s0!h1!=8x_jiI_K|ZJ*bE0)kGOxR?V{{^!kp1W@ zV+;<%0B#HY+g$9LCz~_i&zB0mqhsyI