bedrock ore processing speedrun (any%)

This commit is contained in:
Bob 2023-01-08 21:36:15 +01:00
parent 4c85ee6616
commit 46a45a7f24
43 changed files with 472 additions and 19 deletions

View File

@ -39,6 +39,7 @@ public class BlockBedrockOreTE extends BlockContainer implements ILookOverlay, I
super(Material.rock);
this.setBlockTextureName("bedrock");
this.setBlockUnbreakable();
this.setResistance(1_000_000);
}
@Override
@ -140,6 +141,8 @@ public class BlockBedrockOreTE extends BlockContainer implements ILookOverlay, I
text.add(ore.resource.getDisplayName());
}
text.add("Tier: " + ore.tier);
if(ore.acidRequirement != null) {
text.add("Requires: " + ore.acidRequirement.fill + "mB " + I18nUtil.resolveKey(ore.acidRequirement.type.getUnlocalizedName()));
}
@ -151,6 +154,7 @@ public class BlockBedrockOreTE extends BlockContainer implements ILookOverlay, I
public ItemStack resource;
public FluidStack acidRequirement;
public int tier;
public int color;
public int shape;
@ -179,6 +183,7 @@ public class BlockBedrockOreTE extends BlockContainer implements ILookOverlay, I
this.acidRequirement = new FluidStack(type, nbt.getInteger("amount"));
}
this.tier = nbt.getInteger("tier");
this.color = nbt.getInteger("color");
this.shape = nbt.getInteger("shape");
}
@ -198,6 +203,7 @@ public class BlockBedrockOreTE extends BlockContainer implements ILookOverlay, I
nbt.setInteger("amount", this.acidRequirement.fill);
}
nbt.setInteger("tier", this.tier);
nbt.setInteger("color", this.color);
nbt.setInteger("shape", this.shape);
}

View File

@ -13,7 +13,6 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.world.EnumSkyBlock;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;

View File

@ -2,6 +2,7 @@ package com.hbm.blocks.machine;
import com.hbm.blocks.BlockDummyable;
import com.hbm.handler.MultiblockHandlerXR;
import com.hbm.tileentity.TileEntityProxyCombo;
import com.hbm.tileentity.machine.TileEntityMachineExcavator;
import net.minecraft.block.material.Material;
@ -18,8 +19,9 @@ public class MachineExcavator extends BlockDummyable {
@Override
public TileEntity createNewTileEntity(World world, int meta) {
if(meta >= 12) return new TileEntityMachineExcavator();
if(meta >= 6) return new TileEntityProxyCombo().power().fluid();
return null;
}
@ -62,5 +64,11 @@ public class MachineExcavator extends BlockDummyable {
MultiblockHandlerXR.fillSpace(world, x, y, z, new int[] {-1, 3, 3, -2, 3, -2}, this, dir);
MultiblockHandlerXR.fillSpace(world, x, y, z, new int[] {-1, 3, 3, -2, -2, 3}, this, dir);
MultiblockHandlerXR.fillSpace(world, x, y, z, new int[] {-1, 3, -2, 3, 3, 3}, this, dir);
ForgeDirection rot = dir.getRotation(ForgeDirection.UP);
this.makeExtra(world, x + dir.offsetX * 3 + rot.offsetX, y + 1, z + dir.offsetZ * 3 + rot.offsetZ);
this.makeExtra(world, x + dir.offsetX * 3 - rot.offsetX, y + 1, z + dir.offsetZ * 3 - rot.offsetZ);
this.makeExtra(world, x + rot.offsetX * 3, y + 1, z + rot.offsetZ * 3);
this.makeExtra(world, x - rot.offsetX * 3, y + 1, z - rot.offsetZ * 3);
}
}

View File

