From 8318469975b6701a8b7fa5cdf349bc4bdf226067 Mon Sep 17 00:00:00 2001 From: BuildTools Date: Mon, 30 Jan 2023 20:51:57 +0200 Subject: [PATCH 1/2] Added fracking tower. Added the polluted and dead stuff because of the fracking tower. Added the bedrock oil deposit. There oily and dead dirt above the deposits on ground. Took some duplicate code from the oil drillers and made a class that has that, so no duplicate code (mostly, because then the 1.7.10 and 1.12.2 code look more similiar and my brain does not explode). Yes I know that I should have done multiple commits, but I learned about this commit thing only after I googled how to do pull requests when I had already done everything. --- .../java/com/hbm/blocks/BlockDummyable.java | 234 +- src/main/java/com/hbm/blocks/ModBlocks.java | 101 +- .../hbm/blocks/generic/BlockDeadPlant.java | 80 + .../hbm/blocks/machine/DummyBlockFlare.java | 2 +- .../blocks/machine/DummyBlockPumpjack.java | 2 +- .../blocks/machine/DummyBlockRefinery.java | 2 +- .../hbm/blocks/machine/DummyBlockWell.java | 2 +- .../blocks/machine/MachineFrackingTower.java | 164 + .../blocks/machine/MachineFractionTower.java | 2 +- .../hbm/blocks/machine/MachineGasFlare.java | 2 +- .../hbm/blocks/machine/MachineOilWell.java | 2 +- .../hbm/blocks/machine/MachinePumpjack.java | 2 +- .../hbm/blocks/machine/MachineRefinery.java | 2 +- .../java/com/hbm/config/GeneralConfig.java | 2 + src/main/java/com/hbm/config/WorldConfig.java | 7 +- .../com/hbm/forgefluid/FluidTypeHandler.java | 2 + .../com/hbm/forgefluid/ModForgeFluids.java | 7 + .../forgefluid/SpecialContainerFillLists.java | 1 + src/main/java/com/hbm/handler/GuiHandler.java | 15 +- .../com/hbm/handler/MultiblockHandlerXR.java | 68 +- .../com/hbm/inventory/AssemblerRecipes.java | 1 + .../com/hbm/inventory/MachineRecipes.java | 7 + .../com/hbm/inventory/OreDictManager.java | 1 + .../com/hbm/inventory/ShredderRecipes.java | 7 + .../ContainerMachineFrackingTower.java | 133 + .../container/ContainerMachineGasFlare.java | 2 +- .../container/ContainerMachineOilWell.java | 2 +- .../container/ContainerMachinePumpjack.java | 2 +- .../container/ContainerMachineRefinery.java | 2 +- .../gui/GUIMachineFrackingTower.java | 73 + .../hbm/inventory/gui/GUIMachineGasFlare.java | 2 +- .../hbm/inventory/gui/GUIMachineOilWell.java | 2 +- .../hbm/inventory/gui/GUIMachinePumpjack.java | 2 +- .../hbm/inventory/gui/GUIMachineRefinery.java | 2 +- src/main/java/com/hbm/items/ModItems.java | 5 +- .../items/machine/ItemChemistryTemplate.java | 8 +- src/main/java/com/hbm/lib/HbmWorldGen.java | 24 + src/main/java/com/hbm/main/ClientProxy.java | 12 +- .../java/com/hbm/main/CraftingManager.java | 1 + src/main/java/com/hbm/main/MainRegistry.java | 7 +- .../com/hbm/main/ModEventHandlerClient.java | 3 + .../java/com/hbm/main/ResourceManager.java | 17 +- .../java/com/hbm/packet/TEPumpjackPacket.java | 2 +- .../hbm/render/item/ItemRenderLibrary.java | 12 + .../hbm/render/tileentity/RenderDerrick.java | 2 +- .../tileentity/RenderFrackingTower.java | 53 + .../tileentity/RenderFractionTower.java | 2 +- .../hbm/render/tileentity/RenderGasFlare.java | 2 +- .../hbm/render/tileentity/RenderPumpjack.java | 2 +- .../hbm/render/tileentity/RenderRefinery.java | 2 +- .../oil/TileEntityMachineFrackingTower.java | 323 ++ .../TileEntityMachineFractionTower.java | 2 +- .../{ => oil}/TileEntityMachineGasFlare.java | 2 +- .../{ => oil}/TileEntityMachineOilWell.java | 226 +- .../{ => oil}/TileEntityMachinePumpjack.java | 245 +- .../{ => oil}/TileEntityMachineRefinery.java | 2 +- .../machine/oil/TileEntityOilDrillBase.java | 244 ++ .../java/com/hbm/world/feature/OilSpot.java | 79 + .../assets/hbm/blockstates/dirt_dead.json | 5 + .../assets/hbm/blockstates/dirt_oily.json | 12 + .../hbm/blockstates/fluid_duct_neo.json | 6 + .../blockstates/machine_fracking_tower.json | 5 + .../hbm/blockstates/ore_bedrock_oil.json | 5 + .../blockstates/plant_dead_big_flower.json | 5 + .../hbm/blockstates/plant_dead_fern.json | 5 + .../hbm/blockstates/plant_dead_flower.json | 5 + .../hbm/blockstates/plant_dead_generic.json | 5 + .../hbm/blockstates/plant_dead_grass.json | 5 + .../assets/hbm/blockstates/sand_dirty.json | 5 + .../hbm/blockstates/sand_dirty_red.json | 5 + .../assets/hbm/blockstates/stone_cracked.json | 5 + .../resources/assets/hbm/lang/_template.lang | 21 +- src/main/resources/assets/hbm/lang/de_de.lang | 16 + src/main/resources/assets/hbm/lang/en_nt.lang | 1 + src/main/resources/assets/hbm/lang/en_us.lang | 23 +- src/main/resources/assets/hbm/lang/ru_ru.lang | 23 + src/main/resources/assets/hbm/lang/te_st.lang | 2667 +++++++++++++- src/main/resources/assets/hbm/lang/zh_cn.lang | 23 +- .../assets/hbm/models/block/dirt_dead.json | 6 + .../assets/hbm/models/block/dirt_oily.json | 6 + .../hbm/models/block/dirt_oily_alt.json | 6 + .../hbm/models/block/fluid_duct_neo.json | 6 + .../models/block/machine_fracking_tower.json | 6 + .../hbm/models/block/ore_bedrock_oil.json | 6 + .../models/block/plant_dead_big_flower.json | 6 + .../hbm/models/block/plant_dead_fern.json | 6 + .../hbm/models/block/plant_dead_flower.json | 6 + .../hbm/models/block/plant_dead_generic.json | 6 + .../hbm/models/block/plant_dead_grass.json | 6 + .../assets/hbm/models/block/sand_dirty.json | 6 + .../hbm/models/block/sand_dirty_red.json | 6 + .../hbm/models/block/stone_cracked.json | 6 + .../assets/hbm/models/blocks/pipe_neo.obj | 664 ++++ .../assets/hbm/models/fracking_tower.obj | 3073 +++++++++++++++++ .../hbm/models/item/canister_fracksol.json | 6 + .../hbm/models/item/chem_icon_fracksol.json | 6 + .../assets/hbm/models/item/dirt_dead.json | 3 + .../assets/hbm/models/item/dirt_oily.json | 3 + .../models/item/machine_fracking_tower.json | 6 + .../hbm/models/item/ore_bedrock_oil.json | 3 + .../models/item/plant_dead_big_flower.json | 6 + .../hbm/models/item/plant_dead_fern.json | 6 + .../hbm/models/item/plant_dead_flower.json | 6 + .../hbm/models/item/plant_dead_generic.json | 6 + .../hbm/models/item/plant_dead_grass.json | 6 + .../assets/hbm/models/item/sand_dirty.json | 3 + .../hbm/models/item/sand_dirty_red.json | 3 + .../assets/hbm/models/item/scrap_oil.json | 6 + .../assets/hbm/models/item/stone_cracked.json | 3 + .../assets/hbm/textures/blocks/dead_leaf.png | Bin 0 -> 154 bytes .../assets/hbm/textures/blocks/dirt_dead.png | Bin 0 -> 897 bytes .../assets/hbm/textures/blocks/dirt_oily.png | Bin 0 -> 924 bytes .../hbm/textures/blocks/dirt_oily_alt.png | Bin 0 -> 846 bytes .../blocks/forgefluid/fracksol_flowing.png | Bin 0 -> 808 bytes .../blocks/forgefluid/fracksol_still.png | Bin 0 -> 808 bytes .../blocks/machine_fracking_tower.png | Bin 0 -> 308 bytes .../assets/hbm/textures/blocks/pipe_neo.png | Bin 0 -> 246 bytes .../hbm/textures/blocks/pipe_neo_overlay.png | Bin 0 -> 98 bytes .../textures/blocks/plant_dead_big_flower.png | Bin 0 -> 243 bytes .../hbm/textures/blocks/plant_dead_fern.png | Bin 0 -> 219 bytes .../hbm/textures/blocks/plant_dead_flower.png | Bin 0 -> 224 bytes .../textures/blocks/plant_dead_generic.png | Bin 0 -> 198 bytes .../hbm/textures/blocks/plant_dead_grass.png | Bin 0 -> 196 bytes .../assets/hbm/textures/blocks/sand_dirty.png | Bin 0 -> 836 bytes .../hbm/textures/blocks/sand_dirty_red.png | Bin 0 -> 752 bytes .../hbm/textures/blocks/stone_cracked.png | Bin 0 -> 753 bytes .../hbm/textures/gui/gui_fracking_tower.png | Bin 0 -> 9943 bytes .../hbm/textures/items/canister_fracksol.png | Bin 0 -> 491 bytes .../hbm/textures/items/chem_icon_fracksol.png | Bin 0 -> 442 bytes .../assets/hbm/textures/items/scrap_oil.png | Bin 0 -> 611 bytes .../hbm/textures/models/fracking_tower.png | Bin 0 -> 6667 bytes .../hbm/textures/models/tank_fracksol.png | Bin 0 -> 960 bytes 132 files changed, 8234 insertions(+), 720 deletions(-) create mode 100644 src/main/java/com/hbm/blocks/generic/BlockDeadPlant.java create mode 100644 src/main/java/com/hbm/blocks/machine/MachineFrackingTower.java create mode 100644 src/main/java/com/hbm/inventory/container/ContainerMachineFrackingTower.java create mode 100644 src/main/java/com/hbm/inventory/gui/GUIMachineFrackingTower.java create mode 100644 src/main/java/com/hbm/render/tileentity/RenderFrackingTower.java create mode 100644 src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineFrackingTower.java rename src/main/java/com/hbm/tileentity/machine/{ => oil}/TileEntityMachineFractionTower.java (99%) rename src/main/java/com/hbm/tileentity/machine/{ => oil}/TileEntityMachineGasFlare.java (99%) rename src/main/java/com/hbm/tileentity/machine/{ => oil}/TileEntityMachineOilWell.java (50%) rename src/main/java/com/hbm/tileentity/machine/{ => oil}/TileEntityMachinePumpjack.java (55%) rename src/main/java/com/hbm/tileentity/machine/{ => oil}/TileEntityMachineRefinery.java (99%) create mode 100644 src/main/java/com/hbm/tileentity/machine/oil/TileEntityOilDrillBase.java create mode 100644 src/main/java/com/hbm/world/feature/OilSpot.java create mode 100644 src/main/resources/assets/hbm/blockstates/dirt_dead.json create mode 100644 src/main/resources/assets/hbm/blockstates/dirt_oily.json create mode 100644 src/main/resources/assets/hbm/blockstates/fluid_duct_neo.json create mode 100644 src/main/resources/assets/hbm/blockstates/machine_fracking_tower.json create mode 100644 src/main/resources/assets/hbm/blockstates/ore_bedrock_oil.json create mode 100644 src/main/resources/assets/hbm/blockstates/plant_dead_big_flower.json create mode 100644 src/main/resources/assets/hbm/blockstates/plant_dead_fern.json create mode 100644 src/main/resources/assets/hbm/blockstates/plant_dead_flower.json create mode 100644 src/main/resources/assets/hbm/blockstates/plant_dead_generic.json create mode 100644 src/main/resources/assets/hbm/blockstates/plant_dead_grass.json create mode 100644 src/main/resources/assets/hbm/blockstates/sand_dirty.json create mode 100644 src/main/resources/assets/hbm/blockstates/sand_dirty_red.json create mode 100644 src/main/resources/assets/hbm/blockstates/stone_cracked.json create mode 100644 src/main/resources/assets/hbm/models/block/dirt_dead.json create mode 100644 src/main/resources/assets/hbm/models/block/dirt_oily.json create mode 100644 src/main/resources/assets/hbm/models/block/dirt_oily_alt.json create mode 100644 src/main/resources/assets/hbm/models/block/fluid_duct_neo.json create mode 100644 src/main/resources/assets/hbm/models/block/machine_fracking_tower.json create mode 100644 src/main/resources/assets/hbm/models/block/ore_bedrock_oil.json create mode 100644 src/main/resources/assets/hbm/models/block/plant_dead_big_flower.json create mode 100644 src/main/resources/assets/hbm/models/block/plant_dead_fern.json create mode 100644 src/main/resources/assets/hbm/models/block/plant_dead_flower.json create mode 100644 src/main/resources/assets/hbm/models/block/plant_dead_generic.json create mode 100644 src/main/resources/assets/hbm/models/block/plant_dead_grass.json create mode 100644 src/main/resources/assets/hbm/models/block/sand_dirty.json create mode 100644 src/main/resources/assets/hbm/models/block/sand_dirty_red.json create mode 100644 src/main/resources/assets/hbm/models/block/stone_cracked.json create mode 100644 src/main/resources/assets/hbm/models/blocks/pipe_neo.obj create mode 100644 src/main/resources/assets/hbm/models/fracking_tower.obj create mode 100644 src/main/resources/assets/hbm/models/item/canister_fracksol.json create mode 100644 src/main/resources/assets/hbm/models/item/chem_icon_fracksol.json create mode 100644 src/main/resources/assets/hbm/models/item/dirt_dead.json create mode 100644 src/main/resources/assets/hbm/models/item/dirt_oily.json create mode 100644 src/main/resources/assets/hbm/models/item/machine_fracking_tower.json create mode 100644 src/main/resources/assets/hbm/models/item/ore_bedrock_oil.json create mode 100644 src/main/resources/assets/hbm/models/item/plant_dead_big_flower.json create mode 100644 src/main/resources/assets/hbm/models/item/plant_dead_fern.json create mode 100644 src/main/resources/assets/hbm/models/item/plant_dead_flower.json create mode 100644 src/main/resources/assets/hbm/models/item/plant_dead_generic.json create mode 100644 src/main/resources/assets/hbm/models/item/plant_dead_grass.json create mode 100644 src/main/resources/assets/hbm/models/item/sand_dirty.json create mode 100644 src/main/resources/assets/hbm/models/item/sand_dirty_red.json create mode 100644 src/main/resources/assets/hbm/models/item/scrap_oil.json create mode 100644 src/main/resources/assets/hbm/models/item/stone_cracked.json create mode 100644 src/main/resources/assets/hbm/textures/blocks/dead_leaf.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/dirt_dead.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/dirt_oily.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/dirt_oily_alt.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/forgefluid/fracksol_flowing.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/forgefluid/fracksol_still.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/machine_fracking_tower.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/pipe_neo.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/pipe_neo_overlay.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/plant_dead_big_flower.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/plant_dead_fern.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/plant_dead_flower.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/plant_dead_generic.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/plant_dead_grass.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/sand_dirty.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/sand_dirty_red.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/stone_cracked.png create mode 100644 src/main/resources/assets/hbm/textures/gui/gui_fracking_tower.png create mode 100644 src/main/resources/assets/hbm/textures/items/canister_fracksol.png create mode 100644 src/main/resources/assets/hbm/textures/items/chem_icon_fracksol.png create mode 100644 src/main/resources/assets/hbm/textures/items/scrap_oil.png create mode 100644 src/main/resources/assets/hbm/textures/models/fracking_tower.png create mode 100644 src/main/resources/assets/hbm/textures/models/tank_fracksol.png diff --git a/src/main/java/com/hbm/blocks/BlockDummyable.java b/src/main/java/com/hbm/blocks/BlockDummyable.java index 619f9e8136..dd9ec04554 100644 --- a/src/main/java/com/hbm/blocks/BlockDummyable.java +++ b/src/main/java/com/hbm/blocks/BlockDummyable.java @@ -33,18 +33,18 @@ public abstract class BlockDummyable extends BlockContainer { //Drillgon200: I'm far to lazy to figure out what all the meta values should be translated to in properties public static final PropertyInteger META = PropertyInteger.create("meta", 0, 15); - + public BlockDummyable(Material materialIn, String s) { super(materialIn); this.setUnlocalizedName(s); this.setRegistryName(s); this.setTickRandomly(true); - + ModBlocks.ALL_BLOCKS.add(this); } - + /// BLOCK METADATA /// - + //0-5 dummy rotation (for dummy neighbor checks) //6-11 extra (6 rotations with flag, for pipe connectors and the like) //12-15 block rotation (for rendering the TE) @@ -53,97 +53,97 @@ public BlockDummyable(Material materialIn, String s) { public static final int offset = 10; //meta offset from dummy to extra rotation public static final int extra = 6; - + public static boolean safeRem = false; - + @Override public void neighborChanged(IBlockState state, World world, BlockPos pos, Block blockIn, BlockPos fromPos) { if(world.isRemote || safeRem) - return; - - int metadata = state.getValue(META); - - //if it's an extra, remove the extra-ness - if(metadata >= extra) - metadata -= extra; - - ForgeDirection dir = ForgeDirection.getOrientation(metadata).getOpposite(); - Block b = world.getBlockState(new BlockPos(pos.getX() + dir.offsetX, pos.getY() + dir.offsetY, pos.getZ() + dir.offsetZ)).getBlock(); - if(b.getClass() != this.getClass()) { - world.setBlockToAir(pos); - } + return; + + int metadata = state.getValue(META); + + //if it's an extra, remove the extra-ness + if(metadata >= extra) + metadata -= extra; + + ForgeDirection dir = ForgeDirection.getOrientation(metadata).getOpposite(); + Block b = world.getBlockState(new BlockPos(pos.getX() + dir.offsetX, pos.getY() + dir.offsetY, pos.getZ() + dir.offsetZ)).getBlock(); + if(b.getClass() != this.getClass()) { + world.setBlockToAir(pos); + } } - + @Override public void updateTick(World world, BlockPos pos, IBlockState state, Random rand) { super.updateTick(world, pos, state, rand); if(world.isRemote) - return; - - int metadata = state.getValue(META); - - //if it's an extra, remove the extra-ness - if(metadata >= extra) - metadata -= extra; - - ForgeDirection dir = ForgeDirection.getOrientation(metadata).getOpposite(); - Block b = world.getBlockState(new BlockPos(pos.getX() + dir.offsetX, pos.getY() + dir.offsetY, pos.getZ() + dir.offsetZ)).getBlock(); - - if(b.getClass() != this.getClass()) { - world.setBlockToAir(pos); - } + return; + + int metadata = state.getValue(META); + + //if it's an extra, remove the extra-ness + if(metadata >= extra) + metadata -= extra; + + ForgeDirection dir = ForgeDirection.getOrientation(metadata).getOpposite(); + Block b = world.getBlockState(new BlockPos(pos.getX() + dir.offsetX, pos.getY() + dir.offsetY, pos.getZ() + dir.offsetZ)).getBlock(); + + if(b.getClass() != this.getClass()) { + world.setBlockToAir(pos); + } } - + public int[] findCore(IBlockAccess world, int x, int y, int z) { - positions.clear(); - return findCoreRec(world, x, y, z); - } - - List positions = new ArrayList(); - public int[] findCoreRec(IBlockAccess world, int x, int y, int z) { - - BlockPos pos = new BlockPos(x, y, z); - IBlockState state = world.getBlockState(pos); - - if(state.getBlock().getClass() != this.getClass()) - return null; - - int metadata = state.getValue(META); - - //if it's an extra, remove the extra-ness - if(metadata >= extra) - metadata -= extra; - - //if the block matches and the orientation is "UNKNOWN", it's the core - if(ForgeDirection.getOrientation(metadata) == ForgeDirection.UNKNOWN) - return new int[] { x, y, z }; - - if(positions.contains(pos)) - return null; - - ForgeDirection dir = ForgeDirection.getOrientation(metadata).getOpposite(); - - positions.add(pos); - - return findCoreRec(world, x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ); - } - - @Override - public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase player, ItemStack itemStack) { - if(!(player instanceof EntityPlayer)) + positions.clear(); + return findCoreRec(world, x, y, z); + } + + List positions = new ArrayList(); + public int[] findCoreRec(IBlockAccess world, int x, int y, int z) { + + BlockPos pos = new BlockPos(x, y, z); + IBlockState state = world.getBlockState(pos); + + if(state.getBlock().getClass() != this.getClass()) + return null; + + int metadata = state.getValue(META); + + //if it's an extra, remove the extra-ness + if(metadata >= extra) + metadata -= extra; + + //if the block matches and the orientation is "UNKNOWN", it's the core + if(ForgeDirection.getOrientation(metadata) == ForgeDirection.UNKNOWN) + return new int[] { x, y, z }; + + if(positions.contains(pos)) + return null; + + ForgeDirection dir = ForgeDirection.getOrientation(metadata).getOpposite(); + + positions.add(pos); + + return findCoreRec(world, x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ); + } + + @Override + public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase player, ItemStack itemStack) { + if(!(player instanceof EntityPlayer)) return; - - world.setBlockToAir(pos); - + + world.setBlockToAir(pos); + EntityPlayer pl = (EntityPlayer) player; EnumHand hand = pl.getHeldItemMainhand() == itemStack ? EnumHand.MAIN_HAND : EnumHand.OFF_HAND; - + int i = MathHelper.floor(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; int o = -getOffset(); pos = new BlockPos(pos.getX(), pos.getY() + getHeightOffset(), pos.getZ()); - + ForgeDirection dir = ForgeDirection.NORTH; - + if(i == 0) { dir = ForgeDirection.getOrientation(2); @@ -160,18 +160,18 @@ public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, Entity { dir = ForgeDirection.getOrientation(4); } - + dir = getDirModified(dir); - + int x = pos.getX(); int y = pos.getY(); int z = pos.getZ(); - + if(!checkRequirement(world, x, y, z, dir, o)) { if(!pl.capabilities.isCreativeMode) { ItemStack stack = pl.inventory.mainInventory.get(pl.inventory.currentItem); Item item = Item.getItemFromBlock(this); - + if(stack.isEmpty()) { pl.inventory.mainInventory.set(pl.inventory.currentItem, new ItemStack(this)); } else { @@ -182,10 +182,10 @@ public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, Entity } } } - + return; } - + if(!world.isRemote){ world.setBlockState(new BlockPos(x + dir.offsetX * o , y + dir.offsetY * o, z + dir.offsetZ * o), this.getDefaultState().withProperty(META, dir.ordinal() + offset), 3); fillSpace(world, x, y, z, dir, o); @@ -194,10 +194,10 @@ public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, Entity world.scheduleUpdate(pos, this, 1); world.scheduleUpdate(pos, this, 2); - super.onBlockPlacedBy(world, pos, state, player, itemStack); - } - protected boolean standardOpenBehavior(World world, int x, int y, int z, EntityPlayer player, int id) { - + super.onBlockPlacedBy(world, pos, state, player, itemStack); + } + protected boolean standardOpenBehavior(World world, int x, int y, int z, EntityPlayer player, int id) { + if(world.isRemote) { return true; } else if(!player.isSneaking()) { @@ -212,58 +212,58 @@ protected boolean standardOpenBehavior(World world, int x, int y, int z, EntityP return true; } } - protected ForgeDirection getDirModified(ForgeDirection dir) { + protected ForgeDirection getDirModified(ForgeDirection dir) { return dir; } - - protected boolean checkRequirement(World world, int x, int y, int z, ForgeDirection dir, int o) { + + protected boolean checkRequirement(World world, int x, int y, int z, ForgeDirection dir, int o) { return MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y + dir.offsetY * o, z + dir.offsetZ * o, getDimensions(), x, y, z, dir); } - + protected void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y + dir.offsetY * o, z + dir.offsetZ * o, getDimensions(), this, dir); } - + //"upgrades" regular dummy blocks to ones with the extra flag public void makeExtra(World world, int x, int y, int z) { BlockPos pos = new BlockPos(x, y, z); if(world.getBlockState(pos).getBlock() != this) return; - + int meta = world.getBlockState(pos).getValue(META); - + if(meta > 5) return; - + //world.setBlockMetadataWithNotify(x, y, z, meta + extra, 3); safeRem = true; world.setBlockState(pos, this.getDefaultState().withProperty(META, meta + extra), 3); safeRem = false; } - + //Drillgon200: Removes the extra. I could have sworn there was already a method for this, but I can't find it. public void removeExtra(World world, int x, int y, int z) { BlockPos pos = new BlockPos(x, y, z); if(world.getBlockState(pos).getBlock() != this) return; - + int meta = world.getBlockState(pos).getValue(META); - + if(meta <= 5 || meta >= 12) return; - + //world.setBlockMetadataWithNotify(x, y, z, meta + extra, 3); safeRem = true; world.setBlockState(pos, this.getDefaultState().withProperty(META, meta - extra), 3); safeRem = false; } - + //checks if the dummy metadata is within the extra range public boolean hasExtra(int meta) { return meta > 5 && meta < 12; } - + @Override public void breakBlock(World world, BlockPos pos, IBlockState state) { int i = state.getValue(META); @@ -271,13 +271,13 @@ public void breakBlock(World world, BlockPos pos, IBlockState state) { //ForgeDirection d = ForgeDirection.getOrientation(world.getBlockMetadata(x, y, z) - offset); //MultiblockHandler.emptySpace(world, x, y, z, getDimensions(), this, d); } else if(!safeRem) { - - if(i >= extra) - i -= extra; - ForgeDirection dir = ForgeDirection.getOrientation(i).getOpposite(); + if(i >= extra) + i -= extra; + + ForgeDirection dir = ForgeDirection.getOrientation(i).getOpposite(); int[] pos1 = findCore(world, pos.getX() + dir.offsetX, pos.getY() + dir.offsetY, pos.getZ() + dir.offsetZ); - + if(pos1 != null) { //ForgeDirection d = ForgeDirection.getOrientation(world.getBlockMetadata(pos[0], pos[1], pos[2]) - offset); @@ -287,27 +287,27 @@ public void breakBlock(World world, BlockPos pos, IBlockState state) { InventoryHelper.dropInventoryItems(world, pos, world.getTileEntity(pos)); super.breakBlock(world, pos, state); } - + @Override public EnumBlockRenderType getRenderType(IBlockState state) { return EnumBlockRenderType.INVISIBLE; } - + @Override public boolean isOpaqueCube(IBlockState state) { return false; } - + @Override public boolean isBlockNormalCube(IBlockState state) { return false; } - + @Override public boolean isNormalCube(IBlockState state) { return false; } - + @Override public boolean isNormalCube(IBlockState state, IBlockAccess world, BlockPos pos) { return false; @@ -316,27 +316,27 @@ public boolean isNormalCube(IBlockState state, IBlockAccess world, BlockPos pos) public boolean shouldSideBeRendered(IBlockState blockState, IBlockAccess blockAccess, BlockPos pos, EnumFacing side) { return false; } - + @Override protected BlockStateContainer createBlockState() { return new BlockStateContainer(this, new IProperty[]{META}); } - + @Override public int getMetaFromState(IBlockState state) { return state.getValue(META); } - + @Override public IBlockState getStateFromMeta(int meta) { return this.getDefaultState().withProperty(META, meta); } - + public abstract int[] getDimensions(); public abstract int getOffset(); - + public int getHeightOffset() { return 0; } -} +} \ 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 263efcfa7b..a2fa4283c8 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -47,79 +47,8 @@ import com.hbm.blocks.gas.BlockGasRadon; import com.hbm.blocks.gas.BlockGasRadonDense; import com.hbm.blocks.gas.BlockGasRadonTomb; -import com.hbm.blocks.generic.BMPowerBox; -import com.hbm.blocks.generic.BarbedWire; -import com.hbm.blocks.generic.BlockAbsorber; -import com.hbm.blocks.generic.BlockAmmoCrate; -import com.hbm.blocks.generic.BlockAshes; -import com.hbm.blocks.generic.BlockBallsSpawner; -import com.hbm.blocks.generic.BlockBeaconable; -import com.hbm.blocks.generic.BlockBedrockOre; -import com.hbm.blocks.generic.BlockCanCrate; -import com.hbm.blocks.generic.BlockCap; -import com.hbm.blocks.generic.BlockChain; -import com.hbm.blocks.generic.BlockClorine; -import com.hbm.blocks.generic.BlockClorineSeal; -import com.hbm.blocks.generic.BlockCluster; -import com.hbm.blocks.generic.BlockCoalBurning; -import com.hbm.blocks.generic.BlockCoalOil; -import com.hbm.blocks.generic.BlockControlPanel; -import com.hbm.blocks.generic.BlockCrate; -import com.hbm.blocks.generic.BlockDepth; -import com.hbm.blocks.generic.BlockDepthOre; -import com.hbm.blocks.generic.BlockDoorGeneric; -import com.hbm.blocks.generic.BlockFallingRad; -import com.hbm.blocks.generic.BlockFallout; -import com.hbm.blocks.generic.BlockGeysir; -import com.hbm.blocks.generic.BlockGlyph; -import com.hbm.blocks.generic.BlockGoldSand; -import com.hbm.blocks.generic.BlockGrate; -import com.hbm.blocks.generic.BlockHazard; +import com.hbm.blocks.generic.*; import com.hbm.blocks.generic.BlockHazard.ExtDisplayEffect; -import com.hbm.blocks.generic.BlockHazardFalling; -import com.hbm.blocks.generic.BlockJungleCrate; -import com.hbm.blocks.generic.BlockLithium; -import com.hbm.blocks.generic.BlockMarker; -import com.hbm.blocks.generic.BlockMetalFence; -import com.hbm.blocks.generic.BlockModDoor; -import com.hbm.blocks.generic.BlockMush; -import com.hbm.blocks.generic.BlockMushHuge; -import com.hbm.blocks.generic.BlockNTMDirt; -import com.hbm.blocks.generic.BlockNTMGlass; -import com.hbm.blocks.generic.BlockNTMLadder; -import com.hbm.blocks.generic.BlockNetherCoal; -import com.hbm.blocks.generic.BlockNoDrop; -import com.hbm.blocks.generic.BlockNuclearWaste; -import com.hbm.blocks.generic.BlockOre; -import com.hbm.blocks.generic.BlockOutgas; -import com.hbm.blocks.generic.BlockPinkLog; -import com.hbm.blocks.generic.BlockGenericSlab; -import com.hbm.blocks.generic.BlockGenericStairs; -import com.hbm.blocks.generic.BlockPipe; -import com.hbm.blocks.generic.BlockPlasma; -import com.hbm.blocks.generic.BlockPorous; -import com.hbm.blocks.generic.BlockRadResistant; -import com.hbm.blocks.generic.BlockRailing; -import com.hbm.blocks.generic.BlockRotatablePillar; -import com.hbm.blocks.generic.BlockSmolder; -import com.hbm.blocks.generic.BlockStorageCrate; -import com.hbm.blocks.generic.BlockVent; -import com.hbm.blocks.generic.BlockWriting; -import com.hbm.blocks.generic.DecoBlock; -import com.hbm.blocks.generic.DecoBlockAlt; -import com.hbm.blocks.generic.DecoPoleSatelliteReceiver; -import com.hbm.blocks.generic.DecoPoleTop; -import com.hbm.blocks.generic.DecoSteelPoles; -import com.hbm.blocks.generic.DecoTapeRecorder; -import com.hbm.blocks.generic.Guide; -import com.hbm.blocks.generic.RedBarrel; -import com.hbm.blocks.generic.ReinforcedLamp; -import com.hbm.blocks.generic.Spikes; -import com.hbm.blocks.generic.TrappedBrick; -import com.hbm.blocks.generic.WasteGrassTall; -import com.hbm.blocks.generic.WasteEarth; -import com.hbm.blocks.generic.WasteLog; -import com.hbm.blocks.generic.YellowBarrel; import com.hbm.blocks.machine.*; import com.hbm.blocks.machine.pile.BlockGraphite; import com.hbm.blocks.machine.pile.BlockGraphiteFuel; @@ -180,6 +109,7 @@ import com.hbm.tileentity.DoorDecl; import net.minecraft.block.Block; +import net.minecraft.block.BlockFalling; import net.minecraft.block.SoundType; import net.minecraft.block.material.MapColor; import net.minecraft.block.material.Material; @@ -399,6 +329,7 @@ public SoundEvent getBreakSound() { public static final Block ore_oil = new BlockOre(Material.ROCK, "ore_oil").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F); public static final Block ore_oil_empty = new BlockBase(Material.ROCK, "ore_oil_empty").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F); public static final Block ore_oil_sand = new BlockFallingBase(Material.SAND, "ore_oil_sand", SoundType.SAND).setCreativeTab(MainRegistry.blockTab).setHardness(0.5F).setResistance(1.0F); + public static final Block ore_bedrock_oil = new BlockBase(Material.ROCK, "ore_bedrock_oil").setCreativeTab(MainRegistry.blockTab).setBlockUnbreakable().setResistance(1000000); public static final Block ore_meteor_uranium = new BlockOre(Material.ROCK, "ore_meteor_uranium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F); public static final Block ore_meteor_thorium = new BlockOre(Material.ROCK, "ore_meteor_thorium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F); @@ -674,7 +605,22 @@ public SoundEvent getBreakSound() { public static final Block block_cap_fritz = new BlockCap(Material.IRON, "block_cap_fritz").setSoundType(SoundType.METAL).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab); public static final Block block_cap_sunset = new BlockCap(Material.IRON, "block_cap_sunset").setSoundType(SoundType.METAL).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab); public static final Block block_cap_star = new BlockCap(Material.IRON, "block_cap_star").setSoundType(SoundType.METAL).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.blockTab); - + + //PollutedBecauseOilThings + public static final Block plant_dead_generic = new BlockDeadPlant(Material.PLANTS, "plant_dead_generic").setSoundType(SoundType.PLANT).setHardness(0).setResistance(0).setCreativeTab(MainRegistry.blockTab); + public static final Block plant_dead_grass = new BlockDeadPlant(Material.PLANTS, "plant_dead_grass").setSoundType(SoundType.PLANT).setHardness(0).setResistance(0).setCreativeTab(MainRegistry.blockTab); + public static final Block plant_dead_flower = new BlockDeadPlant(Material.PLANTS, "plant_dead_flower").setSoundType(SoundType.PLANT).setHardness(0).setResistance(0).setCreativeTab(MainRegistry.blockTab); + public static final Block plant_dead_big_flower = new BlockDeadPlant(Material.PLANTS, "plant_dead_big_flower").setSoundType(SoundType.PLANT).setHardness(0).setResistance(0).setCreativeTab(MainRegistry.blockTab); + public static final Block plant_dead_fern = new BlockDeadPlant(Material.PLANTS, "plant_dead_fern").setSoundType(SoundType.PLANT).setHardness(0).setResistance(0).setCreativeTab(MainRegistry.blockTab); + + public static final Block dirt_dead = new BlockFallingBase(Material.GROUND, "dirt_dead", SoundType.GROUND).setHardness(0.5F).setCreativeTab(MainRegistry.blockTab); + public static final Block dirt_oily = new BlockFallingBase(Material.GROUND, "dirt_oily", SoundType.GROUND).setHardness(0.5F).setCreativeTab(MainRegistry.blockTab); + + public static final Block sand_dirty = new BlockFallingBase(Material.SAND, "sand_dirty", SoundType.SAND).setHardness(0.5F).setCreativeTab(MainRegistry.blockTab); + public static final Block sand_dirty_red = new BlockFallingBase(Material.SAND, "sand_dirty_red", SoundType.SAND).setHardness(0.5F).setCreativeTab(MainRegistry.blockTab); + + public static final Block stone_cracked = new BlockFallingBase(Material.ROCK, "stone_cracked", SoundType.STONE).setHardness(5.0F).setCreativeTab(MainRegistry.blockTab); + //Bombs public static final Block nuke_gadget = new NukeGadget(Material.IRON, "nuke_gadget").setCreativeTab(MainRegistry.nukeTab).setHardness(5.0F).setResistance(6000.0F); public static final int guiID_nuke_gadget = 3; @@ -1063,9 +1009,12 @@ public SoundEvent getBreakSound() { public static final Block machine_well = new MachineOilWell(Material.IRON, "machine_well").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab); public static final Block machine_pumpjack = new MachinePumpjack(Material.IRON, "machine_pumpjack").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab); + public static final Block machine_fracking_tower = new MachineFrackingTower(Material.IRON, "machine_fracking_tower").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab); public static final Block oil_pipe = new BlockNoDrop(Material.IRON, "oil_pipe").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null); public static final int guiID_machine_well = 40; public static final int guiID_machine_pumpjack = 51; + public static final int guiID_machine_fracking_tower = 62; + public static final Block machine_flare = new MachineGasFlare(Material.IRON, "machine_flare").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab); public static final int guiID_machine_flare = 44; @@ -1331,7 +1280,8 @@ public SoundEvent getBreakSound() { public static final Block fluid_duct_mk2 = new BlockFluidPipeMk2(Material.IRON, "fluid_duct_mk2").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); public static final Block fluid_duct_solid = new BlockFluidPipeSolid(Material.IRON, "fluid_duct_solid").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - + public static final Block fluid_duct_neo = new BlockFluidPipeMk2(Material.IRON, "fluid_duct_neo").setHardness(5.0f).setResistance(10.0f).setCreativeTab(null); + public static final Block conveyor = new BlockConveyor(Material.IRON, "conveyor").setHardness(0.0F).setResistance(2.0F).setCreativeTab(null); public static final Block chain = new BlockChain(Material.IRON, "dungeon_chain").setHardness(0.25F).setResistance(2.0F).setCreativeTab(MainRegistry.blockTab); @@ -1434,7 +1384,8 @@ public Material setImmovableMobility() { public static final Block dummy_block_well = new DummyBlockWell(Material.IRON, "dummy_block_well").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null); public static final Block dummy_port_well = new DummyBlockWell(Material.IRON, "dummy_port_well").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null); - + + public static final Block dummy_block_pumpjack = new DummyBlockPumpjack(Material.IRON, "dummy_block_pumpjack").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null); public static final Block dummy_port_pumpjack = new DummyBlockPumpjack(Material.IRON, "dummy_port_pumpjack").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null); diff --git a/src/main/java/com/hbm/blocks/generic/BlockDeadPlant.java b/src/main/java/com/hbm/blocks/generic/BlockDeadPlant.java new file mode 100644 index 0000000000..c7bec061aa --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockDeadPlant.java @@ -0,0 +1,80 @@ +package com.hbm.blocks.generic; + +import com.hbm.blocks.ModBlocks; +import net.minecraft.block.Block; +import net.minecraft.block.SoundType; +import net.minecraft.block.material.Material; +import net.minecraft.block.state.IBlockState; +import net.minecraft.client.Minecraft; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.Item; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.math.AxisAlignedBB; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraft.block.BlockBush; + +import java.util.Random; + +public class BlockDeadPlant extends BlockBush +{ + public BlockDeadPlant(Material materialIn, String s) { + super(materialIn); + this.setUnlocalizedName(s); + this.setRegistryName(s); + + ModBlocks.ALL_BLOCKS.add(this); + + } + + @Override + public boolean canPlaceBlockAt(World world, BlockPos pos) { + return this.canBlockStay(world, pos, world.getBlockState(pos)); + } + +// protected void checkAndDropBlock(World world, BlockPos pos) { +// if (!this.canBlockStay(world, pos)) { +// this.dropBlockAsItem(world, pos, world.getBlockState(pos), 0); +// world.setBlockState(pos, Blocks.AIR.getDefaultState()); +// } +// +// } + + public boolean canBlockStay(World world, BlockPos pos, IBlockState state) { + Block block = world.getBlockState(pos.down()).getBlock(); + return block == Blocks.GRASS || block == Blocks.DIRT || block == ModBlocks.waste_earth || block == ModBlocks.waste_dirt || block == ModBlocks.dirt_dead || block == ModBlocks.dirt_oily; + } + + + @Override + public Block setSoundType(SoundType sound){ + return super.setSoundType(sound); + } + + @Override + public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos){ + return new AxisAlignedBB(0.09999999403953552D, 0.0D, 0.09999999403953552D, 0.8999999761581421D, 0.4000000059604645D, 0.8999999761581421D); + } + + + + public boolean isOpaqueCube() { + return false; + } + + public int getRenderType() { + return 1; + } + + public int damageDropped(int meta) { + return meta; + } + + public Item getItemDropped(int meta, Random rand, int fortune) { + return Items.AIR; + } + + +} diff --git a/src/main/java/com/hbm/blocks/machine/DummyBlockFlare.java b/src/main/java/com/hbm/blocks/machine/DummyBlockFlare.java index d2031b002b..1ab325bfab 100644 --- a/src/main/java/com/hbm/blocks/machine/DummyBlockFlare.java +++ b/src/main/java/com/hbm/blocks/machine/DummyBlockFlare.java @@ -7,7 +7,7 @@ import com.hbm.main.MainRegistry; import com.hbm.tileentity.machine.TileEntityDummy; import com.hbm.tileentity.machine.TileEntityDummyFluidPort; -import com.hbm.tileentity.machine.TileEntityMachineGasFlare; +import com.hbm.tileentity.machine.oil.TileEntityMachineGasFlare; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; diff --git a/src/main/java/com/hbm/blocks/machine/DummyBlockPumpjack.java b/src/main/java/com/hbm/blocks/machine/DummyBlockPumpjack.java index ac49b263c3..d85ec0ff7b 100644 --- a/src/main/java/com/hbm/blocks/machine/DummyBlockPumpjack.java +++ b/src/main/java/com/hbm/blocks/machine/DummyBlockPumpjack.java @@ -7,7 +7,7 @@ import com.hbm.main.MainRegistry; import com.hbm.tileentity.machine.TileEntityDummy; import com.hbm.tileentity.machine.TileEntityDummyFluidPort; -import com.hbm.tileentity.machine.TileEntityMachinePumpjack; +import com.hbm.tileentity.machine.oil.TileEntityMachinePumpjack; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; diff --git a/src/main/java/com/hbm/blocks/machine/DummyBlockRefinery.java b/src/main/java/com/hbm/blocks/machine/DummyBlockRefinery.java index bf87e5992a..ae6eabfa4a 100644 --- a/src/main/java/com/hbm/blocks/machine/DummyBlockRefinery.java +++ b/src/main/java/com/hbm/blocks/machine/DummyBlockRefinery.java @@ -7,7 +7,7 @@ import com.hbm.main.MainRegistry; import com.hbm.tileentity.machine.TileEntityDummy; import com.hbm.tileentity.machine.TileEntityDummyFluidPort; -import com.hbm.tileentity.machine.TileEntityMachineRefinery; +import com.hbm.tileentity.machine.oil.TileEntityMachineRefinery; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; diff --git a/src/main/java/com/hbm/blocks/machine/DummyBlockWell.java b/src/main/java/com/hbm/blocks/machine/DummyBlockWell.java index cfa8167556..2ee792b054 100644 --- a/src/main/java/com/hbm/blocks/machine/DummyBlockWell.java +++ b/src/main/java/com/hbm/blocks/machine/DummyBlockWell.java @@ -7,7 +7,7 @@ import com.hbm.main.MainRegistry; import com.hbm.tileentity.machine.TileEntityDummy; import com.hbm.tileentity.machine.TileEntityDummyFluidPort; -import com.hbm.tileentity.machine.TileEntityMachineOilWell; +import com.hbm.tileentity.machine.oil.TileEntityMachineOilWell; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; diff --git a/src/main/java/com/hbm/blocks/machine/MachineFrackingTower.java b/src/main/java/com/hbm/blocks/machine/MachineFrackingTower.java new file mode 100644 index 0000000000..2dee7f7db7 --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/MachineFrackingTower.java @@ -0,0 +1,164 @@ +package com.hbm.blocks.machine; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ModBlocks; +import com.hbm.handler.MultiblockHandler; +import com.hbm.handler.MultiblockHandlerXR; +import com.hbm.interfaces.IMultiBlock; +import com.hbm.lib.InventoryHelper; +import com.hbm.main.MainRegistry; +import com.hbm.tileentity.TileEntityProxyCombo; +import com.hbm.tileentity.machine.TileEntityDummy; +import com.hbm.tileentity.machine.oil.TileEntityMachineFrackingTower; +import com.hbm.lib.ForgeDirection; + +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.block.state.IBlockState; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.EnumBlockRenderType; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.EnumHand; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.RayTraceResult; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; + +import java.util.Random; + +public class MachineFrackingTower extends BlockDummyable { + + public MachineFrackingTower(Material materialIn, String s) { + super(materialIn, s); + } + + @Override + public TileEntity createNewTileEntity(World worldIn, int meta) { + + if(meta >= 12) return new TileEntityMachineFrackingTower(); + if(meta >= 6) return new TileEntityProxyCombo(false, true, true); + + return null; + + } + + + @Override + public int[] getDimensions() { + return new int[] {3, 0, 0, 0, 0, 0}; + } + + @Override + public int getOffset() { + return 0; + } + + + @Override + public Item getItemDropped(IBlockState state, Random rand, int fortune) { + return Item.getItemFromBlock(ModBlocks.machine_fracking_tower); + } + + @Override + public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) { + return new ItemStack(ModBlocks.machine_fracking_tower); + } + +// @Override +// public EnumBlockRenderType getRenderType(IBlockState state) { +// return EnumBlockRenderType.MODEL; +// } + + @Override + public boolean isOpaqueCube(IBlockState state) { + return false; + } + + @Override + public boolean isBlockNormalCube(IBlockState state) { + return false; + } + + @Override + public boolean isNormalCube(IBlockState state) { + return false; + } + + @Override + public boolean isNormalCube(IBlockState state, IBlockAccess world, BlockPos pos) { + return false; + } + + @Override + public boolean shouldSideBeRendered(IBlockState blockState, IBlockAccess blockAccess, BlockPos pos, EnumFacing side) { + return false; + } + + @Override + public boolean onBlockActivated(World world, BlockPos pos1, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) { + if(world.isRemote) + { + return true; + } else if(!player.isSneaking()) + { + int[] pos = this.findCore(world, pos1.getX(), pos1.getY(), pos1.getZ()); + + if (pos == null) + return false; + + TileEntityMachineFrackingTower frackingTower = (TileEntityMachineFrackingTower)world.getTileEntity(new BlockPos(pos[0], pos[1], pos[2])); + + if (frackingTower != null) + player.openGui(MainRegistry.instance, ModBlocks.guiID_machine_fracking_tower, world, pos[0], pos[1], pos[2]); + + return true; + } else { + return false; + } + } + +// @Override +// public void breakBlock(World worldIn, BlockPos pos, IBlockState state) { +// InventoryHelper.dropInventoryItems(worldIn, pos, worldIn.getTileEntity(pos)); +// super.breakBlock(worldIn, pos, state); +// } + + + @Override + protected boolean checkRequirement(World world, int x, int y, int z, ForgeDirection dir, int o) { + + if(!MultiblockHandlerXR.checkSpace(world, x, y + 2, z, new int[] {1, 0, 3, 3, 3, 3}, x, y, z, dir)) return false; + + if(!MultiblockHandlerXR.checkSpace(world, x - 2, y + 2, z - 2, new int[] {-1, 2, 0, 1, 0, 1}, x, y, z, ForgeDirection.NORTH)) return false; + if(!MultiblockHandlerXR.checkSpace(world, x - 2, y + 2, z + 3, new int[] {-1, 2, 0, 1, 0, 1}, x, y, z, ForgeDirection.NORTH)) return false; + if(!MultiblockHandlerXR.checkSpace(world, x + 3, y + 2, z - 2, new int[] {-1, 2, 0, 1, 0, 1}, x, y, z, ForgeDirection.NORTH)) return false; + if(!MultiblockHandlerXR.checkSpace(world, x + 3, y + 2, z + 3, new int[] {-1, 2, 0, 1, 0, 1}, x, y, z, ForgeDirection.NORTH)) return false; + + if(!MultiblockHandlerXR.checkSpace(world, x, y, z, new int[] {10, -4, 2, 2, 2, 2}, x, y, z, dir)) return false; + if(!MultiblockHandlerXR.checkSpace(world, x, y, z, new int[] {24, -9, 1, 1, 1, 1}, x, y, z, dir)) return false; + + if(!MultiblockHandlerXR.checkSpace(world, x, y + 15, z, new int[] {1, 0, 1, 1, -2, 3}, x, y, z, dir)) return false; + + return super.checkRequirement(world, x, y, z, dir, o); + } + + @Override + public void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { + MultiblockHandlerXR.fillSpace(world, x, y, z, getDimensions(), this, dir); + MultiblockHandlerXR.fillSpace(world, x, y + 2, z, new int[] {1, 0, 3, 3, 3, 3}, this, dir); + + MultiblockHandlerXR.fillSpace(world, x - 2, y + 2, z - 2, new int[] {-1, 2, 0, 1, 0, 1}, this, ForgeDirection.NORTH); + MultiblockHandlerXR.fillSpace(world, x - 2, y + 2, z + 3, new int[] {-1, 2, 0, 1, 0, 1}, this, ForgeDirection.NORTH); + MultiblockHandlerXR.fillSpace(world, x + 3, y + 2, z - 2, new int[] {-1, 2, 0, 1, 0, 1}, this, ForgeDirection.NORTH); + MultiblockHandlerXR.fillSpace(world, x + 3, y + 2, z + 3, new int[] {-1, 2, 0, 1, 0, 1}, this, ForgeDirection.NORTH); + + MultiblockHandlerXR.fillSpace(world, x, y, z, new int[] {10, -4, 2, 2, 2, 2}, this, dir); + MultiblockHandlerXR.fillSpace(world, x, y, z, new int[] {24, -9, 1, 1, 1, 1}, this, dir); + + MultiblockHandlerXR.fillSpace(world, x, y + 15, z, new int[] {1, 0, 1, 1, -2, 3}, this, ForgeDirection.WEST); + } +} diff --git a/src/main/java/com/hbm/blocks/machine/MachineFractionTower.java b/src/main/java/com/hbm/blocks/machine/MachineFractionTower.java index f5f37107c2..fdb55b2d0b 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineFractionTower.java +++ b/src/main/java/com/hbm/blocks/machine/MachineFractionTower.java @@ -5,7 +5,7 @@ import com.hbm.items.machine.ItemForgeFluidIdentifier; import com.hbm.lib.ForgeDirection; import com.hbm.tileentity.TileEntityProxyCombo; -import com.hbm.tileentity.machine.TileEntityMachineFractionTower; +import com.hbm.tileentity.machine.oil.TileEntityMachineFractionTower; import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; diff --git a/src/main/java/com/hbm/blocks/machine/MachineGasFlare.java b/src/main/java/com/hbm/blocks/machine/MachineGasFlare.java index c9d2aa54f6..e54c016bdc 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineGasFlare.java +++ b/src/main/java/com/hbm/blocks/machine/MachineGasFlare.java @@ -8,7 +8,7 @@ import com.hbm.lib.InventoryHelper; import com.hbm.main.MainRegistry; import com.hbm.tileentity.machine.TileEntityDummy; -import com.hbm.tileentity.machine.TileEntityMachineGasFlare; +import com.hbm.tileentity.machine.oil.TileEntityMachineGasFlare; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; diff --git a/src/main/java/com/hbm/blocks/machine/MachineOilWell.java b/src/main/java/com/hbm/blocks/machine/MachineOilWell.java index d10ffda84c..b7f6f8757e 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineOilWell.java +++ b/src/main/java/com/hbm/blocks/machine/MachineOilWell.java @@ -8,7 +8,7 @@ import com.hbm.lib.InventoryHelper; import com.hbm.main.MainRegistry; import com.hbm.tileentity.machine.TileEntityDummy; -import com.hbm.tileentity.machine.TileEntityMachineOilWell; +import com.hbm.tileentity.machine.oil.TileEntityMachineOilWell; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; diff --git a/src/main/java/com/hbm/blocks/machine/MachinePumpjack.java b/src/main/java/com/hbm/blocks/machine/MachinePumpjack.java index 0304091ef9..99e035f8c1 100644 --- a/src/main/java/com/hbm/blocks/machine/MachinePumpjack.java +++ b/src/main/java/com/hbm/blocks/machine/MachinePumpjack.java @@ -8,7 +8,7 @@ import com.hbm.lib.InventoryHelper; import com.hbm.main.MainRegistry; import com.hbm.tileentity.machine.TileEntityDummy; -import com.hbm.tileentity.machine.TileEntityMachinePumpjack; +import com.hbm.tileentity.machine.oil.TileEntityMachinePumpjack; import net.minecraft.block.BlockContainer; import net.minecraft.block.BlockHorizontal; diff --git a/src/main/java/com/hbm/blocks/machine/MachineRefinery.java b/src/main/java/com/hbm/blocks/machine/MachineRefinery.java index bbad5f17c7..bdcacb2e3f 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineRefinery.java +++ b/src/main/java/com/hbm/blocks/machine/MachineRefinery.java @@ -9,7 +9,7 @@ import com.hbm.main.MainRegistry; import com.hbm.tileentity.machine.TileEntityDummy; import com.hbm.tileentity.machine.TileEntityMachineAssembler; -import com.hbm.tileentity.machine.TileEntityMachineRefinery; +import com.hbm.tileentity.machine.oil.TileEntityMachineRefinery; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; diff --git a/src/main/java/com/hbm/config/GeneralConfig.java b/src/main/java/com/hbm/config/GeneralConfig.java index 91404972eb..5d13b7dece 100644 --- a/src/main/java/com/hbm/config/GeneralConfig.java +++ b/src/main/java/com/hbm/config/GeneralConfig.java @@ -75,6 +75,7 @@ public class GeneralConfig { public static boolean enableReflectorCompat = false; public static int coltanRate = 2; public static int bedrockRate = 50; + public static void loadFromConfig(Configuration config){ final String CATEGORY_GENERAL = "01_general"; @@ -194,6 +195,7 @@ public static void loadFromConfig(Configuration config){ enable528BedrockSpawn = CommonConfig.createConfigBool(config, CATEGORY_528, "X528_enableBedrockSpawning", "Enables the bedrock coltan ores as a rare spawn. These will be rarely found anywhere in the world.", false); coltanRate = CommonConfig.createConfigInt(config, CATEGORY_528, "X528_oreColtanFrequency", "Determines how many coltan ore veins are to be expected in a chunk. These values do not affect the frequency in deposits, and only apply if random coltan spanwing is enabled.", 2); bedrockRate = CommonConfig.createConfigInt(config, CATEGORY_528, "X528_bedrockColtanFrequency", "Determines how often (1 in X) bedrock coltan ores spawn. Applies for both the bedrock ores in the coltan deposit (if applicable) and the random bedrock ores (if applicable)", 50); + if(enable528){ enableBabyMode = false; diff --git a/src/main/java/com/hbm/config/WorldConfig.java b/src/main/java/com/hbm/config/WorldConfig.java index 22a7ffbd79..0cec5b056c 100644 --- a/src/main/java/com/hbm/config/WorldConfig.java +++ b/src/main/java/com/hbm/config/WorldConfig.java @@ -26,6 +26,7 @@ public class WorldConfig { public static int gasbubbleSpawn = 4; public static int explosivebubbleSpawn = 8; public static int cobaltSpawn = 2; + public static int bedrockOilSpawn = 200; public static int ironClusterSpawn = 4; public static int titaniumClusterSpawn = 2; @@ -72,6 +73,8 @@ public class WorldConfig { public static int meteorShowerDuration = 6000; public static boolean radHotspotSmall = false; + + public static void loadFromConfig(Configuration config) { final String CATEGORY_OREGEN = "02_ores"; @@ -96,7 +99,9 @@ public static void loadFromConfig(Configuration config) { gasbubbleSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.17_gasBubbleSpawnRate", "Spawns a gas bubble every nTH chunk", 40); cinnebarSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.18_cinnebarSpawnRate", "Amount of cinnebar ore veins per chunk", 1); cobaltSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.18_cobaltSpawnRate", "Amount of cobalt ore veins per chunk", 2); - + bedrockOilSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.22_bedrockOilSpawnRate", "Spawns a bedrock oil node every nTH chunk", 200); + + ironClusterSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.C00_ironClusterSpawn", "Amount of iron cluster veins per chunk", 4); titaniumClusterSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.C01_titaniumClusterSpawn", "Amount of titanium cluster veins per chunk", 2); aluminiumClusterSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.C02_aluminiumClusterSpawn", "Amount of aluminium cluster veins per chunk", 3); diff --git a/src/main/java/com/hbm/forgefluid/FluidTypeHandler.java b/src/main/java/com/hbm/forgefluid/FluidTypeHandler.java index 0535b33a89..ab0dacc5cf 100644 --- a/src/main/java/com/hbm/forgefluid/FluidTypeHandler.java +++ b/src/main/java/com/hbm/forgefluid/FluidTypeHandler.java @@ -80,6 +80,8 @@ public static void registerFluidProperties(){ fluidProperties.put(ModForgeFluids.reclaimed.getName(), new FluidProperties(2, 2, 0, EnumSymbol.NONE)); fluidProperties.put(ModForgeFluids.petroil.getName(), new FluidProperties(1, 3, 0, EnumSymbol.NONE)); + + fluidProperties.put(ModForgeFluids.fracksol.getName(), new FluidProperties(1, 3, 3, EnumSymbol.ACID, FluidTrait.CORROSIVE)); fluidProperties.put(ModForgeFluids.lubricant.getName(), new FluidProperties(2, 1, 0, EnumSymbol.NONE)); diff --git a/src/main/java/com/hbm/forgefluid/ModForgeFluids.java b/src/main/java/com/hbm/forgefluid/ModForgeFluids.java index 43845eeae9..2a4bbbb0cf 100644 --- a/src/main/java/com/hbm/forgefluid/ModForgeFluids.java +++ b/src/main/java/com/hbm/forgefluid/ModForgeFluids.java @@ -49,6 +49,8 @@ public class ModForgeFluids { public static Fluid reclaimed = new Fluid("reclaimed", new ResourceLocation(RefStrings.MODID, "blocks/forgefluid/reclaimed_still"), new ResourceLocation(RefStrings.MODID, "blocks/forgefluid/reclaimed_flowing"), null, Color.WHITE); public static Fluid petroil = new Fluid("petroil", new ResourceLocation(RefStrings.MODID, "blocks/forgefluid/petroil_still"), new ResourceLocation(RefStrings.MODID, "blocks/forgefluid/petroil_flowing"), null, Color.WHITE); + public static Fluid fracksol = new Fluid("fracksol", new ResourceLocation(RefStrings.MODID, "blocks/forgefluid/fracksol_still"), new ResourceLocation(RefStrings.MODID, "blocks/forgefluid/fracksol_flowing"), null, Color.WHITE); + //Drillgon200: Bruh I spelled this wrong, too. public static Fluid lubricant = new Fluid("lubricant", new ResourceLocation(RefStrings.MODID, "blocks/forgefluid/lubricant_still"), new ResourceLocation(RefStrings.MODID, "blocks/forgefluid/lubricant_flowing"), null, Color.WHITE); @@ -142,6 +144,9 @@ public static void init() { if(!FluidRegistry.registerFluid(petroil)) petroil = FluidRegistry.getFluid("petroil"); + if (!FluidRegistry.registerFluid(fracksol)) + fracksol = FluidRegistry.getFluid("fracksol"); + if(!FluidRegistry.registerFluid(lubricant)) lubricant = FluidRegistry.getFluid("lubricant"); @@ -279,6 +284,8 @@ public static void setFromRegistry() { reclaimed = FluidRegistry.getFluid("reclaimed"); petroil = FluidRegistry.getFluid("petroil"); + fracksol = FluidRegistry.getFluid("fracksol"); + lubricant = FluidRegistry.getFluid("lubricant"); naphtha = FluidRegistry.getFluid("naphtha"); diff --git a/src/main/java/com/hbm/forgefluid/SpecialContainerFillLists.java b/src/main/java/com/hbm/forgefluid/SpecialContainerFillLists.java index 65c691d335..8258aa31e1 100644 --- a/src/main/java/com/hbm/forgefluid/SpecialContainerFillLists.java +++ b/src/main/java/com/hbm/forgefluid/SpecialContainerFillLists.java @@ -17,6 +17,7 @@ public enum EnumCanister { DIESEL(ModForgeFluids.diesel, new ModelResourceLocation(RefStrings.MODID + ":canister_fuel", "inventory")), OIL(ModForgeFluids.oil, new ModelResourceLocation(RefStrings.MODID + ":canister_oil", "inventory")), PETROIL(ModForgeFluids.petroil, new ModelResourceLocation(RefStrings.MODID + ":canister_petroil", "inventory")), + FRACKSOL(ModForgeFluids.fracksol, new ModelResourceLocation(RefStrings.MODID + ":canister_fracksol", "inventory")), KEROSENE(ModForgeFluids.kerosene, new ModelResourceLocation(RefStrings.MODID + ":canister_kerosene", "inventory")), NITAN(ModForgeFluids.nitan, new ModelResourceLocation(RefStrings.MODID + ":canister_superfuel", "inventory")), BIOFUEL(ModForgeFluids.biofuel, new ModelResourceLocation(RefStrings.MODID + ":canister_biofuel", "inventory")), diff --git a/src/main/java/com/hbm/handler/GuiHandler.java b/src/main/java/com/hbm/handler/GuiHandler.java index f979b01619..ae93d6942b 100644 --- a/src/main/java/com/hbm/handler/GuiHandler.java +++ b/src/main/java/com/hbm/handler/GuiHandler.java @@ -49,7 +49,6 @@ import com.hbm.tileentity.machine.TileEntityForceField; import com.hbm.tileentity.machine.TileEntityFusionMultiblock; import com.hbm.tileentity.machine.TileEntityHadron; -import com.hbm.tileentity.machine.TileEntityHeaterFirebox; import com.hbm.tileentity.machine.TileEntityITER; import com.hbm.tileentity.machine.TileEntityMachineArcFurnace; import com.hbm.tileentity.machine.TileEntityMachineAssembler; @@ -68,7 +67,7 @@ import com.hbm.tileentity.machine.TileEntityMachineElectricFurnace; import com.hbm.tileentity.machine.TileEntityMachineFluidTank; import com.hbm.tileentity.machine.TileEntityMachineGasCent; -import com.hbm.tileentity.machine.TileEntityMachineGasFlare; +import com.hbm.tileentity.machine.oil.*; import com.hbm.tileentity.machine.TileEntityMachineGenerator; import com.hbm.tileentity.machine.TileEntityMachineIGenerator; import com.hbm.tileentity.machine.TileEntityMachineKeyForge; @@ -76,18 +75,15 @@ import com.hbm.tileentity.machine.TileEntityMachineMiningDrill; import com.hbm.tileentity.machine.TileEntityMachineMiningLaser; import com.hbm.tileentity.machine.TileEntityMachineMissileAssembly; -import com.hbm.tileentity.machine.TileEntityMachineOilWell; import com.hbm.tileentity.machine.TileEntityMachinePlasmaHeater; import com.hbm.tileentity.machine.TileEntityMachinePress; import com.hbm.tileentity.machine.TileEntityMachinePuF6Tank; -import com.hbm.tileentity.machine.TileEntityMachinePumpjack; import com.hbm.tileentity.machine.TileEntityMachineRTG; import com.hbm.tileentity.machine.TileEntityMachineRadGen; import com.hbm.tileentity.machine.TileEntityMachineRadar; import com.hbm.tileentity.machine.TileEntityMachineReactor; import com.hbm.tileentity.machine.TileEntityMachineReactorLarge; import com.hbm.tileentity.machine.TileEntityMachineReactorSmall; -import com.hbm.tileentity.machine.TileEntityMachineRefinery; import com.hbm.tileentity.machine.TileEntityMachineSatDock; import com.hbm.tileentity.machine.TileEntityMachineSatLinker; import com.hbm.tileentity.machine.TileEntityMachineSchrabidiumTransmutator; @@ -127,7 +123,6 @@ import com.hbm.tileentity.turret.TileEntityTurretRichard; import com.hbm.tileentity.turret.TileEntityTurretTauon; -import net.minecraft.block.Block; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -363,6 +358,10 @@ public Object getServerGuiElement(int ID, EntityPlayer player, World world, int if(entity instanceof TileEntityMachinePumpjack) { return new ContainerMachinePumpjack(player.inventory, (TileEntityMachinePumpjack) entity); } + case ModBlocks.guiID_machine_fracking_tower: + if(entity instanceof TileEntityMachineFrackingTower) { + return new ContainerMachineFrackingTower(player.inventory, (TileEntityMachineFrackingTower) entity); + } case ModBlocks.guiID_machine_flare: if(entity instanceof TileEntityMachineGasFlare) { return new ContainerMachineGasFlare(player.inventory, (TileEntityMachineGasFlare) entity); @@ -898,6 +897,10 @@ public Object getClientGuiElement(int ID, EntityPlayer player, World world, int if(entity instanceof TileEntityMachinePumpjack) { return new GUIMachinePumpjack(player.inventory, (TileEntityMachinePumpjack) entity); } + case ModBlocks.guiID_machine_fracking_tower: + if (entity instanceof TileEntityMachineFrackingTower) { + return new GUIMachineFrackingTower(player.inventory, (TileEntityMachineFrackingTower) entity); + } case ModBlocks.guiID_machine_flare: if(entity instanceof TileEntityMachineGasFlare) { return new GUIMachineGasFlare(player.inventory, (TileEntityMachineGasFlare) entity); diff --git a/src/main/java/com/hbm/handler/MultiblockHandlerXR.java b/src/main/java/com/hbm/handler/MultiblockHandlerXR.java index 45d1be9af3..fb8510259e 100644 --- a/src/main/java/com/hbm/handler/MultiblockHandlerXR.java +++ b/src/main/java/com/hbm/handler/MultiblockHandlerXR.java @@ -10,38 +10,38 @@ import net.minecraft.world.World; public class MultiblockHandlerXR { - + //when looking north // U D N S W E public static int[] uni = new int[] { 3, 0, 4, 4, 4, 4 }; - + public static boolean checkSpace(World world, int x, int y, int z, int[] dim, int ox, int oy, int oz, ForgeDirection dir) { return checkSpace(world, x, y, z, dim, ox, oy, oz, dir.toEnumFacing()); } - + public static boolean checkSpace(World world, int x, int y, int z, int[] dim, int ox, int oy, int oz, EnumFacing dir) { MutableBlockPos pos = new BlockPos.MutableBlockPos(); if(dim == null || dim.length != 6) return false; - + int count = 0; - + int[] rot = rotate(dim, dir); for(int a = x - rot[4]; a <= x + rot[5]; a++) { for(int b = y - rot[1]; b <= y + rot[0]; b++) { for(int c = z - rot[2]; c <= z + rot[3]; c++) { - + //if the position matches the just placed block, the space counts as unoccupied if(a == ox && b == oy && c == oz) continue; - + if(!world.getBlockState(pos.setPos(a, b, c)).getBlock().canPlaceBlockAt(world, pos.setPos(a, b, c))) { return false; } - + count++; - + if(count > 2000) { System.out.println("checkspace: ded " + a + " " + b + " " + c + " " + x + " " + y + " " + z); return false; @@ -49,32 +49,32 @@ public static boolean checkSpace(World world, int x, int y, int z, int[] dim, in } } } - + return true; } - + public static void fillSpace(World world, int x, int y, int z, int[] dim, Block block, ForgeDirection dir) { fillSpace(world, x, y, z, dim, block, dir.toEnumFacing()); } - + @SuppressWarnings("deprecation") public static void fillSpace(World world, int x, int y, int z, int[] dim, Block block, EnumFacing dir) { MutableBlockPos pos = new BlockPos.MutableBlockPos(); if(dim == null || dim.length != 6) return; - + int count = 0; - + int[] rot = rotate(dim, dir); - + BlockDummyable.safeRem = true; for(int a = x - rot[4]; a <= x + rot[5]; a++) { for(int b = y - rot[1]; b <= y + rot[0]; b++) { for(int c = z - rot[2]; c <= z + rot[3]; c++) { - + int meta = 0; - + if(b < y) { meta = ForgeDirection.DOWN.ordinal(); } else if(b > y) { @@ -90,14 +90,14 @@ public static void fillSpace(World world, int x, int y, int z, int[] dim, Block } else { continue; } - + world.setBlockState(pos.setPos(a, b, c), block.getStateFromMeta(meta), 3); - + count++; - + if(count > 2000) { System.out.println("fillspace: ded " + a + " " + b + " " + c + " " + x + " " + y + " " + z); - + BlockDummyable.safeRem = false; return; } @@ -106,7 +106,7 @@ public static void fillSpace(World world, int x, int y, int z, int[] dim, Block } BlockDummyable.safeRem = false; } - + @Deprecated public static void emptySpace(World world, int x, int y, int z, int[] dim, Block block, EnumFacing dir) { MutableBlockPos pos = new BlockPos.MutableBlockPos(); @@ -114,20 +114,20 @@ public static void emptySpace(World world, int x, int y, int z, int[] dim, Block return; int count = 0; - + System.out.println("emptyspace is deprecated and shouldn't even be executed"); - + int[] rot = rotate(dim, dir); for(int a = x - rot[4]; a <= x + rot[5]; a++) { for(int b = y - rot[1]; b <= y + rot[0]; b++) { for(int c = z - rot[2]; c <= z + rot[3]; c++) { - + if(world.getBlockState(pos.setPos(a, b, c)).getBlock() == block) world.setBlockToAir(pos.setPos(a, b, c)); - + count++; - + if(count > 2000) { System.out.println("emptyspace: ded " + a + " " + b + " " + c); return; @@ -136,30 +136,30 @@ public static void emptySpace(World world, int x, int y, int z, int[] dim, Block } } } - + public static int[] rotate(int[] dim, EnumFacing dir) { - + if(dim == null) return null; - + if(dir == EnumFacing.SOUTH) return dim; - + if(dir == EnumFacing.NORTH) { // U D N S W E return new int[] { dim[0], dim[1], dim[3], dim[2], dim[5], dim[4] }; } - + if(dir == EnumFacing.EAST) { // U D N S W E return new int[] { dim[0], dim[1], dim[5], dim[4], dim[2], dim[3] }; } - + if(dir == EnumFacing.WEST) { // U D N S W E return new int[] { dim[0], dim[1], dim[4], dim[5], dim[3], dim[2] }; } - + return dim; } diff --git a/src/main/java/com/hbm/inventory/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/AssemblerRecipes.java index 56ea8675f5..467072fb46 100644 --- a/src/main/java/com/hbm/inventory/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/AssemblerRecipes.java @@ -291,6 +291,7 @@ private static void registerDefaults() { makeRecipe(new ComparableStack(ModBlocks.machine_shredder, 1), new AStack[] { new OreDictStack(STEEL.ingot(), 2), new OreDictStack(STEEL.plate(), 4), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.wire_red_copper, 2), new ComparableStack(ModBlocks.steel_beam, 2), new ComparableStack(Blocks.IRON_BARS, 2), new ComparableStack(ModBlocks.red_wire_coated, 1), }, 200); makeRecipe(new ComparableStack(ModBlocks.machine_well, 1), new AStack[] { new ComparableStack(ModBlocks.steel_scaffold, 20), new ComparableStack(ModBlocks.steel_beam, 8), new ComparableStack(ModItems.tank_steel, 2), new ComparableStack(ModItems.motor, 1), new ComparableStack(ModItems.pipes_steel, 3), new ComparableStack(ModItems.drill_titanium, 1), new ComparableStack(ModItems.wire_red_copper, 6), }, 250); makeRecipe(new ComparableStack(ModBlocks.machine_pumpjack, 1), new AStack[] { new ComparableStack(ModBlocks.steel_scaffold, 8), new OreDictStack("blockSteel", 8), new ComparableStack(ModItems.pipes_steel, 4), new ComparableStack(ModItems.tank_steel, 4), new OreDictStack(STEEL.ingot(), 24), new OreDictStack(STEEL.plate(), 16), new OreDictStack("plateAluminum", 6), new ComparableStack(ModItems.drill_titanium, 1), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.wire_red_copper, 8), }, 400); + makeRecipe(new ComparableStack(ModBlocks.machine_fracking_tower, 1), new AStack[] { new ComparableStack(ModBlocks.steel_scaffold, 40), new ComparableStack(ModBlocks.concrete_smooth, 64), new ComparableStack(ModItems.drill_titanium, 1), new ComparableStack(ModItems.motor_desh, 2), new ComparableStack(ModItems.plate_desh, 6), new OreDictStack(NB.ingot(), 8), new ComparableStack(ModItems.tank_steel, 24), new ComparableStack(ModItems.pipes_steel, 2), }, 600); makeRecipe(new ComparableStack(ModBlocks.machine_flare, 1), new AStack[] { new ComparableStack(ModBlocks.steel_scaffold, 28), new ComparableStack(ModItems.tank_steel, 2), new ComparableStack(ModItems.pipes_steel, 2), new ComparableStack(ModItems.hull_small_steel, 1), new ComparableStack(ModItems.thermo_element, 3), }, 200); makeRecipe(new ComparableStack(ModBlocks.machine_refinery, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 16), new OreDictStack(STEEL.plate(), 20), new OreDictStack("plateCopper", 16), new ComparableStack(ModItems.hull_big_steel, 6), new ComparableStack(ModItems.pipes_steel, 2), new ComparableStack(ModItems.coil_tungsten, 8), new ComparableStack(ModItems.wire_red_copper, 8), new ComparableStack(ModItems.circuit_copper, 2), new ComparableStack(ModItems.circuit_red_copper, 1), new ComparableStack(ModItems.plate_polymer, 8), },350); makeRecipe(new ComparableStack(ModBlocks.machine_epress, 1), new AStack[] { new OreDictStack(STEEL.plate(), 8), new ComparableStack(ModItems.plate_polymer, 4), new ComparableStack(ModItems.pipes_steel, 1), new ComparableStack(ModItems.bolt_tungsten, 4), new ComparableStack(ModItems.coil_copper, 2), new ComparableStack(ModItems.motor, 1), new ComparableStack(ModItems.circuit_copper, 1), new NbtComparableStack(ItemFluidCanister.getFullCanister(ModForgeFluids.lubricant)), }, 160); diff --git a/src/main/java/com/hbm/inventory/MachineRecipes.java b/src/main/java/com/hbm/inventory/MachineRecipes.java index 0a55a19977..d98656a449 100644 --- a/src/main/java/com/hbm/inventory/MachineRecipes.java +++ b/src/main/java/com/hbm/inventory/MachineRecipes.java @@ -540,6 +540,8 @@ public static List getChemInputFromTempate(ItemStack stack) { case GASOLINE: list.add(new ItemStack(ModItems.antiknock, 1)); break; + case FRACKSOL: + list.add(new ItemStack(ModItems.sulfur, 1)); default: break; } @@ -782,6 +784,9 @@ public static FluidStack[] getFluidInputFromTempate(ItemStack stack) { case GASOLINE: input[0] = new FluidStack(ModForgeFluids.petroil, 10000); break; + case FRACKSOL: + input[0] = new FluidStack(ModForgeFluids.petroleum, 100); + input[1] = new FluidStack(FluidRegistry.WATER, 1000); default: break; } @@ -1080,6 +1085,8 @@ public static FluidStack[] getFluidOutputFromTempate(ItemStack stack) { case GASOLINE: output[0] = new FluidStack(ModForgeFluids.gasoline, 12000); break; + case FRACKSOL: + output[0] = new FluidStack(ModForgeFluids.fracksol, 1000); default: break; } diff --git a/src/main/java/com/hbm/inventory/OreDictManager.java b/src/main/java/com/hbm/inventory/OreDictManager.java index 665368c42e..f89c81d7e5 100644 --- a/src/main/java/com/hbm/inventory/OreDictManager.java +++ b/src/main/java/com/hbm/inventory/OreDictManager.java @@ -445,6 +445,7 @@ public static void registerOres() { OreDictionary.registerOre(KEY_CIRCUIT_BISMUTH, circuit_bismuth); /*OreDictionary.registerOre(KEY_CIRCUIT_BISMUTH, circuit_arsenic); + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA if this isn't implemented when fracking tower becomes real, yell at me OreDictionary.registerOre("itemRubber", ingot_rubber);*/ diff --git a/src/main/java/com/hbm/inventory/ShredderRecipes.java b/src/main/java/com/hbm/inventory/ShredderRecipes.java index cc6b56dc9a..3370c51705 100644 --- a/src/main/java/com/hbm/inventory/ShredderRecipes.java +++ b/src/main/java/com/hbm/inventory/ShredderRecipes.java @@ -159,6 +159,13 @@ public static void registerOverrides() { ShredderRecipes.setRecipe(Items.FERMENTED_SPIDER_EYE, new ItemStack(ModItems.powder_poison, 3)); ShredderRecipes.setRecipe(Items.POISONOUS_POTATO, new ItemStack(ModItems.powder_poison, 1)); + ShredderRecipes.setRecipe(ModBlocks.dirt_dead, new ItemStack(ModItems.scrap_oil, 1)); + ShredderRecipes.setRecipe(ModBlocks.dirt_oily, new ItemStack(ModItems.scrap_oil, 1)); + ShredderRecipes.setRecipe(ModBlocks.sand_dirty, new ItemStack(ModItems.scrap_oil, 1)); + ShredderRecipes.setRecipe(ModBlocks.sand_dirty_red, new ItemStack(ModItems.scrap_oil, 1)); + ShredderRecipes.setRecipe(ModBlocks.stone_cracked, new ItemStack(ModItems.scrap_oil, 1)); + ShredderRecipes.setRecipe(ModBlocks.stone_porous, new ItemStack(ModItems.scrap_oil, 1)); + ShredderRecipes.setRecipe(ModBlocks.deco_pipe, new ItemStack(ModItems.powder_steel, 1)); ShredderRecipes.setRecipe(ModBlocks.deco_pipe_rusted, new ItemStack(ModItems.powder_steel, 1)); ShredderRecipes.setRecipe(ModBlocks.deco_pipe_green, new ItemStack(ModItems.powder_steel, 1)); diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineFrackingTower.java b/src/main/java/com/hbm/inventory/container/ContainerMachineFrackingTower.java new file mode 100644 index 0000000000..ac50101d73 --- /dev/null +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineFrackingTower.java @@ -0,0 +1,133 @@ +package com.hbm.inventory.container; + +import com.hbm.inventory.SlotMachineOutput; +import com.hbm.tileentity.machine.oil.TileEntityMachineFrackingTower; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.IContainerListener; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; +import net.minecraftforge.items.SlotItemHandler; + +public class ContainerMachineFrackingTower extends Container { + + private TileEntityMachineFrackingTower testNuke; + private int warning; + private int warning2; + + public ContainerMachineFrackingTower(InventoryPlayer invPlayer, TileEntityMachineFrackingTower tedf) { + warning = 0; + warning2 = 0; + + testNuke = tedf; + + //Battery + this.addSlotToContainer(new SlotItemHandler(tedf.inventory, 0, 44, 54)); + //Oil Canister Input + this.addSlotToContainer(new SlotItemHandler(tedf.inventory, 1, 134, 18)); + //Oil Canister Output + this.addSlotToContainer(new SlotMachineOutput(tedf.inventory, 2, 134, 54)); + //Gas Input + this.addSlotToContainer(new SlotItemHandler(tedf.inventory, 3, 134, 72)); + //Gas Output + this.addSlotToContainer(new SlotMachineOutput(tedf.inventory, 4, 134, 108)); + //Chip + this.addSlotToContainer(new SlotItemHandler(tedf.inventory, 5, 8, 90)); + + 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, 84 + i * 18 + 56)); + } + } + + for(int i = 0; i < 9; i++) + { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142 + 56)); + } + } + + @Override + public void addListener(IContainerListener crafting) { + super.addListener(crafting); + crafting.sendWindowProperty(this, 1, this.testNuke.warning); + crafting.sendWindowProperty(this, 2, this.testNuke.warning2); + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) + { + ItemStack var3 = ItemStack.EMPTY; + Slot var4 = (Slot) this.inventorySlots.get(par2); + + if (var4 != null && var4.getHasStack()) + { + ItemStack var5 = var4.getStack(); + var3 = var5.copy(); + + if (par2 <= 5) { + if (!this.mergeItemStack(var5, 6, this.inventorySlots.size(), true)) + { + return ItemStack.EMPTY; + } + } + else if (!this.mergeItemStack(var5, 0, 2, false)) + { + if (!this.mergeItemStack(var5, 3, 4, false)) + if (!this.mergeItemStack(var5, 5, 6, false)) + return ItemStack.EMPTY; + } + + if (var5.isEmpty()) + { + var4.putStack(ItemStack.EMPTY); + } + else + { + var4.onSlotChanged(); + } + } + + return var3; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return testNuke.isUseableByPlayer(player); + } + + @Override + public void detectAndSendChanges() { + super.detectAndSendChanges(); + + for(int i = 0; i < this.listeners.size(); i++) + { + IContainerListener par1 = (IContainerListener)this.listeners.get(i); + if(this.warning != this.testNuke.warning) + { + par1.sendWindowProperty(this, 1, this.testNuke.warning); + } + if(this.warning2 != this.testNuke.warning2) + { + par1.sendWindowProperty(this, 2, this.testNuke.warning2); + } + } + + this.warning = this.testNuke.warning; + this.warning2 = this.testNuke.warning2; + } + + @Override + public void updateProgressBar(int i, int j) { + if(i == 1) + { + testNuke.warning = j; + } + if(i == 2) + { + testNuke.warning2 = j; + } + } +} diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineGasFlare.java b/src/main/java/com/hbm/inventory/container/ContainerMachineGasFlare.java index b40d3cc2c0..5b01fad01f 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerMachineGasFlare.java +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineGasFlare.java @@ -1,7 +1,7 @@ package com.hbm.inventory.container; import com.hbm.inventory.SlotMachineOutput; -import com.hbm.tileentity.machine.TileEntityMachineGasFlare; +import com.hbm.tileentity.machine.oil.TileEntityMachineGasFlare; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineOilWell.java b/src/main/java/com/hbm/inventory/container/ContainerMachineOilWell.java index 6ae832f20f..3e6fff3ab0 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerMachineOilWell.java +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineOilWell.java @@ -1,7 +1,7 @@ package com.hbm.inventory.container; import com.hbm.inventory.SlotMachineOutput; -import com.hbm.tileentity.machine.TileEntityMachineOilWell; +import com.hbm.tileentity.machine.oil.TileEntityMachineOilWell; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachinePumpjack.java b/src/main/java/com/hbm/inventory/container/ContainerMachinePumpjack.java index e9c339210f..4ec10a2aac 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerMachinePumpjack.java +++ b/src/main/java/com/hbm/inventory/container/ContainerMachinePumpjack.java @@ -1,7 +1,7 @@ package com.hbm.inventory.container; import com.hbm.inventory.SlotMachineOutput; -import com.hbm.tileentity.machine.TileEntityMachinePumpjack; +import com.hbm.tileentity.machine.oil.TileEntityMachinePumpjack; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineRefinery.java b/src/main/java/com/hbm/inventory/container/ContainerMachineRefinery.java index cc8a829781..66f1153190 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerMachineRefinery.java +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineRefinery.java @@ -1,7 +1,7 @@ package com.hbm.inventory.container; import com.hbm.inventory.SlotMachineOutput; -import com.hbm.tileentity.machine.TileEntityMachineRefinery; +import com.hbm.tileentity.machine.oil.TileEntityMachineRefinery; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineFrackingTower.java b/src/main/java/com/hbm/inventory/gui/GUIMachineFrackingTower.java new file mode 100644 index 0000000000..baa0122b42 --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineFrackingTower.java @@ -0,0 +1,73 @@ +package com.hbm.inventory.gui; + +import com.hbm.forgefluid.FFUtils; +import com.hbm.inventory.container.ContainerMachineFrackingTower; +import com.hbm.lib.RefStrings; +import com.hbm.tileentity.machine.oil.TileEntityMachineFrackingTower; +import com.hbm.tileentity.machine.oil.TileEntityMachinePumpjack; +import net.minecraft.client.Minecraft; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.ResourceLocation; +import org.lwjgl.opengl.GL11; + +public class GUIMachineFrackingTower extends GuiInfoContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_fracking_tower.png"); + private TileEntityMachineFrackingTower frackingTower; + + public GUIMachineFrackingTower(InventoryPlayer invPlayer, TileEntityMachineFrackingTower tedf) { + super(new ContainerMachineFrackingTower(invPlayer, tedf)); + frackingTower = tedf; + + this.xSize = 176; + this.ySize = 222; + } + + @Override + public void drawScreen(int mouseX, int mouseY, float f) { + super.drawScreen(mouseX, mouseY, f); + + FFUtils.renderTankInfo(this, mouseX, mouseY, guiLeft + 80, guiTop + 70 - 52, 34, 52, frackingTower.tanks[0], frackingTower.tankTypes[0]); + FFUtils.renderTankInfo(this, mouseX, mouseY, guiLeft + 80, guiTop + 124 - 52, 34, 52, frackingTower.tanks[1], frackingTower.tankTypes[1]); + FFUtils.renderTankInfo(this, mouseX, mouseY, guiLeft + 155, guiTop + 124 - 52, 16, 52, frackingTower.tanks[2], frackingTower.tankTypes[2]); + + this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 8, guiTop + 70 - 52, 16, 52, frackingTower.power, TileEntityMachineFrackingTower.maxPower); + super.renderHoveredToolTip(mouseX, mouseY); + } + + @Override + protected void drawGuiContainerForegroundLayer( int i, int j) { + String name = this.frackingTower.hasCustomInventoryName() ? this.frackingTower.getInventoryName() : I18n.format(this.frackingTower.getInventoryName()); + + this.fontRenderer.drawString(name, this.xSize / 2 - this.fontRenderer.getStringWidth(name) / 2, 6, 4210752); + this.fontRenderer.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float p_146976_1_, int p_146976_2_, int p_146976_3_) { + super.drawDefaultBackground(); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); + drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + int i = (int)frackingTower.getPowerScaled(53); + drawTexturedModalRect(guiLeft + 8, guiTop + 70 - i, 176, 52 - i, 16, i); + + int k = frackingTower.warning; + if(k == 2) + drawTexturedModalRect(guiLeft + 43, guiTop + 17, 176, 52, 18, 18); + if(k == 1) + drawTexturedModalRect(guiLeft + 43, guiTop + 17, 194, 52, 18, 18); + + int l = frackingTower.warning2; + if(l == 1) + drawTexturedModalRect(guiLeft + 43, guiTop + 89, 212, 52, 18, 18); + if(l == 2) + drawTexturedModalRect(guiLeft + 43, guiTop + 89, 230, 52, 18, 18); + + FFUtils.drawLiquid(frackingTower.tanks[0], guiLeft, guiTop, zLevel, 34, 52, 80, 98); + FFUtils.drawLiquid(frackingTower.tanks[1], guiLeft, guiTop, zLevel, 34, 52, 80, 152); + FFUtils.drawLiquid(frackingTower.tanks[2], guiLeft, guiTop, zLevel, 16, 52, 155, 152); + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineGasFlare.java b/src/main/java/com/hbm/inventory/gui/GUIMachineGasFlare.java index 01083aa0ac..bb1399e37e 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineGasFlare.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineGasFlare.java @@ -5,7 +5,7 @@ import com.hbm.forgefluid.FFUtils; import com.hbm.inventory.container.ContainerMachineGasFlare; import com.hbm.lib.RefStrings; -import com.hbm.tileentity.machine.TileEntityMachineGasFlare; +import com.hbm.tileentity.machine.oil.TileEntityMachineGasFlare; import net.minecraft.client.Minecraft; import net.minecraft.client.resources.I18n; diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineOilWell.java b/src/main/java/com/hbm/inventory/gui/GUIMachineOilWell.java index 524d1b4a6c..c9b9010507 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineOilWell.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineOilWell.java @@ -5,7 +5,7 @@ import com.hbm.forgefluid.FFUtils; import com.hbm.inventory.container.ContainerMachineOilWell; import com.hbm.lib.RefStrings; -import com.hbm.tileentity.machine.TileEntityMachineOilWell; +import com.hbm.tileentity.machine.oil.TileEntityMachineOilWell; import net.minecraft.client.Minecraft; import net.minecraft.client.resources.I18n; diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachinePumpjack.java b/src/main/java/com/hbm/inventory/gui/GUIMachinePumpjack.java index ab8649606e..9cd108bdb2 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachinePumpjack.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachinePumpjack.java @@ -5,7 +5,7 @@ import com.hbm.forgefluid.FFUtils; import com.hbm.inventory.container.ContainerMachinePumpjack; import com.hbm.lib.RefStrings; -import com.hbm.tileentity.machine.TileEntityMachinePumpjack; +import com.hbm.tileentity.machine.oil.TileEntityMachinePumpjack; import net.minecraft.client.Minecraft; import net.minecraft.client.resources.I18n; diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineRefinery.java b/src/main/java/com/hbm/inventory/gui/GUIMachineRefinery.java index ad1a6837a6..505b436191 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineRefinery.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineRefinery.java @@ -5,7 +5,7 @@ import com.hbm.forgefluid.FFUtils; import com.hbm.inventory.container.ContainerMachineRefinery; import com.hbm.lib.RefStrings; -import com.hbm.tileentity.machine.TileEntityMachineRefinery; +import com.hbm.tileentity.machine.oil.TileEntityMachineRefinery; import net.minecraft.client.Minecraft; import net.minecraft.client.resources.I18n; diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index eef47e81a6..0904e6e47a 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -1276,7 +1276,9 @@ public class ModItems { public static final Item dust = new ItemFuelHazard("dust", 400, false).addCoal(1).toItem().setCreativeTab(MainRegistry.partsTab); public static final Item fallout = new ItemContaminating(ItemHazard.fo, "falloutitem").setCreativeTab(MainRegistry.partsTab); public static final Item containment_box = new ItemLeadBox("containment_box").setCreativeTab(null); - + + public static final Item scrap_oil = new ItemBase("scrap_oil").setCreativeTab(MainRegistry.partsTab); + public static final Item pellet_rtg_depleted_bismuth = new ItemHazard(1F, "pellet_rtg_depleted_bismuth").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab); public static final Item pellet_rtg_depleted_lead = new ItemHazard(0.5F, "pellet_rtg_depleted_lead").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab); public static final Item pellet_rtg_depleted_mercury = new ItemHazard(4.25F, "pellet_rtg_depleted_mercury").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab); @@ -3246,6 +3248,7 @@ public class ModItems { public static final Item chopper_wing = new ItemBase("chopper_wing").setCreativeTab(MainRegistry.partsTab); public static final Item chopper_blades = new ItemBase("chopper_blades").setCreativeTab(MainRegistry.partsTab); public static final Item combine_scrap = new ItemBase("combine_scrap").setCreativeTab(MainRegistry.partsTab); + public static final Item shimmer_head = new ItemBase("shimmer_head").setCreativeTab(MainRegistry.partsTab); public static final Item shimmer_axe_head = new ItemBase("shimmer_axe_head").setCreativeTab(MainRegistry.partsTab); diff --git a/src/main/java/com/hbm/items/machine/ItemChemistryTemplate.java b/src/main/java/com/hbm/items/machine/ItemChemistryTemplate.java index 6a55d4b472..0dca1b553c 100644 --- a/src/main/java/com/hbm/items/machine/ItemChemistryTemplate.java +++ b/src/main/java/com/hbm/items/machine/ItemChemistryTemplate.java @@ -105,7 +105,8 @@ public enum EnumChemistryTemplate { VIT_LIQUID, VIT_GAS, TEL, - GASOLINE; + GASOLINE, + FRACKSOL; public static EnumChemistryTemplate getEnum(int i) { if(i < EnumChemistryTemplate.values().length) @@ -152,7 +153,8 @@ public void getSubItems(CreativeTabs tab, NonNullList list) { } } } - + + public static int getProcessTime(ItemStack stack) { if(!(stack.getItem() instanceof ItemChemistryTemplate)) @@ -304,6 +306,8 @@ public static int getProcessTime(ItemStack stack) { return 40; case GASOLINE: return 40; + case FRACKSOL: + return 20; default: return 100; } diff --git a/src/main/java/com/hbm/lib/HbmWorldGen.java b/src/main/java/com/hbm/lib/HbmWorldGen.java index d6629a5a8a..bedcdcb578 100644 --- a/src/main/java/com/hbm/lib/HbmWorldGen.java +++ b/src/main/java/com/hbm/lib/HbmWorldGen.java @@ -35,27 +35,33 @@ import com.hbm.world.dungeon.AncientTomb; import com.hbm.world.dungeon.ArcticVault; import com.hbm.world.feature.DepthDeposit; +import com.hbm.world.feature.OilSpot; import com.hbm.world.generator.CellularDungeonFactory; import com.hbm.world.generator.DungeonToolbox; +import net.minecraft.block.Block; import net.minecraft.block.BlockOldLog; import net.minecraft.block.BlockPlanks; import net.minecraft.block.BlockSkull; import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; import net.minecraft.block.state.pattern.BlockMatcher; +import net.minecraft.block.state.pattern.BlockStateMatcher; import net.minecraft.init.Biomes; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; +import net.minecraft.server.MinecraftServer; import net.minecraft.tileentity.TileEntityChest; import net.minecraft.tileentity.TileEntitySkull; import net.minecraft.util.EnumFacing; import net.minecraft.util.math.BlockPos; +import net.minecraft.util.text.TextComponentString; import net.minecraft.world.World; import net.minecraft.world.biome.Biome; import net.minecraft.world.chunk.IChunkProvider; import net.minecraft.world.gen.IChunkGenerator; import net.minecraft.world.gen.feature.WorldGenMinable; +import net.minecraftforge.fml.common.FMLCommonHandler; import net.minecraftforge.fml.common.IWorldGenerator; public class HbmWorldGen implements IWorldGenerator { @@ -176,6 +182,24 @@ private void generateSurface(World world, Random rand, int i, int j) { } } } + + if(WorldConfig.bedrockOilSpawn > 0 && rand.nextInt(WorldConfig.bedrockOilSpawn) == 0) { + int randPosX = i + rand.nextInt(16); + int randPosZ = j + rand.nextInt(16); + + for (int v = 5; v >= -5; v--) { + for (int w = 5; w >= -5; w--) { + for (int y = 6; y >= 0; y--) { + if (world.getBlockState(new BlockPos(randPosX + w, y, randPosZ + v)).getBlock().isReplaceableOreGen(world.getBlockState(new BlockPos(randPosX + w, y, randPosZ + v)), world, new BlockPos(randPosX + w, y, randPosZ + v), BlockMatcher.forBlock(Blocks.BEDROCK))) { + world.setBlockState(new BlockPos(randPosX + w, y, randPosZ + v), ModBlocks.ore_bedrock_oil.getDefaultState()); + } + } + } + } + + DungeonToolbox.generateOre(world, rand, i, j, 16, 8, 10, 50, ModBlocks.stone_porous); + OilSpot.generateOilSpot(world, randPosX, randPosZ, 5, 50); + } if(GeneralConfig.enable528ColtanDeposit) { for (int k = 0; k < 2; k++) { diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 2cadfa3c84..a8c704bac4 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -506,27 +506,28 @@ import com.hbm.tileentity.machine.TileEntityMachineEPress; import com.hbm.tileentity.machine.TileEntityMachineFENSU; import com.hbm.tileentity.machine.TileEntityMachineFluidTank; -import com.hbm.tileentity.machine.TileEntityMachineFractionTower; +import com.hbm.tileentity.machine.oil.TileEntityMachineFractionTower; import com.hbm.tileentity.machine.TileEntityMachineGasCent; -import com.hbm.tileentity.machine.TileEntityMachineGasFlare; +import com.hbm.tileentity.machine.oil.TileEntityMachineGasFlare; import com.hbm.tileentity.machine.TileEntityMachineIGenerator; import com.hbm.tileentity.machine.TileEntityMachineLargeTurbine; import com.hbm.tileentity.machine.TileEntityMachineMiniRTG; import com.hbm.tileentity.machine.TileEntityMachineMiningDrill; import com.hbm.tileentity.machine.TileEntityMachineMiningLaser; import com.hbm.tileentity.machine.TileEntityMachineMissileAssembly; -import com.hbm.tileentity.machine.TileEntityMachineOilWell; +import com.hbm.tileentity.machine.oil.TileEntityMachineOilWell; import com.hbm.tileentity.machine.TileEntityMachineOrbus; import com.hbm.tileentity.machine.TileEntityMachinePlasmaHeater; import com.hbm.tileentity.machine.TileEntityMachinePress; import com.hbm.tileentity.machine.TileEntityMachinePuF6Tank; -import com.hbm.tileentity.machine.TileEntityMachinePumpjack; +import com.hbm.tileentity.machine.oil.TileEntityMachinePumpjack; +import com.hbm.tileentity.machine.oil.TileEntityMachineFrackingTower; import com.hbm.tileentity.machine.TileEntityMachineRTG; import com.hbm.tileentity.machine.TileEntityMachineRadGen; import com.hbm.tileentity.machine.TileEntityMachineRadar; import com.hbm.tileentity.machine.TileEntityMachineReactor; import com.hbm.tileentity.machine.TileEntityMachineReactorSmall; -import com.hbm.tileentity.machine.TileEntityMachineRefinery; +import com.hbm.tileentity.machine.oil.TileEntityMachineRefinery; import com.hbm.tileentity.machine.TileEntityMachineSatDock; import com.hbm.tileentity.machine.TileEntityMachineSeleniumEngine; import com.hbm.tileentity.machine.TileEntityMachineTurbofan; @@ -735,6 +736,7 @@ public void registerRenderInfo() ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineRadGen.class, new RenderRadGen()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineOilWell.class, new RenderDerrick()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachinePumpjack.class, new RenderPumpjack()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineFrackingTower.class, new RenderFrackingTower()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineGasFlare.class, new RenderGasFlare()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineMiningDrill.class, new RenderMiningDrill()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineTurbofan.class, new RenderTurbofan()); diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 06b6300c82..a983c5c3de 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -2720,6 +2720,7 @@ public static void addSmelting(){ GameRegistry.addSmelting(ModItems.powder_tcalloy, new ItemStack(ModItems.ingot_tcalloy), 1.0F); GameRegistry.addSmelting(ModItems.powder_au198, new ItemStack(ModItems.ingot_au198), 1.0F); GameRegistry.addSmelting(ModItems.powder_tantalium, new ItemStack(ModItems.ingot_tantalium), 1.0F); + GameRegistry.addSmelting(ModItems.powder_niobium, new ItemStack(ModItems.ingot_niobium), 1.0F); GameRegistry.addSmelting(ModItems.powder_ac227, new ItemStack(ModItems.ingot_ac227), 1.0F); GameRegistry.addSmelting(ModItems.powder_co60, new ItemStack(ModItems.ingot_co60), 1.0F); GameRegistry.addSmelting(ModItems.powder_ra226, new ItemStack(ModItems.ingot_ra226), 1.0F); diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index e9d06f09a5..4083a9ba86 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -7,6 +7,7 @@ import java.util.List; import java.util.Random; +import com.hbm.tileentity.machine.oil.*; import org.apache.logging.log4j.Logger; import com.hbm.blocks.ModBlocks; @@ -340,9 +341,6 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; -import net.minecraft.world.storage.loot.LootEntry; -import net.minecraft.world.storage.loot.LootPool; -import net.minecraft.world.storage.loot.LootTableList; import net.minecraftforge.common.ForgeChunkManager; import net.minecraftforge.common.ForgeChunkManager.LoadingCallback; import net.minecraftforge.common.ForgeChunkManager.Ticket; @@ -350,10 +348,8 @@ import net.minecraftforge.common.capabilities.CapabilityManager; import net.minecraftforge.common.config.Configuration; import net.minecraftforge.common.util.EnumHelper; -import net.minecraftforge.event.LootTableLoadEvent; import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fml.common.Loader; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod.EventHandler; import net.minecraftforge.fml.common.SidedProxy; @@ -644,6 +640,7 @@ public void preInit(FMLPreInitializationEvent event) { GameRegistry.registerTileEntity(TileEntityWasteDrum.class, new ResourceLocation(RefStrings.MODID, "tileentity_waste_drum")); GameRegistry.registerTileEntity(TileEntityMachineOilWell.class, new ResourceLocation(RefStrings.MODID, "tileentity_machine_oil_well")); GameRegistry.registerTileEntity(TileEntityMachinePumpjack.class, new ResourceLocation(RefStrings.MODID, "tileentity_machine_pumpjack")); + GameRegistry.registerTileEntity(TileEntityMachineFrackingTower.class, new ResourceLocation(RefStrings.MODID, "tileentity_machine_fracking_tower")); GameRegistry.registerTileEntity(TileEntityMachineGasFlare.class, new ResourceLocation(RefStrings.MODID, "tileentity_machine_gas_flare")); GameRegistry.registerTileEntity(TileEntityMachineMiningDrill.class, new ResourceLocation(RefStrings.MODID, "tileentity_machine_mining_drill")); GameRegistry.registerTileEntity(TileEntityMachineTurbofan.class, new ResourceLocation(RefStrings.MODID, "tileentity_machine_turbofan")); diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index 0c0c304a90..6955127051 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -637,6 +637,9 @@ public void textureStitch(TextureStitchEvent.Pre evt) { evt.getMap().registerSprite(new ResourceLocation(RefStrings.MODID, "blocks/forgefluid/petroil_still")); evt.getMap().registerSprite(new ResourceLocation(RefStrings.MODID, "blocks/forgefluid/petroil_flowing")); + evt.getMap().registerSprite(new ResourceLocation(RefStrings.MODID, "blocks/forgefluid/fracksol_still")); + evt.getMap().registerSprite(new ResourceLocation(RefStrings.MODID, "blocks/forgefluid/fracksol_flowing")); + evt.getMap().registerSprite(new ResourceLocation(RefStrings.MODID, "blocks/forgefluid/lubricant_still")); evt.getMap().registerSprite(new ResourceLocation(RefStrings.MODID, "blocks/forgefluid/lubricant_flowing")); diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 2ce078a8f5..52aa4b26c7 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -276,8 +276,7 @@ public class ResourceManager { //Radgen public static final IModelCustom radgen_body = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/radgen.obj")); - //Pumpjack - public static final IModelCustom pumpjack = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/pumpjack.obj")); + //Refinery public static final IModelCustom refinery = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/refinery.obj")); @@ -339,9 +338,11 @@ public class ResourceManager { public static IModelCustom spinny_light = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/spinny_light.obj")); - //Derrick + //Oil Pumps public static final IModelCustom derrick = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/derrick.obj")); - + public static final IModelCustom pumpjack = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/pumpjack.obj")); + public static final IModelCustom fracking_tower = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/fracking_tower.obj")); + //Missile Parts public static final IModelCustom missile_pad = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missilePad.obj")); public static final IModelCustom missile_assembly = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_assembly.obj")); @@ -544,11 +545,13 @@ public class ResourceManager { public static final ResourceLocation mine_shrap_tex = new ResourceLocation(RefStrings.MODID, "textures/models/mine_shrap.png"); public static final ResourceLocation mine_fat_tex = new ResourceLocation(RefStrings.MODID, "textures/models/mine_fat.png"); - //Derrick + //Oil Pumps public static final ResourceLocation derrick_tex = new ResourceLocation(RefStrings.MODID, "textures/models/derrick.png"); - - //Pumpjack public static final ResourceLocation pumpjack_tex = new ResourceLocation(RefStrings.MODID, "textures/models/pumpjack.png"); + public static final ResourceLocation fracking_tower_tex = new ResourceLocation(RefStrings.MODID, "textures/models/fracking_tower.png"); + + //Pipes + public static final IModelCustom pipe_neo = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/pipe_neo.obj")); //Refinery public static final ResourceLocation refinery_tex = new ResourceLocation(RefStrings.MODID, "textures/models/refinery.png"); diff --git a/src/main/java/com/hbm/packet/TEPumpjackPacket.java b/src/main/java/com/hbm/packet/TEPumpjackPacket.java index 414ff910da..f6e49d0c59 100644 --- a/src/main/java/com/hbm/packet/TEPumpjackPacket.java +++ b/src/main/java/com/hbm/packet/TEPumpjackPacket.java @@ -1,6 +1,6 @@ package com.hbm.packet; -import com.hbm.tileentity.machine.TileEntityMachinePumpjack; +import com.hbm.tileentity.machine.oil.TileEntityMachinePumpjack; import io.netty.buffer.ByteBuf; import net.minecraft.client.Minecraft; diff --git a/src/main/java/com/hbm/render/item/ItemRenderLibrary.java b/src/main/java/com/hbm/render/item/ItemRenderLibrary.java index abeffc51fd..86dcf2ad72 100644 --- a/src/main/java/com/hbm/render/item/ItemRenderLibrary.java +++ b/src/main/java/com/hbm/render/item/ItemRenderLibrary.java @@ -320,6 +320,18 @@ public void renderCommon() { GlStateManager.enableCull(); }}); + renderers.put(Item.getItemFromBlock(ModBlocks.machine_fracking_tower), new ItemRenderBase() { + public void renderInventory() { + GL11.glTranslated(0, -4.5, 0); + GL11.glScaled(2.5, 2.5, 2.5); + } + public void renderCommon() { + GL11.glScaled(0.25, 0.25, 0.25); + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.fracking_tower_tex); ResourceManager.fracking_tower.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + }}); + renderers.put(Item.getItemFromBlock(ModBlocks.machine_flare), new ItemRenderBase() { public void renderInventory() { GL11.glTranslated(0, -4, 0); diff --git a/src/main/java/com/hbm/render/tileentity/RenderDerrick.java b/src/main/java/com/hbm/render/tileentity/RenderDerrick.java index e94f36bcea..02e399bf0a 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderDerrick.java +++ b/src/main/java/com/hbm/render/tileentity/RenderDerrick.java @@ -3,7 +3,7 @@ import org.lwjgl.opengl.GL11; import com.hbm.main.ResourceManager; -import com.hbm.tileentity.machine.TileEntityMachineOilWell; +import com.hbm.tileentity.machine.oil.TileEntityMachineOilWell; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; diff --git a/src/main/java/com/hbm/render/tileentity/RenderFrackingTower.java b/src/main/java/com/hbm/render/tileentity/RenderFrackingTower.java new file mode 100644 index 0000000000..175db9f68d --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderFrackingTower.java @@ -0,0 +1,53 @@ +package com.hbm.render.tileentity; + +import com.hbm.tileentity.machine.oil.TileEntityMachineFrackingTower; +import org.lwjgl.opengl.GL11; + +import com.hbm.lib.RefStrings; +import com.hbm.main.ResourceManager; + +import net.minecraft.client.renderer.GlStateManager; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; + +import net.minecraft.util.ResourceLocation; + +public class RenderFrackingTower extends TileEntitySpecialRenderer { + + public static final ResourceLocation pipe_tex = new ResourceLocation(RefStrings.MODID, "textures/blocks/pipe_neo.png"); + + @Override + public boolean isGlobalRenderer(TileEntityMachineFrackingTower te) + { + return true; + } + + @Override + public void render(TileEntityMachineFrackingTower te, double x, double y, double z, float partialTicks, int destroyStage, float alpha) { + + GlStateManager.pushMatrix(); + + GlStateManager.translate(x + 0.5D, y, z + 0.5D); + GlStateManager.enableLighting(); + GlStateManager.disableCull(); + GlStateManager.rotate(180, 0F, 1F, 0F); + + GlStateManager.shadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.fracking_tower_tex); + ResourceManager.fracking_tower.renderAll(); + GlStateManager.shadeModel(GL11.GL_FLAT); + + GlStateManager.translate(0, 0.5, 0); + + bindTexture(pipe_tex); + ResourceManager.pipe_neo.renderPart("pX"); + ResourceManager.pipe_neo.renderPart("nX"); + ResourceManager.pipe_neo.renderPart("pZ"); + ResourceManager.pipe_neo.renderPart("nZ"); + + GlStateManager.enableCull(); + + GlStateManager.popMatrix(); + + + } +} \ No newline at end of file diff --git a/src/main/java/com/hbm/render/tileentity/RenderFractionTower.java b/src/main/java/com/hbm/render/tileentity/RenderFractionTower.java index 4ceb72ac56..709c89bbb2 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderFractionTower.java +++ b/src/main/java/com/hbm/render/tileentity/RenderFractionTower.java @@ -3,7 +3,7 @@ import org.lwjgl.opengl.GL11; import com.hbm.main.ResourceManager; -import com.hbm.tileentity.machine.TileEntityMachineFractionTower; +import com.hbm.tileentity.machine.oil.TileEntityMachineFractionTower; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; diff --git a/src/main/java/com/hbm/render/tileentity/RenderGasFlare.java b/src/main/java/com/hbm/render/tileentity/RenderGasFlare.java index eb26787e25..9f31242270 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderGasFlare.java +++ b/src/main/java/com/hbm/render/tileentity/RenderGasFlare.java @@ -3,7 +3,7 @@ import org.lwjgl.opengl.GL11; import com.hbm.main.ResourceManager; -import com.hbm.tileentity.machine.TileEntityMachineGasFlare; +import com.hbm.tileentity.machine.oil.TileEntityMachineGasFlare; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; diff --git a/src/main/java/com/hbm/render/tileentity/RenderPumpjack.java b/src/main/java/com/hbm/render/tileentity/RenderPumpjack.java index 7a93e835cb..ff311f6eff 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderPumpjack.java +++ b/src/main/java/com/hbm/render/tileentity/RenderPumpjack.java @@ -4,7 +4,7 @@ import com.hbm.render.amlfrom1710.Vec3; import com.hbm.main.ResourceManager; -import com.hbm.tileentity.machine.TileEntityMachinePumpjack; +import com.hbm.tileentity.machine.oil.TileEntityMachinePumpjack; import net.minecraft.client.renderer.BufferBuilder; import net.minecraft.client.renderer.GlStateManager; diff --git a/src/main/java/com/hbm/render/tileentity/RenderRefinery.java b/src/main/java/com/hbm/render/tileentity/RenderRefinery.java index 588e6a278e..795d6ea3c9 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderRefinery.java +++ b/src/main/java/com/hbm/render/tileentity/RenderRefinery.java @@ -3,7 +3,7 @@ import org.lwjgl.opengl.GL11; import com.hbm.main.ResourceManager; -import com.hbm.tileentity.machine.TileEntityMachineRefinery; +import com.hbm.tileentity.machine.oil.TileEntityMachineRefinery; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineFrackingTower.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineFrackingTower.java new file mode 100644 index 0000000000..1e6740c29c --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineFrackingTower.java @@ -0,0 +1,323 @@ +package com.hbm.tileentity.machine.oil; + +import com.hbm.blocks.ModBlocks; +import com.hbm.entity.particle.EntityGasFX; +import com.hbm.forgefluid.FFUtils; +import com.hbm.forgefluid.ModForgeFluids; +import com.hbm.items.ModItems; +import com.hbm.lib.Library; +import com.hbm.packet.AuxElectricityPacket; +import com.hbm.packet.FluidTankPacket; +import com.hbm.packet.PacketDispatcher; +import com.hbm.world.feature.OilSpot; +import net.minecraft.block.Block; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.math.AxisAlignedBB; +import net.minecraft.util.math.BlockPos; +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.fluids.FluidTank; +import net.minecraftforge.fluids.capability.IFluidTankProperties; +import net.minecraftforge.fml.common.network.NetworkRegistry; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; + + +public class TileEntityMachineFrackingTower extends TileEntityOilDrillBase { + + public static final long maxPower = 5000000; + + protected static final int consumption = 5000; + private static final int solutionRequired = 10; + + protected static final int delay = 20; + protected static final int oilPerDeposit = 1000; + + protected static final int oilPerBedrockDeposit = 100; + protected static final int gasPerBedrockDepositMin = 10; + protected static final int extraGasPerBedrockDepositMax = 50; + + protected static final int destructionRange = 75; + + + public TileEntityMachineFrackingTower() + { + tanks[2] = new FluidTank(64000); + tankTypes[2] = ModForgeFluids.fracksol; + } + + public String getInventoryName() { return this.hasCustomInventoryName() ? this.getCustomName() : "container.frackingTower"; } + + + + @Override + public void update() { + int timer = delay; + + age++; + age2++; + if(age >= timer) + age -= timer; + if(age2 >= 20) + age2 -= 20; + if(!world.isRemote) { + int tank0Amount = tanks[0].getFluidAmount(); + int tank1Amount = tanks[1].getFluidAmount(); + int tank2Amount = tanks[2].getFluidAmount(); + + if(age2 == 9 || age2 == 19) { + fillFluidInit(tanks[0]); + fillFluidInit(tanks[1]); + } + + if(FFUtils.fillFluidContainer(inventory, tanks[0], 1, 2)) + needsUpdate = true; + if(FFUtils.fillFluidContainer(inventory, tanks[1], 3, 4)) + needsUpdate = true; + + if(needsUpdate) { + needsUpdate = false; + } + power = Library.chargeTEFromItems(inventory, 0, power, maxPower); + + if(power >= consumption && tank2Amount >= solutionRequired && !(tank0Amount >= tanks[0].getCapacity() || tank1Amount >= tanks[1].getCapacity())) { + + // operation start + + if(age == timer - 1) { + warning = 0; + + // warning 0, green: fracking tower is operational + // warning 1, red: fracking tower is full, has no power, has no fracking solution or the + // drill is jammed + // warning 2, yellow: drill has reached max depth + + for(int i = pos.getY() - 1; i > pos.getY() - 1 - 100; i--) { + + if(i <= 5) { + // Code 2: The drilling ended + warning = 2; + break; + } + + Block b = world.getBlockState(new BlockPos(pos.getX(), i, pos.getZ())).getBlock(); + if(b == ModBlocks.oil_pipe) + continue; + + if((b.isReplaceable(world, new BlockPos(pos.getX(), i, pos.getZ())) || b.getExplosionResistance(null) < 100) && !(b == ModBlocks.ore_oil || b == ModBlocks.ore_oil_empty)) { + world.setBlockState(new BlockPos(pos.getX(), i, pos.getZ()), ModBlocks.oil_pipe.getDefaultState()); + + // Code 2: The drilling ended + if(i == pos.getY() - 200) + warning = 2; + break; + + } else if(this.tanks[0].getFluidAmount() < this.tanks[0].getCapacity() && this.tanks[1].getFluidAmount() < this.tanks[1].getCapacity()) { + + final int succNumber = succWithBedrockOil(pos.getX(), i, pos.getZ()); + if(succNumber != 0) { + + if (succNumber == 1) { + this.tanks[0].fill(new FluidStack(tankTypes[0], oilPerDeposit), true); + this.tanks[1].fill(new FluidStack(tankTypes[1], (gasPerDepositMin + rand.nextInt(extraGasPerDepositMax))), true); + } + else { + this.tanks[0].fill(new FluidStack(tankTypes[0], oilPerBedrockDeposit), true); + this.tanks[1].fill(new FluidStack(tankTypes[1], (gasPerBedrockDepositMin + rand.nextInt(extraGasPerBedrockDepositMax))), true); + } + needsUpdate = true; + + OilSpot.generateOilSpot(world, pos.getX(), pos.getZ(), destructionRange, 10); + + break; + } else { + world.setBlockState(new BlockPos(pos.getX(), i, pos.getZ()), ModBlocks.oil_pipe.getDefaultState()); + break; + } + + } else { + // Code 1: Drill jammed + warning = 1; + break; + } + } + } + + // operation end + + power -= consumption; + tanks[2].drain(solutionRequired, true); + } else { + warning = 1; + } + + warning2 = 0; + if(tanks[1].getFluidAmount() > 0) { + if(inventory.getStackInSlot(5).getItem() == ModItems.fuse || inventory.getStackInSlot(5).getItem() == ModItems.screwdriver) { + warning2 = 2; + tanks[1].drain(50, true); + needsUpdate = true; + world.spawnEntity(new EntityGasFX(world, pos.getX() + 0.5F, pos.getY() + 19F, pos.getZ() + 0.5F, 0.0, 0.0, 0.0)); + } else { + warning2 = 1; + } + } + + PacketDispatcher.wrapper.sendToAllAround(new AuxElectricityPacket(pos, power), new NetworkRegistry.TargetPoint(world.provider.getDimension(), pos.getX(), pos.getY(), pos.getZ(), 10)); + PacketDispatcher.wrapper.sendToAllAround(new FluidTankPacket(pos, new FluidTank[] { tanks[0], tanks[1], tanks[2] }), new NetworkRegistry.TargetPoint(world.provider.getDimension(), pos.getX(), pos.getY(), pos.getZ(), 10)); + if(tank0Amount != tanks[0].getFluidAmount() || tank1Amount != tanks[1].getFluidAmount() || tank2Amount != tanks[2].getFluidAmount()){ + markDirty(); + } + } + } + + public int succWithBedrockOil(int x, int y, int z) { + + list.clear(); + + succ1(x, y, z); + succ2(x, y, z); + + if(!list.isEmpty()) { + + int i = rand.nextInt(list.size()); + int a = list.get(i)[0]; + int b = list.get(i)[1]; + int c = list.get(i)[2]; + BlockPos abc = new BlockPos(a, b, c); + + + if(world.getBlockState(abc).getBlock() == ModBlocks.ore_oil) { + + world.setBlockState(abc, ModBlocks.ore_oil_empty.getDefaultState()); + return 1; + } + else if (world.getBlockState(abc).getBlock() == ModBlocks.ore_bedrock_oil) { + return 2; + } + } + + processed.clear(); + + return 0; + } + + + public void fillFluidInit(FluidTank tank) { + needsUpdate = FFUtils.fillFluid(this, tank, world, pos.add(1, 0, 0), 2000) || needsUpdate; + needsUpdate = FFUtils.fillFluid(this, tank, world, pos.add(-1, 0, 0), 2000) || needsUpdate; + needsUpdate = FFUtils.fillFluid(this, tank, world, pos.add(0, 0, 1), 2000) || needsUpdate; + needsUpdate = FFUtils.fillFluid(this, tank, world, pos.add(0, 0, -1), 2000) || needsUpdate; + + } + + + + public FluidStack drain(FluidStack resource, boolean doDrain) { + if(resource == null) { + return null; + } else if(resource.getFluid() == tankTypes[0]) { + int prevAmount = tanks[0].getFluidAmount(); + FluidStack drained = tanks[0].drain(resource.amount, doDrain); + if(tanks[0].getFluidAmount() != prevAmount) + needsUpdate = true; + return drained; + } else if(resource.getFluid() == tankTypes[1]) { + int prevAmount = tanks[1].getFluidAmount(); + FluidStack drained = tanks[1].drain(resource.amount, doDrain); + if(tanks[1].getFluidAmount() != prevAmount) + needsUpdate = true; + return drained; + } + else if (resource.getFluid() == tankTypes[2]) { + int prevAmount = tanks[2].getFluidAmount(); + FluidStack drained = tanks[2].drain(resource.amount, doDrain); + if (tanks[2].getFluidAmount() != prevAmount) + needsUpdate = true; + return drained; + } + else { + return null; + } + } + + public FluidStack drain(int maxDrain, boolean doDrain) { + if(tanks[0].getFluidAmount() > 0) { + int prevAmount = tanks[0].getFluidAmount(); + FluidStack drained = tanks[0].drain(maxDrain, doDrain); + if(tanks[0].getFluidAmount() != prevAmount) + needsUpdate = true; + return drained; + } else if(tanks[1].getFluidAmount() > 0) { + int prevAmount = tanks[1].getFluidAmount(); + FluidStack drained = tanks[1].drain(maxDrain, doDrain); + if(tanks[1].getFluidAmount() != prevAmount) + needsUpdate = true; + return drained; + } + else if(tanks[2].getFluidAmount() > 0) { + int prevAmount = tanks[2].getFluidAmount(); + FluidStack drained = tanks[2].drain(maxDrain, doDrain); + if(tanks[2].getFluidAmount() != prevAmount) + needsUpdate = true; + return drained; + } + else { + return null; + } + } + + @Override + public int fill(FluidStack resource, boolean doFill) { + if(resource != null){ + if(resource.getFluid() == ModForgeFluids.fracksol){ + return tanks[2].fill(resource, doFill); + } + + } + return 0; + } + + + @Override + public IFluidTankProperties[] getTankProperties() { + return new IFluidTankProperties[] { tanks[0].getTankProperties()[0], tanks[1].getTankProperties()[0], tanks[2].getTankProperties()[0]}; + } + + @Override + public void recievePacket(NBTTagCompound[] tags) { + if(tags.length != 3) { + return; + } else { + tanks[0].readFromNBT(tags[0]); + tanks[1].readFromNBT(tags[1]); + tanks[2].readFromNBT(tags[2]); + } + } + + + @Override + public void readFromNBT(NBTTagCompound compound) { + tankTypes[2] = ModForgeFluids.fracksol; + + super.readFromNBT(compound); + } + + @Override + public long getPowerScaled(long i) { + return (power * i) / maxPower; + } + + + + @Override + public AxisAlignedBB getRenderBoundingBox() { + return TileEntity.INFINITE_EXTENT_AABB; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() { + return 65536.0D; + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineFractionTower.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineFractionTower.java similarity index 99% rename from src/main/java/com/hbm/tileentity/machine/TileEntityMachineFractionTower.java rename to src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineFractionTower.java index 6a43584483..4f58e59c4d 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineFractionTower.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineFractionTower.java @@ -1,4 +1,4 @@ -package com.hbm.tileentity.machine; +package com.hbm.tileentity.machine.oil; import com.hbm.forgefluid.FFUtils; import com.hbm.forgefluid.ModForgeFluids; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGasFlare.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineGasFlare.java similarity index 99% rename from src/main/java/com/hbm/tileentity/machine/TileEntityMachineGasFlare.java rename to src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineGasFlare.java index 108436aea5..076537bd3b 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineGasFlare.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineGasFlare.java @@ -1,4 +1,4 @@ -package com.hbm.tileentity.machine; +package com.hbm.tileentity.machine.oil; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineOilWell.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineOilWell.java similarity index 50% rename from src/main/java/com/hbm/tileentity/machine/TileEntityMachineOilWell.java rename to src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineOilWell.java index 1462e8d328..6dad7869cd 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineOilWell.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineOilWell.java @@ -1,18 +1,9 @@ -package com.hbm.tileentity.machine; - -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Random; -import java.util.Set; +package com.hbm.tileentity.machine.oil; import com.hbm.blocks.ModBlocks; import com.hbm.entity.particle.EntityGasFX; import com.hbm.explosion.ExplosionLarge; import com.hbm.forgefluid.FFUtils; -import com.hbm.forgefluid.ModForgeFluids; -import com.hbm.interfaces.IConsumer; -import com.hbm.interfaces.ITankPacketAcceptor; import com.hbm.items.ModItems; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; @@ -20,118 +11,35 @@ import com.hbm.packet.PacketDispatcher; import net.minecraft.block.Block; -import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.SoundEvents; -import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.ITickable; import net.minecraft.util.SoundCategory; import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.BlockPos; -import net.minecraftforge.common.capabilities.Capability; -import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidTank; -import net.minecraftforge.fluids.capability.CapabilityFluidHandler; -import net.minecraftforge.fluids.capability.IFluidHandler; -import net.minecraftforge.fluids.capability.IFluidTankProperties; import net.minecraftforge.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; -import net.minecraftforge.items.CapabilityItemHandler; -import net.minecraftforge.items.ItemStackHandler; - -public class TileEntityMachineOilWell extends TileEntity implements ITickable, IConsumer, IFluidHandler, ITankPacketAcceptor { - public ItemStackHandler inventory; +public class TileEntityMachineOilWell extends TileEntityOilDrillBase { - public long power; - public int warning; - public int warning2; - public static final long maxPower = 100000; - public int age = 0; - public int age2 = 0; - public FluidTank[] tanks; - public Fluid[] tankTypes; - public boolean needsUpdate; - private Set processed = new HashSet(); // private static final int[] slots_top = new int[] {1}; // private static final int[] slots_bottom = new int[] {2, 0}; // private static final int[] slots_side = new int[] {0}; - Random rand = new Random(); - - private String customName; - - public TileEntityMachineOilWell() { - inventory = new ItemStackHandler(6) { - @Override - protected void onContentsChanged(int slot) { - markDirty(); - super.onContentsChanged(slot); - } - }; - tanks = new FluidTank[2]; - tankTypes = new Fluid[2]; - tanks[0] = new FluidTank(64000); - tankTypes[0] = ModForgeFluids.oil; - tanks[1] = new FluidTank(64000); - tankTypes[1] = ModForgeFluids.gas; - needsUpdate = false; - } public String getInventoryName() { - return this.hasCustomInventoryName() ? this.customName : "container.oilWell"; - } - - public boolean hasCustomInventoryName() { - return this.customName != null && this.customName.length() > 0; - } - - public void setCustomName(String name) { - this.customName = name; - } - - public boolean isUseableByPlayer(EntityPlayer player) { - if(world.getTileEntity(pos) != this) { - return false; - } else { - return player.getDistanceSq(pos.getX() + 0.5D, pos.getY() + 0.5D, pos.getZ() + 0.5D) <= 128; - } - } - - @Override - public void readFromNBT(NBTTagCompound compound) { - this.power = compound.getLong("powerTime"); - this.age = compound.getInteger("age"); - tankTypes[0] = ModForgeFluids.oil; - tankTypes[1] = ModForgeFluids.gas; - if(compound.hasKey("tanks")) - FFUtils.deserializeTankArray(compound.getTagList("tanks", 10), tanks); - if(compound.hasKey("inventory")) - inventory.deserializeNBT(compound.getCompoundTag("inventory")); - super.readFromNBT(compound); + return this.hasCustomInventoryName() ? this.getCustomName() : "container.oilWell"; } - @Override - public NBTTagCompound writeToNBT(NBTTagCompound compound) { - compound.setLong("powerTime", power); - compound.setInteger("age", age); - compound.setTag("tanks", FFUtils.serializeTankArray(tanks)); - compound.setTag("inventory", inventory.serializeNBT()); - return super.writeToNBT(compound); - } - public long getPowerScaled(long i) { - return (power * i) / maxPower; - } @SuppressWarnings("deprecation") @Override public void update() { - int timer = 50; + int timer = delay; age++; age2++; @@ -157,7 +65,7 @@ public void update() { } power = Library.chargeTEFromItems(inventory, 0, power, maxPower); - if(power >= 100) { + if(power >= 100 && !(tank0Amount >= tanks[0].getCapacity() || tank1Amount >= tanks[1].getCapacity())) { // operation start @@ -192,8 +100,8 @@ public void update() { } else if(this.tanks[0].getFluidAmount() < this.tanks[0].getCapacity() && this.tanks[1].getFluidAmount() < this.tanks[1].getCapacity()) { if(succ(pos.getX(), i, pos.getZ())) { - this.tanks[0].fill(new FluidStack(tankTypes[0], 500), true); - this.tanks[1].fill(new FluidStack(tankTypes[1], (100 + rand.nextInt(401))), true); + this.tanks[0].fill(new FluidStack(tankTypes[0], oilPerDeposit), true); + this.tanks[1].fill(new FluidStack(tankTypes[1], (gasPerDepositMin + rand.nextInt(extraGasPerDepositMax))), true); needsUpdate = true; ExplosionLarge.spawnOilSpills(world, pos.getX() + 0.5F, pos.getY() + 5.5F, pos.getZ() + 0.5F, 3); @@ -215,7 +123,7 @@ public void update() { // operation end - power -= 100; + power -= consumption; } else { warning = 1; } @@ -240,70 +148,6 @@ public void update() { } } - public boolean succ(int x, int y, int z) { - - list.clear(); - - succ1(x, y, z); - succ2(x, y, z); - - if(!list.isEmpty()) { - - int i = rand.nextInt(list.size()); - int a = list.get(i)[0]; - int b = list.get(i)[1]; - int c = list.get(i)[2]; - BlockPos abc = new BlockPos(a, b, c); - - if(world.getBlockState(abc).getBlock() == ModBlocks.ore_oil) { - - world.setBlockState(abc, ModBlocks.ore_oil_empty.getDefaultState()); - return true; - } - } - - processed.clear(); - - return false; - } - - public void succInit1(int x, int y, int z) { - succ1(x + 1, y, z); - succ1(x - 1, y, z); - succ1(x, y + 1, z); - succ1(x, y - 1, z); - succ1(x, y, z + 1); - succ1(x, y, z - 1); - } - - public void succInit2(int x, int y, int z) { - succ2(x + 1, y, z); - succ2(x - 1, y, z); - succ2(x, y + 1, z); - succ2(x, y - 1, z); - succ2(x, y, z + 1); - succ2(x, y, z - 1); - } - - List list = new ArrayList(); - - public void succ1(int x, int y, int z) { - BlockPos bp = new BlockPos(x, y, z); - if(world.getBlockState(bp).getBlock() == ModBlocks.ore_oil_empty && !processed.contains(bp)) { - processed.add(bp); - succInit1(x, y, z); - } - } - - public void succ2(int x, int y, int z) { - BlockPos bp = new BlockPos(x, y, z); - if(world.getBlockState(bp).getBlock() == ModBlocks.ore_oil_empty && processed.contains(bp)) { - processed.remove(bp); - succInit2(x, y, z); - } else if(world.getBlockState(bp).getBlock() == ModBlocks.ore_oil) { - list.add(new int[] { x, y, z }); - } - } public void fillFluidInit(FluidTank tank) { needsUpdate = FFUtils.fillFluid(this, tank, world, pos.add(-2, 0, 0), 2000) || needsUpdate; @@ -312,15 +156,6 @@ public void fillFluidInit(FluidTank tank) { needsUpdate = FFUtils.fillFluid(this, tank, world, pos.add(0, 0, 2), 2000) || needsUpdate; } - @Override - public IFluidTankProperties[] getTankProperties() { - return new IFluidTankProperties[] { tanks[0].getTankProperties()[0], tanks[1].getTankProperties()[0] }; - } - - @Override - public int fill(FluidStack resource, boolean doFill) { - return 0; - } @Override public FluidStack drain(FluidStack resource, boolean doDrain) { @@ -362,32 +197,10 @@ public FluidStack drain(int maxDrain, boolean doDrain) { } } - @Override - public void setPower(long i) { - power = i; - - } - @Override - public long getPower() { - return power; - } - @Override - public long getMaxPower() { - return maxPower; - } - @Override - public void recievePacket(NBTTagCompound[] tags) { - if(tags.length != 2) { - return; - } else { - tanks[0].readFromNBT(tags[0]); - tanks[1].readFromNBT(tags[1]); - } - } @Override public AxisAlignedBB getRenderBoundingBox() { @@ -399,27 +212,4 @@ public AxisAlignedBB getRenderBoundingBox() { public double getMaxRenderDistanceSquared() { return 65536.0D; } - - @Override - public boolean hasCapability(Capability capability, EnumFacing facing) { - if(capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY){ - return true; - } else if(capability == CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY){ - return true; - } else { - return super.hasCapability(capability, facing); - } - } - - @Override - public T getCapability(Capability capability, EnumFacing facing) { - if(capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY){ - return CapabilityItemHandler.ITEM_HANDLER_CAPABILITY.cast(inventory); - } else if(capability == CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY){ - return CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY.cast(this); - } else { - return super.getCapability(capability, facing); - } - } - } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePumpjack.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachinePumpjack.java similarity index 55% rename from src/main/java/com/hbm/tileentity/machine/TileEntityMachinePumpjack.java rename to src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachinePumpjack.java index 50d389fee1..09f384e791 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePumpjack.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachinePumpjack.java @@ -1,18 +1,9 @@ -package com.hbm.tileentity.machine; - -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Random; -import java.util.Set; +package com.hbm.tileentity.machine.oil; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.machine.MachinePumpjack; import com.hbm.entity.particle.EntityGasFX; import com.hbm.forgefluid.FFUtils; -import com.hbm.forgefluid.ModForgeFluids; -import com.hbm.interfaces.IConsumer; -import com.hbm.interfaces.ITankPacketAcceptor; import com.hbm.items.ModItems; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; @@ -22,120 +13,63 @@ import net.minecraft.block.Block; import net.minecraft.block.state.IBlockState; -import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumFacing; -import net.minecraft.util.ITickable; import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.BlockPos; -import net.minecraftforge.common.capabilities.Capability; -import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidTank; -import net.minecraftforge.fluids.capability.CapabilityFluidHandler; -import net.minecraftforge.fluids.capability.IFluidHandler; -import net.minecraftforge.fluids.capability.IFluidTankProperties; import net.minecraftforge.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; -import net.minecraftforge.items.CapabilityItemHandler; -import net.minecraftforge.items.ItemStackHandler; -public class TileEntityMachinePumpjack extends TileEntity implements ITickable, IConsumer, IFluidHandler, ITankPacketAcceptor { +public class TileEntityMachinePumpjack extends TileEntityOilDrillBase { + + protected static final int delay = 25; + protected static final int consumption = 200; + + protected static final int oilPerDeposit = 650; - public ItemStackHandler inventory; - public long power; - public int warning; - public int warning2; - public static final long maxPower = 100000; - public int age = 0; - public int age2 = 0; - public FluidTank[] tanks; - public Fluid[] tankTypes; - public boolean needsUpdate; public boolean isProgressing; public float rotation; public float prevRotation; + //private static final int[] slots_top = new int[] {1}; //private static final int[] slots_bottom = new int[] {2, 0}; //private static final int[] slots_side = new int[] {0}; - Random rand = new Random(); - - private String customName; - - public TileEntityMachinePumpjack() { - inventory = new ItemStackHandler(6){ - @Override - protected void onContentsChanged(int slot) { - markDirty(); - super.onContentsChanged(slot); - } - }; - tanks = new FluidTank[2]; - tankTypes = new Fluid[2]; - tanks[0] = new FluidTank(128000); - tankTypes[0] = ModForgeFluids.oil; - tanks[1] = new FluidTank(128000); - tankTypes[1] = ModForgeFluids.gas; - needsUpdate = false; - } - + + public String getInventoryName() { - return this.hasCustomInventoryName() ? this.customName : "container.pumpjack"; + return this.hasCustomInventoryName() ? this.getCustomName() : "container.pumpjack"; } - public boolean hasCustomInventoryName() { - return this.customName != null && this.customName.length() > 0; - } - - public void setCustomName(String name) { - this.customName = name; - } - - public boolean isUseableByPlayer(EntityPlayer player) { - if(world.getTileEntity(pos) != this) - { - return false; - }else{ - return player.getDistanceSq(pos.getX() + 0.5D, pos.getY() + 0.5D, pos.getZ() + 0.5D) <=128; - } - } - + @Override public void readFromNBT(NBTTagCompound compound) { - this.power = compound.getLong("powerTime"); - this.age = compound.getInteger("age"); - this.rotation = compound.getFloat("rotation"); - tankTypes[0] = ModForgeFluids.oil; - tankTypes[1] = ModForgeFluids.gas; - if(compound.hasKey("tanks")) - FFUtils.deserializeTankArray(compound.getTagList("tanks", 10), tanks); - if(compound.hasKey("inventory")) - inventory.deserializeNBT(compound.getCompoundTag("inventory")); super.readFromNBT(compound); + this.rotation = compound.getFloat("rotation"); + } - + @Override - public NBTTagCompound writeToNBT(NBTTagCompound compound) { - compound.setLong("powerTime", power); - compound.setInteger("age", age); + public NBTTagCompound writeToNBT(NBTTagCompound compound) + { + compound = super.writeToNBT(compound); compound.setFloat("rotation", rotation); - compound.setTag("tanks", FFUtils.serializeTankArray(tanks)); - compound.setTag("inventory", inventory.serializeNBT()); - return super.writeToNBT(compound); - } - - public long getPowerScaled(long i) { - return (power * i) / maxPower; + + return compound; } + + + @SuppressWarnings("deprecation") @Override public void update() { - int timer = 20; + int timer = delay; prevRotation = rotation; age++; age2++; @@ -163,7 +97,7 @@ public void update() { power = Library.chargeTEFromItems(inventory, 0, power, maxPower); - if(power >= 200) { + if(power >= consumption && !(tank0Amount >= tanks[0].getCapacity() || tank1Amount >= tanks[1].getCapacity())) { //operation start @@ -197,9 +131,9 @@ public void update() { } else if(this.tanks[0].getFluidAmount() < this.tanks[0].getCapacity() && this.tanks[1].getFluidAmount() < this.tanks[1].getCapacity()) { if(succ(pos.getX(), i, pos.getZ())) { - this.tanks[0].fill(new FluidStack(tankTypes[0], 650), true); + this.tanks[0].fill(new FluidStack(tankTypes[0], oilPerDeposit), true); - this.tanks[1].fill(new FluidStack(tankTypes[1], 100 + rand.nextInt(301)), true); + this.tanks[1].fill(new FluidStack(tankTypes[1], gasPerDepositMin + rand.nextInt(extraGasPerDepositMax)), true); needsUpdate = true; break; @@ -218,7 +152,7 @@ public void update() { //operation end - power -= 200; + power -= consumption; } else { warning = 1; } @@ -246,88 +180,7 @@ public void update() { } } } - - public boolean succ(int x, int y, int z) { - list.clear(); - - succ1(x, y, z); - succ2(x, y, z); - - if(!list.isEmpty()) { - - int i = rand.nextInt(list.size()); - int a = list.get(i)[0]; - int b = list.get(i)[1]; - int c = list.get(i)[2]; - BlockPos abc = new BlockPos(a, b, c); - - if(world.getBlockState(abc).getBlock() == ModBlocks.ore_oil) { - - world.setBlockState(abc, ModBlocks.ore_oil_empty.getDefaultState()); - return true; - } - } - - processed.clear(); - - return false; - } - - public void succInit1(int x, int y, int z) { - succ1(x + 1, y, z); - succ1(x - 1, y, z); - succ1(x, y + 1, z); - succ1(x, y - 1, z); - succ1(x, y, z + 1); - succ1(x, y, z - 1); - } - - public void succInit2(int x, int y, int z) { - succ2(x + 1, y, z); - succ2(x - 1, y, z); - succ2(x, y + 1, z); - succ2(x, y - 1, z); - succ2(x, y, z + 1); - succ2(x, y, z - 1); - } - - List list = new ArrayList(); - Set processed = new HashSet(); - - public void succ1(int x, int y, int z) { - BlockPos newPos = new BlockPos(x, y, z); - if(world.getBlockState(newPos).getBlock() == ModBlocks.ore_oil_empty && !processed.contains(newPos)) { - processed.add(newPos); - succInit1(x, y, z); - } - } - - public void succ2(int x, int y, int z) { - BlockPos newPos = new BlockPos(x, y, z); - if(world.getBlockState(newPos).getBlock() == ModBlocks.ore_oil_empty && processed.contains(newPos)) { - processed.remove(newPos); - succInit2(x, y, z); - } else if(world.getBlockState(newPos).getBlock() == ModBlocks.ore_oil) { - list.add(new int[] { x, y, z }); - } - } - @Override - public void setPower(long i) { - power = i; - - } - - @Override - public long getPower() { - return power; - - } - - @Override - public long getMaxPower() { - return maxPower; - } @Override public AxisAlignedBB getRenderBoundingBox() { @@ -371,16 +224,7 @@ public void fillFluidInit(FluidTank tank) { needsUpdate = FFUtils.fillFluid(this, tank, world, pos.add(-2, 0, 4), 2000) || needsUpdate; } } - - @Override - public IFluidTankProperties[] getTankProperties() { - return new IFluidTankProperties[]{tanks[0].getTankProperties()[0], tanks[1].getTankProperties()[0]}; - } - @Override - public int fill(FluidStack resource, boolean doFill) { - return 0; - } @Override public FluidStack drain(FluidStack resource, boolean doDrain) { @@ -405,37 +249,4 @@ public FluidStack drain(int maxDrain, boolean doDrain) { return null; } } - - @Override - public void recievePacket(NBTTagCompound[] tags) { - if(tags.length != 2){ - return; - } else { - tanks[0].readFromNBT(tags[0]); - tanks[1].readFromNBT(tags[1]); - } - } - - @Override - public boolean hasCapability(Capability capability, EnumFacing facing) { - if(capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY){ - return true; - } else if(capability == CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY){ - return true; - } else { - return super.hasCapability(capability, facing); - } - } - - @Override - public T getCapability(Capability capability, EnumFacing facing) { - if(capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY){ - return CapabilityItemHandler.ITEM_HANDLER_CAPABILITY.cast(inventory); - } else if(capability == CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY){ - return CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY.cast(this); - } else { - return super.getCapability(capability, facing); - } - } - } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRefinery.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineRefinery.java similarity index 99% rename from src/main/java/com/hbm/tileentity/machine/TileEntityMachineRefinery.java rename to src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineRefinery.java index 7f9b4bb58a..aae143f504 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRefinery.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineRefinery.java @@ -1,4 +1,4 @@ -package com.hbm.tileentity.machine; +package com.hbm.tileentity.machine.oil; import com.hbm.forgefluid.FFUtils; import com.hbm.forgefluid.ModForgeFluids; diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityOilDrillBase.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityOilDrillBase.java new file mode 100644 index 0000000000..9cb36c4cd9 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityOilDrillBase.java @@ -0,0 +1,244 @@ +package com.hbm.tileentity.machine.oil; + +import com.hbm.blocks.ModBlocks; +import com.hbm.forgefluid.FFUtils; +import com.hbm.forgefluid.ModForgeFluids; +import com.hbm.interfaces.IConsumer; +import com.hbm.interfaces.ITankPacketAcceptor; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.EnumFacing; +import net.minecraft.util.ITickable; +import net.minecraft.util.math.BlockPos; +import net.minecraftforge.common.capabilities.Capability; +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.fluids.FluidTank; +import net.minecraftforge.fluids.capability.CapabilityFluidHandler; +import net.minecraftforge.fluids.capability.IFluidHandler; +import net.minecraftforge.fluids.capability.IFluidTankProperties; +import net.minecraftforge.items.CapabilityItemHandler; +import net.minecraftforge.items.ItemStackHandler; + +import java.util.*; + +public abstract class TileEntityOilDrillBase extends TileEntity implements ITickable, IConsumer, IFluidHandler, ITankPacketAcceptor +{ + public ItemStackHandler inventory; + + public long power; + public int warning; + public int warning2; + public int age = 0; + public int age2 = 0; + public FluidTank[] tanks; + public Fluid[] tankTypes; + public boolean needsUpdate; + + public static final int maxPower = 100000; + protected static final int consumption = 100; + protected static final int delay = 50; + protected static final int oilPerDeposit = 500; + protected static final int gasPerDepositMin = 100; + protected static final int extraGasPerDepositMax = 401; + + + + public TileEntityOilDrillBase() { + inventory = new ItemStackHandler(6){ + @Override + protected void onContentsChanged(int slot) { + markDirty(); + super.onContentsChanged(slot); + } + }; + tanks = new FluidTank[3]; + tankTypes = new Fluid[3]; + + tanks[0] = new FluidTank(128000); + tankTypes[0] = ModForgeFluids.oil; + tanks[1] = new FluidTank(128000); + tankTypes[1] = ModForgeFluids.gas; + needsUpdate = false; + } + + Random rand = new Random(); + + private String customName; + + + public boolean hasCustomInventoryName() { + return this.customName != null && this.customName.length() > 0; + } + + public void setCustomName(String name) { + this.customName = name; + } + + protected String getCustomName() { + return customName; + } + + public boolean isUseableByPlayer(EntityPlayer player) { + if(world.getTileEntity(pos) != this) + { + return false; + }else{ + return player.getDistanceSq(pos.getX() + 0.5D, pos.getY() + 0.5D, pos.getZ() + 0.5D) <=128; + } + } + + + @Override + public void readFromNBT(NBTTagCompound compound) { + this.power = compound.getLong("powerTime"); + this.age = compound.getInteger("age"); + tankTypes[0] = ModForgeFluids.oil; + tankTypes[1] = ModForgeFluids.gas; + if(compound.hasKey("tanks")) + FFUtils.deserializeTankArray(compound.getTagList("tanks", 10), tanks); + if(compound.hasKey("inventory")) + inventory.deserializeNBT(compound.getCompoundTag("inventory")); + super.readFromNBT(compound); + } + + @Override + public NBTTagCompound writeToNBT(NBTTagCompound compound) { + compound.setLong("powerTime", power); + compound.setInteger("age", age); + compound.setTag("tanks", FFUtils.serializeTankArray(tanks)); + compound.setTag("inventory", inventory.serializeNBT()); + return super.writeToNBT(compound); + } + + public long getPowerScaled(long i) { + return (power * i) / maxPower; + } + + List list = new ArrayList(); + Set processed = new HashSet(); + + public boolean succ(int x, int y, int z) { + + list.clear(); + + succ1(x, y, z); + succ2(x, y, z); + + if(!list.isEmpty()) { + + int i = rand.nextInt(list.size()); + int a = list.get(i)[0]; + int b = list.get(i)[1]; + int c = list.get(i)[2]; + BlockPos abc = new BlockPos(a, b, c); + + if(world.getBlockState(abc).getBlock() == ModBlocks.ore_oil) { + + world.setBlockState(abc, ModBlocks.ore_oil_empty.getDefaultState()); + return true; + } + } + + processed.clear(); + + return false; + } + + public void succInit1(int x, int y, int z) { + succ1(x + 1, y, z); + succ1(x - 1, y, z); + succ1(x, y + 1, z); + succ1(x, y - 1, z); + succ1(x, y, z + 1); + succ1(x, y, z - 1); + } + + public void succInit2(int x, int y, int z) { + succ2(x + 1, y, z); + succ2(x - 1, y, z); + succ2(x, y + 1, z); + succ2(x, y - 1, z); + succ2(x, y, z + 1); + succ2(x, y, z - 1); + } + + public void succ1(int x, int y, int z) { + BlockPos newPos = new BlockPos(x, y, z); + if(world.getBlockState(newPos).getBlock() == ModBlocks.ore_oil_empty && !processed.contains(newPos)) { + processed.add(newPos); + succInit1(x, y, z); + } + } + + public void succ2(int x, int y, int z) { + BlockPos newPos = new BlockPos(x, y, z); + if(world.getBlockState(newPos).getBlock() == ModBlocks.ore_oil_empty && processed.contains(newPos)) { + processed.remove(newPos); + succInit2(x, y, z); + } else if(world.getBlockState(newPos).getBlock() == ModBlocks.ore_oil || world.getBlockState(newPos).getBlock() == ModBlocks.ore_bedrock_oil) { + list.add(new int[] { x, y, z }); + } + } + + + @Override + public void setPower(long i) { + power = i; + + } + + @Override + public long getPower() { + return power; + } + + @Override + public long getMaxPower() { + return maxPower; + } + + + @Override + public IFluidTankProperties[] getTankProperties() { + return new IFluidTankProperties[] { tanks[0].getTankProperties()[0], tanks[1].getTankProperties()[0] }; + } + + @Override + public int fill(FluidStack resource, boolean doFill) { return 0; } + + + + @Override + public void recievePacket(NBTTagCompound[] tags) { + if(tags.length != 2) { + return; + } else { + tanks[0].readFromNBT(tags[0]); + tanks[1].readFromNBT(tags[1]); + } + } + + @Override + public boolean hasCapability(Capability capability, EnumFacing facing) { + if(capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY){ + return true; + } else if(capability == CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY){ + return true; + } else { + return super.hasCapability(capability, facing); + } + } + + @Override + public T getCapability(Capability capability, EnumFacing facing) { + if(capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY){ + return CapabilityItemHandler.ITEM_HANDLER_CAPABILITY.cast(inventory); + } else if(capability == CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY){ + return CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY.cast(this); + } else { + return super.getCapability(capability, facing); + } + } +} diff --git a/src/main/java/com/hbm/world/feature/OilSpot.java b/src/main/java/com/hbm/world/feature/OilSpot.java new file mode 100644 index 0000000000..684f71e378 --- /dev/null +++ b/src/main/java/com/hbm/world/feature/OilSpot.java @@ -0,0 +1,79 @@ +package com.hbm.world.feature; + +import com.hbm.blocks.ModBlocks; + +import com.hbm.blocks.generic.BlockDeadPlant; +import net.minecraft.block.*; +import net.minecraft.block.material.Material; +import net.minecraft.block.state.IBlockState; +import net.minecraft.init.Blocks; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; +import net.minecraftforge.common.IPlantable; + +public class OilSpot { + + public static void generateOilSpot(World world, int x, int z, int width, int count) { + + for(int i = 0; i < count; i++) { + int rX = x + (int)(world.rand.nextGaussian() * width); + int rZ = z + (int)(world.rand.nextGaussian() * width); + int rY = world.getHeight(rX, rZ); + + BlockPos pos = new BlockPos(rX, rY - 1, rZ); + BlockPos plantPos = new BlockPos(rX, rY, rZ); + + for(int y = rY; y > rY - 4; y--) { + + Block below = world.getBlockState(pos).getBlock(); + Block ground = world.getBlockState(plantPos).getBlock(); + + if(below.isNormalCube(below.getDefaultState(), world, pos) && !(ground instanceof BlockDeadPlant)) { + if(ground instanceof BlockTallGrass) { + if(world.rand.nextInt(10) == 0) { + Block block = world.getBlockState(new BlockPos(rX, rY + 1, rZ)).getBlock(); + if (block.getMetaFromState(block.getBlockState().getBaseState()) == 2) { + world.setBlockState(plantPos, ModBlocks.plant_dead_fern.getDefaultState()); + } else { + System.out.println("Polluted grass and the block was: " + ground + " and the pos is: " + plantPos); + world.setBlockState(plantPos, ModBlocks.plant_dead_grass.getDefaultState()); + } + } else { + world.setBlockState(plantPos, Blocks.AIR.getDefaultState()); + } + } else if(ground instanceof BlockFlower) { + world.setBlockState(plantPos, ModBlocks.plant_dead_flower.getDefaultState()); + } else if(ground instanceof BlockDoublePlant) { + world.setBlockState(plantPos, ModBlocks.plant_dead_big_flower.getDefaultState()); + } else if(ground instanceof BlockBush) { + world.setBlockState(plantPos, ModBlocks.plant_dead_generic.getDefaultState()); + } else if(ground instanceof IPlantable) { + world.setBlockState(plantPos, ModBlocks.plant_dead_generic.getDefaultState()); + } + } + + if(below == Blocks.GRASS || below == Blocks.DIRT) { + world.setBlockState(pos, world.rand.nextInt(10) == 0 ? ModBlocks.dirt_oily.getDefaultState() : ModBlocks.dirt_dead.getDefaultState()); + break; + + } else if(below == Blocks.SAND || below == ModBlocks.ore_oil_sand) { + + IBlockState blockState = world.getBlockState(pos); + if(blockState.getBlock() == Blocks.SAND && blockState.getValue(BlockSand.VARIANT) == BlockSand.EnumType.RED_SAND) + world.setBlockState(pos, ModBlocks.sand_dirty_red.getDefaultState()); + else + world.setBlockState(pos, ModBlocks.sand_dirty.getDefaultState()); + break; + + } else if(below == Blocks.STONE) { + world.setBlockState(pos, ModBlocks.stone_cracked.getDefaultState()); + break; + + } else if(below.getDefaultState().getMaterial() == Material.LEAVES) { + world.setBlockToAir(pos); + break; + } + } + } + } +} diff --git a/src/main/resources/assets/hbm/blockstates/dirt_dead.json b/src/main/resources/assets/hbm/blockstates/dirt_dead.json new file mode 100644 index 0000000000..57a93db12a --- /dev/null +++ b/src/main/resources/assets/hbm/blockstates/dirt_dead.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "hbm:dirt_dead" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/blockstates/dirt_oily.json b/src/main/resources/assets/hbm/blockstates/dirt_oily.json new file mode 100644 index 0000000000..e511e34e5f --- /dev/null +++ b/src/main/resources/assets/hbm/blockstates/dirt_oily.json @@ -0,0 +1,12 @@ +{ + "variants": { + "normal":[ + { + "model": "hbm:dirt_oily" + }, + { + "model": "hbm:dirt_oily_alt" + } + ] + } +} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/blockstates/fluid_duct_neo.json b/src/main/resources/assets/hbm/blockstates/fluid_duct_neo.json new file mode 100644 index 0000000000..54fb6c0c9d --- /dev/null +++ b/src/main/resources/assets/hbm/blockstates/fluid_duct_neo.json @@ -0,0 +1,6 @@ +{ + "variants": { + "extracts=false": { "model": "hbm:fluid_duct_neo" }, + "extracts=true": { "model": "hbm:fluid_duct_neo" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/blockstates/machine_fracking_tower.json b/src/main/resources/assets/hbm/blockstates/machine_fracking_tower.json new file mode 100644 index 0000000000..cf71269e87 --- /dev/null +++ b/src/main/resources/assets/hbm/blockstates/machine_fracking_tower.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "hbm:machine_fracking_tower" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/blockstates/ore_bedrock_oil.json b/src/main/resources/assets/hbm/blockstates/ore_bedrock_oil.json new file mode 100644 index 0000000000..9f842aa005 --- /dev/null +++ b/src/main/resources/assets/hbm/blockstates/ore_bedrock_oil.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "hbm:ore_bedrock_oil" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/blockstates/plant_dead_big_flower.json b/src/main/resources/assets/hbm/blockstates/plant_dead_big_flower.json new file mode 100644 index 0000000000..d2562a457b --- /dev/null +++ b/src/main/resources/assets/hbm/blockstates/plant_dead_big_flower.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "hbm:plant_dead_big_flower" } + } +} diff --git a/src/main/resources/assets/hbm/blockstates/plant_dead_fern.json b/src/main/resources/assets/hbm/blockstates/plant_dead_fern.json new file mode 100644 index 0000000000..e5e7a81067 --- /dev/null +++ b/src/main/resources/assets/hbm/blockstates/plant_dead_fern.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "hbm:plant_dead_fern" } + } +} diff --git a/src/main/resources/assets/hbm/blockstates/plant_dead_flower.json b/src/main/resources/assets/hbm/blockstates/plant_dead_flower.json new file mode 100644 index 0000000000..8d00275711 --- /dev/null +++ b/src/main/resources/assets/hbm/blockstates/plant_dead_flower.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "hbm:plant_dead_flower" } + } +} diff --git a/src/main/resources/assets/hbm/blockstates/plant_dead_generic.json b/src/main/resources/assets/hbm/blockstates/plant_dead_generic.json new file mode 100644 index 0000000000..df930d19b7 --- /dev/null +++ b/src/main/resources/assets/hbm/blockstates/plant_dead_generic.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "hbm:plant_dead_generic" } + } +} diff --git a/src/main/resources/assets/hbm/blockstates/plant_dead_grass.json b/src/main/resources/assets/hbm/blockstates/plant_dead_grass.json new file mode 100644 index 0000000000..2a20ea1e53 --- /dev/null +++ b/src/main/resources/assets/hbm/blockstates/plant_dead_grass.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "hbm:plant_dead_grass" } + } +} diff --git a/src/main/resources/assets/hbm/blockstates/sand_dirty.json b/src/main/resources/assets/hbm/blockstates/sand_dirty.json new file mode 100644 index 0000000000..99aaed6eca --- /dev/null +++ b/src/main/resources/assets/hbm/blockstates/sand_dirty.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "hbm:sand_dirty" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/blockstates/sand_dirty_red.json b/src/main/resources/assets/hbm/blockstates/sand_dirty_red.json new file mode 100644 index 0000000000..4ee51e0384 --- /dev/null +++ b/src/main/resources/assets/hbm/blockstates/sand_dirty_red.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "hbm:sand_dirty_red" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/blockstates/stone_cracked.json b/src/main/resources/assets/hbm/blockstates/stone_cracked.json new file mode 100644 index 0000000000..6109511edf --- /dev/null +++ b/src/main/resources/assets/hbm/blockstates/stone_cracked.json @@ -0,0 +1,5 @@ +{ + "variants": { + "normal": { "model": "hbm:stone_cracked" } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/lang/_template.lang b/src/main/resources/assets/hbm/lang/_template.lang index c2ba0bee92..e19308f2a0 100644 --- a/src/main/resources/assets/hbm/lang/_template.lang +++ b/src/main/resources/assets/hbm/lang/_template.lang @@ -158,6 +158,7 @@ chem.VIT_GAS= chem.VIT_LIQUID= chem.XENON= chem.YELLOWCAKE= +chem.FRACKSOL= container.amsBase= container.amsEmitter= container.amsLimiter= @@ -190,6 +191,7 @@ container.factoryAdvanced= container.factoryTitanium= container.fluidtank= container.forceField= +container.frackingTower= container.fusionMultiblock= container.fusionaryWatzPlant= container.gasCentrifuge= @@ -240,7 +242,7 @@ container.plasmaHeater= container.press= container.puf6_tank= container.pumpjack= -container.radGen= +container.sGen= container.radar= container.radiobox= container.radiorec= @@ -369,6 +371,7 @@ fluid.corium_fluid= fluid.cryogel= fluid.deuterium= fluid.diesel= +fluid.fracksol= fluid.gas= fluid.gasoline= fluid.heatingoil= @@ -516,6 +519,7 @@ hbmfluid.coolant= hbmfluid.cryogel= hbmfluid.deuterium= hbmfluid.diesel= +hbmfluid.fracksol= hbmfluid.gas= hbmfluid.gasoline= hbmfluid.heatingoil= @@ -969,6 +973,7 @@ item.canister_biofuel.name= item.canister_bitumen.name= item.canister_canola.name= item.canister_empty.name= +item.canister_fracksol.name= item.canister_fuel.name= item.canister_gasoline.desc= item.canister_gasoline.name= @@ -981,6 +986,7 @@ item.canister_naphtha.name= item.canister_oil.name= item.canister_petroil.name= item.canister_reoil.name= + item.canister_smear.name= item.canister_superfuel.name= item.canned_asbestos.name= @@ -2498,6 +2504,7 @@ item.schrabidium_plate.name= item.schrabidium_shovel.name= item.schrabidium_sword.name= item.scrap.name= +item.scrap_oil.name= item.screwdriver.name= item.scrumpy.name= item.security_boots.name= @@ -3237,6 +3244,7 @@ tile.machine_flare.name= tile.machine_fluidtank.name= tile.machine_forcefield.name= tile.machine_fraction_tower.name= +tile.machine_fracking_tower.name= tile.machine_gascent.name= tile.machine_generator.name= tile.machine_geo.name= @@ -3333,6 +3341,7 @@ tile.ore_aluminium.name= tile.ore_asbestos.name= tile.ore_australium.name= tile.ore_bedrock_coltan.name= +tile.ore_bedrock_oil.name= tile.ore_beryllium.name= tile.ore_cinnebar.name= tile.ore_coal_oil.name= @@ -3464,6 +3473,8 @@ tile.rtg_polonium.name= tile.safe.name= tile.sand_boron.name= tile.sand_boron_layer.name= +tile.sand_dirty.name= +tile.sand_dirty_red.name= tile.sand_gold.name= tile.sand_gold198.name= tile.sand_lead.name= @@ -3500,6 +3511,7 @@ tile.steel_poles.name= tile.steel_roof.name= tile.steel_scaffold.name= tile.steel_wall.name= +tile.stone_cracked.name= tile.stone_depth.name= tile.stone_depth_nether.name= tile.stone_gneiss.name= @@ -3556,6 +3568,13 @@ tile.waste_planks.name= tile.waste_trinitite.name= tile.waste_trinitite_red.name= tile.water_door.name= +tile.plant_dead_generic.name= +tile.plant_dead_grass.name= +tile.plant_dead_flower.name= +tile.plant_dead_big_flower.name= +tile.plant_dead_fern.name= +tile.dirt_dead.name= +tile.dirt_oily.name= tile.watz_conductor.name= tile.watz_control.name= tile.watz_cooler.name= diff --git a/src/main/resources/assets/hbm/lang/de_de.lang b/src/main/resources/assets/hbm/lang/de_de.lang index 067fbde6b2..1452de0dd9 100644 --- a/src/main/resources/assets/hbm/lang/de_de.lang +++ b/src/main/resources/assets/hbm/lang/de_de.lang @@ -206,6 +206,7 @@ container.factoryAdvanced=Fortgeschrittene Fabrik container.factoryTitanium=Einfache Fabrik container.fluidtank=Tank container.forceField=Kraftfeldgenerator +container.frackingTower=Hydraulischer Frackingturm container.fusionMultiblock=Großer Fusionsreaktor container.fusionaryWatzPlant=Fusionares Watzwerk container.gasCentrifuge=Gaszentrifuge @@ -423,6 +424,7 @@ hbmfluid.coolant=Kühlflüssigkeit hbmfluid.cryogel=Kryogel hbmfluid.deuterium=Deuterium hbmfluid.diesel=Diesel +hbmfluid.fracksol=Frackinglösung hbmfluid.gas=Erdgas hbmfluid.gasoline=Bleibenzin hbmfluid.heatingoil=Heizöl @@ -862,6 +864,7 @@ item.canister_biofuel.name=Biodieselkanister item.canister_bitumen.name=Bitumenkanister item.canister_canola.name=Schmiermittelkanister item.canister_empty.name=Leerer Kanister +item.canister_fracksol.name=Frackinglösungskanister item.canister_fuel.name=Dieselkanister item.canister_gasoline.name=Bleibenzinkanister item.canister_gasoline.desc=blei ist freund$lasse deinen freund in deinen blutstrom$*lädt waffe* jetzt sofort @@ -2310,6 +2313,7 @@ item.schrabidium_plate.name=Schrabidiumbrustpanzer item.schrabidium_shovel.name=Schrabidiumschaufel item.schrabidium_sword.name=Schrabidiumschwert item.scrap.name=Schrott +item.scrap_oil.name=Öliger Schutt item.screwdriver.name=Schraubenzieher item.scrumpy.name=Flasche Scrumpy item.security_boots.name=Sicherheitsstiefel @@ -3026,6 +3030,7 @@ tile.machine_fensu.name=FEnSU tile.machine_flare.name=Abfackelturm tile.machine_fluidtank.name=Tank tile.machine_forcefield.name=Kraftfeldgenerator +tile.machine_fracking_tower.name=Hydraulischer Frackingturm tile.machine_fraction_tower.name=Fraktionierungsturm tile.machine_gascent.name=Gaszentrifuge tile.machine_generator.name=Atomreaktor (Alt) @@ -3122,6 +3127,7 @@ tile.ore_aluminium.name=Aluminiumerz tile.ore_asbestos.name=Asbesterz tile.ore_australium.name=Australisches Erz tile.ore_bedrock_coltan.name=Bedrock-Coltanerz +tile.ore_bedrock_oil.name=Bedrock-Ölvorkommen tile.ore_beryllium.name=Berylliumerz tile.ore_cinnebar.name=Zinnobererz tile.ore_coal_oil.name=Öliges Kohleerz @@ -3188,6 +3194,13 @@ tile.pink_log.name=Pinkes Holz tile.pink_planks.name=Pinke Holzbretter tile.pink_slab.name=Pinke Holzstufe tile.pink_stairs.name=Pinke Holztreppen +tile.plant_dead_generic.name=Tote Pflanze +tile.plant_dead_grass.name=Tote Pflanze +tile.plant_dead_flower.name=Tote Pflanze +tile.plant_dead_big_flower.name=Tote Pflanze +tile.plant_dead_fern.name=Tote Pflanze +tile.dirt_dead.name=Tote Erde +tile.dirt_oily.name=Ölige Erde tile.plasma.name=Plasma tile.plasma_heater.name=Plasmaerhitzer tile.pole_satellite_receiver.name=Satellitenschüssel @@ -3241,6 +3254,8 @@ tile.residue.name=Wolkenrückstände tile.safe.name=Panzerschrank tile.sand_boron.name=Borsand tile.sand_boron_layer.name=Borsanddecke +tile.sand_dirty.name=Öliger Sand +tile.sand_dirty_red.name=Roter Öliger Sand tile.sand_gold.name=Goldsand tile.sand_gold198.name=Gold-198-Sand tile.sand_lead.name=Bleisand @@ -3276,6 +3291,7 @@ tile.steel_poles.name=Stahlmasten tile.steel_roof.name=Flaches Stachldach tile.steel_scaffold.name=Stahlgerüst tile.steel_wall.name=Stahlwand +tile.stone_cracked.name=Rissiger Stein tile.stone_depth.name=Tiefenfels tile.stone_depth_nether.name=Nether-Tiefenfels tile.stone_gneiss.name=Graphitschiefer diff --git a/src/main/resources/assets/hbm/lang/en_nt.lang b/src/main/resources/assets/hbm/lang/en_nt.lang index 81d88086ed..43320cbba1 100644 --- a/src/main/resources/assets/hbm/lang/en_nt.lang +++ b/src/main/resources/assets/hbm/lang/en_nt.lang @@ -56,6 +56,7 @@ hbmfluid.hotoil=Hot Crude Oil hbmfluid.smear=Industrial Oil hbmfluid.reclaimed=Reclaimed Industrial Oil hbmfluid.petroil=Petroil + hbmfluid.lubricant=Engine Lubricant hbmfluid.diesel=Diesel hbmfluid.kerosene=Kerosene diff --git a/src/main/resources/assets/hbm/lang/en_us.lang b/src/main/resources/assets/hbm/lang/en_us.lang index 9f44aa7f93..3b5d380872 100644 --- a/src/main/resources/assets/hbm/lang/en_us.lang +++ b/src/main/resources/assets/hbm/lang/en_us.lang @@ -118,6 +118,17 @@ item.grenade_solinium.name=Solinium Grenade tile.radsensor.name=Radiation Sensor tile.waste_grass_tall.name=Waste Grass +tile.plant_dead_generic.name=Dead Plant +tile.plant_dead_grass.name=Dead Plant +tile.plant_dead_flower.name=Dead Plant +tile.plant_dead_big_flower.name=Dead Plant +tile.plant_dead_fern.name=Dead Plant + +tile.dirt_dead.name=Dead Dirt +tile.dirt_oily.name=Oily Dirt + +tile.stone_cracked.name=Cracked Stone + item.mp_warhead_15_volcano.name=Size 15 Volcano Warhead fluid.radwater_fluid=Radiated Water @@ -501,6 +512,7 @@ hbmfluid.hotoil=Hot Crude Oil hbmfluid.smear=Industrial Oil hbmfluid.reclaimed=Reclaimed Industrial Oil hbmfluid.petroil=Petroil +hbmfluid.fracksol=Fracking Solution hbmfluid.lubricant=Engine Lubricant hbmfluid.diesel=Diesel hbmfluid.kerosene=Kerosene @@ -551,6 +563,7 @@ fluid.hotoil=Hot Crude Oil fluid.smear=Industrial Oil fluid.reclaimed=Reclaimed Industrial Oil fluid.petroil=Petroil +fluid.fracksol=Fracking Solution fluid.lubricant=Engine Lubricant fluid.lubircant=Engine Lubricant fluid.diesel=Diesel @@ -732,6 +745,7 @@ chem.COLTAN_PAIN=Pandemonium(III)tantalite Production chem.VIT_GAS=Gaseous Nuclear Waste Vitrification chem.VIT_LIQUID=Liquid Nuclear Waste Vitrification chem.TEL=TEL Mixing +chem.FRACKSOL=Fracking Solution Production item.record.lc.desc=Valve - Diabolic Adrenaline Guitar/Lambda Core item.record.ss.desc=Valve - Sector Sweep @@ -932,6 +946,7 @@ tile.machine_radar.name=Radar container.radar=Radar tile.machine_forcefield.name=Forcefield Emitter container.forceField=Forcefield Emitter +container.frackingTower=Hydraulic Fracking Tower tile.machine_satlinker.name=Satellite ID Manager container.satLinker=SatLink Device tile.machine_telelinker.name=Turret Telemetry Linker @@ -1781,6 +1796,8 @@ tile.barbed_wire_ultradeath.name=Cloud Barbed Wire tile.fence_metal.name=Chainlink Fence tile.sand_boron.name=Boron Sand tile.sand_boron_layer.name=Boron Sand Layer +tile.sand_dirty.name=Oily Sand +tile.sand_dirty_red.name=Red Oily Sand tile.sand_gold.name=Gold Sand tile.sand_gold198.name=Gold-198 Sand tile.sand_lead.name=Lead Sand @@ -2129,6 +2146,7 @@ item.canister_napalm.name=Napalm B item.canister_naphtha.name=Naphtha Canister item.canister_oil.name=Crude Oil Canister item.canister_petroil.name=Petroil Canister +item.canister_fracksol.name=Fracking Solution Canister item.canister_reoil.name=Canister of Reclaimed Industrial Oil item.canister_smear.name=Industrial Oil Canister item.gas_empty.name=Empty Gas Tank @@ -2289,6 +2307,7 @@ item.waste_plutonium_hot.name=Depleted Plutonium Fuel (Hot) item.waste_mox_hot.name=Depleted MOX Fuel (Hot) item.waste_schrabidium_hot.name=Depleted Schrabidium Fuel (Hot) item.scrap.name=Scrap +item.scrap_oil.name=Oily Scraps item.nugget_mercury.name=Small Drop of Mercury item.bottle_mercury.name=Bottle of Mercury @@ -3363,7 +3382,7 @@ item.bucket_mud.name=Bucket of Poisonous Mud tile.acid_block.name=Acid fluid.acid_fluid=Acid item.bucket_acid.name=Bucket of Acid -if + tile.toxic_block.name=Stereotypical Green Ooze fluid.toxic_fluid=Stereotypical Green Ooze item.bucket_toxic.name=Bucket of Stereotypical Green Ooze @@ -3787,6 +3806,7 @@ item.powder_coltan.name=Purified Tantalite item.powder_coltan_ore.name=Crushed Coltan tile.block_coltan.name=Block of Coltan tile.ore_bedrock_coltan.name=Bedrock Coltan Ore +tile.ore_bedrock_oil.name=Bedrock Oil Deposit tile.ore_coltan.name=Coltan Ore tile.block_zirconium.name=Block of Zirconium item.ingot_zirconium.name=Zirconium Cube @@ -3901,6 +3921,7 @@ tile.machine_tower_small.name=Auxiliary Cooling Tower tile.machine_bat9000.name=Big-Ass Tank 9000 tile.machine_chungus.name=Leviathan Steam Turbine tile.machine_fraction_tower.name=Fractioning Tower +tile.machine_fracking_tower.name=Hydraulic Fracking Tower tile.block_semtex.name=Block of Semtex tile.block_pu_mix.name=Block of Reactor Grade Plutonium tile.block_tritium.name=Block of Tritium Cells diff --git a/src/main/resources/assets/hbm/lang/ru_ru.lang b/src/main/resources/assets/hbm/lang/ru_ru.lang index f3f83d588a..e654f8e4e2 100644 --- a/src/main/resources/assets/hbm/lang/ru_ru.lang +++ b/src/main/resources/assets/hbm/lang/ru_ru.lang @@ -296,6 +296,7 @@ hbmfluid.hotoil=Горячая неочищенная нефть hbmfluid.smear=Промышленное масло hbmfluid.reclaimed=Очищенное промышленное масло hbmfluid.petroil=Бензин +hbmfluid.fracksol=Жидкость для гидроразрыва пласта hbmfluid.lubricant=Машинная смазка hbmfluid.diesel=Дизель hbmfluid.kerosene=Керосин @@ -469,6 +470,7 @@ chem.VIT_GAS=Остекловывание газообразных ядерны chem.VIT_LIQUID=Остекловывание жидких ядерных отходов chem.GASOLINE=Производство бензина chem.TEL=Смешивание тетраэтилсвинца +chem.FRACKSOL=Смешивание гидроразрывной жидкости item.record.lc.desc=Valve - Diabolic Adrenaline Guitar/Lambda Core item.record.ss.desc=Valve - Sector Sweep @@ -629,6 +631,8 @@ tile.pink_planks.name=Розовые доски tile.pink_slab.name=Плита из розового дерева tile.pink_stairs.name=Ступеньки из розового дерева + + tile.turret_light.name=Турель с лёгким пулемётом tile.turret_heavy.name=Турель с тяжёлым пулемётом tile.turret_rocket.name=Турель с ракетницей @@ -777,6 +781,8 @@ tile.machine_pumpjack.name=Станок-качалка tile.oil_pipe.name=Труба для извлечения неочищенной нефти container.oilWell=Нефтяная вышка container.pumpjack=Станок-качалка +container.frackingTower=Башня гидроразрыва пласта +tile.machine_fracking_tower.name=Башня гидроразрыва пласта tile.machine_refinery.name=Нефтеперерабатывающий завод container.machineRefinery=Нефтеперерабатывающий завод tile.oil_duct.name=Труба для нефти @@ -1032,6 +1038,20 @@ container.wasteDrum=Бочка с отработанным топливом container.storageDrum=Бочка для захоронения ядерных отходов tile.machine_storage_drum.name=Бочка для захоронения ядерных отходов +tile.plant_dead_generic.name=Мертвое растение +tile.plant_dead_grass.name=Мертвое растение +tile.plant_dead_flower.name=Мертвое растение +tile.plant_dead_big_flower.name=Мертвое растение +tile.plant_dead_fern.name=Мертвое растение + +tile.dirt_dead.name=Мертвая земля +tile.dirt_oily.name=Пропитанная нефтью земля + +tile.sand_dirty.name=Пропитанный нефтью песок +tile.sand_dirty_red.name=Пропитанный нефтью красный песок + +tile.stone_cracked.name=Треснутый камень + tile.machine_spp_bottom.name=Генератор потенциала ZPE (низ) tile.machine_spp_top.name=Генератор потенциала ZPE (верх) @@ -1516,6 +1536,7 @@ tile.cluster_titanium.name=Титановый рудный кластер tile.ore_cinnebar.name=Киноварь tile.ore_coltan.name=Колтановая руда tile.ore_bedrock_coltan.name=Бедроковая колтановая руда +tile.ore_bedrock_oil.name=Бедроковый нефтяной пласт tile.ore_cobalt.name=Кобальтовая руда tile.deco_titanium.name=Титановый декоративный блок @@ -1955,6 +1976,7 @@ item.canister_fuel.name=Канистра с дизелем item.canister_kerosene.name=Канистра с керосином item.canister_reoil.name=Канистра с восстановленным промышленным маслом item.canister_petroil.name=Канистра с бензином +item.canister_fracksol.name=Канистра с жидкостью для гидроразрыва пласта item.canister_napalm.name=Напалм Б item.canister_NITAN.name=100-октановое сверхтопливо NITAN© item.canister_heavyoil.name=Канистра с тяжелой нефтью @@ -2202,6 +2224,7 @@ item.nuclear_waste_short_tiny.name=Кучка короткоживущих яд item.nuclear_waste_short_depleted.name=Разложившиеся короткоживущие ядерные отходы item.nuclear_waste_short_depleted_tiny.name=Кучка разложившихся короткоживущих ядерных отходов item.scrap.name=Металлолом +item.scrap_oil.name=Нефтяные отходы item.debris_fuel.name=Часть топливного стержня РБМК item.debris_graphite.name=Горячий кусок графита item.debris_metal.name=Покорёженная металлическая балка diff --git a/src/main/resources/assets/hbm/lang/te_st.lang b/src/main/resources/assets/hbm/lang/te_st.lang index cc7f1b34bd..0a84874a8d 100644 --- a/src/main/resources/assets/hbm/lang/te_st.lang +++ b/src/main/resources/assets/hbm/lang/te_st.lang @@ -1259,4 +1259,2669 @@ tile.crystal_hardened.name=Hardened Dark Crystal tile.crystal_pulsar.name=Pulsating Crystal tile.cheater_virus.name=Gelid Euphemium -tile.cheater_virus_seed.name=Unstable Euphemium Schrabide Block \ No newline at end of file + +key.categories.hbm=Hbm's Nuclear Tech Mod +key.jetpack_activate=Toggle Jetpack +key.jetpack_hover=Toggle Jetpack Hover Mode +key.jetpack_hud=Toggle Jetpack HUD mode +key.fsb_flashlight=Toggle FSB Flashlights +itemGroup.tabControl=NTM Machine Items and Fuel +itemGroup.tabTemplate=NTM Templates +itemGroup.tabMissile=NTM Missiles and Satellites +itemGroup.tabWeapon=NTM Weapons and Turrets +itemGroup.tabConsumable=NTM Consumables and Gear +armor.blastProtection=Damage modifier of %s against explosions +armor.cap=Hard damage cap of %s +armor.damageModifier=Damage modifier of %s against %s +armor.fireproof=Fireproof +armor.fullSetBonus=Full Set Bonus: +armor.geigerHUD=Built-In Geiger Counter HUD +armor.geigerSound=Auditory Geiger Counter +armor.gravity=Gravity modifier of %s +armor.hardLanding=Hard Landing +armor.modifier=General damage modifier of %s +armor.nullDamage=Nullifies all damage from %s +armor.thermal=Thermal Sight +armor.threshold=Damage threshold of %s +armor.vats=Enemy HUD +armor.ignoreLimit=Ignore Limit +armor.rocketBoots=Rocket Boots +armor.fastFall=Fast Fall +armor.sprintBoost=Sprint Boost +armor.electricJetpack=Electric Jetpack +armor.glider=Glider +tile.fluid_duct_solid.name=Sealed Fluid Duct +tile.reinforced_brick_slab.name=Reinforced Brick Slab +tile.reinforced_brick_stairs.name=Reinforced Brick Stairs +tile.reinforced_sand_slab.name=Reinforced Sand Slab +tile.reinforced_sand_stairs.name=Reinforced Sand Stairs +tile.reinforced_stone_slab.name=Reinforced Stone Slab +tile.reinforced_stone_stairs.name=Reinforced Stone Stairs +tile.brick_concrete_slab.name=Concrete Brick Slab +tile.brick_concrete_stairs.name=Concrete Brick Stairs +tile.brick_concrete_mossy_slab.name=Mossy Concrete Slab +tile.brick_concrete_mossy_stairs.name=Mossy Concrete Stairs +tile.brick_concrete_cracked_slab.name=Cracked Concrete Slab +tile.brick_concrete_cracked_stairs.name=Cracked Concrete Stairs +tile.brick_concrete_broken_slab.name=Broken Concrete Slab +tile.brick_concrete_broken_stairs.name=Broken Concrete Stairs +tile.brick_compound_slab.name=Compound Mesh Slab +tile.brick_compound_stairs.name=Compound Mesh Stairs +tile.brick_asbestos_slab.name=Asbestos Brick Slab +tile.brick_asbestos_stairs.name=Asbestos Brick Stairs +tile.brick_obsidian_slab.name=Obsidian Brick Slab +tile.brick_obsidian_stairs.name=Obsidian Brick Stairs +tile.cmb_brick_reinforced_slab.name=Reinforced CMB Brick Slab +tile.cmb_brick_reinforced_stairs.name=Reinforced CMB Brick Stairs +tile.concrete_slab.name=Concrete Slab +tile.concrete_stairs.name=Concrete Stairs +tile.concrete_smooth_slab.name=Smooth Concrete Slab +tile.concrete_smooth_stairs.name=Smooth Concrete Stairs +tile.concrete_white_slab.name=White Concrete Slab +tile.concrete_white_stairs.name=White Concrete Stairs +tile.concrete_orange_slab.name=Orange Concrete Slab +tile.concrete_orange_stairs.name=Orange Concrete Stairs +tile.concrete_magenta_slab.name=Magenta Concrete Slab +tile.concrete_magenta_stairs.name=Magenta Concrete Stairs +tile.concrete_light_blue_slab.name=Light Blue Concrete Slab +tile.concrete_light_blue_stairs.name=Light Blue Concrete Stairs +tile.concrete_yellow_slab.name=Yellow Concrete Slab +tile.concrete_yellow_stairs.name=Yellow Concrete Stairs +tile.concrete_lime_slab.name=Lime Concrete Slab +tile.concrete_lime_stairs.name=Lime Concrete Stairs +tile.concrete_pink_slab.name=Pink Concrete Slab +tile.concrete_pink_stairs.name=Pink Concrete Stairs +tile.concrete_gray_slab.name=Gray Concrete Slab +tile.concrete_gray_stairs.name=Gray Concrete Stairs +tile.concrete_silver_slab.name=Silver Concrete Slab +tile.concrete_silver_stairs.name=Silver Concrete Stairs +tile.concrete_cyan_slab.name=Cyan Concrete Slab +tile.concrete_cyan_stairs.name=Cyan Concrete Stairs +tile.concrete_purple_slab.name=Purple Concrete Slab +tile.concrete_purple_stairs.name=Purple Concrete Stairs +tile.concrete_blue_slab.name=Blue Concrete Slab +tile.concrete_blue_stairs.name=Blue Concrete Stairs +tile.concrete_brown_slab.name=Brown Concrete Slab +tile.concrete_brown_stairs.name=Brown Concrete Stairs +tile.concrete_green_slab.name=Green Concrete Slab +tile.concrete_green_stairs.name=Green Concrete Stairs +tile.concrete_red_slab.name=Red Concrete Slab +tile.concrete_red_stairs.name=Red Concrete Stairs +tile.concrete_black_slab.name=Black Concrete Slab +tile.concrete_black_stairs.name=Black Concrete Stairs +tile.concrete_asbestos_slab.name=Asbestos Concrete Slab +tile.concrete_asbestos_stairs.name=Asbestos Concrete Stairs +tile.ducrete_smooth_slab.name=Smooth Ducrete Slab +tile.ducrete_smooth_stairs.name=Smooth Ducrete Stairs +tile.ducrete_slab.name=Ducrete Slab +tile.ducrete_stairs.name=Ducrete Stairs +tile.ducrete_brick_slab.name=Ducrete Brick Slab +tile.ducrete_brick_stairs.name=Ducrete Brick Stairs +tile.ducrete_reinforced_slab.name=Reinforced Ducrete Slab +tile.ducrete_reinforced_stairs.name=Reinforced Ducrete Stairs +tile.tile_lab_slab.name=Laboratory Tile Slab +tile.tile_lab_stairs.name=Laboratory Tile Stairs +tile.tile_lab_cracked_slab.name=Cracked Laboratory Tile Slab +tile.tile_lab_cracked_stairs.name=Cracked Laboratory Tile Stairs +tile.tile_lab_broken_slab.name=Broken Laboratory Tile Slab +tile.tile_lab_broken_stairs.name=Broken Laboratory Tile Stairs +item.grenade_solinium.name=Solinium Grenade +tile.radsensor.name=Radiation Sensor +tile.waste_grass_tall.name=Waste Grass +item.mp_warhead_15_volcano.name=Size 15 Volcano Warhead +fluid.radwater_fluid=Radiated Water +tile.rbmk_crane_console.name=RBMK Crane Console +container.rbmkStorage=RBMK Storage +tile.rbmk_storage.name=RBMK Storage Column +chem.DUCRETE=Ducretisation +tile.ducrete.name=Ducrete +tile.ducrete_smooth.name=Smooth Ducrete +tile.ducrete_brick.name=Ducrete Brick +tile.ducrete_reinforced.name=Reinforced Durcete +tile.block_niter_reinforced.name=Reinforced Niter +tile.deco_rbmk.name=RBMK Deco +tile.deco_rbmk_smooth=RBMK Smooth Deco +item.ingot_radspice.name=Neoveline Ingot +item.nugget_radspice.name=Neoveline Nugget +item.powder_radspice.name=Neoveline Powder +item.lung_diagnostic.name=Lung Diagnostic +lung_scanner.title=Lung Diagnostic +lung_scanner.player_asbestos_health=Lung Health [Asbestos]: +lung_scanner.player_coal_health=Lung Health [Coal]: +lung_scanner.player_total_health=Lung Health Total: +tile.waste_dirt.name=Contaminated Dirt +item.rod_cobalt.name=Cobalt Rod +item.rod_co60.name=Cobalt-60 Rod +item.rod_rgp.name=Reactor-Grade Plutonium Rod +item.rod_ac227.name=Actinium-227 Rod +item.rod_ra226.name=Radium-226 Rod +item.rod_dual_cobalt.name=Cobalt Dual Rod +item.rod_dual_co60.name=Cobalt-60 Dual Rod +item.rod_dual_rgp.name=Reactor-Grade Plutonium Dual Rod +item.rod_dual_ac227.name=Actinium-227 Dual Rod +item.rod_dual_ra226.name=Radium-226 Dual Rod +item.rod_quad_cobalt.name=Cobalt Quad Rod +item.rod_quad_co60.name=Cobalt-60 Quad Rod +item.rod_quad_rgp.name=Reactor-Grade Plutonium Quad Rod +item.rod_quad_ac227.name=Actinium-227 Quad Rod +item.rod_quad_ra226.name=Radium-226 Quad Rod +item.battery_sc_lead.name=Self-Charging Lead-209 Battery +item.ingot_ac227.name=Actinium-227 Ingot +item.ingot_gh336.name=Ghiorsium-336 Ingot +item.ingot_pb209.name=Lead-209 Ingot +item.ingot_niobium.name=Niobium Ingot +item.ingot_sr90.name=Strontium-90 Ingot +item.ingot_bromine.name=Bromine Ingot +item.ingot_caesium.name=Caesium Ingot +item.ingot_cerium.name=Cerium Ingot +item.ingot_iodine.name=Iodine Ingot +item.ingot_i131.name=Iodine-131 Ingot +item.ingot_neodymium.name=Neodymium Ingot +item.ingot_pb209.name=Lead-209 Ingot +item.ingot_ra226.name=Radium-226 Ingot +item.ingot_strontium.name=Strontium Ingot +item.ingot_sr90.name=Strontium-90 Ingot +item.ingot_tennessine.name=Tennessine-294 Ingot +item.ingot_gh336.name=Ghiorsium-336 Ingot +item.billet_unobtainium.name=Unobtainium Neutron Billet +item.billet_flashlead.name=Flashlead Billet +item.billet_ac227.name=Actinium-227 Billet +item.billet_nuclear_waste.name=Nuclear Waste Billet +item.billet_pb209.name=Lead-209 Billet +item.billet_ra226.name=Radium-226 Billet +item.billet_sr90.name=Strontium-90 Billet +item.billet_beryllium.name=Beryllium Billet +item.billet_bismuth.name=Bismuth Billet +item.billet_zirconium.name=Zirconium Billet +item.billet_zfb_bismuth.name=Bismuth ZFB Billet +item.billet_zfb_pu241.name=Pu-241 ZFB Billet +item.billet_zfb_am_mix.name=Americium ZFB Billet +item.billet_gh336.name=Ghiorsium-336 Billet +item.bio_wafer.name=Bio Wafer +item.nugget_actinium.name=Actinium Nugget +item.nugget_ac227.name=Actinium-227 Nugget +item.nugget_cobalt.name=Cobalt Nugget +item.nugget_strontium.name=Strontium Nugget +item.nugget_sr90.name=Strontium-90 Nugget +item.nugget_u238m2.name=Metastable U238-2 Nugget +item.nugget_pb209.name=Lead-209 Nugget +item.nugget_gh336.name=Ghiorsium-336 Nugget +item.powder_pb209.name=Lead-209 Powder +item.powder_ac227.name=Actinium-227 Powder +item.powder_ra226.name=Radium-226 Powder +item.powder_sr90.name=Strontium-90 Powder +item.powder_sr90_tiny.name=Tiny Pile of Strontium-90 Powder +item.powder_co60_tiny.name=Tiny Pile of Cobalt-60 Powder +item.powder_iodine_tiny.name=Tiny Pile of Iodine Powder +item.blades_aluminum.name=Aluminum Shredder Blades +item.decontamination_module.name=Decontamination Module +item.pellet_rtg_radium.name=Radium-226 RTG Pellet +item.pellet_rtg_strontium.name=Strontium-90 RTG Pellet +item.pellet_rtg_cobalt.name=Cobalt-90 RTG Pellet +item.pellet_rtg_actinium.name=Actinium-227 RTG Pellet +item.pellet_rtg_americium.name=Americium-241 RTG Pellet +item.pellet_rtg_polonium.name=Polonium-210 RTG Pellet +item.pellet_rtg_gold.name=Gold-198 RTG Pellet +item.pellet_rtg_lead.name=Lead-209 RTG Pellet +item.pellet_rtg_balefire.name=Balefire-XXX RTG Pellet +item.pellet_rtg_depleted_bismuth.name=Depleted Bismuth RTG Pellet +item.pellet_rtg_depleted_lead.name=Depleted Lead RTG Pellet +item.pellet_rtg_depleted_mercury.name=Depleted Mercury RTG Pellet +item.pellet_rtg_depleted_neptunium.name=Depleted Neptunium RTG Pellet +item.pellet_rtg_depleted_zirconium.name=Depleted Zirconium RTG Pellet +item.pellet_rtg_radium.desc=Great starter pellet, sourced from all-natural radium! +item.pellet_rtg_weak.desc=Cheaper and weaker pellet, now with more U238! +item.pellet_rtg_strontium.desc=Known to the State of California... +item.pellet_rtg_cobalt.desc=Not the best as an RTG, but great for gamma radiation! +item.pellet_rtg_actinium.desc=A glow of blue light and beta rays. +item.pellet_rtg_americium.desc=Rare and reliable, good old Americium! +item.pellet_rtg_polonium.desc=More powerful RTG pellet, made from finest Polonium! +item.pellet_rtg_gold.desc=Made from a rare, highly unstable gold isotope. +item.pellet_rtg_lead.desc=Exposure will result in immediate death. +item.pellet_rtg_balefire.desc=Nuclear Hell for ... +item.rbmk_pellet_flashlead.name=Flashlead Fuel Pellet +item.rbmk_pellet_zfb_am_mix.name=Fuel Grade Americium ZFB Pellet +item.rbmk_pellet_zfb_bismuth.name=Bismuth ZFB Pellet +item.rbmk_pellet_zfb_pu241.name=Pu-241 ZFB Pellet +item.rbmk_fuel_flashlead.name=Flashlead RBMK Fuel Rod +item.rbmk_fuel_zfb_am_mix.name=Fuel Grade Americium RBMK ZFB Rod +item.rbmk_fuel_zfb_bismuth.name=Bismuth RBMK ZFB Rod +item.rbmk_fuel_zfb_pu241.name=Pu-241 RBMK ZFB Rod +item.rbmk_fuel_unobtainium.name=Unobtainium RBMK Neutron Rod +item.rbmk_pellet_unobtainium.name=Unobtainium Neutron Rod +tile.concrete_white.name=White Concrete +tile.concrete_orange.name=Orange Concrete +tile.concrete_magenta.name=Magenta Concrete +tile.concrete_light_blue.name=Light Blue Concrete +tile.concrete_yellow.name=Yellow Concrete +tile.concrete_lime.name=Lime Concrete +tile.concrete_pink.name=Pink Concrete +tile.concrete_gray.name=Gray Concrete +tile.concrete_silver.name=Light Gray Concrete +tile.concrete_cyan.name=Cyan Concrete +tile.concrete_purple.name=Purple Concrete +tile.concrete_blue.name=Blue Concrete +tile.concrete_brown.name=Brown Concrete +tile.concrete_green.name=Green Concrete +tile.concrete_red.name=Red Concrete +tile.concrete_black.name=Black Concrete +desc.item.rtgDecay=Decays into: %s +desc.item.rtgHeat=Heat: %s +trait.blinding=Blinding +trait.breeding=Worth %s operations in breeding reactor +trait.digamma=Digamma Radiation +trait.drop=Dangerous Drop +trait.furnace=Worth %s operations in nuclear furnace +trait.heat=Provides %s HEAT +trait.hlParticle=Particle Half-Life: %s +trait.hlPlayer=Player Half-Life: %s +trait.hot=Pyrophoric / Hot +trait.radioactive=Radioactive +trait.radResistance=Radiation resistance: %s +trait.asbestos=Asbestos +trait.hydro=Hydroexplosive +trait.unstable=Unstable +trait.coal=Coal Dust +trait.rbmk.coreTemp=Core temp: %s +trait.rbmk.depletion=Depletion: %s +trait.rbmk.diffusion=Diffusion: %s +trait.rbmk.fluxFunc=Flux function: %s +trait.rbmk.funcType=Function type: %s +trait.rbmk.heat=Heat per tick at full power: %s +trait.rbmk.melt=Melting point: %s +trait.rbmk.neutron.any=All Neutrons +trait.rbmk.neutron.fast=Fast Neutrons +trait.rbmk.neutron.slow=Slow Neutrons +trait.rbmk.skinTemp=Skin temp: %s +trait.rbmk.source=Self-igniting +trait.rbmk.splitsInto=Splits into: %s +trait.rbmk.splitsWith=Splits with: %s +trait.rbmk.xenon=Xenon poison: %s +trait.rbmk.xenonBurn=Xenon burn function: %s +trait.rbmk.xenonGen=Xenon gen function: %s +trait.rbmx.coreTemp=Core entropy: %s +trait.rbmx.depletion=Crustyness: %s +trait.rbmx.diffusion=Flow: %s +trait.rbmx.fluxFunc=Doom function: %s +trait.rbmx.funcType=Function specification: %s +trait.rbmx.heat=Crust per tick at full power: %s +trait.rbmx.melt=Crush depth: %s +trait.rbmk.neutron.any.x=All non-euclidean shapes +trait.rbmk.neutron.fast.x=Elliptic non-euclidean shapes +trait.rbmk.neutron.slow.x=Hyperbolic non-euclidean shapes +trait.rbmx.skinTemp=Skin entropy: %s +trait.rbmx.source=Self-combusting +trait.rbmx.splitsInto=Departs to: %s +trait.rbmx.splitsWith=Arrives from: %s +trait.rbmx.xenon=Lead poison: %s +trait.rbmx.xenonBurn=Lead destruction function: %s +trait.rbmx.xenonGen=Lead creation function: %s +trait.tile.cluster=Drops only when broken by a player +trait.tile.depth=Can only be destroyed by explosions +info.coil=Coil Strength +info.templatefolder=Created with Template Folder +info.template_in=Input: +info.template_in_p=Inputs: +info.template_out=Output: +info.template_out_p=Outputs: +info.template_seconds=seconds +info.template_time=Production Time: +hadron.analysis=Analyzing... +hadron.buttonOn=Analysis Chamber (if present) is ON +hadron.buttonOff=Analysis Chamber is OFF +hadron.error=Error! +hadron.idle=Idle +hadron.progress=In Progress... +hadron.hopper0=§eNormal Mode:$All items will be used. +hadron.hopper1=§eHopper Mode:$One item will always remain. +hadron.modeCircular=§eCircular Accelerator Mode:$Magnets must loop back into core.$Unlocks more recipes. +hadron.modeLine=§eLinear Accelerator Mode:$Accelerator ends with analysis chamber.$Fewer Recipes. +hadron.success=Completed! +hadron.noresult=No Result. +tool.ability.centrifuge=Auto-Centrifuge +tool.ability.crystallizer=Auto-Crystallizer +tool.ability.explosion=Explosion +tool.ability.hammer=AoE +tool.ability.luck=Fortune +tool.ability.mercury=Mercury Touch +tool.ability.midas=Midas Touch +tool.ability.recursion=Vein Miner +tool.ability.shredder=Auto-Shredder +tool.ability.silktouch=Silk Touch +tool.ability.smelter=Auto-Smelter +weapon.ability.radiation=Radioactive Blade +weapon.ability.vampire=Vampire +weapon.ability.stun=Stunning +weapon.ability.phosphorus=Phosphorus Tip +weapon.ability.beheader=Decapitator +weapon.ability.chainsaw=Painsaw +weapon.ability.fire=Flaming +hbm.advancement.root=NTM Advancements +hbm.advancement.root.desc=Advancements for Hbm's Nuclear Tech. +hbm.achievement.sacrifice=Sororicide +hbm.achievement.sacrifice.desc=Face the fire and live. +hbm.achievement.impossible=Literally impossible +hbm.achievement.impossible.desc=You can't get this hbm.achievement. +hbm.achievement.tasteofblood=The Taste of Blood +hbm.achievement.tasteofblood.desc=is not part of any testing protocol. +hbm.achievement.freytag=Freytag +hbm.achievement.freytag.desc=Herold's life guards +hbm.achievement.selenium=XVIII The Moon +hbm.achievement.selenium.desc=Yeah. +hbm.achievement.potato=Rogue AI +hbm.achievement.potato.desc=You stabbed me! What is WRONG with yo-WOOOAAH +hbm.achievement.c44=Chapter 44 +hbm.achievement.c44.desc=Galvanized! I mean, zinc! +hbm.achievement.c20_5=Chapter [TWENTY POINT FIVE] +hbm.achievement.c20_5.desc=??? +hbm.achievement.space=The Final Front-ah forget it +hbm.achievement.space.desc=Fail in every way possible and waste funds worth 90 million dollars. +hbm.achievement.foeq=Pegasi and Missile Silos +hbm.achievement.foeq.desc=Send a relay into martian...I mean dunaian orbit. +hbm.achievement.fiend=Delinquent +hbm.achievement.fiend.desc=Be mean. +hbm.achievement.fiend2=Delinquent 2: Delinquent Harder +hbm.achievement.fiend2.desc=Be meaner. +hbm.achievement.metalworks=Metalworks +hbm.achievement.metalworks.desc=Vault-tec Support Level 1 (Blast Furnace) +hbm.achievement.assembly=Fabrication +hbm.achievement.assembly.desc=Vault-tec Support Level 2 (Assembly Machine) +hbm.achievement.chemistry=Chemistry +hbm.achievement.chemistry.desc=Vault-tec Support Level 3 (Concrete Bricks) +hbm.achievement.oil=Petroleum +hbm.achievement.oil.desc=Vault-tec Support Level 4 (Electric Boiler) +hbm.achievement.nuclear=Atomic Science +hbm.achievement.nuclear.desc=Vault-tec Support Level 5 (Uranium Fuel) +hbm.achievement.hidden=Hidden Catalog +hbm.achievement.hidden.desc=Kill a tainted creeper with a falling boxcar. +hbm.achievement.horizonsStart=Apogee +hbm.achievement.horizonsStart.desc=Send a lad to the moon. +hbm.achievement.horizonsEnd=The Horizons +hbm.achievement.horizonsEnd.desc=Send Tom home. +hbm.achievement.horizonsBonus=Slam Dunk Diarrhea +hbm.achievement.horizonsBonus.desc=honest to god what the hell is wrong with you +hbm.achievement.soyuz=Baked Potato +hbm.achievement.soyuz.desc=Become crunchy. +hbm.achievement.radPoison=Yay, Radiation! +hbm.achievement.radPoison.desc=Suffer the effects of radiation poisoning. +hbm.achievement.radDeath=Ouch, Radiation! +hbm.achievement.radDeath.desc=Marie Curie invented the theory of radioactivity, the treatment of radioactivity, and dying of radioactivity. +hbm.achievement.stratum.desc=Hit the brakes, Mitts. +hbm.achievement.stratum=Stratum +hbm.achievement.meltdown.desc=You got this far, how could you mess this up? +hbm.achievement.meltdown=Rapid Unscheduled Disassembly +hbm.achievement.omega12.desc=Solve the problem of continued life on this wretched planet. +hbm.achievement.omega12=Omega-12 Particle Accelerator +hbm.achievement.bossCreeper.desc='There is nuclear creepers? Those are a thing?!' +hbm.achievement.bossCreeper=Bomb On Four Legs +hbm.achievement.bossMaskman.desc=Bonk the big boy. +hbm.achievement.bossMaskman=6 Months of mandatory service and all I got was a lousy t-shirt +hbm.achievement.bossMeltdown.desc=More terrible than great, but I take what I can get. +hbm.achievement.bossMeltdown=3.6 Roentgen +hbm.achievement.bossWorm.desc=The Fabstaff. My ass. You do the math. +hbm.achievement.bossWorm=Disassembling Balls-O-Tron +achievement.bossUFO.desc=Yo, what do we have here? A huge spacecraft pulling up to the bloockship? +achievement.bossUFO=Ayy Lmao +hbm.achievement.digammaFeel.desc=the hollow within. +hbm.achievement.digammaFeel=The Terror of Feeling +hbm.achievement.digammaKauaiMoho.desc=Everything is awful, here's some hot choccy. +hbm.achievement.digammaKauaiMoho=Sing, sing me the song of the Kauai Moho +hbm.achievement.digammaKnow.desc=what this world is about. +hbm.achievement.digammaKnow=The Terror of Knowing +hbm.achievement.digammaSee.desc=into the abyss. +hbm.achievement.digammaSee=The Terror of Seeing +hbm.achievement.digammaUpOnTop.desc=I do what I want, but irresponsibly. +hbm.achievement.digammaUpOnTop=Admire Me, Admire my Home +hbm.achievement.someWounds.desc=Get ready +hbm.achievement.someWounds=Some Wounds Never Heal +potion.hbm_taint=Tainted +potion.hbm_mutation=Tainted Heart +potion.hbm_radiation=Contaminated +potion.hbm_bang=! ! ! +potion.hbm_radx=Rad-X +potion.hbm_lead=Lead Poisoning +potion.hbm_radaway=Radaway +potion.hbm_telekinesis=! ! ! +potion.hbm_phosphorus=Phosphorus Burns +potion.hbm_stability=Stability +rbmk.heat=Column temperature: %s +rbmk.boiler.water=Feedwater: %s / %s +rbmk.boiler.steam=Steam: %s / %s +rbmk.boiler.type=Compressor: %s +rbmk.control.level=%s +rbmk.control.red=§cRed Group +rbmk.control.yellow=§eYellow Group +rbmk.control.green=§aGreen Group +rbmk.control.blue=§1Blue Group +rbmk.control.purple=§5Purple Group +rbmk.moderated=Moderated +rbmk.rod.depletion=Depletion: %s +rbmk.rod.xenon=Xenon poison: %s +rbmk.rod.coreTemp=Core temperature: %s +rbmk.rod.skinTemp=Skin temperature: %s / %s +hbmfluid.steam=Steam +hbmfluid.hotsteam=Dense Steam +hbmfluid.superhotsteam=Super Dense Steam +hbmfluid.ultrahotsteam=Ultra Dense Steam +hbmfluid.hotoil=Hot Crude Oil +hbmfluid.fracksol=Fracksol +hbmfluid.heavyoil=Heavy Oil +hbmfluid.bitumen=Bitumen +hbmfluid.heatingoil=Heating Oil +hbmfluid.naphtha=Naphtha +hbmfluid.lightoil=Light Oil +hbmfluid.petroleum=Petroleum Gas +hbmfluid.acid=Hydrogen Peroxide +hbmfluid.watz=Poisonous Mud +hbmfluid.biogas=Biogas +hbmfluid.biofuel=Biofuel +hbmfluid.sas3=Schrabidium Trisulfide +hbmfluid.nitan=NITAN© 100 Octane Super Fuel +hbmfluid.cryogel=Cryogel +hbmfluid.hydrogen=Liquid Hydrogen +hbmfluid.oxygen=Liquid Oxygen +hbmfluid.xenon=Xenon Gas +hbmfluid.balefire=BF Rocket Fuel +hbmfluid.mercury=Mercury +hbmfluid.plasma_dt=Deuterium-Tritium Plasma +hbmfluid.plasma_hd=Hydrogen-Deuterium Plasma +hbmfluid.plasma_ht=Hydrogen-Tritium Plasma +hbmfluid.plasma_xm=Xenon-Mercury Plasma +hbmfluid.plasma_bf=Balefire Plasma +hbmfluid.schrabidic_fluid=Schrabidic Acid +hbmfluid.pain=Pandemonium(III)tantalite Solution +hbmfluid.spentsteam=Low-Pressure Steam +hbmfluid.wastefluid=Liquid Nuclear Waste +hbmfluid.wastegas=Gaseous Nuclear Waste +hbmfluid.gasoline=Leaded Gasoline +fluid.steam=Steam +fluid.hotsteam=Dense Steam +fluid.superhotsteam=Super Dense Steam +fluid.ultrahotsteam=Ultra Dense Steam +fluid.uf6=Uranium Hexafluoride +fluid.puf6=Plutonium Hexafluoride +fluid.deuterium=Deuterium +fluid.tritium=Tritium +fluid.oil=Crude Oil +fluid.hotoil=Hot Crude Oil +fluid.smear=Industrial Oil +fluid.reclaimed=Reclaimed Industrial Oil +fluid.petroil=Petroil +fluid.lubricant=Engine Lubricant +fluid.lubircant=Engine Lubricant +fluid.diesel=Diesel +fluid.kerosene=Kerosene +fluid.gas=Natural Gas +fluid.coolant=Coolant +fluid.amat=Antimatter +fluid.aschrab=Antischrabidium +fluid.heavyoil=Heavy Oil +fluid.bitumen=Bitumen +fluid.heatingoil=Heating Oil +fluid.naphtha=Naphtha +fluid.lightoil=Light Oil +fluid.petroleum=Petroleum Gas +fluid.acid=Hydrogen Peroxide +fluid.watz=Poisonous Mud +fluid.biogas=Biogas +fluid.biofuel=Biofuel +fluid.sas3=Schrabidium Trisulfide +fluid.nitan=NITAN© 100 Octane Super Fuel +fluid.cryogel=Cryogel +fluid.hydrogen=Liquid Hydrogen +fluid.oxygen=Liquid Oxygen +fluid.xenon=Xenon Gas +fluid.balefire=BF Rocket Fuel +fluid.mercury=Mercury +fluid.plasma_dt=Deuterium-Tritium Plasma +fluid.plasma_hd=Hydrogen-Deuterium Plasma +fluid.plasma_ht=Hydrogen-Tritium Plasma +fluid.plasma_xm=Xenon-Mercury Plasma +fluid.plasma_bf=Balefire Plasma +fluid.schrabidic=Schrabidic Acid +fluid.corium_fluid=Corium +fluid.volcanic_lava_fluid=Volcanic Lava +fluid.pain=Pandemonium(III)tantalite Solution +fluid.spentsteam=Low-Pressure Steam +fluid.wastefluid=Liquid Nuclear Waste +fluid.wastegas=Gaseous Nuclear Waste +fluid.gasoline=Leaded Gasoline +tile.volcanic_lava_block.name=Volcanic Lava +tile.corium_block.name=Liquid Corium +tile.schrabidic_block.name=Schrabidic Acid +book.rbmk.cover=My first RBMK:$Basics of$building a$reactor +book.rbmk.title1=Introduction +book.rbmk.page1=§lRBMK§r is fully modular nuclear reactor. Unlike most other reactors, there is no "core" and no size restrictions, rather behavior and efficiency of reactor depends on how it is built and how various parts interact with each other. +book.rbmk.title2=Heat +book.rbmk.page2=As reactor runs, it will generate §lheat§r. Heat will spread between parts, slowly decreasing in the process. The goal is to generate as much heat as possible without melting the reactor, and to transfer heat into steam passages that cool reactor and produce steam. +book.rbmk.title3=Fuel Rod +book.rbmk.page3=The §lfuel rod§r will capture neutron flux, causing fuel inside the rod to react, releasing neutrons in the process. Neutrons are released in all four main directions with a maximum range of 5 blocks. The amount of released neutrons depends on fuel used. +book.rbmk.title4=Regulating Rod +book.rbmk.page4=The §lcontrol rod§r will reduce number of neutrons passing through. Fully inserted, it will block all neutrons; when inserted halfway, it will only block half. Control rods are used to regulate activity of the reactor and shut it down. +book.rbmk.title5=Regulating Rods - Usage +book.rbmk.title5.scale=0.9 +book.rbmk.page5=The current bar insertion will be displayed in the center of GUI. The colored buttons on left will add the control bar to the color group, which is useful for quickly selecting grouped bars on §lRBMK§r console. The buttons on right allow you to manually insert in 25%% increments. +book.rbmk.title6=Automatic Control Rods +book.rbmk.page6=§LAutomatic control rods§r are almost identical to regular control rods, but they cannot be manually adjusted, instead they will adjust position of the rod based on current temperature. Which function to use and how deep to insert and at what temperature must be determined first. +book.rbmk.title7=Steam Channel +book.rbmk.page7=The §lsteam channel§r is only part that will actively reduce reactor heat level. If a component is above the boiling point of a given type of steam, it will try to consume as much water and produce as much steam as needed to cool below boiling point. +book.rbmk.title8=Neutron Reflector +book.rbmk.page8=The §lneutron reflector§r will block passage of neutrons, instead neutrons will be reflected back onto the fuel rod they came from. This is useful for using neutrons that would otherwise be wasted simply by leaving reactor. +book.rbmk.title9=Neutron Absorber +book.rbmk.page9=§lNeutron absorber§r simply blocks neutrons. The absorbed neutrons will not generate heat and will be effectively destroyed. This is useful for preventing fuel rods from reacting that would otherwise be within reach. +book.rbmk.title10=Graphite Retarder +book.rbmk.page10=§lGraphite moderator§r converts fast neutrons passing through it into slow neutrons. Most fuels are split into fast neutrons, while slow neutrons are required for fission, so use of moderators is highly recommended. +book.rbmk.title11=Structural Column +book.rbmk.page11=§lStructural column§r does not affect neutrons in any way and has no special application. It is recommended to fill the reactor with structured pillars where there are no other parts, since the structured pillars are capable of transferring heat. +book.rbmk.title12=Console +book.rbmk.page12=§lRBMK console§r allows you to control the reactor from afar. Using the §ldevice to connect the console RBMK§r on the RBMK part and then on the console will connect the reactor and the console. The console can only control 15x15 parts, for large reactors you can use multiple consoles. +book.rbmk.title13=Using the console +book.rbmk.page13=Clicking on parts will select and deselect them. With the colored buttons, you can quickly select all the control rods in that color group. Button "A" will select all control rods, "X" will deselect all. +book.rbmk.page14=Entering a number between 0 and 100 in green box and then pressing button next to it will set all selected control rods to that position. Button "AZ-5" will lead to full insertion of all control rods. +book.rbmk.title15=Fuel +book.rbmk.page15=The §lfuel§r response depends on many factors. The main ones are §lfortification§r, §lxenon poisoning§r and number of incoming §lneutrons§r. Xenon builds up when fuel is low in neutrons and burns out during normal operation. The efficiency of neutrons depends on the type, most fuels §lare best split by§r §lslow neutrons§r. +book.rbmk.title16=Melting +book.rbmk.page16=§4§lAVOID. +chem.TEST=Test +chem.FP_HEAVYOIL=Heavy Oil Processing +chem.FP_SMEAR=Industrial Oil Processing +chem.FP_NAPHTHA=Naphtha Processing +chem.FP_LIGHTOIL=Light Oil Processing +chem.FR_REOIL=Oil Reprocessing +chem.FR_PETROIL=Petroil Mixing +chem.OIL_SAND=Tar Sand Extraction +chem.FC_BITUMEN=Bitumen Cracking +chem.FC_I_NAPHTHA=Industrial Oil Cracking +chem.FC_GAS_PETROLEUM=Gas Cracking +chem.FC_DIESEL_KEROSENE=Diesel Cracking +chem.FC_KEROSENE_PETROLEUM=Kerosene Cracking +chem.CC_OIL=Coal Liquefaction +chem.CC_I=Enhanced Coal Liquefaction +chem.CC_HEATING=Advanced Coal Liquefaction +chem.CC_HEAVY=Basic Coal Liquefaction +chem.CC_NAPHTHA=Naphtha Coal Liquefaction +chem.ASPHALT=Asphalt Production +chem.CONCRETE=Concrete Production +chem.CONCRETE_ASBESTOS=Asbestos Concrete Production +chem.COOLANT=Coolant Mixing +chem.CRYOGEL=Cryogel Mixing +chem.DESH=Desh Production +chem.PEROXIDE=Hydrogen Peroxide Production +chem.CIRCUIT_4=Overclocked Circuit Production +chem.CIRCUIT_5=High Performance Circuit Production +chem.SF_OIL=Crude Oil Solidification +chem.SF_HEAVYOIL=Heavy Oil Solidification +chem.SF_SMEAR=Industrial Oil Solidification +chem.SF_HEATINGOIL=Heating Oil Solidification +chem.SF_RECLAIMED=Reclaimed Oil Solidification +chem.SF_PETROIL=Petroil Solidification +chem.SF_LUBRICANT=Lubricant Solidification +chem.SF_NAPHTHA=Naphtha Solidification +chem.SF_DIESEL=Diesel Solidification +chem.SF_LIGHTOIL=Light Oil Solidification +chem.SF_KEROSENE=Kerosene Solidification +chem.SF_GAS=Natural Gas Solidification +chem.SF_PETROLEUM=Petroleum Gas Solidification +chem.SF_BIOGAS=Biogas Solidification +chem.SF_BIOFUEL=Biofuel Solidification +chem.POLYMER=Polymer Synthesis +chem.DEUTERIUM=Deuterium Extraction +chem.STEAM=Water Boiling +chem.YELLOWCAKE=Yellowcake Production +chem.UF6=Uranium Hexafluoride Production +chem.PUF6=Plutonium Hexafluoride Production +chem.BP_BIOGAS=Biogas Production +chem.BP_BIOFUEL=Biofuel Transesterification +chem.SAS3=Schrabidium Trisulfide Production +chem.NITAN=NITAN Super Fuel Mixing +chem.DYN_SCHRAB=Schrabidium Dynosynthesis +chem.DYN_EUPH=Euphemium Dynosynthesis +chem.DYN_DNT=Dineutronium Dynosynthesis +chem.CORDITE=Cordite Production +chem.KEVLAR=Kevlar Compound Production +chem.SOLID_FUEL=Solid Rocket Fuel Production +chem.ELECTROLYSIS=Cryo-Electrolysis +chem.XENON=Linde Xenon Cycle +chem.SATURN=Saturnite Production +chem.BALEFIRE=BF Rocket Fuel Mixing +chem.SCHRABIDATE=Ferric Schrabidate Production +chem.SCHRABIDIC=Schrabidic Acid Mixing +chem.COLTAN_CLEANING=Coltan Purifying +chem.COLTAN_CRYSTAL=Tantalium Crystallizing +chem.COLTAN_PAIN=Pandemonium(III)tantalite Production +chem.VIT_GAS=Gaseous Nuclear Waste Vitrification +chem.VIT_LIQUID=Liquid Nuclear Waste Vitrification +chem.TEL=TEL Mixing +item.record.glass.desc=? ? ? +death.attack.mku=%1$s died from unknown causes. +death.attack.gunGib=%1$s was blasted into pieces by %2$s. +death.attack.spikes=%1$s got impaled. +death.attack.blender=%1$s was chopped in small, bite-sized pieces. +death.attack.meteorite=%1$s was hit by a falling rock from outer space. +death.attack.boxcar=%1$s was smushed by a falling boxcar. Oh well. +death.attack.boat=%1$s was hit by a boat. +death.attack.building=%1$s was hit by a falling building. +death.attack.electricity=%1$s was electrocuted. +death.attack.exhaust=%1$s was turned into shish kebab by a starting rocket. +death.attack.broadcast=%1$s got their brain melted. +death.attack.ams=%1$s was bathed in deadly particles that have yet to be named by human science. +death.attack.amsCore=%1$s was vaporized in the fire of a singularity. +death.attack.bang=%1$s was blasted into bite-sized pieces. +death.attack.pc=%1$s was reduced to a puddle in the pink cloud. +death.attack.cloud=%1$s melted like a popsicle in the sun. +death.attack.lead=%1$s died from lead poisoning. +death.attack.taint=%1$s died from flux tumors. +death.attack.lunar=%1$s forgot to charge their vital organs. +death.attack.gluon=%1$s was deatomized by a stream of concentrated gluons. +death.attack.slicer=%1$s was cut in half. +death.attack.crucible=%1$s was bisected by a blade of pure Argent energy. +death.attack.monoxide=%1$s forgot to change the batteries in their carbon monoxide detector. +death.attack.digamma=%1$s stepped into the abyss. +death.attack.asbestos=%1$s is now entitled to financial compensation. +death.attack.blacklung=%1$s gave his life to the coal mines. +item.solinium_igniter.name=SOL Pulse Igniter +item.solinium_propellant.name=SOL Compression Charge +item.solinium_core.name=Semi-Stable Solinium Core +item.n2_charge.name=Large Explosive Charge +item.egg_balefire_shard.name=Balefire Shard +item.egg_balefire.name=Balefire Egg +item.egg_balefire.desc=What kind of bird lays a radioactive egg? +item.custom_tnt.name=Custom Nuke Explosive Charge +item.custom_nuke.name=Custom Nuke Nuclear Rod +item.custom_hydro.name=Custom Nuke Hydrogen Rod +item.custom_amat.name=Custom Nuke Antimatter Rod +item.custom_dirty.name=Custom Nuke Dirty Rod +item.custom_schrab.name=Custom Nuke Schrabidium Rod +item.custom_fall.name=Custom Nuke Drop Upgrade +container.nukeSolinium=The Blue Rinse +container.nukeN2=N² Mine +container.nukeN45=N45 Naval Mine +container.nukeFstbmb=Balefire Bomb +container.turretChekhov=Chekhov's Gun +container.turretFriendly=Mister Friendly +container.turretFritz=Fritz +container.turretHoward=Howard +container.turretJeremy=Jeremy +container.turretMaxwell=Maxwell +container.turretRichard=Richard +container.turretTauon=Tauon +tile.spinny_light.name=Spinny Light +tile.nuke_solinium.name=The Blue Rinse +tile.nuke_n2.name=N² Mine +tile.nuke_n45.name=N45 Naval Mine +tile.nuke_fstbmb.name=Balefire Bomb +tile.mush_block.name=Grown Glowing Shroom +tile.mush_block_stem.name=Grown Glowing Shroom Stem +tile.energy_ball.name=Energy Ball +tile.rejuvinator.name=Rejuvination Device +tile.emp_bomb.name=EMP Device +tile.boxcar.name=Boxcar +tile.brick_asbestos.name=Asbestos Bricks +tile.boat.name=Boat +tile.bomber.name=Crashed Bomber +tile.pink_log.name=Pink Log +tile.pink_planks.name=Pink Wood Planks +tile.pink_slab.name=Pink Wood Slab +tile.pink_stairs.name=Pink Wood Stairs +tile.turret_cheapo.name=Cheapo Gatling Sentry +tile.turret_chekhov.name=Heavy Machine Gun Turret "Chekhov's Gun" +tile.turret_cwis.name=Phalanx Mk-15 CIWS +tile.turret_flamer.name=Flamethrower Turret +tile.turret_friendly.name=Chaingun Turret "Mister Friendly" +tile.turret_fritz.name=Heavy Flamethrower Turret "Fritz" +tile.turret_heavy.name=Heavy Machine Gun Turret +tile.turret_howard.name=Goalkeeper Twin Chaingun CIWS "Howard" +tile.turret_howard_damaged.name=Goalkeeper Twin Chaingun CIWS "Methusalem" +tile.turret_jeremy.name=Autocannon Turret "Jeremy" +tile.turret_light.name=Light Machine Gun Turret +tile.turret_maxwell.name=High-Energy MASER Turret "Maxwell" +tile.turret_rocket.name=Rocket Turret +tile.turret_richard.name=Rocket Launcher Turret "Richard" +tile.turret_spitfire.name=Turret I have no name for right now [WIP] +tile.turret_tau.name=Tauon Turret +tile.turret_tauon.name=XVL1456 Prototype Turret "Tauon" +tile.machine_radar.name=Radar +container.radar=Radar +tile.machine_forcefield.name=Forcefield Emitter +container.forceField=Forcefield Emitter +tile.machine_satlinker.name=Satellite ID Manager +container.satLinker=SatLink Device +tile.machine_telelinker.name=Turret Telemetry Linker +container.teleLinker=TelLink Device +tile.railgun_plasma.name=Railgun +container.railgun=Railgun +tile.control_panel0.name=[WIP]Control Panel +item.turret_control.name=Turret Controller +item.turret_chip.name=Turret AI-Chip +item.turret_biometry.name=Turret Telemetry Card +item.mirror_tool.name=Mirror Adjustment Tool +item.mirror_tool.linked=Alignment position set! +item.mirror_tool.desc=Right-click boiler to memorize the position.$Click on mirrors to turn them towards the boiler. +item.key.name=Key +item.key_red.name=Red Key +item.key_kit.name=Key Imitation Kit +item.key_fake.name=Counterfeit Key +item.pin.name=Bobby Pin +item.padlock_rusty.name=Rusty Padlock +item.padlock.name=Padlock +item.padlock_reinforced.name=Reinforced Padlock +item.padlock_unbreakable.name=Unbreakable Padlock +tile.machine_keyforge.name=Locksmith Table +container.keyForge=Locksmith Table +tile.mine_ap.name=Anti-Personell Mine +tile.mine_he.name=Anti-Tank Mine +tile.mine_shrap.name=Shrapnel Mine +tile.mine_fat.name=Fat Mine +item.defuser.name=High-Tech Bomb Defusing Device +tile.crate_weapon.name=Weapon Crate +tile.crate_lead.name=Hazmat Crate +tile.crate_metal.name=Machine Crate +tile.crate_red.name=Red Crate +tile.crate_can.name=Conserve Crate +tile.crate_ammo.name=Starmetal Crate +tile.struct_iter_core.name=Fusion Reactor Core Component +tile.balefire.name=Balfire +tile.struct_launcher.name=Launch Pad Component Block +tile.struct_scaffold.name=Launch Pad Scaffold Block +tile.struct_launcher_core.name=Compact Launcher Core Component +tile.struct_launcher_core_large.name=Launch Table Core Component +tile.struct_soyuz_core.name=Soyuz Launcher Core Component +tile.machine_gascent.name=Gas Centrifuge +container.gasCentrifuge=Gas Centrifuge +tile.machine_reactor_on.name=Breeding Reactor +container.rbmkBoiler=RBMK Steam Channel +container.rbmkControl=RBMK Control Rods +container.rbmkControlAuto=RBMK Automatic Control Rods +container.rbmkOutgasser=RBMK Irradiation Channel +container.rbmkReaSim=RBMK Fuel Rod (ReaSim) +container.rbmkRod=RBMK Fuel Rod +tile.rtg_polonium.name=PT Isotope Cell +tile.machine_arc_furnace_off.name=Arc Furnace +tile.machine_arc_furnace_on.name=Arc Furnace +tile.machine_armor_table.name=Armor Modification Table +container.arcFurnace=Arc Furnace +container.armorTable=Armor Modification Table +container.hadron=Particle Accelerator +tile.cable_switch.name=Power Switch +tile.machine_battery_potato.name=Potato Battery Block +tile.machine_lithium_battery.name=Li-Ion Energy Storage Block +tile.machine_schrabidium_battery.name=Schrabidium Energy Storage Block +tile.machine_dineutronium_battery.name=Spark Energy Storage Block +tile.machine_fensu.name=FEnSU +tile.machine_boiler_off.name=Boiler +tile.machine_boiler_on.name=Boiler +tile.machine_boiler_electric_off.name=Electric Boiler +tile.machine_boiler_electric_on.name=Electric Boiler +tile.machine_boiler_rtg_off.name=RTG Boiler +tile.machine_boiler_rtg_on.name=RTG Boiler +container.machineBoiler=Boiler +container.machineElectricBoiler=Electric Boiler +container.machineRTGBoiler=RTG Boiler +container.machineITER=Fusion Reactor +container.machineLargeTurbine=Industrial Steam Turbine +tile.machine_large_turbine.name=Industrial Steam Turbine +tile.machine_turbine.name=Steam Turbine +container.machineTurbine=Steam Turbine +tile.compact_launcher.name=Compact Launch Pad +container.compactLauncher=Compact Launch Pad +tile.launch_table.name=Large Launch Pad +container.launchTable=Large Launch Pad +tile.soyuz_launcher.name=Soyuz Launch Platform +container.soyuzLauncher=Soyuz Launch Platform +tile.machine_missile_assembly.name=Missile Assembly Station +container.missileAssembly=Missile Assembly Station +tile.sat_dock.name=Cargo Landing Pad +container.satDock=Cargo Landing Pad +container.microwave=Microwave +tile.machine_detector.name=Power Detector +container.plasmaHeater=Plasma Heater +tile.machine_pumpjack.name=Pumpjack +container.pumpjack=Pumpjack +tile.drill_pipe.name=Drill Pipe +tile.fluid_duct.name=Universal Fluid Duct [DEPRECIATED] +tile.fluid_duct_mk2.name=Universal Fluid Duct +tile.machine_fluidtank.name=Tank +item.fluid_duct.name=Fluid Duct: +item.ff_fluid_duct.name=Fluid Duct: +container.fluidtank=Tank +tile.machine_turbofan.name=Turbofan +container.machineTurbofan=Turbofan +tile.crate_iron.name=Iron Crate +container.crateTungsten=Tungsten Crate +tile.crate_jungle.name=Enargite Crate +container.crateIron=Iron Crate +tile.crate_steel.name=Steel Crate +tile.crate_tungsten.name=Tungsten Crate +container.crateSteel=Steel Crate +tile.crate_desh.name=Desh Crate +container.crateDesh=Desh Crate +tile.safe.name=Safe +tile.sand_polonium.name=Polonium Sand +container.safe=Safe +tile.machine_press.name=Burner Press +container.press=Burner Press +tile.machine_epress.name=Electric Press +container.epress=Electric Press +tile.machine_siren.name=Siren +container.siren=Siren +tile.machine_radgen.name=Radiation-Powered Engine +container.radGen=Radiation-Powered Engine +tile.machine_selenium.name=Radial Performance Engine +container.machineSelenium=Radial Performance Engine +tile.machine_reactor_small.name=Nuclear Reactor +container.reactorSmall=Nuclear Reactor +tile.machine_controller.name=Reactor Remote Control Block +container.reactorControl=Reactor Remote Control Block +tile.soyuz_capsule.name=Cargo Landing Capsule +container.soyuzCapsule=Cargo Landing Capsule +tile.machine_crystallizer.name=Ore Acidizer +container.crystallizer=Ore Acidizer +tile.machine_mining_laser.name=Mining Laser +container.miningLaser=Mining Laser +tile.barricade.name=Sand Bags +tile.machine_solar_boiler.name=Solar Tower Boiler +tile.solar_mirror.name=Heliostat Mirror +container.machineSILEX=SILEX +container.machineFEL=FEL +tile.heater_firebox.name=Firebox +tile.furnace_steel.name=Steel Furnace +container.heater_firebox=Firebox +tile.barrel_plastic.name=Safe Barrel™ +tile.barrel_corroded.name=Corroded Barrel +tile.barrel_iron.name=Iron Barrel +tile.barrel_steel.name=Steel Barrel +tile.barrel_antimatter.name=Magnetic Antimatter Container +container.barrel=Barrel +tile.broadcaster_pc.name=Corrupted Broadcaster +tile.tesla.name=Tesla Coil +tile.radiobox.name=Rosenberg Pest Control Box +tile.pribris.name=RBMK Debris +tile.pribris_burning.name=Flaming RBMK Debris +tile.pribris_digamma.name=Blackened RBMK Debris +tile.pribris_radiating.name=Smoldering RBMK Debris +tile.radiorec.name=Broken FM Radio +container.radiobox=FM Transmitter +container.radiorec=FM Radio +tile.rbmk_absorber.name=RBMK Boron Neutron Absorber +tile.rbmk_blank.name=RBMK Structural Column +tile.rbmk_boiler.name=RBMK Steam Channel +tile.rbmk_console.name=RBMK Console +tile.rbmk_control.name=RBMK Control Rods +tile.rbmk_control_auto.name=RBMK Automatic Control Rods +tile.rbmk_control_mod.name=RBMK Moderated Control Rods +tile.rbmk_loader.name=RBMK Steam Connector +tile.rbmk_moderator.name=RBMK Graphite Moderator +tile.rbmk_outgasser.name=RBMK Irradiation Channel +tile.rbmk_reflector.name=RBMK Tungsten Carbide Neutron Reflector +tile.rbmk_rod.name=RBMK Fuel Rod +tile.rbmk_rod_mod.name=RBMK Moderated Fuel Rod +tile.rbmk_rod_reasim.name=RBMK Fuel Rod (ReaSim) +tile.rbmk_rod_reasim_mod.name=RBMK Moderated Fuel Rod (ReaSim) +tile.rbmk_steam_inlet.name=RBMK ReaSim Water Inlet +tile.rbmk_steam_outlet.name=RBMK ReaSim Steam Outlet +tile.reactor_ejector.name=Reactor Waste Ejector +tile.reactor_inserter.name=Reactor Fuel Inserter +container.reactorLarge=Big Nuclear Reactor +tile.struct_plasma_core.name=Plasma Heater Core Component +tile.fusion_core_block.name=Fusion Reactor Control +tile.plasma_heater.name=Plasma Heater +tile.machine_waste_drum.name=Spent Fuel Pool Drum +container.wasteDrum=Spent Fuel Pool Drum +tile.machine_spp_bottom.name=ZPE Potential Generator (Bottom) +tile.machine_spp_top.name=ZPE Potential Generator (Top) +tile.ams_limiter.name=AMS Stabilizer [WIP] +container.amsLimiter=AMS Stabilizer [WIP] +tile.ams_emitter.name=AMS Emitter [WIP] +container.amsEmitter=AMS Emitter [WIP] +tile.ams_base.name=AMS Base [WIP] +container.amsBase=AMS Base [WIP] +tile.hadron_analysis.name=Particle Accelerator Analysis Chamber Wall +tile.hadron_analysis_glass.name=Particle Accelerator Analysis Chamber Window +tile.hadron_coil_alloy.name=Dense Superconducting Coil +tile.hadron_coil_chlorophyte.name=Dense Chlorophyte Coil +tile.hadron_coil_gold.name=Dense Gold Coil +tile.hadron_coil_magtung.name=Dense 4000K Superconductor Coil +tile.hadron_coil_mese.name=Dense Mese Coil +tile.hadron_coil_neodymium.name=Dense Neodymium Coil +tile.hadron_coil_schrabidate.name=Dense Schrabidate Coil +tile.hadron_coil_schrabidium.name=Dense Schrabidic Coil +tile.hadron_coil_starmetal.name=Dense Starmetal Coil +tile.hadron_diode.name=Schottky Particle Diode +tile.hadron_plating.name=Particle Accelerator Plating +tile.hadron_plating_black.name=Particle Accelerator Plating (Black) +tile.hadron_plating_blue.name=Particle Accelerator Plating (Blue) +tile.hadron_plating_glass.name=Particle Accelerator Plating (Window) +tile.hadron_plating_striped.name=Particle Accelerator Plating (Cool Hazard Stripes) +tile.hadron_plating_voltz.name=Particle Accelerator Plating (VOLTZ) +tile.hadron_plating_yellow.name=Particle Accelerator Plating (YelloDye) +tile.hadron_access.name=Particle Accelerator Access Terminal +tile.hadron_core.name=Particle Accelerator Core Component +tile.hadron_power.name=Particle Accelerator Power Plug +tile.dfc_emitter.name=DFC Emitter +container.dfcEmitter=DFC Emitter +tile.dfc_receiver.name=DFC Receiver +container.dfcReceiver=DFC Receiver +tile.dfc_injector.name=DFC Fuel Injector +container.dfcInjector=DFC Fuel Injector +tile.dfc_stabilizer.name=DFC Stabilizer +container.dfcStabilizer=DFC Stabilizer +tile.dfc_core.name=Dark Fusion Core +container.dfcCore=Dark Fusion Core +item.laser_crystal_nano.name=Nanotube Laser Crystal +item.laser_crystal_nano.desc=420km long Carbon-Nanotube Antenna inside a Polycrystal +item.laser_crystal_pentacene.name=Pentacene Laser Crystal +item.laser_crystal_pentacene.desc=Excited Pentacene Crystal coated in Advanced Alloy +item.laser_crystal_co2.name=CO2-Desh Laser Crystal +item.laser_crystal_co2.desc=Carbon Dioxide encased in Crystalline Desh +item.laser_crystal_bismuth.name=BiSmUTh Laser Crystal +item.laser_crystal_bismuth.desc=Bismuth-Samarium-Uranium-Thorium crystal matrix +item.laser_crystal_cmb.name=Xenon-Daffergon Laser Crystal +item.laser_crystal_cmb.desc=Xenon135 Suspended in a CMB-Daffergon Alloy Lattice +item.laser_crystal_dem.name=Demon Laser Crystal +item.laser_crystal_dem.desc=Demon-Schrabidate-Tenessine-Tantalium Fermion Supercrystal +item.laser_crystal_bale.name=Bale Laser Crystal +item.laser_crystal_bale.desc=Balepellet coated in Verticium in Dineutronium Casing +item.laser_crystal_digamma.name=Digamma Laser Crystal +wavelengths.name.radio=Radio +wavelengths.name.micro=Microwave +wavelengths.name.ir=Infrared +wavelengths.name.visible=Visible Light +wavelengths.name.uv=Ultraviolet +wavelengths.name.xray=X-Ray +wavelengths.name.gamma=Gamma +wavelengths.name.drx=Digamma +wavelengths.waveRange.radio=>1m +wavelengths.waveRange.micro=1mm-1m +wavelengths.waveRange.ir=780nm-1mm +wavelengths.waveRange.visible=400nm-780nm +wavelengths.waveRange.uv=10nm-400nm +wavelengths.waveRange.xray=9pm-10nm +wavelengths.waveRange.gamma=<9pm +wavelengths.waveRange.drx=1916169 planck lengths +tile.digamma_matter.name=Digammarium +tile.geysir_water.name=Water Geysir +tile.geysir_chlorine.name=Chlorgas Geysir +tile.geysir_vapor.name=Vapor Geysir +tile.geysir_nether.name=Magma Geysir +tile.stone_porous.name=Porous Stone +item.template_folder.name=Machine Template Folder +item.fluid_identifier.name=Fluid Identifier +item.forge_fluid_identifier.name=Fluid Identifier +item.assembly_template.name=Assembly Template: +item.chemistry_template.name=Chemistry Template: +item.siren_track.name=Siren Track +item.bobmazon_materials.name=Vault-tec Support: Materials +item.bobmazon_machines.name=Vault-tec Support: Blocks and Machines +item.bobmazon_weapons.name=Vault-tec Support: Weapons and Explosives +item.bobmazon_tools.name=Vault-tec Support: Tools +item.bobmazon_hidden.name=Hidden Catalog +item.arc_electrode.name=Graphite Electrode +item.arc_electrode_burnt.name=Molten Electrode +item.arc_electrode_desh.name=Desh Electrode +item.ingot_th232.name=Thorium-232 Ingot +item.ingot_u233.name=Uranium-233 Ingot +item.ingot_u238m2.name=Metastable Uranium-238-2 Ingot +item.ingot_polonium.name=Polonium-210 Ingot +item.ingot_cobalt.name=Cobalt Ingot +item.nugget_polonium.name=Polonium-210 Nugget +item.nugget_pu_mix.name=Reactor Grade Plutonium Nugget +item.powder_polonium.name=Polonium-210 Powder +item.rod_polonium.name=Polonium-210 Rod +item.rod_dual_polonium.name=Polonium-210 Dual Rod +item.rod_quad_polonium.name=Polonium-210 Quad Rod +item.ingot_schraranium.name=Schraranium Ingot +item.ingot_semtex.name=Bar of Semtex +item.ring_starmetal.name=§9Starmetal Ring§r +item.ingot_phosphorus.name=Bar of White Phosphorus +item.ingot_meteorite.name=Meteorite Ingot +item.ingot_meteorite_forged.name=Forged Meteorite Ingot +item.drax.name=Terra Drill +item.drax_mk2.name=Hardened Terra Drill +item.drax_mk3.name=Schrabidic Terra Drill +item.bolt_tungsten.name=Tungsten Bolt +item.bolt_compound.name=Reinforced Turbine Shaft +item.plate_polymer.name=Insulator +item.ingot_solinium.name=Solinium-327 Ingot +item.nugget_solinium.name=Solinium-327 Nugget +item.photo_panel.name=Photovoltaic Panel +item.sat_base.name=Satellite Base +item.thruster_nuclear.name=LV-N Nuclear Rocket Engine +item.sat_head_mapper.name=High-Gain Optical Camera +item.sat_head_scanner.name=M700 Survey Scanner +item.sat_head_radar.name=Radar Dish +item.sat_head_laser.name=Death Ray +item.sat_head_resonator.name=Xenium Resonator +item.nugget_australium_greater.name=Australium-406 Nugget +item.nugget_australium_lesser.name=Australium-405 Nugget +item.powder_desh_mix.name=Desh Blend +item.powder_desh_ready.name=DeshReady™ Blend +item.powder_nitan_mix.name=Nitanium Blend +item.powder_spark_mix.name=Spark Blend +item.ingot_dineutronium.name=Dineutronium Ingot +item.powder_dineutronium.name=Dineutronium Powder +item.nugget_dineutronium.name=Dineutronium Nugget +item.ingot_starmetal.name=§9Starmetal Ingot§r +item.ingot_saturnite.name=Saturnite Ingot +item.ingot_schrabidate.name=Ferric Schrabidate Ingot +item.plate_saturnite.name=Saturnite Plate +item.ingot_fiberglass.name=Fiberglass Bar +item.ingot_asbestos.name=Asbestos Sheet +item.ingot_electronium.name=Electronium Ingot +item.solid_fuel.name=Solid Fuel +item.rocket_fuel.name=Solid Fuel (Rocket Propellant) +item.coke.name=Coke +item.lignite.name=Lignite +item.briquette_lignite.name=Lignite Briquette +item.powder_lignite.name=Lignite Powder +item.nugget_th232.name=Thorium-232 Nugget +item.nugget_u233.name=Uranium-233 Nugget +item.nugget_pu241.name=Plutonium-241 Nugget +item.plate_armor_lunar.name=Lunar Plating +item.plate_armor_ajr.name=Iron-Shod Armor Plating +item.plate_armor_titanium.name=Titanium Armor Plate +item.plate_armor_hev.name=Reactive Armor Plating +item.hev_battery.name=Suit Battery +item.crystal_iron.name=Iron Crystals +item.crystal_gold.name=Gold Crystals +item.crystal_redstone.name=Redstone Crystals +item.crystal_lapis.name=Lapislazuli Crystals +item.crystal_diamond.name=Diamond Crystals +item.crystal_uranium.name=Uranium Crystals +item.crystal_thorium.name=Thorium Crystals +item.crystal_plutonium.name=Plutonium Crystals +item.crystal_titanium.name=Titanium Crystals +item.crystal_sulfur.name=Sulfur Crystals +item.crystal_niter.name=Niter Crystals +item.crystal_copper.name=Copper Crystals +item.crystal_tungsten.name=Tungsten Crystals +item.crystal_aluminium.name=Aluminium Crystals +item.crystal_fluorite.name=Fluorite Crystals +item.crystal_beryllium.name=Beryllium Crystals +item.crystal_lead.name=Lead Crystals +item.crystal_schraranium.name=Schraranium Crystals +item.crystal_schrabidium.name=Schrabidium Crystals +item.crystal_rare.name=Rare Earth Crystals +item.crystal_phosphorus.name=Phosphorus Crystals +item.crystal_lithium.name=Lithium Crystals +item.crystal_starmetal.name=Starmetal Crystals +item.crystal_trixite.name=Trixite Crystals +item.circuit_raw.name=Basic Circuit Assembly +item.circuit_targeting_tier1.name=Military Grade Circuit Board (Tier 1) +item.circuit_targeting_tier2.name=Military Grade Circuit Board (Tier 2) +item.circuit_targeting_tier3.name=Military Grade Circuit Board (Tier 3) +item.circuit_targeting_tier4.name=Military Grade Circuit Board (Tier 4) +item.circuit_targeting_tier5.name=Military Grade Circuit Board (Tier 5) +item.circuit_targeting_tier6.name=Military Grade Circuit Board (Tier 6) +item.mechanism_revolver_1.name=Revolver Mechanism +item.mechanism_revolver_2.name=Advanced Revolver Mechanism +item.mechanism_rifle_1.name=Rifle Mechanism +item.mechanism_rifle_2.name=Advanced Rifle Mechanism +item.mechanism_launcher_1.name=Launcher Mechanism +item.mechanism_launcher_2.name=Advanced Launcher Mechanism +item.mechanism_special.name=High-Tech Weapon Mechanism +item.primer_357.name=.357 Magnum Primer (x24) +item.primer_44.name=.44 Magnum Primer (x24) +item.primer_9.name=Small Caliber Primer (x32) +item.primer_50.name=Large Caliber Primer (x12) +item.primer_buckshot.name=Buckshot Primer (x12) +item.casing_357.name=.357 Magnum Casing (x24) +item.casing_44.name=.44 Magnum Casing (x24) +item.casing_9.name=Small Caliber Casing (x32) +item.casing_50.name=Large Caliber Casing (x12) +item.casing_buckshot.name=Buckshot Casing (x12) +item.assembly_iron.name=Iron Bullet Assembly +item.assembly_steel.name=Lead Bullet Assembly +item.assembly_lead.name=Glass Bullet Assembly +item.assembly_gold.name=Gold Bullet Assembly +item.assembly_schrabidium.name=Schrabidium Bullet Assembly +item.assembly_nightmare.name=Nightmare Bullet Assembly +item.assembly_desh.name=Desh Bullet Assembly +item.assembly_pip.name=Tainted Bullet Assembly +item.assembly_nopip.name=.44 Magnum Assembly +item.assembly_smg.name=9mm Assembly +item.assembly_556.name=5.56mm Assembly +item.assembly_uzi.name=.22 LR Assembly +item.assembly_actionexpress.name=.50 AE Assembly +item.assembly_calamity.name=.50 BMG Assembly +item.assembly_lacunae.name=.5mm Assembly +item.piston_selenium.name=Radial Engine Piston +tile.pink_double_slab.name=Pink Wood Double Slab +tile.radwater_block.name=Irradiated Water +tile.block_saturnite.name=Block of Saturnite +tile.block_ra226.name=Block of Radium-226 +tile.block_polymer.name=Block of Polymer +tile.block_thorium.name=Block of Thorium +tile.block_waste_painted.name=Painted Block of Nuclear Waste +tile.block_dineutronium.name=Block of Dineutronium +tile.block_schrabidate.name=Block of Ferric Schrabidate +tile.block_schraranium.name=Block of Schraranium +tile.block_dura_steel.name=Reinforced Block of High-Speed Steel +tile.block_yellowcake.name=Block of Yellowcake +tile.block_starmetal.name=§9Block of Starmetal§r +tile.block_insulator.name=Roll of Insulation +tile.block_fiberglass.name=Roll of Fiberglass +tile.block_asbestos.name=Block of Asbestos +tile.block_cobalt.name=Block of Cobalt +tile.block_lithium.name=Block of Lithium +tile.block_white_phosphorus.name=Block of White Phosphorus +tile.block_red_phosphorus.name=Block of Red Phosphorus +tile.block_u233.name=Block of Uranium-233 +tile.block_u235.name=Block of Uranium-235 +tile.block_u238.name=Block of Uranium-238 +tile.block_neptunium.name=Block of Neptunium-237 +tile.block_uranium_fuel.name=Block of Uranium Fuel +tile.block_mox_fuel.name=Block of MOX Fuel +tile.block_plutonium.name=Block of Plutonium +tile.block_pu238.name=Block of Plutonium-238 +tile.block_pu239.name=Block of Plutonium-239 +tile.block_pu240.name=Block of Plutonium-240 +tile.block_plutonium_fuel.name=Block of Plutonium Fuel +tile.block_polonium.name=Block of Polonium-210 +tile.block_thorium_fuel.name=Block of Thorium Fuel +tile.block_solinium.name=Block of Solinium-327 +tile.block_schrabidium_fuel.name=Block of Schrabidium Fuel +tile.ore_uranium_scorched.name=Scorched Uranium Ore +tile.ore_thorium.name=Thorium Ore +tile.ore_lignite.name=Lignite Ore +tile.ore_asbestos.name=Asbestos Ore +tile.ore_gneiss_asbestos.name=Schist Asbestos Ore +tile.ore_gneiss_copper.name=Schist Copper Ore +tile.ore_gneiss_gold.name=Schist Gold Ore +tile.ore_gneiss_iron.name=Schist Iron Ore +tile.ore_gneiss_lithium.name=Schist Lithium Ore +tile.ore_gneiss_rare.name=Schist Rare Earth Ore +tile.ore_gneiss_schrabidium.name=Schist Schrabidium Ore +tile.ore_gneiss_uranium.name=Schist Uranium Ore +tile.ore_gneiss_uranium_scorched.name=Scorched Schist Uranium Ore +tile.stone_gneiss.name=Graphitic Schist +tile.ore_gneiss_gas.name=Gas Shale +tile.ore_coal_oil.name=Oily Coal Ore +tile.ore_coal_oil_burning.name=Burning Oily Coal Ore +tile.ore_nether_uranium_scorched.name=Scorched Nether Uranium Ore +tile.ore_nether_coal.name=Burning Nether Coal Ore +tile.ore_nether_smoldering.name=Smoldering Netherrack +tile.ore_meteor_aluminium.name=Meteor Aluminium Ore +tile.ore_meteor_copper.name=Meteor Copper Ore +tile.ore_meteor_sulfur.name=Meteor Sulfur Ore +tile.ore_meteor_titanium.name=Meteor Titanium Ore +tile.ore_meteor_tungsten.name=Meteor Tungsten Ore +tile.ore_meteor_uranium.name=Meteor Uranium Ore +tile.ore_meteor_thorium.name=Meteor Thorium Ore +tile.ore_meteor_lead.name=Meteor Lead Ore +tile.ore_meteor_lithium.name=Meteor Lithium Ore +tile.ore_meteor_starmetal.name=Starmetal Ore +tile.ore_tikite.name=Trixite +tile.ore_rare.name=Rare Earth Ore +tile.ore_oil_sand.name=Tar Sand +tile.deco_titanium.name=Titanium Deco Block +tile.deco_red_copper.name=Red Copper Deco Block +tile.deco_tungsten.name=Tungsten Deco Block +tile.deco_aluminium.name=Aluminium Deco Block +tile.deco_steel.name=Steel Deco Block +tile.deco_lead.name=Lead Deco Block +tile.deco_beryllium.name=Beryllium Deco Block +tile.deco_asbestos.name=Asbestos Roof +tile.hazmat.name=Hazmat Cloth Block +tile.iter.name=Fusion Reactor +tile.reinforced_stone.name=Dense Stone +tile.concrete_smooth.name=Concrete +tile.concrete.name=Concrete Tile +tile.concrete_pillar.name=Rebar Reinforced Concrete Pillar +tile.brick_concrete_mossy.name=Mossy Concrete Bricks +tile.brick_concrete_cracked.name=Cracked Concrete Bricks +tile.brick_concrete_broken.name=Broken Concrete Bricks +tile.brick_dungeon.name=Berzelianite Bricks +tile.brick_dungeon_circle.name=Berzelianite Cirlce +tile.brick_dungeon_flat.name=Berzelianite Block +tile.brick_dungeon_tile.name=Berzelianite Tile +tile.brick_compound.name=Compound Mesh +tile.brick_jungle.name=Enargite Bricks +tile.brick_jungle_cracked.name=Cracked Enargite Bricks +tile.brick_jungle_glyph.name=Enargite Glyph Bricks +tile.brick_jungle_lava.name=Magmatic Enargite Bricks +tile.brick_jungle_trap.name=Trapped Enargite Bricks +tile.brick_jungle_mystic.name=Arcane Enargite Bricks +tile.brick_jungle_ooze.name=Radioactive Enargite Bricks +tile.brick_jungle_circle.name=Mechanist's Circle +tile.spikes.name=Spikes +tile.tile_lab.name=Laboratory Tiles +tile.tile_lab_broken.name=Broken Laboratory Tiles +tile.tile_lab_cracked.name=Cracked Laboratory Tiles +tile.gravel_diamond.name=Diamond Gravel +tile.barbed_wire.name=Barbed Wire +tile.barbed_wire_fire.name=Flaming Barbed Wire +tile.barbed_wire_poison.name=Poisoned Barbed Wire +tile.barbed_wire_acid.name=Caustic Barbed Wire +tile.barbed_wire_wither.name=Withered Barbed Wire +tile.barbed_wire_ultradeath.name=Cloud Barbed Wire +tile.fence_metal.name=Chainlink Fence +tile.sand_boron.name=Boron Sand +tile.sand_boron_layer.name=Boron Sand Layer +tile.sand_gold.name=Gold Sand +tile.sand_gold198.name=Gold-198 Sand +tile.sand_lead.name=Lead Sand +tile.sand_polonium.name=Polonium Sand +tile.sand_quartz.name=Quartz Sand +tile.sand_uranium.name=Uranium Sand +tile.glass_ash.name=Ash Glass +tile.glass_boron.name=Boron Glass +tile.glass_lead.name=Lead Glass +tile.glass_polonium.name=Polonium Glass +tile.glass_quartz.name=Quartz Glass +tile.glass_trinitite.name=Trinity Glass +tile.glass_uranium.name=Uranium Glass +tile.lamp_demon.name=Demon Core Lamp +tile.silo_hatch.name=Silo Hatch +tile.vault_door.name=Vault-Tec Blast Door +tile.blast_door.name=Sliding Blast Door +tile.sliding_blast_door.name=Sideways Sliding Blast Door +tile.sliding_blast_door_2.name=Sideways Sliding Blast Door +item.sliding_blast_door_skin0.name=Sideways Sliding Blast Door Default Skin +item.sliding_blast_door_skin1.name=Sideways Sliding Blast Door Variant 1 Skin +item.sliding_blast_door_skin2.name=Sideways Sliding Blast Door Variant 2 Skin +item.door_metal.name=Metal Door +item.door_office.name=Office Door +item.door_bunker.name=Bunker Door +item.powder_semtex_mix.name=Semtex Blend +item.powder_asbestos.name=Asbestos Powder +item.powder_steel_tiny.name=Tiny Pile of Steel Powder +item.powder_balefire.name=Thermonuclear Ashes +item.powder_schrabidate.name=Ferric Schrabidate Powder +item.powder_neodymium_tiny.name=Tiny Pile of Neodymium Powder +item.powder_niobium_tiny.name=Tiny Pile of Niobium Powder +item.powder_cerium_tiny.name=Tiny Pile of Cerium Powder +item.powder_chlorophyte.name=Chlorophyte Powder +item.powder_lanthanium_tiny.name=Tiny Pile of Lanthanium Powder +item.powder_actinium_tiny.name=Tiny Pile of Actinium Powder +item.powder_euphemium.name=Euphemium Powder +item.powder_meteorite.name=Meteorite Powder +item.powder_meteorite_tiny.name=Tiny Pile of Meteorite Powder +item.powder_yellowcake.name=Yellowcake +item.powder_magic.name=Pulverized Enchantment +item.redstone_depleted.name=Desaturated Redstone Dust +item.fragment_neodymium.name=Neodymium Fragment +item.fragment_cobalt.name=Cobalt Fragment +item.fragment_niobium.name=Niobium Fragment +item.fragment_cerium.name=Cerium Fragment +item.fragment_lanthanium.name=Lanthanium Fragment +item.fragment_actinium.name=Actinium Fragment +item.fragment_meteorite.name=Meteorite Fragment +item.battery_spark.name=Spark Battery +item.battery_su.name=SU-Battery +item.battery_su_l.name=Large SU-Battery +item.battery_trixite.name=Off-Brand Spark Battery +item.battery_steam.name=Steam Powered Energy Storage Tank +item.battery_steam_large.name=Large Steam Powered Energy Storage Tank +item.battery_potato.name=Potato Battery +item.battery_potatos.name=PotatOS +item.battery_spark_cell_6.name=Spark Power Cell +item.battery_spark_cell_25.name=Spark Arcane Car Battery +item.battery_spark_cell_100.name=Spark Arcane Energy Storage Array +item.battery_spark_cell_1000.name=Spark Arcane Mass-Energy Void +item.battery_spark_cell_2500.name=Spark Arcane Dirac Sea +item.battery_spark_cell_10000.name=Spark Solid Space-Time Crystal +item.battery_spark_cell_power.name=Spark Ludicrous Physics-Defying Energy Storage Unit +item.upgrade_afterburn_1.name=Afterburner Upgrade Mk.I +item.upgrade_afterburn_2.name=Afterburner Upgrade Mk.II +item.upgrade_afterburn_3.name=Afterburner Upgrade Mk.III +item.upgrade_overdrive_1.name=Overdrive Machine Upgrade Mk.I +item.upgrade_overdrive_2.name=Overdrive Machine Upgrade Mk.II +item.upgrade_overdrive_3.name=Overdrive Machine Upgrade Mk.III +item.upgrade_radius.name=Emitter Radius Upgrade +item.upgrade_health.name=Emitter Health Upgrade +item.upgrade_smelter.name=Smelter Upgrade +item.upgrade_shredder.name=Shredder Upgrade +item.upgrade_centrifuge.name=Centrifuge Upgrade +item.upgrade_crystallizer.name=Crystallizer Upgrade +item.upgrade_nullifier.name=Scrap Destroyer Upgrade +item.upgrade_screm.name=Screaming Scientist Upgrade +item.fusion_core_infinite.name=Infinite Fusion Core +item.fusion_shield_chlorophyte.name=Chlorophyte-Metallized Fusion Reactor Blanket +item.fusion_shield_desh.name=Desh Fusion Reactor Blanket +item.fusion_shield_tungsten.name=Tungsten Fusion Reactor Blanket +item.fusion_shield_vaporwave.name=Vaporwave Fusion Reactor Blanket +item.dynosphere_base.name=Blank Dynosphere (SOON-TO-BE DEPRECATED) +item.dynosphere_desh.name=Desh Dynosphere(SOON-TO-BE DEPRECATED) +item.dynosphere_desh_charged.name=Desh Dynosphere (Charged)(SOON-TO-BE DEPRECATED) +item.dynosphere_schrabidium.name=Schrabidium Dynosphere(SOON-TO-BE DEPRECATED) +item.dynosphere_schrabidium_charged.name=Schrabidium Dynosphere (Charged)(SOON-TO-BE DEPRECATED) +item.dynosphere_euphemium.name=Euphemium Dynosphere(SOON-TO-BE DEPRECATED) +item.dynosphere_euphemium_charged.name=Euphemium Dynosphere (Charged)(SOON-TO-BE DEPRECATED) +item.dynosphere_dineutronium.name=Dineutronium Dynosphere(SOON-TO-BE DEPRECATED) +item.dynosphere_dineutronium_charged.name=Dineutronium Dynosphere (Charged)(SOON-TO-BE DEPRECATED) +item.coin_maskman.name=Maskman Coin +item.coin_creeper.name=Nuclear Creeper Coin +item.coin_radiation.name=Radiation Coin +item.coin_worm.name=Balls-O-Tron Coin +item.motor_desh.name=Desh Motor +item.rbmk_fuel_balefire.name=Balefire RBMK Fuel Rod +item.rbmk_fuel_balefire_gold.name=Flashgold RBMK Fuel Rod +item.rbmk_fuel_drx.name=§cDigamma RBMK Fuel Rod§r +item.rbmk_fuel_empty.name=Empty RBMK Fuel Rod +item.rbmk_fuel_hea241.name=HEA-241 RBMK Fuel Rod +item.rbmk_fuel_hea242.name=HEA-242 RBMK Fuel Rod +item.rbmk_fuel_heaus.name=HEAus RBMK Fuel Rod +item.rbmk_fuel_hen.name=HEN RBMK Fuel Rod +item.rbmk_fuel_hes.name=HES RBMK Fuel Rod +item.rbmk_fuel_hep.name=HEP-239 RBMK Fuel Rod +item.rbmk_fuel_hep241.name=HEP-241 RBMK Fuel Rod +item.rbmk_fuel_heu233.name=HEU-233 RBMK Fuel Rod +item.rbmk_fuel_heu235.name=HEU-235 RBMK Fuel Rod +item.rbmk_fuel_lea.name=LEA RBMK Fuel Rod +item.rbmk_fuel_leaus.name=LEAus RBMK Fuel Rod +item.rbmk_fuel_lep.name=LEP-239 RBMK Fuel Rod +item.rbmk_fuel_les.name=LES RBMK Fuel Rod +item.rbmk_fuel_mea.name=MEA RBMK Fuel Rod +item.rbmk_fuel_men.name=MEN RBMK Fuel Rod +item.rbmk_fuel_mep.name=MEP-239 RBMK Fuel Rod +item.rbmk_fuel_mes.name=MES RBMK Fuel Rod +item.rbmk_fuel_meu.name=MEU RBMK Fuel Rod +item.rbmk_fuel_mox.name=MOX RBMK Fuel Rod +item.rbmk_fuel_po210be.name=Po210Be RBMK Neutron Source +item.rbmk_fuel_pu238be.name=Pu238Be RBMK Neutron Source +item.rbmk_fuel_ra226be.name=Ra226Be RBMK Neutron Source +item.rbmk_fuel_thmeu.name=ThMEU RBMK Fuel Rod +item.rbmk_fuel_ueu.name=NU RBMK Fuel Rod +item.rbmk_lid.name=RBMK Cover Panel +item.rbmk_lid_glass.name=RBMK Glass Cover Panel +item.rbmk_pellet_balefire.name=Balefire Fuel Pellet +item.rbmk_pellet_balefire_gold.name=Flashgold Fuel Pellet +item.rbmk_pellet_drx.name=§cDigamma Fuel Pellet§r +item.rbmk_pellet_hea241.name=HEA-241 Fuel Pellet +item.rbmk_pellet_hea242.name=HEA-242 Fuel Pellet +item.rbmk_pellet_heaus.name=HEAus Fuel Pellet +item.rbmk_pellet_hen.name=HEN Fuel Pellet +item.rbmk_pellet_hep239.name=HEP-239 Fuel Pellet +item.rbmk_pellet_hep241.name=HEP-241 Fuel Pellet +item.rbmk_pellet_heu233.name=HEU-233 Fuel Pellet +item.rbmk_pellet_heu235.name=HEU-235 Fuel Pellet +item.rbmk_pellet_hes.name=HES Fuel Pellet +item.rbmk_pellet_lea.name=LEA Fuel Pellet +item.rbmk_pellet_leaus.name=LEAus Fuel Pellet +item.rbmk_pellet_lep.name=LEP Fuel Pellet +item.rbmk_pellet_les.name=LES Fuel Pellet +item.rbmk_pellet_mea.name=MEA Fuel Pellet +item.rbmk_pellet_men.name=MEN Fuel Pellet +item.rbmk_pellet_mep.name=MEP Fuel Pellet +item.rbmk_pellet_mes.name=MES Fuel Pellet +item.rbmk_pellet_meu.name=MEU Fuel Pellet +item.rbmk_pellet_mox.name=MOX Fuel Pellet +item.rbmk_pellet_po210be.name=Po210Be Neutron Source Pellet +item.rbmk_pellet_pu238be.name=Pu238Be Neutron Source Pellet +item.rbmk_pellet_ra226be.name=Ra226Be Neutron Source Pellet +item.rbmk_pellet_thmeu.name=ThMEU Fuel Pellet +item.rbmk_pellet_ueu.name=NU Fuel Pellet +item.rbmk_tool.name=RBMK Console Linking Device +item.rbmk_tool.desc=Sneak and right-click RBMK to save the position,$sneak and right-click console to link! +item.rbmk_tool.linked=Position set! +item.rbmk_tool.set=RBMK linked! +item.reacher.name=Tungsten Reacher +item.hazmat_cloth_red.name=Advanced Hazmat Cloth +item.hazmat_cloth_grey.name=Lead-Reinforced Hazmat Cloth +item.debris_fuel.name=RBMK Fuel Chunk +item.debris_graphite.name=Hot Graphite Chunk +item.debris_metal.name=Broken Metal Bar +item.biomass.name=Biomass +item.biomass_compressed.name=Compressed Biomass +item.component_limiter.name=Stabilizer Component +item.component_emitter.name=Emitter Component +item.catalyst_clay.name=Clay Catalyst +item.singularity_spark.name=Spark Singularity +item.blade_meteorite.name=Meteorite Blade +item.pellet_antimatter.name=Antimatter Cluster +item.pellet_coal.name=Dense Coal Cluster +item.canister_superfuel.name=NITAN© 100 Octane Super Fuel Canister +item.canister_biofuel.name=Biofuel Canister +item.canister_bitumen.name=Bitumen Canister +item.canister_gasoline.name=Leaded Gasoline Canister +item.canister_gasoline.desc=lead is friend$let friend into your blood stream$*cocks gun* do it now. +item.canister_heatingoil.name=Heating Oil Canister +item.canister_heavyoil.name=Heavy Oil Canister +item.canister_lightoil.name=Light Oil Canister +item.canister_naphtha.name=Naphtha Canister +item.gas_petroleum.name=Petroleum Gas Tank +item.gas_biogas.name=Biogas Tank +item.fluid_tank_empty.name=Empty Universal Fluid Tank +item.fluid_tank_full.name=Universal Fluid Tank: +item.fluid_barrel_empty.name=Empty Fluid Barrel +item.fluid_barrel_full.name=Fluid Barrel: +item.fluid_barrel_infinite.name=Infinite Fluid Barrel +item.rod_th232.name=Thorium-232 Rod +item.rod_u233.name=Uranium-233 Rod +item.rod_of_discord.name=Rod of Discord +item.rod_solinium.name=Solinium-327 Rod +item.rod_euphemium.name=Euphemium Rod +item.rod_balefire.name=Balefire Rod +item.rod_balefire_blazing.name=Blazing Balefire Rod +item.rod_dual_balefire.name=Balefire Dual Rod +item.rod_dual_balefire_blazing.name=Blazing Balefire Dual Rod +item.rod_quad_balefire.name=Balefire Quad Rod +item.rod_quad_balefire_blazing.name=Blazing Balefire Quad Rod +item.rod_dual_th232.name=Thorium-232 Dual Rod +item.rod_dual_u233.name=Uranium-233 Dual Rod +item.rod_dual_solinium.name=Solinium-327 Dual Rod +item.rod_quad_th232.name=Thorium-232 Quad Rod +item.rod_quad_u233.name=Uranium-233 Quad Rod +item.rod_quad_solinium.name=Solinium-327 Quad Rod +item.rod_thorium_fuel_depleted.name=Depleted Thorium Fuel Rod +item.rod_dual_thorium_fuel_depleted.name=Depleted Thorium Dual Fuel Rod +item.rod_quad_thorium_fuel_depleted.name=Depleted Thorium Quad Fuel Rod +item.gun_karl.name=Karl +item.gun_panzerschreck.name=Panzerschreck +item.gun_stinger.name=FIM-92 Stinger +item.gun_skystinger.name=The One Sky Stinger +item.gun_stinger_ammo.name=Stinger Rocket +item.gun_hk69.name=Grenade Pistol +item.gun_quadro.name=Quattro Formaggi +item.pellet_flechette.name=Flechettes +item.custom_kit.name=Custom Nuke Kit +item.solinium_kit.name=Solinium Kit +item.hazmat_kit.name=Hazmat Kit +item.hazmat_red_kit.name=Advanced Hazmat Kit +item.hazmat_grey_kit.name=High-Performance Hazmat Kit +item.nuclear_waste_tiny.name=Tiny Pile of Nuclear Waste +item.nugget.name=Chicken Nugget +item.peas.name=Peas +item.waste_uranium.name=Depleted Uranium Fuel +item.waste_thorium.name=Depleted Thorium Fuel +item.waste_plutonium.name=Depleted Plutonium Fuel +item.waste_mox.name=Depleted MOX Fuel +item.waste_schrabidium.name=Depleted Schrabidium Fuel +item.waste_uranium_hot.name=Depleted Uranium Fuel (Hot) +item.waste_thorium_hot.name=Depleted Thorium Fuel (Hot) +item.waste_plutonium_hot.name=Depleted Plutonium Fuel (Hot) +item.waste_mox_hot.name=Depleted MOX Fuel (Hot) +item.waste_schrabidium_hot.name=Depleted Schrabidium Fuel (Hot) +item.nugget_mercury.name=Small Drop of Mercury +item.bottle_mercury.name=Bottle of Mercury +item.ingot_thorium_fuel.name=Ingot of Thorium Fuel +item.nugget_thorium_fuel.name=Nugget of Thorium Fuel +item.grenade_gascan.name=Tossable Gas Can +item.grenade_cloud.name=Jar of Cloud +item.grenade_pink_cloud.name=Jar of Pink Cloud +item.grenade_smart.name=Smart Grenade +item.grenade_mirv.name=MIRV Grenade +item.grenade_breach.name=Breaching Grenade +item.grenade_burst.name=Digger Grenade +item.grenade_if_generic.name=IF - Grenade +item.grenade_if_he.name=IF - HE Grenade +item.grenade_if_bouncy.name=IF - Bouncy Grenade +item.grenade_if_sticky.name=IF - Sticky Grenade +item.grenade_if_impact.name=IF - Impact Grenade +item.grenade_if_incendiary.name=IF - Incendiary Grenade +item.grenade_if_toxic.name=IF - Toxic Grenade +item.grenade_if_concussion.name=IF - Concussion Grenade +item.grenade_if_brimstone.name=IF - Tossable Brimstone Mine +item.grenade_if_mystery.name=IF - M.-Grenade +item.grenade_if_spark.name=IF - S.-Grenade +item.grenade_if_hopwire.name=IF - Vortex Hopwire +item.grenade_if_null.name=IF - Null Grenade +item.rod_thorium_fuel.name=Thorium Fuel Rod +item.rod_dual_thorium_fuel.name=Thorium Dual Fuel Rod +item.rod_quad_thorium_fuel.name=Thorium Quad Fuel Rod +item.apple_lead.name=Lead Apple +item.apple_lead1.name=Lead Apple +item.apple_lead2.name=Lead Apple +item.apple_schrabidium1.name=Schrabidium Apple +item.apple_schrabidium2.name=Schrabidium Apple +item.tem_flakes1.name=Tem Flakes +item.tem_flakes2.name=Tem Flakes +item.balefire_scrambled.name=Scrambled Balefire Egg +item.balefire_and_ham.name=Ham and Balefire Eggs +item.definitelyfood.name=TotallyNotDirt-Brand MRE +item.loops.name=Lööps +item.loop_stew.name=IT Breakfast +item.fooditem.name=food item +item.twinkie.name=Twinkie +item.static_sandwich.name=Sandwich Garnished with TV Static +item.pancake.name=Pancake made from Scrap Metal, Nails and Gem Dust +item.spongebob_macaroni.name=Spongebob Macaroni +tile.block_cap_fritz.name=Block of Fritz Cola Bottle Caps +tile.block_cap_korl.name=Block of Korl Bottle Caps +tile.block_cap_nuka.name=Block of Nuka Cola Bottle Caps +tile.block_cap_quantum.name=Block of Nuka Cola Quantum Bottle Caps +tile.block_cap_rad.name=Block of S~Cola RAD Bottle Caps +tile.block_cap_sparkle.name=Block of S~Cola Bottle Caps +tile.block_cap_star.name=Block of Sunset Sarsaparilla Star Caps +tile.block_cap_sunset.name=Block of Sunset Sarsaparilla Bottle Caps +tile.machine_microwave.name=Microwave +item.gun_revolver_saturnite.name=Saturnite Shooter +item.gun_revolver_pip.name=Lil' Pipsqueak +item.gun_revolver_nopip.name=Novac +item.gun_revolver_blackjack.name=Blackjack Five-Shooter +item.gun_revolver_silver.name=Lent Gun +item.gun_revolver_red.name=Red Key Revolver +item.gun_deagle.name=Big Iron +item.gun_darter.name=Dart Gun +item.gun_calamity.name=Calamity +item.gun_calamity_dual.name=Saddle Gun +item.gun_minigun.name=CZ53 Personal Minigun +item.gun_avenger.name=CZ57 Avenger Minigun +item.gun_lacunae.name=CZ33 Abaddon +item.gun_proto.name=M42 Nuclear Catapult "Proto MIRV" +item.gun_flechette.name=Flechette Rifle +item.gun_uzi.name=IMI Uzi +item.gun_uzi_silencer.name=IMI Uzi with Silencer +item.gun_uzi_saturnite.name=Saturnite Uzi +item.gun_uzi_saturnite_silencer.name=Saturnite Uzi with Silencer +item.gun_ks23.name=Samuel the Big Shotgun +item.gun_jshotgun.name=Occult Shotgun +item.gun_lever_action.name=Mare's Leg (Original) +item.gun_bolt_action.name=Dream Bolt-Action Rifle (Original) +item.gun_lever_action_dark.name=Mare's Leg (Dark) +item.gun_bolt_action_green.name=Dream Bolt-Action Rifle (Green) +item.gun_bolt_action_saturnite.name=Saturnite Rifle +item.gun_bolter.name=Bolter +item.gun_lever_action_sonata.name=Flipped Mare's Leg +item.gun_lever_action_sonata_2.name=§cSonata's Microphone§r +item.gun_b92.name=§9B92 Energy Pistol§r +item.gun_b93.name=§cB93 Energy Mod§r +item.gun_flamer.name=Mister Topaz +item.gun_thompson.name=Thompson Submachine Gun +item.gun_sauer.name=Stan Sauer's Shotgun +item.gun_dampfmaschine.name=Totally Not a Joke Weapon +item.gun_folly.name=Prototype Digamma "Folly" +item.gun_vortex.name=Vortex +item.cc_plasma_gun.name=[WIP] CC Plasma Gun +item.gun_egon.name=Gluon Gun +item.nossy_hat.name=Fabulous Hat +item.beta.name=Beta Features +item.canteen_fab.name=Fabulous Vodka +tile.muffler.name=Muffler +item.gun_revolver_pip_ammo.name=Tainted Bullet (LEGACY) +item.gun_revolver_nopip_ammo.name=.44 Magnum Bullet (LEGACY) +item.gun_calamity_ammo.name=.50 BMG Round (LEGACY) +item.gun_lacunae_ammo.name=5mm Round (LEGACY) +item.gun_uzi_ammo.name=.22 LR Round (LEGACY) +item.gun_lever_action_ammo.name=12x74 Buckshot (LEGACY) +item.gun_bolt_action_ammo.name=12x74 Slug (LEGACY) +item.gun_b92_ammo.name=§9B92 Energy Cell§r (LEGACY) +item.ammo_mirv.name=Mini MIRV +item.ammo_mirv_high.name=Mini MIRV (High Yield) +item.ammo_mirv_low.name=Mini MIRV (Low Yield) +item.ammo_mirv_safe.name=Mini MIRV (Safe) +item.ammo_mirv_special.name=Mini MILV +item.ammo_nuke.name=Mini Nuke +item.ammo_nuke_high.name=Mini Nuke (High Yield) +item.ammo_nuke_low.name=Mini Nuke (Low Yield) +item.ammo_nuke_pumpkin.name=Pumpkin Bomb +item.ammo_nuke_safe.name=Mini Nuke (Safe) +item.ammo_nuke_tots.name=Mini Nuke (Tiny Tots) +item.ammo_12gauge.name=12 Gauge Buckshot +item.ammo_12gauge_incendiary.name=12 Gauge Buckshot (Incendiary) +item.ammo_12gauge_shrapnel.name=12 Gauge Buckshot (Shrapnel) +item.ammo_12gauge_du.name=12 Gauge Buckshot (Uranium Coated) +item.ammo_12gauge_sleek.name=12 Gauge Buckshot (IF-R&D) +item.ammo_12gauge_marauder.name=12 Gauge Tactical Anti-Marauder Shell +item.ammo_20gauge.name=20 Gauge Buckshot +item.ammo_20gauge_slug.name=20 Gauge Brenneke Slug +item.ammo_20gauge_flechette.name=20 Gauge Flechette Shell +item.ammo_20gauge_incendiary.name=20 Gauge Buckshot (Incendiary) +item.ammo_20gauge_shrapnel.name=20 Gauge Buckshot (Shrapnel) +item.ammo_20gauge_shock.name=20 Gauge Buckshot (Shock) +item.ammo_20gauge_caustic.name=20 Gauge Buckshot (Caustic) +item.ammo_20gauge_explosive.name=20 Gauge Buckshot (Explosive) +item.ammo_20gauge_wither.name=20 Gauge Buckshot (Withering) +item.ammo_20gauge_sleek.name=20 Gauge Buckshot (IF-R&D) +item.ammo_4gauge.name=4 Gauge Buckshot +item.ammo_4gauge_slug.name=4 Gauge Solid Steel Slug +item.ammo_4gauge_balefire.name=23mm Balefire Grenade +item.ammo_4gauge_canister.name=23mm Rocket (Canister Shot) +item.ammo_4gauge_claw.name=4 Gauge Claw Shell +item.ammo_4gauge_vampire.name=4 Gauge Wooden Stake Shell +item.ammo_4gauge_void.name=4 Gauge Void Shell +item.ammo_4gauge_explosive.name=23mm Grenade +item.ammo_4gauge_flechette.name=4 Gauge Flechette Shell +item.ammo_4gauge_flechette_phosphorus.name=4 Gauge Flechette Shell (WP) +item.ammo_4gauge_kampf.name=23mm Rocket +item.ammo_4gauge_semtex.name=23mm Mining Charge +item.ammo_4gauge_sleek.name=4 Gauge Buckshot (IF-R&D) +item.ammo_5mm.name=5mm Round +item.ammo_5mm_explosive.name=5mm Round (Explosive) +item.ammo_5mm_du.name=5mm Round (DU) +item.ammo_5mm_star.name=5mm Round (Starmetal) +item.ammo_75bolt.name=.75 Bolt Magazine (30rnd) +item.ammo_75bolt_incendiary.name=.75 Incendiary Bolt Magazine (30rnd) +item.ammo_75bolt_he.name=.75 Bolt High-Explosive Magazine (30rnd) +item.ammo_50ae.name=.50 AE Round +item.ammo_50ae_ap.name=.50 AE Round (Armor Piercing) +item.ammo_50ae_chlorophyte.name=.50 AE Round (Chlorophyte) +item.ammo_50ae_du.name=.50 AE Round (DU) +item.ammo_50ae_star.name=.50 AE Round (Starmetal) +item.ammo_50bmg.name=.50 BMG Round +item.ammo_50bmg_incendiary.name=.50 BMG Round (Incendiary) +item.ammo_50bmg_phosphorus.name=.50 BMG Round (WP) +item.ammo_50bmg_sleek.name=.50 BMG Round (IF-R&D) +item.ammo_50bmg_explosive.name=.50 BMG Round (Explosive) +item.ammo_50bmg_ap.name=.50 BMG Round (Armor Piercing) +item.ammo_50bmg_chlorophyte.name=.50 BMG Round (Chlorophyte) +item.ammo_50bmg_du.name=.50 BMG Round (DU) +item.ammo_50bmg_star.name=.50 BMG Round (Starmetal) +item.ammo_9mm.name=9mm Round +item.ammo_9mm_ap.name=9mm Round (Armor Piercing) +item.ammo_9mm_du.name=9mm Round (DU) +item.ammo_9mm_rocket.name=9mm Rocket +item.ammo_cell.name=Energy Cell +item.ammo_dart.name=Plastic Dart (Withering) +item.ammo_556.name=5.56mm Round +item.ammo_556_phosphorus.name=5.56mm Round (WP) +item.ammo_556_sleek.name=5.56mm Round (IF-R&D) +item.ammo_556_ap.name=5.56mm Round (Armor Piercing) +item.ammo_556_chlorophyte.name=5.56mm Round (Chlorophyte) +item.ammo_556_du.name=5.56mm Round (DU) +item.ammo_556_star.name=5.56mm Round (Starmetal) +item.ammo_556_flechette.name=5.56mm Flechette Round +item.ammo_556_flechette_incendiary.name=5.56mm Flechette Round (Incendiary) +item.ammo_556_flechette_phosphorus.name=5.56mm Flechette Round (Phosphorus-Tipped) +item.ammo_556_flechette_sleek.name=5.56mm Flechette Round (IF-R&D) +item.ammo_556_flechette_du.name=5.56mm Flechette Round (Uranium Penetrator) +item.ammo_556_tracer.name=5.56mm Round (Tracer) +item.ammo_556_k.name=5.56mm K-Round +item.ammo_22lr.name=.22 LR Round +item.ammo_22lr_ap.name=.22 LR Round (Armor Piercing) +item.ammo_22lr_chlorophyte.name=.22 LR Round (Chlorophyte) +item.ammo_folly.name=Silver Bullet (Original) +item.ammo_folly_nuclear.name=Silver Bullet (Nuclear) +item.ammo_folly_du.name=Silver Bullet (DU, Non-Explosive) +item.ammo_357_desh.name=.357 Magnum Desh Bullet +item.ammo_44.name=.44 Magnum Bullet +item.ammo_44_ap.name=.44 Magnum Bullet (Armor Piercing) +item.ammo_44_du.name=.44 Magnum Bullet (DU) +item.ammo_44_phosphorus.name=.44 Magnum Bullet (WP) +item.ammo_44_star.name=.44 Magnum Bullet (Starmetal) +item.ammo_44_pip.name=.44 Magnum Bullet (Boxcar) +item.ammo_44_bj.name=.44 Magnum Bullet (Boat) +item.ammo_44_chlorophyte.name=.44 Magnum Bullet (Chlorophyte) +item.ammo_44_silver.name=.44 Magnum Bullet (Building) +item.ammo_44_rocket.name=.44 Magnum Rocket +item.ammo_rocket.name=84mm Rocket +item.ammo_rocket_he.name=84mm Rocket (HE) +item.ammo_rocket_incendiary.name=84mm Rocket (Incendiary) +item.ammo_rocket_phosphorus.name=84mm Rocket (WP) +item.ammo_rocket_shrapnel.name=84mm Rocket (Shrapnel) +item.ammo_rocket_emp.name=84mm Rocket (Pulse) +item.ammo_rocket_glare.name=84mm Rocket (Red Glare) +item.ammo_rocket_toxic.name=84mm Rocket (Chemical) +item.ammo_rocket_sleek.name=84mm Rocket (IF-R&D) +item.ammo_rocket_nuclear.name=84mm Rocket (Привет) +item.ammo_rocket_rpc.name=84mm Rocket Propelled Chainsaw +item.ammo_grenade.name=40mm Grenade +item.ammo_grenade_he.name=40mm Grenade (HE) +item.ammo_grenade_incendiary.name=40mm Grenade (Incendiary) +item.ammo_grenade_phosphorus.name=40mm Grenade (WP) +item.ammo_grenade_toxic.name=40mm Grenade (Chemical) +item.ammo_grenade_concussion.name=40mm Grenade (Concussion) +item.ammo_grenade_finned.name=40mm Grenade (Finned) +item.ammo_grenade_nuclear.name=40mm Grenade (Привет) +item.ammo_grenade_sleek.name=40mm Grenade (IF-R&D) +item.ammo_grenade_tracer.name=40mm Training Grenade +item.ammo_grenade_kampf.name=40mm Rocket +item.ammo_fuel.name=Diesel Tank +item.ammo_fuel_napalm.name=Napalm Tank +item.ammo_fuel_phosphorus.name=WP Tank +item.ammo_fuel_vaporizer.name=Vaporizer Tank +item.ammo_fuel_gas.name=Gas Tank +item.folly_shell.name=Silver Bullet Casing +item.folly_bullet.name=12.8cm Starmetal High-Energy Shell +item.folly_bullet_nuclear.name=12.8cm Nuclear Shell +item.folly_bullet_du.name=12.8cm DU-Shell +item.cordite.name=Cordite +item.ballistite.name=Ballistite +item.plate_kevlar.name=Kevlar-Ceramic Compound +item.weaponized_starblaster_cell.name=§cRigged Star Blaster Energy Cell§r +item.turret_light_ammo.name=Light MG Turret Ammo Box +item.turret_heavy_ammo.name=Heavy MG Turret Ammunition +item.turret_rocket_ammo.name=Rocket Turret 2x4 Ammunition +item.turret_flamer_ammo.name=Flamer Turret Fuel Tanks +item.turret_tau_ammo.name=Tau Turret Uranium Ammo +item.turret_spitfire_ammo.name=AA-Shell +item.turret_cwis_ammo.name=CIWS 20mm Ammo Drum +item.turret_cheapo_ammo.name=6x24 Cheapo Turret Ammunition +item.clip_uzi.name=32rnd .22 LR Magazine +item.clip_lever_action.name=Box of 12x74 Buckshot Rounds +item.clip_bolt_action.name=Box of 12x74 Slugs +item.clip_revolver_pip.name=Speedloader with Tainted Bullets +item.clip_revolver_nopip.name=Box of .44 Rounds +item.clip_stinger.name=Pack of Stinger Rockets +item.clip_jack.name=Box of Quadruple 12x70 Buckshot Rounds +item.clip_spark.name=Large Electromagnetic Cartridge +item.clip_hp.name=Ink Tanks +item.clip_euthanasia.name=Last Aid Kit +item.clip_defabricator.name=Belt with Defabricator Energy Cells +item.ammo_container.name=Ammo Container +tile.block_euphemium.name=Block of Euphemium +tile.block_schrabidium_cluster.name=Schrabidium Cluster +tile.block_euphemium_cluster.name=Euphemium-Etched Schrabidium Cluster +item.syringe_metal_super.name=Super Stimpak +item.syringe_taint.name=Watery Taint Injection +item.med_bag.name=Doctor's Bag +item.radaway.name=RadAway +item.radaway_strong.name=Strong RadAway +item.radaway_flush.name=Elite RadAway +item.radx.name=Rad-X +item.med_ipecac.name=Ipecac Syrup +item.med_ptsd.name=PTSD Medication +item.med_schiziphrenia.name=Schizophrenia Medication +item.gas_mask_filter.name=Gas Mask Filter +item.gas_mask_filter_mono.name=Catalytic Mask Filter +item.gas_mask_mono.name=Half Mask +item.cladding_paint.name=Lead Paint +item.cladding_rubber.name=Rubber Cladding +item.cladding_lead.name=Lead Cladding +item.cladding_desh.name=Desh Cladding +item.cladding_paa.name=PaA Alloy Cladding +item.cladding_ghiorsium.name=Ghiorsium Cladding +item.cladding_di.name=Dineutronium Cladding +item.cladding_electronium.name=Electronium Cladding +item.v1.name=V1 +entity.entity_bullet.name=Bullet +entity.entity_bullet_mk2.name=Bullet +entity.entity_rocket.name=Rocket +entity.entity_schrabnel.name=Schrabnel +entity.entity_nuclear_creeper.name=Nuclear Creeper +entity.entity_tainted_creeper.name=Tainted Creeper +entity.entity_hunter_chopper.name=Hunter Chopper +entity.entity_tesla_crab.name=Tesla Crab +entity.entity_taint_crab.name=Taint Crab +entity.entity_balls_o_tron.name=Balls-O-Tron Prime +entity.entity_balls_o_tron_seg.name=Balls-O-Tron Segment +entity.entity_mask_man.name=Mask Man +entity.entity_fucc_a_ducc.name=Duck +entity.entity_elder_one.name=Quackos The Elder One +entity.entity_ntm_fbi.name=FBI Agent +entity.entity_ntm_radiation_blaze.name=Meltdown Elemental +entity.entity_ntm_ufo.name=Martian Invasion Ship +entity.entity_rbmk_debris.name=Radioactive RBMK Debris +item.blade_tungsten.name=Tungsten Reinforced Blade +item.turbine_tungsten.name=Reinforced Turbofan Blades +item.apple_euphemium.name=Euphemium Apple +item.ingot_euphemium.name=Euphemium Ingot +item.nugget_euphemium.name=Euphemium Nugget +item.rod_quad_euphemium.name=Burned Out Quad Schrabidium Rod +item.plate_euphemium.name=Euphemium Compound Plate +item.plate_dineutronium.name=Dineutronium Compound Plate +item.plate_desh.name=Desh Compound Plate +item.euphemium_helmet.name=Euphemium Helmet +item.euphemium_plate.name=Euphemium Chestplate +item.euphemium_legs.name=Euphemium Leggings +item.euphemium_boots.name=Euphemium Boots +item.bj_boots.name=Lunar Studded Boots +item.bj_helmet.name=Eyepatch with Thermal Sensor +item.bj_legs.name=Lunar Cybernetic Leg Replacements +item.bj_plate.name=Lunar Cybernetic Plating +item.bj_plate_jetpack.name=Lunar Cybernetic Plating (Winged) +item.jetpack_boost.name=Boostpack +item.jetpack_fly.name=Jetpack +item.jetpack_break.name=Breakpack +item.jetpack_vector.name=Vectored Jetpack +item.jetpack_glider.name=Glider Jetpack +item.jetpack_tank.name=Jetpack Reserve Fuel Tank +item.gun_kit_1.name=Gun Oil +item.gun_kit_2.name=Gun Repair Kit +item.crucible.name=Crucible +item.hs_sword.name=Ultrahard Steel Sword +item.hf_sword.name=High Frequency Sword +item.ingot_chainsteel.name=Heavy Chainsteel +item.ingot_steel_dusted.name=Dusted Steel Ingot +item.wrench.name=Pipe Wrench +item.wrench_flipped.name=Blade on a Wrench +item.memespoon.name=§eMarket Gardener +tile.det_nuke.name=Nuclear Charge +tile.det_miner.name=Mining Charge +tile.pink_barrel.name=Kerosene Barrel +tile.lox_barrel.name=LOX Barrel +tile.taint_barrel.name=IMP Residue Barrel +tile.vitrified_barrel.name=Vitrified Nuclear Waste Drum +item.designator_manual.name=Manual Target Designator +item.missile_assembly.name=Small Missile Assembly +item.missile_emp_strong.name=Strong EMP Missile +item.missile_doomsday.name=Doomsday Missile +item.missile_taint.name=Taint-Tipped Missile +item.missile_micro.name=Micro-Nuclear Missile +item.missile_bhole.name=Black Hole Missile +item.missile_schrabidium.name=Schrabidium Missile +item.missile_emp.name=EMP Missile +item.seg_10.name=Size 10 Connector +item.seg_15.name=Size 15 Connector +item.seg_20.name=Size 20 Connector +item.mp_c_1.name=Tier 1 Missile Targeting Circuit +item.mp_c_2.name=Tier 2 Missile Targeting Circuit +item.mp_c_3.name=Tier 3 Missile Targeting Circuit +item.mp_c_4.name=Tier 4 Missile Targeting Circuit +item.mp_c_5.name=Tier 5 Missile Targeting Circuit +item.mp_warhead_10_he.name=Size 10 HE Warhead +item.mp_warhead_10_incendiary.name=Size 10 Incendiary Warhead +item.mp_warhead_10_buster.name=Size 10 Bunker Buster Warhead +item.mp_warhead_10_nuclear.name=Size 10 Micro Nuclear Warhead +item.mp_warhead_10_taint.name=Size 10 Tainted Warhead +item.mp_warhead_10_cloud.name=Size 10 Pink Cloud Warhead +item.mp_warhead_15_he.name=Size 15 HE Warhead +item.mp_warhead_15_incendiary.name=Size 15 Incendiary Warhead +item.mp_warhead_10_nuclear_large.name=Size 10 Nuclear Warhead +item.mp_warhead_15_nuclear.name=Size 15 Nuclear Warhead +item.mp_warhead_15_thermo.name=Size 15 Thermonuclear Warhead +item.mp_warhead_15_nuclear_shark.name=Size 15 Nuclear Warhead +item.mp_warhead_15_boxcar.name=Size 15 Boxcar? +item.mp_warhead_15_n2.name=Size 15 N² Mine +item.mp_warhead_15_balefire.name=Size 15 BF Warhead +item.mp_warhead_15_mirv.name=Size 15 MIRV Warhead +item.mp_fuselage_10_kerosene.name=Size 10 Kerosene Fuselage +item.mp_fuselage_10_kerosene_camo.name=Size 10 Kerosene Fuselage +item.mp_fuselage_10_kerosene_desert.name=Size 10 Kerosene Fuselage +item.mp_fuselage_10_kerosene_sky.name=Size 10 Kerosene Fuselage +item.mp_fuselage_10_kerosene_insulation.name=Size 10 Kerosene Fuselage +item.mp_fuselage_10_kerosene_flames.name=Size 10 Kerosene Fuselage +item.mp_fuselage_10_kerosene_sleek.name=Size 10 Kerosene Fuselage +item.mp_fuselage_10_kerosene_metal.name=Size 10 Kerosene Fuselage +item.mp_fuselage_10_kerosene_taint.name=Size 10 Kerosene Fuselage +item.mp_fuselage_10_solid.name=Size 10 Solid Fuel Fuselage +item.mp_fuselage_10_solid_flames.name=Size 10 Solid Fuel Fuselage +item.mp_fuselage_10_solid_insulation.name=Size 10 Solid Fuel Fuselage +item.mp_fuselage_10_solid_sleek.name=Size 10 Solid Fuel Fuselage +item.mp_fuselage_10_solid_soviet_glory.name=Size 10 Solid Fuel Fuselage +item.mp_fuselage_10_solid_cathedral.name=Size 10 Solid Fuel Fuselage +item.mp_fuselage_10_solid_moonlit.name=Size 10 Solid Fuel Fuselage +item.mp_fuselage_10_solid_battery.name=Size 10 Solid Fuel Fuselage +item.mp_fuselage_10_solid_duracell.name=Size 10 Solid Fuel Fuselage +item.mp_fuselage_10_xenon.name=Size 10 Xenon Fuselage +item.mp_fuselage_10_xenon_bhole.name=Size 10 Xenon Fuselage +item.mp_fuselage_10_long_kerosene.name=Size 10 Long Kerosene Fuselage +item.mp_fuselage_10_long_kerosene_camo.name=Size 10 Long Kerosene Fuselage +item.mp_fuselage_10_long_kerosene_desert.name=Size 10 Long Kerosene Fuselage +item.mp_fuselage_10_long_kerosene_sky.name=Size 10 Long Kerosene Fuselage +item.mp_fuselage_10_long_kerosene_flames.name=Size 10 Long Kerosene Fuselage +item.mp_fuselage_10_long_kerosene_insulation.name=Size 10 Long Kerosene Fuselage +item.mp_fuselage_10_long_kerosene_sleek.name=Size 10 Long Kerosene Fuselage +item.mp_fuselage_10_long_kerosene_metal.name=Size 10 Long Kerosene Fuselage +item.mp_fuselage_10_long_kerosene_taint.name=Size 10 Long Kerosene Fuselage +item.mp_fuselage_10_long_kerosene_vap.name=Size 10 Long Kerosene Fuselage +item.mp_fuselage_10_long_kerosene_dash.name=Size 10 Long Kerosene Fuselage +item.mp_fuselage_10_long_solid.name=Size 10 Long Solid Fuel Fuselage +item.mp_fuselage_10_long_solid_flames.name=Size 10 Long Solid Fuel Fuselage +item.mp_fuselage_10_long_solid_insulation.name=Size 10 Long Solid Fuel Fuselage +item.mp_fuselage_10_long_solid_sleek.name=Size 10 Long Solid Fuel Fuselage +item.mp_fuselage_10_long_solid_soviet_glory.name=Size 10 Long Solid Fuselage +item.mp_fuselage_10_long_solid_silvermoonlight.name=Size 10 Long Solid Fuselage +item.mp_fuselage_10_long_solid_bullet.name=Size 10 Long Solid Fuselage +item.mp_fuselage_10_15_kerosene.name=Size 10/15 Kerosene Fuselage +item.mp_fuselage_10_15_solid.name=Size 10/15 Solid Fuel Fuselage +item.mp_fuselage_10_15_hydrogen.name=Size 10/15 Hydrogen Fuselage +item.mp_fuselage_10_15_balefire.name=Size 10/15 BF Fuselage +item.mp_fuselage_15_kerosene.name=Size 15 Kerosene Fuselage +item.mp_fuselage_15_kerosene_camo.name=Size 15 Kerosene Fuselage +item.mp_fuselage_15_kerosene_desert.name=Size 15 Kerosene Fuselage +item.mp_fuselage_15_kerosene_sky.name=Size 15 Kerosene Fuselage +item.mp_fuselage_15_kerosene_insulation.name=Size 15 Kerosene Fuselage +item.mp_fuselage_15_kerosene_metal.name=Size 15 Kerosene Fuselage +item.mp_fuselage_15_kerosene_decorated.name=Size 15 Kerosene Fuselage +item.mp_fuselage_15_kerosene_steampunk.name=Size 15 Kerosene Fuselage +item.mp_fuselage_15_kerosene_polite.name=Size 15 Kerosene Fuselage +item.mp_fuselage_15_kerosene_blackjack.name=Size 15 Kerosene Fuselage +item.mp_fuselage_15_kerosene_lambda.name=Size 15 Kerosene Fuselage +item.mp_fuselage_15_kerosene_minuteman.name=Size 15 Kerosene Fuselage +item.mp_fuselage_15_kerosene_taint.name=Size 15 Kerosene Fuselage +item.mp_fuselage_15_kerosene_pip.name=Size 15 Kerosene Fuselage +item.mp_fuselage_15_kerosene_yuck.name=Size 15 Kerosene Fuselage +item.mp_fuselage_15_solid.name=Size 15 Solid Fuel Fuselage +item.mp_fuselage_15_solid_insulation.name=Size 15 Solid Fuel Fuselage +item.mp_fuselage_15_solid_soviet_glory.name=Size 15 Solid Fuel Fuselage +item.mp_fuselage_15_solid_soviet_stank.name=Size 15 Solid Fuel Fuselage +item.mp_fuselage_15_solid_desh.name=Size 15 Solid Fuel Fuselage +item.mp_fuselage_15_solid_silvermoonlight.name=Size 15 Solid Fuel Fuselage +item.mp_fuselage_15_solid_faust.name=Size 15 Solid Fuel Fuselage +item.mp_fuselage_15_solid_snowy.name=Size 15 Solid Fuel Fuselage +item.mp_fuselage_15_solid_panorama.name=Size 15 Solid Fuel Fuselage +item.mp_fuselage_15_solid_roses.name=Size 15 Solid Fuel Fuselage +item.mp_fuselage_15_hydrogen.name=Size 15 Hydrogen Fuselage +item.mp_fuselage_15_hydrogen_cathedral.name=Size 15 Hydrogen Fuselage +item.mp_fuselage_15_balefire.name=Size 15 BF Fuselage +item.mp_fuselage_15_20_kerosene.name=Size 15/20 Kerosene Fuselage +item.mp_fuselage_15_20_kerosene_magnusson.name=Size 15/20 Kerosene Fuselage +item.mp_fuselage_15_20_solid.name=Size 15/20 Solid Fuel Fuselage +item.mp_stability_10_flat.name=Size 10 Flat Fins +item.mp_stability_10_cruise.name=Size 10 Cruise Fins +item.mp_stability_10_space.name=Size 10 Space Fins +item.mp_stability_15_flat.name=Size 15 Flat Fins +item.mp_stability_15_thin.name=Size 15 Thin Fins +item.mp_stability_15_soyuz.name=Size 15 Pointy Fins +item.mp_thruster_10_kerosene.name=Size 10 Liquid Fuel Thruster +item.mp_thruster_10_solid.name=Size 10 Solid Fuel Thruster +item.mp_thruster_10_xenon.name=Size 10 Ion Thruster +item.mp_thruster_15_kerosene.name=Size 15 Liquid Fuel Thruster +item.mp_thruster_15_kerosene_dual.name=Size 15 Liquid Fuel Twin Thrusters +item.mp_thruster_15_kerosene_triple.name=Size 15 Liquid Fuel Triple Thrusters +item.mp_thruster_15_solid.name=Size 15 Solid Fuel Thruster +item.mp_thruster_15_solid_hexdecuple.name=Size 15 Solid Fuel Hexdecuple Thrusters +item.mp_thruster_15_hydrogen.name=Size 15 Hydrogen Thruster +item.mp_thruster_15_hydrogen_dual.name=Size 15 Hydrogen Twin Thrusters +item.mp_thruster_15_balefire_short.name=Size 15 BF Thruster with Nuclear Preheater (Shortened) +item.mp_thruster_15_balefire.name=Size 15 BF Thruster with Nuclear Preheater +item.mp_thruster_15_balefire_large.name=Size 15 BF Thruster with Nuclear Preheater (Heavy Duty Nozzle) +item.mp_thruster_15_balefire_large_rad.name=Size 15 BF Thruster with Nuclear Preheater (Heavy Duty Nozzle) +item.mp_thruster_20_kerosene.name=Size 20 Liquid Fuel Thruster +item.mp_thruster_20_kerosene_dual.name=Size 20 Liquid Fuel Twin Thrusters +item.mp_thruster_20_kerosene_triple.name=Size 20 Liquid Fuel Triple Thrusters +item.mp_thruster_20_solid.name=Size 20 Solid Fuel Thruster +item.mp_thruster_20_solid_multi.name=Size 20 Solid Fuel 30-Fold Thrusters +item.mp_thruster_20_solid_multier.name=Size 20 Solid Fuel 47-Fold Thrusters +item.missile_skin_camo.name=Missile Skin: Camo +item.missile_skin_desert.name=Missile Skin: Desert Camo +item.missile_skin_flames.name=Missile Skin: Sick Flames +item.missile_skin_manly_pink.name=Missile Skin: Manly Pink +item.missile_skin_orange_insulation.name=Missile Skin: Orange Insulation +item.missile_skin_sleek.name=Missile Skin: IF-R&D +item.missile_skin_soviet_glory.name=Missile Skin: Soviet Glory +item.missile_skin_soviet_stank.name=Missile Skin: Soviet Stank +item.missile_skin_metal.name=Missile Skin: Metal +item.missile_custom.name=Custom Missile +item.missile_carrier.name=HTR-01 Carrier Rocket +item.missile_soyuz0.name=Soyuz-FG +item.missile_soyuz1.name=Soyuz-FG +item.missile_soyuz2.name=Soyuz-FG +item.missile_soyuz_lander.name=Orbital Module +item.sat_mapper.name=Surface Mapping Satellite +item.sat_scanner.name=Satellite with Depth-Resource Scanning Module +item.sat_radar.name=Radar Survey Satellite +item.sat_laser.name=Orbital Death Ray +item.sat_foeq.name=PEAF - Mk.I FOEQ Duna Probe with experimental Nuclear Propulsion +item.sat_resonator.name=Xenium Resonator Satellite +item.sat_miner.name=Asteroid Mining Ship +item.sat_gerald.name=Gerald The Construction Android +item.sat_chip.name=Satellite ID-Chip +item.sat_interface.name=Satellite Control Interface +item.sat_coord.name=Satellite Designator +tile.deco_sat_mapper.name=Surface Mapping Satellite (Deco Block) +tile.deco_sat_scanner.name=Satellite with Depth-Resource Scanning Module (Deco Block) +tile.deco_sat_radar.name=Radar Survey Satellite (Deco Block) +tile.deco_sat_laser.name=Orbital Death Ray (Deco Block) +tile.deco_sat_foeq.name=PEAF - Mk.I FOEQ Duna Probe with experimental Nuclear Propulsion (Deco Block) +tile.deco_sat_resonator.name=Xenium Resonator Satellite (Deco Block) +item.hev_boots.name=HEV Mark IV Boots +item.hev_plate.name=HEV Mark IV Chestplate +item.hev_helmet.name=HEV Mark IV Helmet +item.hev_legs.name=HEV Mark IV Leggings +item.ajr_boots.name=Steel Ranger Boots +item.ajr_helmet.name=Steel Ranger Helmet +item.ajr_legs.name=Steel Ranger Leggings +item.ajr_plate.name=Steel Ranger Chestplate +item.RPA_boots.name=Remnants Boots +item.RPA_helmet.name=Remnants Helmet +item.RPA_plate.name=Remnants Chestplate +item.RPA_legs.name=Remnants Leggings +item.hazmat_helmet_red.name=Advanced Hazmat Helmet +item.hazmat_plate_red.name=Advanced Hazmat Chestplate +item.hazmat_legs_red.name=Advanced Hazmat Leggings +item.hazmat_boots_red.name=Advanced Hazmat Boots +item.hazmat_helmet_grey.name=High-Performance Hazmat Helmet +item.hazmat_plate_grey.name=High-Performance Hazmat Chestplate +item.hazmat_legs_grey.name=High-Performance Hazmat Leggings +item.hazmat_boots_grey.name=High-Performance Hazmat Boots +item.jackt.name=Damn Stylish Ballistic Jacket +item.jackt2.name=Damn Stylish Ballistic Jacket 2: Tokyo Drift +item.gas_mask_m65.name=M65-Z Gas Mask +tile.sellafield_slaked.name=Slaked Sellafite +tile.sellafield_0.name=Sellafite +tile.sellafield_1.name=Hot Sellafite +tile.sellafield_2.name=Boiling Sellafite +tile.sellafield_3.name=Blazing Sellafite +tile.sellafield_4.name=Infernal Sellafite +tile.sellafield_core.name=Sellafite-Corium +item.analyzer.name=Analyzer +item.security_helmet.name=Security Helmet +item.security_plate.name=Security Chestplate +item.security_legs.name=Security Leggings +item.security_boots.name=Security Boots +item.cobalt_helmet.name=Cobalt Helmet +item.cobalt_plate.name=Cobalt Chestplate +item.cobalt_legs.name=Cobalt Leggings +item.cobalt_boots.name=Cobalt Boots +item.starmetal_helmet.name=Starmetal Helmet +item.starmetal_plate.name=Starmetal Chestplate +item.starmetal_legs.name=Starmetal Leggings +item.starmetal_boots.name=Starmetal Boots +item.desh_sword.name=Worker's Alloy Sword +item.desh_pickaxe.name=Worker's Alloy Pickaxe +item.desh_axe.name=Worker's Alloy Axe +item.desh_shovel.name=Worker's Alloy Shovel +item.desh_hoe.name=Worker's Alloy Hoe +item.cobalt_sword.name=Cobalt Sword +item.cobalt_pickaxe.name=Cobalt Pickaxe +item.cobalt_axe.name=Cobalt Axe +item.cobalt_shovel.name=Cobalt Shovel +item.cobalt_hoe.name=Cobalt Hoe +item.centri_stick.name=Centrifuge on a Stick +item.smashing_hammer.name=Smashing Hammer +tile.block_meteor_broken.name=Broken Meteorite Block +tile.block_meteor_cobble.name=Meteorite Cobblestone +tile.block_meteor_molten.name=Hot Meteorite Cobblestone +tile.block_meteor_treasure.name=Meteorite Treasure Block +tile.meteor_polished.name=Polished Meteor Block +tile.meteor_brick.name=Meteor Bricks +tile.meteor_brick_chiseled.name=Chiseled Meteor Bricks +tile.meteor_brick_cracked.name=Cracked Meteor Bricks +tile.meteor_brick_mossy.name=Mossy Meteor Bricks +tile.meteor_pillar.name=Meteor Pillar +tile.meteor_spawner.name=Cyber Crab Assembler +tile.meteor_battery.name=Starmetal Static Electricity Generator +item.cape_codered_.name=codered_'s Cape +item.cape_ayy.name=Ayy's Cape +item.cape_nostalgia.name=DrNostalgia's Cape +tile.machine_transformer.name=10k-20Hz Transformer +tile.machine_transformer_dnt.name=DNT-20Hz Transformer +tile.machine_transformer_20.name=10k-1Hz Transformer +tile.machine_transformer_dnt_20.name=DNT-1Hz Transformer +tile.vent_chlorine.name=Chlorine Vent +tile.vent_cloud.name=Cloud Vent +tile.vent_pink_cloud.name=Pink Cloud Vent +tile.vent_chlorine_seal.name=Chlorine Seal +tile.chlorine_gas.name=Chlorine Gas +item.chlorine_pinwheel.name=Chlorine Pinwheel +tile.absorber.name=Radiation Absorber +tile.absorber_red.name=Enhanced Radiation Absorber +tile.absorber_green.name=Advanced Radiation Absorber +tile.absorber_pink.name=Elite Radiation Absorber +tile.decon.name=Radiation Decontaminator +tile.decon_digamma.name=Digamma Decontaminator +tile.machine_amgen.name=Ambience Radiation Generator +tile.machine_geo.name=Geothermal Electric Generator +tile.machine_minirtg.name=Radio Isotope Cell +item.shimmer_sledge.name=Shimmer Sledge +item.shimmer_axe.name=Shimmer Axe +item.mech_key.name=Large Silver Key +item.shimmer_head.name=Heavy Hammer Head +item.shimmer_axe_head.name=Heavy Axe Head +item.shimmer_handle.name=Reinforced Polymer Handle +item.detonator_multi.name=Multi Detonator +item.detonator_laser.name=Laser Detonator +item.detonator_deadman.name=Dead Man's Detonator +item.detonator_de.name=Dead Man's Explosive +item.bomb_caller.name=Airstrike Designator +item.meteor_remote.name=Meteorite Remote +item.meteorite_sword.name=Meteorite Sword +item.meteorite_sword_seared.name=Meteorite Sword (Seared) +item.meteorite_sword_reforged.name=Meteorite Sword (Reforged) +item.meteorite_sword_hardened.name=Meteorite Sword (Hardened) +item.meteorite_sword_alloyed.name=Meteorite Sword (Alloyed) +item.meteorite_sword_machined.name=Meteorite Sword (Machined) +item.meteorite_sword_treated.name=Meteorite Sword (Treated) +item.meteorite_sword_etched.name=Meteorite Sword (Etched) +item.meteorite_sword_bred.name=Meteorite Sword (Bred) +item.meteorite_sword_irradiated.name=Meteorite Sword (Irradiated) +item.meteorite_sword_fused.name=Meteorite Sword (Fused) +item.meteorite_sword_baleful.name=Meteorite Sword (Baleful) +item.pellet_mercury.name=Mercury Rounds +item.pellet_meteorite.name=Meteorite Rounds +item.pellet_canister.name=Canister Shot +item.pellet_charged.name=Ionized Particles +item.pellet_chlorophyte.name=Chlorophyte Rounds +item.pellet_claws.name=Sharp Metal Claws +item.ammo_rocket_canister.name=84mm Rocket (Canister Shot) +item.ammo_9mm_chlorophyte.name=9mm Round (Chlorophyte) +item.ammo_5mm_chlorophyte.name=5mm Round (Chlorophyte) +item.ammo_556_flechette_chlorophyte.name=5.56mm Flechette Round (Chlorophyte) +item.ammo_shell.name=240mm Shell +item.ammo_shell_apfsds_du.name=240mm APFSDS-DU +item.ammo_shell_apfsds_t.name=240mm APFSDS-T +item.ammo_shell_explosive.name=240mm HE Shell +item.ammo_shell_w9.name=240mm W9 Nuclear Shell +item.ammo_dgk.name=Goalkeeper Twin CIWS 200 Round Belt +item.can_luna.name=Black Mesa Luna - Dark Cola +item.can_bepis.name=Bepis +item.can_breen.name=Dr. Breens Private Reserve +item.bottle_sparkle.name=Bottle of S~Cola +item.bottle_rad.name=Bottle of S~Cola RAD +item.bottle2_sunset.name=Sunset Sarsaparilla +item.cbt_device.name=CBT Device +item.cap_sparkle.name=S~Cola Bottle Cap +item.cap_rad.name=S~Cola RAD Bottle Cap +item.cap_sunset.name=Sunset Sarsaparilla Bottle Cap +item.cap_star.name=Sunset Sarsaparilla Star Cap +item.canned_beef.name=Canned Beef +item.canned_tuna.name=Canned Tuna +item.canned_mystery.name=Canned Mystery Meat +item.canned_pashtet.name=Паштет +item.canned_cheese.name=Canned Melted Cheese +item.canned_jizz.name=FlimFlam Industries Canned Stallion Milk™ +item.canned_milk.name=Canned Evaporated Milk +item.canned_ass.name=Canned Ass +item.canned_pizza.name=Canned Pepperoni Pizza +item.canned_tube.name=Astronaut Food Tube +item.canned_tomato.name=Canned Tomato Soup +item.canned_asbestos.name=Canned Asbestos +item.canned_bhole.name=Canned Black Hole +item.canned_hotdogs.name=Canned Hotdogs +item.canned_leftovers.name=Leftover Conserve +item.canned_yogurt.name=Canned Yogurt +item.canned_stew.name=Canned "Mushroom Stew" +item.canned_chinese.name=Canned Chinese Food +item.canned_oil.name=Canned Engine Oil +item.canned_fist.name=Canned Fist +item.canned_spam.name=Canned Spam +item.canned_fried.name=Canned Fried Chicken +item.canned_napalm.name=Canned Napalm +item.canned_diesel.name=Canned Diesel +item.canned_kerosene.name=Canned Kerosene +item.canned_recursion.name=Canned Recursion +item.canned_bark.name=Canned Pine Bark Jerky +item.can_key.name=Winding Key +item.pudding.name=Pudding +item.canteen_13.name=Vault 13 Canteen +item.canteen_vodka.name=Stylish Flask +item.blades_desh.name=Desh Shredder Blades +item.stamp_stone_flat.name=Flat Stamp (Stone) +item.stamp_stone_plate.name=Plate Stamp (Stone) +item.stamp_stone_wire.name=Wire Stamp (Stone) +item.stamp_stone_circuit.name=Circuit Stamp (Stone) +item.stamp_iron_flat.name=Flat Stamp (Iron) +item.stamp_iron_plate.name=Plate Stamp (Iron) +item.stamp_iron_wire.name=Wire Stamp (Iron) +item.stamp_iron_circuit.name=Circuit Stamp (Iron) +item.stamp_steel_flat.name=Flat Stamp (Steel) +item.stamp_steel_plate.name=Plate Stamp (Steel) +item.stamp_steel_wire.name=Wire Stamp (Steel) +item.stamp_steel_circuit.name=Circuit Stamp (Steel) +item.stamp_titanium_flat.name=Flat Stamp (Titanium) +item.stamp_titanium_plate.name=Plate Stamp (Titanium) +item.stamp_titanium_wire.name=Wire Stamp (Titanium) +item.stamp_titanium_circuit.name=Circuit Stamp (Titanium) +item.stamp_obsidian_flat.name=Flat Stamp (Obsidian) +item.stamp_obsidian_plate.name=Plate Stamp (Obsidian) +item.stamp_obsidian_wire.name=Wire Stamp (Obsidian) +item.stamp_obsidian_circuit.name=Circuit Stamp (Obsidian) +item.stamp_schrabidium_flat.name=Flat Stamp (Schrabidium) +item.stamp_schrabidium_plate.name=Plate Stamp (Schrabidium) +item.stamp_schrabidium_wire.name=Wire Stamp (Schrabidium) +item.stamp_schrabidium_circuit.name=Circuit Stamp (Schrabidium) +item.stamp_357.name=.357 Magnum Stamp +item.stamp_44.name=.44 Magnum Stamp +item.stamp_9.name=Small Caliber Stamp +item.stamp_50.name=Large Caliber Stamp +item.particle_aelectron.name=Positron Capsule +item.particle_amat.name=Antimatter Capsule +item.particle_aproton.name=Antiproton Capsule +item.particle_aschrab.name=Antischrabidium Capsule +item.particle_dark.name=Dark Matter Capsule +item.particle_empty.name=Empty Particle Capsule +item.particle_higgs.name=Higgs Boson Capsule +item.particle_muon.name=Muon Capsule +item.particle_sparkticle.name=Sparkticle Capsule +item.particle_strange.name=Strange Quark Capsule +item.particle_copper.name=Copper Ion Capsule +item.particle_digamma.name=§cThe Digamma Particle§r +item.particle_lead.name=Lead Ion Capsule +item.particle_hydrogen.name=Hydrogen Ion Capsule +geiger.title=GEIGER COUNTER +geiger.chunkRad=Current chunk radiation: +geiger.envRad=Total environmental radiation: +geiger.recievedRad=Total recieved radiation: +geiger.playerRad=Player contamination: +geiger.playerRes=Player resistance: +dosimeter.title=DOSIMETER +digamma.title=DIGAMMA DIAGNOSTIC +digamma.playerDigamma=Player contamination: +digamma.playerHealth=Player depletion: +item.rune_blank.name=Blank Catalyst Matrix +item.rune_isa.name=Cool Catalyst Matrix +item.rune_dagaz.name=Balanced Catalyst Matrix +item.rune_hagalaz.name=Rough Catalyst Matrix +item.rune_jera.name=Multiplicative Catalyst Matrix +item.rune_thurisaz.name=Additive Catalyst Matrix +item.ams_catalyst_blank.name=Blank Reaction Catalyst +item.ams_catalyst_aluminium.name=Aluminium Reaction Catalyst +item.ams_catalyst_beryllium.name=Beryllium Reaction Catalyst +item.ams_catalyst_caesium.name=Caeseium Reaction Catalyst +item.ams_catalyst_cerium.name=Cerium Reaction Catalyst +item.ams_catalyst_cobalt.name=Cobalt Reaction Catalyst +item.ams_catalyst_copper.name=Copper Reaction Catalyst +item.ams_catalyst_euphemium.name=Euphemium Reaction Catalyst +item.ams_catalyst_iron.name=Iron Reaction Catalyst +item.ams_catalyst_lithium.name=Lithium Reaction Catalyst +item.ams_catalyst_niobium.name=Niobium Reaction Catalyst +item.ams_catalyst_strontium.name=Strontium Reaction Catalyst +item.ams_catalyst_thorium.name=Thorium Reaction Catalyst +item.ams_catalyst_tungsten.name=Tungsten Reaction Catalyst +item.ams_catalyst_schrabidium.name=Schrabidium Reaction Catalyst +item.ams_catalyst_dineutronium.name=Dineutronium Reaction Catalyst +item.ams_focus_blank.name=Blank Stabilizer Focus +item.ams_focus_limiter.name=Limiting Stabilizer Focus +item.ams_focus_booster.name=Boosting Stabilizer Focus +item.ams_muzzle.name=Ray-Emission Muzzle +item.ams_lens.name=Stabilizer Lens +item.ams_core_sing.name=Vibrant Singularity (AMS Core) +item.ams_core_wormhole.name=Tiny Wormhole (AMS Core) +item.ams_core_eyeofharmony.name=Eye of Harmony (AMS Core) +item.ams_core_thingy.name=Thingy (AMS Core) +item.reactor_sensor.name=Reactor Remote Sensor +item.oil_detector.desc1=Right-click to scan for oil. +item.oil_detector.desc2=Detector will only find larger deposits. +item.oil_detector.bullseye=Oil deposit directly below! +item.oil_detector.detected=Oil detected nearby. +item.oil_detector.noOil=No oil detected. +item.geiger_counter.name=Handheld Geiger Counter +tile.geiger.name=Geiger Counter +item.dosimeter.name=Dosimeter +item.digamma_diagnostic.name=Digamma Diagnostic +tile.glass_polonium.name=Polonium Glass +item.survey_scanner.name=Survey Scanner +item.stopsign.name=Stop Sign Battle Axe +item.sopsign.name=Sop Sign Battle Axe +item.chernobylsign.name=Chernobyl Warning Sign Battle Axe +item.diamond_gavel.name=Diamond Gavel +item.lead_gavel.name=Leaden Gavel +item.wood_gavel.name=Wooden Gavel +item.mese_gavel.name=Mese Gavel +item.mese_pickaxe.name=Mese Pickaxe +item.chlorophyte_pickaxe.name=Chlorophyte Pickaxe +item.glitch.name=Glitch +item.book_of_.name=The Book of Boxcars +item.burnt_bark.name=Burnt Bark +item.loot_10.name=Size 10 Missile Loot Crate +item.loot_15.name=Size 15 Missile Loot Crate +item.loot_misc.name=General Missile Loot Crate +tile.dungeon_chain.name=Metal Chain +tile.fireworks.name=Firework Battery +tile.fireworks.charges=Charges Loaded: %s +tile.fireworks.message=Message: %s +tile.fireworks.color=Color: %s +item.insert_doxium.name=Astolfium-Doped Doxium Insert +item.insert_du.name=DU Insert +item.insert_era.name=Explosive Reactive Armor Insert +item.insert_esapi.name=ESAPI Insert +item.insert_kevlar.name=Kevlar Insert +item.insert_sapi.name=SAPI Insert +item.insert_polonium.name=Polonium Insert +item.insert_ghiorsium.name=Ghiorsium Insert +item.insert_di.name=Dineutronium Insert +item.insert_steel.name=Heavy Steel Insert +item.insert_xsapi.name=XSAPI Insert +item.insert_yharonite.name=Yharonite Insert +item.attachment_mask.name=Gas Mask Attachable +item.attachment_mask_mono.name=Carbon Monoxide Mask Attachable +item.servo_set.name=Servo Set +item.servo_set_desh.name=Desh Servo Set +item.demon_core_closed.name=Closed Demon Core +item.demon_core_open.name=Suspended Demon Core +item.billet_am_mix.name=Reactor Grade Americium Billet +item.billet_am241.name=Americium-241 Billet +item.billet_am242.name=Americium-242 Billet +item.billet_americium_fuel.name=Americium Fuel Billet +item.billet_au198.name=Gold-198 Billet +item.billet_australium.name=Australium Billet +item.billet_australium_greater.name=Australium-406 Billet +item.billet_australium_lesser.name=Australium-405 Billet +item.billet_balefire_gold.name=Flashgold Billet +item.billet_co60.name=Cobalt-60 Billet +item.billet_hes.name=Highly Enriched Schrabidium Fuel Billet +item.billet_les.name=Low Enriched Schrabidium Fuel Billet +item.billet_mox_fuel.name=MOX Fuel Billet +item.billet_neptunium.name=Neptunium-237 Billet +item.billet_neptunium_fuel.name=Neptunium Fuel Billet +item.billet_po210be.name=Po210Be Billet +item.billet_polonium.name=Polonium-210 Billet +item.billet_pu_mix.name=Reactor Grade Plutonium Billet +item.billet_pu238.name=Plutonium-238 Billet +item.billet_pu238be.name=Pu238Be Billet +item.billet_pu239.name=Plutonium-239 Billet +item.billet_pu240.name=Plutonium-240 Billet +item.billet_pu241.name=Plutonium-241 Billet +item.billet_plutonium.name=Plutonium Billet +item.billet_plutonium_fuel.name=Plutonium Fuel Billet +item.billet_ra226be.name=Ra226Be Billet +item.billet_schrabidium.name=Schrabidium-326 Billet +item.billet_schrabidium_fuel.name=Schrabidium Fuel Billet +item.billet_solinium.name=Solinium-327 Billet +item.billet_technetium.name=Technetium-99 Billet +item.billet_th232.name=Thorium-232 Billet +item.billet_thorium_fuel.name=Thorium Fuel Billet +item.billet_u233.name=Uranium-233 Billet +item.billet_u235.name=Uranium-235 Billet +item.billet_u238.name=Uranium-238 Billet +item.billet_uranium.name=Uranium Billet +item.billet_uranium_fuel.name=Uranium Fuel Billet +item.billet_yharonite.name=Yharonite Billet +item.fmn.name=Flunitrazepam Tablet +item.xanax.name=NAXA Anti-Digamma Medication +item.five_htp.name=Enteramine Pills +item.spawn_worm.name=Balls-O-Tron Prime +item.spawn_ufo.name=Martian Invasion Ship +tile.taint.name=Taint +tile.residue.name=Cloud Residue +item.powder_cloud.name=Cloud Residue +item.mysteryshovel.name=Brittle Spade +tile.ntm_dirt.name=Dirt +item.memory.name=item.null.name +tile.basalt.name=Basalt +tile.basalt_asbestos.name=Asbestos-Rich Basalt +tile.basalt_brick.name=Basalt Bricks +tile.basalt_fluorite.name=Fluorite-Rich Basalt +tile.basalt_gem.name=Gem-Rich Basalt +tile.basalt_polished.name=Polished Basalt +tile.basalt_smooth.name=Smooth Basalt +tile.basalt_sulfur.name=Sulfur-Rich Basalt +tile.basalt_tiles.name=Basalt Tiles +tile.ash_digamma.name=Ash +item.ashglasses.name=Ash Goggles +item.falloutitem.name=Pile of Fallout +item.book_guide_book.name=Guide Book +tile.fallout.name=Fallout +tile.fire_digamma.name=Lingering Digamma +item.marshmallow.name=Marshmallow on a Stick +item.marshmallow_roasted.name=Marshmallow on a Stick +tile.block_smore.name=Block of S'more +item.ingot_smore.name=S'more Ingot +tile.gas_asbestos.name=Airborne Asbestos Particles +tile.gas_coal.name=Airborne Coal Dust +tile.gas_explosive.name=Explosive Gas +tile.gas_flammable.name=Flammable Gas +tile.gas_monoxide.name=Carbon Monoxide +tile.gas_radon.name=Radon Gas +tile.gas_radon_dense.name=Dense Radon Gas +tile.gas_radon_tomb.name=Tomb Gas +tile.block_corium.name=Corium +tile.block_corium_cobble.name=Corebblestone +tile.ancient_scrap.name=Ancient Scrap Metal +tile.anvil_bismuth.name=Bismuth Anvil +tile.anvil_dnt.name=Dineutronium Anvil +tile.anvil_ferrouranium.name=Ferrouranium Anvil +tile.anvil_iron.name=Iron Anvil +tile.anvil_lead.name=Lead Anvil +tile.anvil_meteorite.name=Meteorite Anvil +tile.anvil_murky.name=Murky Anvil +tile.anvil_schrabidate.name=Ferric Schrabidate Anvil +tile.anvil_starmetal.name=Starmetal Anvil +tile.anvil_steel.name=Steel Anvil +item.nugget_am_mix.name=Reactor Grade Americium Nugget +item.nugget_am241.name=Americium-241 Nugget +item.nugget_am242.name=Americium-242 Nugget +item.nugget_americium_fuel.name=Americium Fuel Nugget +item.nugget_au198.name=Gold-198 Nugget +item.nugget_australium_greater.name=Australium-406 Nugget +item.nugget_australium_lesser.name=Australium-405 Nugget +item.ingot_am_mix.name=Reactor Grade Americium Ingot +item.ingot_am241.name=Americium-241 Ingot +item.ingot_am242.name=Americium-242 Ingot +item.ingot_americium_fuel.name=Ingot of Americium Fuel +item.ingot_au198.name=Gold-198 Ingot +item.powder_at209.name=Astatine-209 Powder +item.powder_au198.name=Gold-198 Powder +item.ingot_tantalium.name=Tantalium Ingot +item.ingot_tcalloy.name=Technetium Steel Ingot +item.ingot_technetium.name=Technetium-99 Ingot +tile.cluster_aluminium.name=Aluminium Ore Cluster +tile.cluster_depth_iron.name=Depth Iron Ore Cluster +tile.cluster_depth_titanium.name=Depth Titanium Ore Cluster +tile.cluster_depth_tungsten.name=Depth Tungsten Ore Cluster +tile.cluster_iron.name=Iron Ore Cluster +tile.cluster_titanium.name=Titanium Ore Cluster +tile.depth_brick.name=Depth Bricks +tile.depth_dnt.name=DNT-Reinforced Depth Bricks +tile.depth_nether_brick.name=Nether Depth Bricks +tile.depth_nether_tiles.name=Nether Depth Tiles +tile.depth_tiles.name=Depth Tiles +item.powder_coltan.name=Purified Tantalite +item.powder_coltan_ore.name=Crushed Coltan +tile.block_coltan.name=Block of Coltan +tile.ore_bedrock_coltan.name=Bedrock Coltan Ore +tile.ore_coltan.name=Coltan Ore +tile.block_zirconium.name=Block of Zirconium +item.ingot_zirconium.name=Zirconium Cube +item.powder_zirconium.name=Zirconium Powder +item.nugget_zirconium.name=Zirconium Splinter +tile.block_fallout.name=Block of Fallout +item.gem_volcanic.name=Volcanic Gem +tile.block_foam.name=Foam +item.powder_boron.name=Boron Powder +item.powder_boron_tiny.name=Tiny Pile of Boron Powder +item.powder_tantalium.name=Tantalium Powder +item.powder_tcalloy.name=Technetium Steel Powder +item.nugget_tantalium.name=Tantalium Nugget +item.nugget_technetium.name=Technetium-99 Nugget +tile.stone_depth.name=Depth Rock +tile.stone_depth_nether.name=Nether Depth Rock +tile.block_tantalium.name=Block of Tantalium +item.ingot_graphite.name=Graphite Ingot +tile.block_graphite.name=Block of Graphite +tile.block_graphite_drilled.name=Drilled Graphite +tile.block_graphite_fuel.name=Pile Fuel +tile.block_graphite_plutonium.name=Pile Fuel (Bred) +tile.block_graphite_rod.name=Pile Control Rod +tile.block_graphite_source.name=Pile Neutron Source +item.gem_tantalium.name=Tantalium Polycrystal +item.powder_i131.name=Iodine-131 Powder +item.powder_i131_tiny.name=Tiny Pile of Iodine-131 Powder +item.powder_xe135.name=Xenon-135 Powder +item.powder_xe135_tiny.name=Tiny Pile of Xenon-135 Powder +item.powder_cs137.name=Caesium-137 Powder +item.powder_cs137_tiny.name=Tiny Pile of Caesium-137 Powder +item.liquidator_boots.name=Liquidator Suit Boots +item.liquidator_helmet.name=Liquidator Suit Helmet +item.liquidator_legs.name=Liquidator Suit Leggins +item.liquidator_plate.name=Liquidator Suit Chestplate +item.balefire_and_steel.name=Balefire and Steel +item.nugget_neptunium_fuel.name=Neptunium Fuel Nugget +item.fragment_boron.name=Boron Fragment +item.nugget_ra226.name=Radium-226 Nugget +item.nugget_co60.name=Cobalt-60 Nugget +item.powder_co60.name=Cobalt-60 Powder +item.cinnebar.name=Cinnabar +item.ingot_co60.name=Cobalt-60 Ingot +item.ingot_boron.name=Boron Ingot +item.powder_coal_tiny.name=Tiny Pile of Coal Powder +item.fragment_coltan.name=Coltan +item.coal_infernal.name=Infernal Coal +item.ingot_pu_mix.name=Reactor Grade Plutonium Ingot +item.ingot_niobium.name=Niobium Ingot +item.hand_drill.name=Hand Drill +item.nuclear_waste_pearl.name=Nuclear Waste Pearl +item.nuclear_waste_tiny.name=Tiny Pile of Nuclear Waste +item.nuclear_waste_long.name=Long-Lived Nuclear Waste +item.nuclear_waste_long_tiny.name=Tiny Pile of Long-Lived Nuclear Waste +item.nuclear_waste_long_depleted.name=Decayed Long-Lived Nuclear Waste +item.nuclear_waste_long_depleted_tiny.name=Tiny Pile of Decayed Long-Lived Nuclear Waste +item.nuclear_waste_short.name=Short-Lived Nuclear Waste +item.nuclear_waste_short_tiny.name=Tiny Pile of Short-Lived Nuclear Waste +item.nuclear_waste_short_depleted.name=Decayed Short-Lived Nuclear Waste +item.nuclear_waste_short_depleted_tiny.name=Tiny Pile of Decayed Short-Lived Nuclear Waste +item.nuclear_waste_vitrified.name=Vitrified Nuclear Waste +item.nuclear_waste_vitrified_tiny.name=Tiny Pile of Vitrified Nuclear Waste +item.pile_rod_boron.name=Chicago Pile Control Rod +item.pile_rod_plutonium.name=Chicago Pile Plutonium Rod +item.pile_rod_source.name=Chicago Pile Ra226Be Neutron Source +item.pile_rod_uranium.name=Chicago Pile Uranium Rod +item.ammo_50bmg_flechette.name=.50 BMG Flechette Round +item.ammo_50bmg_flechette_am.name=.50 BMG Flechette Round (Americium) +item.ammo_50bmg_flechette_po.name=.50 BMG Flechette Round (Polonium) +item.plate_armor_dnt.name=DNT Armor Plating +item.plate_armor_fau.name=Fau Armor Plating +item.warhead_volcano.name=Tectonic Warhead +item.ingot_neptunium_fuel.name=Neptunium Fuel Ingot +item.inf_water_mk2.name=Heavy Infinite Water Tank +item.particle_tachyon.name=Tachyon Capsule +item.antiknock.name=Tetraethyllead Antiknock Agent +item.undefined.name=Undefined +item.oil_tar.name=Oil Tar +item.circuit_bismuth.name=Versatile Chipset +item.circuit_bismuth_raw.name=Versatile Chipset Assembly +item.circuit_tantalium.name=Capacitor Board +item.circuit_tantalium_raw.name=Capacitor Board Assembly +item.gun_ar15.name=Josh +item.coin_siege.name=Siege Coin +item.coin_ufo.name=UFO Coin +item.wings_limp.name=Limp Wings +item.wings_murk.name=Murky Wings +item.nugget_bismuth.name=Bismuth Nugget +item.ingot_bismuth.name=Bismuth Ingot +item.flywheel_beryllium.name=Beryllium Flywheel +item.missile_volcano.name=Tectonic Missile +item.ingot_pu241.name=Plutonium-241 Ingot +tile.ore_cobalt.name=Cobalt Ore +tile.ore_coltan.name=Coltan Ore +tile.ore_depth_cinnebar.name=Depth Cinnabar Ore +tile.ore_depth_nether_neodymium.name=Nether Depth Neodymium Ore +tile.ore_depth_zirconium.name=Depth Zirconium Ore +tile.block_boron.name=Block of Boron +tile.block_bismuth.name=Block of Bismuth +tile.ore_nether_cobalt.name=Nether Cobalt Ore +tile.block_niobium.name=Block of Niobium +tile.block_lanthanium.name=Block of Lanthanium +tile.ore_cinnebar.name=Cinnabar Ore +tile.block_actinium.name=Block of Actinium +tile.machine_storage_drum.name=Nuclear Waste Disposal Drum +tile.machine_condenser.name=Steam Condenser +tile.machine_orbus.name=Heavy Magnetic Storage Tank +tile.fraction_spacer.name=Fractioning Tower Separator +tile.machine_tower_large.name=Cooling Tower +tile.machine_tower_small.name=Auxiliary Cooling Tower +tile.machine_bat9000.name=Big-Ass Tank 9000 +tile.machine_chungus.name=Leviathan Steam Turbine +tile.machine_fraction_tower.name=Fractioning Tower +tile.block_semtex.name=Block of Semtex +tile.block_pu_mix.name=Block of Reactor Grade Plutonium +tile.block_tritium.name=Block of Tritium Cells +tile.barrel_tcalloy.name=Technetium Steel Barrel +tile.volcano_core.name=Volcano Core +tile.machine_silex.name=Laser Isotope Separator (SILEX) +tile.machine_fel.name=FEL +tile.brick_concrete_marked.name=Marked Concrete Bricks +tile.concrete_asbestos.name=Asbestos Concrete +item.syringe_mkunicorn.name=MKUNICORN +item.bandaid.name=Velvet Band-Aid +item.spider_milk.name=Bottle of Spider Milk +item.injector_5htp.name=5-HTP Autoinjector +item.injector_knife.name=8 Inch Blade Autoinjector +item.pads_rubber.name=Rubber Pads +item.pads_slime.name=Slime Pads +item.pads_static.name=Static Pads +item.heart_booster.name=Heart Booster +item.heart_container.name=Heart Container +item.heart_fab.name=Fab Heart +item.heart_piece.name=Heart Piece +item.lodestone.name=Lodestone +item.bathwater.name=Toxic Soapy Water +item.bathwater_mk2.name=Toxic Soapy Water (Horse Scented) +item.bathwater_mk3.name=Finest Chernobyl Bath Water (Meltdown Scented) +item.industrial_magnet.name=Industrial Magnet +item.serum.name=Serum +item.armor_polish.name=ShiningArmor™ Armor Polish +item.cladding_iron.name=Iron Cladding +item.wild_p.name=Wild Pegasus Dry Whiskey +item.back_tesla.name=Back-Mounted Tesla Coil +item.wd40.name=VT-40 +item.fabsols_vodka.name=Fabsol's Vodka +item.ink.name=林— Ink +item.black_diamond.name=Black Diamond +item.cladding_obsidian.name=Obsidian Skin +item.quartz_plutonium.name=Plutonic Quartz +item.morning_glory.name=Morning Glory +item.horseshoe_magnet.name=Horseshoe Magnet +item.shackles.name=Shackles +item.scrumpy.name=Bottle of Scrumpy +item.medal_liquidator.name=Liquidator Medal +item.medal_ghoul.name=Certified Ghoul +tile.steel_grate.name=Steel Grate +item.siox.name=SiOX Cancer Medication +item.ingot_smore.name=S'more Ingot +tile.block_waste_vitrified.name=Vitrified Block of Nuclear Waste +item.crystal_coal.name=Coal Crystals +item.crystal_cobalt.name=Cobalt Crystals +item.crystal_cinnebar.name=Cinnabar Crystals +item.battery_sc_balefire.name=Self-Charging Balefire-XXX Battery +item.battery_sc_americium.name=Self-Charging Americium-241 Battery +item.battery_sc_gold.name=Self-Charging Gold-198 Battery +item.battery_sc_plutonium.name=Self-Charging Plutonium-238 Battery +item.battery_sc_polonium.name=Self-Charging Polonium-210 Battery +item.battery_sc_technetium.name=Self-Charging Technetium-99 Battery +item.battery_sc_uranium.name=Self-Charging Uranium-238 Battery +item.ajro_boots.name=AJR Power Armor Boots +item.ajro_helmet.name=AJR Power Armor Helmet +item.ajro_legs.name=AJR Power Armor Leggings +item.ajro_plate.name=AJR Power Armor Chestplate +item.dns_boots.name=DNT Nano Suit Boots +item.dns_legs.name=DNT Nano Suit Leggings +item.dns_helmet.name=DNT Nano Suit Helmet +item.dns_plate.name=DNT Nano Suit Chestplate +item.dnt_boots.name=dienautronium boots +item.dnt_legs.name=dineuterium legs +item.dnt_helmet.name=dinotroniumu helmet +item.dnt_plate.name=dineutrom chestplate +item.fau_boots.name=Fau Boots +item.fau_helmet.name=Fau Helmet +item.fau_legs.name=Fau Leggins +item.fau_plate.name=Fau Chestplate +tile.deco_pipe.name=Steel Pipe +tile.deco_pipe_rusted.name=Rusty Steel Pipe +tile.deco_pipe_green.name=Green Steel Pipe +tile.deco_pipe_green_rusted.name=Rusty Green Steel Pipe +tile.deco_pipe_red.name=Red Steel Pipe +tile.deco_pipe_marked.name=Gas Pipe +tile.deco_pipe_framed.name=Steel Pipe (Framed) +tile.deco_pipe_framed_rusted.name=Rusty Steel Pipe (Framed) +tile.deco_pipe_framed_green.name=Green Steel Pipe (Framed) +tile.deco_pipe_framed_green_rusted.name=Rusty Green Steel Pipe (Framed) +tile.deco_pipe_framed_red.name=Red Steel Pipe (Framed) +tile.deco_pipe_framed_marked.name=Gas Pipe (Framed) +tile.deco_pipe_quad.name=Steel Pipes +tile.deco_pipe_quad_rusted.name=Rusty Steel Pipes +tile.deco_pipe_quad_green.name=Green Steel Pipes +tile.deco_pipe_quad_green_rusted.name=Rusty Green Steel Pipes +tile.deco_pipe_quad_red.name=Red Steel Pipes +tile.deco_pipe_quad_marked.name=Gas Pipes +tile.deco_pipe_rim.name=Steel Pipe (Rimmed) +tile.deco_pipe_rim_rusted.name=Rusty Steel Pipe (Rimmed) +tile.deco_pipe_rim_green.name=Green Steel Pipe (Rimmed) +tile.deco_pipe_rim_green_rusted.name=Rusty Green Steel Pipe (Rimmed) +tile.deco_pipe_rim_red.name=Red Steel Pipe (Rimmed) +tile.deco_pipe_rim_marked.name=Gas Pipe (Rimmed) +tile.ladder_aluminium.name=Aluminium Ladder +tile.ladder_cobalt.name=Cobalt Ladder +tile.ladder_copper.name=Copper Ladder +tile.ladder_gold.name=Golden Ladder +tile.ladder_iron.name=Iron Ladder +tile.ladder_lead.name=Lead Ladder +tile.ladder_steel.name=Steel Ladder +tile.ladder_sturdy.name=Sturdy Wooden Ladder +tile.ladder_titanium.name=Titanium Ladder +tile.ladder_tungsten.name=Tungsten Ladder +item.bismuth_tool.name=Magnetic Extractor +item.meltdown_tool.name=Dyatlov Instant Meltdown Applicator +item.coltass.name=Coltass +item.volcanic_pickaxe.name=Molten Pickaxe +item.bismuth_pickaxe.name=Bismuth Pickaxe +item.starmetal_pickaxe.name=Starmetal Pickaxe +item.starmetal_axe.name=Starmetal Axe +item.starmetal_hoe.name=Starmetal Hoe +item.starmetal_shovel.name=Starmetal Shovel +item.starmetal_sword.name=Starmetal Sword +item.cobalt_decorated_axe.name=Decorated Cobalt Axe +item.cobalt_decorated_hoe.name=Decorated Cobalt Hoe +item.cobalt_decorated_pickaxe.name=Decorated Cobalt Pickaxe +item.cobalt_decorated_shovel.name=Decorated Cobalt Shovel +item.cobalt_decorated_sword.name=Decorated Cobalt Sword +tile.large_vehicle_door.name=Large Vehicle Door +tile.water_door.name=Water Door +tile.qe_containment.name=QE Containment Door +tile.qe_sliding.name=QE Sliding Door +tile.fire_door.name=Fire Door +tile.small_hatch.name=Small Hatch +tile.round_airlock_door.name=Round Airlock Door +tile.secure_access_door.name=Secure Access Door +tile.sliding_seal_door.name=Sliding Seal Door +tile.transition_seal.name=Transition Seal +tile.ladder_red.name=Red Ladder +tile.ladder_red_top.name=Red Ladder Top +tile.railing_end_floor.name=Railing End (Floor) +tile.railing_end_self.name=Railing End (Self) +tile.railing_end_flipped_floor.name=Railing End Flipped (Floor) +tile.railing_end_flipped_self.name=Railing End Flipped (Self) +tile.railing_normal.name=Railing +tile.railing_bend.name=Railing Bend +item.assembly_nuke.name=Mini Nuke Shell +tile.bm_power_box.name=Black Mesa Power Switch +container.storageDrum=Nuclear Waste Disposal Drum +container.orbus=Heavy Antimatter Storage +container.bat9000=Big-Ass Tank 9000 +container.anvil=Tier %s Anvil +container.heaterFirebox=Firebox +container.furnaceSteel=Steel Furnace +item.charge_railgun.name=Deuterium Plasma Capsule +item.ducc.name=ducctile.cheater_virus_seed.name=Unstable Euphemium Schrabide Block \ No newline at end of file diff --git a/src/main/resources/assets/hbm/lang/zh_cn.lang b/src/main/resources/assets/hbm/lang/zh_cn.lang index 3212fb0641..ea11914554 100644 --- a/src/main/resources/assets/hbm/lang/zh_cn.lang +++ b/src/main/resources/assets/hbm/lang/zh_cn.lang @@ -232,6 +232,7 @@ chem.UF6=六氟化铀生产 chem.XENON=林德循环制氙 chem.XENON_OXY=增强林德循环制氙 chem.YELLOWCAKE=黄饼生产 +chem.FRACKSOL=压裂液生产 container.amsBase=AMS基座 [开发中] container.amsEmitter=AMS发射极 [开发中] container.amsLimiter=AMS稳能器 [开发中] @@ -262,6 +263,7 @@ container.factoryAdvanced=高级工厂 container.factoryTitanium=工厂 container.fluidtank=储罐 container.forceField=力场发生器 +container.frackingTower=水力压裂塔 container.fusionMultiblock=大型聚变反应堆 container.fusionaryWatzPlant=Watz聚变反应堆 container.gasCentrifuge=气体离心机 @@ -469,6 +471,7 @@ hbmfluid.oil=原油 hbmfluid.oxygen=液氧 hbmfluid.pain=Pandemonium(III) 钽铁溶液 hbmfluid.petroil=汽油 +hbmfluid.fracksol=压裂液 hbmfluid.petroleum=石油气 hbmfluid.plasma_bf=野火等离子体 hbmfluid.plasma_dt=氘-氚等离子体 @@ -883,6 +886,7 @@ item.canister_napalm.name=桶装凝固汽油B item.canister_naphtha.name=桶装石脑油 item.canister_oil.name=桶装原油 item.canister_petroil.name=桶装汽油 +item.canister_fracksol.name=桶装压裂液 item.canister_reoil.name=桶装再生油 item.canister_smear.name=桶装工业油 item.canned_asbestos.name=石棉罐头 @@ -1508,8 +1512,8 @@ item.ingot_schrabidium_fuel.name=Sa326燃料锭 item.ingot_schraranium.name=低丰度Sa326锭 item.ingot_semtex.name=塞姆汀塑胶炸药块 item.ingot_solinium.name=Sa327锭 -item.ingot_starmetal.name=§9星辉锭§r - +item.ingot_starmetal.name=§9星辉锭§r + item.ingot_steel.name=钢锭 item.ingot_steel_dusted.name=粉末钢锭 item.ingot_tantalium.name=钽锭 @@ -1914,7 +1918,7 @@ item.pellet_beryllium.name=铍慢化靶丸 item.pellet_buckshot.name=铅弹丸 item.pellet_canister.name=榴霰弹弹丸 item.pellet_charged.name=电离粒子 - + item.pellet_chlorophyte.name=叶绿弹丸 item.pellet_claws.name=金属利爪 item.pellet_cluster.name=爆炸弹丸 @@ -2290,6 +2294,7 @@ item.schrabidium_plate.name=Sa326胸甲 item.schrabidium_shovel.name=Sa326锹 item.schrabidium_sword.name=Sa326剑 item.scrap.name=废料 +item.scrap_oil.name=油性废料 item.screwdriver.name=螺丝刀 item.scrumpy.name=一瓶烈性苹果酒 item.security_boots.name=防护靴子 @@ -2817,6 +2822,8 @@ tile.dfc_emitter.name=DFC发射器 tile.dfc_injector.name=DFC燃料喷射器 tile.dfc_receiver.name=DFC接收器 tile.dfc_stabilizer.name=DFC稳定器 +tile.dirt_dead.name=泥渣 +tile.dirt_oily.name=油泥 tile.drill_pipe.name=钻杆 tile.dummy_block.name=虚拟方块 tile.dummy_port.name=虚拟方块[电力接口] @@ -2959,6 +2966,7 @@ tile.machine_fensu.name=FEnSU飞轮储能系统 tile.machine_flare.name=高架火炬 tile.machine_fluidtank.name=储罐 tile.machine_forcefield.name=力场发生器 +tile.machine_fracking_tower.name=水力压裂塔 tile.machine_gascent.name=气体离心机 tile.machine_generator.name=核反应堆[旧] tile.machine_geo.name=地热发电机 @@ -3050,6 +3058,7 @@ tile.oil_pipe.name=原油抽取管 tile.ore_aluminium.name=铝矿石 tile.ore_asbestos.name=石棉矿 tile.ore_australium.name=奥斯矿石 +tile.ore_bedrock_oil.name=基岩油层 tile.ore_beryllium.name=铍矿石 tile.ore_cinnebar.name=朱砂矿石 tile.ore_coal_oil.name=含油煤矿石 @@ -3115,6 +3124,11 @@ tile.pink_log.name=粉色原木 tile.pink_planks.name=粉色木板 tile.pink_slab.name=粉色木半砖 tile.pink_stairs.name=粉色木台阶 +tile.plant_dead_generic.name=死亡植物 +tile.plant_dead_grass.name=死亡植物 +tile.plant_dead_flower.name=死亡植物 +tile.plant_dead_big_flower.name=死亡植物 +tile.plant_dead_fern.name=死亡植物 tile.plasma.name=等离子 tile.plasma_heater.name=等离子加热器 tile.pole_satellite_receiver.name=卫星天线 @@ -3165,6 +3179,8 @@ tile.residue.name=云残留 tile.safe.name=保险箱 tile.sand_boron.name=硼砂 tile.sand_boron_layer.name=硼砂层 +tile.sand_dirty.name=油砂 +tile.sand_dirty_red.name=红色油砂 tile.sand_lead.name=铅砂 tile.sand_polonium.name=钋沙 tile.sand_uranium.name=铀沙 @@ -3196,6 +3212,7 @@ tile.steel_poles.name=钢杆 tile.steel_roof.name=钢天花顶 tile.steel_scaffold.name=钢脚手架 tile.steel_wall.name=钢墙 +tile.stone_cracked.name=破碎的石头 tile.stone_depth.name=深层岩石 tile.stone_gneiss.name=石墨页岩 tile.struct_iter_core.name=聚变反应堆核心组件 diff --git a/src/main/resources/assets/hbm/models/block/dirt_dead.json b/src/main/resources/assets/hbm/models/block/dirt_dead.json new file mode 100644 index 0000000000..481a68a83b --- /dev/null +++ b/src/main/resources/assets/hbm/models/block/dirt_dead.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "hbm:blocks/dirt_dead" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/block/dirt_oily.json b/src/main/resources/assets/hbm/models/block/dirt_oily.json new file mode 100644 index 0000000000..a349234d36 --- /dev/null +++ b/src/main/resources/assets/hbm/models/block/dirt_oily.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "hbm:blocks/dirt_oily" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/block/dirt_oily_alt.json b/src/main/resources/assets/hbm/models/block/dirt_oily_alt.json new file mode 100644 index 0000000000..c5800886b8 --- /dev/null +++ b/src/main/resources/assets/hbm/models/block/dirt_oily_alt.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "hbm:blocks/dirt_oily_alt" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/block/fluid_duct_neo.json b/src/main/resources/assets/hbm/models/block/fluid_duct_neo.json new file mode 100644 index 0000000000..9e62e0df96 --- /dev/null +++ b/src/main/resources/assets/hbm/models/block/fluid_duct_neo.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "hbm:blocks/fluid_duct_neo" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/block/machine_fracking_tower.json b/src/main/resources/assets/hbm/models/block/machine_fracking_tower.json new file mode 100644 index 0000000000..534c0de7b7 --- /dev/null +++ b/src/main/resources/assets/hbm/models/block/machine_fracking_tower.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "hbm:blocks/machine_fracking_tower" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/block/ore_bedrock_oil.json b/src/main/resources/assets/hbm/models/block/ore_bedrock_oil.json new file mode 100644 index 0000000000..7e867865be --- /dev/null +++ b/src/main/resources/assets/hbm/models/block/ore_bedrock_oil.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "hbm:blocks/ore_bedrock_oil" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/block/plant_dead_big_flower.json b/src/main/resources/assets/hbm/models/block/plant_dead_big_flower.json new file mode 100644 index 0000000000..99b4cea8b6 --- /dev/null +++ b/src/main/resources/assets/hbm/models/block/plant_dead_big_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "hbm:blocks/plant_dead_big_flower" + } +} diff --git a/src/main/resources/assets/hbm/models/block/plant_dead_fern.json b/src/main/resources/assets/hbm/models/block/plant_dead_fern.json new file mode 100644 index 0000000000..a353e67fd3 --- /dev/null +++ b/src/main/resources/assets/hbm/models/block/plant_dead_fern.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "hbm:blocks/plant_dead_fern" + } +} diff --git a/src/main/resources/assets/hbm/models/block/plant_dead_flower.json b/src/main/resources/assets/hbm/models/block/plant_dead_flower.json new file mode 100644 index 0000000000..7c27655b51 --- /dev/null +++ b/src/main/resources/assets/hbm/models/block/plant_dead_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "hbm:blocks/plant_dead_flower" + } +} diff --git a/src/main/resources/assets/hbm/models/block/plant_dead_generic.json b/src/main/resources/assets/hbm/models/block/plant_dead_generic.json new file mode 100644 index 0000000000..44a7b80c68 --- /dev/null +++ b/src/main/resources/assets/hbm/models/block/plant_dead_generic.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "hbm:blocks/plant_dead_generic" + } +} diff --git a/src/main/resources/assets/hbm/models/block/plant_dead_grass.json b/src/main/resources/assets/hbm/models/block/plant_dead_grass.json new file mode 100644 index 0000000000..0d9a3a1958 --- /dev/null +++ b/src/main/resources/assets/hbm/models/block/plant_dead_grass.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cross", + "textures": { + "cross": "hbm:blocks/plant_dead_grass" + } +} diff --git a/src/main/resources/assets/hbm/models/block/sand_dirty.json b/src/main/resources/assets/hbm/models/block/sand_dirty.json new file mode 100644 index 0000000000..f584ebe468 --- /dev/null +++ b/src/main/resources/assets/hbm/models/block/sand_dirty.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "hbm:blocks/sand_dirty" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/block/sand_dirty_red.json b/src/main/resources/assets/hbm/models/block/sand_dirty_red.json new file mode 100644 index 0000000000..8eb57b2844 --- /dev/null +++ b/src/main/resources/assets/hbm/models/block/sand_dirty_red.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "hbm:blocks/sand_dirty_red" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/block/stone_cracked.json b/src/main/resources/assets/hbm/models/block/stone_cracked.json new file mode 100644 index 0000000000..155720d760 --- /dev/null +++ b/src/main/resources/assets/hbm/models/block/stone_cracked.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "hbm:blocks/stone_cracked" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/blocks/pipe_neo.obj b/src/main/resources/assets/hbm/models/blocks/pipe_neo.obj new file mode 100644 index 0000000000..2273b5e223 --- /dev/null +++ b/src/main/resources/assets/hbm/models/blocks/pipe_neo.obj @@ -0,0 +1,664 @@ +# Blender v2.79 (sub 0) OBJ File: 'pipe_neo.blend' +# www.blender.org +o pZ +v 0.187500 0.000000 -0.500000 +v 0.132582 -0.132582 -0.500000 +v -0.000000 -0.187500 -0.500000 +v -0.132583 -0.132582 -0.500000 +v -0.187500 0.000000 -0.500000 +v -0.132583 0.132583 -0.500000 +v -0.000000 0.187500 -0.500000 +v 0.132582 0.132583 -0.500000 +v -0.132582 0.132583 0.000000 +v 0.000000 0.187500 0.000000 +v -0.132582 -0.132583 0.000000 +v -0.187500 0.000000 0.000000 +v 0.132582 -0.132583 0.000000 +v 0.000000 -0.187500 0.000000 +v 0.132582 0.132583 0.000000 +v 0.187500 -0.000000 0.000000 +vt 0.125000 1.000000 +vt 0.000000 0.500000 +vt 0.125000 0.500000 +vt 0.125000 1.000000 +vt 0.000000 0.500000 +vt 0.125000 0.500000 +vt 0.125000 1.000000 +vt 0.000000 0.500000 +vt 0.125000 0.500000 +vt 0.250000 1.000000 +vt 0.250000 0.500000 +vt 0.250000 0.500000 +vt 0.250000 0.500000 +vt 0.250000 1.000000 +vt 0.125000 0.500000 +vt 0.250000 0.500000 +vt 0.125000 1.000000 +vt 0.000000 0.500000 +vt 0.305394 0.319606 +vt 0.250674 0.187500 +vt 0.624326 0.187500 +vt -0.000000 1.000000 +vt -0.000000 1.000000 +vt -0.000000 1.000000 +vt 0.250000 1.000000 +vt 0.250000 1.000000 +vt -0.000000 1.000000 +vt 0.305394 0.055394 +vt 0.437500 0.000674 +vt 0.569606 0.055394 +vt 0.569606 0.319606 +vt 0.437500 0.374326 +vn -0.3827 0.9239 0.0000 +vn -0.9239 -0.3827 0.0000 +vn 0.3827 -0.9239 -0.0000 +vn 0.3827 0.9239 0.0000 +vn -0.9239 0.3827 0.0000 +vn -0.3827 -0.9239 -0.0000 +vn 0.9239 -0.3827 -0.0000 +vn 0.9239 0.3827 -0.0000 +vn 0.0000 0.0000 -1.0000 +s off +f 7/1/1 9/2/1 10/3/1 +f 5/4/2 11/5/2 12/6/2 +f 3/7/3 13/8/3 14/9/3 +f 8/10/4 10/3/4 15/11/4 +f 9/12/5 5/4/5 12/6/5 +f 11/13/6 3/7/6 14/9/6 +f 2/14/7 16/15/7 13/16/7 +f 1/17/8 15/18/8 16/15/8 +f 8/19/9 1/20/9 5/21/9 +f 7/1/1 6/22/1 9/2/1 +f 5/4/2 4/23/2 11/5/2 +f 3/7/3 2/24/3 13/8/3 +f 8/10/4 7/1/4 10/3/4 +f 9/12/5 6/25/5 5/4/5 +f 11/13/6 4/26/6 3/7/6 +f 2/14/7 1/17/7 16/15/7 +f 1/17/8 8/27/8 15/18/8 +f 1/20/9 2/28/9 3/29/9 +f 3/29/9 4/30/9 1/20/9 +f 4/30/9 5/21/9 1/20/9 +f 5/21/9 6/31/9 7/32/9 +f 7/32/9 8/19/9 5/21/9 +o pX +v 0.500000 0.000000 0.187500 +v 0.500000 -0.132582 0.132582 +v 0.500000 -0.187500 0.000000 +v 0.500000 -0.132582 -0.132582 +v 0.500000 0.000000 -0.187500 +v 0.500000 0.132583 -0.132582 +v 0.500000 0.187500 0.000000 +v 0.500000 0.132583 0.132582 +v 0.000000 -0.000000 0.187500 +v 0.000000 0.132583 0.132582 +v 0.000000 -0.187500 0.000000 +v 0.000000 -0.132583 0.132582 +v 0.000000 0.000000 -0.187500 +v 0.000000 -0.132583 -0.132582 +v 0.000000 0.187500 0.000000 +v 0.000000 0.132583 -0.132582 +vt 0.125000 1.000000 +vt 0.000000 0.500000 +vt 0.125000 0.500000 +vt 0.125000 0.500000 +vt -0.000000 1.000000 +vt 0.000000 0.500000 +vt 0.125000 1.000000 +vt 0.000000 0.500000 +vt 0.125000 0.500000 +vt 0.250000 1.000000 +vt 0.250000 0.500000 +vt 0.250000 1.000000 +vt 0.250000 0.500000 +vt 0.250000 1.000000 +vt 0.250000 0.500000 +vt 0.250000 1.000000 +vt 0.125000 0.500000 +vt 0.250000 0.500000 +vt 0.125000 1.000000 +vt 0.000000 0.500000 +vt 0.305394 0.319606 +vt 0.250674 0.187500 +vt 0.624326 0.187500 +vt -0.000000 1.000000 +vt 0.125000 1.000000 +vt -0.000000 1.000000 +vt -0.000000 1.000000 +vt 0.305394 0.055394 +vt 0.437500 0.000674 +vt 0.569606 0.055394 +vt 0.569606 0.319606 +vt 0.437500 0.374326 +vn -0.0000 0.9239 -0.3827 +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.3827 -0.9239 +vn 0.0000 -0.9239 -0.3827 +vn 0.0000 -0.3827 0.9239 +vn -0.0000 0.3827 0.9239 +vn 1.0000 0.0000 0.0000 +s off +f 23/33/10 32/34/10 31/35/10 +f 29/36/11 20/37/11 30/38/11 +f 19/39/12 28/40/12 27/41/12 +f 24/42/13 31/35/13 26/43/13 +f 22/44/14 29/36/14 32/45/14 +f 20/46/15 27/41/15 30/47/15 +f 18/48/16 25/49/16 28/50/16 +f 17/51/17 26/52/17 25/49/17 +f 24/53/18 17/54/18 21/55/18 +f 23/33/10 22/56/10 32/34/10 +f 29/36/11 21/57/11 20/37/11 +f 19/39/12 18/58/12 28/40/12 +f 24/42/13 23/33/13 31/35/13 +f 22/44/14 21/57/14 29/36/14 +f 20/46/15 19/39/15 27/41/15 +f 18/48/16 17/51/16 25/49/16 +f 17/51/17 24/59/17 26/52/17 +f 17/54/18 18/60/18 19/61/18 +f 19/61/18 20/62/18 17/54/18 +f 20/62/18 21/55/18 17/54/18 +f 21/55/18 22/63/18 23/64/18 +f 23/64/18 24/53/18 21/55/18 +o nZ +v 0.187500 -0.000000 0.500000 +v 0.132583 -0.132583 0.500000 +v 0.000000 -0.187500 0.500000 +v -0.132582 -0.132583 0.500000 +v -0.187500 -0.000000 0.500000 +v -0.132582 0.132582 0.500000 +v 0.000000 0.187500 0.500000 +v 0.132583 0.132582 0.500000 +v -0.132582 0.132583 0.000000 +v 0.000000 0.187500 0.000000 +v -0.132582 -0.132583 0.000000 +v -0.187500 0.000000 0.000000 +v 0.132582 -0.132583 0.000000 +v 0.000000 -0.187500 0.000000 +v 0.132582 0.132583 0.000000 +v 0.187500 -0.000000 0.000000 +vt 0.624326 0.187500 +vt 0.437500 0.374326 +vt 0.250674 0.187500 +vt 0.125000 0.500000 +vt -0.000000 -0.000000 +vt 0.125000 -0.000000 +vt 0.250000 0.500000 +vt 0.250000 -0.000000 +vt 0.250000 -0.000000 +vt 0.125000 0.500000 +vt 0.125000 -0.000000 +vt 0.250000 0.500000 +vt 0.125000 -0.000000 +vt 0.250000 -0.000000 +vt 0.250000 0.500000 +vt 0.125000 0.000000 +vt 0.250000 0.000000 +vt -0.000000 -0.000000 +vt 0.125000 0.500000 +vt -0.000000 -0.000000 +vt 0.125000 0.500000 +vt -0.000000 0.000000 +vt 0.437500 0.000674 +vt 0.569606 0.055394 +vt 0.569606 0.319606 +vt 0.305394 0.319606 +vt 0.305394 0.055394 +vt 0.000000 0.500000 +vt 0.250000 0.500000 +vt 0.000000 0.500000 +vt 0.000000 0.500000 +vt 0.000000 0.500000 +vn 0.0000 0.0000 1.0000 +vn 0.9239 0.3827 0.0000 +vn 0.9239 -0.3827 -0.0000 +vn -0.3827 -0.9239 -0.0000 +vn -0.9239 0.3827 0.0000 +vn 0.3827 0.9239 0.0000 +vn 0.3827 -0.9239 -0.0000 +vn -0.9239 -0.3827 0.0000 +vn -0.3827 0.9239 0.0000 +s off +f 33/65/19 39/66/19 37/67/19 +f 48/68/20 40/69/20 33/70/20 +f 45/71/21 33/70/21 34/72/21 +f 36/73/22 46/74/22 35/75/22 +f 41/76/23 37/77/23 38/78/23 +f 47/79/24 39/80/24 40/81/24 +f 46/74/25 34/82/25 35/75/25 +f 44/83/26 36/84/26 37/77/26 +f 42/85/27 38/86/27 39/80/27 +f 35/87/19 34/88/19 33/65/19 +f 33/65/19 40/89/19 39/66/19 +f 39/66/19 38/90/19 37/67/19 +f 37/67/19 36/91/19 35/87/19 +f 35/87/19 33/65/19 37/67/19 +f 48/68/20 47/92/20 40/69/20 +f 45/71/21 48/68/21 33/70/21 +f 36/73/22 43/93/22 46/74/22 +f 41/76/23 44/83/23 37/77/23 +f 47/79/24 42/85/24 39/80/24 +f 46/74/25 45/94/25 34/82/25 +f 44/83/26 43/95/26 36/84/26 +f 42/85/27 41/96/27 38/86/27 +o nX +v -0.500000 -0.000000 0.187500 +v -0.500000 -0.132583 0.132583 +v -0.500000 -0.187500 0.000000 +v -0.500000 -0.132583 -0.132582 +v -0.500000 -0.000000 -0.187500 +v -0.500000 0.132582 -0.132582 +v -0.500000 0.187500 0.000000 +v -0.500000 0.132582 0.132583 +v 0.000000 -0.000000 0.187500 +v 0.000000 0.132583 0.132582 +v 0.000000 -0.187500 0.000000 +v 0.000000 -0.132583 0.132582 +v 0.000000 0.000000 -0.187500 +v 0.000000 -0.132583 -0.132582 +v 0.000000 0.187500 0.000000 +v 0.000000 0.132583 -0.132582 +vt 0.437500 0.000674 +vt 0.624326 0.187500 +vt 0.437500 0.374326 +vt 0.125000 0.000000 +vt 0.000000 0.500000 +vt -0.000000 0.000000 +vt 0.125000 0.500000 +vt -0.000000 -0.000000 +vt 0.125000 -0.000000 +vt 0.125000 0.500000 +vt -0.000000 -0.000000 +vt 0.125000 -0.000000 +vt 0.250000 0.500000 +vt 0.250000 0.000000 +vt 0.250000 0.500000 +vt 0.250000 -0.000000 +vt 0.250000 0.500000 +vt 0.250000 -0.000000 +vt 0.250000 0.500000 +vt 0.125000 -0.000000 +vt 0.250000 -0.000000 +vt 0.125000 0.500000 +vt -0.000000 -0.000000 +vt 0.569606 0.055394 +vt 0.569606 0.319606 +vt 0.305394 0.319606 +vt 0.250674 0.187500 +vt 0.305394 0.055394 +vt 0.125000 0.500000 +vt 0.000000 0.500000 +vt 0.000000 0.500000 +vt 0.000000 0.500000 +vn -1.0000 0.0000 0.0000 +vn -0.0000 0.9239 -0.3827 +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.3827 -0.9239 +vn 0.0000 -0.9239 -0.3827 +vn 0.0000 -0.3827 0.9239 +vn -0.0000 0.3827 0.9239 +s off +f 51/97/28 49/98/28 55/99/28 +f 55/100/29 64/101/29 54/102/29 +f 61/103/30 52/104/30 53/105/30 +f 59/106/31 50/107/31 51/108/31 +f 58/109/32 55/100/32 56/110/32 +f 64/111/33 53/105/33 54/112/33 +f 62/113/34 51/108/34 52/114/34 +f 60/115/35 49/116/35 50/117/35 +f 57/118/36 56/119/36 49/116/36 +f 51/97/28 50/120/28 49/98/28 +f 49/98/28 56/121/28 55/99/28 +f 55/99/28 54/122/28 53/123/28 +f 53/123/28 52/124/28 55/99/28 +f 52/124/28 51/97/28 55/99/28 +f 55/100/29 63/125/29 64/101/29 +f 61/103/30 62/126/30 52/104/30 +f 59/106/31 60/127/31 50/107/31 +f 58/109/32 63/125/32 55/100/32 +f 64/111/33 61/103/33 53/105/33 +f 62/113/34 59/106/34 51/108/34 +f 60/115/35 57/118/35 49/116/35 +f 57/118/36 58/128/36 56/119/36 +o pY +v -0.000000 0.500000 -0.187500 +v -0.132583 0.500000 -0.132582 +v -0.187500 0.500000 0.000000 +v -0.132583 0.500000 0.132582 +v 0.000000 0.500000 0.187500 +v 0.132583 0.500000 0.132582 +v 0.187500 0.500000 0.000000 +v 0.132583 0.500000 -0.132582 +v -0.000000 0.000000 -0.187500 +v 0.132583 0.000000 -0.132582 +v -0.187500 0.000000 0.000000 +v -0.132583 0.000000 -0.132582 +v 0.000000 0.000000 0.187500 +v -0.132583 0.000000 0.132582 +v 0.187500 0.000000 0.000000 +v 0.132583 0.000000 0.132582 +vt 0.125000 1.000000 +vt 0.000000 0.500000 +vt 0.125000 0.500000 +vt 0.125000 1.000000 +vt 0.000000 0.500000 +vt 0.125000 0.500000 +vt 0.125000 1.000000 +vt 0.000000 0.500000 +vt 0.125000 0.500000 +vt 0.250000 1.000000 +vt 0.250000 0.500000 +vt 0.250000 1.000000 +vt 0.250000 0.500000 +vt 0.250000 1.000000 +vt 0.250000 0.500000 +vt 0.250000 1.000000 +vt 0.125000 0.500000 +vt 0.250000 0.500000 +vt 0.125000 1.000000 +vt 0.000000 0.500000 +vt 0.624326 0.187500 +vt 0.437500 0.374326 +vt 0.250674 0.187500 +vt -0.000000 1.000000 +vt -0.000000 1.000000 +vt -0.000000 1.000000 +vt -0.000000 1.000000 +vt 0.305394 0.055394 +vt 0.437500 0.000674 +vt 0.569606 0.055394 +vt 0.569606 0.319606 +vt 0.305394 0.319606 +vn 0.9239 0.0000 0.3827 +vn -0.3827 0.0000 0.9239 +vn -0.9239 0.0000 -0.3827 +vn 0.9239 0.0000 -0.3827 +vn 0.3827 0.0000 0.9239 +vn -0.9239 0.0000 0.3827 +vn -0.3827 0.0000 -0.9239 +vn 0.3827 0.0000 -0.9239 +vn 0.0000 1.0000 0.0000 +s off +f 71/129/37 80/130/37 79/131/37 +f 69/132/38 78/133/38 77/134/38 +f 67/135/39 76/136/39 75/137/39 +f 72/138/40 79/131/40 74/139/40 +f 70/140/41 77/134/41 80/141/41 +f 68/142/42 75/137/42 78/143/42 +f 66/144/43 73/145/43 76/146/43 +f 65/147/44 74/148/44 73/145/44 +f 69/149/45 71/150/45 65/151/45 +f 71/129/37 70/152/37 80/130/37 +f 69/132/38 68/153/38 78/133/38 +f 67/135/39 66/154/39 76/136/39 +f 72/138/40 71/129/40 79/131/40 +f 70/140/41 69/132/41 77/134/41 +f 68/142/42 67/135/42 75/137/42 +f 66/144/43 65/147/43 73/145/43 +f 65/147/44 72/155/44 74/148/44 +f 65/151/45 66/156/45 69/149/45 +f 66/156/45 67/157/45 69/149/45 +f 67/157/45 68/158/45 69/149/45 +f 69/149/45 70/159/45 71/150/45 +f 71/150/45 72/160/45 65/151/45 +o nnn +v 0.000000 -0.187500 0.000000 +v -0.132582 -0.132583 0.000000 +v -0.187500 -0.000000 0.000000 +v -0.132582 -0.000000 0.132583 +v 0.000000 -0.000000 0.187500 +v 0.000000 -0.132583 0.132583 +vt 0.250000 0.500000 +vt 0.375000 0.375000 +vt 0.375000 0.625000 +vt 0.500000 0.500000 +vt 0.625000 0.375000 +vt 0.625000 0.625000 +vn -0.3574 -0.8629 0.3574 +vn -0.3574 -0.3574 0.8629 +vn -0.5774 -0.5774 0.5774 +vn -0.8629 -0.3574 0.3574 +s off +f 81/161/46 86/162/46 82/163/46 +f 84/164/47 86/162/47 85/165/47 +f 86/162/48 84/164/48 82/163/48 +f 82/163/49 84/164/49 83/166/49 +o nnp +v 0.000000 -0.187500 0.000000 +v -0.132582 -0.132583 0.000000 +v -0.187500 -0.000000 0.000000 +v 0.000000 -0.000000 -0.187500 +v -0.132582 -0.000000 -0.132583 +v 0.000000 -0.132583 -0.132583 +vt 0.250000 0.500000 +vt 0.375000 0.375000 +vt 0.375000 0.625000 +vt 0.625000 0.625000 +vt 0.500000 0.500000 +vt 0.625000 0.375000 +vn -0.3574 -0.8629 -0.3574 +vn -0.3574 -0.3574 -0.8629 +vn -0.5774 -0.5774 -0.5774 +vn -0.8629 -0.3574 -0.3574 +s off +f 87/167/50 88/168/50 92/169/50 +f 90/170/51 92/169/51 91/171/51 +f 92/169/52 88/168/52 91/171/52 +f 88/168/53 89/172/53 91/171/53 +o pnp +v 0.187500 -0.000000 0.000000 +v 0.132583 -0.132583 0.000000 +v 0.000000 -0.187500 0.000000 +v 0.132583 -0.000000 -0.132583 +v 0.000000 -0.000000 -0.187500 +v 0.000000 -0.132583 -0.132583 +vt 0.375000 0.625000 +vt 0.250000 0.500000 +vt 0.375000 0.375000 +vt 0.500000 0.500000 +vt 0.625000 0.375000 +vt 0.625000 0.625000 +vn 0.3574 -0.8629 -0.3574 +vn 0.3574 -0.3574 -0.8629 +vn 0.5774 -0.5774 -0.5774 +vn 0.8629 -0.3574 -0.3574 +s off +f 94/173/54 95/174/54 98/175/54 +f 96/176/55 98/175/55 97/177/55 +f 98/175/56 96/176/56 94/173/56 +f 93/178/57 94/173/57 96/176/57 +o pnn +v 0.187500 -0.000000 0.000000 +v 0.132583 -0.132583 0.000000 +v 0.000000 -0.187500 0.000000 +v 0.000000 -0.000000 0.187500 +v 0.132583 -0.000000 0.132583 +v 0.000000 -0.132583 0.132583 +vt 0.375000 0.375000 +vt 0.375000 0.625000 +vt 0.250000 0.500000 +vt 0.625000 0.375000 +vt 0.500000 0.500000 +vt 0.625000 0.625000 +vn 0.3574 -0.8629 0.3574 +vn 0.8629 -0.3574 0.3574 +vn 0.5774 -0.5774 0.5774 +vn 0.3574 -0.3574 0.8629 +s off +f 100/179/58 104/180/58 101/181/58 +f 99/182/59 103/183/59 100/179/59 +f 104/180/60 100/179/60 103/183/60 +f 103/183/61 102/184/61 104/180/61 +o ppn +v 0.187500 -0.000000 0.000000 +v 0.000000 0.187500 0.000000 +v 0.132583 0.132582 0.000000 +v 0.000000 -0.000000 0.187500 +v 0.132583 -0.000000 0.132583 +v 0.000000 0.132582 0.132583 +vt 0.625000 0.375000 +vt 0.500000 0.500000 +vt 0.375000 0.375000 +vt 0.250000 0.500000 +vt 0.375000 0.625000 +vt 0.625000 0.625000 +vn 0.3574 0.3574 0.8629 +vn 0.3574 0.8629 0.3574 +vn 0.8629 0.3574 0.3574 +vn 0.5774 0.5774 0.5774 +s off +f 108/185/62 109/186/62 110/187/62 +f 106/188/63 110/187/63 107/189/63 +f 107/189/64 109/186/64 105/190/64 +f 109/186/65 107/189/65 110/187/65 +o npn +v -0.187500 -0.000000 0.000000 +v -0.132582 0.132582 0.000000 +v 0.000000 0.187500 0.000000 +v -0.132582 -0.000000 0.132583 +v 0.000000 -0.000000 0.187500 +v 0.000000 0.132582 0.132583 +vt 0.625000 0.375000 +vt 0.500000 0.500000 +vt 0.375000 0.375000 +vt 0.375000 0.625000 +vt 0.625000 0.625000 +vt 0.250000 0.500000 +vn -0.8629 0.3574 0.3574 +vn -0.5774 0.5774 0.5774 +vn -0.3574 0.3574 0.8629 +vn -0.3574 0.8629 0.3574 +s off +f 111/191/66 114/192/66 112/193/66 +f 114/192/67 116/194/67 112/193/67 +f 114/192/68 115/195/68 116/194/68 +f 112/193/69 116/194/69 113/196/69 +o npp +v -0.187500 -0.000000 0.000000 +v -0.132582 0.132582 0.000000 +v 0.000000 0.187500 0.000000 +v 0.000000 -0.000000 -0.187500 +v -0.132582 -0.000000 -0.132583 +v 0.000000 0.132582 -0.132583 +vt 0.625000 0.375000 +vt 0.500000 0.500000 +vt 0.375000 0.375000 +vt 0.625000 0.625000 +vt 0.375000 0.625000 +vt 0.250000 0.500000 +vn -0.3574 0.3574 -0.8629 +vn -0.8629 0.3574 -0.3574 +vn -0.5774 0.5774 -0.5774 +vn -0.3574 0.8629 -0.3574 +s off +f 120/197/70 121/198/70 122/199/70 +f 117/200/71 118/201/71 121/198/71 +f 121/198/72 118/201/72 122/199/72 +f 118/201/73 119/202/73 122/199/73 +o ppp +v 0.187500 -0.000000 0.000000 +v 0.000000 0.187500 0.000000 +v 0.132583 0.132582 0.000000 +v 0.132583 -0.000000 -0.132583 +v 0.000000 -0.000000 -0.187500 +v 0.000000 0.132582 -0.132583 +vt 0.500000 0.500000 +vt 0.625000 0.625000 +vt 0.375000 0.625000 +vt 0.250000 0.500000 +vt 0.375000 0.375000 +vt 0.625000 0.375000 +vn 0.3574 0.3574 -0.8629 +vn 0.3574 0.8629 -0.3574 +vn 0.5774 0.5774 -0.5774 +vn 0.8629 0.3574 -0.3574 +s off +f 126/203/74 127/204/74 128/205/74 +f 124/206/75 125/207/75 128/205/75 +f 128/205/76 125/207/76 126/203/76 +f 125/207/77 123/208/77 126/203/77 +o nY +v -0.000000 -0.500000 -0.187500 +v -0.132583 -0.500000 -0.132582 +v -0.187500 -0.500000 0.000000 +v -0.132583 -0.500000 0.132582 +v 0.000000 -0.500000 0.187500 +v 0.132583 -0.500000 0.132582 +v 0.187500 -0.500000 0.000000 +v 0.132583 -0.500000 -0.132582 +v -0.000000 0.000000 -0.187500 +v 0.132583 0.000000 -0.132582 +v -0.187500 0.000000 0.000000 +v -0.132583 0.000000 -0.132582 +v 0.000000 0.000000 0.187500 +v -0.132583 0.000000 0.132582 +v 0.187500 0.000000 0.000000 +v 0.132583 0.000000 0.132582 +vt 0.305394 0.055394 +vt 0.437500 0.000674 +vt 0.437500 0.374326 +vt 0.125000 0.500000 +vt -0.000000 0.000000 +vt 0.125000 0.000000 +vt 0.125000 0.500000 +vt -0.000000 -0.000000 +vt 0.125000 -0.000000 +vt 0.125000 0.500000 +vt -0.000000 -0.000000 +vt 0.125000 -0.000000 +vt 0.250000 0.500000 +vt 0.250000 0.000000 +vt 0.250000 0.500000 +vt 0.250000 -0.000000 +vt 0.250000 0.500000 +vt 0.250000 -0.000000 +vt 0.250000 0.500000 +vt 0.125000 -0.000000 +vt 0.250000 -0.000000 +vt 0.125000 0.500000 +vt -0.000000 -0.000000 +vt 0.569606 0.055394 +vt 0.624326 0.187500 +vt 0.569606 0.319606 +vt 0.305394 0.319606 +vt 0.250674 0.187500 +vt 0.000000 0.500000 +vt 0.000000 0.500000 +vt 0.000000 0.500000 +vt 0.000000 0.500000 +vn 0.0000 -1.0000 0.0000 +vn 0.9239 0.0000 0.3827 +vn -0.3827 0.0000 0.9239 +vn -0.9239 0.0000 -0.3827 +vn 0.9239 0.0000 -0.3827 +vn 0.3827 0.0000 0.9239 +vn -0.9239 0.0000 0.3827 +vn -0.3827 0.0000 -0.9239 +vn 0.3827 0.0000 -0.9239 +s off +f 132/209/78 131/210/78 135/211/78 +f 143/212/79 134/213/79 135/214/79 +f 141/215/80 132/216/80 133/217/80 +f 139/218/81 130/219/81 131/220/81 +f 138/221/82 135/214/82 136/222/82 +f 144/223/83 133/217/83 134/224/83 +f 142/225/84 131/220/84 132/226/84 +f 140/227/85 129/228/85 130/229/85 +f 137/230/86 136/231/86 129/228/86 +f 131/210/78 130/232/78 135/211/78 +f 130/232/78 129/233/78 135/211/78 +f 129/233/78 136/234/78 135/211/78 +f 135/211/78 134/235/78 133/236/78 +f 133/236/78 132/209/78 135/211/78 +f 143/212/79 144/237/79 134/213/79 +f 141/215/80 142/238/80 132/216/80 +f 139/218/81 140/239/81 130/219/81 +f 138/221/82 143/212/82 135/214/82 +f 144/223/83 141/215/83 133/217/83 +f 142/225/84 139/218/84 131/220/84 +f 140/227/85 137/230/85 129/228/85 +f 137/230/86 138/240/86 136/231/86 diff --git a/src/main/resources/assets/hbm/models/fracking_tower.obj b/src/main/resources/assets/hbm/models/fracking_tower.obj new file mode 100644 index 0000000000..be4706e829 --- /dev/null +++ b/src/main/resources/assets/hbm/models/fracking_tower.obj @@ -0,0 +1,3073 @@ +# Blender v2.79 (sub 0) OBJ File: 'fracking_tower.blend' +# www.blender.org +o Cube_Cube.001 +v 1.625000 0.000000 3.375000 +v 1.625000 0.250000 3.375000 +v 1.625000 0.000000 1.625000 +v 1.625000 0.250000 1.625000 +v 3.375000 0.000000 3.375000 +v 3.375000 0.250000 3.375000 +v 3.375000 0.000000 1.625000 +v 3.375000 0.250000 1.625000 +v 1.750000 0.250000 3.250000 +v 1.750000 0.250000 1.750000 +v 3.250000 0.250000 3.250000 +v 3.250000 0.250000 1.750000 +v 1.625000 2.250000 3.375000 +v 1.625000 2.500000 3.375000 +v 1.625000 2.250000 1.625000 +v 1.625000 2.500000 1.625000 +v 3.375000 2.250000 3.375000 +v 3.375000 2.500000 3.375000 +v 3.375000 2.250000 1.625000 +v 3.375000 2.500000 1.625000 +v 1.750000 2.250000 3.250000 +v 1.750000 2.250000 1.750000 +v 3.250000 2.250000 1.750000 +v 3.250000 2.250000 3.250000 +v -3.500000 2.500000 3.500000 +v -3.500000 4.000000 3.500000 +v -3.500000 2.500000 -3.500000 +v -3.500000 4.000000 -3.500000 +v 3.500000 2.500000 3.500000 +v 3.500000 4.000000 3.500000 +v 3.500000 2.500000 -3.500000 +v 3.500000 4.000000 -3.500000 +v -2.500000 4.000000 2.500000 +v 2.500000 4.000000 2.500000 +v -2.500000 4.000000 -2.500000 +v 2.500000 4.000000 -2.500000 +v -2.500000 4.250000 -2.500000 +v -2.500000 4.250000 2.500000 +v 2.500000 4.250000 2.500000 +v 2.500000 4.250000 -2.500000 +v 2.500000 4.250000 -2.250000 +v 2.250000 4.250000 -2.250000 +v 2.500000 4.250000 -2.500000 +v 2.250000 4.250000 -2.500000 +v 1.000000 24.250000 -0.750000 +v 0.750000 24.250000 -0.750000 +v 1.000000 24.250000 -1.000000 +v 0.750000 24.250000 -1.000000 +v 2.500000 4.250000 2.500000 +v 2.250000 4.250000 2.500000 +v 2.500000 4.250000 2.250000 +v 2.250000 4.250000 2.250000 +v 1.000000 24.250000 1.000000 +v 0.750000 24.250000 1.000000 +v 1.000000 24.250000 0.750000 +v 0.750000 24.250000 0.750000 +v -2.250000 4.250000 -2.250000 +v -2.500000 4.250000 -2.250000 +v -2.250000 4.250000 -2.500000 +v -2.500000 4.250000 -2.500000 +v -0.750000 24.250000 -0.750000 +v -1.000000 24.250000 -0.750000 +v -0.750000 24.250000 -1.000000 +v -1.000000 24.250000 -1.000000 +v -2.250000 4.250000 2.500000 +v -2.500000 4.250000 2.500000 +v -2.250000 4.250000 2.250000 +v -2.500000 4.250000 2.250000 +v -0.750000 24.250000 1.000000 +v -1.000000 24.250000 1.000000 +v -0.750000 24.250000 0.750000 +v -1.000000 24.250000 0.750000 +v 1.125000 24.250000 -1.125000 +v 1.125000 24.250000 1.125000 +v -1.125000 24.250000 -1.125000 +v -1.125000 24.250000 1.125000 +v 1.125000 24.500000 -1.125000 +v 1.125000 24.500000 1.125000 +v -1.125000 24.500000 -1.125000 +v -1.125000 24.500000 1.125000 +v 1.837500 12.375000 -1.775000 +v 1.987500 10.375000 -1.924999 +v 2.137500 8.375000 -2.075000 +v 2.287500 6.375000 -2.225000 +v 2.287500 6.125000 -2.225000 +v 2.137500 8.125000 -2.075000 +v 1.987500 10.125000 -1.924999 +v 1.837500 12.125000 -1.775000 +v 1.687500 14.125000 -1.625000 +v 1.537500 16.125000 -1.474999 +v 1.387500 18.125000 -1.325000 +v 1.237500 20.125000 -1.174999 +v 1.087500 22.125000 -1.025000 +v 1.087500 22.125000 1.025000 +v 1.237500 20.125000 1.175000 +v 1.387500 18.125000 1.325001 +v 1.537500 16.125000 1.475000 +v 1.687500 14.125000 1.625000 +v 1.837500 12.125000 1.775000 +v 1.987500 10.125000 1.925000 +v 2.137500 8.125000 2.075000 +v 2.287500 6.125000 2.225000 +v 1.687500 14.375000 -1.625000 +v 1.537500 16.375000 -1.474999 +v 1.387500 18.375000 -1.325000 +v 1.237500 20.375000 -1.174999 +v 1.087500 22.375000 -1.025000 +v 1.087500 22.375000 1.025000 +v 1.237500 20.375000 1.175000 +v 1.387500 18.375000 1.325001 +v 1.537500 16.375000 1.475000 +v 1.687500 14.375000 1.625000 +v 1.837500 12.375000 1.775000 +v 1.987500 10.375000 1.925000 +v 2.137500 8.375000 2.075000 +v 2.287500 6.375000 2.225000 +v 1.262500 18.375000 -1.325000 +v 1.262500 18.125000 -1.325000 +v 1.712500 12.125000 1.775000 +v 1.712500 12.375000 1.775000 +v 1.712500 12.375000 -1.775000 +v 1.712500 12.125000 -1.775000 +v 2.162500 6.125000 2.225000 +v 2.162500 6.375000 2.225000 +v 2.162500 6.375000 -2.225000 +v 2.162500 6.125000 -2.225000 +v 1.112500 20.125000 1.175000 +v 1.112500 20.375000 1.175000 +v 1.112500 20.375000 -1.174999 +v 1.112500 20.125000 -1.174999 +v 1.562500 14.125000 1.625000 +v 1.562500 14.375000 1.625000 +v 1.562500 14.375000 -1.625000 +v 1.562500 14.125000 -1.625000 +v 2.012500 8.125000 2.075000 +v 2.012500 8.375000 2.075000 +v 2.012500 8.375000 -2.075000 +v 2.012500 8.125000 -2.075000 +v 0.962500 22.125000 1.025000 +v 0.962500 22.375000 1.025000 +v 0.962500 22.375000 -1.025000 +v 0.962500 22.125000 -1.025000 +v 1.862500 10.375000 1.925000 +v 1.862500 10.375000 -1.924999 +v 1.412500 16.375000 1.475000 +v 1.412500 16.375000 -1.474999 +v 1.262500 18.375000 1.325001 +v 1.262500 18.125000 1.325001 +v 1.412500 16.125000 1.475000 +v 1.412500 16.125000 -1.474999 +v 1.862500 10.125000 1.925000 +v 1.862500 10.125000 -1.924999 +v 0.937500 24.124001 -0.875000 +v 0.937500 24.124001 0.875000 +v 0.937500 24.249001 -0.875000 +v 0.937500 24.249001 0.875000 +v 0.812500 24.124001 -0.875000 +v 0.812500 24.124001 0.875000 +v 0.812500 24.249001 -0.875000 +v 0.812500 24.249001 0.875000 +v 2.312500 4.250000 -2.375000 +v 2.312500 4.250000 2.375000 +v 2.437500 4.250000 -2.375000 +v 2.437500 4.250000 2.375000 +v 2.312500 4.375000 -2.375000 +v 2.312500 4.375000 2.375000 +v 2.437500 4.375000 -2.375000 +v 2.437500 4.375000 2.375000 +v 0.875000 24.374001 0.875000 +v 0.875000 24.124001 0.875000 +v 1.775000 12.375000 -1.775000 +v 1.775000 12.125000 -1.775000 +v 1.475000 16.125000 1.475000 +v 1.475000 16.375000 1.475000 +v 1.175000 20.375000 -1.174999 +v 1.175000 20.125000 -1.174999 +v 2.075000 8.375000 2.075000 +v 2.075000 8.125000 2.075000 +v 2.075000 8.375000 -2.075000 +v 2.075000 8.125000 -2.075000 +v 1.175000 20.375000 1.175000 +v 1.175000 20.125000 1.175000 +v 1.775000 12.375000 1.775000 +v 1.475000 16.375000 -1.474999 +v 1.475000 16.125000 -1.474999 +v 1.775000 12.125000 1.775000 +v 0.875000 24.124001 -0.875000 +v 0.875000 24.374001 -0.875000 +v 1.775000 12.125000 1.775000 +v 1.775000 12.375000 1.775000 +v 2.375000 4.375000 -2.375000 +v 2.375000 4.125000 -2.375000 +v 1.175000 20.125000 1.175000 +v 1.175000 20.375000 1.175000 +v 1.475000 16.125000 -1.474999 +v 1.475000 16.375000 -1.474999 +v 2.075000 8.125000 2.075000 +v 2.075000 8.375000 2.075000 +v 2.075000 8.125000 -2.075000 +v 2.075000 8.375000 -2.075000 +v 1.175000 20.125000 -1.174999 +v 1.475000 16.375000 1.475000 +v 1.175000 20.375000 -1.174999 +v 1.775000 12.125000 -1.775000 +v 1.475000 16.125000 1.475000 +v 1.775000 12.375000 -1.775000 +v 2.375000 4.125000 2.375000 +v 2.375000 4.375000 2.375000 +v -1.112500 20.374996 1.174999 +v -1.112500 20.124996 1.174999 +v -1.562500 14.124998 -1.625000 +v -1.562500 14.374998 -1.625000 +v -1.562500 14.374998 1.625000 +v -1.562500 14.124998 1.625000 +v -2.012500 8.124998 -2.075000 +v -2.012500 8.374998 -2.075000 +v -2.012500 8.374998 2.075000 +v -2.012500 8.124998 2.075000 +v -0.962500 22.124996 -1.025000 +v -0.962500 22.374996 -1.025000 +v -0.962500 22.374996 1.025000 +v -0.962500 22.124996 1.025000 +v -1.862500 10.374998 -1.925000 +v -1.862500 10.374998 1.924999 +v -1.412500 16.374996 -1.475000 +v -1.412500 16.374996 1.475000 +v -1.262500 18.374996 -1.325001 +v -1.262500 18.124996 -1.325001 +v -1.412500 16.124996 -1.475000 +v -1.412500 16.124996 1.475000 +v -1.862500 10.124998 -1.925000 +v -1.862500 10.124998 1.924999 +v -0.937500 24.123997 0.875000 +v -0.937500 24.123997 -0.875000 +v -0.937500 24.248997 0.875000 +v -0.937500 24.248997 -0.875000 +v -0.812500 24.123997 0.875000 +v -0.812500 24.123997 -0.875000 +v -0.812500 24.248997 0.875000 +v -0.812500 24.248997 -0.875000 +v -2.312500 4.249999 2.375000 +v -2.312500 4.249999 -2.375000 +v -2.437500 4.249999 2.375000 +v -2.437500 4.249999 -2.375000 +v -2.312500 4.374999 2.375000 +v -2.312500 4.374999 -2.375000 +v -2.437500 4.374999 2.375000 +v -2.437500 4.374999 -2.375000 +v 2.375000 4.375000 -2.437500 +v -2.375000 4.375000 -2.437500 +v 2.375000 4.375000 -2.312500 +v -2.375000 4.375000 -2.312500 +v 2.375000 4.250000 -2.437500 +v -2.375000 4.250000 -2.437500 +v 2.375000 4.250000 -2.312500 +v -2.375000 4.250000 -2.312500 +v 0.875000 24.248999 -0.812500 +v -0.875000 24.248999 -0.812500 +v 0.875000 24.123999 -0.812500 +v -0.875000 24.123999 -0.812500 +v 0.875000 24.248999 -0.937500 +v -0.875000 24.248999 -0.937500 +v 0.875000 24.123999 -0.937500 +v -0.875000 24.123999 -0.937500 +v -1.924999 10.124999 -1.862500 +v 1.925000 10.124999 -1.862500 +v -1.474999 16.124998 -1.412500 +v 1.475000 16.124998 -1.412500 +v 1.325001 18.124998 -1.262500 +v 1.325001 18.374998 -1.262500 +v -1.474999 16.374998 -1.412500 +v 1.475000 16.374998 -1.412500 +v -1.924999 10.374999 -1.862500 +v 1.925000 10.374999 -1.862500 +v -1.025000 22.124998 -0.962500 +v -1.025000 22.374998 -0.962500 +v 1.025000 22.374998 -0.962500 +v 1.025000 22.124998 -0.962500 +v -2.075000 8.124999 -2.012500 +v -2.075000 8.374999 -2.012500 +v 2.075000 8.374999 -2.012500 +v 2.075000 8.124999 -2.012500 +v -1.625000 14.124999 -1.562500 +v -1.625000 14.374999 -1.562500 +v 1.625000 14.374999 -1.562500 +v 1.625000 14.124999 -1.562500 +v -1.174999 20.124998 -1.112500 +v -1.174999 20.374998 -1.112500 +v 1.175000 20.374998 -1.112500 +v 1.175000 20.124998 -1.112500 +v -2.225000 6.125000 -2.162500 +v -2.225000 6.375000 -2.162500 +v 2.225000 6.375000 -2.162500 +v 2.225000 6.125000 -2.162500 +v -1.775000 12.124999 -1.712500 +v -1.775000 12.374999 -1.712500 +v 1.774999 12.374999 -1.712500 +v 1.774999 12.124999 -1.712500 +v -1.325000 18.124998 -1.262500 +v -1.325000 18.374998 -1.262500 +v 2.225000 6.375000 -2.287500 +v 2.075000 8.374999 -2.137500 +v 1.925000 10.374999 -1.987500 +v 1.774999 12.374999 -1.837500 +v 1.625000 14.374999 -1.687500 +v 1.475000 16.374998 -1.537500 +v 1.325001 18.374998 -1.387500 +v 1.175000 20.374998 -1.237500 +v 1.025000 22.374998 -1.087500 +v -1.025000 22.374998 -1.087500 +v -1.174999 20.374998 -1.237500 +v -1.325000 18.374998 -1.387500 +v -1.474999 16.374998 -1.537500 +v -1.625000 14.374999 -1.687500 +v 2.225000 6.125000 -2.287500 +v 2.075000 8.124999 -2.137500 +v 1.925000 10.124999 -1.987500 +v 1.774999 12.124999 -1.837500 +v 1.625000 14.124999 -1.687500 +v 1.475000 16.124998 -1.537500 +v 1.325001 18.124998 -1.387500 +v 1.175000 20.124998 -1.237500 +v 1.025000 22.124998 -1.087500 +v -1.025000 22.124998 -1.087500 +v -1.174999 20.124998 -1.237500 +v -1.325000 18.124998 -1.387500 +v -1.474999 16.124998 -1.537500 +v -1.625000 14.124999 -1.687500 +v -1.775000 12.124999 -1.837500 +v -1.924999 10.124999 -1.987500 +v -2.075000 8.124999 -2.137500 +v -2.225000 6.125000 -2.287500 +v -2.225000 6.375000 -2.287500 +v -2.075000 8.374999 -2.137500 +v -1.924999 10.374999 -1.987500 +v -1.775000 12.374999 -1.837500 +v -1.325001 18.249998 1.575000 +v 1.625000 14.249999 1.875000 +v -1.625000 14.249999 1.875000 +v 1.325000 18.249998 1.575000 +v 1.325000 18.249998 1.450000 +v -1.625000 14.249999 1.750000 +v 1.625000 14.249999 1.750000 +v -1.325001 18.249998 1.450000 +v -1.450000 18.250000 -1.325001 +v -1.750000 14.250000 1.625000 +v -1.750000 14.250000 -1.625000 +v -1.450000 18.250000 1.325000 +v -1.575000 18.250000 1.325000 +v -1.875000 14.250000 -1.625000 +v -1.875000 14.250000 1.625000 +v -1.575000 18.250000 -1.325001 +v 1.575000 18.250000 1.325001 +v 1.875000 14.250000 -1.625000 +v 1.875000 14.250000 1.625000 +v 1.575000 18.250000 -1.325000 +v 1.450000 18.250000 -1.325000 +v 1.750000 14.250000 1.625000 +v 1.750000 14.250000 -1.625000 +v 1.450000 18.250000 1.325001 +v 1.550000 15.249999 -1.675000 +v 1.400001 17.250000 -1.525000 +v -1.400000 17.250000 -1.525000 +v -1.549999 15.250000 -1.675000 +v 1.550000 15.249999 -3.175000 +v -1.549999 15.250000 -3.175000 +v 1.400000 17.250000 -3.175000 +v -1.399999 17.250000 -3.175000 +v -0.500000 16.001408 -3.423592 +v -0.500000 16.250000 -3.526562 +v -0.500000 16.250000 -3.487500 +v 0.500000 16.250000 -3.487500 +v -0.500000 16.029030 -3.395971 +v 0.500000 16.029030 -3.395971 +v -0.500000 15.937500 -3.175000 +v 0.500000 15.937500 -3.175000 +v -0.500000 16.562500 -3.175000 +v 0.500000 16.562500 -3.175000 +v -0.500000 16.470970 -3.395971 +v 0.500000 16.470970 -3.395971 +v -0.500000 15.898438 -3.175000 +v -0.125000 13.750000 -3.550000 +v 0.125000 13.750000 -3.550000 +v 0.125000 13.750000 -3.300000 +v -0.500000 16.601562 -3.175000 +v -0.500000 16.498592 -3.423592 +v -0.562500 16.498592 -3.423592 +v -0.562500 16.250000 -3.526562 +v -0.562500 16.601562 -3.175000 +v -0.125000 13.750000 -3.300000 +v 0.062500 16.250000 -3.362500 +v -0.062500 16.250000 -3.362500 +v -0.562500 15.898438 -3.175000 +v -0.562500 16.001408 -3.423592 +v 0.562500 16.001408 -3.423592 +v 0.562500 16.250000 -3.526562 +v 0.562500 15.898438 -3.175000 +v -0.062500 13.750000 -3.362500 +v 0.062500 13.750000 -3.362500 +v 0.062500 13.750000 -3.487500 +v 0.562500 16.601562 -3.175000 +v 0.562500 16.498592 -3.423592 +v 0.500000 16.498592 -3.423592 +v 0.500000 16.250000 -3.526562 +v 0.500000 16.601562 -3.175000 +v -0.062500 13.750000 -3.487500 +v -0.062500 16.250000 -3.487500 +v 0.062500 16.250000 -3.487500 +v 0.500000 15.898438 -3.175000 +v 0.500000 16.001408 -3.423592 +v -0.125000 13.687500 -3.550000 +v 0.125000 13.687500 -3.550000 +v 0.125000 13.687500 -3.300000 +v -0.125000 13.687500 -3.300000 +v -0.031250 13.687500 -3.425000 +v 0.031250 13.687500 -3.425000 +v 0.031250 13.687500 -3.550000 +v -0.031250 13.687500 -3.550000 +v 0.031250 13.437500 -3.425000 +v 0.031250 13.437500 -3.550000 +v -0.031250 13.437500 -3.550000 +v -0.031250 13.437500 -3.425000 +v 0.031250 13.375000 -3.425000 +v -0.031250 13.500000 -3.237500 +v 0.031250 13.500000 -3.237500 +v -0.031250 13.375000 -3.425000 +v 0.031250 13.437500 -3.300000 +v -0.031250 13.437500 -3.300000 +v 0.031250 13.375000 -3.300000 +v -0.031250 13.375000 -3.300000 +v 0.031250 13.437500 -3.237500 +v -0.031250 13.437500 -3.237500 +v -0.031250 13.500000 -3.300000 +v 0.031250 13.500000 -3.300000 +v -0.500000 0.000000 0.500000 +v 0.500000 0.000000 0.500000 +v -0.500000 0.000000 -0.500000 +v 0.500000 0.000000 -0.500000 +v -0.500000 0.125000 -0.500000 +v -0.500000 0.125000 0.500000 +v 0.500000 0.125000 0.500000 +v 0.500000 0.125000 -0.500000 +v -0.000000 0.125000 -0.375000 +v -0.143506 0.125000 -0.346455 +v -0.265165 0.125000 -0.265165 +v -0.346455 0.125000 -0.143506 +v -0.375000 0.125000 0.000000 +v -0.346455 0.125000 0.143506 +v -0.265165 0.125000 0.265165 +v -0.143506 0.125000 0.346455 +v -0.000000 0.125000 0.375000 +v 0.143506 0.125000 0.346455 +v 0.265165 0.125000 0.265165 +v 0.346455 0.125000 0.143506 +v 0.375000 0.125000 -0.000000 +v 0.346455 0.125000 -0.143506 +v 0.265165 0.125000 -0.265165 +v 0.143506 0.125000 -0.346455 +v -0.000000 2.500000 -0.375000 +v -0.143506 2.500000 -0.346455 +v -0.265165 2.500000 -0.265165 +v -0.346455 2.500000 -0.143506 +v -0.375000 2.500000 0.000000 +v -0.346455 2.500000 0.143506 +v -0.265165 2.500000 0.265165 +v -0.143506 2.500000 0.346455 +v -0.000000 2.500000 0.375000 +v 0.143506 2.500000 0.346455 +v 0.265165 2.500000 0.265165 +v 0.346455 2.500000 0.143506 +v 0.375000 2.500000 -0.000000 +v 0.346455 2.500000 -0.143506 +v 0.265165 2.500000 -0.265165 +v 0.143506 2.500000 -0.346455 +v -0.000000 4.250000 -0.375000 +v -0.143506 4.250000 -0.346455 +v -0.265165 4.250000 -0.265165 +v -0.346455 4.250000 -0.143506 +v -0.375000 4.250000 0.000000 +v -0.346455 4.250000 0.143506 +v -0.265165 4.250000 0.265165 +v -0.143506 4.250000 0.346455 +v -0.000000 4.250000 0.375000 +v 0.143506 4.250000 0.346455 +v 0.265165 4.250000 0.265165 +v 0.346455 4.250000 0.143506 +v 0.375000 4.250000 -0.000000 +v 0.346455 4.250000 -0.143506 +v 0.265165 4.250000 -0.265165 +v 0.143506 4.250000 -0.346455 +v -0.000000 19.250000 -0.375000 +v -0.143506 19.250000 -0.346455 +v -0.265165 19.250000 -0.265165 +v -0.346455 19.250000 -0.143506 +v -0.375000 19.250000 0.000000 +v -0.346455 19.250000 0.143506 +v -0.265165 19.250000 0.265165 +v -0.143506 19.250000 0.346455 +v -0.000000 19.250000 0.375000 +v 0.143506 19.250000 0.346455 +v 0.265165 19.250000 0.265165 +v 0.346455 19.250000 0.143506 +v 0.375000 19.250000 -0.000000 +v 0.346455 19.250000 -0.143506 +v 0.265165 19.250000 -0.265165 +v 0.143506 19.250000 -0.346455 +v 1.475000 16.000000 1.475000 +v 1.475000 16.500000 1.475000 +v 2.075000 8.500000 2.075000 +v 2.075000 8.000000 2.075000 +v 2.075000 8.500000 -2.075000 +v 2.075000 8.000000 -2.075000 +v 1.475000 16.500000 -1.474999 +v 1.475000 16.000000 -1.474999 +v 1.775000 12.000000 1.775000 +v 1.775000 12.500000 1.775000 +v 1.775000 12.000000 -1.775000 +v 1.775000 12.500000 -1.775000 +v -1.475000 16.000000 -1.475000 +v -1.475000 16.500000 -1.475000 +v -2.075000 8.500000 -2.075000 +v -2.075000 8.000000 -2.075000 +v -2.075000 8.500000 2.075000 +v -2.075000 8.000000 2.075000 +v -1.475000 16.500000 1.474999 +v -1.475000 16.000000 1.474999 +v -1.775000 12.000000 -1.775000 +v -1.775000 12.499996 -1.775000 +v -1.775000 12.000000 1.775000 +v -1.775000 12.499996 1.775000 +v -3.500000 4.000000 3.500000 +v -3.500000 4.000000 -3.500000 +v 3.500000 4.000000 3.500000 +v 3.500000 4.000000 -3.500000 +v -3.500000 5.000000 3.500000 +v -3.500000 5.000000 -3.500000 +v 3.500000 5.000000 3.500000 +v 3.500000 5.000000 -3.500000 +v 1.625000 0.000000 -1.625000 +v 1.625000 0.250000 -1.625000 +v 1.625000 0.000000 -3.375000 +v 1.625000 0.250000 -3.375000 +v 3.375000 0.000000 -1.625000 +v 3.375000 0.250000 -1.625000 +v 3.375000 0.000000 -3.375000 +v 3.375000 0.250000 -3.375000 +v 1.750000 0.250000 -1.750000 +v 1.750000 0.250000 -3.250000 +v 3.250000 0.250000 -1.750000 +v 3.250000 0.250000 -3.250000 +v 1.625000 2.250000 -1.625000 +v 1.625000 2.500000 -1.625000 +v 1.625000 2.250000 -3.375000 +v 1.625000 2.500000 -3.375000 +v 3.375000 2.250000 -1.625000 +v 3.375000 2.500000 -1.625000 +v 3.375000 2.250000 -3.375000 +v 3.375000 2.500000 -3.375000 +v 1.750000 2.250000 -1.750000 +v 1.750000 2.250000 -3.250000 +v 3.250000 2.250000 -3.250000 +v 3.250000 2.250000 -1.750000 +v -3.375000 0.000000 3.375000 +v -3.375000 0.250000 3.375000 +v -3.375000 0.000000 1.625000 +v -3.375000 0.250000 1.625000 +v -1.625000 0.000000 3.375000 +v -1.625000 0.250000 3.375000 +v -1.625000 0.000000 1.625000 +v -1.625000 0.250000 1.625000 +v -3.250000 0.250000 3.250000 +v -3.250000 0.250000 1.750000 +v -1.750000 0.250000 3.250000 +v -1.750000 0.250000 1.750000 +v -3.375000 2.250000 3.375000 +v -3.375000 2.500000 3.375000 +v -3.375000 2.250000 1.625000 +v -3.375000 2.500000 1.625000 +v -1.625000 2.250000 3.375000 +v -1.625000 2.500000 3.375000 +v -1.625000 2.250000 1.625000 +v -1.625000 2.500000 1.625000 +v -3.250000 2.250000 3.250000 +v -3.250000 2.250000 1.750000 +v -1.750000 2.250000 1.750000 +v -1.750000 2.250000 3.250000 +v -3.375000 0.000000 -1.625000 +v -3.375000 0.250000 -1.625000 +v -3.375000 0.000000 -3.375000 +v -3.375000 0.250000 -3.375000 +v -1.625000 0.000000 -1.625000 +v -1.625000 0.250000 -1.625000 +v -1.625000 0.000000 -3.375000 +v -1.625000 0.250000 -3.375000 +v -3.250000 0.250000 -1.750000 +v -3.250000 0.250000 -3.250000 +v -1.750000 0.250000 -1.750000 +v -1.750000 0.250000 -3.250000 +v -3.375000 2.250000 -1.625000 +v -3.375000 2.500000 -1.625000 +v -3.375000 2.250000 -3.375000 +v -3.375000 2.500000 -3.375000 +v -1.625000 2.250000 -1.625000 +v -1.625000 2.500000 -1.625000 +v -1.625000 2.250000 -3.375000 +v -1.625000 2.500000 -3.375000 +v -3.250000 2.250000 -1.750000 +v -3.250000 2.250000 -3.250000 +v -1.750000 2.250000 -3.250000 +v -1.750000 2.250000 -1.750000 +v -1.112500 20.374996 -1.175000 +v -1.112500 20.124996 -1.175000 +v -2.162500 6.124999 2.225000 +v -2.162500 6.374999 2.225000 +v -2.162500 6.374999 -2.225000 +v -2.162500 6.124999 -2.225000 +v -1.712500 12.124998 1.775000 +v -1.712500 12.374998 1.775000 +v -1.712500 12.374998 -1.774999 +v -1.712500 12.124998 -1.774999 +v -1.262500 18.124996 1.325000 +v -1.262500 18.374996 1.325000 +v -2.287500 6.374999 -2.225000 +v -2.137500 8.374998 -2.075000 +v -1.987500 10.374998 -1.925000 +v -1.837500 12.374998 -1.774999 +v -1.687500 14.374998 -1.625000 +v -1.537500 16.374996 -1.475000 +v -1.387500 18.374996 -1.325001 +v -1.237500 20.374996 -1.175000 +v -1.087500 22.374996 -1.025000 +v -1.087500 22.374996 1.025000 +v -1.237500 20.374996 1.174999 +v -1.387500 18.374996 1.325000 +v -1.537500 16.374996 1.475000 +v -1.687500 14.374998 1.625000 +v -2.287500 6.124999 -2.225000 +v -2.137500 8.124998 -2.075000 +v -1.987500 10.124998 -1.925000 +v -1.837500 12.124998 -1.774999 +v -1.687500 14.124998 -1.625000 +v -1.537500 16.124996 -1.475000 +v -1.387500 18.124996 -1.325001 +v -1.237500 20.124996 -1.175000 +v -1.087500 22.124996 -1.025000 +v -1.087500 22.124996 1.025000 +v -1.237500 20.124996 1.174999 +v -1.387500 18.124996 1.325000 +v -1.537500 16.124996 1.475000 +v -1.687500 14.124998 1.625000 +v -1.837500 12.124998 1.775000 +v -1.987500 10.124998 1.924999 +v -2.137500 8.124998 2.075000 +v -2.287500 6.124999 2.225000 +v -2.287500 6.374999 2.225000 +v -2.137500 8.374998 2.075000 +v -1.987500 10.374998 1.924999 +v -1.837500 12.374998 1.775000 +v 1.174999 20.374994 1.112500 +v 1.174999 20.124994 1.112500 +v -1.625000 14.124997 1.562500 +v -1.625000 14.374997 1.562500 +v 1.625000 14.374997 1.562500 +v 1.625000 14.124997 1.562500 +v -2.075000 8.124997 2.012500 +v -2.075000 8.374997 2.012500 +v 2.075000 8.374997 2.012500 +v 2.075000 8.124997 2.012500 +v -1.025000 22.124994 0.962500 +v -1.025000 22.374994 0.962500 +v 1.025000 22.374994 0.962500 +v 1.025000 22.124994 0.962500 +v -1.925000 10.374997 1.862500 +v 1.925000 10.374997 1.862499 +v -1.475000 16.374994 1.412500 +v 1.475000 16.374994 1.412500 +v -1.325001 18.374994 1.262500 +v -1.325001 18.124994 1.262500 +v -1.475000 16.124994 1.412500 +v 1.475000 16.124994 1.412500 +v -1.925000 10.124997 1.862500 +v 1.925000 10.124997 1.862499 +v 0.875000 24.123995 0.937500 +v -0.875000 24.123995 0.937500 +v 0.875000 24.248995 0.937500 +v -0.875000 24.248995 0.937500 +v 0.875000 24.123995 0.812500 +v -0.875000 24.123995 0.812500 +v 0.875000 24.248995 0.812500 +v -0.875000 24.248995 0.812500 +v 2.375000 4.249999 2.312500 +v -2.375000 4.249999 2.312500 +v 2.375000 4.249999 2.437500 +v -2.375000 4.249999 2.437500 +v 2.375000 4.374999 2.312500 +v -2.375000 4.374999 2.312500 +v 2.375000 4.374999 2.437500 +v -2.375000 4.374999 2.437500 +v -1.175000 20.374994 1.112500 +v -1.175000 20.124994 1.112500 +v 2.225000 6.124999 2.162500 +v 2.225000 6.374999 2.162500 +v -2.225000 6.374999 2.162500 +v -2.225000 6.124999 2.162500 +v 1.775000 12.124997 1.712499 +v 1.775000 12.374997 1.712499 +v -1.774999 12.374997 1.712500 +v -1.774999 12.124997 1.712500 +v 1.325000 18.124994 1.262500 +v 1.325000 18.374994 1.262500 +v -2.225000 6.374999 2.287500 +v -2.075000 8.374997 2.137500 +v -1.925000 10.374997 1.987500 +v -1.774999 12.374997 1.837500 +v -1.625000 14.374997 1.687500 +v -1.475000 16.374994 1.537500 +v -1.325000 18.374994 1.387500 +v -1.175000 20.374994 1.237500 +v -1.025000 22.374994 1.087500 +v 1.025000 22.374994 1.087500 +v 1.174999 20.374994 1.237500 +v 1.325000 18.374994 1.387500 +v 1.475000 16.374994 1.537500 +v 1.625000 14.374997 1.687500 +v -2.225000 6.124999 2.287500 +v -2.075000 8.124997 2.137500 +v -1.925000 10.124997 1.987500 +v -1.774999 12.124997 1.837500 +v -1.625000 14.124997 1.687500 +v -1.475000 16.124994 1.537500 +v -1.325000 18.124994 1.387500 +v -1.175000 20.124994 1.237500 +v -1.025000 22.124994 1.087500 +v 1.025000 22.124994 1.087500 +v 1.174999 20.124994 1.237500 +v 1.325000 18.124994 1.387500 +v 1.475000 16.124994 1.537500 +v 1.625000 14.124997 1.687500 +v 1.775000 12.124997 1.837499 +v 1.925000 10.124997 1.987499 +v 2.075000 8.124997 2.137500 +v 2.225000 6.124999 2.287500 +v 2.225000 6.374999 2.287500 +v 2.075000 8.374997 2.137500 +v 1.925000 10.374997 1.987499 +v 1.775000 12.374997 1.837499 +v -0.500000 16.250000 -3.487500 +v 0.500000 16.250000 -3.487500 +v -0.500000 16.029030 -3.395971 +v 0.500000 16.029030 -3.395971 +v -0.500000 15.937500 -3.175000 +v 0.500000 15.937500 -3.175000 +v -0.500000 16.562500 -3.175000 +v 0.500000 16.562500 -3.175000 +v -0.500000 16.470970 -3.395971 +v 0.500000 16.470970 -3.395971 +v -0.500000 16.001408 -3.423592 +v -0.500000 16.250000 -3.526562 +v -0.500000 15.898438 -3.175000 +v -0.500000 16.601562 -3.175000 +v -0.500000 16.498592 -3.423592 +v -0.562500 16.498592 -3.423592 +v -0.562500 16.250000 -3.526562 +v -0.562500 16.601562 -3.175000 +v -0.562500 15.898438 -3.175000 +v -0.562500 16.001408 -3.423592 +v 0.562500 16.001408 -3.423592 +v 0.562500 16.250000 -3.526562 +v 0.562500 15.898438 -3.175000 +v 0.562500 16.601562 -3.175000 +v 0.562500 16.498592 -3.423592 +v 0.500000 16.498592 -3.423592 +v 0.500000 16.250000 -3.526562 +v 0.500000 16.601562 -3.175000 +v 0.500000 15.898438 -3.175000 +v 0.500000 16.001408 -3.423592 +v -0.000000 19.250000 -0.375000 +v -0.143506 19.250000 -0.346455 +v -0.265165 19.250000 -0.265165 +v -0.346455 19.250000 -0.143506 +v -0.375000 19.250000 0.000000 +v -0.346455 19.250000 0.143506 +v -0.265165 19.250000 0.265165 +v -0.143506 19.250000 0.346455 +v -0.000000 19.250000 0.375000 +v 0.143506 19.250000 0.346455 +v 0.265165 19.250000 0.265165 +v 0.346455 19.250000 0.143506 +v 0.375000 19.250000 -0.000000 +v 0.346455 19.250000 -0.143506 +v 0.265165 19.250000 -0.265165 +v 0.143506 19.250000 -0.346455 +v 0.875000 24.373999 -0.875000 +v 0.875000 24.123999 -0.875000 +v -1.775000 12.374999 -1.775000 +v -1.775000 12.124999 -1.775000 +v 1.475000 16.124998 -1.475000 +v 1.475000 16.374998 -1.475000 +v -1.174999 20.374998 -1.175000 +v -1.174999 20.124998 -1.175000 +v 2.075000 8.374999 -2.075000 +v 2.075000 8.124999 -2.075000 +v -2.075000 8.374999 -2.075000 +v -2.075000 8.124999 -2.075000 +v 1.175000 20.374998 -1.175000 +v 1.175000 20.124998 -1.175000 +v 1.774999 12.374999 -1.775000 +v -1.474999 16.374998 -1.475000 +v -1.474999 16.124998 -1.475000 +v 1.774999 12.124999 -1.775000 +v -0.875000 24.123999 -0.875000 +v -0.875000 24.373999 -0.875000 +v 1.774999 12.124999 -1.775000 +v 1.774999 12.374999 -1.775000 +v -2.375000 4.375000 -2.375000 +v -2.375000 4.125000 -2.375000 +v 1.175000 20.124998 -1.175000 +v 1.175000 20.374998 -1.175000 +v -1.474999 16.124998 -1.475000 +v -1.474999 16.374998 -1.475000 +v 2.075000 8.124999 -2.075000 +v 2.075000 8.374999 -2.075000 +v -2.075000 8.124999 -2.075000 +v -2.075000 8.374999 -2.075000 +v -1.174999 20.124998 -1.175000 +v 1.475000 16.374998 -1.475000 +v -1.174999 20.374998 -1.175000 +v -1.775000 12.124999 -1.775000 +v 1.475000 16.124998 -1.475000 +v -1.775000 12.374999 -1.775000 +v 2.375000 4.125000 -2.375000 +v 2.375000 4.375000 -2.375000 +v -0.875000 24.373997 -0.875000 +v -0.875000 24.123997 -0.875000 +v -1.775000 12.374998 1.775000 +v -1.775000 12.124998 1.775000 +v -1.475000 16.124996 -1.475000 +v -1.475000 16.374996 -1.475000 +v -1.175000 20.374996 1.174999 +v -1.175000 20.124996 1.174999 +v -2.075000 8.374998 -2.075000 +v -2.075000 8.124998 -2.075000 +v -2.075000 8.374998 2.075000 +v -2.075000 8.124998 2.075000 +v -1.175000 20.374996 -1.175000 +v -1.175000 20.124996 -1.175000 +v -1.775000 12.374998 -1.774999 +v -1.475000 16.374996 1.475000 +v -1.475000 16.124996 1.475000 +v -1.775000 12.124998 -1.774999 +v -0.875000 24.123997 0.875000 +v -0.875000 24.373997 0.875000 +v -1.775000 12.124998 -1.774999 +v -1.775000 12.374998 -1.774999 +v -2.375000 4.374999 2.375000 +v -2.375000 4.124999 2.375000 +v -1.175000 20.124996 -1.175000 +v -1.175000 20.374996 -1.175000 +v -1.475000 16.124996 1.475000 +v -1.475000 16.374996 1.475000 +v -2.075000 8.124998 -2.075000 +v -2.075000 8.374998 -2.075000 +v -2.075000 8.124998 2.075000 +v -2.075000 8.374998 2.075000 +v -1.175000 20.124996 1.174999 +v -1.475000 16.374996 -1.475000 +v -1.175000 20.374996 1.174999 +v -1.775000 12.124998 1.775000 +v -1.475000 16.124996 -1.475000 +v -1.775000 12.374998 1.775000 +v -2.375000 4.124999 -2.375000 +v -2.375000 4.374999 -2.375000 +v -0.875000 24.373995 0.875000 +v -0.875000 24.123995 0.875000 +v 1.775000 12.374997 1.774999 +v 1.775000 12.124997 1.774999 +v -1.475000 16.124994 1.475000 +v -1.475000 16.374994 1.475000 +v 1.174999 20.374994 1.175000 +v 1.174999 20.124994 1.175000 +v -2.075000 8.374997 2.075000 +v -2.075000 8.124997 2.075000 +v 2.075000 8.374997 2.075000 +v 2.075000 8.124997 2.075000 +v -1.175000 20.374994 1.175000 +v -1.175000 20.124994 1.175000 +v -1.774999 12.374997 1.775000 +v 1.475000 16.374994 1.475000 +v 1.475000 16.124994 1.475000 +v -1.774999 12.124997 1.775000 +v 0.875000 24.123995 0.875000 +v 0.875000 24.373995 0.875000 +v -1.774999 12.124997 1.775000 +v -1.774999 12.374997 1.775000 +v 2.375000 4.374999 2.375000 +v 2.375000 4.124999 2.375000 +v -1.175000 20.124994 1.175000 +v -1.175000 20.374994 1.175000 +v 1.475000 16.124994 1.475000 +v 1.475000 16.374994 1.475000 +v -2.075000 8.124997 2.075000 +v -2.075000 8.374997 2.075000 +v 2.075000 8.124997 2.075000 +v 2.075000 8.374997 2.075000 +v 1.174999 20.124994 1.175000 +v -1.475000 16.374994 1.475000 +v 1.174999 20.374994 1.175000 +v 1.775000 12.124997 1.774999 +v -1.475000 16.124994 1.475000 +v 1.775000 12.374997 1.774999 +v -2.375000 4.124999 2.375000 +v -2.375000 4.374999 2.375000 +vt 0.693548 0.350000 +vt 0.612903 0.337500 +vt 0.693548 0.337500 +vt 0.612903 0.350000 +vt 0.532258 0.337500 +vt 0.532258 0.350000 +vt 0.451613 0.337500 +vt 0.774194 0.350000 +vt 0.774194 0.337500 +vt 0.451613 0.275000 +vt 0.532258 0.275000 +vt 0.540323 0.356250 +vt 0.693548 0.450000 +vt 0.612903 0.437500 +vt 0.693548 0.437500 +vt 0.612903 0.450000 +vt 0.532258 0.437500 +vt 0.532258 0.450000 +vt 0.451613 0.437500 +vt 0.774194 0.450000 +vt 0.774194 0.437500 +vt 0.459677 0.356250 +vt 0.451613 0.350000 +vt 0.524194 0.356250 +vt 0.459677 0.431250 +vt 0.685484 0.356250 +vt 0.620968 0.431250 +vt 0.620968 0.356250 +vt 0.766129 0.356250 +vt 0.701613 0.431250 +vt 0.701613 0.356250 +vt 0.604839 0.356250 +vt 0.540323 0.431250 +vt 0.451613 0.425000 +vt 0.000000 0.350000 +vt 0.451613 0.350000 +vt 0.451613 0.425000 +vt 0.000000 0.350000 +vt 0.451613 0.350000 +vt 0.451613 0.425000 +vt -0.000000 0.350000 +vt 0.451613 0.350000 +vt 0.451613 0.425000 +vt 0.000000 0.350000 +vt 0.451613 0.350000 +vt -0.000000 0.000000 +vt 0.451613 0.000000 +vt 0.064516 0.475000 +vt -0.000000 0.775000 +vt -0.000000 0.425000 +vt 0.387097 0.475000 +vt 0.467742 0.012500 +vt 0.790323 0.262500 +vt 0.467742 0.262500 +vt 0.806452 0.262500 +vt 0.790323 0.012500 +vt 0.806452 0.012500 +vt 0.451613 0.012500 +vt 0.451613 0.262500 +vt 0.790323 0.000000 +vt 0.467742 0.000000 +vt 0.467742 0.275000 +vt 0.790323 0.275000 +vt 0.064516 0.725000 +vt 0.451613 0.775000 +vt 0.387097 0.725000 +vt 0.870968 0.000000 +vt 0.854839 1.000000 +vt 0.854839 -0.000000 +vt 0.806452 0.000000 +vt 0.822581 1.000000 +vt 0.806452 1.000000 +vt 0.822581 -0.000000 +vt 0.838710 1.000000 +vt 0.838710 0.000000 +vt 0.806452 0.000000 +vt 0.822581 1.000000 +vt 0.806452 1.000000 +vt 0.822581 -0.000000 +vt 0.838710 1.000000 +vt 0.854839 -0.000000 +vt 0.838710 0.000000 +vt 0.870968 0.000000 +vt 0.854839 1.000000 +vt 0.854839 -0.000000 +vt 0.838710 1.000000 +vt 0.838710 0.000000 +vt 0.870968 0.000000 +vt 0.854839 1.000000 +vt 0.806452 0.000000 +vt 0.822581 1.000000 +vt 0.806452 1.000000 +vt 0.822581 -0.000000 +vt 0.822581 -0.000000 +vt 0.838710 1.000000 +vt 0.822581 1.000000 +vt 0.854839 -0.000000 +vt 0.838710 0.000000 +vt 0.870968 0.000000 +vt 0.854839 1.000000 +vt 0.806452 0.000000 +vt 0.806452 1.000000 +vt 0.064516 0.487500 +vt 0.209677 0.600000 +vt 0.064516 0.600000 +vt 0.209677 0.612500 +vt 0.064516 0.725000 +vt 0.064516 0.612500 +vt 0.209677 0.600000 +vt 0.064516 0.612500 +vt 0.064516 0.600000 +vt 0.064516 0.612500 +vt 0.209677 0.600000 +vt 0.209677 0.612500 +vt 0.064516 0.612500 +vt 0.209677 0.600000 +vt 0.209677 0.612500 +vt 0.250000 0.856250 +vt 0.056452 0.850000 +vt 0.250000 0.850000 +vt 0.056452 0.865625 +vt 0.250000 0.859375 +vt 0.250000 0.865625 +vt 0.217742 0.856250 +vt 0.088710 0.850000 +vt 0.217742 0.850000 +vt 0.286290 0.856250 +vt 0.020161 0.850000 +vt 0.286290 0.850000 +vt 0.258065 0.856250 +vt 0.048387 0.850000 +vt 0.258065 0.850000 +vt 0.229839 0.856250 +vt 0.076613 0.850000 +vt 0.229839 0.850000 +vt 0.298387 0.856250 +vt 0.008065 0.850000 +vt 0.298387 0.850000 +vt 0.266129 0.856250 +vt 0.040323 0.850000 +vt 0.266129 0.850000 +vt 0.237903 0.856250 +vt 0.068548 0.850000 +vt 0.237903 0.850000 +vt 0.278226 0.856250 +vt 0.028226 0.850000 +vt 0.278226 0.850000 +vt 0.088710 0.865625 +vt 0.217742 0.859375 +vt 0.217742 0.865625 +vt 0.020161 0.865625 +vt 0.286290 0.859375 +vt 0.286290 0.865625 +vt 0.048387 0.865625 +vt 0.258065 0.859375 +vt 0.258065 0.865625 +vt 0.076613 0.865625 +vt 0.229839 0.859375 +vt 0.229839 0.865625 +vt 0.008065 0.865625 +vt 0.298387 0.859375 +vt 0.298387 0.865625 +vt 0.040323 0.865625 +vt 0.266129 0.859375 +vt 0.266129 0.865625 +vt 0.068548 0.865625 +vt 0.237903 0.859375 +vt 0.237903 0.865625 +vt 0.028226 0.865625 +vt 0.278226 0.859375 +vt 0.278226 0.865625 +vt 0.068548 0.868750 +vt 0.237903 0.868750 +vt 0.056452 0.868750 +vt 0.250000 0.868750 +vt 0.048387 0.868750 +vt 0.258065 0.868750 +vt 0.008065 0.859375 +vt 0.008065 0.856250 +vt 0.040323 0.868750 +vt 0.266129 0.868750 +vt 0.020161 0.859375 +vt 0.020161 0.856250 +vt 0.028226 0.868750 +vt 0.278226 0.868750 +vt 0.028226 0.859375 +vt 0.028226 0.856250 +vt 0.020161 0.868750 +vt 0.286290 0.868750 +vt 0.040323 0.859375 +vt 0.040323 0.856250 +vt 0.008065 0.868750 +vt 0.298387 0.868750 +vt 0.048387 0.859375 +vt 0.048387 0.856250 +vt 0.056452 0.859375 +vt 0.056452 0.856250 +vt 0.068548 0.859375 +vt 0.068548 0.856250 +vt 0.076613 0.859375 +vt 0.076613 0.856250 +vt 0.088710 0.859375 +vt 0.088710 0.856250 +vt 0.088710 0.868750 +vt 0.217742 0.868750 +vt 0.076613 0.868750 +vt 0.229839 0.868750 +vt 0.209677 0.862500 +vt 0.096774 0.859375 +vt 0.209677 0.859375 +vt 0.096774 0.856250 +vt 0.209677 0.853125 +vt 0.209677 0.856250 +vt -0.000000 0.859375 +vt 0.306452 0.856250 +vt 0.306452 0.859375 +vt -0.000000 0.862500 +vt 0.306452 0.862500 +vt 0.306452 0.853125 +vt -0.000000 0.856250 +vt -0.000000 0.853125 +vt 0.774194 0.450000 +vt 0.451613 0.462500 +vt 0.451613 0.450000 +vt 0.729839 0.450000 +vt 0.495968 0.462500 +vt 0.495968 0.450000 +vt 0.689516 0.450000 +vt 0.536290 0.462500 +vt 0.536290 0.450000 +vt 0.516129 0.462500 +vt 0.709677 0.450000 +vt 0.709677 0.462500 +vt 0.471774 0.462500 +vt 0.750000 0.450000 +vt 0.750000 0.462500 +vt 0.774194 0.462500 +vt 0.451613 0.450000 +vt 0.774194 0.450000 +vt 0.729839 0.462500 +vt 0.495968 0.450000 +vt 0.729839 0.450000 +vt 0.689516 0.462500 +vt 0.536290 0.450000 +vt 0.689516 0.450000 +vt 0.516129 0.450000 +vt 0.709677 0.462500 +vt 0.516129 0.462500 +vt 0.471774 0.450000 +vt 0.750000 0.462500 +vt 0.471774 0.462500 +vt 0.229839 0.856250 +vt 0.076613 0.859375 +vt 0.076613 0.856250 +vt 0.217742 0.856250 +vt 0.088710 0.859375 +vt 0.088710 0.856250 +vt 0.088710 0.868750 +vt 0.217742 0.865625 +vt 0.217742 0.868750 +vt 0.076613 0.868750 +vt 0.229839 0.865625 +vt 0.229839 0.868750 +vt 0.209677 0.862500 +vt 0.096774 0.859375 +vt 0.209677 0.859375 +vt 0.096774 0.856250 +vt 0.209677 0.853125 +vt 0.209677 0.856250 +vt -0.000000 0.859375 +vt 0.306452 0.856250 +vt 0.306452 0.859375 +vt -0.000000 0.862500 +vt 0.306452 0.862500 +vt 0.306452 0.853125 +vt -0.000000 0.856250 +vt -0.000000 0.853125 +vt 0.306452 0.853125 +vt -0.000000 0.856250 +vt -0.000000 0.853125 +vt -0.000000 0.862500 +vt 0.306452 0.859375 +vt 0.306452 0.862500 +vt -0.000000 0.859375 +vt 0.306452 0.856250 +vt 0.096774 0.859375 +vt 0.209677 0.856250 +vt 0.209677 0.859375 +vt 0.096774 0.856250 +vt 0.209677 0.853125 +vt 0.209677 0.862500 +vt 0.076613 0.868750 +vt 0.229839 0.865625 +vt 0.229839 0.868750 +vt 0.088710 0.868750 +vt 0.217742 0.865625 +vt 0.217742 0.868750 +vt 0.217742 0.856250 +vt 0.088710 0.859375 +vt 0.088710 0.856250 +vt 0.229839 0.856250 +vt 0.076613 0.859375 +vt 0.076613 0.856250 +vt 0.068548 0.856250 +vt 0.237903 0.859375 +vt 0.068548 0.859375 +vt 0.250000 0.856250 +vt 0.056452 0.859375 +vt 0.056452 0.856250 +vt 0.258065 0.856250 +vt 0.048387 0.859375 +vt 0.048387 0.856250 +vt 0.008065 0.868750 +vt 0.298387 0.865625 +vt 0.298387 0.868750 +vt 0.266129 0.856250 +vt 0.040323 0.859375 +vt 0.040323 0.856250 +vt 0.020161 0.868750 +vt 0.286290 0.865625 +vt 0.286290 0.868750 +vt 0.278226 0.856250 +vt 0.028226 0.859375 +vt 0.028226 0.856250 +vt 0.028226 0.868750 +vt 0.278226 0.865625 +vt 0.278226 0.868750 +vt 0.286290 0.856250 +vt 0.020161 0.859375 +vt 0.020161 0.856250 +vt 0.040323 0.868750 +vt 0.266129 0.865625 +vt 0.266129 0.868750 +vt 0.298387 0.856250 +vt 0.008065 0.859375 +vt 0.008065 0.856250 +vt 0.048387 0.868750 +vt 0.258065 0.865625 +vt 0.258065 0.868750 +vt 0.056452 0.868750 +vt 0.250000 0.865625 +vt 0.250000 0.868750 +vt 0.068548 0.868750 +vt 0.237903 0.865625 +vt 0.237903 0.868750 +vt 0.028226 0.865625 +vt 0.278226 0.859375 +vt 0.068548 0.865625 +vt 0.040323 0.865625 +vt 0.266129 0.859375 +vt 0.008065 0.865625 +vt 0.298387 0.859375 +vt 0.076613 0.865625 +vt 0.229839 0.859375 +vt 0.048387 0.865625 +vt 0.258065 0.859375 +vt 0.020161 0.865625 +vt 0.286290 0.859375 +vt 0.088710 0.865625 +vt 0.217742 0.859375 +vt 0.028226 0.850000 +vt 0.278226 0.850000 +vt 0.237903 0.856250 +vt 0.068548 0.850000 +vt 0.237903 0.850000 +vt 0.040323 0.850000 +vt 0.266129 0.850000 +vt 0.008065 0.850000 +vt 0.298387 0.850000 +vt 0.076613 0.850000 +vt 0.229839 0.850000 +vt 0.048387 0.850000 +vt 0.258065 0.850000 +vt 0.020161 0.850000 +vt 0.286290 0.850000 +vt 0.088710 0.850000 +vt 0.217742 0.850000 +vt 0.056452 0.865625 +vt 0.250000 0.859375 +vt 0.056452 0.850000 +vt 0.250000 0.850000 +vt 0.471774 0.675000 +vt 0.637097 0.668750 +vt 0.637097 0.675000 +vt 0.669355 0.468750 +vt 0.661290 0.668750 +vt 0.661290 0.468750 +vt 0.471774 0.675000 +vt 0.637097 0.668750 +vt 0.637097 0.675000 +vt 0.669355 0.468750 +vt 0.661290 0.668750 +vt 0.661290 0.468750 +vt 0.661290 0.462500 +vt 0.451613 0.468750 +vt 0.451613 0.462500 +vt 0.661290 0.468750 +vt 0.669355 0.668750 +vt 0.661290 0.668750 +vt 0.471774 0.668750 +vt 0.451613 0.468750 +vt 0.661290 0.462500 +vt 0.451613 0.468750 +vt 0.451613 0.462500 +vt 0.661290 0.468750 +vt 0.669355 0.668750 +vt 0.661290 0.668750 +vt 0.471774 0.668750 +vt 0.451613 0.468750 +vt 0.661290 0.468750 +vt 0.471774 0.668750 +vt 0.451613 0.468750 +vt 0.637097 0.668750 +vt 0.451613 0.468750 +vt 0.661290 0.468750 +vt 0.669355 0.668750 +vt 0.661290 0.668750 +vt 0.661290 0.462500 +vt 0.451613 0.462500 +vt 0.669355 0.468750 +vt 0.661290 0.668750 +vt 0.471774 0.675000 +vt 0.637097 0.675000 +vt 0.641129 0.850000 +vt 0.451613 0.750000 +vt 0.649194 0.750000 +vt 0.451613 0.675000 +vt 0.649194 0.750000 +vt 0.451613 0.750000 +vt 0.641129 0.850000 +vt 0.459677 0.850000 +vt 0.770161 0.925000 +vt 0.641129 0.931250 +vt 0.459677 0.931250 +vt 0.330645 0.925000 +vt 0.774194 0.462500 +vt 0.782258 0.587500 +vt 0.774194 0.587500 +vt 0.750000 0.587500 +vt 0.758065 0.462500 +vt 0.758065 0.587500 +vt 0.766129 0.462500 +vt 0.766129 0.587500 +vt 0.733004 0.518281 +vt 0.749716 0.512917 +vt 0.749716 0.549549 +vt 0.741935 0.462500 +vt 0.745968 0.475000 +vt 0.741935 0.475000 +vt 0.745968 0.487500 +vt 0.741935 0.487500 +vt 0.741935 0.500000 +vt 0.745968 0.500000 +vt 0.741935 0.512500 +vt 0.689516 0.540625 +vt 0.673387 0.528125 +vt 0.689516 0.528125 +vt 0.677419 0.462500 +vt 0.673387 0.475000 +vt 0.673387 0.462500 +vt 0.677419 0.475000 +vt 0.673387 0.487500 +vt 0.677419 0.500000 +vt 0.677419 0.487500 +vt 0.955069 0.905455 +vt 0.936510 0.883929 +vt 0.964286 0.869545 +vt 0.677419 0.512500 +vt 0.673387 0.500000 +vt 0.749716 0.512917 +vt 0.733004 0.544184 +vt 0.726082 0.531233 +vt 0.673387 0.525000 +vt 0.689516 0.512500 +vt 0.689516 0.525000 +vt 0.673387 0.540625 +vt 0.669355 0.528125 +vt 0.673387 0.543750 +vt 0.693548 0.540625 +vt 0.701613 0.518750 +vt 0.705645 0.515625 +vt 0.705645 0.518750 +vt 0.709677 0.512500 +vt 0.709677 0.515625 +vt 0.701613 0.543750 +vt 0.705645 0.531250 +vt 0.705645 0.543750 +vt 0.713710 0.531250 +vt 0.713710 0.543750 +vt 0.717742 0.531250 +vt 0.717742 0.543750 +vt 0.693548 0.543750 +vt 0.701613 0.531250 +vt 0.709677 0.525000 +vt 0.709677 0.531250 +vt 0.705645 0.525000 +vt 0.709677 0.518750 +vt 0.697581 0.531250 +vt 0.697581 0.525000 +vt 0.701613 0.525000 +vt 0.697581 0.518750 +vt 0.697581 0.515625 +vt 0.701613 0.515625 +vt 0.717742 0.525000 +vt 0.713710 0.521875 +vt 0.717742 0.518750 +vt 0.717742 0.521875 +vt 0.705645 0.512500 +vt 0.709677 0.518750 +vt 0.701613 0.512500 +vt 0.713710 0.525000 +vt 0.935484 0.868750 +vt 0.870968 0.918750 +vt 0.870968 0.868750 +vt 0.870968 0.925000 +vt 0.935484 0.975000 +vt 0.870968 0.975000 +vt 0.935484 0.918750 +vt 0.870968 0.925000 +vt 0.935484 0.918750 +vt 0.935484 0.925000 +vt 0.870968 0.925000 +vt 0.935484 0.918750 +vt 0.935484 0.925000 +vt 0.935484 0.918750 +vt 0.870968 0.925000 +vt 0.870968 0.918750 +vt 0.379032 0.825000 +vt -0.000000 0.850000 +vt -0.000000 0.825000 +vt -0.000000 0.850000 +vt 0.379032 0.825000 +vt 0.379032 0.850000 +vt 0.056452 0.850000 +vt 0.322581 0.825000 +vt 0.322581 0.850000 +vt 0.056452 0.850000 +vt 0.322581 0.825000 +vt 0.322581 0.850000 +vt 0.350806 0.825000 +vt 0.028226 0.850000 +vt 0.028226 0.825000 +vt 0.028226 0.850000 +vt 0.350806 0.825000 +vt 0.350806 0.850000 +vt 0.451613 0.775000 +vt 0.000000 0.825000 +vt 0.000000 0.775000 +vt 0.451613 0.775000 +vt 0.000000 0.825000 +vt 0.000000 0.775000 +vt 0.451613 0.775000 +vt 0.000000 0.825000 +vt 0.000000 0.775000 +vt 0.451613 0.775000 +vt 0.000000 0.825000 +vt 0.000000 0.775000 +vt 0.693548 0.350000 +vt 0.612903 0.337500 +vt 0.693548 0.337500 +vt 0.612903 0.350000 +vt 0.532258 0.337500 +vt 0.532258 0.350000 +vt 0.451613 0.337500 +vt 0.774194 0.350000 +vt 0.774194 0.337500 +vt 0.451613 0.275000 +vt 0.532258 0.275000 +vt 0.540323 0.356250 +vt 0.693548 0.450000 +vt 0.612903 0.437500 +vt 0.693548 0.437500 +vt 0.612903 0.450000 +vt 0.532258 0.437500 +vt 0.532258 0.450000 +vt 0.451613 0.437500 +vt 0.774194 0.450000 +vt 0.774194 0.437500 +vt 0.459677 0.356250 +vt 0.451613 0.350000 +vt 0.524194 0.356250 +vt 0.459677 0.431250 +vt 0.685484 0.356250 +vt 0.620968 0.431250 +vt 0.620968 0.356250 +vt 0.766129 0.356250 +vt 0.701613 0.431250 +vt 0.701613 0.356250 +vt 0.604839 0.356250 +vt 0.540323 0.431250 +vt 0.693548 0.350000 +vt 0.612903 0.337500 +vt 0.693548 0.337500 +vt 0.612903 0.350000 +vt 0.532258 0.337500 +vt 0.532258 0.350000 +vt 0.451613 0.337500 +vt 0.774194 0.350000 +vt 0.774194 0.337500 +vt 0.451613 0.275000 +vt 0.532258 0.275000 +vt 0.540323 0.356250 +vt 0.693548 0.450000 +vt 0.612903 0.437500 +vt 0.693548 0.437500 +vt 0.612903 0.450000 +vt 0.532258 0.437500 +vt 0.532258 0.450000 +vt 0.451613 0.437500 +vt 0.774194 0.450000 +vt 0.774194 0.437500 +vt 0.459677 0.356250 +vt 0.451613 0.350000 +vt 0.524194 0.356250 +vt 0.459677 0.431250 +vt 0.685484 0.356250 +vt 0.620968 0.431250 +vt 0.620968 0.356250 +vt 0.766129 0.356250 +vt 0.701613 0.431250 +vt 0.701613 0.356250 +vt 0.604839 0.356250 +vt 0.540323 0.431250 +vt 0.693548 0.350000 +vt 0.612903 0.337500 +vt 0.693548 0.337500 +vt 0.612903 0.350000 +vt 0.532258 0.337500 +vt 0.532258 0.350000 +vt 0.451613 0.337500 +vt 0.774194 0.350000 +vt 0.774194 0.337500 +vt 0.451613 0.275000 +vt 0.532258 0.275000 +vt 0.540323 0.356250 +vt 0.693548 0.450000 +vt 0.612903 0.437500 +vt 0.693548 0.437500 +vt 0.612903 0.450000 +vt 0.532258 0.437500 +vt 0.532258 0.450000 +vt 0.451613 0.437500 +vt 0.774194 0.450000 +vt 0.774194 0.437500 +vt 0.459677 0.356250 +vt 0.451613 0.350000 +vt 0.524194 0.356250 +vt 0.459677 0.431250 +vt 0.685484 0.356250 +vt 0.620968 0.431250 +vt 0.620968 0.356250 +vt 0.766129 0.356250 +vt 0.701613 0.431250 +vt 0.701613 0.356250 +vt 0.604839 0.356250 +vt 0.540323 0.431250 +vt 0.068548 0.856250 +vt 0.237903 0.859375 +vt 0.068548 0.859375 +vt 0.250000 0.856250 +vt 0.056452 0.859375 +vt 0.056452 0.856250 +vt 0.258065 0.856250 +vt 0.048387 0.859375 +vt 0.048387 0.856250 +vt 0.008065 0.868750 +vt 0.298387 0.865625 +vt 0.298387 0.868750 +vt 0.266129 0.856250 +vt 0.040323 0.859375 +vt 0.040323 0.856250 +vt 0.020161 0.868750 +vt 0.286290 0.865625 +vt 0.286290 0.868750 +vt 0.278226 0.856250 +vt 0.028226 0.859375 +vt 0.028226 0.856250 +vt 0.028226 0.868750 +vt 0.278226 0.865625 +vt 0.278226 0.868750 +vt 0.286290 0.856250 +vt 0.020161 0.859375 +vt 0.020161 0.856250 +vt 0.040323 0.868750 +vt 0.266129 0.865625 +vt 0.266129 0.868750 +vt 0.298387 0.856250 +vt 0.008065 0.859375 +vt 0.008065 0.856250 +vt 0.048387 0.868750 +vt 0.258065 0.865625 +vt 0.258065 0.868750 +vt 0.056452 0.868750 +vt 0.250000 0.865625 +vt 0.250000 0.868750 +vt 0.068548 0.868750 +vt 0.237903 0.865625 +vt 0.237903 0.868750 +vt 0.028226 0.865625 +vt 0.278226 0.859375 +vt 0.068548 0.865625 +vt 0.040323 0.865625 +vt 0.266129 0.859375 +vt 0.008065 0.865625 +vt 0.298387 0.859375 +vt 0.076613 0.865625 +vt 0.229839 0.859375 +vt 0.048387 0.865625 +vt 0.258065 0.859375 +vt 0.020161 0.865625 +vt 0.286290 0.859375 +vt 0.088710 0.865625 +vt 0.217742 0.859375 +vt 0.028226 0.850000 +vt 0.278226 0.850000 +vt 0.237903 0.856250 +vt 0.068548 0.850000 +vt 0.237903 0.850000 +vt 0.040323 0.850000 +vt 0.266129 0.850000 +vt 0.008065 0.850000 +vt 0.298387 0.850000 +vt 0.076613 0.850000 +vt 0.229839 0.850000 +vt 0.048387 0.850000 +vt 0.258065 0.850000 +vt 0.020161 0.850000 +vt 0.286290 0.850000 +vt 0.088710 0.850000 +vt 0.217742 0.850000 +vt 0.056452 0.865625 +vt 0.250000 0.859375 +vt 0.056452 0.850000 +vt 0.250000 0.850000 +vt 0.229839 0.856250 +vt 0.076613 0.859375 +vt 0.076613 0.856250 +vt 0.217742 0.856250 +vt 0.088710 0.859375 +vt 0.088710 0.856250 +vt 0.088710 0.868750 +vt 0.217742 0.865625 +vt 0.217742 0.868750 +vt 0.076613 0.868750 +vt 0.229839 0.865625 +vt 0.229839 0.868750 +vt 0.209677 0.862500 +vt 0.096774 0.859375 +vt 0.209677 0.859375 +vt 0.096774 0.856250 +vt 0.209677 0.853125 +vt 0.209677 0.856250 +vt -0.000000 0.859375 +vt 0.306452 0.856250 +vt 0.306452 0.859375 +vt -0.000000 0.862500 +vt 0.306452 0.862500 +vt 0.306452 0.853125 +vt -0.000000 0.856250 +vt -0.000000 0.853125 +vt 0.068548 0.856250 +vt 0.237903 0.859375 +vt 0.068548 0.859375 +vt 0.250000 0.856250 +vt 0.056452 0.859375 +vt 0.056452 0.856250 +vt 0.258065 0.856250 +vt 0.048387 0.859375 +vt 0.048387 0.856250 +vt 0.008065 0.868750 +vt 0.298387 0.865625 +vt 0.298387 0.868750 +vt 0.266129 0.856250 +vt 0.040323 0.859375 +vt 0.040323 0.856250 +vt 0.020161 0.868750 +vt 0.286290 0.865625 +vt 0.286290 0.868750 +vt 0.278226 0.856250 +vt 0.028226 0.859375 +vt 0.028226 0.856250 +vt 0.028226 0.868750 +vt 0.278226 0.865625 +vt 0.278226 0.868750 +vt 0.286290 0.856250 +vt 0.020161 0.859375 +vt 0.020161 0.856250 +vt 0.040323 0.868750 +vt 0.266129 0.865625 +vt 0.266129 0.868750 +vt 0.298387 0.856250 +vt 0.008065 0.859375 +vt 0.008065 0.856250 +vt 0.048387 0.868750 +vt 0.258065 0.865625 +vt 0.258065 0.868750 +vt 0.056452 0.868750 +vt 0.250000 0.865625 +vt 0.250000 0.868750 +vt 0.068548 0.868750 +vt 0.237903 0.865625 +vt 0.237903 0.868750 +vt 0.028226 0.865625 +vt 0.278226 0.859375 +vt 0.068548 0.865625 +vt 0.040323 0.865625 +vt 0.266129 0.859375 +vt 0.008065 0.865625 +vt 0.298387 0.859375 +vt 0.076613 0.865625 +vt 0.229839 0.859375 +vt 0.048387 0.865625 +vt 0.258065 0.859375 +vt 0.020161 0.865625 +vt 0.286290 0.859375 +vt 0.088710 0.865625 +vt 0.217742 0.859375 +vt 0.028226 0.850000 +vt 0.278226 0.850000 +vt 0.237903 0.856250 +vt 0.068548 0.850000 +vt 0.237903 0.850000 +vt 0.040323 0.850000 +vt 0.266129 0.850000 +vt 0.008065 0.850000 +vt 0.298387 0.850000 +vt 0.076613 0.850000 +vt 0.229839 0.850000 +vt 0.048387 0.850000 +vt 0.258065 0.850000 +vt 0.020161 0.850000 +vt 0.286290 0.850000 +vt 0.088710 0.850000 +vt 0.217742 0.850000 +vt 0.056452 0.865625 +vt 0.250000 0.859375 +vt 0.056452 0.850000 +vt 0.250000 0.850000 +vt 0.774194 0.450000 +vt 0.451613 0.462500 +vt 0.451613 0.450000 +vt 0.729839 0.450000 +vt 0.495968 0.462500 +vt 0.495968 0.450000 +vt 0.689516 0.450000 +vt 0.536290 0.462500 +vt 0.536290 0.450000 +vt 0.516129 0.462500 +vt 0.709677 0.450000 +vt 0.709677 0.462500 +vt 0.471774 0.462500 +vt 0.750000 0.450000 +vt 0.750000 0.462500 +vt 0.774194 0.462500 +vt 0.451613 0.450000 +vt 0.774194 0.450000 +vt 0.729839 0.462500 +vt 0.495968 0.450000 +vt 0.729839 0.450000 +vt 0.689516 0.462500 +vt 0.536290 0.450000 +vt 0.689516 0.450000 +vt 0.516129 0.450000 +vt 0.709677 0.462500 +vt 0.516129 0.462500 +vt 0.471774 0.450000 +vt 0.750000 0.462500 +vt 0.471774 0.462500 +vt 0.774194 0.450000 +vt 0.451613 0.462500 +vt 0.451613 0.450000 +vt 0.729839 0.450000 +vt 0.495968 0.462500 +vt 0.495968 0.450000 +vt 0.689516 0.450000 +vt 0.536290 0.462500 +vt 0.536290 0.450000 +vt 0.516129 0.462500 +vt 0.709677 0.450000 +vt 0.709677 0.462500 +vt 0.471774 0.462500 +vt 0.750000 0.450000 +vt 0.750000 0.462500 +vt 0.774194 0.462500 +vt 0.451613 0.450000 +vt 0.774194 0.450000 +vt 0.729839 0.462500 +vt 0.495968 0.450000 +vt 0.729839 0.450000 +vt 0.689516 0.462500 +vt 0.536290 0.450000 +vt 0.689516 0.450000 +vt 0.516129 0.450000 +vt 0.709677 0.462500 +vt 0.516129 0.462500 +vt 0.471774 0.450000 +vt 0.750000 0.462500 +vt 0.471774 0.462500 +vt 0.774194 0.450000 +vt 0.451613 0.462500 +vt 0.451613 0.450000 +vt 0.729839 0.450000 +vt 0.495968 0.462500 +vt 0.495968 0.450000 +vt 0.689516 0.450000 +vt 0.536290 0.462500 +vt 0.536290 0.450000 +vt 0.516129 0.462500 +vt 0.709677 0.450000 +vt 0.709677 0.462500 +vt 0.471774 0.462500 +vt 0.750000 0.450000 +vt 0.750000 0.462500 +vt 0.774194 0.462500 +vt 0.451613 0.450000 +vt 0.774194 0.450000 +vt 0.729839 0.462500 +vt 0.495968 0.450000 +vt 0.729839 0.450000 +vt 0.689516 0.462500 +vt 0.536290 0.450000 +vt 0.689516 0.450000 +vt 0.516129 0.450000 +vt 0.709677 0.462500 +vt 0.516129 0.462500 +vt 0.471774 0.450000 +vt 0.750000 0.462500 +vt 0.471774 0.462500 +vt 0.451613 0.450000 +vt 0.524194 0.431250 +vt 0.685484 0.431250 +vt 0.766129 0.431250 +vt 0.604839 0.431250 +vt 0.000000 0.425000 +vt 0.000000 0.425000 +vt 0.000000 0.425000 +vt 0.870968 1.000000 +vt 0.870968 1.000000 +vt 0.870968 1.000000 +vt 0.870968 1.000000 +vt 0.209677 0.487500 +vt 0.209677 0.725000 +vt 0.209677 0.612500 +vt 0.064516 0.600000 +vt 0.064516 0.600000 +vt 0.096774 0.862500 +vt 0.096774 0.853125 +vt 0.774194 0.462500 +vt 0.729839 0.462500 +vt 0.689516 0.462500 +vt 0.516129 0.450000 +vt 0.471774 0.450000 +vt 0.451613 0.462500 +vt 0.495968 0.462500 +vt 0.536290 0.462500 +vt 0.709677 0.450000 +vt 0.750000 0.450000 +vt 0.096774 0.862500 +vt 0.096774 0.853125 +vt 0.096774 0.853125 +vt 0.096774 0.862500 +vt 0.471774 0.668750 +vt 0.669355 0.668750 +vt 0.471774 0.668750 +vt 0.669355 0.668750 +vt 0.669355 0.468750 +vt 0.637097 0.668750 +vt 0.669355 0.468750 +vt 0.637097 0.668750 +vt 0.637097 0.668750 +vt 0.471774 0.668750 +vt 0.669355 0.468750 +vt 0.669355 0.668750 +vt 0.459677 0.850000 +vt 0.649194 0.675000 +vt 0.770161 0.850000 +vt 0.330645 0.850000 +vt 0.782258 0.462500 +vt 0.750000 0.462500 +vt 0.733004 0.544184 +vt 0.726082 0.531233 +vt 0.745968 0.462500 +vt 0.745968 0.512500 +vt 0.946554 0.902721 +vt 0.940037 0.897670 +vt 0.936510 0.891071 +vt 0.940037 0.877329 +vt 0.946554 0.872279 +vt 0.955069 0.869545 +vt 0.972801 0.872279 +vt 0.979318 0.877329 +vt 0.982845 0.883929 +vt 0.982845 0.891071 +vt 0.979318 0.897670 +vt 0.972801 0.902721 +vt 0.964286 0.905455 +vt 0.673387 0.512500 +vt 0.733004 0.518281 +vt 0.749716 0.549549 +vt 0.673387 0.512500 +vt 0.669355 0.540625 +vt 0.689516 0.543750 +vt 0.693548 0.528125 +vt 0.693548 0.531250 +vt 0.697581 0.518750 +vt 0.713710 0.518750 +vt 0.697581 0.512500 +vt 0.935484 0.925000 +vt 0.870968 0.918750 +vt 0.870968 0.918750 +vt 0.935484 0.925000 +vt 0.379032 0.850000 +vt -0.000000 0.825000 +vt 0.056452 0.825000 +vt 0.056452 0.825000 +vt 0.350806 0.850000 +vt 0.028226 0.825000 +vt 0.451613 0.825000 +vt 0.451613 0.825000 +vt 0.451613 0.825000 +vt 0.451613 0.825000 +vt 0.451613 0.450000 +vt 0.524194 0.431250 +vt 0.685484 0.431250 +vt 0.766129 0.431250 +vt 0.604839 0.431250 +vt 0.451613 0.450000 +vt 0.524194 0.431250 +vt 0.685484 0.431250 +vt 0.766129 0.431250 +vt 0.604839 0.431250 +vt 0.451613 0.450000 +vt 0.524194 0.431250 +vt 0.685484 0.431250 +vt 0.766129 0.431250 +vt 0.604839 0.431250 +vt 0.096774 0.862500 +vt 0.096774 0.853125 +vt 0.774194 0.462500 +vt 0.729839 0.462500 +vt 0.689516 0.462500 +vt 0.516129 0.450000 +vt 0.471774 0.450000 +vt 0.451613 0.462500 +vt 0.495968 0.462500 +vt 0.536290 0.462500 +vt 0.709677 0.450000 +vt 0.750000 0.450000 +vt 0.774194 0.462500 +vt 0.729839 0.462500 +vt 0.689516 0.462500 +vt 0.516129 0.450000 +vt 0.471774 0.450000 +vt 0.451613 0.462500 +vt 0.495968 0.462500 +vt 0.536290 0.462500 +vt 0.709677 0.450000 +vt 0.750000 0.450000 +vt 0.774194 0.462500 +vt 0.729839 0.462500 +vt 0.689516 0.462500 +vt 0.516129 0.450000 +vt 0.471774 0.450000 +vt 0.451613 0.462500 +vt 0.495968 0.462500 +vt 0.536290 0.462500 +vt 0.709677 0.450000 +vt 0.750000 0.450000 +vt 0.887097 0.750000 +vt 0.879032 0.868750 +vt 0.879032 0.750000 +vt 0.951613 0.750000 +vt 0.943548 0.868750 +vt 0.943548 0.750000 +vt 0.895161 0.750000 +vt 0.887097 0.868750 +vt 0.959677 0.750000 +vt 0.951613 0.868750 +vt 0.903226 0.750000 +vt 0.895161 0.868750 +vt 0.975806 0.750000 +vt 0.967742 0.868750 +vt 0.967742 0.750000 +vt 0.959677 0.868750 +vt 0.911290 0.750000 +vt 0.903226 0.868750 +vt 0.983871 0.750000 +vt 0.975806 0.868750 +vt 0.919355 0.750000 +vt 0.911290 0.868750 +vt 0.991935 0.750000 +vt 0.983871 0.868750 +vt 0.927419 0.750000 +vt 0.919355 0.868750 +vt 1.000000 0.750000 +vt 0.991935 0.868750 +vt 0.935484 0.750000 +vt 0.927419 0.868750 +vt 0.870968 0.868750 +vt 0.870968 0.750000 +vt 0.935484 0.868750 +vt 0.919355 0.000000 +vt 0.911290 0.750000 +vt 0.911290 0.000000 +vt 0.991935 0.000000 +vt 0.983871 0.750000 +vt 0.983871 0.000000 +vt 0.927419 0.000000 +vt 0.919355 0.750000 +vt 1.000000 0.000000 +vt 0.991935 0.750000 +vt 0.935484 0.000000 +vt 0.927419 0.750000 +vt 0.879032 -0.000000 +vt 0.870968 0.750000 +vt 0.870968 -0.000000 +vt 0.943548 0.000000 +vt 0.935484 0.750000 +vt 0.887097 -0.000000 +vt 0.879032 0.750000 +vt 0.951613 0.000000 +vt 0.943548 0.750000 +vt 0.895161 -0.000000 +vt 0.887097 0.750000 +vt 0.959677 0.000000 +vt 0.951613 0.750000 +vt 0.903226 0.000000 +vt 0.895161 0.750000 +vt 0.975806 0.000000 +vt 0.967742 0.750000 +vt 0.967742 0.000000 +vt 0.959677 0.750000 +vt 0.903226 0.750000 +vt 0.975806 0.750000 +vt 0.677419 0.487500 +vt 0.741935 0.475000 +vt 0.741935 0.487500 +vt 0.677419 0.475000 +vt 0.741935 0.462500 +vt 0.677419 0.512500 +vt 0.741935 0.500000 +vt 0.741935 0.512500 +vt 0.677419 0.500000 +vt 0.669355 0.487500 +vt 0.673387 0.500000 +vt 0.669355 0.500000 +vt 0.745968 0.500000 +vt 0.750000 0.512500 +vt 0.745968 0.512500 +vt 0.745968 0.462500 +vt 0.750000 0.475000 +vt 0.745968 0.475000 +vt 0.669355 0.462500 +vt 0.673387 0.475000 +vt 0.669355 0.475000 +vt 0.673387 0.512500 +vt 0.669355 0.512500 +vt 0.745968 0.487500 +vt 0.750000 0.500000 +vt 0.750000 0.487500 +vt 0.673387 0.487500 +vt 1.000000 0.868750 +vt 1.000000 0.750000 +vt 0.677419 0.462500 +vt 0.750000 0.462500 +vt 0.673387 0.462500 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.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.9972 -0.0748 0.0000 +vn 0.0000 -0.0748 0.9972 +vn 0.9972 0.0748 0.0000 +vn 0.0000 0.0748 -0.9972 +vn 0.0000 0.0748 0.9972 +vn 0.0000 -0.0748 -0.9972 +vn -0.9972 0.0748 0.0000 +vn 0.9972 -0.0748 0.0000 +vn 0.9977 0.0000 -0.0673 +vn 0.9958 0.0000 -0.0919 +vn 0.9895 0.0000 -0.1448 +vn 0.9937 0.0000 -0.1125 +vn 0.9970 0.0000 -0.0777 +vn 0.9977 0.0000 0.0673 +vn 0.9958 0.0000 0.0919 +vn 0.9895 0.0000 0.1448 +vn 0.9937 0.0000 0.1125 +vn 0.9970 0.0000 0.0777 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 -0.8944 -0.4472 +vn -0.7071 0.0000 0.7071 +vn -0.7071 0.0000 -0.7071 +vn -0.0673 0.0000 -0.9977 +vn -0.0919 0.0000 -0.9958 +vn -0.1448 0.0000 -0.9895 +vn -0.1125 0.0000 -0.9937 +vn -0.0777 0.0000 -0.9970 +vn 0.0673 0.0000 -0.9977 +vn 0.0919 0.0000 -0.9958 +vn 0.1448 0.0000 -0.9895 +vn 0.1125 0.0000 -0.9937 +vn 0.0777 0.0000 -0.9970 +vn -0.9977 0.0000 0.0673 +vn -0.9958 0.0000 0.0919 +vn -0.9895 0.0000 0.1448 +vn -0.9937 0.0000 0.1125 +vn -0.9970 0.0000 0.0777 +vn -0.9977 0.0000 -0.0673 +vn -0.9958 0.0000 -0.0919 +vn -0.9895 0.0000 -0.1448 +vn -0.9937 0.0000 -0.1125 +vn -0.9970 0.0000 -0.0777 +vn 0.0673 0.0000 0.9977 +vn 0.0919 0.0000 0.9958 +vn 0.1448 0.0000 0.9895 +vn 0.1125 0.0000 0.9937 +vn 0.0777 0.0000 0.9970 +vn -0.0673 0.0000 0.9977 +vn -0.0919 0.0000 0.9958 +vn -0.1448 0.0000 0.9895 +vn -0.1125 0.0000 0.9937 +vn -0.0777 0.0000 0.9970 +vn 0.0000 1.0000 -0.0001 +vn 0.0000 1.0000 0.0001 +vn -0.9239 0.0000 0.3827 +vn 0.7071 0.0000 -0.7071 +vn 0.9239 0.0000 -0.3827 +vn -0.3827 0.0000 0.9239 +vn 0.3827 0.0000 -0.9239 +vn -0.3827 0.0000 -0.9239 +vn 0.3827 0.0000 0.9239 +vn 0.7071 0.0000 0.7071 +vn -0.9239 0.0000 -0.3827 +vn 0.9239 0.0000 0.3827 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 -0.9239 -0.3827 +vn 0.0000 0.9239 -0.3827 +vn 0.0000 0.7071 -0.7071 +s off +f 2/1/1 3/2/1 1/3/1 +f 4/4/2 7/5/2 3/2/2 +f 8/6/3 5/7/3 7/5/3 +f 6/8/4 1/3/4 5/9/4 +f 7/5/5 1/10/5 3/11/5 +f 4/4/6 12/12/6 8/6/6 +f 14/13/1 15/14/1 13/15/1 +f 16/16/2 19/17/2 15/14/2 +f 20/18/3 17/19/3 19/17/3 +f 18/20/4 13/15/4 17/21/4 +f 8/6/6 11/22/6 6/23/6 +f 12/24/3 24/25/3 11/22/3 +f 9/26/1 22/27/1 10/28/1 +f 11/29/4 21/30/4 9/31/4 +f 10/32/2 23/33/2 12/12/2 +f 21/30/5 17/21/5 13/15/5 +f 22/27/5 13/15/5 15/14/5 +f 23/33/5 15/14/5 19/17/5 +f 24/25/5 19/17/5 17/19/5 +f 6/8/6 9/31/6 2/1/6 +f 2/1/6 10/28/6 4/4/6 +f 26/34/1 27/35/1 25/36/1 +f 28/37/2 31/38/2 27/39/2 +f 32/40/3 29/41/3 31/42/3 +f 30/43/4 25/44/4 29/45/4 +f 31/42/5 25/46/5 27/47/5 +f 34/48/6 26/49/6 30/50/6 +f 36/51/6 30/50/6 32/40/6 +f 39/52/6 37/53/6 38/54/6 +f 35/55/2 40/56/2 36/57/2 +f 34/58/4 38/54/4 33/59/4 +f 36/60/3 39/52/3 34/61/3 +f 33/62/1 37/53/1 35/63/1 +f 33/64/6 28/65/6 26/49/6 +f 35/66/6 32/40/6 28/65/6 +f 42/67/7 48/68/7 44/69/7 +f 42/70/8 45/71/8 46/72/8 +f 41/73/9 47/74/9 45/71/9 +f 44/69/10 47/74/10 43/75/10 +f 52/76/7 54/77/7 56/78/7 +f 50/79/11 53/80/11 54/77/11 +f 51/81/9 53/80/9 49/82/9 +f 52/83/12 55/84/12 51/81/12 +f 58/85/13 64/86/13 60/87/13 +f 57/88/8 62/89/8 58/85/8 +f 57/90/14 63/91/14 61/92/14 +f 59/93/10 64/86/10 63/91/10 +f 68/94/13 70/95/13 72/96/13 +f 65/97/11 70/95/11 66/98/11 +f 67/99/14 69/100/14 65/97/14 +f 67/101/12 72/96/12 71/102/12 +f 76/103/5 73/104/5 74/105/5 +f 77/106/6 80/107/6 78/108/6 +f 74/109/4 80/110/4 76/111/4 +f 75/112/2 77/113/2 73/114/2 +f 76/115/1 79/116/1 75/117/1 +f 73/104/3 78/108/3 74/105/3 +f 104/118/3 97/119/3 90/120/3 +f 149/121/1 146/122/1 150/123/1 +f 107/124/3 94/125/3 93/126/3 +f 83/127/3 101/128/3 86/129/3 +f 103/130/3 98/131/3 89/132/3 +f 106/133/3 95/134/3 92/135/3 +f 84/136/3 102/137/3 85/138/3 +f 81/139/3 99/140/3 88/141/3 +f 105/142/3 96/143/3 91/144/3 +f 82/145/3 100/146/3 87/147/3 +f 139/148/1 141/149/1 142/150/1 +f 135/151/1 137/152/1 138/153/1 +f 131/154/1 133/155/1 134/156/1 +f 127/157/1 129/158/1 130/159/1 +f 123/160/1 125/161/1 126/162/1 +f 119/163/1 121/164/1 122/165/1 +f 148/166/1 117/167/1 118/168/1 +f 151/169/1 144/170/1 152/171/1 +f 96/172/5 118/168/5 91/173/5 +f 97/174/5 150/123/5 90/175/5 +f 98/176/5 134/156/5 89/177/5 +f 84/136/6 124/178/6 116/179/6 +f 99/180/5 122/165/5 88/181/5 +f 83/127/6 136/182/6 115/183/6 +f 100/184/5 152/171/5 87/185/5 +f 82/145/6 143/186/6 114/187/6 +f 101/188/5 138/153/5 86/189/5 +f 81/139/6 120/190/6 113/191/6 +f 102/192/5 126/162/5 85/193/5 +f 103/130/6 132/194/6 112/195/6 +f 104/118/6 145/196/6 111/197/6 +f 105/142/6 147/198/6 110/199/6 +f 106/133/6 128/200/6 109/201/6 +f 107/124/6 140/202/6 108/203/6 +f 94/204/5 142/150/5 93/205/5 +f 95/206/5 130/159/5 92/207/5 +f 155/208/3 154/209/3 153/210/3 +f 158/211/1 159/212/1 157/213/1 +f 154/209/5 157/213/5 153/210/5 +f 166/214/6 167/215/6 165/216/6 +f 162/217/1 165/216/1 161/218/1 +f 163/219/3 168/220/3 164/221/3 +f 180/222/15 208/223/15 207/224/15 +f 185/225/16 190/226/16 189/227/16 +f 187/228/17 194/229/17 193/230/17 +f 202/231/18 176/232/18 175/233/18 +f 198/234/19 172/235/19 171/236/19 +f 191/237/20 178/238/20 192/239/20 +f 206/240/21 173/241/21 204/242/21 +f 203/243/22 170/244/22 201/245/22 +f 182/246/23 196/247/23 181/248/23 +f 186/249/24 200/250/24 183/251/24 +f 633/252/6 611/253/6 630/254/6 +f 632/255/6 220/256/6 631/257/6 +f 645/258/5 222/259/5 646/260/5 +f 644/261/5 210/262/5 647/263/5 +f 235/264/1 234/265/1 233/266/1 +f 238/267/3 239/268/3 237/269/3 +f 234/265/5 237/269/5 233/266/5 +f 246/270/6 247/271/6 245/272/6 +f 242/273/3 245/272/3 241/274/3 +f 243/275/1 248/276/1 244/277/1 +f 254/278/2 249/279/2 253/280/2 +f 255/281/4 252/282/4 256/283/4 +f 251/284/6 250/285/6 252/282/6 +f 263/286/5 260/287/5 264/288/5 +f 259/289/4 258/290/4 260/287/4 +f 262/291/2 263/286/2 264/288/2 +f 322/292/5 287/293/5 325/294/5 +f 323/295/5 275/296/5 324/297/5 +f 310/298/6 277/299/6 309/300/6 +f 311/301/6 289/302/6 308/303/6 +f 307/304/6 300/305/6 270/306/6 +f 313/307/6 272/308/6 306/309/6 +f 314/310/6 285/311/6 305/312/6 +f 315/313/5 291/314/5 332/315/5 +f 336/316/6 297/317/6 304/318/6 +f 316/319/5 279/320/5 331/321/5 +f 335/322/6 274/323/6 303/324/6 +f 317/325/5 265/326/5 330/327/5 +f 334/328/6 281/329/6 302/330/6 +f 318/331/5 295/332/5 329/333/5 +f 333/334/6 293/335/6 301/336/6 +f 319/337/5 283/338/5 328/339/5 +f 320/340/5 267/341/5 327/342/5 +f 321/343/5 299/344/5 326/345/5 +f 266/346/4 273/347/4 265/326/4 +f 269/348/4 300/305/4 299/344/4 +f 298/349/4 296/350/4 295/332/4 +f 294/351/4 292/352/4 291/314/4 +f 290/353/4 288/354/4 287/293/4 +f 286/355/4 284/356/4 283/338/4 +f 282/357/4 280/358/4 279/320/4 +f 278/359/4 276/360/4 275/296/4 +f 335/322/2 317/361/2 330/362/2 +f 312/363/2 321/364/2 326/365/2 +f 336/316/2 318/366/2 329/367/2 +f 333/334/2 315/368/2 332/369/2 +f 311/301/2 322/370/2 325/371/2 +f 314/310/2 319/372/2 328/373/2 +f 334/328/2 316/374/2 331/375/2 +f 310/298/2 323/376/2 324/377/2 +f 268/378/4 271/379/4 267/341/4 +f 313/307/2 320/380/2 327/381/2 +f 344/382/6 340/383/6 341/384/6 +f 343/385/9 340/386/9 338/387/9 +f 360/388/6 356/389/6 357/390/6 +f 359/391/10 356/392/10 354/393/10 +f 359/394/5 355/395/5 358/396/5 +f 358/397/11 353/398/11 360/399/11 +f 356/389/9 355/395/9 354/393/9 +f 358/397/7 357/400/7 359/401/7 +f 343/402/5 339/403/5 342/404/5 +f 342/405/13 337/406/13 344/407/13 +f 340/383/11 339/403/11 338/387/11 +f 342/405/12 341/408/12 343/409/12 +f 347/410/14 348/411/14 346/412/14 +f 349/413/13 350/414/13 351/415/13 +f 347/410/10 352/416/10 345/417/10 +f 346/418/5 350/414/5 347/419/5 +f 346/420/11 349/421/11 351/415/11 +f 345/422/6 349/413/6 348/423/6 +f 362/424/8 364/425/8 361/426/8 +f 361/427/5 366/428/5 365/429/5 +f 365/429/2 368/430/2 367/431/2 +f 368/430/13 364/432/13 363/433/13 +f 367/431/6 363/433/6 362/434/6 +f 361/435/9 367/431/9 362/434/9 +f 406/436/1 392/437/1 407/438/1 +f 392/439/4 399/440/4 391/441/4 +f 400/442/2 407/438/2 408/443/2 +f 394/444/1 393/445/1 389/446/1 +f 375/447/3 369/448/3 373/449/3 +f 373/449/3 370/450/3 371/451/3 +f 370/450/3 379/452/3 371/451/3 +f 386/453/3 377/454/3 379/452/3 +f 382/455/6 384/456/6 383/457/6 +f 376/458/1 410/459/1 409/460/1 +f 374/461/1 404/462/1 410/459/1 +f 408/443/3 399/440/3 400/442/3 +f 380/463/1 404/462/1 372/464/1 +f 777/465/6 781/466/6 785/467/6 +f 378/468/1 403/469/1 380/463/1 +f 401/470/3 395/471/3 396/472/3 +f 413/473/5 411/474/5 412/475/5 +f 384/456/3 412/475/3 383/457/3 +f 390/476/4 413/477/4 384/456/4 +f 382/455/1 414/478/1 390/476/1 +f 383/457/2 411/479/2 382/455/2 +f 429/480/25 432/481/25 430/482/25 +f 432/481/1 433/483/1 428/484/1 +f 417/485/2 421/486/2 418/487/2 +f 418/487/1 422/488/1 415/489/1 +f 415/489/4 419/490/4 416/491/4 +f 416/492/3 420/493/3 417/485/3 +f 422/494/1 421/495/1 426/496/1 +f 426/496/1 428/497/1 422/494/1 +f 420/498/3 419/499/3 423/500/3 +f 429/501/3 427/502/3 431/503/3 +f 423/500/5 430/482/5 426/496/5 +f 419/499/3 429/480/3 423/500/3 +f 422/488/6 427/504/6 419/490/6 +f 433/505/6 425/506/6 434/507/6 +f 431/503/4 424/508/4 432/481/4 +f 428/484/1 430/509/1 432/481/1 +f 427/502/3 425/510/3 431/503/3 +f 420/493/26 426/496/26 421/486/26 +f 428/511/2 434/507/2 427/504/2 +f 437/512/5 436/513/5 435/514/5 +f 441/515/6 439/516/6 440/517/6 +f 438/518/3 441/515/3 436/513/3 +f 435/519/1 439/520/1 437/521/1 +f 437/522/2 442/523/2 438/524/2 +f 436/525/4 440/526/4 435/527/4 +f 521/528/27 510/529/27 509/530/27 +f 524/531/28 511/532/28 512/533/28 +f 520/534/27 507/535/27 508/536/27 +f 526/537/28 513/538/28 514/539/28 +f 528/540/27 515/541/27 516/542/27 +f 529/543/28 518/544/28 517/545/28 +f 533/546/4 535/547/4 531/548/4 +f 532/549/2 538/550/2 534/551/2 +f 534/552/3 537/553/3 533/554/3 +f 531/555/1 536/556/1 532/557/1 +f 540/558/1 541/559/1 539/560/1 +f 542/561/2 545/562/2 541/559/2 +f 546/563/3 543/564/3 545/562/3 +f 544/565/4 539/560/4 543/566/4 +f 545/562/5 539/567/5 541/568/5 +f 542/561/6 550/569/6 546/563/6 +f 552/570/1 553/571/1 551/572/1 +f 554/573/2 557/574/2 553/571/2 +f 558/575/3 555/576/3 557/574/3 +f 556/577/4 551/572/4 555/578/4 +f 546/563/6 549/579/6 544/580/6 +f 550/581/3 562/582/3 549/579/3 +f 547/583/1 560/584/1 548/585/1 +f 549/586/4 559/587/4 547/588/4 +f 548/589/2 561/590/2 550/569/2 +f 559/587/5 555/578/5 551/572/5 +f 560/584/5 551/572/5 553/571/5 +f 561/590/5 553/571/5 557/574/5 +f 562/582/5 557/574/5 555/576/5 +f 544/565/6 547/588/6 540/558/6 +f 540/558/6 548/585/6 542/561/6 +f 564/591/1 565/592/1 563/593/1 +f 566/594/2 569/595/2 565/592/2 +f 570/596/3 567/597/3 569/595/3 +f 568/598/4 563/593/4 567/599/4 +f 569/595/5 563/600/5 565/601/5 +f 566/594/6 574/602/6 570/596/6 +f 576/603/1 577/604/1 575/605/1 +f 578/606/2 581/607/2 577/604/2 +f 582/608/3 579/609/3 581/607/3 +f 580/610/4 575/605/4 579/611/4 +f 570/596/6 573/612/6 568/613/6 +f 574/614/3 586/615/3 573/612/3 +f 571/616/1 584/617/1 572/618/1 +f 573/619/4 583/620/4 571/621/4 +f 572/622/2 585/623/2 574/602/2 +f 583/620/5 579/611/5 575/605/5 +f 584/617/5 575/605/5 577/604/5 +f 585/623/5 577/604/5 581/607/5 +f 586/615/5 581/607/5 579/609/5 +f 568/598/6 571/621/6 564/591/6 +f 564/591/6 572/618/6 566/594/6 +f 588/624/1 589/625/1 587/626/1 +f 590/627/2 593/628/2 589/625/2 +f 594/629/3 591/630/3 593/628/3 +f 592/631/4 587/626/4 591/632/4 +f 593/628/5 587/633/5 589/634/5 +f 590/627/6 598/635/6 594/629/6 +f 600/636/1 601/637/1 599/638/1 +f 602/639/2 605/640/2 601/637/2 +f 606/641/3 603/642/3 605/640/3 +f 604/643/4 599/638/4 603/644/4 +f 594/629/6 597/645/6 592/646/6 +f 598/647/3 610/648/3 597/645/3 +f 595/649/1 608/650/1 596/651/1 +f 597/652/4 607/653/4 595/654/4 +f 596/655/2 609/656/2 598/635/2 +f 607/653/5 603/644/5 599/638/5 +f 608/650/5 599/638/5 601/637/5 +f 609/656/5 601/637/5 605/640/5 +f 610/648/5 605/640/5 603/642/5 +f 592/631/6 595/654/6 588/624/6 +f 588/624/6 596/651/6 590/627/6 +f 629/657/6 622/658/6 227/659/6 +f 635/660/6 225/661/6 628/662/6 +f 636/663/6 212/664/6 627/665/6 +f 637/666/5 613/667/5 654/668/5 +f 658/669/6 619/670/6 626/671/6 +f 638/672/5 218/673/5 653/674/5 +f 657/675/6 223/676/6 625/677/6 +f 639/678/5 232/679/5 652/680/5 +f 656/681/6 216/682/6 624/683/6 +f 640/684/5 617/685/5 651/686/5 +f 655/687/6 615/688/6 623/689/6 +f 641/690/5 214/691/5 650/692/5 +f 642/693/5 230/694/5 649/695/5 +f 643/696/5 621/697/5 648/698/5 +f 231/699/3 224/700/3 232/679/3 +f 228/701/3 622/658/3 621/697/3 +f 620/702/3 618/703/3 617/685/3 +f 616/704/3 614/705/3 613/667/3 +f 612/706/3 209/707/3 210/262/3 +f 211/708/3 213/709/3 214/691/3 +f 215/710/3 217/711/3 218/673/3 +f 219/712/3 221/713/3 222/259/3 +f 657/675/1 639/714/1 652/715/1 +f 634/716/1 643/717/1 648/718/1 +f 658/669/1 640/719/1 651/720/1 +f 655/687/1 637/721/1 654/722/1 +f 633/252/1 644/723/1 647/724/1 +f 636/663/1 641/725/1 650/726/1 +f 656/681/1 638/727/1 653/728/1 +f 632/255/1 645/729/1 646/730/1 +f 229/731/3 226/732/3 230/694/3 +f 635/660/1 642/733/1 649/734/1 +f 721/735/6 699/736/6 718/737/6 +f 720/738/6 670/739/6 719/740/6 +f 733/741/5 672/742/5 734/743/5 +f 732/744/5 660/745/5 735/746/5 +f 685/747/4 684/748/4 683/749/4 +f 688/750/2 689/751/2 687/752/2 +f 684/748/5 687/752/5 683/749/5 +f 696/753/6 697/754/6 695/755/6 +f 692/756/2 695/755/2 691/757/2 +f 693/758/4 698/759/4 694/760/4 +f 717/761/6 710/762/6 677/763/6 +f 723/764/6 675/765/6 716/766/6 +f 724/767/6 662/768/6 715/769/6 +f 725/770/5 701/771/5 742/772/5 +f 746/773/6 707/774/6 714/775/6 +f 726/776/5 668/777/5 741/778/5 +f 745/779/6 673/780/6 713/781/6 +f 727/782/5 682/783/5 740/784/5 +f 744/785/6 666/786/6 712/787/6 +f 728/788/5 705/789/5 739/790/5 +f 743/791/6 703/792/6 711/793/6 +f 729/794/5 664/795/5 738/796/5 +f 730/797/5 680/798/5 737/799/5 +f 731/800/5 709/801/5 736/802/5 +f 681/803/2 674/804/2 682/783/2 +f 678/805/2 710/762/2 709/801/2 +f 708/806/2 706/807/2 705/789/2 +f 704/808/2 702/809/2 701/771/2 +f 700/810/2 659/811/2 660/745/2 +f 661/812/2 663/813/2 664/795/2 +f 665/814/2 667/815/2 668/777/2 +f 669/816/2 671/817/2 672/742/2 +f 745/779/4 727/818/4 740/819/4 +f 722/820/4 731/821/4 736/822/4 +f 746/773/4 728/823/4 739/824/4 +f 743/791/4 725/825/4 742/826/4 +f 721/735/4 732/827/4 735/828/4 +f 724/767/4 729/829/4 738/830/4 +f 744/785/4 726/831/4 741/832/4 +f 720/738/4 733/833/4 734/834/4 +f 679/835/2 676/836/2 680/798/2 +f 723/764/4 730/837/4 737/838/4 +f 804/839/29 832/840/29 831/841/29 +f 809/842/30 814/843/30 813/844/30 +f 811/845/31 818/846/31 817/847/31 +f 826/848/32 800/849/32 799/850/32 +f 822/851/33 796/852/33 795/853/33 +f 815/854/34 802/855/34 816/856/34 +f 830/857/35 797/858/35 828/859/35 +f 827/860/36 794/861/36 825/862/36 +f 806/863/37 820/864/37 805/865/37 +f 810/866/38 824/867/38 807/868/38 +f 844/869/39 872/870/39 871/871/39 +f 849/872/40 854/873/40 853/874/40 +f 851/875/41 858/876/41 857/877/41 +f 866/878/42 840/879/42 839/880/42 +f 862/881/43 836/882/43 835/883/43 +f 855/884/44 842/885/44 856/886/44 +f 870/887/45 837/888/45 868/889/45 +f 867/890/46 834/891/46 865/892/46 +f 846/893/47 860/894/47 845/895/47 +f 850/896/48 864/897/48 847/898/48 +f 884/899/49 912/900/49 911/901/49 +f 889/902/50 894/903/50 893/904/50 +f 891/905/51 898/906/51 897/907/51 +f 906/908/52 880/909/52 879/910/52 +f 902/911/53 876/912/53 875/913/53 +f 895/914/54 882/915/54 896/916/54 +f 910/917/55 877/918/55 908/919/55 +f 907/920/56 874/921/56 905/922/56 +f 886/923/57 900/924/57 885/925/57 +f 890/926/58 904/927/58 887/928/58 +f 2/1/1 4/4/1 3/2/1 +f 4/4/2 8/6/2 7/5/2 +f 8/6/3 6/23/3 5/7/3 +f 6/8/4 2/1/4 1/3/4 +f 7/5/5 5/7/5 1/10/5 +f 4/4/6 10/32/6 12/12/6 +f 14/13/1 16/16/1 15/14/1 +f 16/16/2 20/18/2 19/17/2 +f 20/18/3 18/929/3 17/19/3 +f 18/20/4 14/13/4 13/15/4 +f 8/6/6 12/24/6 11/22/6 +f 12/24/3 23/930/3 24/25/3 +f 9/26/1 21/931/1 22/27/1 +f 11/29/4 24/932/4 21/30/4 +f 10/32/2 22/933/2 23/33/2 +f 21/30/5 24/932/5 17/21/5 +f 22/27/5 21/931/5 13/15/5 +f 23/33/5 22/933/5 15/14/5 +f 24/25/5 23/930/5 19/17/5 +f 6/8/6 11/29/6 9/31/6 +f 2/1/6 9/26/6 10/28/6 +f 26/34/1 28/934/1 27/35/1 +f 28/37/2 32/935/2 31/38/2 +f 32/40/3 30/50/3 29/41/3 +f 30/43/4 26/936/4 25/44/4 +f 31/42/5 29/41/5 25/46/5 +f 34/48/6 33/64/6 26/49/6 +f 36/51/6 34/48/6 30/50/6 +f 39/52/6 40/56/6 37/53/6 +f 35/55/2 37/53/2 40/56/2 +f 34/58/4 39/52/4 38/54/4 +f 36/60/3 40/56/3 39/52/3 +f 33/62/1 38/54/1 37/53/1 +f 33/64/6 35/66/6 28/65/6 +f 35/66/6 36/51/6 32/40/6 +f 42/67/7 46/937/7 48/68/7 +f 42/70/8 41/73/8 45/71/8 +f 41/73/9 43/75/9 47/74/9 +f 44/69/10 48/68/10 47/74/10 +f 52/76/7 50/79/7 54/77/7 +f 50/79/11 49/82/11 53/80/11 +f 51/81/9 55/84/9 53/80/9 +f 52/83/12 56/938/12 55/84/12 +f 58/85/13 62/89/13 64/86/13 +f 57/88/8 61/939/8 62/89/8 +f 57/90/14 59/93/14 63/91/14 +f 59/93/10 60/87/10 64/86/10 +f 68/94/13 66/98/13 70/95/13 +f 65/97/11 69/100/11 70/95/11 +f 67/99/14 71/940/14 69/100/14 +f 67/101/12 68/94/12 72/96/12 +f 76/103/5 75/941/5 73/104/5 +f 77/106/6 79/942/6 80/107/6 +f 74/109/4 78/943/4 80/110/4 +f 75/112/2 79/944/2 77/113/2 +f 76/115/1 80/945/1 79/116/1 +f 73/104/3 77/106/3 78/108/3 +f 104/118/3 111/197/3 97/119/3 +f 149/121/1 145/196/1 146/122/1 +f 107/124/3 108/203/3 94/125/3 +f 83/127/3 115/183/3 101/128/3 +f 103/130/3 112/195/3 98/131/3 +f 106/133/3 109/201/3 95/134/3 +f 84/136/3 116/179/3 102/137/3 +f 81/139/3 113/191/3 99/140/3 +f 105/142/3 110/199/3 96/143/3 +f 82/145/3 114/187/3 100/146/3 +f 139/148/1 140/202/1 141/149/1 +f 135/151/1 136/182/1 137/152/1 +f 131/154/1 132/194/1 133/155/1 +f 127/157/1 128/200/1 129/158/1 +f 123/160/1 124/178/1 125/161/1 +f 119/163/1 120/190/1 121/164/1 +f 148/166/1 147/198/1 117/167/1 +f 151/169/1 143/186/1 144/170/1 +f 96/172/5 148/166/5 118/168/5 +f 97/174/5 149/121/5 150/123/5 +f 98/176/5 131/154/5 134/156/5 +f 84/136/6 125/161/6 124/178/6 +f 99/180/5 119/163/5 122/165/5 +f 83/127/6 137/152/6 136/182/6 +f 100/184/5 151/169/5 152/171/5 +f 82/145/6 144/170/6 143/186/6 +f 101/188/5 135/151/5 138/153/5 +f 81/139/6 121/164/6 120/190/6 +f 102/192/5 123/160/5 126/162/5 +f 103/130/6 133/155/6 132/194/6 +f 104/118/6 146/122/6 145/196/6 +f 105/142/6 117/167/6 147/198/6 +f 106/133/6 129/158/6 128/200/6 +f 107/124/6 141/149/6 140/202/6 +f 94/204/5 139/148/5 142/150/5 +f 95/206/5 127/157/5 130/159/5 +f 155/208/3 156/946/3 154/209/3 +f 158/211/1 160/947/1 159/212/1 +f 154/209/5 158/211/5 157/213/5 +f 166/214/6 168/220/6 167/215/6 +f 162/217/1 166/214/1 165/216/1 +f 163/219/3 167/215/3 168/220/3 +f 180/222/15 179/948/15 208/223/15 +f 185/225/16 184/949/16 190/226/16 +f 187/228/17 188/950/17 194/229/17 +f 202/231/18 205/951/18 176/232/18 +f 198/234/19 197/952/19 172/235/19 +f 191/237/20 177/953/20 178/238/20 +f 206/240/21 174/954/21 173/241/21 +f 203/243/22 169/955/22 170/244/22 +f 182/246/23 195/956/23 196/247/23 +f 186/249/24 199/957/24 200/250/24 +f 633/252/6 209/707/6 611/253/6 +f 632/255/6 221/713/6 220/256/6 +f 645/258/5 219/712/5 222/259/5 +f 644/261/5 612/706/5 210/262/5 +f 235/264/1 236/958/1 234/265/1 +f 238/267/3 240/959/3 239/268/3 +f 234/265/5 238/267/5 237/269/5 +f 246/270/6 248/276/6 247/271/6 +f 242/273/3 246/270/3 245/272/3 +f 243/275/1 247/271/1 248/276/1 +f 254/278/2 250/285/2 249/279/2 +f 255/281/4 251/284/4 252/282/4 +f 251/284/6 249/279/6 250/285/6 +f 263/286/5 259/289/5 260/287/5 +f 259/289/4 257/960/4 258/290/4 +f 262/291/2 261/961/2 263/286/2 +f 322/292/5 290/353/5 287/293/5 +f 323/295/5 278/359/5 275/296/5 +f 310/298/6 276/360/6 277/299/6 +f 311/301/6 288/354/6 289/302/6 +f 307/304/6 312/363/6 300/305/6 +f 313/307/6 271/379/6 272/308/6 +f 314/310/6 284/356/6 285/311/6 +f 315/313/5 294/351/5 291/314/5 +f 336/316/6 296/350/6 297/317/6 +f 316/319/5 282/357/5 279/320/5 +f 335/322/6 273/347/6 274/323/6 +f 317/325/5 266/346/5 265/326/5 +f 334/328/6 280/358/6 281/329/6 +f 318/331/5 298/349/5 295/332/5 +f 333/334/6 292/352/6 293/335/6 +f 319/337/5 286/355/5 283/338/5 +f 320/340/5 268/378/5 267/341/5 +f 321/343/5 269/348/5 299/344/5 +f 266/346/4 274/323/4 273/347/4 +f 269/348/4 270/306/4 300/305/4 +f 298/349/4 297/317/4 296/350/4 +f 294/351/4 293/335/4 292/352/4 +f 290/353/4 289/302/4 288/354/4 +f 286/355/4 285/311/4 284/356/4 +f 282/357/4 281/329/4 280/358/4 +f 278/359/4 277/299/4 276/360/4 +f 335/322/2 303/324/2 317/361/2 +f 312/363/2 307/304/2 321/364/2 +f 336/316/2 304/318/2 318/366/2 +f 333/334/2 301/336/2 315/368/2 +f 311/301/2 308/303/2 322/370/2 +f 314/310/2 305/312/2 319/372/2 +f 334/328/2 302/330/2 316/374/2 +f 310/298/2 309/300/2 323/376/2 +f 268/378/4 272/308/4 271/379/4 +f 313/307/2 306/309/2 320/380/2 +f 344/382/6 337/962/6 340/383/6 +f 343/385/9 341/963/9 340/386/9 +f 360/388/6 353/964/6 356/389/6 +f 359/391/10 357/965/10 356/392/10 +f 359/394/5 354/393/5 355/395/5 +f 358/397/11 355/966/11 353/398/11 +f 356/389/9 353/964/9 355/395/9 +f 358/397/7 360/967/7 357/400/7 +f 343/402/5 338/387/5 339/403/5 +f 342/405/13 339/968/13 337/406/13 +f 340/383/11 337/962/11 339/403/11 +f 342/405/12 344/969/12 341/408/12 +f 347/410/14 345/970/14 348/411/14 +f 349/413/13 352/971/13 350/414/13 +f 347/410/10 350/972/10 352/416/10 +f 346/418/5 351/415/5 350/414/5 +f 346/420/11 348/973/11 349/421/11 +f 345/422/6 352/971/6 349/413/6 +f 362/424/8 363/974/8 364/425/8 +f 361/427/5 364/975/5 366/428/5 +f 365/429/2 366/428/2 368/430/2 +f 368/430/13 366/976/13 364/432/13 +f 367/431/6 368/430/6 363/433/6 +f 361/435/9 365/977/9 367/431/9 +f 406/436/1 398/978/1 392/437/1 +f 392/439/4 398/979/4 399/440/4 +f 400/442/2 406/436/2 407/438/2 +f 387/980/1 388/981/1 389/446/1 +f 388/981/1 394/444/1 389/446/1 +f 375/447/3 381/982/3 369/448/3 +f 373/449/3 369/448/3 370/450/3 +f 370/450/3 386/453/3 379/452/3 +f 386/453/3 385/983/3 377/454/3 +f 382/455/6 390/476/6 384/456/6 +f 376/458/1 374/461/1 410/459/1 +f 374/461/1 372/464/1 404/462/1 +f 408/443/3 391/441/3 399/440/3 +f 380/463/1 403/469/1 404/462/1 +f 777/465/59 778/984/59 779/985/59 +f 779/985/6 780/986/6 781/466/6 +f 781/466/6 782/987/6 783/988/6 +f 783/988/6 784/989/6 781/466/6 +f 784/989/6 785/467/6 781/466/6 +f 785/467/6 786/990/6 787/991/6 +f 787/991/6 788/992/6 785/467/6 +f 788/992/6 789/993/6 785/467/6 +f 789/993/6 790/994/6 791/995/6 +f 791/995/60 792/996/60 777/465/60 +f 777/465/6 779/985/6 781/466/6 +f 789/993/6 791/995/6 785/467/6 +f 791/995/6 777/465/6 785/467/6 +f 378/468/1 405/997/1 403/469/1 +f 396/472/3 402/998/3 401/470/3 +f 401/470/3 397/999/3 395/471/3 +f 413/473/5 414/1000/5 411/474/5 +f 384/456/3 413/473/3 412/475/3 +f 390/476/4 414/1001/4 413/477/4 +f 382/455/1 411/1002/1 414/478/1 +f 383/457/2 412/1003/2 411/479/2 +f 429/480/25 431/503/25 432/481/25 +f 432/481/1 424/508/1 433/483/1 +f 417/485/2 420/493/2 421/486/2 +f 418/487/1 421/486/1 422/488/1 +f 415/489/4 422/488/4 419/490/4 +f 416/492/3 419/1004/3 420/493/3 +f 426/496/1 430/482/1 428/497/1 +f 423/500/5 429/480/5 430/482/5 +f 419/499/3 427/1005/3 429/480/3 +f 422/488/6 428/511/6 427/504/6 +f 433/505/6 424/1006/6 425/506/6 +f 431/503/4 425/510/4 424/508/4 +f 427/502/3 434/1007/3 425/510/3 +f 420/493/26 423/500/26 426/496/26 +f 428/511/2 433/505/2 434/507/2 +f 437/512/5 438/518/5 436/513/5 +f 441/515/6 442/1008/6 439/516/6 +f 438/518/3 442/1008/3 441/515/3 +f 435/519/1 440/1009/1 439/520/1 +f 437/522/2 439/1010/2 442/523/2 +f 436/525/4 441/1011/4 440/526/4 +f 521/528/27 522/1012/27 510/529/27 +f 524/531/28 523/1013/28 511/532/28 +f 520/534/27 519/1014/27 507/535/27 +f 526/537/28 525/1015/28 513/538/28 +f 528/540/27 527/1016/27 515/541/27 +f 529/543/28 530/1017/28 518/544/28 +f 533/546/4 537/1018/4 535/547/4 +f 532/549/2 536/1019/2 538/550/2 +f 534/552/3 538/1020/3 537/553/3 +f 531/555/1 535/1021/1 536/556/1 +f 540/558/1 542/561/1 541/559/1 +f 542/561/2 546/563/2 545/562/2 +f 546/563/3 544/580/3 543/564/3 +f 544/565/4 540/558/4 539/560/4 +f 545/562/5 543/564/5 539/567/5 +f 542/561/6 548/589/6 550/569/6 +f 552/570/1 554/573/1 553/571/1 +f 554/573/2 558/575/2 557/574/2 +f 558/575/3 556/1022/3 555/576/3 +f 556/577/4 552/570/4 551/572/4 +f 546/563/6 550/581/6 549/579/6 +f 550/581/3 561/1023/3 562/582/3 +f 547/583/1 559/1024/1 560/584/1 +f 549/586/4 562/1025/4 559/587/4 +f 548/589/2 560/1026/2 561/590/2 +f 559/587/5 562/1025/5 555/578/5 +f 560/584/5 559/1024/5 551/572/5 +f 561/590/5 560/1026/5 553/571/5 +f 562/582/5 561/1023/5 557/574/5 +f 544/565/6 549/586/6 547/588/6 +f 540/558/6 547/583/6 548/585/6 +f 564/591/1 566/594/1 565/592/1 +f 566/594/2 570/596/2 569/595/2 +f 570/596/3 568/613/3 567/597/3 +f 568/598/4 564/591/4 563/593/4 +f 569/595/5 567/597/5 563/600/5 +f 566/594/6 572/622/6 574/602/6 +f 576/603/1 578/606/1 577/604/1 +f 578/606/2 582/608/2 581/607/2 +f 582/608/3 580/1027/3 579/609/3 +f 580/610/4 576/603/4 575/605/4 +f 570/596/6 574/614/6 573/612/6 +f 574/614/3 585/1028/3 586/615/3 +f 571/616/1 583/1029/1 584/617/1 +f 573/619/4 586/1030/4 583/620/4 +f 572/622/2 584/1031/2 585/623/2 +f 583/620/5 586/1030/5 579/611/5 +f 584/617/5 583/1029/5 575/605/5 +f 585/623/5 584/1031/5 577/604/5 +f 586/615/5 585/1028/5 581/607/5 +f 568/598/6 573/619/6 571/621/6 +f 564/591/6 571/616/6 572/618/6 +f 588/624/1 590/627/1 589/625/1 +f 590/627/2 594/629/2 593/628/2 +f 594/629/3 592/646/3 591/630/3 +f 592/631/4 588/624/4 587/626/4 +f 593/628/5 591/630/5 587/633/5 +f 590/627/6 596/655/6 598/635/6 +f 600/636/1 602/639/1 601/637/1 +f 602/639/2 606/641/2 605/640/2 +f 606/641/3 604/1032/3 603/642/3 +f 604/643/4 600/636/4 599/638/4 +f 594/629/6 598/647/6 597/645/6 +f 598/647/3 609/1033/3 610/648/3 +f 595/649/1 607/1034/1 608/650/1 +f 597/652/4 610/1035/4 607/653/4 +f 596/655/2 608/1036/2 609/656/2 +f 607/653/5 610/1035/5 603/644/5 +f 608/650/5 607/1034/5 599/638/5 +f 609/656/5 608/1036/5 601/637/5 +f 610/648/5 609/1033/5 605/640/5 +f 592/631/6 597/652/6 595/654/6 +f 588/624/6 595/649/6 596/651/6 +f 629/657/6 634/716/6 622/658/6 +f 635/660/6 226/732/6 225/661/6 +f 636/663/6 213/709/6 212/664/6 +f 637/666/5 616/704/5 613/667/5 +f 658/669/6 618/703/6 619/670/6 +f 638/672/5 215/710/5 218/673/5 +f 657/675/6 224/700/6 223/676/6 +f 639/678/5 231/699/5 232/679/5 +f 656/681/6 217/711/6 216/682/6 +f 640/684/5 620/702/5 617/685/5 +f 655/687/6 614/705/6 615/688/6 +f 641/690/5 211/708/5 214/691/5 +f 642/693/5 229/731/5 230/694/5 +f 643/696/5 228/701/5 621/697/5 +f 231/699/3 223/676/3 224/700/3 +f 228/701/3 227/659/3 622/658/3 +f 620/702/3 619/670/3 618/703/3 +f 616/704/3 615/688/3 614/705/3 +f 612/706/3 611/253/3 209/707/3 +f 211/708/3 212/664/3 213/709/3 +f 215/710/3 216/682/3 217/711/3 +f 219/712/3 220/256/3 221/713/3 +f 657/675/1 625/677/1 639/714/1 +f 634/716/1 629/657/1 643/717/1 +f 658/669/1 626/671/1 640/719/1 +f 655/687/1 623/689/1 637/721/1 +f 633/252/1 630/254/1 644/723/1 +f 636/663/1 627/665/1 641/725/1 +f 656/681/1 624/683/1 638/727/1 +f 632/255/1 631/257/1 645/729/1 +f 229/731/3 225/661/3 226/732/3 +f 635/660/1 628/662/1 642/733/1 +f 721/735/6 659/811/6 699/736/6 +f 720/738/6 671/817/6 670/739/6 +f 733/741/5 669/816/5 672/742/5 +f 732/744/5 700/810/5 660/745/5 +f 685/747/4 686/1037/4 684/748/4 +f 688/750/2 690/1038/2 689/751/2 +f 684/748/5 688/750/5 687/752/5 +f 696/753/6 698/759/6 697/754/6 +f 692/756/2 696/753/2 695/755/2 +f 693/758/4 697/754/4 698/759/4 +f 717/761/6 722/820/6 710/762/6 +f 723/764/6 676/836/6 675/765/6 +f 724/767/6 663/813/6 662/768/6 +f 725/770/5 704/808/5 701/771/5 +f 746/773/6 706/807/6 707/774/6 +f 726/776/5 665/814/5 668/777/5 +f 745/779/6 674/804/6 673/780/6 +f 727/782/5 681/803/5 682/783/5 +f 744/785/6 667/815/6 666/786/6 +f 728/788/5 708/806/5 705/789/5 +f 743/791/6 702/809/6 703/792/6 +f 729/794/5 661/812/5 664/795/5 +f 730/797/5 679/835/5 680/798/5 +f 731/800/5 678/805/5 709/801/5 +f 681/803/2 673/780/2 674/804/2 +f 678/805/2 677/763/2 710/762/2 +f 708/806/2 707/774/2 706/807/2 +f 704/808/2 703/792/2 702/809/2 +f 700/810/2 699/736/2 659/811/2 +f 661/812/2 662/768/2 663/813/2 +f 665/814/2 666/786/2 667/815/2 +f 669/816/2 670/739/2 671/817/2 +f 745/779/4 713/781/4 727/818/4 +f 722/820/4 717/761/4 731/821/4 +f 746/773/4 714/775/4 728/823/4 +f 743/791/4 711/793/4 725/825/4 +f 721/735/4 718/737/4 732/827/4 +f 724/767/4 715/769/4 729/829/4 +f 744/785/4 712/787/4 726/831/4 +f 720/738/4 719/740/4 733/833/4 +f 679/835/2 675/765/2 676/836/2 +f 723/764/4 716/766/4 730/837/4 +f 804/839/29 803/1039/29 832/840/29 +f 809/842/30 808/1040/30 814/843/30 +f 811/845/31 812/1041/31 818/846/31 +f 826/848/32 829/1042/32 800/849/32 +f 822/851/33 821/1043/33 796/852/33 +f 815/854/34 801/1044/34 802/855/34 +f 830/857/35 798/1045/35 797/858/35 +f 827/860/36 793/1046/36 794/861/36 +f 806/863/37 819/1047/37 820/864/37 +f 810/866/38 823/1048/38 824/867/38 +f 844/869/39 843/1049/39 872/870/39 +f 849/872/40 848/1050/40 854/873/40 +f 851/875/41 852/1051/41 858/876/41 +f 866/878/42 869/1052/42 840/879/42 +f 862/881/43 861/1053/43 836/882/43 +f 855/884/44 841/1054/44 842/885/44 +f 870/887/45 838/1055/45 837/888/45 +f 867/890/46 833/1056/46 834/891/46 +f 846/893/47 859/1057/47 860/894/47 +f 850/896/48 863/1058/48 864/897/48 +f 884/899/49 883/1059/49 912/900/49 +f 889/902/50 888/1060/50 894/903/50 +f 891/905/51 892/1061/51 898/906/51 +f 906/908/52 909/1062/52 880/909/52 +f 902/911/53 901/1063/53 876/912/53 +f 895/914/54 881/1064/54 882/915/54 +f 910/917/55 878/1065/55 877/918/55 +f 907/920/56 873/1066/56 874/921/56 +f 886/923/57 899/1067/57 900/924/57 +f 890/926/58 903/1068/58 904/927/58 +s 1 +f 449/1069/27 464/1070/61 448/1071/61 +f 457/1072/62 472/1073/63 456/1074/63 +f 450/1075/64 465/1076/27 449/1069/27 +f 458/1077/65 473/1078/62 457/1072/62 +f 451/1079/4 466/1080/64 450/1075/64 +f 444/1081/66 459/1082/2 443/1083/2 +f 443/1083/2 474/1084/65 458/1077/65 +f 452/1085/67 467/1086/4 451/1079/4 +f 445/1087/28 460/1088/66 444/1081/66 +f 453/1089/68 468/1090/67 452/1085/67 +f 446/1091/69 461/1092/28 445/1087/28 +f 454/1093/70 469/1094/68 453/1089/68 +f 447/1095/1 462/1096/69 446/1091/69 +f 455/1097/3 470/1098/70 454/1093/70 +f 448/1071/61 463/1099/1 447/1100/1 +f 456/1074/63 471/1101/3 455/1097/3 +f 485/1102/68 500/1103/67 484/1104/67 +f 478/1105/69 493/1106/28 477/1107/28 +f 486/1108/70 501/1109/68 485/1102/68 +f 479/1110/1 494/1111/69 478/1105/69 +f 487/1112/3 502/1113/70 486/1108/70 +f 480/1114/61 495/1115/1 479/1116/1 +f 488/1117/63 503/1118/3 487/1112/3 +f 481/1119/27 496/1120/61 480/1114/61 +f 489/1121/62 504/1122/63 488/1117/63 +f 482/1123/64 497/1124/27 481/1119/27 +f 490/1125/65 505/1126/62 489/1121/62 +f 483/1127/4 498/1128/64 482/1123/64 +f 476/1129/66 491/1130/2 475/1131/2 +f 475/1131/2 506/1132/65 490/1125/65 +f 484/1104/67 499/1133/4 483/1127/4 +f 477/1107/28 492/1134/66 476/1129/66 +f 748/1135/2 749/1136/71 747/1137/2 +f 750/1138/71 751/1139/72 749/1136/71 +f 754/1140/73 755/1141/74 753/1142/73 +f 756/1143/74 747/1137/2 755/1141/74 +f 768/1144/2 772/1145/74 771/1146/74 +f 761/1147/74 764/1148/73 760/1149/73 +f 759/1150/72 766/1151/71 757/1152/71 +f 769/1153/72 776/1154/71 767/1155/71 +f 771/1146/74 774/1156/73 770/1157/73 +f 758/1158/2 762/1159/74 761/1147/74 +f 757/1152/71 763/1160/2 758/1158/2 +f 767/1155/71 773/1161/2 768/1144/2 +f 449/1069/27 465/1076/27 464/1070/61 +f 457/1072/62 473/1078/62 472/1073/63 +f 450/1075/64 466/1080/64 465/1076/27 +f 458/1077/65 474/1084/65 473/1078/62 +f 451/1079/4 467/1086/4 466/1080/64 +f 444/1081/66 460/1088/66 459/1082/2 +f 443/1083/2 459/1082/2 474/1084/65 +f 452/1085/67 468/1090/67 467/1086/4 +f 445/1087/28 461/1092/28 460/1088/66 +f 453/1089/68 469/1094/68 468/1090/67 +f 446/1091/69 462/1096/69 461/1092/28 +f 454/1093/70 470/1098/70 469/1094/68 +f 447/1095/1 463/1162/1 462/1096/69 +f 455/1097/3 471/1101/3 470/1098/70 +f 448/1071/61 464/1070/61 463/1099/1 +f 456/1074/63 472/1073/63 471/1101/3 +f 485/1102/68 501/1109/68 500/1103/67 +f 478/1105/69 494/1111/69 493/1106/28 +f 486/1108/70 502/1113/70 501/1109/68 +f 479/1110/1 495/1163/1 494/1111/69 +f 487/1112/3 503/1118/3 502/1113/70 +f 480/1114/61 496/1120/61 495/1115/1 +f 488/1117/63 504/1122/63 503/1118/3 +f 481/1119/27 497/1124/27 496/1120/61 +f 489/1121/62 505/1126/62 504/1122/63 +f 482/1123/64 498/1128/64 497/1124/27 +f 490/1125/65 506/1132/65 505/1126/62 +f 483/1127/4 499/1133/4 498/1128/64 +f 476/1129/66 492/1134/66 491/1130/2 +f 475/1131/2 491/1130/2 506/1132/65 +f 484/1104/67 500/1103/67 499/1133/4 +f 477/1107/28 493/1106/28 492/1134/66 +f 748/1135/2 750/1138/71 749/1136/71 +f 750/1138/71 752/1164/72 751/1139/72 +f 754/1140/73 756/1143/74 755/1141/74 +f 756/1143/74 748/1135/2 747/1137/2 +f 768/1144/2 773/1161/2 772/1145/74 +f 761/1147/74 762/1159/74 764/1148/73 +f 759/1150/72 765/1165/72 766/1151/71 +f 769/1153/72 775/1166/72 776/1154/71 +f 771/1146/74 772/1145/74 774/1156/73 +f 758/1158/2 763/1160/2 762/1159/74 +f 757/1152/71 766/1151/71 763/1160/2 +f 767/1155/71 776/1154/71 773/1161/2 +l 162 164 +l 163 161 diff --git a/src/main/resources/assets/hbm/models/item/canister_fracksol.json b/src/main/resources/assets/hbm/models/item/canister_fracksol.json new file mode 100644 index 0000000000..326f781fb4 --- /dev/null +++ b/src/main/resources/assets/hbm/models/item/canister_fracksol.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "hbm:items/canister_fracksol" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/item/chem_icon_fracksol.json b/src/main/resources/assets/hbm/models/item/chem_icon_fracksol.json new file mode 100644 index 0000000000..de658c2d81 --- /dev/null +++ b/src/main/resources/assets/hbm/models/item/chem_icon_fracksol.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "hbm:items/chem_icon_fracksol" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/item/dirt_dead.json b/src/main/resources/assets/hbm/models/item/dirt_dead.json new file mode 100644 index 0000000000..a821df968d --- /dev/null +++ b/src/main/resources/assets/hbm/models/item/dirt_dead.json @@ -0,0 +1,3 @@ +{ + "parent": "hbm:block/dirt_dead" +} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/item/dirt_oily.json b/src/main/resources/assets/hbm/models/item/dirt_oily.json new file mode 100644 index 0000000000..78c99d13a5 --- /dev/null +++ b/src/main/resources/assets/hbm/models/item/dirt_oily.json @@ -0,0 +1,3 @@ +{ + "parent": "hbm:block/dirt_oily" +} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/item/machine_fracking_tower.json b/src/main/resources/assets/hbm/models/item/machine_fracking_tower.json new file mode 100644 index 0000000000..db805c8d76 --- /dev/null +++ b/src/main/resources/assets/hbm/models/item/machine_fracking_tower.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "hbm:blocks/machine_fracking_tower" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/item/ore_bedrock_oil.json b/src/main/resources/assets/hbm/models/item/ore_bedrock_oil.json new file mode 100644 index 0000000000..7579c37b90 --- /dev/null +++ b/src/main/resources/assets/hbm/models/item/ore_bedrock_oil.json @@ -0,0 +1,3 @@ +{ + "parent": "hbm:block/ore_bedrock_oil" +} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/item/plant_dead_big_flower.json b/src/main/resources/assets/hbm/models/item/plant_dead_big_flower.json new file mode 100644 index 0000000000..cb000d895f --- /dev/null +++ b/src/main/resources/assets/hbm/models/item/plant_dead_big_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "hbm:blocks/plant_dead_big_flower" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/item/plant_dead_fern.json b/src/main/resources/assets/hbm/models/item/plant_dead_fern.json new file mode 100644 index 0000000000..cae02f5c37 --- /dev/null +++ b/src/main/resources/assets/hbm/models/item/plant_dead_fern.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "hbm:blocks/plant_dead_fern" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/item/plant_dead_flower.json b/src/main/resources/assets/hbm/models/item/plant_dead_flower.json new file mode 100644 index 0000000000..633d3c04a5 --- /dev/null +++ b/src/main/resources/assets/hbm/models/item/plant_dead_flower.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "hbm:blocks/plant_dead_flower" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/item/plant_dead_generic.json b/src/main/resources/assets/hbm/models/item/plant_dead_generic.json new file mode 100644 index 0000000000..13518c53b8 --- /dev/null +++ b/src/main/resources/assets/hbm/models/item/plant_dead_generic.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "hbm:blocks/plant_dead_generic" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/item/plant_dead_grass.json b/src/main/resources/assets/hbm/models/item/plant_dead_grass.json new file mode 100644 index 0000000000..c540de25b3 --- /dev/null +++ b/src/main/resources/assets/hbm/models/item/plant_dead_grass.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "hbm:blocks/plant_dead_grass" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/item/sand_dirty.json b/src/main/resources/assets/hbm/models/item/sand_dirty.json new file mode 100644 index 0000000000..d1fd78d433 --- /dev/null +++ b/src/main/resources/assets/hbm/models/item/sand_dirty.json @@ -0,0 +1,3 @@ +{ + "parent": "hbm:block/sand_dirty" +} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/item/sand_dirty_red.json b/src/main/resources/assets/hbm/models/item/sand_dirty_red.json new file mode 100644 index 0000000000..8f2641fa49 --- /dev/null +++ b/src/main/resources/assets/hbm/models/item/sand_dirty_red.json @@ -0,0 +1,3 @@ +{ + "parent": "hbm:block/sand_dirty_red" +} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/item/scrap_oil.json b/src/main/resources/assets/hbm/models/item/scrap_oil.json new file mode 100644 index 0000000000..f6b0d75966 --- /dev/null +++ b/src/main/resources/assets/hbm/models/item/scrap_oil.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "hbm:items/scrap_oil" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/models/item/stone_cracked.json b/src/main/resources/assets/hbm/models/item/stone_cracked.json new file mode 100644 index 0000000000..fed92823a9 --- /dev/null +++ b/src/main/resources/assets/hbm/models/item/stone_cracked.json @@ -0,0 +1,3 @@ +{ + "parent": "hbm:block/stone_cracked" +} \ No newline at end of file diff --git a/src/main/resources/assets/hbm/textures/blocks/dead_leaf.png b/src/main/resources/assets/hbm/textures/blocks/dead_leaf.png new file mode 100644 index 0000000000000000000000000000000000000000..4555248758cae01512e37b14174ee87b9fca0e72 GIT binary patch literal 154 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqEX7WqAsj$Z!;#Vf-X0kR{egz=EMn($u&P;YByWRn;$;y zA20b#b}!5I6D-Lcp9_r*3=9@{EMh3x-O0wF*Dj;^M$IxBXgGtXtDnm{r-UW|J*qYg literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/dirt_dead.png b/src/main/resources/assets/hbm/textures/blocks/dirt_dead.png new file mode 100644 index 0000000000000000000000000000000000000000..d8c050982a0e5bf33438d372d63e7472cafca16c GIT binary patch literal 897 zcmV-{1AhF8P)Jpd_N6e(kQOrocBZLwnwfg&rOC3x zvTWC7$6a>!v~&N1Uc18%#%zb$HPzO{x*@JC{7@>O*cSv}74ZkY{Mezf&-ux7cs_>T zfBmVGQ>(OEZPdy!08^15PySeCCOX1e;vI^spQZIA4<_yq%jEg_+c_4NH+VE1#W*C} z=55w4RyHzNOcIi4L_0l0@PtVx{^h3I!BiwjzI=$>+r#WcnDSAL>~5L2+j|I8ksyDq zCkZG6r1J0axcW%vRZ?ru@p+t7PR@Az^cfaO1YmI`&g$kC-#@&M&*MbQsa3pVUohnt z$nIA#8UU-;W;}#Z5Ga;3018bzt^Er3!o$prhX8mPOXHGlgnWZMf0INR zlqr_952F@QnC~*1n2H36Wp ziNrE_lAjE`Wqc3~6*VwpVQVFjZk8sjX8TMS31>AE_`@XL2|9bIn%e01(Mn^;R^xoo!S z_Kq^zTc>=@I@ELn%Ys_d#P4;{)LT5f{|P@o-RAbnJaQ!9edKjJ z`E&aKM~@AgBJ+Ir0Npvr`B?&4f`|7$C6>5gS`Bk!X@+dELNbx$P3#ou>(3UgY`)Ia zXqe}_hg`iJ;W(wy=~ygGT_RVmbC$^w3iwciezKV~04{$YnL-U^_HvXSHNdq?f>;6sry7rp{z!5RuFjXc{JcZWlI1M(?!P*xutLtI@0U z@Z!~59K8-&trqpnDL$8zvB4mozJ7A$I?C$8G_nx-Ixm(P^g00vuiHZ?;3cb-**i&bdu5)-f4pRP zz(>2&#xT18tS!v~Abt16nx*Ro@wA2-3gECQG|e`#RECOf;B`50Ic-RiM73_vHcjRy z$2d)EXq6g@VVFdR2iQ7F(7wpiY&NOr2C@+NdL0N^rluPJblP1W+`WY?1X~9u%#5o@ zH@qyy#WY(awJKqsi)zy(c~N3!EX?4TEsN&Byas5T@BCWMUBAxb zC!5Ia205ck&@K>8FCWcKuz#H9EMK5ptz%ghUbhPg5X-c^hkNvSIv6QnudUc-X zywcV;pNed;0zjcu10ZE3$QCQy%j9Ww`UnB7-hhziXW5(~WhL0&J0N8xP|UD;ds_99 z&g9Tl9{^kX1v2$1o*orYB>4K)8u3UFRguQwe`Jg7{aZxZ{CGt~0}}xJvR_~^8ROu% z%<3z~_?qp#15PJzR{`*cbnHqC`JF_Brtvm*$7TJp$#OhQRGmD7Vj4OC`*sbxH(+Wy zNVDr8gg^!emUdaWFiXlxkj~_|cI5&O^UwM2&LaTQnH-s?4Qg@-kL01+?4tBKT#0FT z3Z)u(yNYS(WQ!F_J(s(`=V-S3B*OvHnH)`N636M%E+4YC`0^MhWhL;OGXAua1py)$ zqgg%T`Wy44tOUUS#@__s+n*nzseY=B7N(&ieR=a;v2%FBOPUXmSi2ZK^HS5$`QgD| z%*{^Y4qf_#5db$gTvzM-K)#Z@tGQ4#r-7{ri}CBSgFF(C#`&AFf^!tzI8PSFxW}2#11vWW`BFXU;V6 z(cuXrF+!FVTzAM^MB}q-uOq#`ydZSVN2S(cHEA$V{7eixQPm9IjS^xk507*qoM6N<$f??u^asU7T literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/forgefluid/fracksol_flowing.png b/src/main/resources/assets/hbm/textures/blocks/forgefluid/fracksol_flowing.png new file mode 100644 index 0000000000000000000000000000000000000000..2fc62c152c0e50a662168842bd90a059aa542baf GIT binary patch literal 808 zcmV+@1K0eCP)!7(n4u)z#IP>G6!m9 z0uo4(5YNDikRe;FSb?<;7;7!BEv@bKT)Vrv>MsIIJi^h@r+)nT`@?F(0&sP8!)!XE z>X(EdWLeH|I6$HxAz-Z~PfL=R^ZxELwzjrNs!{fh%?-|XxYiLxVUm=lc37Koc6yFd zinrHqnJ?z7>IIWm6OR9V&OehQ%)RX~Rn=#{SRmfBS~WCvjdLA~`JB;cgljyH?(dP8 zDH5TnC&U<0DnZ|WyhZC8@**XOP!t94>>seVyN|~3=JJ}wY{_!9WVAj;=*X;Pur|ON zi&@MUWVxlP)=(r^V>!P#!+TF+6}HH!s)}VZ<>>hztdG{o3QMmnm@nrT=Q;q?P!Xe0 zH!DD~x3f>(uE=srUgRXoa&dW%a~A#qC9KEKDjN> zT61yvnzAbS@V!qcvx*`sczOB)vps&uXCHsT(aYaCK6ydYwxl*?eK=yVn&W&+2p$q} zuH|I%H&I~c;T}E+=D~QE*Egs5(6K%ovAy|-58nNhFHfODZM5px1lG$R$ z`NbLcHXfjU_~pC95CTdmBnV0?60PaHr)^sLYkjoV1n&Wbh+xu`dQ}r+#FS+Z*E!mz zCB{e$5tA4aoluq~T5A$x7z~D(B;odUO4~a6)fzr@7>R;+9l-}uYY-8X1|1a=BVFf+ zQMkFjLTSz2vdD5ZM{9#|Z9@=2f*=x6D3sFVWkzaJTIZ19$+Chdf|r0e2Y`r2mt~LO z{r_OP&SPyxk(G$tul_z9^oWHv`@LyVy7x+X7jdR2*13V?dGVmiA;B#>p6 zokzQT{_IP3x1aL$SKqQZ-U7Ju@au0s9gatvTwT8*gut-c;OWjs2%eKyf6;n}R*KAK mOy^UU%O#!j^vWKMtN9N{mUF&wh~7T{0000!7(n4u)z#IP>G6!m9 z0uo4(5YNDikRe;FSb?<;7;7!BEv@bKT)Vrv>MsIIJi^h@r+)nT`@?F(0&sP8!)!XE z>X(EdWLeH|I6$HxAz-Z~PfL=R^ZxELwzjrNs!{fh%?-|XxYiLxVUm=lc37Koc6yFd zinrHqnJ?z7>IIWm6OR9V&OehQ%)RX~Rn=#{SRmfBS~WCvjdLA~`JB;cgljyH?(dP8 zDH5TnC&U<0DnZ|WyhZC8@**XOP!t94>>seVyN|~3=JJ}wY{_!9WVAj;=*X;Pur|ON zi&@MUWVxlP)=(r^V>!P#!+TF+6}HH!s)}VZ<>>hztdG{o3QMmnm@nrT=Q;q?P!Xe0 zH!DD~x3f>(uE=srUgRXoa&dW%a~A#qC9KEKDjN> zT61yvnzAbS@V!qcvx*`sczOB)vps&uXCHsT(aYaCK6ydYwxl*?eK=yVn&W&+2p$q} zuH|I%H&I~c;T}E+=D~QE*Egs5(6K%ovAy|-58nNhFHfODZM5px1lG$R$ z`NbLcHXfjU_~pC95CTdmBnV0?60PaHr)^sLYkjoV1n&Wbh+xu`dQ}r+#FS+Z*E!mz zCB{e$5tA4aoluq~T5A$x7z~D(B;odUO4~a6)fzr@7>R;+9l-}uYY-8X1|1a=BVFf+ zQMkFjLTSz2vdD5ZM{9#|Z9@=2f*=x6D3sFVWkzaJTIZ19$+Chdf|r0e2Y`r2mt~LO z{r_OP&SPyxk(G$tul_z9^oWHv`@LyVy7x+X7jdR2*13V?dGVmiA;B#>p6 zokzQT{_IP3x1aL$SKqQZ-U7Ju@au0s9gatvTwT8*gut-c;OWjs2%eKyf6;n}R*KAK mOy^UU%O#!j^vWKMtN9N{mUF&wh~7T{0000NS%G}Z0G|-obEc-RUcFkeV#T3Dhc@cygoTCq`1n{@SlHUyy12O5+uQ5v>Z+-! zMMp=6goJo{dOA2bBqt{Wb#K3to(ZIcOM?7@|6>4#O|^G8fYO`=9+AZi419+{nDKc2 ziWHz=s;7%%h(>T|-)*4-0z9l=l@@wk{a>F`?Besbd#jP;I?cQ;x!e2Xvy@L1`Z3Sz zxMEVVvv*OW1xsJ7YRs9xhFvdQHg#T6f5+MqbBa0QMIxj1tLTlz98TL992K|)TCy0M e>i=ZCW!|62_v@k8vU5NS89ZJ6T-G@yGywq7wsENd literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/pipe_neo.png b/src/main/resources/assets/hbm/textures/blocks/pipe_neo.png new file mode 100644 index 0000000000000000000000000000000000000000..37c9b3699b571c0d7622652ee36e3d1c87d68175 GIT binary patch literal 246 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf-KUWhC$JIW(6CESqNIKY6D)p!FZ>(#3s7nbxXb#wN06*!4=*bCK6 z6^=aLXTMzPwx_%Qxk$hETGxd=#oJ8E1C+C0m%KQBw4wjhf7Sy$v3}{FpZN4}O(=c# z-T%iw9;c2Lf&1(XYo>AU`OeV6@%rpH(}wT!w&ezf&RSM^!?BEQl~=5Nd~Weq$-H^p r9;bP0l+XkKCgNOf literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/pipe_neo_overlay.png b/src/main/resources/assets/hbm/textures/blocks/pipe_neo_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..7e999b57b048552a8c34a06379b54da647a4c80b GIT binary patch literal 98 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfP=H<8Mv;->@qhl0m2P)3fQlGAUHx3vIVCg!0Hl2v0RR91 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/plant_dead_big_flower.png b/src/main/resources/assets/hbm/textures/blocks/plant_dead_big_flower.png new file mode 100644 index 0000000000000000000000000000000000000000..9898dc7ee639870ad0623e244e3d99ff84480ae1 GIT binary patch literal 243 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}f0G|-oDcu(9mpWC(+E2>&N%1kME7J$ccrRJ~0Z6fz1o;L32LlEvZ)P{3 z5NCl$WHAE+-(e7DJf6QI1t=Ke>Ealo5xlj>lkb252lMfq|Mf+UD=fd>3Dm8=sb)(;+%O}4D bD^)T)N@Ce{W%DT^p!p1*u6{1-oD!M<$yQQ! literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/plant_dead_fern.png b/src/main/resources/assets/hbm/textures/blocks/plant_dead_fern.png new file mode 100644 index 0000000000000000000000000000000000000000..6df4a050872554518b58565bacd606ec3f36ea3a GIT binary patch literal 219 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G|>0G|-o@_dbHy;gfS2LJ{3G6qG0)RhGJ1^@s5pTR+E$w zc7!rkEV6yO#Br+0xBbb?o0O87KXK%-%Y3qSSZA=&IjVFnQ>)%GuH!&689ZJ6T-G@y GGywpOr$iM1 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/plant_dead_flower.png b/src/main/resources/assets/hbm/textures/blocks/plant_dead_flower.png new file mode 100644 index 0000000000000000000000000000000000000000..f3d5b4bcd63035135bc1d40551f7c53748e0e92c GIT binary patch literal 224 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}f0G|-o^-G=V%JipnTcr4yRL0s*%J%`v9R4B}38dIdg8YL2g8_q-H?td1 zh_k>WvY3H^?=T269?xHq0u*%gba4#P2tL}w&BdU=;aqz2UHy}`G)M7_2k$p#)_jq^ zaj(jvb7J(p7Ok`u;tWqD4EYOA2%A5W)cnft>czT-aVLXtEbEjTzyAYGWnl1h^>bP0 Hl+XkKMI}Zt literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/plant_dead_generic.png b/src/main/resources/assets/hbm/textures/blocks/plant_dead_generic.png new file mode 100644 index 0000000000000000000000000000000000000000..95c164e6af58aed7910cd8f3acb93624c807297e GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G|>0G|-o^-Gr93EUXFzsVfQc3;zHAKZAqT$}d1ZXMsm#F#`kN zVGw3Kp1&dmC}`~I;uxY4e6{N!FN1=>A&qzYHy3NS%G|>0G|-o`O|!-bX(Mw=>rAMa9bS&sVfQc3;zHAKZAqT$}d1ZXMsm#F#`kN zVGw3Kp1&dmC}`;E;uxY4e6{N~CxZbGQ|+7m#fyJx-d!MgSo6^NzhO_N2bez4OSpEL i`HIHkGLK0~U3R_Km^MYuD^~+*X7F_Nb6Mw<&;$VdK0G`C literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/sand_dirty.png b/src/main/resources/assets/hbm/textures/blocks/sand_dirty.png new file mode 100644 index 0000000000000000000000000000000000000000..0d2ede7e4865ce9905cc687bdb398b32f6b078a6 GIT binary patch literal 836 zcmV-K1H1f*P)i$kMj?qWW5<`d_{^0B;(La#_2UoUHsjHlrfDduJ*w>zr(1Ge zU`q?79Llnw%nMAzqONKVAAZK!>F;>1ix>?1WO)LOfwBWGFRsXS0o0U51tLHiE{{I> zin>)J43q1t6GA`4>-q=-N#7rFa4=$*E;$&7SeA+EILNjn-_NL8n(4c9oOVE27VNV< zNtWO{A!4~*5G|)%-&|lziO%=fQj(<^0+Tmy&PkJ)I9pNF8J_QRFdSn`i$70ZA_o0F z2=LrKxz-HABb41G><&?Fm-mm3Ni$8J7Z{CXv)u6ay9@gM5Tz6%iWbvq0w>vD9`SySVVGoTMi>V4dVQv|DZBeU zveTlfYE(yIG!i#_zeTI0DMVltUv zi4K39ygN|DyQ>xB5;5U80BAdJQ!NfJ7?WHK4yw0%TlBioX7JZBc&60K+ab#Y3rHAbU|H=1aDi|e|G zY`>-Lnjj#K6OKQAf^rR3t0l_n;s+jqH()RrVw(z`rvw8RX-lTj4gUi8_h>SevbvD~ O0000^5CN@)e_lL37FsQ|23*&$e>rpV1=Y2d zkRzc8_v;nfXNINltzY=wFNAFPXzs?J%JPq$nN_6Ky4gm`Ng}lsQhqe3*FHwK$ttH-^d@ zaxrL0eA<0)PhlkIVz?IehD0B&!%gLD3s*Fwy~rb zx!rEj5_ofCL4#I;D8**gppW0<@$yvIBpC(ct~Wet}Q zd3RG$u#DdG_Szz1@ypDIUBeIyPAh67#4Nmf)uP_-Ix404@-ndN9AOTuTF2v<`Fu=V zw>9@yHM-JhDWsI?sW{J`7#7rXKO;)`_;!s-f$hfe+>f+caaa<6J&%0tJ%4^3vCg3d zzU>c$Bpgm2)zmdHC;Bn+@MA|)8?KyC8R6x;@b7-+G(-%APfurZR=io&G+KDQZ82kv z#G>d&&+mVqcz4&}YJ<5!uVFfcFFjfS000019V*{m&=i+DW2!yI1Z1Gk8Evi0U)JZ01Ssi#^W(NJ3CCLQ-UDi z;NSqI6mM^DD5Y>+mrkccqtU=|9D*RgvaAI_qtRe>b(M#Q2b5BHo=34*MAvot{XX@2 zo#}MSY&IhZ0X$*AYUH&*zsLGG1R_xx2d~%QCjN zx6ySS(=_?`_@GcIpp;@`V}o9=N0w#8ag46(c%HXlU>F9?W|K5cIX^!~2tlb-!nSQj zqtTL)VHl)oO1Ilx4$I|o7^Z0w1OZAZj*gC)&1Up^Jpg>)=jP^S$wo>^xm;e}M;L}^ zKZjJS)zCDJ=jUgd%_e7OXQXM0Qi@KegJoH)udlPayNl;}gkcDPF&>W*LJ)=_wrw+? z&xzxhFbo-uMx36WVp$efS65_NhVT17+7~7YA&^p%BneVVG)-eVodS>~36^DHSr)Zg z4W$(AcAF@Qux%S5#6m*3TxL8T6NVutCnrcLab1_ay*(~3FL`-+Ax%@}^Eswz;<_%? zY8B7(_|s~&GNlwrk`P4^nx-ual~UyMc}&wJpU=~7x7pm>{P!Dwzo==Ne13l7`#!+Z jD1gaiLa9{xry1ZcCLTy~!qB-900000NkvXXu0mjf^X*N| literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/gui/gui_fracking_tower.png b/src/main/resources/assets/hbm/textures/gui/gui_fracking_tower.png new file mode 100644 index 0000000000000000000000000000000000000000..634b79575c88c2826ed035fa7c84112191ae75ad GIT binary patch literal 9943 zcmb`t^+VI$8#n&m1`H$yD$+0n1!)oK7!69Rl;llF_vjdnC>;XQprXV8=^Q0Ug9u26 zNHeZ7DIe)ijNx;IVtJ60stB2`VV9?`kDv;?%OHL zNk8{A+RX5Zr5`iw3=s1{yMK_V(AL6ZdiYI^buzBl>;sa%la+b?#%;lOL>eJM`H|G0 z$Zz8Z-uN5>-XQ-+D^M!_d1xNTT#brW;Eg#v#qwyw_3Z~@c#E=<;HnDI!;!6x-6qG= zYX3F2fnK$v-u?HN{svM7vk4w$%8ZPg;N;?qwYDAKG$eY2=JvlLvUtj<7&+_tzygb?D zgsBAGF@O{M_A5P!Aa(b)D9$q zi1-}K;uxPa*}5HT=FYwLsBmb3{Ei_X(^#gB4ibd!!% zu(VCtZ>3kSzuvtvlY}S&g?Q~`JF??IoM8uS-qr_@i$RXP4sm9; zE)FB_IvVlrCQHW^e{&~$V<7chzqx;$luq6~CSrrX>c{vUSDx~aH>xi{1g0!EZTGcv zSh%6&k1@`|!F=S+TOMD*IwKsOsNHF^@vRMk)u##B5V+A^ugZfjOpo+1nr0ElQ1S!y z zXK-e?r8E@L@JH)b2bz|=);qZC@i+GrcBwnmxtFR`ucw4h_3t}9<_8iUTM+=UVX|+@ zopmtJ75dS#+A+*M$r9z&7MOsXx21(KE3Zgq^8%G zU^Gg)o zDz~qyK95N`l%qP|GGuU6LdEGTh&CS4v=}AeV`6E<|LOM<9U%rx+lUZTx?$_TX}>d@ z07G9=nBB*StirOF9;8v!^h2TvCX2x2S}Z#IZw$nABez#Ti2Y7cZ*Ub2ozP@`?_tWr z4Ml>vLog6=OASGaz;M`6Hi?2!NOQtEm>Ou=Rxr?PA`^Ato#}Jg`}Xr2>M0kxzv>Bm z10hhfm7q~(4Qh<@+i~K&W!nsB(w z^e5=tq2YeY(wIpM4K&-5EGmQyT0FXrxrA@R01znC&S8^n-FSm;0U2W^)gOqO?geV% z7_($4WgZcrki~bi&r08f8WxUyU2svnDI zOSP-%iv3YHP{V_p=ySO7d2;eY3B+^up2GQkI9n=0XW4XivW6j`fy7^ zVXEA*ea00L9w)LbkuW<^l&iXwO~dEf2Z0dXSM)%-G_w=nx$G_J1oT+?jMhxayOxc^ zF4un>JQYLb%P7AQz+X;)DA`H^Q42RhU_&zb!eQQ`DjC5(O$siAhF`%{5?i_b9pB+; z3jjwIC|%4r@yDLL2<5o4*|Tq@Fn1RRWi@<3i;bz)_}-Lyv1;9N%e~fUN?VVOV#)4P zJpQ1XBDiYP`4TT$KlxgUPA@sDT!|)K@p;6Wa99_^J%7|5QmWtioo2R5;-@TY0!ju9 zLZ_Z2&DTb_l)?X5tYVcVI<9l#PszVYie-$p9;%^p{!TT`yM1`9`O$ zqFkSM0Z(;)pL!K9o4wv0^3PV2y^_%VYV{p=`1p&b@J?kkl<^Q-wZmTCKCsDi$_TvC zOtS#Behbk6)h$3dtTrGHc?|v1VJHD3W6%n%Hr{UQL{oM@=Rq6GnvQ~1D(qWLA( zqi<<2N47i=#Ks#?Ju-hhrD2*7IcSVW92$_~4T#pwxg`-_cnLd)DZ2G_s-M(4F z?+z^JQJn6C3^3oy1*y~oXQ1AFQ@@ezr-H|YZ|!<(<4-f%lWBXyBMW-W^gwdmIb2Q7 ztPhM5n^Ww7IkQ}hk>Io;KFm>h%Qr%xkjRv2g=Zqgr(efsVMT6a3GjH%?UJ7?Msx!} z`|=H@$)sLIoVNz8qS%X&z7aR?j$#O%GH)=*d~>#cq_Mw8E){M2j+rED$Oc7xN!oWe zO$MDkzM)w3W}3P6uqzPHJe7Ju0BBqfeApRX)`6F$8tXiK(F>Vz&6G{!TbLu2FxO8VWp=Eu}36 z$-PD*Zvg8hUC8EjJXCV%Hw0?WU}#Y{ebGw5N&U}RvR1}+Tl`N!;GNJ^(+{3P%76)b zAj+SHJz8LW>Sq-w#5v~i7gG4@Br5B?-}ad+NX}C(z%Gvzh=$YWFk9}E!I7O_P9&la zlx_<%<&GJFr@u9amhX5y>$m+Z1NpoH91EI=FNF-V3!Dn=+GA=GXD?Lp=rIGvcA3g7 zhYq(ib_D0vedHBXUeu2{18k}qSr5_*9QI!eL5BDW23FpwCEl&K0SfrqOr&z_INg2k zghfP~kqcsKoybL#Qj$OSLqg~kp3x&ZI8Xyv@b5qud*A>p6H{&(`wa_56hs`ReJnhF ztlH^MeHi}3Lzv92Fy+8t566D1ko^4b6Xu-b7wTX09*z8^zS-e)AWGn1l2ifiy3?U((O`QITZur}lsz3-Jr! zL*@gIQ6*P;L=7oIzUVUkw}mb_1Ja+K>lUK;)*U|=wUsj49!$53)a zf$MOF?1lE53nL|BbD7XmV+K@au)PO7j&5@YyBcfKN4>w-hoV8fx+WAOT)v`i(B6Fx zf<$$%Fr!dqQ3YF>!ALo;>2Rbl=``A6P4fJuDHP0>o#jZ-3y8B}X%NFF09>-VMJ*Jq zsaFW5{W%nlUbYHo`gqD=Zny48wB`d@BL}J~X;HhH4qr_O=0v;(fNPf7`R6k@3{yt- zg9_hs`Fvg2A?^R{vD@)r+oAW&W!XBNf`eokODF%uAaf_8!4Mf0`mApLq_sw zq-VBFxb&1aV|x+Odqc-b1qyml@TA7VMq!8~1>_lqV-Rk%!4R*@rpbfWJSZ^4w7x<# zZfQ4VhvlC%`&PfbZQvTo3SdjpsVvK8lKdg5zBrT~+h!aplGBKgY2a&p$XASW1a&mL zp7XQhi);Hk!| zTrydre#b~iK}z0NQuxb|^-CMCd#l30X4;Q$lJ>E|C}v%OQEMG|$d@oPVa0(?L6wde zuXE1VE#T4r0TCcCiDWE@044Jg8r2`dP2@w-aZGatIwSg3>$hV?tVZWW zUn{hcU|e@IL97f=Ajjr0fav9mpl%&OQdYbS=zLi5r#=h1Ml!-&AUou$5$4V$NM{LT z&X1lM_HZh9f~+{ucNHhFhs%XZ%tjky1*Ff9kJJ5)7(#gh>tRcu%`_{%{9l0ML}dSi z+ihyTe#^N6RugB`vMkUSUfLG)%~_a?zRjx(*q?2c9HSASt+~Hv_{8}B7rNL*VBx!r zP`1KVLo`J9;lXLX3gg56`J> zu&bN1~3ru<*Kdg z2)wiSYSE-RApbCtcA@k6N@<2VzL+hrFoyl=dbQayQwiCz6|t!fsIOYLO*H~8AfJ~) z6%N41?v5|cZ}6w-r=uc`f7QCay33Y5cQ&$s_xv1l@qWtB!XBGnAxD6soBLR#>v3gu zAcvpQ96|6Y3wB zzIB0@>SG%9pWe@2kr+MO6oqI7%;D{4vc0~{-f9Gz4-~VM4(12L)un%(lGm*?ZJ#t9 zfkTE?u!rEHd*zTRHhVp2QVHi;6WAl*jyGt^9q_HLmty2je$ogyh+*2>LsSebbeh9m z8i9EdAiKBA21Dx&%GJM0>fHy={H{Cmb-h&ca=TI^?fx5VOru=N7rm=;uY?{D(LBxLY6G9*npx zKT@V$2xi|xzSvvLG&3_RoR#oZ?>2nrqh3ZfwOPaeqrEc@W&Hv)<$%CnlB>ke*TPp~ zfnb7T!&V`RMl2i<4Ea>S*>akedX6Qi0^6OX&Am0F zLW`YD*<mTKw9M1d_5sDm<5ESz2Q=qK zc5xPI-+?py*&nfHaywR&Sv1|Ny(DvMkre9LS1)%G;;kf6HgySKn2Vt~FPhc$E7ttT z7TqC|$BtR0>&huz@BO>>z(9Ii9g?a8=F1P@Gt(u*$dnpd`ki^;Yqh7(1@W4 z9Cbl+7_uxwlw!)sfPjkpxtPpRmB%`cHEgi!07Nf3+FBE9JHnpX z?t3qR4A7Im$HsT^)3`pn@JR+j_uMM0=Ip2%?`5%Ka-NxfyP?_3m!g{v4u(zIdr4_N zAUGF&;m9pqZ{|7OuS%}OV(upR7piQ7ikO?t*hauPt~ALT#9^2xdF%LW>+H01)BEe- zN>)!CY7K7`+>bWDF*=q;#ICvEh%Z1JR-AMVCN-%+U;7aWJPv|FFjsiTAN;bf@K0-x zk5!e>APH+X$)&cUY4Fb$>jhv*vLIHU*Z>7My!sHkK5>Ny#f^iJ0aK?qe_cL ztB+k+O}qsJAedN_b5KvJRv(1n=iIVClW(*38W_(35Baam>j3I9=S37RC{~15mfwo_ zLf5AM8W*vl%7s*LqFM(WFywakcEUAxI8E6GyUj&JKgu_vhl+c~Y?|V0sNnWr{9MV4 zua1w}7Ia34+8G=v7jn%wDLkUA55QKp)&FUV|IUG^M2s)B8?M&G;4oD|M4*$Cx}fipGF;|(A+25MElOTFWw8?0|{iZ9&z|a^-&Y)KIpFg{T7ig zUW~h+k0srnqNj(nl_G&QLt4hzl?AB#eHv3_wNv1Og8 z*W$%x+#Lmo&LdM^z?vf>*_q<&%*Z4K`$3a}{db(EtsDq&?C9xf58`+$?Me9O#FE05 zo{U>B@RiQq1#U~E8RBc;G?X3HLaV-cau0+&1p7hU{q zl4`XLeQreT8sQgaF3%!c!PxtnV^HEYXW%=I7t#w(AIceiPplLTv?NDHMcp@8hQ0qw zDF$vKrJSij2bIDgxeIT(OW}o*vN)^!m`DGklc!ITEsY|t^WKyIK^v*iR$2?s&7&wu zuce@$)UyGi|NAKI$#XXqpFbZgpJ7Qbf1$#WpNMj0bNmOI2}XZv9y^24E%#*yz+YS zuP?$s49@T{Y%<(;W$!w@BrSKC7Cq_0`j7Nb_*%E%>QYsTFhYPS341ZC0B==UHv%gKsiGaCy_o6F^SIu|$h_l19kgu~qH zo9xnC!VVzreiw5Dt6N(Sv-IOWCwyA!YHu6<^l+o2@j{6`H4~XCF+oPNPf6R$o@D36hX?4|m7! z7p*_+9Bp~lwXyMbld|Ucj5qlyPraOx|7E~ZS)MxHhu>79z`|n)1X6Bx=3cv!`{r#w zF@G~3Z|Gsr>+|&wx(4OTx8Eh(g`qM7b&UMvo6e@O-J_d2J;$nIn>*sNIQQY(1Hr+v z{Er`7jLLg^*DVb{0>c6C7K zvfc7MJO8}Z2v}fn;KdkUT^Of{Ud7vQw=EiQB@+PL+!@t02zB+Cs7ufGGP!r~=*g;} zC5zfcos0AyUhWi}-K%^6?*v&6qh-STfc!yAA0oarSR)>;scS;t z!4jSotEj3F>w$CinAP*}UzxzIfxfHFn-q*;R#HMjuikxBGZ|=fpS1i{*N6;wT&MpR zleNe|$%5sViY8kAT*RS4kKI7-?(WL(%G#hzajzQ{e|P;hb2%PlabYcO`0I&(6c=Y& z{K73tZ5eTs4-PPr@A&nJ&J2^psRPykn@Z?na8C%gn&LWY?W| z+me8UjV9;t&0#v9bwQTn;n=y86a4qgbDPaAIn1>i3q9tZR=OpV-WeohWG_2G;ct9U9VH-CRxTk5>CtVVz)b60Fm`+dG!ZDJpgxJnmyJ7yMf z{quHe`|zO{KOYtsIgZjHS(4T8S87?ZY^dITnw(}QnM~o!MDfGpgxxjHSNX#Ati-O% zOS4x8{vxH0!*Z9Mzst?!9P+$ueORRzxa zUS%4@KyWv|ZKx7>hLeeo&P?QCY5Hz<`nKz8KjD5^^RXWd4NZ9?Xk~_Y0LoY6-{|*v zJOeg2Qur(#21mUB7PzhEnHU+XxUWKG>Z49KEk*eG|2fJ#!|td4I6Us&jbtDRF$q5b zeVY}$FXnE@^l$Qw^$uiKFJRZ!DhvaxZj1XIR%F~V@$&k0s9XpK(D_FX;?LAsG-qn_7npi*qQ# zB)DLkQZ}RzzbAX3ib)5=?@OFd8Lww_0q!%UswI=om3Gr*9ZgF*w3A_1W_PkJ9`I1v z51{&?CXzRMp{2MJp87h!<`ktje1ShwBoGBNV~`#qM|BidRJ{i>nS;%oi&Y#&&>P|~ zGsP{t{#q$`zA<8hdh5+BUIk8W^;30qG*`NDX*39pH+x<}x70b)a{{zplU!=X`zqdx zY+SR6(J;_;&$S$tMfB)I@;;P?o<8v@Pm@YmSeW_x%c|}_^v zBa53d-t3w^;2l^j_T9{kB&R2}{_#Uv@?0t8TH^lU(Zm7WtaGp*)7+nhGf& zV_oCIv-s>{ObGqvTLEK+9%bqLxWI4kgF0awkGiLgk6rb2Qxc-1=aySky`=;yG?P_c z%=P~I`tb>$<1A=gSd@cK$RW}7aJl8v(#mfZYSxsq6QElZ=qJ1l>v^D_w$$E77(yhy zb-uxt|FuxHu3pssqB$?Gr|CHOL2Dd^n|swHRp{U&l>K?~-0pBB!)*a64+{!jduE~>xR z&+Hv$C!WjTvgG6FSRnRncT7dw$<#7V@jov9*5K3ZmgT$t9=ee@>x_ov^~W$m-jd7Z z%{`u+;d1m@4z(xt3L!&z65qYN_pVvG2|GOY9cF-hZQwWkXM8NM8F}UJHAe@Va0Xyg zSJ~p*OlQBdRPX$IC_F#gn-gl>Bk-DpMfH@>Rec}dTDLfg60-?{kga> ze~=>M0v7x)r|4dIZRd`A0BSfZvVYv%Ou;jeGbz@29=IGpD&fy5jA zVpx)B*5IYY@TEkybAuW0_2N;L3SL!nX&ZtB<~hbm(tg6{5?r6et&?vFv5!*QG}NZvB2sSlBA~HA)%CGEoy8jL5$j2Odalg>H@bFf&ve(#rz$nLPDe1KUo|Rga6d)^l;zdrN@Pre{y!yIrK$h` literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/canister_fracksol.png b/src/main/resources/assets/hbm/textures/items/canister_fracksol.png new file mode 100644 index 0000000000000000000000000000000000000000..8111eab89d6322eaeab9c900054bbf19436625d0 GIT binary patch literal 491 zcmV=0VyFV9{>@A z@Bthmg3JLa0Y_k+4&lIiEAOr&0^2j)1jd&4%yOc$>7FW8b(dkMhQpx_1_Q?9F?C%t z8jTDWl>J+?u4{^-xCje?+kH$Xlm7w(G$amRJlFYr&TKYARq1xSOs7+3N1s})G!(2> zD?$iZYgsOr#287_6uo~}0m=`b_lO!hFvj4VLqzEHdgOV|x7Tk?nx$9C;u~+~QLI7ZLa>~_%17K~(S_|4dM8ksjeyif;@hMLZZ*b48I9jZ~ zi3sPbp+H1%&JjZ3(amcls&qOX9wZU73GH(E?;YfMPFa@Qo~mxc<(%8Q!hXg#LD_iS h07Srh`0}-Z`3)5Z!{ThFwfO)5002ovPDHLkV1mZ_)a(EN literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/chem_icon_fracksol.png b/src/main/resources/assets/hbm/textures/items/chem_icon_fracksol.png new file mode 100644 index 0000000000000000000000000000000000000000..e13bc6fe7ba659d5bdf1147e7b6b369ececeb393 GIT binary patch literal 442 zcmV;r0Y(0aP))b4KPXB}QtMC9KpK!Inmvgjlx)30*d^yM3 zVt~%k3mtq{LciZ<=kAzJJiJvc3`1U_6T{-k28a{`!Z1W@&E{o|=nXnA!-(FXarB{Bcnd zxMp0I$MGgM^Ltc!D{;|S+1Ta#)=%c_Z#cOEBS{-4SKwwWimN=5T$odbLey}Tha$r3 z&lbHMVfqGB2pR$X67%*dJ)O;Doo!q+q{KSFeY2h=XO|BXHV-;NtT+X(hYSLGE%Wvo z@y=$l&JKy;87jOL$N{w^@Mgr~LiITWjlRKoTr@_Ki=^x|4E+jOC(p;>X`+!3{fRMB z3$v<}LDZ;|c&vdJ?&ScsG9j1r~Elw~Ow zC4%BsEK2{UXE;(x~vBp}jRsovt(R+p25)X zuAzB{d*6NUefNEL=6vU@GiU9!*I6-Z{d-5~Xgwpj``|7J1R_yWReAwjPe34?CwK4x zDnY)o5V+j-P*l^u1AJh2tiwSdx^^`s1%2EYu zdyROwXIekb`vPB3lDp9;?jo|1Cq*RN>;ZCH* z)#4Bq`^(6ZIF+Ma790M+{*6_>*y_*p#GY_mtc{>9jxt*xcLbP<)F z%SB!(-S9q6?EL(E2R3tIrDoKtJ&^K4pQ(Es5%RRgUgKPi)-_);jcQ-0okVC+$zz3j zzv7>i4Vh2c52cScb_st{Q$=+AU;?p(T+hJ;Q8CMaK-y^L>*G3)ISc6&V5oRe z0>3ITc$i@dGdtp$*B^<)ok3ZLUnBH%Ads@Z?eqA4g(5(GaGXX|2q_L29;SI?%IXfk zVOj0vP8LH{cZ{WC{IJ_T4U?bE%juU$m#rxAWmt$eE>2~CADrQ`DsF$#CuN%jX%9zy z?xK*fEHfkm=@jX!b4Acn3QpY@exTN_E_{%spP%2VBx<(S9&T<+>>VgB zE?$8`k%8)c4!-UwBlI7pOf;F8nbp8pUzJf0+~2m+ChTiWy49y%f#NMhmV@?yDTwDgJ_T83J`me59I9HR^@g!X4 z4=>JRiM*)Heb(*|Vn#7g*nTf}i+m<@_g=Pqz`Xn4hUVt2qC-`^dOUJ>h4(NMH=?>3 zvzMM;Ui@T&7~i(QFvs!uLgCr=Qr5Uv_1T--+g1(^L>92U4{Mb*HERzb^4^hh1m@Zk zBMi=Mm_NQR+MRxna#b`oM%C1ay+KYnnl#)hw?H{hsZ>wB--2pPFl+2erq^=V)uY6m z)N4w<~F#*6IlxME~tT0S|U z?e6YY8Tv8lg)ehUi`A~a+vBd!uXfoed-WZ+9h+8mD>7t7Wo4UdV?~&$5Lrru^zinJ zGQ-NIrs%abn-wbAXdLiOIHh4m6>Cfwivk*(y$l_#qk8`SeMm}5s*;ln?RfQIw#jE? zFRfo{*=gR~dkGI+)tuRP<$KRK_*rX_LjPcRov7bXtUfxzj>WB6StvhfAvii#x&hABMquKYFtyWxlid|JWhU(5cN1qHu zrqRiL@CVb|v%Ik1YxWu^ZfLC_yH;E-lje}7pilmpY^xwXT=|E|k?V%om*a%K()nXE zaJ}BLva)n+cZ;S6reVY~z2Z5&>$yWv_OF>8SG8)7Mm;-PuU+E(>fmYA%i5LWOQID& zx-l>R481>UXy>5Z?^*Vu4;+=_S_cNSEG6c&_dgT4S_%ij|qt>}XVTfl@ipitr`RL81A7PZ*Wrg;Pxu+lHGzp|h5vDGF8)(r<<7^b#gv)Gz+8FwJI1YakxI9nnsVBDbC zUSiD$%yLf`4CwVCJh(eZK#3x%{|OD-U2{kL1|2Cp=!mjA_0ba=_Qi74RfF7?B~c+F z-KV@9Gp@jAWrPr*s=^OzfOsml-9h*q)sYHcur{e4WRm@5HWNYuzD* zuqILgx~WCunuT+81qo24eI6ha5Fv%+J>hhMyH0i5ej*}|@x7WBd(*O$|Bop0kUu5V z%9V>z{}K!wh9x#W`Va5(2?)eC!66XqCTBRfOpwWLAWJw$UQ$w_WX!77rv0?7Hx?(A zc%6W|dULhzp6-i(Rbz1v#wNoOJS20G7j}E@n^zFWYDq#2jr6_F%pJo+Fw_UI_2%Yg z$MLikcfYOPI6qmiPsZ;Q3%8CqCav9LKsD zo>X)m9AEd>9#yugRZ~Xv+h~b-?>DQ7#)4>|vgb5P2XlfGI{t5iK&{3;BYL^Ixz4pO zSY>#qhGQ#V=hY-AHC37U{4sD%7hWV>7p*%UIP=|Hhq=rmlfGe&lOkgrZ~6<)gQ>HI z9GrXDu$h-#0|5D6B>uDIP1_+=Zw-;*WyM*P4mf%Gv2l4rTmD30v@!l6as4XktvmW# zD{*<4wrsJ33qLp;p?AsHG6}^~Yk^MQIkrb_lHnhCV2;-8|Lj`uvsA5!|DkncX=gV3 zczZW|m+ItdYbIrF&>SY5FPrB>#JRY+9-9i>4&OnZOfl^fgF(tFdC9=9Ir8O&O)=75 z71b>RLBbSo7-ekwzF+}e%bg5L##lTf6gvV7qfa5tZtJltD8-cl#uZ6&+XGZsSeVC@ zT?Qkr7ASB>Ue-(^%-@tSz}vfrLIwvm(KhvoI^ee+^xKHs~q`pDNbxKkuzG2HUpDZJpV+b1GPtBSQ& zDet=-J{&WEQUkAe!or}tRB5&x^t};K*IPo!SI;dmK2;UWGB#Q2E_FcyA7RAaKhu8j zs}!d5Vbz{yxx%`1`84S00`v$NTK$tdG=uG zKM*tG_=vObS6=e|Pp?;E{P|Mu8pCVDs~<%P30|)ZUK#uhZPB?U7pGEJKYE^|{&8Fj z>T+HsIs3aclHzQ4cgSty-DsY;^vPd`i!pS`2_Rub^1Lcq@lo3kQkHcxtnIH|{X$(Q zt0}p?pgRcJR%iCP<$H%K&*E^RLrsq3t4Xzrc8}C(y5pGWIg$P^4T-^Dg7v=jqpPf1 zdGF7vJ6G~Os?FCx9Pf1pIdX@q5f3)>c}m4C6_x*9 z941xgN_zwTZ4J2ORwpfY63ne4HZNjcsB79mMJWT!m9SEtx2DL=6Ul{(&2?j;W(m?s zGC8}XTYd2DUDJAR`@`Ncht@rR(380>S*}6pruC6Bhx*H?l9Q+xWbl4LK$E3-wY`%+ zS+XmCFy1yVUA;B2e>6QGd=phoX zHos7{aZcs(q@|F>&&CB3MRXjJbog`a@$uEB5A5uaO4jRC^Kky!?qU$RE)!P>s@e_*L_k1L55M&No$WP09K<~rklt5kw!YJh&3Pm5+iXq%y4bnClm?Br zsabt_K`7XKNKrfERKS#jx_D!{TdC}tPXqn=eo9zJxkV)I{#2ykeQKDQf{*kwK6}? z)Sa*At6yTkAS-J?BRAI&8iO|CLP&4>E9B%5*tocmJ@LgXCfqiiedjY9($20mhE36a zsVMiz&9{YNaWN$%1ebw|Lc-(R>>6;XOyFcnS7OvNNDV^Ht9M^U?g ziUa_|(tNWY0)uQ8+*m4_D7RoHM2vWVb{E@lC$_@%ps~t@qm2Ob(6*m%E*Lj_=FjQ; zd=B}xZ*wdjr&-zhEzF|mfqjGV&aof@-`7`Ql78wv0T~l*oSV`my{Zdi7AF|zM7(t5 zI4lagW9rYmfbnE!%sIP~Zf$&Lb?0%$3eLwBP-|xU0D_bW~bqW;OFOl^e zqY<=!xZvV(`e-xwh>33)SsV5sV>*kq>5GgC;S5pUDT1)wHpE_m>5-ALjon`_zI@ zW{R|&fQguW&6`FMF2Zgr%J6z;6lzW{A=%5<+bAzxRV5fXLz{EsnY0qQFLt#_~p zXMo|Vf_^#};H}>Y+}Yezl`MZOyClBbIco%$NF~}b-vETWU2N?2T}O_Gey_( zhLdBfKl33fb*SE*t~-+A5P|ow4C)$d&2B-H8U8}1G?TxId6pSp#-`&?Nr60o;p)N& zrP#k_r~_ilU5JM6(n-!S#4RsrlZpgWGtARa)u9z2plb2a3es(Dma+|{m9!s>2KKGU zUYQ0ztaJRi0*=OC`{Xok*ukIjR;hYyrnk2BU`NG`Y7RWs->QScW`;Xeq*G3uJOe;#N0bu#c+o?}Bi zqi+hhaj*u>uo(%A8%wxg!}KrxQcW!oJ$;P~kP3lhrxTJ)j#-24w%d1ICE;ruJIv@KNXS+|@Tw z=1Nj1p9n!Slo3pyFa$(l7vGY+&aKiL_>ptv}zA=}-EA!0;rid;d#4x?TqPymD}G=&}RPy+e-t0fCOO+2wJ?jT4UEiK_g(&6)F1dn_MMi36>0%&B5s6=i-#$0{^_+ftZq5vS zj$V5_y>;A?sF!jSsSk<^`fmg(l%- zdEH&IpayWMrI79P!gnWa70R$9us@-Zp&>|UR^iV62`N7An;uNPQ5q{Y*}D7yj(k z+MAw``-gk?IUj%uL@_`xexQlWf1*nT`0GvDdc7cQx|W-LBCxUM_ka{zRB1c7CH*=6 zoHI>GTPv8e-?kcvUm$n7j)wBjRWJIsdeOp*Ne%C4-2>XCTC8MhPx7Orv#9RkL8KV1 zAJYMDFKDy>#p?hFEl3E|o*_fW4|4UbIJC%_h(3x4#>p1%$C>1 zo&&k|hc*j(du)3fv4I`v24g&(RLa6~ z7P?eGfP6&T0D$xD=H%v$!_sZ5>85kP8#0kdyIM3&1z|~rLZyt;mAjJm6onOqjE#&m^VU=?W zP0B(IOT@5)BpD}F%Fv7OF13Xt4~oeDX0f8&{j8bBa@Jy#l=4zygiRc$aH>*E-I>-^ z?SzEe@5O3IpoaB$eAQ}-Q3E2IU7hZKvB`f}a{YIPl`(6IC4<-2-GLgx6CO#F_@=k` zki8_hIj+Zk-<+JC|AKVNC+y~|8@P6S-vNydr~--P9h3bt*`vZCoU)im!AbFj{$Kz3 zy6aypC*#(iG5b@EA#VQz+C@_U08<&s96>X-M_IO3>Op{hCa6?Oi(_X|EH4A6dX~^H z@UE_^D!9Dm?BOr}wDF%mBi)*|=bPz!<-D`a^iwE!dF&-uA`BQ|Ha47p&C+-X&s901 zzvmD7rDzLl*a2N8(li#TCeZFAHxu#KTQiEYuKN3TGbQujOkB2L%I+7BNtd|xAMOX@ z?vY9U&{Vr01yCe66m=#*5#3NUB>+VTP>;jST7x#84!9=qS<$(&G{lR{awJXSGo%Id z&^ae+mg18339b@L^zx8Tgm_6YqQfOx&%+UFn{W1j#|oPouCH@~-qfp6NAR@ad8jcR z9!)G43x#G{Cw>c@*?ZuazemC7+IkJ$G%qjVQcvs{ZHwrU{&$c3zg6=8#K5;V5klZ^ zN5huRA-CA{5;vhy2@fz*XMIRieV7StF8Rc1Z$y*&b4HoSqNwmh0dme087@wt1+QjP zfocwJ-j0^rxf9Xsy4v2VRH4QMu=x=};Z=^zNqm`NWIL^Uq8cAA(~(jjv1BisCr+Hy ztX6Jsyxxn>hl_56bt85ns~?pr3B70Ax4x4ROLA)R-C~+>B?2geRh&4#dc4rA#JAQQ znY6=Vg2z(|E40pSGV;jD9Uo>vHsIUVzs%swdgID(H*4O&!8V2CW?-Bc{6?U+povMg z_*z7r^!}pQ7<}(U*OU(G>SqRatTE9nw%k3@W#}v>)lzD+`uF{W|75BE*>Lzz434WU z8yu<4&9a~;&E|0s`DGObnyJd$z%~WY3ae^FC>!#%0gDJgw`%-2>}kr%PYPfSppv&u zQe)i_06rqMHnPS32|<_M;tyh!n6-i30}2uK-EX$N(e9oDES+0eOBB#Wk0Q6C1D}Z{ nnEm1&qSQO#y2P?bUdm4y9kOOKmfQk%cR*^&T1p5-%i#Y4rl}vA literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/tank_fracksol.png b/src/main/resources/assets/hbm/textures/models/tank_fracksol.png new file mode 100644 index 0000000000000000000000000000000000000000..59cb89cd7d7545a3676158ba3acfdfe355f931e4 GIT binary patch literal 960 zcmV;x13&zUP)Px#1ZP1_K>z@;j|==^1poj57*I@9MVmx9#=~ckk&$g}ZAnQ<|NsA3SXcl60ASDp z&;S4c2y{|TQ~&?}|NsC00N#VWSpWb432;bRa{vGizW@LZzX3P}QzQTY106|3K~#8N z?U;d*;vft_d*{0T{~vD>9w~HTZ3Ss(@6&sdLLCvMm3)v8-j~(|>v0H2I6L zT4oq@ATKJ~+t)d2K$qe(3_38?4!RW%;yX_`AY5U^Y_4{SMbV}B41*3#wS#VjgE*V3 zoxJGz&1Ec-;(Cl%-_BEiou^(eIPsk)JY}$&<}wD~Ynscr$i3dKl0*{}v2ZnY{a%Lx zuR{?FMfG~GiMoj}*9b)@dZ@Xm@G=ykXrZ}=-s`-%E^)8xs~Y%AUBBR6xTt!)*F@b! zm}`V06fHE@(7wJ*a}8Ce%-?1ws)@P@W;>9d@RYy$x(m5FZ?2*DdT(=ep8edj2e&Cw#bi=m}35{Lq{~3r{@Z0_IOu6Lk|zb)eQs^++23hnHX}x)8-N| zf9f$Ct;Q>ysV3?snCw8Mx%8Zq7KS#Lo^#T|@aDoRe8w@u=zOS}sGDF(2a3%_!Wr0H zB%FcGh0&QOoPi?g2$@4PsFQJ;-c7M6MyGtjbr?S<=?eEd1E-<6!Z2i>s_z2BNJDd_ zxo2uMZ{2y(L(Qc_Jz_eWq)V7~>n;|>=xFi4My;28Mqx z9|#zoxY$?40{)$lDC5F)$agFx0|BG+>xA3)ZMcRi=Hr#CzrQJKpA8aDO-=Abh2T!i zu?R(9Xs&gfrVEHN36Z?$u_u@P0Rb{KOu8{|)PT`hYd@7#5bf6dqT2q_L#UadKoJYa z)mkc)i*I_4!YBJD$rM`^p@@YiYNBq!7Ra}?k{RM#9Ioj)6rt$R<_dpZctdSA&FITM z)Sw7O4>gx0Oojusy@#+*ZGpkw=8{B^1&6+((ejqiQ3Z-vNCpB%CoWFaO;E(bL3I}{ zuO{jySki%ppM|Y7Jh@uQiynJ&HBu~!(V1!n9oVNP>Lysyf!SQMxiV&Rv7`gDxn^@^ i%;sWA2X-{q Date: Tue, 31 Jan 2023 14:27:25 +0200 Subject: [PATCH 2/2] Made all the oil drilling things use the succ(), with byte that tells if it is an bedrock oil deposit, the others don't need it, but it removes some duplicate code. Also changed the succ() to use byte instead of int, because it doesn't need it. (I made the thing that it tells is it bedrock oil deposit, so I just fixed my own mistake but...) Also removed the max depth from the fracking tower, so it can actually reach all way to the bedrock oil deposits. --- .../oil/TileEntityMachineFrackingTower.java | 37 +------------------ .../machine/oil/TileEntityMachineOilWell.java | 2 +- .../oil/TileEntityMachinePumpjack.java | 2 +- .../machine/oil/TileEntityOilDrillBase.java | 10 +++-- 4 files changed, 10 insertions(+), 41 deletions(-) diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineFrackingTower.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineFrackingTower.java index 1e6740c29c..f9904ed3f5 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineFrackingTower.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineFrackingTower.java @@ -94,12 +94,6 @@ public void update() { for(int i = pos.getY() - 1; i > pos.getY() - 1 - 100; i--) { - if(i <= 5) { - // Code 2: The drilling ended - warning = 2; - break; - } - Block b = world.getBlockState(new BlockPos(pos.getX(), i, pos.getZ())).getBlock(); if(b == ModBlocks.oil_pipe) continue; @@ -114,7 +108,7 @@ public void update() { } else if(this.tanks[0].getFluidAmount() < this.tanks[0].getCapacity() && this.tanks[1].getFluidAmount() < this.tanks[1].getCapacity()) { - final int succNumber = succWithBedrockOil(pos.getX(), i, pos.getZ()); + final int succNumber = succ(pos.getX(), i, pos.getZ()); if(succNumber != 0) { if (succNumber == 1) { @@ -171,36 +165,7 @@ public void update() { } } - public int succWithBedrockOil(int x, int y, int z) { - - list.clear(); - - succ1(x, y, z); - succ2(x, y, z); - - if(!list.isEmpty()) { - - int i = rand.nextInt(list.size()); - int a = list.get(i)[0]; - int b = list.get(i)[1]; - int c = list.get(i)[2]; - BlockPos abc = new BlockPos(a, b, c); - - if(world.getBlockState(abc).getBlock() == ModBlocks.ore_oil) { - - world.setBlockState(abc, ModBlocks.ore_oil_empty.getDefaultState()); - return 1; - } - else if (world.getBlockState(abc).getBlock() == ModBlocks.ore_bedrock_oil) { - return 2; - } - } - - processed.clear(); - - return 0; - } public void fillFluidInit(FluidTank tank) { diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineOilWell.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineOilWell.java index 6dad7869cd..8057375f38 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineOilWell.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineOilWell.java @@ -98,7 +98,7 @@ public void update() { break; } else if(this.tanks[0].getFluidAmount() < this.tanks[0].getCapacity() && this.tanks[1].getFluidAmount() < this.tanks[1].getCapacity()) { - if(succ(pos.getX(), i, pos.getZ())) { + if(succ(pos.getX(), i, pos.getZ()) == 1) { this.tanks[0].fill(new FluidStack(tankTypes[0], oilPerDeposit), true); this.tanks[1].fill(new FluidStack(tankTypes[1], (gasPerDepositMin + rand.nextInt(extraGasPerDepositMax))), true); diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachinePumpjack.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachinePumpjack.java index 09f384e791..599c46c9fc 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachinePumpjack.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachinePumpjack.java @@ -129,7 +129,7 @@ public void update() { break; } else if(this.tanks[0].getFluidAmount() < this.tanks[0].getCapacity() && this.tanks[1].getFluidAmount() < this.tanks[1].getCapacity()) { - if(succ(pos.getX(), i, pos.getZ())) { + if(succ(pos.getX(), i, pos.getZ()) == 1) { this.tanks[0].fill(new FluidStack(tankTypes[0], oilPerDeposit), true); diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityOilDrillBase.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityOilDrillBase.java index 9cb36c4cd9..41f7262c32 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityOilDrillBase.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityOilDrillBase.java @@ -119,7 +119,7 @@ public long getPowerScaled(long i) { List list = new ArrayList(); Set processed = new HashSet(); - public boolean succ(int x, int y, int z) { + public byte succ(int x, int y, int z) { list.clear(); @@ -134,16 +134,20 @@ public boolean succ(int x, int y, int z) { int c = list.get(i)[2]; BlockPos abc = new BlockPos(a, b, c); + if(world.getBlockState(abc).getBlock() == ModBlocks.ore_oil) { world.setBlockState(abc, ModBlocks.ore_oil_empty.getDefaultState()); - return true; + return 1; + } + else if (world.getBlockState(abc).getBlock() == ModBlocks.ore_bedrock_oil) { + return 2; } } processed.clear(); - return false; + return 0; } public void succInit1(int x, int y, int z) {