From 341bc38a0932c253014919ab89ea4fc4a03ac6ed Mon Sep 17 00:00:00 2001 From: Boblet Date: Wed, 4 Mar 2026 10:32:06 +0100 Subject: [PATCH] there's a paintbrush stuck in my ass --- changelog | 13 ++++++- .../com/hbm/blocks/machine/rbmk/RBMKBase.java | 24 ++++++++++-- .../weapon/sedna/factory/XFactory22lr.java | 2 +- src/main/java/com/hbm/main/ClientProxy.java | 13 +------ .../hbm/render/block/RenderRBMKControl.java | 35 +++++++----------- .../hbm/render/block/RenderRBMKReflector.java | 25 +++++-------- .../com/hbm/render/block/RenderRBMKRod.java | 25 +++++-------- .../tileentity/RenderRBMKControlRod.java | 21 ++++++++++- ...BMKLid.java => RenderRBMKFuelChannel.java} | 2 +- .../machine/TileEntityMachineAnnihilator.java | 13 +++++++ .../machine/rbmk/TileEntityRBMKControl.java | 11 +----- .../rbmk/TileEntityRBMKControlManual.java | 9 +++-- .../assets/hbm/manual/material/alloy.json | 2 +- .../assets/hbm/manual/material/bscco.json | 2 +- .../blocks/rbmk/rbmk_absorber_cover_side.png | Bin 0 -> 204 bytes .../blocks/rbmk/rbmk_absorber_cover_top.png | Bin 0 -> 307 bytes .../blocks/rbmk/rbmk_absorber_glass_side.png | Bin 0 -> 142 bytes .../blocks/rbmk/rbmk_absorber_glass_top.png | Bin 0 -> 215 bytes .../blocks/rbmk/rbmk_absorber_side.png | Bin 459 -> 496 bytes .../blocks/rbmk/rbmk_absorber_top.png | Bin 424 -> 459 bytes .../blocks/rbmk/rbmk_blank_cover_side.png | Bin 190 -> 188 bytes .../blocks/rbmk/rbmk_blank_cover_top.png | Bin 396 -> 285 bytes .../blocks/rbmk/rbmk_blank_glass_side.png | Bin 0 -> 142 bytes .../blocks/rbmk/rbmk_blank_glass_top.png | Bin 0 -> 215 bytes .../textures/blocks/rbmk/rbmk_blank_side.png | Bin 417 -> 363 bytes .../blocks/rbmk/rbmk_boiler_cover_side.png | Bin 0 -> 188 bytes .../blocks/rbmk/rbmk_boiler_cover_top.png | Bin 0 -> 415 bytes .../blocks/rbmk/rbmk_boiler_glass_side.png | Bin 0 -> 142 bytes .../blocks/rbmk/rbmk_boiler_glass_top.png | Bin 0 -> 368 bytes .../hbm/textures/blocks/rbmk/rbmk_control.png | Bin 988 -> 613 bytes .../blocks/rbmk/rbmk_control_auto.png | Bin 1000 -> 629 bytes .../rbmk/rbmk_control_auto_glass_side.png | Bin 0 -> 142 bytes .../rbmk/rbmk_control_auto_glass_top.png | Bin 0 -> 215 bytes .../blocks/rbmk/rbmk_control_auto_side.png | Bin 417 -> 425 bytes ..._control_mod.png => rbmk_control_base.png} | Bin .../blocks/rbmk/rbmk_control_blue.png | Bin 0 -> 624 bytes .../blocks/rbmk/rbmk_control_glass_side.png | Bin 0 -> 142 bytes .../blocks/rbmk/rbmk_control_glass_top.png | Bin 0 -> 215 bytes .../blocks/rbmk/rbmk_control_green.png | Bin 0 -> 589 bytes .../rbmk/rbmk_control_mod_glass_side.png | Bin 0 -> 142 bytes .../rbmk/rbmk_control_mod_glass_top.png | Bin 0 -> 215 bytes .../blocks/rbmk/rbmk_control_mod_side.png | Bin 417 -> 425 bytes .../blocks/rbmk/rbmk_control_purple.png | Bin 0 -> 670 bytes .../textures/blocks/rbmk/rbmk_control_red.png | Bin 0 -> 603 bytes .../blocks/rbmk/rbmk_control_side.png | Bin 417 -> 425 bytes .../blocks/rbmk/rbmk_control_yellow.png | Bin 0 -> 594 bytes .../blocks/rbmk/rbmk_cooler_cover_side.png | Bin 0 -> 188 bytes .../blocks/rbmk/rbmk_cooler_cover_top.png | Bin 0 -> 339 bytes .../blocks/rbmk/rbmk_cooler_glass_side.png | Bin 0 -> 142 bytes .../blocks/rbmk/rbmk_cooler_glass_top.png | Bin 0 -> 270 bytes .../textures/blocks/rbmk/rbmk_cooler_side.png | Bin 390 -> 364 bytes .../blocks/rbmk/rbmk_element_cover_side.png | Bin 208 -> 204 bytes .../blocks/rbmk/rbmk_element_cover_top.png | Bin 452 -> 355 bytes .../blocks/rbmk/rbmk_element_glass_side.png | Bin 0 -> 142 bytes .../blocks/rbmk/rbmk_element_glass_top.png | Bin 0 -> 215 bytes .../rbmk/rbmk_element_mod_cover_side.png | Bin 0 -> 204 bytes .../rbmk/rbmk_element_mod_cover_top.png | Bin 0 -> 434 bytes .../rbmk/rbmk_element_mod_glass_side.png | Bin 0 -> 142 bytes .../rbmk/rbmk_element_mod_glass_top.png | Bin 0 -> 215 bytes .../blocks/rbmk/rbmk_element_mod_side.png | Bin 417 -> 425 bytes .../rbmk/rbmk_element_reasim_cover_side.png | Bin 0 -> 204 bytes .../rbmk/rbmk_element_reasim_cover_top.png | Bin 0 -> 357 bytes .../rbmk/rbmk_element_reasim_glass_side.png | Bin 0 -> 142 bytes .../rbmk/rbmk_element_reasim_glass_top.png | Bin 0 -> 215 bytes .../rbmk_element_reasim_mod_cover_side.png | Bin 0 -> 204 bytes .../rbmk_element_reasim_mod_cover_top.png | Bin 0 -> 432 bytes .../rbmk_element_reasim_mod_glass_side.png | Bin 0 -> 142 bytes .../rbmk_element_reasim_mod_glass_top.png | Bin 0 -> 215 bytes .../rbmk/rbmk_element_reasim_mod_side.png | Bin 417 -> 425 bytes .../blocks/rbmk/rbmk_element_reasim_side.png | Bin 417 -> 425 bytes .../blocks/rbmk/rbmk_element_side.png | Bin 417 -> 425 bytes .../blocks/rbmk/rbmk_heater_cover_side.png | Bin 0 -> 188 bytes .../blocks/rbmk/rbmk_heater_cover_top.png | Bin 0 -> 415 bytes .../blocks/rbmk/rbmk_heater_glass_side.png | Bin 0 -> 142 bytes .../blocks/rbmk/rbmk_heater_glass_top.png | Bin 0 -> 368 bytes .../textures/blocks/rbmk/rbmk_heater_side.png | Bin 370 -> 363 bytes .../blocks/rbmk/rbmk_moderator_cover_side.png | Bin 0 -> 204 bytes .../blocks/rbmk/rbmk_moderator_cover_top.png | Bin 0 -> 307 bytes .../blocks/rbmk/rbmk_moderator_glass_side.png | Bin 0 -> 142 bytes .../blocks/rbmk/rbmk_moderator_glass_top.png | Bin 0 -> 215 bytes .../blocks/rbmk/rbmk_moderator_side.png | Bin 363 -> 300 bytes .../blocks/rbmk/rbmk_outgasser_cover_side.png | Bin 0 -> 188 bytes .../blocks/rbmk/rbmk_outgasser_cover_top.png | Bin 0 -> 383 bytes .../blocks/rbmk/rbmk_outgasser_glass_side.png | Bin 0 -> 142 bytes .../blocks/rbmk/rbmk_outgasser_glass_top.png | Bin 0 -> 270 bytes .../blocks/rbmk/rbmk_outgasser_side.png | Bin 318 -> 274 bytes .../blocks/rbmk/rbmk_reflector_cover_side.png | Bin 0 -> 204 bytes .../blocks/rbmk/rbmk_reflector_cover_top.png | Bin 0 -> 307 bytes .../blocks/rbmk/rbmk_reflector_glass_side.png | Bin 0 -> 142 bytes .../blocks/rbmk/rbmk_reflector_glass_top.png | Bin 0 -> 215 bytes .../blocks/rbmk/rbmk_reflector_side.png | Bin 334 -> 292 bytes .../blocks/rbmk/rbmk_reflector_top.png | Bin 416 -> 449 bytes .../blocks/rbmk/rbmk_storage_cover_side.png | Bin 0 -> 188 bytes .../blocks/rbmk/rbmk_storage_cover_top.png | Bin 0 -> 322 bytes .../blocks/rbmk/rbmk_storage_glass_side.png | Bin 0 -> 142 bytes .../blocks/rbmk/rbmk_storage_glass_top.png | Bin 0 -> 270 bytes 96 files changed, 108 insertions(+), 89 deletions(-) rename src/main/java/com/hbm/render/tileentity/{RenderRBMKLid.java => RenderRBMKFuelChannel.java} (97%) create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_absorber_cover_side.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_absorber_cover_top.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_absorber_glass_side.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_absorber_glass_top.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_blank_glass_side.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_blank_glass_top.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_boiler_cover_side.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_boiler_cover_top.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_boiler_glass_side.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_boiler_glass_top.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_auto_glass_side.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_auto_glass_top.png rename src/main/resources/assets/hbm/textures/blocks/rbmk/{rbmk_control_mod.png => rbmk_control_base.png} (100%) create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_blue.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_glass_side.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_glass_top.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_green.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_mod_glass_side.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_mod_glass_top.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_purple.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_red.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_yellow.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_cooler_cover_side.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_cooler_cover_top.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_cooler_glass_side.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_cooler_glass_top.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_glass_side.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_glass_top.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_mod_cover_side.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_mod_cover_top.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_mod_glass_side.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_mod_glass_top.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_reasim_cover_side.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_reasim_cover_top.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_reasim_glass_side.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_reasim_glass_top.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_reasim_mod_cover_side.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_reasim_mod_cover_top.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_reasim_mod_glass_side.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_reasim_mod_glass_top.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_heater_cover_side.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_heater_cover_top.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_heater_glass_side.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_heater_glass_top.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_moderator_cover_side.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_moderator_cover_top.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_moderator_glass_side.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_moderator_glass_top.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_outgasser_cover_side.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_outgasser_cover_top.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_outgasser_glass_side.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_outgasser_glass_top.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_reflector_cover_side.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_reflector_cover_top.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_reflector_glass_side.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_reflector_glass_top.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_storage_cover_side.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_storage_cover_top.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_storage_glass_side.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_storage_glass_top.png diff --git a/changelog b/changelog index 6f92c7c05..c06455a46 100644 --- a/changelog +++ b/changelog @@ -1,11 +1,22 @@ ## Changed +* Updated RBMK visuals + * The indentations on most RBMK passive elements have been removed, heavily reducing tri count and allowing face culling, making RBMKs render much more efficiently + * The caps no longer render as part of the TESR and instead use much more performant ISBRH rendering + * Due to most passive elements no longer needing TESRs for their caps, most parts no longer use any TESRs at all + * This should fix various issues regarding lower-end hardware (especially Pojav) as well as issues with TESRs getting skipped due to the sheer number of things to render + * Control rods now show their set color as part of the model * Improved buzzsaw tree detection * Instead of just clearing a pillar, it now tries to detect branches * The max size of trees that can be successfully harvested is now way bigger * This means that things like 2x2 jungle trees can now be automated +* Annihilating radioactive items now creates that item's radiation value x5 as chunk radiation + * The maximum per tick is a 1000 RAD/s increase to prevent world-destroying radiation levels from annihilating demon cores ## Fixed * Fixed NBTStack serialization omitting the stack size most of the time, preventing deserialization (mainly in the precision assembler config) * Fixed precision assembler not being listed in the creative inventory * Fixed OpenComputers integration for the CCGT -* Fixed tool abilities switching when clicking on a block with a special interaction \ No newline at end of file +* Fixed tool abilities switching when clicking on a block with a special interaction +* Fixed outdated info on the QMAW pages involving AA and BSCCO due to the fusion reactor update +* Fixed ammo container giving 9mm instead of .22 for the akimbo target pistols +* Fixed RBMK control rods incorrectly showing up in the red group when no group is set \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKBase.java b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKBase.java index b81c618f0..72a54dd84 100644 --- a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKBase.java +++ b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKBase.java @@ -2,6 +2,7 @@ package com.hbm.blocks.machine.rbmk; import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ILookOverlay; +import com.hbm.blocks.ModBlocks; import com.hbm.handler.MultiblockHandlerXR; import com.hbm.handler.neutron.NeutronNodeWorld; import com.hbm.handler.neutron.RBMKNeutronHandler.RBMKNeutronNode; @@ -35,12 +36,17 @@ public abstract class RBMKBase extends BlockDummyable implements IToolable, ILoo public static boolean dropLids = true; public static boolean digamma = false; - - public static boolean renderLid = false; + + public static final int LID_NONE = 0; + public static final int LID_STANDARD = 1; + public static final int LID_GLASS = 2; + public static int renderLid = LID_NONE; public static boolean overrideOnlyRenderSides = false; public IIcon coverTextureTop; public IIcon coverTextureSide; + public IIcon glassTextureTop; + public IIcon glassTextureSide; public IIcon textureTop; protected RBMKBase() { @@ -55,7 +61,7 @@ public abstract class RBMKBase extends BlockDummyable implements IToolable, ILoo @SideOnly(Side.CLIENT) public boolean shouldSideBeRendered(IBlockAccess world, int x, int y, int z, int side) { if(overrideOnlyRenderSides && side < 2) return false; - if(renderLid && side > 1) return true; + if(renderLid != LID_NONE && side > 1) return true; return super.shouldSideBeRendered(world, x, y, z, side); } @@ -64,14 +70,18 @@ public abstract class RBMKBase extends BlockDummyable implements IToolable, ILoo public void registerBlockIcons(IIconRegister reg) { this.blockIcon = reg.registerIcon(this.getTextureName() + "_side"); this.textureTop = reg.registerIcon(this.getTextureName() + "_top"); + if(this == ModBlocks.rbmk_control || this == ModBlocks.rbmk_control_auto || this == ModBlocks.rbmk_control_mod) return; this.coverTextureTop = reg.registerIcon(this.getTextureName() + "_cover_top"); this.coverTextureSide = reg.registerIcon(this.getTextureName() + "_cover_side"); + this.glassTextureTop = reg.registerIcon(this.getTextureName() + "_glass_top"); + this.glassTextureSide = reg.registerIcon(this.getTextureName() + "_glass_side"); } @Override @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int meta) { - if(renderLid) return side == 0 || side == 1 ? coverTextureTop : coverTextureSide; + if(renderLid == LID_STANDARD) return side == 0 || side == 1 ? coverTextureTop : coverTextureSide; + if(renderLid == LID_GLASS) return side == 0 || side == 1 ? glassTextureTop : glassTextureSide; return side == 0 || side == 1 ? textureTop : blockIcon; } @@ -150,6 +160,12 @@ public abstract class RBMKBase extends BlockDummyable implements IToolable, ILoo public static final ForgeDirection DIR_NO_LID = ForgeDirection.NORTH; public static final ForgeDirection DIR_NORMAL_LID = ForgeDirection.EAST; public static final ForgeDirection DIR_GLASS_LID = ForgeDirection.SOUTH; + + public static int metaToLid(int meta) { + if(meta - 10 == DIR_NORMAL_LID.ordinal()) return LID_STANDARD; + if(meta - 10 == DIR_GLASS_LID.ordinal()) return LID_GLASS; + return LID_NONE; + } @Override public void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory22lr.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory22lr.java index 94f15dcd6..224fcbbb5 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory22lr.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory22lr.java @@ -89,7 +89,7 @@ public class XFactory22lr { .ps(Lego.LAMBDA_STANDARD_CLICK_PRIMARY).pr(Lego.LAMBDA_STANDARD_RELOAD) .decider(GunStateDecider.LAMBDA_STANDARD_DECIDER) .anim(LAMBDA_STAR_F_ANIMS).orchestra(Orchestras.ORCHESTRA_STAR_F_AKIMBO) - ).setDefaultAmmo(EnumAmmo.P9_SP, 30).setUnlocalizedName("gun_star_f_akimbo"); + ).setDefaultAmmo(EnumAmmo.P22_SP, 30).setUnlocalizedName("gun_star_f_akimbo"); } public static Function LAMBDA_NAME_SILENCED = (stack) -> { diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index b5772cb52..cd8a1b13e 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -410,17 +410,8 @@ public class ClientProxy extends ServerProxy { ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKControlAuto.class, new RenderRBMKControlRod()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCraneConsole.class, new RenderCraneConsole()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKConsole.class, new RenderRBMKConsole()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKAbsorber.class, new RenderRBMKLid()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKBlank.class, new RenderRBMKLid()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKBoiler.class, new RenderRBMKLid()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKModerator.class, new RenderRBMKLid()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKOutgasser.class, new RenderRBMKLid()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKReflector.class, new RenderRBMKLid()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKRod.class, new RenderRBMKLid()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKRodReaSim.class, new RenderRBMKLid()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKCooler.class, new RenderRBMKLid()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKStorage.class, new RenderRBMKLid()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKHeater.class, new RenderRBMKLid()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKRod.class, new RenderRBMKFuelChannel()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKRodReaSim.class, new RenderRBMKFuelChannel()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKAutoloader.class, new RenderRBMKAutoloader()); //ITER ClientRegistry.bindTileEntitySpecialRenderer(TileEntityITER.class, new RenderITER()); diff --git a/src/main/java/com/hbm/render/block/RenderRBMKControl.java b/src/main/java/com/hbm/render/block/RenderRBMKControl.java index dc2c103fb..aac35075b 100644 --- a/src/main/java/com/hbm/render/block/RenderRBMKControl.java +++ b/src/main/java/com/hbm/render/block/RenderRBMKControl.java @@ -23,6 +23,7 @@ public class RenderRBMKControl implements ISimpleBlockRenderingHandler { GL11.glPushMatrix(); Tessellator tessellator = Tessellator.instance; + RBMKBase.renderLid = RBMKBase.LID_NONE; IIcon iicon = block.getIcon(0, 0); tessellator.setColorOpaque_F(1, 1, 1); @@ -99,30 +100,27 @@ public class RenderRBMKControl implements ISimpleBlockRenderingHandler { int[] pos = ((BlockDummyable) block).findCore(world, x, y, z); if(pos != null) { int coreMeta = world.getBlockMetadata(pos[0], pos[1], pos[2]); - - if(coreMeta - 10 == RBMKBase.DIR_NORMAL_LID.ordinal()) { - tessellator.addTranslation(0, 1, 0); + int lid = RBMKBase.metaToLid(coreMeta); + + if(lid != RBMKBase.LID_NONE) { renderer.setRenderBounds(0, 0, 0, 1, 0.25, 1); - RBMKBase.renderLid = true; - renderer.renderStandardBlock(block, x, y, z); - RBMKBase.renderLid = false; - tessellator.addTranslation(0, -1, 0); + RBMKBase.renderLid = lid; + renderer.renderStandardBlock(block, x, y + 1, z); + RBMKBase.renderLid = RBMKBase.LID_NONE; hasLid = true; } } } if(!hasLid) { - tessellator.addTranslation(0, 1, 0); renderer.setRenderBounds(0.0625, 0, 0.0625, 0.4375, 0.125, 0.4375); - renderer.renderStandardBlock(block, x, y, z); + renderer.renderStandardBlock(block, x, y + 1, z); renderer.setRenderBounds(0.0625, 0, 0.5625, 0.4375, 0.125, 0.9375); - renderer.renderStandardBlock(block, x, y, z); + renderer.renderStandardBlock(block, x, y + 1, z); renderer.setRenderBounds(0.5625, 0, 0.5625, 0.9375, 0.125, 0.9375); - renderer.renderStandardBlock(block, x, y, z); + renderer.renderStandardBlock(block, x, y + 1, z); renderer.setRenderBounds(0.5625, 0, 0.0625, 0.9375, 0.125, 0.4375); - renderer.renderStandardBlock(block, x, y, z); - tessellator.addTranslation(0, -1, 0); + renderer.renderStandardBlock(block, x, y + 1, z); } } else { } @@ -130,13 +128,6 @@ public class RenderRBMKControl implements ISimpleBlockRenderingHandler { return true; } - @Override - public boolean shouldRender3DInInventory(int modelId) { - return true; - } - - @Override - public int getRenderId() { - return RBMKBase.renderIDControl; - } + @Override public boolean shouldRender3DInInventory(int modelId) { return true; } + @Override public int getRenderId() { return RBMKBase.renderIDControl; } } diff --git a/src/main/java/com/hbm/render/block/RenderRBMKReflector.java b/src/main/java/com/hbm/render/block/RenderRBMKReflector.java index 61429fef3..2e6b4e94d 100644 --- a/src/main/java/com/hbm/render/block/RenderRBMKReflector.java +++ b/src/main/java/com/hbm/render/block/RenderRBMKReflector.java @@ -19,6 +19,7 @@ public class RenderRBMKReflector implements ISimpleBlockRenderingHandler { GL11.glPushMatrix(); Tessellator tessellator = Tessellator.instance; + RBMKBase.renderLid = RBMKBase.LID_NONE; tessellator.setColorOpaque_F(1, 1, 1); GL11.glTranslated(0, -0.675, 0); @@ -55,14 +56,13 @@ public class RenderRBMKReflector implements ISimpleBlockRenderingHandler { int[] pos = ((BlockDummyable) block).findCore(world, x, y, z); if(pos != null) { int coreMeta = world.getBlockMetadata(pos[0], pos[1], pos[2]); - - if(coreMeta - 10 == RBMKBase.DIR_NORMAL_LID.ordinal()) { - tessellator.addTranslation(0, 1, 0); + int lid = RBMKBase.metaToLid(coreMeta); + + if(lid != RBMKBase.LID_NONE) { renderer.setRenderBounds(0, 0, 0, 1, 0.25, 1); - RBMKBase.renderLid = true; - renderer.renderStandardBlock(block, x, y, z); - RBMKBase.renderLid = false; - tessellator.addTranslation(0, -1, 0); + RBMKBase.renderLid = lid; + renderer.renderStandardBlock(block, x, y + 1, z); + RBMKBase.renderLid = RBMKBase.LID_NONE; } } } @@ -70,13 +70,6 @@ public class RenderRBMKReflector implements ISimpleBlockRenderingHandler { return true; } - @Override - public boolean shouldRender3DInInventory(int modelId) { - return true; - } - - @Override - public int getRenderId() { - return RBMKBase.renderIDPassive; - } + @Override public boolean shouldRender3DInInventory(int modelId) { return true; } + @Override public int getRenderId() { return RBMKBase.renderIDPassive; } } diff --git a/src/main/java/com/hbm/render/block/RenderRBMKRod.java b/src/main/java/com/hbm/render/block/RenderRBMKRod.java index f694cfd36..be5b71355 100644 --- a/src/main/java/com/hbm/render/block/RenderRBMKRod.java +++ b/src/main/java/com/hbm/render/block/RenderRBMKRod.java @@ -24,6 +24,7 @@ public class RenderRBMKRod implements ISimpleBlockRenderingHandler { GL11.glPushMatrix(); RBMKRod rod = (RBMKRod) block; Tessellator tessellator = Tessellator.instance; + RBMKBase.renderLid = RBMKBase.LID_NONE; IIcon iicon = block.getIcon(0, 0); IIcon sideIcon = block.getIcon(2, 0); tessellator.setColorOpaque_F(1, 1, 1); @@ -81,14 +82,13 @@ public class RenderRBMKRod implements ISimpleBlockRenderingHandler { int[] pos = ((BlockDummyable) block).findCore(world, x, y, z); if(pos != null) { int coreMeta = world.getBlockMetadata(pos[0], pos[1], pos[2]); - - if(coreMeta - 10 == RBMKBase.DIR_NORMAL_LID.ordinal()) { - tessellator.addTranslation(0, 1, 0); + int lid = RBMKBase.metaToLid(coreMeta); + + if(lid != RBMKBase.LID_NONE) { renderer.setRenderBounds(0, 0, 0, 1, 0.25, 1); - RBMKBase.renderLid = true; - renderer.renderStandardBlock(block, x, y, z); - RBMKBase.renderLid = false; - tessellator.addTranslation(0, -1, 0); + RBMKBase.renderLid = lid; + renderer.renderStandardBlock(block, x, y + 1, z); + RBMKBase.renderLid = RBMKBase.LID_NONE; } } } @@ -96,13 +96,6 @@ public class RenderRBMKRod implements ISimpleBlockRenderingHandler { return true; } - @Override - public boolean shouldRender3DInInventory(int modelId) { - return true; - } - - @Override - public int getRenderId() { - return RBMKBase.renderIDRods; - } + @Override public boolean shouldRender3DInInventory(int modelId) { return true; } + @Override public int getRenderId() { return RBMKBase.renderIDRods; } } diff --git a/src/main/java/com/hbm/render/tileentity/RenderRBMKControlRod.java b/src/main/java/com/hbm/render/tileentity/RenderRBMKControlRod.java index 63c81f7e3..b433d267a 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderRBMKControlRod.java +++ b/src/main/java/com/hbm/render/tileentity/RenderRBMKControlRod.java @@ -5,6 +5,7 @@ import org.lwjgl.opengl.GL11; import com.hbm.lib.RefStrings; import com.hbm.main.ResourceManager; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKControl; +import com.hbm.tileentity.machine.rbmk.TileEntityRBMKControlManual; import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; @@ -12,8 +13,16 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; public class RenderRBMKControlRod extends TileEntitySpecialRenderer { - - private ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_control.png"); + + private ResourceLocation[] textures = new ResourceLocation[] { + new ResourceLocation(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_control_red.png"), + new ResourceLocation(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_control_yellow.png"), + new ResourceLocation(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_control_green.png"), + new ResourceLocation(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_control_blue.png"), + new ResourceLocation(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_control_purple.png"), + }; + private ResourceLocation textureStandard = new ResourceLocation(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_control.png"); + private ResourceLocation textureAuto = new ResourceLocation(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_control_auto.png"); @Override public void renderTileEntityAt(TileEntity te, double x, double y, double z, float i) { @@ -43,6 +52,14 @@ public class RenderRBMKControlRod extends TileEntitySpecialRenderer { int lY = brightness / 65536; OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float)lX / 1.0F, (float)lY / 1.0F); + ResourceLocation texture = textureAuto; + + if(control instanceof TileEntityRBMKControlManual) { + TileEntityRBMKControlManual crm = (TileEntityRBMKControlManual) control; + if(crm.color == null) texture = textureStandard; + else texture = textures[crm.color.ordinal()]; + } + bindTexture(texture); double level = control.lastLevel + (control.level - control.lastLevel) * i; diff --git a/src/main/java/com/hbm/render/tileentity/RenderRBMKLid.java b/src/main/java/com/hbm/render/tileentity/RenderRBMKFuelChannel.java similarity index 97% rename from src/main/java/com/hbm/render/tileentity/RenderRBMKLid.java rename to src/main/java/com/hbm/render/tileentity/RenderRBMKFuelChannel.java index a3ac690b2..1083a178a 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderRBMKLid.java +++ b/src/main/java/com/hbm/render/tileentity/RenderRBMKFuelChannel.java @@ -11,7 +11,7 @@ import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; -public class RenderRBMKLid extends TileEntitySpecialRenderer { +public class RenderRBMKFuelChannel extends TileEntitySpecialRenderer { private static final ResourceLocation texture_rods = new ResourceLocation(RefStrings.MODID + ":textures/blocks/rbmk/rbmk_element_fuel.png"); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAnnihilator.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAnnihilator.java index 4fbcf5282..2019a34dd 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAnnihilator.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAnnihilator.java @@ -2,6 +2,9 @@ package com.hbm.tileentity.machine; import java.math.BigInteger; +import com.hbm.handler.radiation.ChunkRadiationManager; +import com.hbm.hazard.HazardRegistry; +import com.hbm.hazard.HazardSystem; import com.hbm.interfaces.IControlReceiver; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.container.ContainerMachineAnnihilator; @@ -67,6 +70,7 @@ public class TileEntityMachineAnnihilator extends TileEntityMachineBase implemen boolean didSomething = false; if(slots[0] != null) { + onDestroy(slots[0]); tryAddPayout(data.pushToPool(pool, slots[0], false)); this.slots[0] = null; this.markChanged(); @@ -100,6 +104,7 @@ public class TileEntityMachineAnnihilator extends TileEntityMachineBase implemen if(slots[9] != null) { ItemStack single = slots[9].copy(); single.stackSize = 1; + onDestroy(single); ItemStack payout = data.pushToPool(pool, single, true); this.decrStackSize(9, 1); if(payout != null) { @@ -117,6 +122,14 @@ public class TileEntityMachineAnnihilator extends TileEntityMachineBase implemen } } + public void onDestroy(ItemStack stack) { + float radiation = HazardSystem.getHazardLevelFromStack(stack, HazardRegistry.RADIATION); + if(radiation > 0) { + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); + ChunkRadiationManager.proxy.incrementRad(worldObj, this.xCoord - dir.offsetX * 3, this.yCoord + 9, this.zCoord - dir.offsetZ * 3, Math.min(radiation * 5F, 1_000F)); + } + } + public DirPos[] getConPos() { ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java index 77b1cb603..fbe930c0f 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java @@ -36,25 +36,18 @@ public abstract class TileEntityRBMKControl extends TileEntityRBMKSlottedBase im public void updateEntity() { if(worldObj.isRemote) { - this.lastLevel = this.level; } else { if(level < targetLevel) { - level += speed * RBMKDials.getControlSpeed(worldObj); - - if(level > targetLevel) - level = targetLevel; + if(level > targetLevel) level = targetLevel; } if(level > targetLevel) { - level -= speed * RBMKDials.getControlSpeed(worldObj); - - if(level < targetLevel) - level = targetLevel; + if(level < targetLevel) level = targetLevel; } } diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControlManual.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControlManual.java index 721ef2af6..6788dce16 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControlManual.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControlManual.java @@ -117,16 +117,17 @@ public class TileEntityRBMKControlManual extends TileEntityRBMKControl implement buf.writeDouble(this.startingLevel); if(this.color != null) buf.writeInt(this.color.ordinal()); + else + buf.writeInt(-1); } @Override public void deserialize(ByteBuf buf) { super.deserialize(buf); this.startingLevel = buf.readDouble(); - if(buf.isReadable(1)) { - int color = buf.readInt(); - this.color = RBMKColor.values()[MathHelper.clamp_int(color, 0, RBMKColor.values().length)]; - } + int color = buf.readInt(); + this.color = RBMKColor.values()[MathHelper.clamp_int(color, 0, RBMKColor.values().length)]; + if(color == -1) this.color = null; } public static enum RBMKColor { diff --git a/src/main/resources/assets/hbm/manual/material/alloy.json b/src/main/resources/assets/hbm/manual/material/alloy.json index 32b8133f1..8ece9ac17 100644 --- a/src/main/resources/assets/hbm/manual/material/alloy.json +++ b/src/main/resources/assets/hbm/manual/material/alloy.json @@ -9,7 +9,7 @@ "ru_RU": "Продвинутый сплав" }, "content": { - "en_US": "Made in a [[blast furnace|Blast Furnace]] from [[steel|Steel]] and [[Minecraft grade copper|Minecraft Grade Copper]]. Makes better-than-diamond gear. Also used in some high-powered magnets for the [[fusion reactor|Fusion Reactor]] and the [[exposure chamber|Exposure Chamber]].", + "en_US": "Made in a [[blast furnace|Blast Furnace]] from [[steel|Steel]] and [[Minecraft grade copper|Minecraft Grade Copper]]. Makes better-than-diamond gear. Also used in some high-powered magnets for the [[exposure chamber|Exposure Chamber]].", "uk_UA": "Виготовлено в [[доменній печі|Blast Furnace]] зі [[сталі|Steel]] та [[червоної міді|Minecraft Grade Copper]]. З нього робиться спорядження краще за алмазне. Також використовується в деяких потужних магнітах для [[термоядерного реактору|Fusion Reactor]] та [[камери опромінювання|Exposure Chamber]].", "ru_RU": "Изготовлено в [[доменной печи|Blast Furnace]] из [[стали|Steel]] и [[красной меди|Minecraft Grade Copper]]. Из него делают инструменты, превосходящие алмазные. Также используется в некоторых мощных магнитах для [[термоядерного реактора|Fusion Reactor]] и [[камеры облучения|Exposure Chamber]].", "zh_CN": "在[[高炉|Blast Furnace]]中使用[[钢|Steel]]和[[紫铜|Minecraft Grade Copper]]制成。其制成的工具比钻石更加优质。同时也能用于制作[[聚变反应堆|Fusion Reactor]]和[[辐照舱|Exposure Chamber]]的高能磁铁。" diff --git a/src/main/resources/assets/hbm/manual/material/bscco.json b/src/main/resources/assets/hbm/manual/material/bscco.json index 40b83af3b..2aaf0a871 100644 --- a/src/main/resources/assets/hbm/manual/material/bscco.json +++ b/src/main/resources/assets/hbm/manual/material/bscco.json @@ -9,7 +9,7 @@ "zh_CN": "BSCCO超导体" }, "content": { - "en_US": "Powerful superconductor, used in high tier circuits and coils for the [[particle accelerator|Particle Accelerator]]. Requires [[bismuth|Bismuth]], and is therefore only obtainable after building an [[RBMK]].", + "en_US": "Powerful superconductor, used in high tier circuits and coils for the [[particle accelerator|Particle Accelerator]] as well as the [[fusion reactor|Fusion Reactor Vessel]]. Requires [[bismuth|Bismuth]], and is therefore only obtainable after building an [[RBMK]].", "uk_UA": "Потужний надпровідник, що використовується у високоякісних платах та котушках для [[прискорювача часток|Particle Accelerator]]. Потребує [[вісмут|Bismuth]], і тому доступний лише після побудови [[РБМК|RBMK]].", "ru_RU": "Мощный сверхпроводник, используемый в высокоуровневых цепях и катушках для [[ускорителя частиц|Particle Accelerator]]. Требует [[висмут|Bismuth]], и поэтому доступен только после постройки [[РБМК|RBMK]].", "zh_CN": "强力的超导体,用于制作高等级的电路及用于[[粒子加速器|Particle Accelerator]]的线圈。需要[[铋|Bismuth]]制作,因此只能在建造[[RBMK]]后获得。" diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_absorber_cover_side.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_absorber_cover_side.png new file mode 100644 index 0000000000000000000000000000000000000000..29deb50b07cb6678583afbd64b8658d0667d8121 GIT binary patch literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf0q7%$Dg4E-iI0ZcHG%R95qyz|6#?fS)Hn%_HTZi|%r|W~-{SA^d(V>KRhESHYJ+#@eU^mXehUDIaX<(GA_*}LIGvC98JD=;E+}Qf zI4+^80DuqzcKa+{QNXFtT9x!JcpQ=_KSU=b^d*H#=0}pmRu&`8jeT82< z;6W+V46r=7^1#9byf{4%y8mGN2Ua52gVXs~MZ@(I4<1!$3if+Lt%m>r002ovPDHLk FV1l4zeeVDO literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_absorber_glass_side.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_absorber_glass_side.png new file mode 100644 index 0000000000000000000000000000000000000000..e53a1eae893492947382c5d565f24c4ed0cebd89 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfgTe~DWM4f_PsE4 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_absorber_glass_top.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_absorber_glass_top.png new file mode 100644 index 0000000000000000000000000000000000000000..9b2d75a18fd8cb6682a78b297a438e459bc43dd7 GIT binary patch literal 215 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfZVGpJ9p`kZUArE4}}@ac1ynd&AnVcVpHyUGsj}) z2l_0A=h9ZhWt;bz8^`dUyR)Fp)yB_Mq+w3Ei;d;`_)Zra27Sv&qpv0B&N2dB#^CAd K=d#Wzp$PzaL`y;d literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_absorber_side.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_absorber_side.png index 84881006800ab95cb03c0d4666bb481af6e27279..84014157f5fc4daedb88557b9e8863eb2aeff7ec 100644 GIT binary patch delta 454 zcmV;%0XhE51MmZoG=HZ_L_t(Ijdhb-j@vK{MUP}9C|XP&3+Z21(DfFxuxa8)(iz7j zMfD?*njljFhAoJ=m-kQ(ufJZ)Fbz!8gswKYJ0c6JN?oz*NGXxcI1VE}e|+ck=S1K4 zB!CbC0PfCl7!VOugi=Zq=wc+hGxR+`J4*mv*8!j^hzOoDrGFGkDTELx?wC7jipp}U z)qet2?d|u0>2$g}xC0Pk1R!TamZin2rs;Z^0od<%>^3j>t*E%SE&x=7!)Fod3L$Wu zPM9iQoIoIi>r+Z$SuRZD$h~Q*@Bqw=Y=)U)W~7vev1@yGC*C5}_XC5zA2^@Slv42G zs2VvNmwCqBS%0tBbSbrNpCascTlTwc16SNp5!AG~4&&5D-UQa`bt66uWBWE0=6NQB zK#UQ0=i~kT-jfI*BF)inOW?=EQm;Rtga%0h$14)AM9(ij0e9smFU07*qoM6N<$f<~v)V*mgE delta 417 zcmV;S0bc&_1Iq)DG=G9gL_t(Ijct-mj@>W}gFo3$?$B)y(32N)rtS;8!JsJcB1?1^ zi9Iiv1_=BIkrYLH`}sEBKi-kVuit->#Bn_F-kD#mmDU;=L1gmd`#1J|=ka*Z0L+Yi z-;w^%qZ65A1Y-;UB%w@FB6?@v_x08$1AzNMk3gA>F&JZDW`7KckWTR4IgSG}`ve$c z;O-p9fi7e-JO5Gu$P6+9fKm$Ox-aKrVrG<;$oYldl}vgDC6byH@k~}o6J!8^1VPS!|7*himwVl|jsK~a*B8>ZZOkt-F-AfN0JPQ!A<$X_ zAjU{*4H04AcVdjFDmiD8T>#kk9e@ym?`^ext(97oM+zNEpDJ4XN)|z|1Et^PhU}0Ua*MnCZFjG@i z56>F71;eVf(sdoB6d#<{n$JpWjdfkUQF{3KK+gFu%o=~GbzS)d*)}Fxof?=m00000 LNkvXXu0mjf41TR#G=E=7L_t(Ijh&J^ZX7WThCfl7**!?w^f`CnW2AS=6se2^V{aDN z8Ho~I7^GKD6NG>;8a@6Ol^(u6Sgn=+smt|3skQQac_!yfN(q48J1Hf4?*QbS>AfQ& zj4{YLV`gmIM)3mxV+;UNN-_7Z&s7yw4Ke{RGmhhkMKcQ!5q}AQloF@Y2@wfWxtFY} z6Qing0Hu^E165^RS8lf(t+h#=h(tc+qfh^L77w@g9#7f9#T~ zz5|RgXsxmDd)P3ucwo+UpN|6+x8Sl=m1S9Itx-w|Ab*9ucaGzD@50lsC$??-OXk1S baU8q?vt1Y7PkP3v00000NkvXXu0mjfd3&z{ diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_blank_cover_side.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_blank_cover_side.png index 47ba106a517fe50d015fb75e7fecc39e65fd5947..32a71f4fe6eb42cca5d887c7e0f7dd0e085b7e8e 100644 GIT binary patch delta 144 zcmV;B0B`@k0lWc_G=FnRL_t(IjqQ%H3IZ_@M4yl*u%tWg|9|N~4-xgwF1uY=NU4pN z(@L<;t7e#4cA(Sg035FK`KgxwI#$aBwaofh0B|peBw~yJ)LNU~ynA67MgWediLiz4 yr4{YHNF+5cl3K?;76-M=?SA>1^-J%MlouIaJDha^H`@RJ00{s|MNUMnLSTYP96~Mt delta 146 zcmV;D0B!%g0loo{G=FtTL_t(IjqT4t3d1lAMA5IvzW-fHP8A9crW?sf%Az;O+He11 z2DWVjkn?kvyT6L(Z_?bId)}xjA_71}ARu4t242GWtUkoO<(*OUL2HPm5-MX8tTQKO@ z9*R;War&i`Wb^3jwLcC&yK|AuJ60qUieygze*n}vkWx>K5dc*keT!=y*le}{e0_h? z+2yOSssdaSyaU%d+!Cz8s=5kW9Dr5WswT^I)X?h zrM|gPJF~?8J^)R4-pRbO#S;};aI0-Eapy;9!QO}Kn^`PTB#+WOg3X^Kcm&577mHlT scn|hVo?9rAIsWd)1OK(xd^3^41wgC;EMc18423_-PG;W!QA(exETjwzli0GkckjLPKjZQDLF>Kq`S_&PN+|_^IVYtQ=9~c3TA6bqBA6MqR@|NA zIB0PJz{~(BrQ|xku~t=7HH!&=yK`MvZn}Glh)4>QQn=l2h<`{HmG72Sb*ZST)LJpK zWk!S)0BEf(3{;hU-+4Ztj4>8>B9eUCYtHzODgk%SnYIJy!r(j1ZQFhTeBE0h#u#H{ z1z-UvB9u~Stt~gTe~DWM4f_PsE4 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_blank_glass_top.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_blank_glass_top.png new file mode 100644 index 0000000000000000000000000000000000000000..9b2d75a18fd8cb6682a78b297a438e459bc43dd7 GIT binary patch literal 215 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfZVGpJ9p`kZUArE4}}@ac1ynd&AnVcVpHyUGsj}) z2l_0A=h9ZhWt;bz8^`dUyR)Fp)yB_Mq+w3Ei;d;`_)Zra27Sv&qpv0B&N2dB#^CAd K=d#Wzp$PzaL`y;d literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_blank_side.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_blank_side.png index 498a1c7135393b3041b8639b42ba1384d73b9b4d..842403f3f3deef57061ad2ff6e9dd16786a40790 100644 GIT binary patch delta 320 zcmV-G0l)sC1M32iG=CyVL_t(Ijct=nZUQk3g+DtPHWeH0e}syoQGvPvlDLcNxn`(0 zi9E^si^tBN=lHsQalKwSoldN^hzL|`Eqd<&m>Fiq@#Dzt`^M#R!Sw;a-RZsK?zGmj zXJ!dJ#sEl?4&>prRx)X?b-#Z;pT7hZO-dpnLEJqrnOTx)?SBAsP5{Oj=~MDsYssem zn}y0Cz=*)z6TGUcq+Y#61QC(aBO(uKRms{*2J*FS+goV+UfQgv@|yBWfNL$xEN4PM z4sbXe5>*zYthJW2Ad9s+z~k}AhQbqL4cN^7yw?osvnf3F_q|G#019Z^wwG}RaN zRg@M~_xnAS>^YzFzkE_bmDgHJ|GG5iWQ@U_GnKtOqn=Nfd++)8)!^z_OUVx#_ubQd SwP0%i0000S20%)wzZ62)<;QXC_2d8mt$#Jl3^PMSc637sOw)vj zU}oR>pG_h{jImSp7={56q1M`aI)KyLf^2iO*3JxIUDy7d093Uj`hcqb`gh=3>-SBr z*DL4q`Ke5*%HePz=ltJ#djI>*+wtvbgZtoBJ>`$wb*{AnAR?^mN-2eDn#eh0W~7w5 ze5%Urc6;2w_iv9el2RhZ$g(VyQXYGL4QHq)$ diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_boiler_cover_side.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_boiler_cover_side.png new file mode 100644 index 0000000000000000000000000000000000000000..32a71f4fe6eb42cca5d887c7e0f7dd0e085b7e8e GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf>6g7WoLikXBeHD4<(CXH>puTn zIqkny*lCunXMRO66zF%TB=s;{iJE!D(*KPl?Cof!Mp kGjHpD&id;8zJH3iWW4p9QbzOJK5R{Z$gKOjt6j0Me ziV;HmgeG`5aj{z4iknbGyIDIyh)gw}_4{_d8T;Vv`DGDMO!#%RK@ zM-T)6R8{42`)rIxh!}uLI;LX}{|i@D1+W&_2R23n&;=Us!{a?dL_0kT5jVu7%GLt@ z%|b*B&(5jqx&dpWiA2mK9Xlb{LA&j`uDLuuq@1Rd^BFo{Fj@`hCkaBtC~s>WANCK* zY0A;nE#mr){Cno=_MI^7Z3HZAivZ<(1C>S5u;b6HYgNOr=OzoF^94^g7nDUozQ`fj zz?}x?@&57Z3jVMCTW&)s$q%{7^4Pmd4>gTe~DWM4f_PsE4 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_boiler_glass_top.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_boiler_glass_top.png new file mode 100644 index 0000000000000000000000000000000000000000..0e1060ce3760e0e2d9e697c9665b4d52ec4a28ef GIT binary patch literal 368 zcmV-$0gwKPP)sXx3!E1jb zKM?Tdy+gKu$&^BH2ipP>8LUMeiW0f5!EWCqPIvF#-8~Y=8-+h2iq^n?2!dd#te?R? zguC4bY6Nk-QNBMSeNT-E;|$IOW>89r2lo=?ev2|o!HXO#jhD*+ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control.png index df7f6f862e254ac5fe7047ef32a2356f5946acae..9faabfcda93555c027813096111f1708a7fd558c 100644 GIT binary patch delta 573 zcmV-D0>b^=2jv8iGk*dcNkl>qa6f7C(gDnFtvf*{C5mL%RPH-UI0e{b{G5nYkn@u-4V0Pg0T|cv* zS==~|iQ^b3=7Oahu*H3Uk~R7MB)13BAhKVD2C#{>R+*qdp1Ao0gb*9KAd6z#PY&uSb;5XOJi-Lnh27=$pkuurSaEd=}kNyss0 z6Fb2M9r6+hC0&oP@8}@vxpIa5h`Cna&UHKGL6fxC?5UMIzYX?=qL3Ij=f*S1&qETyr8WfGqsY3{L z6^t>%0HA~%X11b4XbH%J+ z@qU3=;oZ@@is#QK#4lmGDWaJUEnF8`QwadCl&FdB`p z)>4)wS65ef?-`HBoS&c96tmV6W5jz;S(e-6239o8vJB@OB2o{ObFSIc8Z_q|qtU42 z-^N@50F|gDK3}JlF^2JYyw$+M@KsO za=H9uRd4{_`_73%2zc+;?h~*OLJjcg)29m6Y%G_{`kAAnqg%1V&1N&s&dz$B-g|a- zcF6PmMnAyG$w_DZ;NajkxhnvV_8)P7?|!c{>A)uc@$vDkll20~Kjt;h(-*FYuv{)F z%YTybcubz>s4C96nttAU=JR=f&^u7n0d@bawK(Un)>0HjEi@@$n;q$ycHfirt!)Hg zjKLUlBejxFw3RPa3+~qQ>sEb`h>&Gj4J3rnE3>HrsXd*Otg3WZg)~5iRx!r41nu{| z_rBAfZLQV;s7{zT-xi{z6RJvCmXu{#`!HW$zU~eD_}j;~QYtr_&B*h-m+MIfHtEE+ Z_8;x@Gbun2-1Yzf002ovPDHLkV1jSC-P`~G diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_auto.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_auto.png index abd7e532ecd30a62ebe9ae910ec7faaf08175bec..a506d67c06167249c12b08da2e9dc1c285c0ce64 100644 GIT binary patch delta 589 zcmV-T0v6jbBu1XHy zjd@D{E6aPb%ZqdIsPPWy>Y<{TP7y+o=Q&C#thKCGE8gBO$ba&j-{Ub-N&u8nc<(XB zaB#nX=@9@zyvT1C06>;yX%p}LTA_6^l2YQmM@pIG&N%==2!kB|6TrpsaZh+YoAnH@ z&(3=KPd7KcK$KF0Zb9#w#4F#mKq-|1h_|q7&9eb`@424OlQ8C3wR7hjUv6(x{zC{f zO_S`0=062sjDJZdiVlr2WLxuCBhERz_vCb^7D5b5LAhKKih^cKkppF2^JX+6FN!3W zbZIE-8a1B0E`Sg3KQcL-JgSU5@Ra@!uS`MpP^CVP6)l9IX&Me%9#|Y55kf#~o!ZbC zLw3J_@dW1_Qp!OssiCWAr4(9glv31n-5Iq`l~O%If`4_vM(!Bg1yV{bPfvToO&*9m z5p&-FpJy{9Ya-elFNK6Ihq@gNV7K^x(>WV@Ap}y&;YA4RHoLmJOO$Jjp{lB6a4J{A6_EFknk3II-V~_tA!@sjFzMY)(-r><`^rU_Kdqlka7x@gf b9XyA>?kFS6gl!pr00000NkvXXu0mjfWAGNQ delta 963 zcmV;!13dio1n38lGk*i0NklYJ8v6D6otP#Gs{KP1PBBp4>th>RcTDxP0Ao` zkVcJD=}!cSod=TGaFFD$xC-3lKNzxQz=a&OMgSLz$mIjW-I+dgtCyuZz5_~fg*t+k);-;>VG7k`8q&lkLzFUXbR*MkE9 zz8{TnAuw|l7;0eCf?0$`U*UJ@F7ug3pQ@OQP|jKHTKeQ>GH|IY_b z*>D8o`GVKe8JSZ2@%%X&xHlYPy>EQr^>l_2;rGKs41e%L;uEmCh)StmN-(gJT&@%k zZr?_UwB#7^OeuaEjW8nUWRLeAUw5dt3NjIlNOQAQT_i>(!ayms2yr#;4I#8X{Rq^_ zQwgT2GNoDs(-0AqQvEMs{1P=@g}{0mofKd938hpsg5Djl-s3{x;j?D|{Fvw*&dldw z?GxV)hkq@SBGTWAQy;k7q4U%SzU=aWI#FK&^5oAaVYys(f|Kcl?f1614By}1?{5Nt zDP{$e$pjH$Fc_e_K4+@v;8zmBsk!x)2zG#APk zbG9kDXvP=@gFy@5Bupd#D^rPjUYC?oiagIZx_@w8(Xy_nXRY-)SIe>t5y3gv?0IVh zeDbo1B+|9`rz4)cs;alvg_RFj+d7eR4r}eX=Sa*s*AU#>+Y7L|8&!4oC-w2;$5&E^ z8IQ-DoSbxm)>^iy3twAt8!IG)x?>MmW^ zAr;V)mG}N!f%JWEt!<5G(`bAERws;_Pdtq%`a}qUvMedfvcW%o@uD;F*Sot{aw;<( lk12|xQ|r+OF7t^^<3HQLMoKjm8U6qO002ovPDHLkV1nHk-{1fM diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_auto_glass_side.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_auto_glass_side.png new file mode 100644 index 0000000000000000000000000000000000000000..e53a1eae893492947382c5d565f24c4ed0cebd89 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfgTe~DWM4f_PsE4 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_auto_glass_top.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_auto_glass_top.png new file mode 100644 index 0000000000000000000000000000000000000000..9b2d75a18fd8cb6682a78b297a438e459bc43dd7 GIT binary patch literal 215 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfZVGpJ9p`kZUArE4}}@ac1ynd&AnVcVpHyUGsj}) z2l_0A=h9ZhWt;bz8^`dUyR)Fp)yB_Mq+w3Ei;d;`_)Zra27Sv&qpv0B&N2dB#^CAd K=d#Wzp$PzaL`y;d literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_auto_side.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_auto_side.png index 498a1c7135393b3041b8639b42ba1384d73b9b4d..395db6d38ade21c1c34edc9b9d9550e11b967e19 100644 GIT binary patch delta 382 zcmV-^0fGLZ1E~X$G=E@8L_t(IjdhYiZ(1=Bgg<)?MpUT~B0;%SIaT@bReo3K;RSe+ zkZt_j16pH0)IC|_(d_KbnvXvp2%`l*Bfn}zt8NpJ7SE?>->FY7zP}GF{Xkd zLQ09t)!k5o;{~BEojFrIZ4IRZxYdX#&7GSG!qjAAj(a(p^B+^j%7+u38cA zeZ{q@1;{y9k}(Dmsg|`Civ`A*%I!v&cWOt`2I{QEfZGz4tlQ2x6GG_7A%rTt`MIeM zU2ErXICO482&~s@#&PWM*ZphVg=;_Ff4_G`y@QwC%Y4#%Dgevn5`fRYpTI57>-9=X z3GY4QI8sW%Id_M1j;9|_RmiooiwMp+M1&Y)&04c>)9H4g^Q=~@2di+45bnnVvlx|N zt;JeP&bcFNwGOoD!yQc1ROg>BtdvsYRR>*+F~*vCdq^P!M1)dG74BkG@PBtO3`2+S cpZB%FKN6+am5Ro*p#T5?07*qoM6N<$g0mgGKmY&$ delta 374 zcmV-+0g3*p1EB+uG=Er0L_t(IjeU~MZsRZvgg;8M4dl28dRX-RA7GK^3KAS20%)wzZ62)<;QXC_2d8mt$#Jl3^PMSc637sOw)vj zU}oR>pG_h{jImSp7={56q1M`aI)KyLf^2iO*3JxIUDy7d093Uj`hcqb`gh=3>-SBr z*DL4q`Ke5*%HePz=ltJ#djI>*+wtvbgZtoBJ>`$wb*{AnAR?^mN-2eDn#eh0W~7w5 ze5%Urc6;2w_iv9el2RhZ$g(VyQXYGL4Q@~ diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_mod.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_base.png similarity index 100% rename from src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_mod.png rename to src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_base.png diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_blue.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..0540cec79f572bdbc712746ce897ac95e6f46768 GIT binary patch literal 624 zcmV-$0+0QPP)7y(Rz5%r~y&|3bLZ!~&>;!;j=NQ~D8^%cuG#mh6 z*^nWg^Sk>m02mkeBsthjz|P$#OY3}<56qHRMJ-LQn2atFt#NUFiXb%GUCh(m2PUIS zM3U$ON~_=#5H6ysRw~I_Sb?Ha=lw2-_kQdRRK zsJsK_DUun3^Vp2q$9bKHnGM9~_r8ET_uAc($j~3E^@NfS?C!q=%5`4!fyUnRe|QK! zuxV4;Vv8-d*kX(S7uA1fBMu(CD)nJaZZC}wExZuFsen}pR^bmN$rcgZTd6w$0000< KMNUMnLSTXgqaJ1e literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_glass_side.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_glass_side.png new file mode 100644 index 0000000000000000000000000000000000000000..e53a1eae893492947382c5d565f24c4ed0cebd89 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfgTe~DWM4f_PsE4 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_glass_top.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_glass_top.png new file mode 100644 index 0000000000000000000000000000000000000000..9b2d75a18fd8cb6682a78b297a438e459bc43dd7 GIT binary patch literal 215 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfZVGpJ9p`kZUArE4}}@ac1ynd&AnVcVpHyUGsj}) z2l_0A=h9ZhWt;bz8^`dUyR)Fp)yB_Mq+w3Ei;d;`_)Zra27Sv&qpv0B&N2dB#^CAd K=d#Wzp$PzaL`y;d literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_green.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_green.png new file mode 100644 index 0000000000000000000000000000000000000000..b49088f2e0f9ea6980d891e2edca87e06335255b GIT binary patch literal 589 zcmV-T0}to%n&3Nfd0Q-i)&*BCWdI- z;C<|Zb1th31;kTG5KL`l5)0N5G;dhwPwl<$x}d6g1Ta9`do+>)2@$iN%pB3&`|k(@ zA8^ib_Vo-iqdX`hsaaufm|7fCgYvLkI<<)8UBUFnw43Iw=UV_=|GWmk*Pf~M@$Hw} zG5)KMJLeupVDstbgF64056p_^qG%=!^<|AX;o{^X>in=I+=ku?Ot}i`v{y>I2U=y! z{nkZv!a^f~dnBlZ_C~Y-5kXb+hj6wqGYBn#g*+m2#TQ7bYIg&J!PavFro$BnJ!_Fkrxd0XfM3oNclDdiPQ9;q|{F b|1<6YtMwnlKJDc(00000NkvXXu0mjf=M4l> literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_mod_glass_side.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_mod_glass_side.png new file mode 100644 index 0000000000000000000000000000000000000000..e53a1eae893492947382c5d565f24c4ed0cebd89 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfgTe~DWM4f_PsE4 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_mod_glass_top.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_mod_glass_top.png new file mode 100644 index 0000000000000000000000000000000000000000..9b2d75a18fd8cb6682a78b297a438e459bc43dd7 GIT binary patch literal 215 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfZVGpJ9p`kZUArE4}}@ac1ynd&AnVcVpHyUGsj}) z2l_0A=h9ZhWt;bz8^`dUyR)Fp)yB_Mq+w3Ei;d;`_)Zra27Sv&qpv0B&N2dB#^CAd K=d#Wzp$PzaL`y;d literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_mod_side.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_mod_side.png index 498a1c7135393b3041b8639b42ba1384d73b9b4d..395db6d38ade21c1c34edc9b9d9550e11b967e19 100644 GIT binary patch delta 382 zcmV-^0fGLZ1E~X$G=E@8L_t(IjdhYiZ(1=Bgg<)?MpUT~B0;%SIaT@bReo3K;RSe+ zkZt_j16pH0)IC|_(d_KbnvXvp2%`l*Bfn}zt8NpJ7SE?>->FY7zP}GF{Xkd zLQ09t)!k5o;{~BEojFrIZ4IRZxYdX#&7GSG!qjAAj(a(p^B+^j%7+u38cA zeZ{q@1;{y9k}(Dmsg|`Civ`A*%I!v&cWOt`2I{QEfZGz4tlQ2x6GG_7A%rTt`MIeM zU2ErXICO482&~s@#&PWM*ZphVg=;_Ff4_G`y@QwC%Y4#%Dgevn5`fRYpTI57>-9=X z3GY4QI8sW%Id_M1j;9|_RmiooiwMp+M1&Y)&04c>)9H4g^Q=~@2di+45bnnVvlx|N zt;JeP&bcFNwGOoD!yQc1ROg>BtdvsYRR>*+F~*vCdq^P!M1)dG74BkG@PBtO3`2+S cpZB%FKN6+am5Ro*p#T5?07*qoM6N<$g0mgGKmY&$ delta 374 zcmV-+0g3*p1EB+uG=Er0L_t(IjeU~MZsRZvgg;8M4dl28dRX-RA7GK^3KAS20%)wzZ62)<;QXC_2d8mt$#Jl3^PMSc637sOw)vj zU}oR>pG_h{jImSp7={56q1M`aI)KyLf^2iO*3JxIUDy7d093Uj`hcqb`gh=3>-SBr z*DL4q`Ke5*%HePz=ltJ#djI>*+wtvbgZtoBJ>`$wb*{AnAR?^mN-2eDn#eh0W~7w5 ze5%Urc6;2w_iv9el2RhZ$g(VyQXYGL4Q@~ diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_purple.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_purple.png new file mode 100644 index 0000000000000000000000000000000000000000..0de120b9e48eb8a08c7eca0d481451404561ba9d GIT binary patch literal 670 zcmV;P0%84$P)^mez0+4RoDHL|nb+z$qtsix|yuBxwFmd(`0x58-@yNjU@o)YAXahKJ3!!H2Jyr z6~(Z&xrAVtudm>P#fRPKNMxwEeF6Z63W-c|edbj(gy7;jl?o~;H|lRtRl3fC9PSIH z0v|#Fj4GnVpdzNQHj<)}5!fe;)PX`dN!eDI&>s>pcfP>*h1nn*e;@`vAa!-Df-4Xg^=Q4Zx4i$7nakj7H$}$t%as z`QLN^K95#{R;S5MdyB+Ou-@L5|tE!i9O=I$NOSG41-JuB*jP?XJ5o1^qm<=(J&cx z;BXIQLX`i8MW%!@g`kAcAHjSwMy4>m%#W5^L{Qc8O&A?1be+Wqn`M_T0h-IWs1vFh zOHld*9BqQPtTq+_xHkPF&N)E96M|!P;~s$nW~Y~rNVSxg;=B%Atlj~NbDr0Mv(;O_ z*(1pjFQqZY7-Nhv#`u3x{yE#j1gh6otQgcNdF_h5|(IiYB{BLy2e+4NZ6t1PMO^5(NQI z#5+VzT%-wggp>l}$X?6FGnXQ}o3UkrGNxmXw9@R{(YGGZR0LZns=`XIW@b#iXRp`81F!PD*{*ulA`(R;J^Fb@=^Ox$yIlZ|heH4+(d8QB|Xqkiv!JI;!lfucIP!a;)Q-D({MdRD>iL(I!7>sh@h(Rhp=wc8lRc5m?jB|FZzV4Hd_$A z0u%3XX6zmu0Pr@@Ib530Zsij%^L&n^h{RiQ=mVQebRPP^lVv_oC0g}TYSE%aixw^Z pU&KFWD?IOZSGtF<|BC#__zg08GpEFbAJYH;002ovPDHLkV1h%y3-tg1 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_side.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_side.png index 498a1c7135393b3041b8639b42ba1384d73b9b4d..395db6d38ade21c1c34edc9b9d9550e11b967e19 100644 GIT binary patch delta 382 zcmV-^0fGLZ1E~X$G=E@8L_t(IjdhYiZ(1=Bgg<)?MpUT~B0;%SIaT@bReo3K;RSe+ zkZt_j16pH0)IC|_(d_KbnvXvp2%`l*Bfn}zt8NpJ7SE?>->FY7zP}GF{Xkd zLQ09t)!k5o;{~BEojFrIZ4IRZxYdX#&7GSG!qjAAj(a(p^B+^j%7+u38cA zeZ{q@1;{y9k}(Dmsg|`Civ`A*%I!v&cWOt`2I{QEfZGz4tlQ2x6GG_7A%rTt`MIeM zU2ErXICO482&~s@#&PWM*ZphVg=;_Ff4_G`y@QwC%Y4#%Dgevn5`fRYpTI57>-9=X z3GY4QI8sW%Id_M1j;9|_RmiooiwMp+M1&Y)&04c>)9H4g^Q=~@2di+45bnnVvlx|N zt;JeP&bcFNwGOoD!yQc1ROg>BtdvsYRR>*+F~*vCdq^P!M1)dG74BkG@PBtO3`2+S cpZB%FKN6+am5Ro*p#T5?07*qoM6N<$g0mgGKmY&$ delta 374 zcmV-+0g3*p1EB+uG=Er0L_t(IjeU~MZsRZvgg;8M4dl28dRX-RA7GK^3KAS20%)wzZ62)<;QXC_2d8mt$#Jl3^PMSc637sOw)vj zU}oR>pG_h{jImSp7={56q1M`aI)KyLf^2iO*3JxIUDy7d093Uj`hcqb`gh=3>-SBr z*DL4q`Ke5*%HePz=ltJ#djI>*+wtvbgZtoBJ>`$wb*{AnAR?^mN-2eDn#eh0W~7w5 ze5%Urc6;2w_iv9el2RhZ$g(VyQXYGL4Q@~ diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_yellow.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_control_yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..6aae1c7a5c5e00c782ad7331c06f46baf7e04cbe GIT binary patch literal 594 zcmV-Y0+JB?)0opWFoGw1Q{dFRc!Z^rC@TKCR*%Fy2* zaBKZ4v-soD-Kl4fw>zeE@C68m1INktG0leXuy+W+o848S$n*1e%y8iNb}~i;wt7cM z0DDhvW_$``=Bk?u0BAOZ){^l4_h*T4hA}t>MDYsSC6YI1C zP<{Ua1R#o%f}1;i+S`4i$Y;+|e(XFCItOfY4++E&Yrbj`!5C9XhMFB+=`-F&OTTsOT0T?^w*Qs)E z^MH0IIgrwvLoRBg+von)`985o3NED&c<)hFj4|x)JgTmyMvWRZYSj2IvGCFPynB72 gpTqgTA}<+#0nFkV=hhqT@&Et;07*qoM6N<$f_h#HF8}}l literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_cooler_cover_side.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_cooler_cover_side.png new file mode 100644 index 0000000000000000000000000000000000000000..32a71f4fe6eb42cca5d887c7e0f7dd0e085b7e8e GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf>6g7WoLikXBeHD4<(CXH>puTn zIqkny*lCunXMRO66zF%TB=s;{iJE!D(*KPl?Cof!Mp kGjHpD&id;8zJH3iWW4p9QbzOJKhL<1_eRDK?cc*dc^GJ4sa* zgJ7GaFr&x`S(}|oulfFe7|qr5!{e9pmP^8UOXj@g{o@UQc|M|bj#3JM5JFtbex8pQ zQvxtf1DRYN?(ZMPNiLm?~A_g&n7la11x1nfY6juyB$c`e@fWvKyoqwpR{hvfw+~NRTn}C zn-1!_UhOaL!U~X?Pi>78$VB`P*002ovPDHLkV1j=Vka7S3 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_cooler_glass_side.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_cooler_glass_side.png new file mode 100644 index 0000000000000000000000000000000000000000..e53a1eae893492947382c5d565f24c4ed0cebd89 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfgTe~DWM4f_PsE4 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_cooler_glass_top.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_cooler_glass_top.png new file mode 100644 index 0000000000000000000000000000000000000000..8d25fd39a2375a838c78e339bb818796cf7a9a32 GIT binary patch literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfwmZ?l0w>wLkvtA*oQc<(4KO>5uK z?(!R_m04)6RevDg5Y(*wD1oma^4$%Fo|$u}n4T^SY%5!`Ch~UNeZH0z4o4E-3cJWK z81!w=ZM;#$(INW(?Jm2yjRIHK#jag`wmMecgW>)alj%z$#2!o*YLLH{*|7Dzj)Nq7 zhs6}Bm^<&+O_AEqJ!AuSXr({dcLs%#P-tVt;nZ$u7Eojhofjzo1TU Rrzy}w44$rjF6*2UngCQ-Y_9+S literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_cooler_side.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_cooler_side.png index 042112893177208cab5b7c74fa9b8ec0f119b9ca..049df5f31d9719750a90393434492b2c999ba5db 100644 GIT binary patch delta 321 zcmV-H0lxl*1MC8jG=C#WL_t(IjfIoJjlwVxMV}KxL;))*2oeRXsE7hM55=?ORkR4;QOFTEn_MiXXIBNg3?=SU*x~@5$PRwRA-c{2y0IWV&T)(fJ z&u27%QVM{@V!>{=dn*92UatY@`yOBrNYfO6>2%8Ba2OR3hky6`{V5=7)>?|92oAp5 zpG+qBO%s5};}O^z<6y1*8$n7bMOl`k5thp(epBtMCP@-y&~=?V>jcD(F(%5u7~|Z+ zF9WHzZU5~mmjSdMQj2R1!}vrs#$dDA1Z(Zv%CaoVK(Yr6B#+kGF@TVR9|NA;5_moi zQGLDamyFLf^*T4LwNVCno(B$sG2U*sC|b@e>R(; zs)P^#2mq>zhzz#AaWFGtjN=FZS(YIp?DzYx5thp(Aq1MHc?y`>ATq_EZCgZSh%hh! zsOx%?LC>m(7+#m|_xsyl`^UY@k!$GA*IS!nuwJiG)u-TpTT=`|2)O&0fry~0WLY*a zfH8;H7-lwb3slgRqgQ|T_;pkjGaEOtcVT9e3>J$8z_>{6PTRJ)`y_*=X~^?@xPnx> t%FmZGF-DHZEZwY002ovPDHLkV1gR?pnm`W diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_cover_side.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_cover_side.png index a7b8fc502215eaf57653ce9bc723aae541d4da75..29deb50b07cb6678583afbd64b8658d0667d8121 100644 GIT binary patch delta 160 zcmV;R0AK&m0n7oAG=GChL_t(IjqQ%h3c@fDMUT?WK>)kLZwmx*qp~{QHwvNTI8@l^3OMFk$&g^aIQr}FpD_Xa=D(^`M~{g zBc&Pd136~^M1+3m*p@W!0|54FOKE;LiO82Lf1?&D_lcRZUKv4QE6J+> O0000udZl(9nMp*Ts+bwAHADmv0l?iU zr62&AiK?Qi)LLofleU|6n-OSihxCMGi?l-zj8F1?x|9EZ^tOBba?(-?CoNZ(*PQ!aIceE! z*8o^sV~jzh#oC&~anD6F;p6ii?>m}iLI?o>V+@<^nz5dyaDNCP<{Bkf^D2e!A07d? zyS<48K!l&3UjSGw7qP*(elH5G=F^DHjc3!6V1Ug_$-9GA-lV+?KEA|iwkxZQ4e z@9DaZ)9Hk@761_;rG)pM5CRsUX&O`&V+<)J093VhvevH7+kdvLdM(g24cqOO-EK$D z8Dq@qyVhE!X=1)`>HD6(?-3Dl&Z~<}(^TCUgNXbTNGV~hWgJIJUcL+vV?18Xg+$}~+J4u@Y1JaRHkQ(a^&V2oM$9Am8AAEW4HJh;rSDgF<*AtQlD`#>qSpWb407*qoM6N<$ Ef-oh=zW@LL diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_glass_side.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_glass_side.png new file mode 100644 index 0000000000000000000000000000000000000000..e53a1eae893492947382c5d565f24c4ed0cebd89 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfgTe~DWM4f_PsE4 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_glass_top.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_glass_top.png new file mode 100644 index 0000000000000000000000000000000000000000..9b2d75a18fd8cb6682a78b297a438e459bc43dd7 GIT binary patch literal 215 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfZVGpJ9p`kZUArE4}}@ac1ynd&AnVcVpHyUGsj}) z2l_0A=h9ZhWt;bz8^`dUyR)Fp)yB_Mq+w3Ei;d;`_)Zra27Sv&qpv0B&N2dB#^CAd K=d#Wzp$PzaL`y;d literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_mod_cover_side.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_mod_cover_side.png new file mode 100644 index 0000000000000000000000000000000000000000..29deb50b07cb6678583afbd64b8658d0667d8121 GIT binary patch literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf0q7%$Dg4E-iI0ZcHG%R95qyz|6#?fS)Hn%_HTZiH_qKt!nO5(EC)Jj+2uP)g}DN7wB! z&vM-yC#gPLi=sGecN-89viu1E@c3{Kr4&}{CC2Uqt!$u_!t={30AM!t`y23N4y6>j zZr^)0!>k{0L7b%UTnDqMk2p!s1dEdtv#Afybr6J+9$+ns;!xG47Ra33%0~Z!JUStS zt!uOke4U1rEliiV$;?~-!U6lt9I!4X2PPj}qg`O1IT3_Wj{_n?5JtK=2&3OQkVjp{ z?gUj`LJ0dZ2YvCrR^>3)=K3B7ytd~$@LUJ;EbrOL`5!r85qTO5dWtf?KjUDvUiPfv c`(HTt1hAbsBUH7NumAu607*qoM6N<$g6;adV*mgE literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_mod_glass_side.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_mod_glass_side.png new file mode 100644 index 0000000000000000000000000000000000000000..e53a1eae893492947382c5d565f24c4ed0cebd89 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfgTe~DWM4f_PsE4 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_mod_glass_top.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_mod_glass_top.png new file mode 100644 index 0000000000000000000000000000000000000000..9b2d75a18fd8cb6682a78b297a438e459bc43dd7 GIT binary patch literal 215 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfZVGpJ9p`kZUArE4}}@ac1ynd&AnVcVpHyUGsj}) z2l_0A=h9ZhWt;bz8^`dUyR)Fp)yB_Mq+w3Ei;d;`_)Zra27Sv&qpv0B&N2dB#^CAd K=d#Wzp$PzaL`y;d literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_mod_side.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_mod_side.png index 498a1c7135393b3041b8639b42ba1384d73b9b4d..395db6d38ade21c1c34edc9b9d9550e11b967e19 100644 GIT binary patch delta 382 zcmV-^0fGLZ1E~X$G=E@8L_t(IjdhYiZ(1=Bgg<)?MpUT~B0;%SIaT@bReo3K;RSe+ zkZt_j16pH0)IC|_(d_KbnvXvp2%`l*Bfn}zt8NpJ7SE?>->FY7zP}GF{Xkd zLQ09t)!k5o;{~BEojFrIZ4IRZxYdX#&7GSG!qjAAj(a(p^B+^j%7+u38cA zeZ{q@1;{y9k}(Dmsg|`Civ`A*%I!v&cWOt`2I{QEfZGz4tlQ2x6GG_7A%rTt`MIeM zU2ErXICO482&~s@#&PWM*ZphVg=;_Ff4_G`y@QwC%Y4#%Dgevn5`fRYpTI57>-9=X z3GY4QI8sW%Id_M1j;9|_RmiooiwMp+M1&Y)&04c>)9H4g^Q=~@2di+45bnnVvlx|N zt;JeP&bcFNwGOoD!yQc1ROg>BtdvsYRR>*+F~*vCdq^P!M1)dG74BkG@PBtO3`2+S cpZB%FKN6+am5Ro*p#T5?07*qoM6N<$g0mgGKmY&$ delta 374 zcmV-+0g3*p1EB+uG=Er0L_t(IjeU~MZsRZvgg;8M4dl28dRX-RA7GK^3KAS20%)wzZ62)<;QXC_2d8mt$#Jl3^PMSc637sOw)vj zU}oR>pG_h{jImSp7={56q1M`aI)KyLf^2iO*3JxIUDy7d093Uj`hcqb`gh=3>-SBr z*DL4q`Ke5*%HePz=ltJ#djI>*+wtvbgZtoBJ>`$wb*{AnAR?^mN-2eDn#eh0W~7w5 ze5%Urc6;2w_iv9el2RhZ$g(VyQXYGL4Q@~ diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_reasim_cover_side.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_reasim_cover_side.png new file mode 100644 index 0000000000000000000000000000000000000000..29deb50b07cb6678583afbd64b8658d0667d8121 GIT binary patch literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf0q7%$Dg4E-iI0ZcHG%R95qyz|6#?fS)Hn%_HTZivlx$l*emd$nzfVDNo z7(`mEtvMX`Tr?9tKHu@aqiH6D5CAa7u-UE|>uCyy5Mr)Tf;F#F`1$?;fSbG9SO7%$ zTH<||HK@`%YF>inM~Qxe%1Mhp z{Sa}aDgjxYh-36GK2V)g`9cVp4^n?gTe~DWM4f_PsE4 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_reasim_glass_top.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_reasim_glass_top.png new file mode 100644 index 0000000000000000000000000000000000000000..9b2d75a18fd8cb6682a78b297a438e459bc43dd7 GIT binary patch literal 215 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfZVGpJ9p`kZUArE4}}@ac1ynd&AnVcVpHyUGsj}) z2l_0A=h9ZhWt;bz8^`dUyR)Fp)yB_Mq+w3Ei;d;`_)Zra27Sv&qpv0B&N2dB#^CAd K=d#Wzp$PzaL`y;d literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_reasim_mod_cover_side.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_reasim_mod_cover_side.png new file mode 100644 index 0000000000000000000000000000000000000000..29deb50b07cb6678583afbd64b8658d0667d8121 GIT binary patch literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf0q7%$Dg4E-iI0ZcHG%R95qyz|6#?fS)Hn%_HTZiYU6or2v`Fd zN~a7R>PvKSFSH`XR^5`jmB1bApyzU<_0QmekQ>f9_niEGU+wAPaa-t|T~X+qgZ)E( z$~Ov~GhfUA@Vq8UDYVY9}aXE1LkQ&Q@_$-NdkW@HON)Znd+Z+#)-#O5g zf6agApeo+`suJ$nQeWXf)()bOAPULGlZu^^|CR$0QKpHYtM$@yAdKwfV6|RWtdaL$ aICuk^QX|(RKg`|$0000gTe~DWM4f_PsE4 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_reasim_mod_glass_top.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_reasim_mod_glass_top.png new file mode 100644 index 0000000000000000000000000000000000000000..9b2d75a18fd8cb6682a78b297a438e459bc43dd7 GIT binary patch literal 215 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfZVGpJ9p`kZUArE4}}@ac1ynd&AnVcVpHyUGsj}) z2l_0A=h9ZhWt;bz8^`dUyR)Fp)yB_Mq+w3Ei;d;`_)Zra27Sv&qpv0B&N2dB#^CAd K=d#Wzp$PzaL`y;d literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_reasim_mod_side.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_reasim_mod_side.png index 498a1c7135393b3041b8639b42ba1384d73b9b4d..395db6d38ade21c1c34edc9b9d9550e11b967e19 100644 GIT binary patch delta 382 zcmV-^0fGLZ1E~X$G=E@8L_t(IjdhYiZ(1=Bgg<)?MpUT~B0;%SIaT@bReo3K;RSe+ zkZt_j16pH0)IC|_(d_KbnvXvp2%`l*Bfn}zt8NpJ7SE?>->FY7zP}GF{Xkd zLQ09t)!k5o;{~BEojFrIZ4IRZxYdX#&7GSG!qjAAj(a(p^B+^j%7+u38cA zeZ{q@1;{y9k}(Dmsg|`Civ`A*%I!v&cWOt`2I{QEfZGz4tlQ2x6GG_7A%rTt`MIeM zU2ErXICO482&~s@#&PWM*ZphVg=;_Ff4_G`y@QwC%Y4#%Dgevn5`fRYpTI57>-9=X z3GY4QI8sW%Id_M1j;9|_RmiooiwMp+M1&Y)&04c>)9H4g^Q=~@2di+45bnnVvlx|N zt;JeP&bcFNwGOoD!yQc1ROg>BtdvsYRR>*+F~*vCdq^P!M1)dG74BkG@PBtO3`2+S cpZB%FKN6+am5Ro*p#T5?07*qoM6N<$g0mgGKmY&$ delta 374 zcmV-+0g3*p1EB+uG=Er0L_t(IjeU~MZsRZvgg;8M4dl28dRX-RA7GK^3KAS20%)wzZ62)<;QXC_2d8mt$#Jl3^PMSc637sOw)vj zU}oR>pG_h{jImSp7={56q1M`aI)KyLf^2iO*3JxIUDy7d093Uj`hcqb`gh=3>-SBr z*DL4q`Ke5*%HePz=ltJ#djI>*+wtvbgZtoBJ>`$wb*{AnAR?^mN-2eDn#eh0W~7w5 ze5%Urc6;2w_iv9el2RhZ$g(VyQXYGL4Q@~ diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_reasim_side.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_reasim_side.png index 498a1c7135393b3041b8639b42ba1384d73b9b4d..395db6d38ade21c1c34edc9b9d9550e11b967e19 100644 GIT binary patch delta 382 zcmV-^0fGLZ1E~X$G=E@8L_t(IjdhYiZ(1=Bgg<)?MpUT~B0;%SIaT@bReo3K;RSe+ zkZt_j16pH0)IC|_(d_KbnvXvp2%`l*Bfn}zt8NpJ7SE?>->FY7zP}GF{Xkd zLQ09t)!k5o;{~BEojFrIZ4IRZxYdX#&7GSG!qjAAj(a(p^B+^j%7+u38cA zeZ{q@1;{y9k}(Dmsg|`Civ`A*%I!v&cWOt`2I{QEfZGz4tlQ2x6GG_7A%rTt`MIeM zU2ErXICO482&~s@#&PWM*ZphVg=;_Ff4_G`y@QwC%Y4#%Dgevn5`fRYpTI57>-9=X z3GY4QI8sW%Id_M1j;9|_RmiooiwMp+M1&Y)&04c>)9H4g^Q=~@2di+45bnnVvlx|N zt;JeP&bcFNwGOoD!yQc1ROg>BtdvsYRR>*+F~*vCdq^P!M1)dG74BkG@PBtO3`2+S cpZB%FKN6+am5Ro*p#T5?07*qoM6N<$g0mgGKmY&$ delta 374 zcmV-+0g3*p1EB+uG=Er0L_t(IjeU~MZsRZvgg;8M4dl28dRX-RA7GK^3KAS20%)wzZ62)<;QXC_2d8mt$#Jl3^PMSc637sOw)vj zU}oR>pG_h{jImSp7={56q1M`aI)KyLf^2iO*3JxIUDy7d093Uj`hcqb`gh=3>-SBr z*DL4q`Ke5*%HePz=ltJ#djI>*+wtvbgZtoBJ>`$wb*{AnAR?^mN-2eDn#eh0W~7w5 ze5%Urc6;2w_iv9el2RhZ$g(VyQXYGL4Q@~ diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_side.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_element_side.png index 498a1c7135393b3041b8639b42ba1384d73b9b4d..395db6d38ade21c1c34edc9b9d9550e11b967e19 100644 GIT binary patch delta 382 zcmV-^0fGLZ1E~X$G=E@8L_t(IjdhYiZ(1=Bgg<)?MpUT~B0;%SIaT@bReo3K;RSe+ zkZt_j16pH0)IC|_(d_KbnvXvp2%`l*Bfn}zt8NpJ7SE?>->FY7zP}GF{Xkd zLQ09t)!k5o;{~BEojFrIZ4IRZxYdX#&7GSG!qjAAj(a(p^B+^j%7+u38cA zeZ{q@1;{y9k}(Dmsg|`Civ`A*%I!v&cWOt`2I{QEfZGz4tlQ2x6GG_7A%rTt`MIeM zU2ErXICO482&~s@#&PWM*ZphVg=;_Ff4_G`y@QwC%Y4#%Dgevn5`fRYpTI57>-9=X z3GY4QI8sW%Id_M1j;9|_RmiooiwMp+M1&Y)&04c>)9H4g^Q=~@2di+45bnnVvlx|N zt;JeP&bcFNwGOoD!yQc1ROg>BtdvsYRR>*+F~*vCdq^P!M1)dG74BkG@PBtO3`2+S cpZB%FKN6+am5Ro*p#T5?07*qoM6N<$g0mgGKmY&$ delta 374 zcmV-+0g3*p1EB+uG=Er0L_t(IjeU~MZsRZvgg;8M4dl28dRX-RA7GK^3KAS20%)wzZ62)<;QXC_2d8mt$#Jl3^PMSc637sOw)vj zU}oR>pG_h{jImSp7={56q1M`aI)KyLf^2iO*3JxIUDy7d093Uj`hcqb`gh=3>-SBr z*DL4q`Ke5*%HePz=ltJ#djI>*+wtvbgZtoBJ>`$wb*{AnAR?^mN-2eDn#eh0W~7w5 ze5%Urc6;2w_iv9el2RhZ$g(VyQXYGL4Q@~ diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_heater_cover_side.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_heater_cover_side.png new file mode 100644 index 0000000000000000000000000000000000000000..32a71f4fe6eb42cca5d887c7e0f7dd0e085b7e8e GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf>6g7WoLikXBeHD4<(CXH>puTn zIqkny*lCunXMRO66zF%TB=s;{iJE!D(*KPl?Cof!Mp kGjHpD&id;8zJH3iWW4p9QbzOJK5R{Z$gKOjt6j0Me ziV;HmgeG`5aj{z4iknbGyIDIyh)gw}_4{_d8T;Vv`DGDMO!#%RK@ zM-T)6R8{42`)rIxh!}uLI;LX}{|i@D1+W&_2R23n&;=Us!{a?dL_0kT5jVu7%GLt@ z%|b*B&(5jqx&dpWiA2mK9Xlb{LA&j`uDLuuq@1Rd^BFo{Fj@`hCkaBtC~s>WANCK* zY0A;nE#mr){Cno=_MI^7Z3HZAivZ<(1C>S5u;b6HYgNOr=OzoF^94^g7nDUozQ`fj zz?}x?@&57Z3jVMCTW&)s$q%{7^4Pmd4>gTe~DWM4f_PsE4 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_heater_glass_top.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_heater_glass_top.png new file mode 100644 index 0000000000000000000000000000000000000000..0e1060ce3760e0e2d9e697c9665b4d52ec4a28ef GIT binary patch literal 368 zcmV-$0gwKPP)sXx3!E1jb zKM?Tdy+gKu$&^BH2ipP>8LUMeiW0f5!EWCqPIvF#-8~Y=8-+h2iq^n?2!dd#te?R? zguC4bY6Nk-QNBMSeNT-E;|$IOW>89r2lo=?ev2|o!HXO#jhD*+ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_heater_side.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_heater_side.png index 6b0dc2f302877434e10d3b563d86ae689077ed65..842403f3f3deef57061ad2ff6e9dd16786a40790 100644 GIT binary patch delta 320 zcmV-G0l)t80_y^hG=CyVL_t(Ijct=nZUQk3g+DtPHWeH0e}syoQGvPvlDLcNxn`(0 zi9E^si^tBN=lHsQalKwSoldN^hzL|`Eqd<&m>Fiq@#Dzt`^M#R!Sw;a-RZsK?zGmj zXJ!dJ#sEl?4&>prRx)X?b-#Z;pT7hZO-dpnLEJqrnOTx)?SBAsP5{Oj=~MDsYssem zn}y0Cz=*)z6TGUcq+Y#61QC(aBO(uKRms{*2J*FS+goV+UfQgv@|yBWfNL$xEN4PM z4sbXe5>*zYthJW2Ad9s+z~k}AhQbqL4cN^7yw?osvnf3F_q|G#019Z^wwG}RaN zRg@M~_xnAS>^YzFzkE_bmDgHJ|GG5iWQ@U_GnKtOqn=Nfd++)8)!^z_OUVx#_ubQd SwP0%i0000JYjAf&1Z3`xS}Op6BuHY6f!;e_uNO=ky?2-yYOOFclu`fyW(Jb! zc&&xrdj_ch^02#SB+WJM^DzcU{saJkh&UD_BAu97Iv|Ns%73A-0>E`$Ac?hB<|+B5 z6wEo(ffP$ky05k7f$O@k*2?*QIU-Pv>L?0H4n%B?^)v%1FY@jxQaMOfZ6XzjSYJ{o4+x zwRW^KfGno~??60&-$qijF-F3>m-9b9sX&iJkrY9f)L46(M;Ygw*|vJV%2OQVe9n0& Z`3B4Y_~ClwJq`c>002ovPDHLkV1kVcmAL=_ diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_moderator_cover_side.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_moderator_cover_side.png new file mode 100644 index 0000000000000000000000000000000000000000..29deb50b07cb6678583afbd64b8658d0667d8121 GIT binary patch literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf0q7%$Dg4E-iI0ZcHG%R95qyz|6#?fS)Hn%_HTZi|%r|W~-{SA^d(V>KRhESHYJ+#@eU^mXehUDIaX<(GA_*}LIGvC98JD=;E+}Qf zI4+^80DuqzcKa+{QNXFtT9x!JcpQ=_KSU=b^d*H#=0}pmRu&`8jeT82< z;6W+V46r=7^1#9byf{4%y8mGN2Ua52gVXs~MZ@(I4<1!$3if+Lt%m>r002ovPDHLk FV1l4zeeVDO literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_moderator_glass_side.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_moderator_glass_side.png new file mode 100644 index 0000000000000000000000000000000000000000..e53a1eae893492947382c5d565f24c4ed0cebd89 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfgTe~DWM4f_PsE4 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_moderator_glass_top.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_moderator_glass_top.png new file mode 100644 index 0000000000000000000000000000000000000000..9b2d75a18fd8cb6682a78b297a438e459bc43dd7 GIT binary patch literal 215 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfZVGpJ9p`kZUArE4}}@ac1ynd&AnVcVpHyUGsj}) z2l_0A=h9ZhWt;bz8^`dUyR)Fp)yB_Mq+w3Ei;d;`_)Zra27Sv&qpv0B&N2dB#^CAd K=d#Wzp$PzaL`y;d literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_moderator_side.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_moderator_side.png index c5c84ee0d46b2f49292abba713fe2326c96c3343..c9dd449d62bb30fecd3c77c48cf8514a7ca76fbf 100644 GIT binary patch delta 257 zcmV+c0sj8$0;~d%Gk*Z%NklVXnuPb$o@40ncT@j4+H7Y08G== z%|OBcgb@D6K>YMDIE`@}$8H91A%6WAOK!q25QaZL!U-xC73+vwRvZNN4i(2j5s4EK zzs6l42T(UjN1DaV$p6@%e|7n}ln?>{=kGHyMp89M!kVj z3avG}-Hx2|UxBXcnCF>N3L=71ic-oVR1dv|eJ$FyUBy5tg)!zSAR=h3S2L&!76I=) z#+cO%rfFK{w(onouG_?597pP6d-y!C|JZM0aBPq7KDga(n;5vs;k{=Z#|MK-bS(p| z_4_Z>=2`|KLORa*DWH_1X`0mxQc8=VY*iMK)eLI==7TK^>N6G}IOlNA{mTcxN3YfC TN2`dB00000NkvXXu0mjfcYKi} diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_outgasser_cover_side.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_outgasser_cover_side.png new file mode 100644 index 0000000000000000000000000000000000000000..32a71f4fe6eb42cca5d887c7e0f7dd0e085b7e8e GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf>6g7WoLikXBeHD4<(CXH>puTn zIqkny*lCunXMRO66zF%TB=s;{iJE!D(*KPl?Cof!Mp kGjHpD&id;8zJH3iWW4p9QbzOJK4b zcNcpRwTYSy5-f@>yQCH6Nm1-c=FNLE_Q~_ZHDU_Jl<002ovPDHLkV1g`=sx<%r literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_outgasser_glass_side.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_outgasser_glass_side.png new file mode 100644 index 0000000000000000000000000000000000000000..e53a1eae893492947382c5d565f24c4ed0cebd89 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfgTe~DWM4f_PsE4 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_outgasser_glass_top.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_outgasser_glass_top.png new file mode 100644 index 0000000000000000000000000000000000000000..8d25fd39a2375a838c78e339bb818796cf7a9a32 GIT binary patch literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfwmZ?l0w>wLkvtA*oQc<(4KO>5uK z?(!R_m04)6RevDg5Y(*wD1oma^4$%Fo|$u}n4T^SY%5!`Ch~UNeZH0z4o4E-3cJWK z81!w=ZM;#$(INW(?Jm2yjRIHK#jag`wmMecgW>)alj%z$#2!o*YLLH{*|7Dzj)Nq7 zhs6}Bm^<&+O_AEqJ!AuSXr({dcLs%#P-tVt;nZ$u7Eojhofjzo1TU Rrzy}w44$rjF6*2UngCQ-Y_9+S literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_outgasser_side.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_outgasser_side.png index b41a818797d69d650353f762c4845ba59191f8fa..0ec5a81d46d22013ec1db96fec0c1c806bdb95b1 100644 GIT binary patch delta 230 zcmV2C!)~m>UKacEqC^%1MYD%x zVge%3e@Ynmf96f1`cH2sGhvKj7zTV5Md8lNvbb|y)y&_SaU9VAN-09Q) g9mvOkcm}e@A56+-Q|h2gQ~&?~07*qoM6N<$g89Q@?f?J) delta 275 zcmV+u0qp*g0=@!}G=KF;L_t(Ijg^zjjf5}^K%Wx`q7E9M6uO}XdRa|H)WB#@h)?W2 zjKW7Fp{!3j Z2hxFoVuUd9WeflS002ovPDHLkV1gJ)d{F=Z diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_reflector_cover_side.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_reflector_cover_side.png new file mode 100644 index 0000000000000000000000000000000000000000..29deb50b07cb6678583afbd64b8658d0667d8121 GIT binary patch literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf0q7%$Dg4E-iI0ZcHG%R95qyz|6#?fS)Hn%_HTZi|%r|W~-{SA^d(V>KRhESHYJ+#@eU^mXehUDIaX<(GA_*}LIGvC98JD=;E+}Qf zI4+^80DuqzcKa+{QNXFtT9x!JcpQ=_KSU=b^d*H#=0}pmRu&`8jeT82< z;6W+V46r=7^1#9byf{4%y8mGN2Ua52gVXs~MZ@(I4<1!$3if+Lt%m>r002ovPDHLk FV1l4zeeVDO literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_reflector_glass_side.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_reflector_glass_side.png new file mode 100644 index 0000000000000000000000000000000000000000..e53a1eae893492947382c5d565f24c4ed0cebd89 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfgTe~DWM4f_PsE4 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_reflector_glass_top.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_reflector_glass_top.png new file mode 100644 index 0000000000000000000000000000000000000000..9b2d75a18fd8cb6682a78b297a438e459bc43dd7 GIT binary patch literal 215 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfZVGpJ9p`kZUArE4}}@ac1ynd&AnVcVpHyUGsj}) z2l_0A=h9ZhWt;bz8^`dUyR)Fp)yB_Mq+w3Ei;d;`_)Zra27Sv&qpv0B&N2dB#^CAd K=d#Wzp$PzaL`y;d literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_reflector_side.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_reflector_side.png index 7a63bfb1543f15aaa877e8f182f2444fc9929f88..574ff274df1b32daf252dea9131a2d007f52ce0e 100644 GIT binary patch delta 249 zcmV*YE3k>u>aZPt!D1RfVyTCaYC2|lIMC2)$=Q&!iuIn!F z;t`Q3!7vVl5T1f%S)v7Ln(l(hO{i-03cnp}7bDozrasq~$NY$1VN<67s`^<6&b#Oi zUIbZ|MGKN7`Ro&41lw2rTQH16bO+-!qN@A=X02fxfRL0I00000NkvXXu0mjfh*)qC delta 292 zcmV+<0o(qh0?q=EGk*aENkl zGDBc(ujL$=&1Nse=%VX4PjaWvQ@MU!F*ArfFX8?RLv_I^}Y?pojh8BgBCB z9uZ-)*|1uzUhegJO(})8Z4m%f1)ymf&gb*LJA^<=31AS!7=Q8JR|)3xIjTws;VH;D zL4QG03ihW zzDGoyRPH60QdW$m6k?3D)>fZc0Df5jNGbW{`Fv&=1^}jM0${t{`kNRdIpy7AIJH*qO0AW7o*gK?{&-~^$3JBL%gpo4PdK?1=MZ(d(Eb1b002ovPDHLkV1iy3 BzS#f( delta 373 zcmV-*0gC>?1E2$tG=En~L_t(Ijh&L)irg>^hCjC-^qJfBZmYm+(=iG0d;pZ@PG9&YbFWP6}f2Crc*%L2gdcH@4( zPiwD1PZj`LYrz1pZ5!LR{W&N?N{Ld+1XKXlb&b}TS!`afS6XW!-^`*zUII{S4T&Do z7=v0X>$=9Ch;B?H06Zk$@bE5|3&(Lx7hL|-M)$ld3nD@(C0ga4zjsMhzW~MZXZ2m8MNCG%hEJWqZD>6g7WoLikXBeHD4<(CXH>puTn zIqkny*lCunXMRO66zF%TB=s;{iJE!D(*KPl?Cof!Mp kGjHpD&id;8zJH3iWW4p9QbzOJK#L!M?@R|{pm=h zFYoSe5wYw^BjQLY0Zf32YWa-k{88zw?kX#e{&buH#x&Wv>$*+%wrz6?ABG9Abo1V? z9=6v0N_5z?TalW@IL-j2Et71?m}UlCb8wmD01&QdBu%Sl4rQFORC~2rh4OFj0+d(K zI+yKy5g_6aaoC?8za%S;z69uygfL)ClWVMlwcPIuSmndO%j;9#D2M5gTe~DWM4f_PsE4 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_storage_glass_top.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_storage_glass_top.png new file mode 100644 index 0000000000000000000000000000000000000000..8d25fd39a2375a838c78e339bb818796cf7a9a32 GIT binary patch literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfwmZ?l0w>wLkvtA*oQc<(4KO>5uK z?(!R_m04)6RevDg5Y(*wD1oma^4$%Fo|$u}n4T^SY%5!`Ch~UNeZH0z4o4E-3cJWK z81!w=ZM;#$(INW(?Jm2yjRIHK#jag`wmMecgW>)alj%z$#2!o*YLLH{*|7Dzj)Nq7 zhs6}Bm^<&+O_AEqJ!AuSXr({dcLs%#P-tVt;nZ$u7Eojhofjzo1TU Rrzy}w44$rjF6*2UngCQ-Y_9+S literal 0 HcmV?d00001