@ -18,6 +18,8 @@ import com.hbm.util.I18nUtil;
import api.hbm.block.IToolable;
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.material.Material;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.EntityPlayer;
@ -143,10 +145,11 @@ public class MachineFluidTank extends BlockDummyable implements IPersistentInfoP
public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool) {
if(tool != ToolType.TORCH) return false;
return IRepairable.tryRepairMultiblock(world, x, y, z, this, Minecraft.getMinecraft().thePlayer);
return IRepairable.tryRepairMultiblock(world, x, y, z, this, player);
}
@Override
@SideOnly(Side.CLIENT)
public void printHook(Pre event, World world, int x, int y, int z) {
List<AStack> materials = IRepairable.getRepairMaterials(world, x, y, z, this, Minecraft.getMinecraft().thePlayer);

View File

@ -63,6 +63,7 @@ public class ReactorZirnox extends BlockDummyable {
return 2;
}
@Override
protected void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) {
super.fillSpace(world, x, y, z, dir, o);

View File

@ -33,6 +33,9 @@ public class WorldConfig {
public static int bedrockOilSpawn = 200;
public static int meteoriteSpawn = 500;
public static int bedrockIronSpawn = 200;
public static int bedrockCopperSpawn = 200;
public static int ironClusterSpawn = 4;
public static int titaniumClusterSpawn = 2;
public static int aluminiumClusterSpawn = 3;
@ -124,6 +127,9 @@ public class WorldConfig {
bedrockOilSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.22_bedrockOilSpawnRate", "Spawns a bedrock oil node every nTH chunk", 200);
meteoriteSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.23_meteoriteSpawnRate", "Spawns a fallen meteorite every nTH chunk", 200);
bedrockIronSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B00_bedrockIronSpawn", "Spawns a bedrock iron deposit every nTH chunk", 200);
bedrockCopperSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B01_bedrockCopperSpawn", "Spawns a bedrock copper deposit 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);

View File

@ -171,7 +171,7 @@ public class EntityFalloutRain extends Entity {
}
float hardness = b.getBlockHardness(worldObj, x, y, z);
if(dist < 65 && hardness <= Blocks.stonebrick.getExplosionResistance(null) && hardness >= 0) {
if(dist < 65 && hardness <= Blocks.stonebrick.getExplosionResistance(null) && hardness >= 0/* && !b.hasTileEntity(worldObj.getBlockMetadata(x, y, z))*/) {
Block bl = worldObj.getBlock(x, y - 1, z);
if(bl == Blocks.air) {

View File

@ -19,9 +19,11 @@ import com.hbm.hazard.HazardEntry;
import com.hbm.hazard.HazardRegistry;
import com.hbm.hazard.HazardSystem;
import com.hbm.inventory.material.MaterialShapes;
import com.hbm.items.ModItems;
import com.hbm.items.ItemEnums.EnumBriquetteType;
import com.hbm.items.ItemEnums.EnumCokeType;
import com.hbm.items.ItemEnums.EnumTarType;
import com.hbm.items.special.ItemBedrockOre.EnumBedrockOre;
import com.hbm.main.MainRegistry;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
@ -447,6 +449,10 @@ public class OreDictManager {
OreDictionary.registerOre(KEY_CIRCUIT_BISMUTH, circuit_bismuth);
OreDictionary.registerOre(KEY_CIRCUIT_BISMUTH, circuit_arsenic);
for(EnumBedrockOre ore : EnumBedrockOre.values()) {
OreDictionary.registerOre("ore" + ore.oreName, new ItemStack(ModItems.ore_enriched, 1, ore.ordinal()));
}
OreDictionary.registerOre("itemRubber", ingot_rubber);

View File

@ -108,5 +108,7 @@ public class GUIMachineExcavator extends GuiInfoContainer {
if(drill.canSilkTouch()) drawTexturedModalRect(guiLeft + 107, guiTop + 5, 209, 104, 10, 10);
else if(System.currentTimeMillis() % 1000 < 500) drawTexturedModalRect(guiLeft + 107, guiTop + 5, 219, 104, 10, 10);
}
drill.tank.renderTank(guiLeft + 202, guiTop + 70, this.zLevel, 16, 52);
}
}

View File

@ -28,6 +28,7 @@ import com.hbm.inventory.RecipesCommon.OreDictStack;
import com.hbm.inventory.fluid.Fluids;
import com.hbm.items.ModItems;
import com.hbm.items.machine.ItemAssemblyTemplate;
import com.hbm.items.machine.ItemDrillbit.EnumDrillType;
import com.hbm.items.machine.ItemPistons.EnumPistonType;
import com.hbm.main.MainRegistry;
@ -196,8 +197,8 @@ public class AssemblerRecipes {
makeRecipe(new ComparableStack(ModItems.warhead_thermo_endo, 1), new AStack[] {new ComparableStack(ModBlocks.therm_endo, 2), new OreDictStack(TI.plate(), 12), new OreDictStack(STEEL.plate(), 6), },300);
makeRecipe(new ComparableStack(ModItems.warhead_thermo_exo, 1), new AStack[] {new ComparableStack(ModBlocks.therm_exo, 2), new OreDictStack(TI.plate(), 12), new OreDictStack(STEEL.plate(), 6), },300);
makeRecipe(new ComparableStack(ModItems.fuel_tank_small, 1), new AStack[] {new ComparableStack(ModItems.canister_full, 6, Fluids.ETHANOL.getID()), new OreDictStack(TI.plate(), 6), new OreDictStack(STEEL.plate(), 2), },100);
makeRecipe(new ComparableStack(ModItems.fuel_tank_medium, 1), new AStack[] {new ComparableStack(ModItems.canister_full, 12, Fluids.KEROSENE.getID()), new OreDictStack(TI.plate(), 12), new OreDictStack(STEEL.plate(), 4), },150);
makeRecipe(new ComparableStack(ModItems.fuel_tank_large, 1), new AStack[] {new ComparableStack(ModItems.canister_full, 36, Fluids.KEROSENE.getID()), new OreDictStack(TI.plate(), 24), new OreDictStack(STEEL.plate(), 8), },200);
makeRecipe(new ComparableStack(ModItems.fuel_tank_medium, 1), new AStack[] {new ComparableStack(ModItems.canister_full, 8, Fluids.KEROSENE.getID()), new OreDictStack(TI.plate(), 12), new OreDictStack(STEEL.plate(), 4), },150);
makeRecipe(new ComparableStack(ModItems.fuel_tank_large, 1), new AStack[] {new ComparableStack(ModItems.canister_full, 12, Fluids.KEROSENE.getID()), new OreDictStack(TI.plate(), 24), new OreDictStack(STEEL.plate(), 8), },200);
makeRecipe(new ComparableStack(ModItems.thruster_small, 1), new AStack[] {new OreDictStack(STEEL.plate(), 4), new OreDictStack(W.ingot(), 4), new ComparableStack(ModItems.wire_aluminium, 4), },100);
makeRecipe(new ComparableStack(ModItems.thruster_medium, 1), new AStack[] {new OreDictStack(STEEL.plate(), 8), new OreDictStack(W.ingot(), 8), new ComparableStack(ModItems.motor, 1), new ComparableStack(ModItems.wire_copper, 16), },150);
makeRecipe(new ComparableStack(ModItems.thruster_large, 1), new AStack[] {new OreDictStack(DURA.ingot(), 16), new OreDictStack(W.ingot(), 16), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.wire_gold, 32), new ComparableStack(ModItems.circuit_red_copper, 1), },200);
@ -498,6 +499,45 @@ public class AssemblerRecipes {
new OreDictStack(NB.ingot(), 16),
new ComparableStack(ModItems.bolt_compound, 16)
}, 200);
makeRecipe(new ComparableStack(ModBlocks.machine_excavator, 1), new AStack[] {
new ComparableStack(Blocks.stonebrick, 8),
new OreDictStack(STEEL.ingot(), 16),
new OreDictStack(IRON.ingot(), 16),
new ComparableStack(ModBlocks.steel_scaffold, 16),
new ComparableStack(ModItems.motor, 2),
new ComparableStack(ModItems.tank_steel, 1),
new ComparableStack(ModItems.circuit_red_copper, 1)
}, 300);
makeRecipe(new ComparableStack(ModItems.drillbit, 1, EnumDrillType.STEEL.ordinal()), new AStack[] {
new OreDictStack(STEEL.ingot(), 12),
new OreDictStack(W.ingot(), 4)
}, 200);
makeRecipe(new ComparableStack(ModItems.drillbit, 1, EnumDrillType.STEEL_DIAMOND.ordinal()), new AStack[] {
new ComparableStack(ModItems.drillbit, 1, EnumDrillType.STEEL.ordinal()),
new OreDictStack(DIAMOND.dust(), 16)
}, 100);
makeRecipe(new ComparableStack(ModItems.drillbit, 1, EnumDrillType.HSS.ordinal()), new AStack[] {
new OreDictStack(DURA.ingot(), 12),
new OreDictStack(ANY_PLASTIC.ingot(), 12),
new OreDictStack(TI.ingot(), 8)
}, 200);
makeRecipe(new ComparableStack(ModItems.drillbit, 1, EnumDrillType.HSS_DIAMOND.ordinal()), new AStack[] {
new ComparableStack(ModItems.drillbit, 1, EnumDrillType.HSS.ordinal()),
new OreDictStack(DIAMOND.dust(), 24)
}, 100);
makeRecipe(new ComparableStack(ModItems.drillbit, 1, EnumDrillType.DESH.ordinal()), new AStack[] {
new OreDictStack(DESH.ingot(), 16),
new OreDictStack(RUBBER.ingot(), 12),
new OreDictStack(NB.ingot(), 4)
}, 200);
makeRecipe(new ComparableStack(ModItems.drillbit, 1, EnumDrillType.DESH_DIAMOND.ordinal()), new AStack[] {
new ComparableStack(ModItems.drillbit, 1, EnumDrillType.DESH.ordinal()),
new OreDictStack(DIAMOND.dust(), 32)
}, 100);
makeRecipe(new ComparableStack(ModBlocks.machine_large_turbine, 1), new AStack[] {
new OreDictStack(STEEL.plate(), 12),
new OreDictStack(RUBBER.ingot(), 4),

View File

@ -18,6 +18,7 @@ import com.hbm.inventory.RecipesCommon.ComparableStack;
import com.hbm.inventory.RecipesCommon.OreDictStack;
import com.hbm.inventory.recipes.loader.SerializableRecipe;
import com.hbm.items.ModItems;
import com.hbm.items.special.ItemBedrockOre.EnumBedrockOre;
import com.hbm.main.MainRegistry;
import net.minecraft.init.Blocks;
@ -298,6 +299,28 @@ public class CentrifugeRecipes extends SerializableRecipe {
new ItemStack(Items.dye, 1, 15), //temp
new ItemStack(ModItems.dust) });
for(EnumBedrockOre ore : EnumBedrockOre.values()) {
int i = ore.ordinal();
recipes.put(new ComparableStack(ModItems.ore_bedrock, 1, i), new ItemStack[] {
new ItemStack(ModItems.ore_centrifuged, 1, i),
new ItemStack(ModItems.ore_centrifuged, 1, i),
new ItemStack(ModItems.ore_centrifuged, 1, i),
new ItemStack(ModItems.ore_centrifuged, 1, i) });
recipes.put(new ComparableStack(ModItems.ore_cleaned, 1, i), new ItemStack[] {
new ItemStack(ModItems.ore_separated, 1, i),
new ItemStack(ModItems.ore_separated, 1, i),
new ItemStack(ModItems.ore_separated, 1, i),
new ItemStack(ModItems.ore_separated, 1, i) });
recipes.put(new ComparableStack(ModItems.ore_purified, 1, i), new ItemStack[] {
new ItemStack(ModItems.ore_enriched, 1, i),
new ItemStack(ModItems.ore_enriched, 1, i),
new ItemStack(ModItems.ore_enriched, 1, i),
new ItemStack(ModItems.ore_enriched, 1, i) });
}
List<ItemStack> quartz = OreDictionary.getOres("crystalCertusQuartz");
if(quartz != null && !quartz.isEmpty()) {

View File

@ -10,6 +10,7 @@ import com.hbm.blocks.ModBlocks;
import com.hbm.handler.imc.IMCCrystallizer;
import com.hbm.inventory.RecipesCommon.ComparableStack;
import com.hbm.items.ModItems;
import com.hbm.items.special.ItemBedrockOre.EnumBedrockOre;
import com.hbm.items.special.ItemPlasticScrap.ScrapType;
import com.hbm.main.MainRegistry;
@ -85,6 +86,13 @@ public class CrystallizerRecipes {
recipes.put(new ComparableStack(ModItems.scrap_plastic, 1, i), new ItemStack(ModItems.circuit_star_piece, 1, i));
}
for(EnumBedrockOre ore : EnumBedrockOre.values()) {
int i = ore.ordinal();
recipes.put(new ComparableStack(ModItems.ore_centrifuged, 1, i), new ItemStack(ModItems.ore_cleaned, 1, i));
recipes.put(new ComparableStack(ModItems.ore_separated, 1, i), new ItemStack(ModItems.ore_purified, 1, i));
}
List<ItemStack> quartz = OreDictionary.getOres("crystalCertusQuartz");
if(quartz != null && !quartz.isEmpty()) {

View File

@ -15,6 +15,7 @@ import com.hbm.interfaces.Untested;
import com.hbm.inventory.RecipesCommon.ComparableStack;
import com.hbm.inventory.recipes.loader.SerializableRecipe;
import com.hbm.items.ModItems;
import com.hbm.items.special.ItemBedrockOre.EnumBedrockOre;
import com.hbm.main.MainRegistry;
import com.hbm.util.Compat;
@ -213,6 +214,15 @@ public class ShredderRecipes extends SerializableRecipe {
ShredderRecipes.setRecipe(Blocks.sand, new ItemStack(ModItems.dust, 2));
}
for(EnumBedrockOre ore : EnumBedrockOre.values()) {
int i = ore.ordinal();
ShredderRecipes.setRecipe(new ItemStack(ModItems.ore_bedrock, 1, i), new ItemStack(ModItems.ore_enriched, 1, i));
ShredderRecipes.setRecipe(new ItemStack(ModItems.ore_centrifuged, 1, i), new ItemStack(ModItems.ore_enriched, 1, i));
ShredderRecipes.setRecipe(new ItemStack(ModItems.ore_cleaned, 1, i), new ItemStack(ModItems.ore_enriched, 1, i));
ShredderRecipes.setRecipe(new ItemStack(ModItems.ore_separated, 1, i), new ItemStack(ModItems.ore_enriched, 1, i));
ShredderRecipes.setRecipe(new ItemStack(ModItems.ore_purified, 1, i), new ItemStack(ModItems.ore_enriched, 1, i));
}
for(int i = 0; i < 5; i++) ShredderRecipes.setRecipe(new ItemStack(Items.skull, 1, i), new ItemStack(ModItems.biomass, 4));
/* Crystal processing */

View File

@ -186,6 +186,13 @@ public class ModItems {
public static Item ingot_mercury; //It's to prevent any ambiguity, as it was treated as a full ingot in the past anyway
public static Item bottle_mercury;
public static Item ore_bedrock;
public static Item ore_centrifuged;
public static Item ore_cleaned;
public static Item ore_separated;
public static Item ore_purified;
public static Item ore_enriched;
public static Item billet_uranium;
public static Item billet_u233;
public static Item billet_u235;
@ -2799,6 +2806,13 @@ public class ModItems {
ingot_mercury = new ItemCustomLore().setUnlocalizedName("nugget_mercury").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":nugget_mercury");
bottle_mercury = new ItemCustomLore().setUnlocalizedName("bottle_mercury").setContainerItem(Items.glass_bottle).setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":bottle_mercury");
ore_bedrock = new ItemBedrockOre().setUnlocalizedName("ore_bedrock").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_bedrock");
ore_centrifuged = new ItemBedrockOre().setUnlocalizedName("ore_centrifuged").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_centrifuged");
ore_cleaned = new ItemBedrockOre().setUnlocalizedName("ore_cleaned").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_cleaned");
ore_separated = new ItemBedrockOre().setUnlocalizedName("ore_separated").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_separated");
ore_purified = new ItemBedrockOre().setUnlocalizedName("ore_purified").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_purified");
ore_enriched = new ItemBedrockOre().setUnlocalizedName("ore_enriched").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ore_enriched");
ingot_lanthanium = new ItemCustomLore().setUnlocalizedName("ingot_lanthanium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_lanthanium");
ingot_actinium = new ItemCustomLore().setUnlocalizedName("ingot_actinium").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":ingot_actinium");
@ -6065,6 +6079,14 @@ public class ModItems {
GameRegistry.registerItem(ball_tnt, ball_tnt.getUnlocalizedName());
GameRegistry.registerItem(ball_fireclay, ball_fireclay.getUnlocalizedName());
//Ores
GameRegistry.registerItem(ore_bedrock, ore_bedrock.getUnlocalizedName());
GameRegistry.registerItem(ore_centrifuged, ore_centrifuged.getUnlocalizedName());
GameRegistry.registerItem(ore_cleaned, ore_cleaned.getUnlocalizedName());
GameRegistry.registerItem(ore_separated, ore_separated.getUnlocalizedName());
GameRegistry.registerItem(ore_purified, ore_purified.getUnlocalizedName());
GameRegistry.registerItem(ore_enriched, ore_enriched.getUnlocalizedName());
//Crystals
GameRegistry.registerItem(crystal_coal, crystal_coal.getUnlocalizedName());
GameRegistry.registerItem(crystal_iron, crystal_iron.getUnlocalizedName());

View File

@ -0,0 +1,65 @@
package com.hbm.items.special;
import com.hbm.items.ItemEnumMulti;
import com.hbm.lib.RefStrings;
import com.hbm.util.EnumUtil;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
public class ItemBedrockOre extends ItemEnumMulti {
protected IIcon overlayIcon;
public ItemBedrockOre() {
super(EnumBedrockOre.class, true, false);
}
@Override
@SideOnly(Side.CLIENT)
public boolean requiresMultipleRenderPasses() {
return true;
}
@Override
@SideOnly(Side.CLIENT)
public void registerIcons(IIconRegister p_94581_1_) {
super.registerIcons(p_94581_1_);
this.overlayIcon = p_94581_1_.registerIcon(RefStrings.MODID + ":ore_overlay");
}
@Override
@SideOnly(Side.CLIENT)
public IIcon getIconFromDamageForRenderPass(int meta, int pass) {
return pass == 1 ? this.overlayIcon : super.getIconFromDamageForRenderPass(meta, pass);
}
@Override
@SideOnly(Side.CLIENT)
public int getColorFromItemStack(ItemStack stack, int pass) {
if(pass == 1) {
EnumBedrockOre ore = EnumUtil.grabEnumSafely(EnumBedrockOre.class, stack.getItemDamage());
return ore.color;
}
return 0xffffff;
}
public static enum EnumBedrockOre {
IRON("Iron", 0xE2C0AA),
COPPER("Copper", 0xFDCA88);
public String oreName;
public int color;
private EnumBedrockOre(String name, int color) {
this.oreName = name;
this.color = color;
}
}
}

View File

@ -8,6 +8,8 @@ import com.hbm.entity.effect.EntityNukeTorex;
import com.hbm.entity.logic.EntityNukeExplosionMK5;
import com.hbm.entity.logic.EntityTomBlast;
import com.hbm.entity.mob.siege.EntitySiegeTunneler;
import com.hbm.inventory.FluidStack;
import com.hbm.inventory.fluid.Fluids;
import com.hbm.items.ModItems;
import com.hbm.items.special.ItemBookLore;
import com.hbm.items.special.ItemBookLore.BookLoreType;
@ -98,6 +100,7 @@ public class ItemWandD extends Item {
ore.resource = new ItemStack(ModBlocks.stone_resource, 1, 2);
ore.color = 0xCF6722;
ore.shape = type;
ore.acidRequirement = new FluidStack(Fluids.SULFURIC_ACID, 1000);
world.markBlockForUpdate(ix, 0, iz);
world.markTileEntityChunkModified(ix, 0, iz, ore);
}

View File

@ -9,6 +9,7 @@ import com.hbm.blocks.generic.BlockNTMFlower.EnumFlowerType;
import com.hbm.config.GeneralConfig;
import com.hbm.config.WorldConfig;
import com.hbm.items.ModItems;
import com.hbm.items.special.ItemBedrockOre.EnumBedrockOre;
import com.hbm.main.MainRegistry;
import com.hbm.saveddata.TomSaveData;
import com.hbm.tileentity.machine.storage.TileEntitySafe;
@ -152,6 +153,9 @@ public class HbmWorldGen implements IWorldGenerator {
DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.hematiteSpawn, 10, 4, 80, ModBlocks.stone_resource, EnumStoneType.HEMATITE.ordinal());
DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.malachiteSpawn, 10, 4, 40, ModBlocks.stone_resource, EnumStoneType.MALACHITE.ordinal());
if(WorldConfig.bedrockIronSpawn > 0 && rand.nextInt(WorldConfig.bedrockIronSpawn) == 0) DungeonToolbox.generateBedrockOre(world, rand, i, j, EnumBedrockOre.IRON);
if(WorldConfig.bedrockCopperSpawn > 0 && rand.nextInt(WorldConfig.bedrockCopperSpawn) == 0) DungeonToolbox.generateBedrockOre(world, rand, i, j, EnumBedrockOre.COPPER);
for(int k = 0; k < WorldConfig.randomSpawn; k++) {
BlockMotherOfAllOres.shuffleOverride(rand);

View File

@ -3,7 +3,7 @@ package com.hbm.lib;
public class RefStrings {
public static final String MODID = "hbm";
public static final String NAME = "Hbm's Nuclear Tech Mod";
public static final String VERSION = "1.0.27 BETA (4445)";
public static final String VERSION = "1.0.27 BETA (4473)";
//HBM's Beta Naming Convention:
//V T (X)
//V -> next release version

View File

@ -462,6 +462,12 @@ public class CraftingManager {
addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.chain), 8), new Object[] { "S", "S", "S", 'S', ModBlocks.steel_beam });
addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.steel_grate), 4), new Object[] { "SS", "SS", 'S', ModBlocks.steel_beam });
addRecipeAuto(new ItemStack(ModBlocks.steel_scaffold, 8, 0), new Object[] { "SSS", "SDS", "SSS", 'S', ModBlocks.steel_scaffold, 'D', "dyeGray" });
addRecipeAuto(new ItemStack(ModBlocks.steel_scaffold, 8, 1), new Object[] { "SSS", "SDS", "SSS", 'S', ModBlocks.steel_scaffold, 'D', "dyeRed" });
addRecipeAuto(new ItemStack(ModBlocks.steel_scaffold, 8, 2), new Object[] { "SSS", "SDS", "SSS", 'S', ModBlocks.steel_scaffold, 'D', "dyeWhite" });
addRecipeAuto(new ItemStack(ModBlocks.steel_scaffold, 8, 3), new Object[] { "SSS", "SDS", "SSS", 'S', ModBlocks.steel_scaffold, 'D', "dyeYellow" });
reg2();
}

View File

@ -6,7 +6,9 @@ import java.util.HashSet;
import java.util.List;
import java.util.Random;
import com.hbm.blocks.BlockDummyable;
import com.hbm.blocks.ModBlocks;
import com.hbm.blocks.generic.BlockBedrockOreTE.TileEntityBedrockOre;
import com.hbm.blocks.network.CraneInserter;
import com.hbm.entity.item.EntityMovingItem;
import com.hbm.interfaces.IControlReceiver;
@ -23,9 +25,11 @@ import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType;
import com.hbm.lib.Library;
import com.hbm.tileentity.IGUIProvider;
import com.hbm.tileentity.TileEntityMachineBase;
import com.hbm.util.Compat;
import com.hbm.util.EnumUtil;
import com.hbm.util.ItemStackUtil;
import com.hbm.util.fauxpointtwelve.BlockPos;
import com.hbm.util.fauxpointtwelve.DirPos;
import api.hbm.conveyor.IConveyorBelt;
import api.hbm.energy.IEnergyUser;
@ -64,6 +68,7 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements
protected int ticksWorked = 0;
protected int targetDepth = 0; //0 is the first block below null position
protected boolean bedrockDrilling = false;
public float drillRotation = 0F;
public float prevDrillRotation = 0F;
@ -102,8 +107,15 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements
if(!worldObj.isRemote) {
this.tank.setType(1, slots);
if(worldObj.getTotalWorldTime() % 20 == 0) {
tryEjectBuffer();
for(DirPos pos : getConPos()) {
this.trySubscribe(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir());
this.trySubscribe(tank.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir());
}
}
if(chuteTimer > 0) chuteTimer--;
@ -121,10 +133,12 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements
this.speed = type.speed;
this.speed *= (1 + speedLevel / 2D);
if(targetDepth < this.yCoord - 4 && tryDrill(1 + radiusLevel * 2)) {
int maxDepth = this.yCoord - 4;
if((bedrockDrilling || targetDepth <= maxDepth) && tryDrill(1 + radiusLevel * 2)) {
targetDepth++;
if(targetDepth >= this.yCoord - 4) {
if(targetDepth > maxDepth) {
this.enableDrill = false;
}
}
@ -142,6 +156,7 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements
data.setInteger("t", targetDepth);
data.setInteger("g", chuteTimer);
data.setLong("p", power);
tank.writeToNBT(data, "tank");
this.networkPack(data, 150);
} else {
@ -183,6 +198,18 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements
}
}
protected DirPos[] getConPos() {
ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset);
ForgeDirection rot = dir.getRotation(ForgeDirection.UP);
return new DirPos[] {
new DirPos(xCoord + dir.offsetX * 4 + rot.offsetX, yCoord + 1, zCoord + dir.offsetZ * 4 + rot.offsetZ, dir),
new DirPos(xCoord + dir.offsetX * 4 - rot.offsetX, yCoord + 1, zCoord + dir.offsetZ * 4 - rot.offsetZ, dir),
new DirPos(xCoord + rot.offsetX * 4, yCoord + 1, zCoord + rot.offsetZ * 4, rot),
new DirPos(xCoord - rot.offsetX * 4, yCoord + 1, zCoord - rot.offsetZ * 4, rot.getOpposite())
};
}
public void networkUnpack(NBTTagCompound nbt) {
this.enableDrill = nbt.getBoolean("d");
this.enableCrusher = nbt.getBoolean("c");
@ -193,6 +220,7 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements
this.targetDepth = nbt.getInteger("t");
this.chuteTimer = nbt.getInteger("g");
this.power = nbt.getLong("p");
this.tank.readFromNBT(nbt, "tank");
}
protected int getY() {
@ -202,8 +230,8 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements
/** Works outwards and tries to break a ring, returns true if all rings are broken (or ignorable) and the drill should extend. */
protected boolean tryDrill(int radius) {
int y = getY();
if(targetDepth == 0) {
if(targetDepth == 0 || y == 0) {
radius = 1;
}
@ -212,6 +240,7 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements
boolean ignoreAll = true;
float combinedHardness = 0F;
BlockPos bedrockOre = null;
bedrockDrilling = false;
for(int x = xCoord - ring; x <= xCoord + ring; x++) {
for(int z = zCoord - ring; z <= zCoord + ring; z++) {
@ -221,16 +250,19 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements
Block b = worldObj.getBlock(x, y, z);
if(shouldIgnoreBlock(b, x, y ,z)) continue;
ignoreAll = false;
if(b == ModBlocks.ore_bedrock) {
combinedHardness = 60 * 20;
bedrockOre = new BlockPos(x, y, z);
bedrockDrilling = true;
enableCrusher = false;
ignoreAll = false;
break;
}
if(shouldIgnoreBlock(b, x, y ,z)) continue;
ignoreAll = false;
combinedHardness += b.getBlockHardness(worldObj, x, y, z);
}
}
@ -243,12 +275,12 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements
if(ticksWorked >= ticksToWork) {
if(bedrockOre != null) {
if(bedrockOre == null) {
breakBlocks(ring);
buildWall(ring + 1, ring == radius && this.enableWalling);
tryCollect(radius);
} else {
//collectBedrock(bedrockOre);
collectBedrock(bedrockOre);
}
ticksWorked = 0;
}
@ -262,6 +294,76 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements
return true;
}
protected void collectBedrock(BlockPos pos) {
TileEntity oreTile = Compat.getTileStandard(worldObj, pos.getX(), pos.getY(), pos.getZ());
if(oreTile instanceof TileEntityBedrockOre) {
TileEntityBedrockOre ore = (TileEntityBedrockOre) oreTile;
if(ore.resource == null) return;
if(ore.tier > this.getInstalledDrill().tier) return;
if(ore.acidRequirement != null) {
if(ore.acidRequirement.type != tank.getTankType() || ore.acidRequirement.fill > tank.getFill()) return;
tank.setFill(tank.getFill() - ore.acidRequirement.fill);
}
ItemStack stack = ore.resource.copy();
List<ItemStack> stacks = new ArrayList();
stacks.add(stack);
ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10);
int x = xCoord + dir.offsetX * 4;
int y = yCoord - 3;
int z = zCoord + dir.offsetZ * 4;
/* try to insert into a valid container */
TileEntity tile = worldObj.getTileEntity(x, y, z);
if(tile instanceof IInventory) {
supplyContainer((IInventory) tile, stacks, dir.getOpposite());
}
if(stack.stackSize <= 0) return;
/* try to place on conveyor belt */
Block b = worldObj.getBlock(x, y, z);
if(b instanceof IConveyorBelt) {
supplyConveyor((IConveyorBelt) b, stacks, x, y, z);
}
if(stack.stackSize <= 0) return;
for(int i = 5; i < 14; i++) {
if(slots[i] != null && slots[i].stackSize < slots[i].getMaxStackSize() && stack.isItemEqual(slots[i]) && ItemStack.areItemStackTagsEqual(stack, slots[i])) {
int toAdd = Math.min(slots[i].getMaxStackSize() - slots[i].stackSize, stack.stackSize);
slots[i].stackSize += toAdd;
stack.stackSize -= toAdd;
chuteTimer = 40;
if(stack.stackSize <= 0) {
return;
}
}
}
/* add leftovers to empty slots */
for(int i = 5; i < 14; i++) {
if(slots[i] == null) {
chuteTimer = 40;
slots[i] = stack.copy();
return;
}
}
}
}
/** breaks and drops all blocks in the specified ring */
protected void breakBlocks(int ring) {
int y = getY();
@ -477,7 +579,7 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements
List<ItemStack> stacks = new ArrayList();
items.forEach(i -> stacks.add(i.getEntityItem()));
/* try to insert into a valid coontainer */
/* try to insert into a valid container */
TileEntity tile = worldObj.getTileEntity(x, y, z);
if(tile instanceof IInventory) {
supplyContainer((IInventory) tile, stacks, dir.getOpposite());
@ -614,6 +716,34 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements
EnumDrillType type = getInstalledDrill();
return this.enableSilkTouch && type != null && type.silk;
}
@Override
public void readFromNBT(NBTTagCompound nbt) {
super.readFromNBT(nbt);
this.enableDrill = nbt.getBoolean("d");
this.enableCrusher = nbt.getBoolean("c");
this.enableWalling = nbt.getBoolean("w");
this.enableVeinMiner = nbt.getBoolean("v");
this.enableSilkTouch = nbt.getBoolean("s");
this.targetDepth = nbt.getInteger("t");
this.power = nbt.getLong("p");
this.tank.readFromNBT(nbt, "tank");
}
@Override
public void writeToNBT(NBTTagCompound nbt) {
super.writeToNBT(nbt);
nbt.setBoolean("d", enableDrill);
nbt.setBoolean("c", enableCrusher);
nbt.setBoolean("w", enableWalling);
nbt.setBoolean("v", enableVeinMiner);
nbt.setBoolean("s", enableSilkTouch);
nbt.setInteger("t", targetDepth);
nbt.setLong("p", power);
tank.writeToNBT(nbt, "tank");
}
@Override
public boolean hasPermission(EntityPlayer player) {

View File

@ -97,6 +97,15 @@ public abstract class TileEntityRBMKControl extends TileEntityRBMKSlottedBase im
@Override
public void onMelt(int reduce) {
if(this.isModerated()) {
int count = 2 + worldObj.rand.nextInt(2);
for(int i = 0; i < count; i++) {
spawnDebris(DebrisType.GRAPHITE);
}
}
int count = 2 + worldObj.rand.nextInt(2);
for(int i = 0; i < count; i++) {

View File

@ -309,6 +309,15 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM
spawnDebris(DebrisType.ELEMENT);
if(this.isModerated()) {
int count = 2 + worldObj.rand.nextInt(2);
for(int i = 0; i < count; i++) {
spawnDebris(DebrisType.GRAPHITE);
}
}
if(this.getBlockMetadata() == RBMKBase.DIR_NORMAL_LID.ordinal() + RBMKBase.offset)
spawnDebris(DebrisType.LID);
}

View File

@ -0,0 +1,43 @@
package com.hbm.world.feature;
import com.hbm.blocks.ModBlocks;
import com.hbm.blocks.generic.BlockBedrockOreTE.TileEntityBedrockOre;
import com.hbm.inventory.FluidStack;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
public class BedrockOre {
public static void generate(World world, int x, int z, ItemStack stack, FluidStack acid, int color) {
for(int ix = x - 1; ix <= x + 1; ix++) {
for(int iz = z - 1; iz <= z + 1; iz++) {
if((ix == x && iz == z) || world.rand.nextBoolean()) {
world.setBlock(ix, 0, iz, ModBlocks.ore_bedrock);
TileEntityBedrockOre ore = (TileEntityBedrockOre) world.getTileEntity(ix, 0, iz);
ore.resource = stack;
ore.color = color;
ore.shape = world.rand.nextInt(10);
ore.acidRequirement = acid;
world.markBlockForUpdate(ix, 0, iz);
world.markTileEntityChunkModified(ix, 0, iz, ore);
}
}
}
for(int ix = x - 3; ix <= x + 3; ix++) {
for(int iz = z - 3; iz <= z + 3; iz++) {
for(int iy = 1; iy < 7; iy++) {
if(world.getBlock(ix, iy, iz) == Blocks.bedrock) {
world.setBlock(ix, iy, iz, ModBlocks.stone_depth);
}
}
}
}
}
}

View File

@ -4,9 +4,13 @@ import java.util.List;
import java.util.Random;
import com.hbm.inventory.RecipesCommon.MetaBlock;
import com.hbm.items.ModItems;
import com.hbm.items.special.ItemBedrockOre.EnumBedrockOre;
import com.hbm.world.feature.BedrockOre;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.util.Vec3;
import net.minecraft.world.World;
import net.minecraft.world.gen.feature.WorldGenFlowers;
@ -88,6 +92,12 @@ public class DungeonToolbox {
(new WorldGenMinable(ore, meta, amount, target)).generate(world, rand, x, y, z);
}
}
public static void generateBedrockOre(World world, Random rand, int chunkX, int chunkZ, EnumBedrockOre ore) {
int randPosX = chunkX + rand.nextInt(16);
int randPosZ = chunkZ + rand.nextInt(16);
BedrockOre.generate(world, randPosX, randPosZ, new ItemStack(ModItems.ore_bedrock, 1, ore.ordinal()), null, ore.color);
}
private static WorldGenFlowers genFlowers = new WorldGenFlowers(null);
public static void generateFlowers(World world, Random rand, int chunkX, int chunkZ, Block flower, int meta) {

View File

@ -1522,6 +1522,12 @@ item.dosimeter.name=Dosimeter
item.drax.name=Terra-Bohrer
item.drax_mk2.name=Gehärteter Terra-Bohrer
item.drax_mk3.name=Schrabidischer Terra-Bohrer
item.drillbit_desh.name=Desh-Bohrspitze
item.drillbit_desh_diamond.name=Desh-Bohrspitze (Diamantbeschichtung)
item.drillbit_hss.name=Schnellarbeitsstahl-Bohrspitze
item.drillbit_hss_diamond.name=Schnellarbeitsstahl-Bohrspitze (Diamantbeschichtung)
item.drillbit_steel.name=Stahl-Bohrspitze
item.drillbit_steel_diamond.name=Stahl-Bohrspitze (Diamantbeschichtung)
item.drill_titanium.name=Titanbohrer
item.ducttape.name=Klebeband
item.dust.name=Staub
@ -2324,6 +2330,18 @@ item.oil_tar.name=Ölteer
item.oil_tar.crude.name=Erdölteer
item.oil_tar.crack.name=Crackölteer
item.oil_tar.wood.name=Holzteer
item.ore_bedrock.copper.name=Bedrock-Kupfererz
item.ore_bedrock.iron.name=Bedrock-Eisenerz
item.ore_centrifuged.copper.name=Zentrifugiertes Kupfererz
item.ore_centrifuged.iron.name=Zentrifugiertes Eisenerz
item.ore_cleaned.copper.name=Gereinigtes Kupfererz
item.ore_cleaned.iron.name=Gereinigtes Eisenerz
item.ore_enriched.copper.name=Reiches Kupfererz
item.ore_enriched.iron.name=Reiches Eisenerz
item.ore_purified.copper.name=Pures Kupfererz
item.ore_purified.iron.name=Pures Eisenerz
item.ore_separated.copper.name=Separiertes Kupfererz
item.ore_separated.iron.name=Separiertes Eisenerz
item.overfuse.name=Singularitätsschraubenzieher
item.oxy_mask.name=Sauerstoffmaske
item.paa_boots.name=PaA-"olle Latschen"
@ -3694,6 +3712,7 @@ tile.machine_drill.name=Automatischer Minenbohrer
tile.machine_electric_furnace_off.name=Elektrischer Ofen
tile.machine_electric_furnace_on.name=Elektrischer Ofen
tile.machine_epress.name=Hydraulische Presse
tile.machine_excavator.name=Großer Minenbohrer
tile.machine_fel.name=FEL
tile.machine_fensu.name=FEnSU
tile.machine_flare.name=Abfackelturm
@ -3810,6 +3829,7 @@ tile.ore_alexandrite.name=Alexandriterz
tile.ore_aluminium.name=Aluminiumerz
tile.ore_asbestos.name=Asbesterz
tile.ore_australium.name=Australisches Erz
tile.ore_bedrock.name=Bedrock-Erz
tile.ore_bedrock_coltan.name=Bedrock-Coltanerz
tile.ore_bedrock_oil.name=Bedrock-Ölvorkommen
tile.ore_beryllium.name=Berylliumerz

View File

@ -1903,6 +1903,12 @@ item.door_bunker.name=Bunker Door
item.door_metal.name=Metal Door
item.door_office.name=Office Door
item.dosimeter.name=Dosimeter
item.drillbit_desh.name=Desh Drillbit
item.drillbit_desh_diamond.name=Desh Drillbit (Diamond-Tipped)
item.drillbit_hss.name=High-Speed Steel Drillbit
item.drillbit_hss_diamond.name=High-Speed Steel Drillbit (Diamond-Tipped)
item.drillbit_steel.name=Steel Drillbit
item.drillbit_steel_diamond.name=Steel Drillbit (Diamond-Tipped)
item.drill_titanium.name=Titanium Drill
item.drax.name=Terra Drill
item.drax_mk2.name=Hardened Terra Drill
@ -2762,6 +2768,18 @@ item.oil_tar.coal.name=Coal Tar
item.oil_tar.crude.name=Oil Tar
item.oil_tar.crack.name=Crack Oil Tar
item.oil_tar.wood.name=Wood Tar
item.ore_bedrock.copper.name=Copper Bedrock Ore
item.ore_bedrock.iron.name=Iron Bedrock Ore
item.ore_centrifuged.copper.name=Centrifuged Copper Ore
item.ore_centrifuged.iron.name=Centrifuged Iron Ore
item.ore_cleaned.copper.name=Cleaned Copper Ore
item.ore_cleaned.iron.name=Cleaned Iron Ore
item.ore_enriched.copper.name=Enriched Copper Ore
item.ore_enriched.iron.name=Enriched Iron Ore
item.ore_purified.copper.name=Purified Copper Ore
item.ore_purified.iron.name=Purified Iron Ore
item.ore_separated.copper.name=Separated Copper Ore
item.ore_separated.iron.name=Separated Iron Ore
item.overfuse.name=Singularity Screwdriver
item.overfuse.desc=Say what?
item.oxy_mask.name=Oxygen Mask
@ -4272,6 +4290,7 @@ tile.machine_drill.name=Automatic Mining Drill
tile.machine_electric_furnace_off.name=Electric Furnace
tile.machine_electric_furnace_on.name=Electric Furnace
tile.machine_epress.name=Electric Press
tile.machine_excavator.name=Large Mining Drill
tile.machine_fel.name=FEL
tile.machine_fensu.name=FEnSU
tile.machine_flare.name=Flare Stack
@ -4391,6 +4410,7 @@ tile.ore_alexandrite.name=Alexandrite Ore
tile.ore_aluminium.name=Aluminium Ore
tile.ore_asbestos.name=Asbestos Ore
tile.ore_australium.name=Australian Ore
tile.ore_bedrock.name=Bedrock Ore
tile.ore_bedrock_coltan.name=Bedrock Coltan Ore
tile.ore_bedrock_oil.name=Bedrock Oil Deposit
tile.ore_beryllium.name=Beryllium Ore

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 283 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 289 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 399 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 404 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 392 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 389 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 259 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 261 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 433 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 409 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 389 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 481 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 453 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 8.9 KiB

View File

@ -3,7 +3,7 @@
"modid": "hbm",
"name": "Hbm's Nuclear Tech",
"description": "A mod that adds weapons, nuclear themed stuff and machines",
"version":"1.0.27_X4445",
"version":"1.0.27_X4473",
"mcversion": "1.7.10",
"url": "",
"updateUrl": "",