From 590ea605a44555b5d717e7709c59b45a22bdab8e Mon Sep 17 00:00:00 2001 From: Bob Date: Sun, 25 Apr 2021 20:58:03 +0200 Subject: [PATCH] depth ores, clusters --- .../java/com/hbm/blocks/BlockDummyable.java | 8 ++- src/main/java/com/hbm/blocks/ModBlocks.java | 31 ++++++++- .../com/hbm/blocks/fluid/CoriumFluid.java | 31 +++++++++ .../com/hbm/blocks/generic/BlockCluster.java | 64 ++++++++++++++++++ .../java/com/hbm/blocks/generic/BlockOre.java | 9 +++ src/main/java/com/hbm/config/WorldConfig.java | 8 +++ .../java/com/hbm/handler/FuelHandler.java | 2 + .../com/hbm/inventory/CentrifugeRecipes.java | 2 + .../hbm/inventory/CrystallizerRecipes.java | 3 + .../com/hbm/inventory/ShredderRecipes.java | 2 + .../inventory/container/ContainerSILEX.java | 2 +- .../container/ContainerWatzCore.java | 53 ++++++++++----- .../hbm/inventory/gui/GUIRBMKControlAuto.java | 2 +- src/main/java/com/hbm/items/ModItems.java | 6 ++ .../com/hbm/items/block/ItemBlockCluster.java | 25 +++++++ .../com/hbm/items/block/ItemBlockDepth.java | 25 +++++++ .../items/machine/ItemChemistryTemplate.java | 2 +- src/main/java/com/hbm/lib/HbmWorldGen.java | 9 +++ .../java/com/hbm/main/CraftingManager.java | 4 +- .../com/hbm/world/feature/DepthDeposit.java | 45 ++++++++++++ .../hbm/world/generator/DungeonToolbox.java | 1 - src/main/resources/assets/hbm/lang/de_DE.lang | 28 ++++++++ src/main/resources/assets/hbm/lang/en_US.lang | 28 ++++++++ .../hbm/textures/blocks/cluster_aluminium.png | Bin 0 -> 536 bytes .../textures/blocks/cluster_depth_iron.png | Bin 0 -> 619 bytes .../blocks/cluster_depth_titanium.png | Bin 0 -> 599 bytes .../blocks/cluster_depth_tungsten.png | Bin 0 -> 504 bytes .../hbm/textures/blocks/cluster_iron.png | Bin 0 -> 603 bytes .../hbm/textures/blocks/cluster_overlay.png | Bin 0 -> 332 bytes .../hbm/textures/blocks/cluster_titanium.png | Bin 0 -> 548 bytes .../hbm/textures/blocks/stone_depth.png | Bin 0 -> 403 bytes .../hbm/textures/blocks/stone_depth_var.png | Bin 0 -> 394 bytes .../hbm/textures/items/crystal_coal.png | Bin 0 -> 330 bytes .../hbm/textures/items/crystal_lapis.png | Bin 0 -> 594 bytes 34 files changed, 362 insertions(+), 28 deletions(-) create mode 100644 src/main/java/com/hbm/blocks/fluid/CoriumFluid.java create mode 100644 src/main/java/com/hbm/blocks/generic/BlockCluster.java create mode 100644 src/main/java/com/hbm/items/block/ItemBlockCluster.java create mode 100644 src/main/java/com/hbm/items/block/ItemBlockDepth.java create mode 100644 src/main/java/com/hbm/world/feature/DepthDeposit.java create mode 100644 src/main/resources/assets/hbm/textures/blocks/cluster_aluminium.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/cluster_depth_iron.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/cluster_depth_titanium.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/cluster_depth_tungsten.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/cluster_iron.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/cluster_overlay.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/cluster_titanium.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/stone_depth.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/stone_depth_var.png create mode 100644 src/main/resources/assets/hbm/textures/items/crystal_coal.png create mode 100644 src/main/resources/assets/hbm/textures/items/crystal_lapis.png diff --git a/src/main/java/com/hbm/blocks/BlockDummyable.java b/src/main/java/com/hbm/blocks/BlockDummyable.java index 20ab7f359..f3190a687 100644 --- a/src/main/java/com/hbm/blocks/BlockDummyable.java +++ b/src/main/java/com/hbm/blocks/BlockDummyable.java @@ -173,10 +173,10 @@ public abstract class BlockDummyable extends BlockContainer { return; } - //if(!world.isRemote) { + if(!world.isRemote) { world.setBlock(x + dir.offsetX * o, y + dir.offsetY * o, z + dir.offsetZ * o, this, dir.ordinal() + offset, 3); fillSpace(world, x, y, z, dir, o); - //} + } y -= getHeightOffset(); world.scheduleBlockUpdate(x, y, z, this, 1); world.scheduleBlockUpdate(x, y, z, this, 2); @@ -234,7 +234,9 @@ public abstract class BlockDummyable extends BlockContainer { // TODO: run extensive tests on whether this change doesn't break anything ForgeDirection d = ForgeDirection.getOrientation(i); - world.setBlockToAir(x - d.offsetX, y - d.offsetY, z - d.offsetZ); + + if(world.getBlock(x - d.offsetX, y - d.offsetY, z - d.offsetZ) == this) + world.setBlockToAir(x - d.offsetX, y - d.offsetY, z - d.offsetZ); // } } diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 2e3c05bd0..8889f2b7f 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -101,6 +101,15 @@ public class ModBlocks { public static Block ore_gneiss_schrabidium; public static Block ore_gneiss_rare; public static Block ore_gneiss_gas; + + public static Block stone_depth; + public static Block cluster_depth_iron; + public static Block cluster_depth_titanium; + public static Block cluster_depth_tungsten; + + public static Block cluster_iron; + public static Block cluster_titanium; + public static Block cluster_aluminium; public static Block ore_oil; public static Block ore_oil_empty; @@ -1008,6 +1017,10 @@ public class ModBlocks { ore_coal_oil = new BlockCoalOil(Material.rock).setBlockName("ore_coal_oil").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":ore_coal_oil"); ore_coal_oil_burning = new BlockCoalBurning(Material.rock).setBlockName("ore_coal_oil_burning").setCreativeTab(MainRegistry.blockTab).setLightLevel(10F/15F).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":ore_coal_oil_burning"); + cluster_iron = new BlockCluster(Material.rock).setBlockName("cluster_iron").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":cluster_iron"); + cluster_titanium = new BlockCluster(Material.rock).setBlockName("cluster_titanium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":cluster_titanium"); + cluster_aluminium = new BlockCluster(Material.rock).setBlockName("cluster_aluminium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(15.0F).setBlockTextureName(RefStrings.MODID + ":cluster_aluminium"); + ore_nether_coal = new BlockNetherCoal(Material.rock, true, 5, true).setBlockName("ore_nether_coal").setCreativeTab(MainRegistry.blockTab).setLightLevel(10F/15F).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_coal"); ore_nether_smoldering = new BlockSmolder(Material.rock).setBlockName("ore_nether_smoldering").setCreativeTab(MainRegistry.blockTab).setLightLevel(1F).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_smoldering"); ore_nether_uranium = new BlockOutgas(Material.rock, true, 5, false).setBlockName("ore_nether_uranium").setCreativeTab(MainRegistry.blockTab).setHardness(0.4F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_nether_uranium"); @@ -1041,6 +1054,11 @@ public class ModBlocks { ore_gneiss_rare = new BlockOre(Material.rock).setBlockName("ore_gneiss_rare").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_rare"); ore_gneiss_gas = new BlockOre(Material.rock).setBlockName("ore_gneiss_gas").setCreativeTab(MainRegistry.blockTab).setHardness(1.5F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_gneiss_gas"); + stone_depth = new BlockGeneric(Material.rock).setBlockName("stone_depth").setCreativeTab(MainRegistry.blockTab).setBlockUnbreakable().setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":stone_depth"); + cluster_depth_iron = new BlockOre(Material.rock).setBlockName("cluster_depth_iron").setCreativeTab(MainRegistry.blockTab).setBlockUnbreakable().setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cluster_depth_iron"); + cluster_depth_titanium = new BlockOre(Material.rock).setBlockName("cluster_depth_titanium").setCreativeTab(MainRegistry.blockTab).setBlockUnbreakable().setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cluster_depth_titanium"); + cluster_depth_tungsten = new BlockOre(Material.rock).setBlockName("cluster_depth_tungsten").setCreativeTab(MainRegistry.blockTab).setBlockUnbreakable().setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cluster_depth_tungsten"); + ore_australium = new BlockGeneric(Material.rock).setBlockName("ore_australium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_australium"); ore_weidanium = new BlockGeneric(Material.rock).setBlockName("ore_weidanium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_weidanium"); ore_reiium = new BlockGeneric(Material.rock).setBlockName("ore_reiium").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":ore_reiium"); @@ -1696,7 +1714,7 @@ public class ModBlocks { FluidRegistry.registerFluid(schrabidic_fluid); schrabidic_block = new SchrabidicBlock(schrabidic_fluid, fluidschrabidic.setReplaceable(), ModDamageSource.radiation).setBlockName("schrabidic_block").setResistance(500F); - corium_fluid = new SchrabidicFluid().setDensity(6000).setViscosity(500).setLuminosity(10).setTemperature(600).setUnlocalizedName("corium_fluid"); + corium_fluid = new CoriumFluid().setDensity(6000).setViscosity(500).setLuminosity(10).setTemperature(600).setUnlocalizedName("corium_fluid"); FluidRegistry.registerFluid(corium_fluid); corium_block = new CoriumBlock(corium_fluid, fluidcorium).setBlockName("corium_block").setResistance(500F); @@ -1801,6 +1819,11 @@ public class ModBlocks { GameRegistry.registerBlock(ore_verticium, ItemOreBlock.class, ore_verticium.getUnlocalizedName()); GameRegistry.registerBlock(ore_rare, ItemOreBlock.class, ore_rare.getUnlocalizedName()); + //Stone clusters + GameRegistry.registerBlock(cluster_iron, ItemBlockCluster.class, cluster_iron.getUnlocalizedName()); + GameRegistry.registerBlock(cluster_titanium, ItemBlockCluster.class, cluster_titanium.getUnlocalizedName()); + GameRegistry.registerBlock(cluster_aluminium, ItemBlockCluster.class, cluster_aluminium.getUnlocalizedName()); + //Nice Meme GameRegistry.registerBlock(ore_coal_oil, ore_coal_oil.getUnlocalizedName()); GameRegistry.registerBlock(ore_coal_oil_burning, ore_coal_oil_burning.getUnlocalizedName()); @@ -1840,11 +1863,17 @@ public class ModBlocks { GameRegistry.registerBlock(ore_gneiss_rare, ItemOreBlock.class, ore_gneiss_rare.getUnlocalizedName()); GameRegistry.registerBlock(ore_gneiss_gas, ore_gneiss_gas.getUnlocalizedName()); + //Depth ores + GameRegistry.registerBlock(cluster_depth_iron, ItemBlockDepth.class, cluster_depth_iron.getUnlocalizedName()); + GameRegistry.registerBlock(cluster_depth_titanium, ItemBlockDepth.class, cluster_depth_titanium.getUnlocalizedName()); + GameRegistry.registerBlock(cluster_depth_tungsten, ItemBlockDepth.class, cluster_depth_tungsten.getUnlocalizedName()); + //End Ores GameRegistry.registerBlock(ore_tikite, ore_tikite.getUnlocalizedName()); //Stone Variants GameRegistry.registerBlock(stone_gneiss, stone_gneiss.getUnlocalizedName()); + GameRegistry.registerBlock(stone_depth, ItemBlockDepth.class, stone_depth.getUnlocalizedName()); //Blocks GameRegistry.registerBlock(block_uranium, ItemBlockHazard.class, block_uranium.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/fluid/CoriumFluid.java b/src/main/java/com/hbm/blocks/fluid/CoriumFluid.java new file mode 100644 index 000000000..cf9670dab --- /dev/null +++ b/src/main/java/com/hbm/blocks/fluid/CoriumFluid.java @@ -0,0 +1,31 @@ +package com.hbm.blocks.fluid; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.util.IIcon; +import net.minecraftforge.fluids.Fluid; + +public class CoriumFluid extends Fluid { + + public CoriumFluid() { + super("corium_fluid"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon() { + return getStillIcon(); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getStillIcon() { + return CoriumBlock.stillIcon; + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getFlowingIcon() { + return CoriumBlock.flowingIcon; + } +} diff --git a/src/main/java/com/hbm/blocks/generic/BlockCluster.java b/src/main/java/com/hbm/blocks/generic/BlockCluster.java new file mode 100644 index 000000000..b23295fba --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockCluster.java @@ -0,0 +1,64 @@ +package com.hbm.blocks.generic; + +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.items.ModItems; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; +import net.minecraftforge.common.util.FakePlayer; + +public class BlockCluster extends Block { + + public BlockCluster(Material mat) { + super(mat); + } + + @Override + public Item getItemDropped(int i, Random rand, int j) { + return null; + } + + @Override + public void harvestBlock(World world, EntityPlayer player, int x, int y, int z, int meta) { + + if(player instanceof FakePlayer || player == null) { + return; + } + + if(!world.isRemote && world.getGameRules().getGameRuleBooleanValue("doTileDrops") && !world.restoringBlockSnapshots) { + + Item drop = getDrop(); + + if(drop == null) + return; + + float f = 0.7F; + double mX = (double) (world.rand.nextFloat() * f) + (double) (1.0F - f) * 0.5D; + double mY = (double) (world.rand.nextFloat() * f) + (double) (1.0F - f) * 0.5D; + double mZ = (double) (world.rand.nextFloat() * f) + (double) (1.0F - f) * 0.5D; + + EntityItem entityitem = new EntityItem(world, (double) x + mX, (double) y + mY, (double) z + mZ, new ItemStack(drop)); + entityitem.delayBeforeCanPickup = 10; + world.spawnEntityInWorld(entityitem); + } + } + + private Item getDrop() { + + if(this == ModBlocks.cluster_iron) + return ModItems.crystal_iron; + if(this == ModBlocks.cluster_titanium) + return ModItems.crystal_titanium; + if(this == ModBlocks.cluster_aluminium) + return ModItems.crystal_aluminium; + + return null; + } +} diff --git a/src/main/java/com/hbm/blocks/generic/BlockOre.java b/src/main/java/com/hbm/blocks/generic/BlockOre.java index 8acb7174f..39ef8e12c 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockOre.java +++ b/src/main/java/com/hbm/blocks/generic/BlockOre.java @@ -198,6 +198,15 @@ public class BlockOre extends Block { if(this == ModBlocks.ore_lignite) { return ModItems.lignite; } + if(this == ModBlocks.cluster_depth_iron) { + return ModItems.crystal_iron; + } + if(this == ModBlocks.cluster_depth_titanium) { + return ModItems.crystal_titanium; + } + if(this == ModBlocks.cluster_depth_tungsten) { + return ModItems.crystal_tungsten; + } return Item.getItemFromBlock(this); } diff --git a/src/main/java/com/hbm/config/WorldConfig.java b/src/main/java/com/hbm/config/WorldConfig.java index 87fea51ca..61930b4d2 100644 --- a/src/main/java/com/hbm/config/WorldConfig.java +++ b/src/main/java/com/hbm/config/WorldConfig.java @@ -24,6 +24,10 @@ public class WorldConfig { public static int gassshaleSpawn = 5; public static int gasbubbleSpawn = 64; + public static int ironClusterSpawn = 4; + public static int titaniumClusterSpawn = 2; + public static int aluminiumClusterSpawn = 3; + public static int netherUraniumuSpawn = 8; public static int netherTungstenSpawn = 10; public static int netherSulfurSpawn = 26; @@ -86,6 +90,10 @@ public class WorldConfig { gassshaleSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.16_gasShaleSpawnRate", "Amount of oil shale veins per chunk", 5); gasbubbleSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.17_gasBubbleSpawnRate", "Spawns a gas bubble every nTH chunk", 64); + 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); + netherUraniumuSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.N00_uraniumSpawnrate", "Amount of nether uranium per chunk", 8); netherTungstenSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.N01_tungstenSpawnrate", "Amount of nether tungsten per chunk", 10); netherSulfurSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.N02_sulfurSpawnrate", "Amount of nether sulfur per chunk", 26); diff --git a/src/main/java/com/hbm/handler/FuelHandler.java b/src/main/java/com/hbm/handler/FuelHandler.java index d79de4a14..b1ce5e381 100644 --- a/src/main/java/com/hbm/handler/FuelHandler.java +++ b/src/main/java/com/hbm/handler/FuelHandler.java @@ -38,6 +38,8 @@ public class FuelHandler implements IFuelHandler { return 800; if(fuel.getItem() == ModItems.coal_infernal) return 4800; + if(fuel.getItem() == ModItems.crystal_coal) + return 6400; return 0; } diff --git a/src/main/java/com/hbm/inventory/CentrifugeRecipes.java b/src/main/java/com/hbm/inventory/CentrifugeRecipes.java index 44ec0accf..71b146a5b 100644 --- a/src/main/java/com/hbm/inventory/CentrifugeRecipes.java +++ b/src/main/java/com/hbm/inventory/CentrifugeRecipes.java @@ -204,9 +204,11 @@ public class CentrifugeRecipes { recipes.put(new ComparableStack(ModItems.ingot_schraranium), new ItemStack[] { new ItemStack(ModItems.nugget_schrabidium, 2), new ItemStack(ModItems.nugget_schrabidium, 1), new ItemStack(ModItems.nugget_uranium, 3), new ItemStack(ModItems.nugget_plutonium, 2) }); + recipes.put(new ComparableStack(ModItems.crystal_coal), new ItemStack[] { new ItemStack(ModItems.powder_coal, 3), new ItemStack(ModItems.powder_coal, 3), new ItemStack(ModItems.powder_coal, 3), new ItemStack(ModItems.powder_lithium_tiny, 1) }); recipes.put(new ComparableStack(ModItems.crystal_iron), new ItemStack[] { new ItemStack(ModItems.powder_iron, 2), new ItemStack(ModItems.powder_iron, 2), new ItemStack(ModItems.powder_titanium, 1), new ItemStack(ModItems.powder_lithium_tiny, 1) }); recipes.put(new ComparableStack(ModItems.crystal_gold), new ItemStack[] { new ItemStack(ModItems.powder_gold, 2), new ItemStack(ModItems.powder_gold, 2), new ItemStack(ModItems.nugget_mercury, 1), new ItemStack(ModItems.powder_lithium_tiny, 1) }); recipes.put(new ComparableStack(ModItems.crystal_redstone), new ItemStack[] { new ItemStack(Items.redstone, 3), new ItemStack(Items.redstone, 3), new ItemStack(Items.redstone, 3), new ItemStack(ModItems.nugget_mercury, 3) }); + recipes.put(new ComparableStack(ModItems.crystal_lapis), new ItemStack[] { new ItemStack(ModItems.powder_lapis, 3), new ItemStack(ModItems.powder_lapis, 3), new ItemStack(ModItems.powder_lapis, 3), new ItemStack(ModItems.powder_cobalt, 1) }); recipes.put(new ComparableStack(ModItems.crystal_diamond), new ItemStack[] { new ItemStack(ModItems.powder_diamond, 1), new ItemStack(ModItems.powder_diamond, 1), new ItemStack(ModItems.powder_diamond, 1), new ItemStack(ModItems.powder_diamond, 1) }); recipes.put(new ComparableStack(ModItems.crystal_uranium), new ItemStack[] { new ItemStack(ModItems.powder_uranium, 2), new ItemStack(ModItems.powder_uranium, 2), new ItemStack(ModItems.nugget_polonium, 2), new ItemStack(ModItems.powder_lithium_tiny, 1) }); recipes.put(new ComparableStack(ModItems.crystal_thorium), new ItemStack[] { new ItemStack(ModItems.powder_thorium, 2), new ItemStack(ModItems.powder_thorium, 2), new ItemStack(ModItems.powder_uranium, 1), new ItemStack(ModItems.powder_lithium_tiny, 1) }); diff --git a/src/main/java/com/hbm/inventory/CrystallizerRecipes.java b/src/main/java/com/hbm/inventory/CrystallizerRecipes.java index 913cc7ebd..983d81e87 100644 --- a/src/main/java/com/hbm/inventory/CrystallizerRecipes.java +++ b/src/main/java/com/hbm/inventory/CrystallizerRecipes.java @@ -23,9 +23,11 @@ public class CrystallizerRecipes { public static void register() { + recipes.put("oreCoal", new ItemStack(ModItems.crystal_coal)); recipes.put("oreIron", new ItemStack(ModItems.crystal_iron)); recipes.put("oreGold", new ItemStack(ModItems.crystal_gold)); recipes.put("oreRedstone", new ItemStack(ModItems.crystal_redstone)); + recipes.put("oreLapis", new ItemStack(ModItems.crystal_lapis)); recipes.put("oreDiamond", new ItemStack(ModItems.crystal_diamond)); recipes.put("oreUranium", new ItemStack(ModItems.crystal_uranium)); recipes.put("oreThorium", new ItemStack(ModItems.crystal_thorium)); @@ -55,6 +57,7 @@ public class CrystallizerRecipes { recipes.put(new ComparableStack(ModBlocks.gravel_obsidian), new ItemStack(ModBlocks.brick_obsidian)); recipes.put("blockRedstone", new ItemStack(ModItems.nugget_mercury)); recipes.put(new ComparableStack(Items.rotten_flesh), new ItemStack(Items.leather)); + recipes.put(new ComparableStack(ModItems.coal_infernal), new ItemStack(ModItems.solid_fuel)); recipes.put(new ComparableStack(ModItems.powder_diamond), new ItemStack(Items.diamond)); recipes.put(new ComparableStack(ModItems.powder_emerald), new ItemStack(Items.emerald)); diff --git a/src/main/java/com/hbm/inventory/ShredderRecipes.java b/src/main/java/com/hbm/inventory/ShredderRecipes.java index 0b68e10ae..5f787fac5 100644 --- a/src/main/java/com/hbm/inventory/ShredderRecipes.java +++ b/src/main/java/com/hbm/inventory/ShredderRecipes.java @@ -152,9 +152,11 @@ public class ShredderRecipes { ShredderRecipes.setRecipe(ModItems.coal_infernal, new ItemStack(ModItems.powder_coal, 3)); ShredderRecipes.setRecipe(ModItems.ingot_schraranium, new ItemStack(ModItems.nugget_schrabidium, 2)); + ShredderRecipes.setRecipe(ModItems.crystal_coal, new ItemStack(ModItems.powder_coal, 3)); ShredderRecipes.setRecipe(ModItems.crystal_iron, new ItemStack(ModItems.powder_iron, 3)); ShredderRecipes.setRecipe(ModItems.crystal_gold, new ItemStack(ModItems.powder_gold, 3)); ShredderRecipes.setRecipe(ModItems.crystal_redstone, new ItemStack(Items.redstone, 8)); + ShredderRecipes.setRecipe(ModItems.crystal_lapis, new ItemStack(ModItems.powder_lapis, 8)); ShredderRecipes.setRecipe(ModItems.crystal_diamond, new ItemStack(ModItems.powder_diamond, 3)); ShredderRecipes.setRecipe(ModItems.crystal_uranium, new ItemStack(ModItems.powder_uranium, 3)); ShredderRecipes.setRecipe(ModItems.crystal_plutonium, new ItemStack(ModItems.powder_plutonium, 3)); diff --git a/src/main/java/com/hbm/inventory/container/ContainerSILEX.java b/src/main/java/com/hbm/inventory/container/ContainerSILEX.java index 787a132a5..b8fdcbea8 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerSILEX.java +++ b/src/main/java/com/hbm/inventory/container/ContainerSILEX.java @@ -60,7 +60,7 @@ public class ContainerSILEX extends Container { if(!this.mergeItemStack(var5, silex.getSizeInventory(), this.inventorySlots.size(), true)) { return null; } - } else if(var5.getItem() == ModItems.turret_chip) { + } else if(var5.getItem() == ModItems.turret_chip) { //did i copy this from turrets? tf is happening lol if(!this.mergeItemStack(var5, 0, 1, false)) return null; diff --git a/src/main/java/com/hbm/inventory/container/ContainerWatzCore.java b/src/main/java/com/hbm/inventory/container/ContainerWatzCore.java index dae933643..433a4f860 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerWatzCore.java +++ b/src/main/java/com/hbm/inventory/container/ContainerWatzCore.java @@ -1,7 +1,10 @@ package com.hbm.inventory.container; +import com.hbm.items.ModItems; +import com.hbm.items.special.WatzFuel; import com.hbm.tileentity.machine.TileEntityWatzCore; +import api.hbm.energy.IBatteryItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; @@ -96,37 +99,51 @@ public class ContainerWatzCore extends Container { } @Override - public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) - { + public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) { ItemStack var3 = null; Slot var4 = (Slot) this.inventorySlots.get(par2); - - if (var4 != null && var4.getHasStack()) - { + + if(var4 != null && var4.getHasStack()) { ItemStack var5 = var4.getStack(); var3 = var5.copy(); - - if (par2 <= 39) { - if (!this.mergeItemStack(var5, 40, this.inventorySlots.size(), true)) - { + + if(par2 <= 39) { + if(!this.mergeItemStack(var5, 40, this.inventorySlots.size(), true)) { return null; } + } else { - return null; + + if(var5.getItem() == ModItems.titanium_filter) { + if(!this.mergeItemStack(var5, 38, 39, false)) { + return null; + } + } else if(var5.getItem() instanceof WatzFuel) { + if(!this.mergeItemStack(var5, 0, 36, false)) { + return null; + } + } else if(var5.getItem() instanceof IBatteryItem) { + if(!this.mergeItemStack(var5, 37, 38, false)) { + return null; + } + } else { + if(!this.mergeItemStack(var5, 36, 37, false)) { + return null; + } + } } - - if (var5.stackSize == 0) - { + + if(var5.stackSize == 0) { var4.putStack((ItemStack) null); - } - else - { + } else { var4.onSlotChanged(); } + + var4.onPickupFromSlot(p_82846_1_, var5); } - + return var3; - } + } @Override public boolean canInteractWith(EntityPlayer player) { diff --git a/src/main/java/com/hbm/inventory/gui/GUIRBMKControlAuto.java b/src/main/java/com/hbm/inventory/gui/GUIRBMKControlAuto.java index 51cca4ec8..a529201ba 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIRBMKControlAuto.java +++ b/src/main/java/com/hbm/inventory/gui/GUIRBMKControlAuto.java @@ -73,7 +73,7 @@ public class GUIRBMKControlAuto extends GuiInfoContainer { case QUAD_DOWN: func += " Negative Quadratic"; break; } - this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 69, guiTop + 27, 26, 19, mouseX, mouseY, new String[]{ (int)(rod.level * 100) + "%" } ); + this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 69, guiTop + 27, 26, 19, mouseX, mouseY, new String[]{ func } ); } @Override diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 46972619d..c128dcc6e 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -253,9 +253,11 @@ public class ModItems { public static Item solid_fuel; public static Item rocket_fuel; + public static Item crystal_coal; public static Item crystal_iron; public static Item crystal_gold; public static Item crystal_redstone; + public static Item crystal_lapis; public static Item crystal_diamond; public static Item crystal_uranium; public static Item crystal_thorium; @@ -2469,9 +2471,11 @@ public class ModItems { nugget_les = new ItemHazard(ItemHazard.saf * ItemHazard.nugget, false, true).setUnlocalizedName("nugget_les").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_les"); plate_combine_steel = new Item().setUnlocalizedName("plate_combine_steel").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":plate_combine_steel"); + crystal_coal = new Item().setUnlocalizedName("crystal_coal").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_coal"); crystal_iron = new Item().setUnlocalizedName("crystal_iron").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_iron"); crystal_gold = new Item().setUnlocalizedName("crystal_gold").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_gold"); crystal_redstone = new Item().setUnlocalizedName("crystal_redstone").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_redstone"); + crystal_lapis = new Item().setUnlocalizedName("crystal_lapis").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_lapis"); crystal_diamond = new Item().setUnlocalizedName("crystal_diamond").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_diamond"); crystal_uranium = new ItemHazard(ItemHazard.u * ItemHazard.crystal).setUnlocalizedName("crystal_uranium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_uranium"); crystal_thorium = new ItemHazard(ItemHazard.th232 * ItemHazard.crystal).setUnlocalizedName("crystal_thorium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crystal_thorium"); @@ -5026,9 +5030,11 @@ public class ModItems { GameRegistry.registerItem(ballistite, ballistite.getUnlocalizedName()); //Crystals + GameRegistry.registerItem(crystal_coal, crystal_coal.getUnlocalizedName()); GameRegistry.registerItem(crystal_iron, crystal_iron.getUnlocalizedName()); GameRegistry.registerItem(crystal_gold, crystal_gold.getUnlocalizedName()); GameRegistry.registerItem(crystal_redstone, crystal_redstone.getUnlocalizedName()); + GameRegistry.registerItem(crystal_lapis, crystal_lapis.getUnlocalizedName()); GameRegistry.registerItem(crystal_diamond, crystal_diamond.getUnlocalizedName()); GameRegistry.registerItem(crystal_uranium, crystal_uranium.getUnlocalizedName()); GameRegistry.registerItem(crystal_thorium, crystal_thorium.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/block/ItemBlockCluster.java b/src/main/java/com/hbm/items/block/ItemBlockCluster.java new file mode 100644 index 000000000..de306f625 --- /dev/null +++ b/src/main/java/com/hbm/items/block/ItemBlockCluster.java @@ -0,0 +1,25 @@ +package com.hbm.items.block; + +import java.util.List; + +import com.hbm.util.I18nUtil; + +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; + +public class ItemBlockCluster extends ItemBlock { + + public ItemBlockCluster(Block block) { + super(block); + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { + super.addInformation(stack, player, list, bool); + + list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKey("trait.tile.cluster")); + } +} diff --git a/src/main/java/com/hbm/items/block/ItemBlockDepth.java b/src/main/java/com/hbm/items/block/ItemBlockDepth.java new file mode 100644 index 000000000..e32aecdb0 --- /dev/null +++ b/src/main/java/com/hbm/items/block/ItemBlockDepth.java @@ -0,0 +1,25 @@ +package com.hbm.items.block; + +import java.util.List; + +import com.hbm.util.I18nUtil; + +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; + +public class ItemBlockDepth extends ItemBlock { + + public ItemBlockDepth(Block block) { + super(block); + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { + super.addInformation(stack, player, list, bool); + + list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKey("trait.tile.depth")); + } +} diff --git a/src/main/java/com/hbm/items/machine/ItemChemistryTemplate.java b/src/main/java/com/hbm/items/machine/ItemChemistryTemplate.java index 6fc247b08..25dc75301 100644 --- a/src/main/java/com/hbm/items/machine/ItemChemistryTemplate.java +++ b/src/main/java/com/hbm/items/machine/ItemChemistryTemplate.java @@ -255,7 +255,7 @@ public class ItemChemistryTemplate extends Item { case SOLID_FUEL: return 200; case ELECTROLYSIS: - return 400; + return 150; case XENON: return 300; case XENON_OXY: diff --git a/src/main/java/com/hbm/lib/HbmWorldGen.java b/src/main/java/com/hbm/lib/HbmWorldGen.java index 64d41f641..802791d60 100644 --- a/src/main/java/com/hbm/lib/HbmWorldGen.java +++ b/src/main/java/com/hbm/lib/HbmWorldGen.java @@ -24,6 +24,7 @@ import com.hbm.world.dungeon.Satellite; import com.hbm.world.dungeon.Silo; import com.hbm.world.dungeon.Spaceship; import com.hbm.world.dungeon.Vertibird; +import com.hbm.world.feature.DepthDeposit; import com.hbm.world.feature.Dud; import com.hbm.world.feature.Geyser; import com.hbm.world.feature.GeyserLarge; @@ -146,6 +147,10 @@ public class HbmWorldGen implements IWorldGenerator { DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.rareSpawn, 5, 5, 20, ModBlocks.ore_rare); DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.ligniteSpawn, 24, 35, 25, ModBlocks.ore_lignite); DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.asbestosSpawn, 4, 16, 16, ModBlocks.ore_asbestos); + + DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.ironClusterSpawn, 6, 5, 50, ModBlocks.cluster_iron); + DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.titaniumClusterSpawn, 6, 5, 30, ModBlocks.cluster_titanium); + DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.aluminiumClusterSpawn, 6, 5, 40, ModBlocks.cluster_aluminium); if(WorldConfig.oilcoalSpawn > 0 && rand.nextInt(WorldConfig.oilcoalSpawn) == 0) DungeonToolbox.generateOre(world, rand, i, j, 1, 64, 32, 32, ModBlocks.ore_coal_oil); @@ -153,6 +158,10 @@ public class HbmWorldGen implements IWorldGenerator { if(WorldConfig.gasbubbleSpawn > 0 && rand.nextInt(WorldConfig.gasbubbleSpawn) == 0) DungeonToolbox.generateOre(world, rand, i, j, 1, 32, 30, 10, ModBlocks.gas_flammable); + DepthDeposit.generateCondition(world, i, 0, 3, j, 5, 0.6D, ModBlocks.cluster_depth_iron, rand, 16); + DepthDeposit.generateCondition(world, i, 0, 3, j, 5, 0.6D, ModBlocks.cluster_depth_titanium, rand, 16); + DepthDeposit.generateCondition(world, i, 0, 3, j, 5, 0.6D, ModBlocks.cluster_depth_tungsten, rand, 16); + for (int k = 0; k < 6; k++) { int randPosX = i + rand.nextInt(16); int randPosY = rand.nextInt(35); diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 9725310cc..6bd3aaa0f 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -619,8 +619,8 @@ public class CraftingManager { GameRegistry.addRecipe(new ItemStack(Blocks.torch, 8), new Object[] { "L", "S", 'L', ModItems.coke, 'S', Items.stick }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_missile_assembly, 1), new Object[] { "PWP", "SSS", "CCC", 'P', ModItems.pedestal_steel, 'W', ModItems.wrench, 'S', "plateSteel", 'C', ModBlocks.steel_scaffold })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.struct_launcher, 1), new Object[] { "PPP", "SDS", "CCC", 'P', "plateSteel", 'S', ModBlocks.steel_scaffold, 'D', ModItems.pipes_steel, 'C', ModBlocks.concrete_smooth })); - GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.struct_launcher, 1), new Object[] { "PPP", "SDS", "CCC", 'P', "plateSteel", 'S', ModBlocks.steel_scaffold, 'D', ModItems.pipes_steel, 'C', ModBlocks.concrete })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.struct_launcher, 1), new Object[] { "PPP", "SDS", "CCC", 'P', "plateSteel", 'S', ModBlocks.steel_scaffold, 'D', ModBlocks.chain, 'C', ModBlocks.concrete_smooth })); + GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.struct_launcher, 1), new Object[] { "PPP", "SDS", "CCC", 'P', "plateSteel", 'S', ModBlocks.steel_scaffold, 'D', ModBlocks.chain, 'C', ModBlocks.concrete })); GameRegistry.addRecipe(new ItemStack(ModBlocks.struct_scaffold, 1), new Object[] { "SSS", "DCD", "SSS", 'S', ModBlocks.steel_scaffold, 'D', ModBlocks.fluid_duct, 'C', ModBlocks.red_cable }); GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.seg_10, 1), new Object[] { "P", "S", "B", 'P', "plateAluminum", 'S', ModBlocks.steel_scaffold, 'B', ModBlocks.steel_beam })); diff --git a/src/main/java/com/hbm/world/feature/DepthDeposit.java b/src/main/java/com/hbm/world/feature/DepthDeposit.java new file mode 100644 index 000000000..ede86de3b --- /dev/null +++ b/src/main/java/com/hbm/world/feature/DepthDeposit.java @@ -0,0 +1,45 @@ +package com.hbm.world.feature; + +import java.util.Random; + +import com.hbm.blocks.ModBlocks; + +import net.minecraft.block.Block; +import net.minecraft.init.Blocks; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; + +public class DepthDeposit { + + public static void generateCondition(World world, int x, int yMin, int yDev, int z, int size, double fill, Block block, Random rand, int chance) { + + if(rand.nextInt(chance) == 0) + generate(world, x + rand.nextInt(16), yMin + rand.nextInt(yDev), z + rand.nextInt(16), size, fill, block, rand); + } + + public static void generate(World world, int x, int y, int z, int size, double fill, Block block, Random rand) { + + for(int i = x - size; i <= x + size; i++) { + for(int j = y - size; j <= y + size; j++) { + for(int k = z - size; k <= z + size; k++) { + + if(j < 1) + continue; + + double len = Vec3.createVectorHelper(x - i, y - j, z - k).lengthVector(); + Block target = world.getBlock(i, j, k); + + if(target.isReplaceableOreGen(world, i, j, k, Blocks.stone) || target.isReplaceableOreGen(world, i, j, k, Blocks.bedrock)) { //yes you've heard right, bedrock + + if(len + rand.nextInt(2) < size * fill) { + world.setBlock(i, j, k, block); + + } else if(len + rand.nextInt(2) <= size) { + world.setBlock(i, j, k, ModBlocks.stone_depth); + } + } + } + } + } + } +} diff --git a/src/main/java/com/hbm/world/generator/DungeonToolbox.java b/src/main/java/com/hbm/world/generator/DungeonToolbox.java index ac2631dbd..3523d7417 100644 --- a/src/main/java/com/hbm/world/generator/DungeonToolbox.java +++ b/src/main/java/com/hbm/world/generator/DungeonToolbox.java @@ -3,7 +3,6 @@ package com.hbm.world.generator; import java.util.List; import java.util.Random; -import com.hbm.blocks.ModBlocks; import com.hbm.inventory.RecipesCommon.MetaBlock; import net.minecraft.block.Block; diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 5454a6643..451fbbe02 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -960,6 +960,7 @@ item.crucible.name=Schmelztiegel item.crystal_aluminium.name=Aluminiumkristalle item.crystal_beryllium.name=Berylliumkristalle item.crystal_charred.name=Verkohlter Kristall +item.crystal_coal.name=Kohlekristalle item.crystal_copper.name=Kupferkristalle item.crystal_diamond.name=Diamantkristalle item.crystal_energy.name=Energiekristall @@ -968,6 +969,7 @@ item.crystal_gold.name=Goldkristalle item.crystal_horn.name=Kristallhorn item.crystal_iron.name=Eisenkristalle item.crystal_lead.name=Bleikristalle +item.crystal_lapis.name=Lapiskristalle item.crystal_lithium.name=Lithiumkristalle item.crystal_niter.name=Salpeterkristalle item.crystal_phosphorus.name=Phosphorkristalle @@ -1442,6 +1444,7 @@ item.man_explosive.name=Sprendlinse item.man_explosive8.name=Implosions-Treibladung item.man_igniter.name=Zünder item.man_kit.name=Fat Man Kit +item.marshmallow.name=Marshmallow am Stiel item.mask_of_infamy.name=Maske der Schande item.matchstick.name=Streichholz item.mech_key.name=Großer Silberschlüssel @@ -1915,6 +1918,7 @@ item.rbmk_fuel_hes.name=HES-RBMK-Kernbrennstoff item.rbmk_fuel_leaus.name=LEAus-RBMK-Kernbrennstoff item.rbmk_fuel_lep.name=LEP-RBMK-Kernbrennstoff item.rbmk_fuel_les.name=LES-RBMK-Kernbrennstoff +item.rbmk_fuel_men.name=MEN-RBMK-Kernbrennstoff item.rbmk_fuel_mep.name=MEP-RBMK-Kernbrennstoff item.rbmk_fuel_mes.name=MES-RBMK-Kernbrennstoff item.rbmk_fuel_meu.name=MEU-RBMK-Kernbrennstoff @@ -2376,6 +2380,7 @@ tile.block_aluminium.name=Aluminiumblock tile.block_asbestos.name=Asbestblock tile.block_australium.name=Australiumblock tile.block_beryllium.name=Berylliumblock +tile.block_boron.name=Borblock tile.block_cap_fritz.name=Fritz-Kola Kronkorkenblock tile.block_cap_korl.name=Korl Kronkorkenblock tile.block_cap_nuka.name=Nuka Kronkorkenblock @@ -2397,6 +2402,7 @@ tile.block_euphemium_cluster.name=Euphemiumgeätzter Schrabidium-Cluster tile.block_fallout.name=Fallout-Block tile.block_fiberglass.name=Fiberglasrolle tile.block_fluorite.name=Fluoritblock +tile.block_graphite.name=Graphitblock tile.block_insulator.name=Isolatorrolle tile.block_lead.name=Bleiblock tile.block_lanthanium.name=Lanthanblock @@ -2434,6 +2440,7 @@ tile.block_thorium.name=Thoriumblock tile.block_thorium_fuel.name=Thoriumkernbrennstoffblock tile.block_titanium.name=Titanblock tile.block_trinitite.name=Trinititblock +tile.block_tritium.name=Tritiumzellenblock tile.block_tungsten.name=Wolframblock tile.block_u233.name=U233-Block tile.block_u235.name=U235-Block @@ -2479,6 +2486,12 @@ tile.cable_switch.name=Stromschalter tile.cheater_virus.name=Geliertes Euphemium tile.cheater_virus_seed.name=Instabiler Euphemiumschrabid-Block tile.chlorine_gas.name=Chlorgas +tile.cluster_aluminium.name=Aluminiumerzcluster +tile.cluster_depth_iron.name=Tiefen-Eisenerzcluster +tile.cluster_depth_titanium.name=Tiefen-Titanerzcluster +tile.cluster_depth_tungsten.name=Tiefen-Wolframerzcluster +tile.cluster_iron.name=Eisenerzcluster +tile.cluster_titanium.name=Titanerzcluster tile.cmb_brick.name=CMB-Stahlfliese tile.cmb_brick_reinforced.name=Verstärkte CMB-Ziegel tile.compact_launcher.name=Kompakt-Startrampe @@ -2600,6 +2613,16 @@ tile.hadron_power_1g.name=Teilchenbeschleuniger-Stromanschluss (1GHE) tile.hadron_power_10g.name=Teilchenbeschleuniger-Stromanschluss (10GHE) tile.hazmat.name=Strahlenschutzstoff-Block tile.iter.name=Kernfusionsreaktor +tile.ladder_aluminium.name=Aluminiumleiter +tile.ladder_cobalt.name=Kobaltleiter +tile.ladder_copper.name=Kupferleiter +tile.ladder_gold.name=Goldene Leiter +tile.ladder_iron.name=Eisenleiter +tile.ladder_lead.name=Bleilieter +tile.ladder_steel.name=Stahlleiter +tile.ladder_sturdy.name=Feste Holzleiter +tile.ladder_titanium.name=Titanleiter +tile.ladder_tungsten.name=Wolframleiter tile.lamp_tritium_blue_off.name=Blaue Tritiumlampe tile.lamp_tritium_blue_on.name=Blaue Tritiumlampe tile.lamp_tritium_green_off.name=Grüne Tritiumlampe @@ -2802,6 +2825,7 @@ tile.rail_highspeed.name=Hochgeschwindigkeitsschienen tile.rbmk_absorber.name=RBMK Bor-Neutronenabsorber tile.rbmk_blank.name=RBMK Strukturteil tile.rbmk_boiler.name=RBMK Dampfkanal +tile.rbmk_console.name=RBMK Konsole tile.rbmk_control.name=RBMK Steuerstäbe tile.rbmk_control_auto.name=RBMK Automatische Steuerstäbe tile.rbmk_moderator.name=RBMK Graphitmoderator @@ -2857,6 +2881,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_depth.name=Tiefenfels tile.stone_gneiss.name=Graphitschiefer tile.struct_iter_core.name=Fusionsreaktor-Kernkomponente tile.struct_launcher.name=Startrampe-Komponentenblock @@ -2960,6 +2985,9 @@ trait.rbmx.xenon=Belivergiftung: %s trait.rbmx.xenonBurn=Blei-Verbr.-Funkion: %s trait.rbmx.xenonGen=Blei-Erzg.-Funktion: %s +trait.tile.cluster=Droppt nur, wenn von Spielern zerstört +trait.tile.depth=Kann nur durch Explosionen zerstört werden + tool.ability.cnetrifuge=Auto-Zentrifuge tool.ability.crystallizer=Auto-Kristallisierer tool.ability.explosion=Explosion diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 7b78a9d4f..dbccb105e 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -960,6 +960,7 @@ item.crucible.name=Crucible item.crystal_aluminium.name=Aluminium Crystals item.crystal_beryllium.name=Beryllium Crystals item.crystal_charred.name=Charred Crystal +item.crystal_coal.name=Coal Crystals item.crystal_copper.name=Copper Crystals item.crystal_diamond.name=Diamond Crystals item.crystal_energy.name=Energy Crystal @@ -968,6 +969,7 @@ item.crystal_gold.name=Gold Crystals item.crystal_horn.name=Crystal Horn item.crystal_iron.name=Iron Crystals item.crystal_lead.name=Lead Crystals +item.crystal_lapis.name=Lapis Crystals item.crystal_lithium.name=Lithium Crystals item.crystal_niter.name=Niter Crystals item.crystal_phosphorus.name=Phosphorus Crystals @@ -1442,6 +1444,7 @@ item.man_explosive.name=Explosive Lens item.man_explosive8.name=Bundle of Implosion Propellant item.man_igniter.name=Bomb Igniter item.man_kit.name=Fat Man Kit +item.marshmallow.name=Marshmallow on a Stick item.mask_of_infamy.name=Mask of Infamy item.matchstick.name=Matchstick item.mech_key.name=Large Silver Key @@ -1915,6 +1918,7 @@ item.rbmk_fuel_hes.name=HES RBMK Fuel Rod item.rbmk_fuel_leaus.name=LEAus RBMK Fuel Rod item.rbmk_fuel_lep.name=LEP RBMK Fuel Rod item.rbmk_fuel_les.name=LES RBMK Fuel Rod +item.rbmk_fuel_men.name=MEN RBMK Fuel Rod item.rbmk_fuel_mep.name=MEP RBMK Fuel Rod item.rbmk_fuel_mes.name=MES RBMK Fuel Rod item.rbmk_fuel_meu.name=MEU RBMK Fuel Rod @@ -2376,6 +2380,7 @@ tile.block_aluminium.name=Block of Aluminium tile.block_asbestos.name=Block of Asbestos tile.block_australium.name=Block of Australium tile.block_beryllium.name=Block of Beryllium +tile.block_boron.name=Block of Boron 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 @@ -2398,6 +2403,7 @@ tile.block_fallout.name=Block of Fallout tile.block_fiberglass.name=Roll of Fiberglass tile.block_fluorite.name=Block of Fluorite tile.block_insulator.name=Roll of Insulation +tile.block_graphite.name=Block of Graphite tile.block_lead.name=Block of Lead tile.block_lanthanium.name=Block of Lanthanium tile.block_lithium.name=Block of Lithium @@ -2434,6 +2440,7 @@ tile.block_thorium.name=Block of Thorium tile.block_thorium_fuel.name=Block of Thorium Fuel tile.block_titanium.name=Block of Titanium tile.block_trinitite.name=Block of Trinitite +tile.block_tritium.name=Block of Tritium Cells tile.block_tungsten.name=Block of Tungsten tile.block_u233.name=Block of U233 tile.block_u235.name=Block of U235 @@ -2479,6 +2486,12 @@ tile.cable_switch.name=Power Switch tile.cheater_virus.name=Gelid Euphemium tile.cheater_virus_seed.name=Unstable Euphemium Schrabide Block tile.chlorine_gas.name=Chlorine Gas +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.cmb_brick.name=CMB Steel Tile tile.cmb_brick_reinforced.name=Reinforced CMB Bricks tile.compact_launcher.name=Compact Launch Pad @@ -2600,6 +2613,16 @@ tile.hadron_power_1g.name=Particle Accelerator Power Plug (1GHE) tile.hadron_power_10g.name=Particle Accelerator Power Plug (10GHE) tile.hazmat.name=Hazmat Cloth Block tile.iter.name=Fusion Reactor +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 tile.lamp_tritium_blue_off.name=Blue Tritium Lamp tile.lamp_tritium_blue_on.name=Blue Tritium Lamp tile.lamp_tritium_green_off.name=Green Tritium Lamp @@ -2802,6 +2825,7 @@ tile.rail_highspeed.name=High Speed Rail 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_moderator.name=RBMK Graphite Moderator @@ -2857,6 +2881,7 @@ tile.steel_poles.name=Steel Pole tile.steel_roof.name=Flat Steel Roof tile.steel_scaffold.name=Steel Scaffold tile.steel_wall.name=Steel Wall +tile.stone_depth.name=Depth Rock tile.stone_gneiss.name=Graphitic Schist tile.struct_iter_core.name=Fusion Reactor Core Component tile.struct_launcher.name=Launch Pad Component Block @@ -2960,6 +2985,9 @@ 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 + tool.ability.centrifuge=Auto-Centrifuge tool.ability.crystallizer=Auto-Crystallizer tool.ability.explosion=Explosion diff --git a/src/main/resources/assets/hbm/textures/blocks/cluster_aluminium.png b/src/main/resources/assets/hbm/textures/blocks/cluster_aluminium.png new file mode 100644 index 0000000000000000000000000000000000000000..868cb57dc07499db0d688fd6521a2baf8810f7d9 GIT binary patch literal 536 zcmV+z0_XjSP)-8Fvd%Ye2Q4|qH5oK8t$1wn^${&E+?S{3Ms;W>`CX-2MV2r_9i*pX=9IaN1PNzd% z*Z&BTBtcbKEEa*HC<=@*IOh-%>bk}lL!RdV?DuE|&}aem^Wyp65X$=iIx&rwhLD zdc7hdfowb;vtF;svMdw>w4cu>#+V?Icf$MsEvC27i`ZJNR?Yo>55oBHV*X~K4-ui= z?RFUq2H~)(s<6U7Je{Zd6u$j=pU(yI+gKC@0He_;*r=+g>YL#Ei8f6`k|aSWKk@rH a`}4ox3Mq{I@6TKS0000GgU1fRvI(F{0gW(`+``_B_slfN!@iNGYkE zo}SL9gFcSqkR%C9I~~$AH6Rbyp4i&jqSJsa5y9kL&h8X*cIqnYpkkxI_ST7>s1sPCgY8L zlVk66Op)60@$uZa;QRk{y%C!x`EczC-}mYDdR)GKT-ccBIgMguEIbQ>zvJ$7P-)8Q z!v*bjo9@w(aVm~uq?B0R@+0rp90REwx5}gn^DGEB&sLCf1+6u;FP{(QT5Ete<2H&B zj^q5-!s^agzdp5C0_ycTOLuon2Ymn>$1%mq>CUqiBQ9;XN>9tr)A$oil7#4a9WM#r zOqb_5S(X7Hgup6SwOr>h`&947%3S~x3*P}|vl*~h=ijb3Bx8kG355Uv002ovPDHLk FV1nlSAl?7~ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/cluster_depth_titanium.png b/src/main/resources/assets/hbm/textures/blocks/cluster_depth_titanium.png new file mode 100644 index 0000000000000000000000000000000000000000..591868ea869fe41606b89c63f25bf32faa406516 GIT binary patch literal 599 zcmV-d0;v6oP)6G>hc6hPIS9frvbTh2Gi1%+FCfSmGG%M~)wDZg zHe@N3f|vG!v&mP-$N|9xrwXy$!PP~kH{Sd2_dY+~#>K_OR!WId3avE&d7e`}tu<+y z0#FnMQc52yiULu6Xsro?fPTM^`T32-a?NVB!a3&)rIZW?1K%J`Q$A693v2j2|Hb+F zIqlX4fY;Yo%Ce*=3IN{Up6LdMyuUpIAe2%7bb~|U_=|5gnM{yU`suxHi!cm{;~0SP zc+6rsLujr46@LV*wY;nkP)ebcqTSjs8jXmeh~aQZk|ccpF+(YZ2!a4>jW6tl5u$kn z>mA6m(_>CfPKcrifFwz{y}S3&8<&@t+dA>ef%;ScV+@avkCZ5~Ec0#&=NyBgvinm8R*=g9v^&u6 z_nFV^2L?yqVhD$GIl(6L2E6G-vh8L3rZ=U zTb6~5To_}BqKLP*H`=xZV45cSzGqn$0F+WBN#c)Eioja?07#OAx~>6;cUy+bl`PA+ z-|qlyHXD>uoK7dtz*;d1p4 zh+Cm^jwDGCCL-kVU`f-IuIoIwC<@l$oFiO=tEzhGwd*?Hnt-dSqAW{aBq)mFv3BAA zS4B)|>v*tyeV=^6aGqzM5Rrs#6h(~VNL|;&yDfiy|MG(OeUH|f0C=p2N9g|4*4hQ< z+`j^A?}e@uUOVyr@%gedL0Ohh264*0~G*7^|^cJn+l uO%uTDGOgEH)>rOCFy|Zqx7!VPF4$j5mGZ2AyTTR#00004>JfV0tv>2-n4CicRSQiANGwdV2D9J}4_Zr6iYSr~>a7K_9e zY(kFK+IHJ)HrB|l@8dNZM6(%T7!m{l`FaPEv4jw@f;1w4)#d4(S)@E_xIi|Al=x$>8cR-;z25uH zr{iP1M#GW;oZa`YNGYvJX%cDv*$C4H`FaO8F){b~!<*fDy#}xyQ&mz*s@19`hhfO{ zx?nLv2%Ox@cT_TaaCLqHfK0Q>MEGm}m3`8w@lJN0?6%q07{rEE4*SRiYmC7d6DzpC pqJN&h#q+#dqgp+C&SFy~{{Vz*8USb_X<7gP002ovPDHLkV1kIq6x09! literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/cluster_overlay.png b/src/main/resources/assets/hbm/textures/blocks/cluster_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..9860e4d389bab3dcc8ef3629a9a8cd47c4eee4c5 GIT binary patch literal 332 zcmV-S0ki&zP) zJuQV>1O-*R$YoX>-A1sY3n|d<8FEvtG&4Kj%sxHDwI)dt0Gx9?0UVD{?H2@-lF$QZb z)>=+~esgheH2dv4L6&74OwD*a4ir^YAtG37QA*M5w}?oHSuU3Vw+{}crYy_gFvgHd zjxh%BAB{%jc}`IjEEWq=$P`>-C}PC?qybLn=8U5)_K8wV~Sie8$s^$7713V7J>**ELmD-L<8Zx)FGZ z0Gj>wuGige7iRM1>o)*4>s5FIbo?ScaiT2C|El($UxMxz_eNQkESF1C$+6bn_Mol8 zVzFR8pW`kOspNr7(k|2Kl%gmA@U2J3!yXX{L-I;^{o4}y0{&yIHJzV7zF$wL6F_iy zDiQfmLT^ebq9h%VeSW`#&3YA9*qf*OOAnP)NklZdt{YtlNqvrkOAyQotgk@ zjlAmgWWOKy*%%hZd zq?E$8ZPZ$Oq4%DYQU}O6;}~LHSI+VIeE!*8;X()i#260%W_IYFQX<9(!0Yv*)(XIM zzu&(q8nurhZ^nDIRze6kp^Am12u$9b<;nEvcDr>3X4VVUL81Ta_1eKoDY#neLEk7t zIztEt_s6_Do3m}(e|;EbJ82#}0%*C;#^sz3OXrk;-&yN|%+pfs``+*MDTuN*Z7d$? zjyoY{wN~8aa``iXQc9;R^Hem_2bdm@#}{B(7T)hS>$;M2rnSbt@67Xj05~s|lY!DI xssQsm6GAwcD?cRL>8Xm^_v@r64bK1o002ovPDHLkV1ijav#|gG literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/stone_depth_var.png b/src/main/resources/assets/hbm/textures/blocks/stone_depth_var.png new file mode 100644 index 0000000000000000000000000000000000000000..4e86cfa57e8d54d8833851f7dbf07f121edc3283 GIT binary patch literal 394 zcmV;50d@X~P)DU6vMMSfAMPv>( zakE;m$1`K|bHCqzV~mIhstQ1@6%SP<=L|q=jTmFUYpoIdKvhX8u`COZ$Aelc`@Uml zy)eeex~?4{=S*OTQVQpIyxT~|^{0BqZanY{sAcPWKh>!e>q zCU4FRMTFp}&SC@`z4=zGs)TLZCfZ(TW{5~<<^Q+at>@QT31&9w8zs0-5t-Z{@59-g zecwM4o!wa~@E)V<^Ns+%Tq9jGBj-FB8~g(PXYC1Yo-fsL96irH2~OEJZ7d$?jyvJZ z%#3ioUOy%F8}}l literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/crystal_coal.png b/src/main/resources/assets/hbm/textures/items/crystal_coal.png new file mode 100644 index 0000000000000000000000000000000000000000..8dbbcecd920aed79ac571f59a3bf2096a4fc1884 GIT binary patch literal 330 zcmV-Q0k!^#P))%#O&;Y0r+Qq?Fs6-Ubpq_c6-wod(B#F0Ah?ujmR~h&*xQZjZzAw6d{D9E=jOW zw$?HXLw0(Wz!-y+lCJ9j7{~FmBY5w5JRU5|!Z?oH@AuCLVvGnO@ZJ++WLXxj*K0Dd zH-pRNvKB>w_Z}%F&*u~G{oe^T@#%EJIY;0348xE$NTwjA#5sp^4k=|e!X&}*c*Hpe zKv|ZA5NO*r`(ob==6U|!5CUTihr=N|J!vpa)6eB?B)?S>&04!wRRur@fu?D8KV8zq cTD$J)Ud#`8Pw<3v5C8xG07*qoM6N<$g43^yWB>pF literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/crystal_lapis.png b/src/main/resources/assets/hbm/textures/items/crystal_lapis.png new file mode 100644 index 0000000000000000000000000000000000000000..9252c18f4b07963c07bfa38549d5b63e5d7fff62 GIT binary patch literal 594 zcmV-Y0PhPCDgVS3NBhFNSh!A1Bo6~gd3Gcoa^L-~0Ae&~@pFYVAHn5DN8}P;?>W_`Zu`0R2N_ zs^{uc^&{EbHuIMHL6@Mft4)tVP;Hp0N2T4_(_g+-Jp8Gc5zDQPp$d z4#jGc%F3f%3r2jN6?=+02|5NIus;6|-;GgoY=ZE+v(B?4%4+LGJJ^o1`hrp}yKBMQ z%3(^C(#9lyEsmQnk!UlBYA#~vh>DZ!zDO->Ci8iM<&V$FExnc<1#1hhWby4YtQHTV z5X53*c>+v9i-dZZNB3*^+eI>;rgw&aIb-f?S|W2$Y2h1+tFr>2OHp~1b2#g10aT>= gDciGqe&N638|8}P