diff --git a/src/main/java/com/hbm/blocks/BlockEnums.java b/src/main/java/com/hbm/blocks/BlockEnums.java index f1119ce64..6bb64b079 100644 --- a/src/main/java/com/hbm/blocks/BlockEnums.java +++ b/src/main/java/com/hbm/blocks/BlockEnums.java @@ -33,6 +33,14 @@ public class BlockEnums { DESH, BISMUTH } + + public static enum EnumCMCircuit { + ALUMINIUM, + COPPER, + RED_COPPER, + GOLD, + SCHRABIDIUM + } /** DECO / STRUCTURE ENUMS */ //i apologize in advance diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 55b367285..7783f7652 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -868,6 +868,7 @@ public class ModBlocks { public static Block cm_sheet; public static Block cm_engine; public static Block cm_tank; + public static Block cm_circuit; public static Block cm_port; public static Block custom_machine; @@ -2020,12 +2021,13 @@ public class ModBlocks { factory_advanced_furnace = new FactoryHatch(Material.iron).setBlockName("factory_advanced_furnace").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_advanced_furnace"); factory_advanced_conductor = new BlockPillar(Material.iron, RefStrings.MODID + ":factory_advanced_conductor").setBlockName("factory_advanced_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":factory_advanced_hull"); - cm_block = new BlockCM(Material.iron, EnumCMMaterials.class, true, true).setBlockName("cm_block").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_block"); - cm_sheet = new BlockCM(Material.iron, EnumCMMaterials.class, true, true).setBlockName("cm_sheet").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_sheet"); - cm_engine = new BlockCM(Material.iron, EnumCMEngines.class, true, true).setBlockName("cm_engine").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_engine"); - cm_tank = new BlockCMGlass(Material.iron, EnumCMMaterials.class, true, true).setBlockName("cm_tank").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_tank"); - cm_port = new BlockCMPort(Material.iron, EnumCMMaterials.class, true, true).setBlockName("cm_port").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_port"); - custom_machine = new BlockCustomMachine().setBlockName("custom_machine").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F); + cm_block = new BlockCM(Material.iron, EnumCMMaterials.class, true, true).setBlockName("cm_block").setCreativeTab(MainRegistry.machineTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_block"); + cm_sheet = new BlockCM(Material.iron, EnumCMMaterials.class, true, true).setBlockName("cm_sheet").setCreativeTab(MainRegistry.machineTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_sheet"); + cm_engine = new BlockCM(Material.iron, EnumCMEngines.class, true, true).setBlockName("cm_engine").setCreativeTab(MainRegistry.machineTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_engine"); + cm_tank = new BlockCMGlass(Material.iron, EnumCMMaterials.class, true, true).setBlockName("cm_tank").setCreativeTab(MainRegistry.machineTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_tank"); + cm_circuit = new BlockCM(Material.iron, EnumCMCircuit.class, true, true).setBlockName("cm_circuit").setCreativeTab(MainRegistry.machineTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_circuit"); + cm_port = new BlockCMPort(Material.iron, EnumCMMaterials.class, true, true).setBlockName("cm_port").setCreativeTab(MainRegistry.machineTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_port"); + custom_machine = new BlockCustomMachine().setBlockName("custom_machine").setCreativeTab(MainRegistry.machineTab).setHardness(5.0F).setResistance(10.0F); reactor_element = new BlockPillar(Material.iron, RefStrings.MODID + ":reactor_element_top", RefStrings.MODID + ":reactor_element_base").setBlockName("reactor_element").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_element_side"); reactor_control = new BlockPillar(Material.iron, RefStrings.MODID + ":reactor_control_top").setBlockName("reactor_control").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_control_side"); @@ -3351,6 +3353,7 @@ public class ModBlocks { register(cm_sheet); register(cm_engine); register(cm_tank); + register(cm_circuit); register(cm_port); //Multiblock Generators diff --git a/src/main/java/com/hbm/blocks/machine/BlockCustomMachine.java b/src/main/java/com/hbm/blocks/machine/BlockCustomMachine.java index 469d11f25..e007403ef 100644 --- a/src/main/java/com/hbm/blocks/machine/BlockCustomMachine.java +++ b/src/main/java/com/hbm/blocks/machine/BlockCustomMachine.java @@ -2,6 +2,7 @@ package com.hbm.blocks.machine; import java.util.ArrayList; +import com.hbm.config.CustomMachineConfigJSON; import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; @@ -49,6 +50,7 @@ public class BlockCustomMachine extends BlockContainer { @Override @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int metadata) { + if(metadata >= 100) return side == 3 ? this.iconFront : this.blockIcon; return metadata == 0 && side == 3 ? this.iconFront : (side == metadata ? this.iconFront : this.blockIcon); } @@ -116,15 +118,14 @@ public class BlockCustomMachine extends BlockContainer { Item item = getItemDropped(metadata, world.rand, fortune); if(item != null) { - ItemStack stack = new ItemStack(item); TileEntityCustomMachine tile = (TileEntityCustomMachine) world.getTileEntity(x, y, z); if(tile != null) { + ItemStack stack = new ItemStack(item, 1, CustomMachineConfigJSON.niceList.indexOf(tile.config) + 100); stack.stackTagCompound = new NBTTagCompound(); stack.stackTagCompound.setString("machineType", tile.machineType); + ret.add(stack); } - - ret.add(stack); } return ret; @@ -134,10 +135,9 @@ public class BlockCustomMachine extends BlockContainer { public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z) { //using the deprecated one to make NEI happy TileEntityCustomMachine tile = (TileEntityCustomMachine) world.getTileEntity(x, y, z); - - ItemStack stack = new ItemStack(this); if(tile != null && tile.machineType != null && !tile.machineType.isEmpty()) { + ItemStack stack = new ItemStack(this, 1, CustomMachineConfigJSON.niceList.indexOf(tile.config) + 100); stack.stackTagCompound = new NBTTagCompound(); stack.stackTagCompound.setString("machineType", tile.machineType); return stack; diff --git a/src/main/java/com/hbm/config/CustomMachineConfigJSON.java b/src/main/java/com/hbm/config/CustomMachineConfigJSON.java index 750fb8733..886a7741a 100644 --- a/src/main/java/com/hbm/config/CustomMachineConfigJSON.java +++ b/src/main/java/com/hbm/config/CustomMachineConfigJSON.java @@ -14,15 +14,26 @@ import com.google.gson.Gson; import com.google.gson.JsonArray; import com.google.gson.JsonObject; import com.google.gson.stream.JsonWriter; +import com.hbm.blocks.ModBlocks; import com.hbm.config.CustomMachineConfigJSON.MachineConfiguration.ComponentDefinition; +import com.hbm.inventory.OreDictManager; +import com.hbm.inventory.RecipesCommon.AStack; +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.main.CraftingManager; import com.hbm.main.MainRegistry; import net.minecraft.block.Block; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; public class CustomMachineConfigJSON { public static final Gson gson = new Gson(); public static HashMap customMachines = new HashMap(); + public static List niceList = new ArrayList(); public static void initialize() { File folder = MainRegistry.configHbmDir; @@ -59,12 +70,27 @@ public class CustomMachineConfigJSON { writer.name("recipeConsumptionMult").value(1.0D); writer.name("maxPower").value(10_000L); + writer.name("recipeShape").beginArray(); + writer.value("IPI").value("PCP").value("IPI"); + writer.endArray(); + + writer.name("recipeParts").beginArray().setIndent(""); + writer.value("I"); + SerializableRecipe.writeAStack(new OreDictStack(OreDictManager.STEEL.ingot()), writer); + writer.setIndent(""); + writer.value("P"); + SerializableRecipe.writeAStack(new OreDictStack(OreDictManager.STEEL.plate()), writer); + writer.setIndent(""); + writer.value("C"); + SerializableRecipe.writeAStack(new ComparableStack(ModItems.circuit_aluminium), writer); + writer.endArray().setIndent(" "); + writer.name("components").beginArray(); for(int x = -1; x <= 1; x++) { for(int y = -1; y <= 1; y++) { for(int z = 0; z <= 2; z++) { - if(!(x == 0 && y == 0 && z == 1) && !(x == 0 && z == 0)) { + if(!(x == 0 && y == 0 && z == 1) && !(x == 0 && z == 1) && !(x == 0 && y == 0 && z == 0)) { writer.beginObject().setIndent(""); writer.name("block").value(y == 0 ? "hbm:tile.cm_sheet" : "hbm:tile.cm_block"); writer.name("x").value(x); @@ -83,7 +109,7 @@ public class CustomMachineConfigJSON { writer.name("block").value("hbm:tile.cm_port"); writer.name("x").value(0); writer.name("y").value(-1); - writer.name("z").value(0); + writer.name("z").value(1); writer.name("metas").beginArray(); writer.value(0); writer.endArray(); @@ -93,7 +119,7 @@ public class CustomMachineConfigJSON { writer.name("block").value("hbm:tile.cm_port"); writer.name("x").value(0); writer.name("y").value(1); - writer.name("z").value(0); + writer.name("z").value(1); writer.name("metas").beginArray(); writer.value(0); writer.endArray(); @@ -134,6 +160,38 @@ public class CustomMachineConfigJSON { configuration.recipeConsumptionMult = machineObject.get("recipeConsumptionMult").getAsDouble(); configuration.maxPower = machineObject.get("maxPower").getAsLong(); + if(machineObject.has("recipeShape") && machineObject.has("recipeParts")) { + JsonArray recipeShape = machineObject.get("recipeShape").getAsJsonArray(); + JsonArray recipeParts = machineObject.get("recipeParts").getAsJsonArray(); + + Object[] parts = new Object[recipeShape.size() + recipeParts.size()]; + + for(int j = 0; j < recipeShape.size(); j++) { + parts[j] = recipeShape.get(j).getAsString(); + } + + for(int j = 0; j < recipeParts.size(); j++) { + Object o = null; + + if(j % 2 == 0) { + o = recipeParts.get(j).getAsString().charAt(0); //god is dead and we killed him + } else { + AStack a = SerializableRecipe.readAStack(recipeParts.get(j).getAsJsonArray()); + + if(a instanceof ComparableStack) o = ((ComparableStack) a).toStack(); + if(a instanceof OreDictStack) o = ((OreDictStack) a).name; + } + + parts[j + recipeShape.size()] = o; + } + + ItemStack stack = new ItemStack(ModBlocks.custom_machine, 1, i + 100); + stack.stackTagCompound = new NBTTagCompound(); + stack.stackTagCompound.setString("machineType", configuration.unlocalizedName); + + CraftingManager.addRecipeAuto(stack, parts); + } + JsonArray components = machineObject.get("components").getAsJsonArray(); configuration.components = new ArrayList(); @@ -154,6 +212,7 @@ public class CustomMachineConfigJSON { } customMachines.put(configuration.unlocalizedName, configuration); + niceList.add(configuration); } } catch(Exception ex) { diff --git a/src/main/java/com/hbm/handler/pollution/PollutionHandler.java b/src/main/java/com/hbm/handler/pollution/PollutionHandler.java index ef3752953..6f783a4f5 100644 --- a/src/main/java/com/hbm/handler/pollution/PollutionHandler.java +++ b/src/main/java/com/hbm/handler/pollution/PollutionHandler.java @@ -6,6 +6,7 @@ import java.io.FileOutputStream; import java.util.HashMap; import java.util.Locale; import java.util.Map.Entry; +import java.util.UUID; import com.hbm.config.RadiationConfig; @@ -304,6 +305,8 @@ public class PollutionHandler { /// MOB EFFECTS /// /////////////////// + public static final UUID maxHealth = UUID.fromString("25462f6c-2cb2-4ca8-9b47-3a011cc61207"); + public static final UUID attackDamage = UUID.fromString("8f442d7c-d03f-49f6-a040-249ae742eed9"); @SubscribeEvent public void decorateMob(LivingSpawnEvent event) { @@ -320,8 +323,8 @@ public class PollutionHandler { if(living instanceof IMob) { if(data.pollution[PollutionType.SOOT.ordinal()] > RadiationConfig.buffMobThreshold) { - if(living.getEntityAttribute(SharedMonsterAttributes.maxHealth) != null) living.getEntityAttribute(SharedMonsterAttributes.maxHealth).applyModifier(new AttributeModifier("Soot Anger Health Increase", 1D, 1)); - if(living.getEntityAttribute(SharedMonsterAttributes.attackDamage) != null) living.getEntityAttribute(SharedMonsterAttributes.attackDamage).applyModifier(new AttributeModifier("Soot Anger Damage Increase", 1.5D, 1)); + if(living.getEntityAttribute(SharedMonsterAttributes.maxHealth) != null) living.getEntityAttribute(SharedMonsterAttributes.maxHealth).applyModifier(new AttributeModifier(maxHealth, "Soot Anger Health Increase", 1D, 1)); + if(living.getEntityAttribute(SharedMonsterAttributes.attackDamage) != null) living.getEntityAttribute(SharedMonsterAttributes.attackDamage).applyModifier(new AttributeModifier(attackDamage, "Soot Anger Damage Increase", 1.5D, 1)); living.heal(living.getMaxHealth()); } } diff --git a/src/main/java/com/hbm/inventory/recipes/loader/SerializableRecipe.java b/src/main/java/com/hbm/inventory/recipes/loader/SerializableRecipe.java index 5e2f11a98..c719bd86c 100644 --- a/src/main/java/com/hbm/inventory/recipes/loader/SerializableRecipe.java +++ b/src/main/java/com/hbm/inventory/recipes/loader/SerializableRecipe.java @@ -188,7 +188,7 @@ public abstract class SerializableRecipe { * JSON IO UTIL */ - protected static AStack readAStack(JsonArray array) { + public static AStack readAStack(JsonArray array) { try { String type = array.get(0).getAsString(); int stacksize = array.size() > 2 ? array.get(2).getAsInt() : 1; @@ -206,7 +206,7 @@ public abstract class SerializableRecipe { return new ComparableStack(ModItems.nothing); } - protected static AStack[] readAStackArray(JsonArray array) { + public static AStack[] readAStackArray(JsonArray array) { try { AStack[] items = new AStack[array.size()]; for(int i = 0; i < items.length; i++) { items[i] = readAStack((JsonArray) array.get(i)); } @@ -216,7 +216,7 @@ public abstract class SerializableRecipe { return new AStack[0]; } - protected static void writeAStack(AStack astack, JsonWriter writer) throws IOException { + public static void writeAStack(AStack astack, JsonWriter writer) throws IOException { writer.beginArray(); writer.setIndent(""); if(astack instanceof ComparableStack) { @@ -236,7 +236,7 @@ public abstract class SerializableRecipe { writer.setIndent(" "); } - protected static ItemStack readItemStack(JsonArray array) { + public static ItemStack readItemStack(JsonArray array) { try { Item item = (Item) Item.itemRegistry.getObject(array.get(0).getAsString()); int stacksize = array.size() > 1 ? array.get(1).getAsInt() : 1; @@ -247,7 +247,7 @@ public abstract class SerializableRecipe { return new ItemStack(ModItems.nothing); } - protected static Pair readItemStackChance(JsonArray array) { + public static Pair readItemStackChance(JsonArray array) { try { Item item = (Item) Item.itemRegistry.getObject(array.get(0).getAsString()); int stacksize = array.size() > 2 ? array.get(1).getAsInt() : 1; @@ -259,7 +259,7 @@ public abstract class SerializableRecipe { return new Pair(new ItemStack(ModItems.nothing), 1F); } - protected static ItemStack[] readItemStackArray(JsonArray array) { + public static ItemStack[] readItemStackArray(JsonArray array) { try { ItemStack[] items = new ItemStack[array.size()]; for(int i = 0; i < items.length; i++) { items[i] = readItemStack((JsonArray) array.get(i)); } @@ -269,7 +269,7 @@ public abstract class SerializableRecipe { return new ItemStack[0]; } - protected static Pair[] readItemStackArrayChance(JsonArray array) { + public static Pair[] readItemStackArrayChance(JsonArray array) { try { Pair[] items = new Pair[array.size()]; for(int i = 0; i < items.length; i++) { items[i] = readItemStackChance((JsonArray) array.get(i)); } @@ -279,7 +279,7 @@ public abstract class SerializableRecipe { return new Pair[0]; } - protected static void writeItemStack(ItemStack stack, JsonWriter writer) throws IOException { + public static void writeItemStack(ItemStack stack, JsonWriter writer) throws IOException { writer.beginArray(); writer.setIndent(""); writer.value(Item.itemRegistry.getNameForObject(stack.getItem())); //item name @@ -289,7 +289,7 @@ public abstract class SerializableRecipe { writer.setIndent(" "); } - protected static void writeItemStackChance(Pair stack, JsonWriter writer) throws IOException { + public static void writeItemStackChance(Pair stack, JsonWriter writer) throws IOException { writer.beginArray(); writer.setIndent(""); writer.value(Item.itemRegistry.getNameForObject(stack.getKey().getItem())); //item name @@ -300,7 +300,7 @@ public abstract class SerializableRecipe { writer.setIndent(" "); } - protected static FluidStack readFluidStack(JsonArray array) { + public static FluidStack readFluidStack(JsonArray array) { try { FluidType type = Fluids.fromName(array.get(0).getAsString()); int fill = array.get(1).getAsInt(); @@ -311,7 +311,7 @@ public abstract class SerializableRecipe { return new FluidStack(Fluids.NONE, 0); } - protected static FluidStack[] readFluidArray(JsonArray array) { + public static FluidStack[] readFluidArray(JsonArray array) { try { FluidStack[] fluids = new FluidStack[array.size()]; for(int i = 0; i < fluids.length; i++) { fluids[i] = readFluidStack((JsonArray) array.get(i)); } @@ -321,7 +321,7 @@ public abstract class SerializableRecipe { return new FluidStack[0]; } - protected static void writeFluidStack(FluidStack stack, JsonWriter writer) throws IOException { + public static void writeFluidStack(FluidStack stack, JsonWriter writer) throws IOException { writer.beginArray(); writer.setIndent(""); writer.value(stack.type.getName()); //fluid type diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 91c4863de..eeb17ddfd 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -17,7 +17,6 @@ import com.hbm.items.armor.*; import com.hbm.items.armor.IArmorDisableModel.EnumPlayerPart; import com.hbm.items.bomb.*; import com.hbm.items.food.*; -import com.hbm.items.food.ItemConserve.EnumFoodType; import com.hbm.items.machine.*; import com.hbm.items.machine.ItemFELCrystal.EnumWavelengths; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; @@ -3452,34 +3451,6 @@ public class ModItems { coffee = new ItemEnergy().setUnlocalizedName("coffee").setTextureName(RefStrings.MODID + ":coffee"); coffee_radium = new ItemEnergy().setUnlocalizedName("coffee_radium").setTextureName(RefStrings.MODID + ":coffee_radium"); chocolate = new ItemPill(0).setUnlocalizedName("chocolate").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":chocolate"); - - //canned_beef = new ItemLemon(8, 5, false).setUnlocalizedName("canned_beef").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_beef"); - //canned_tuna = new ItemLemon(4, 5, false).setUnlocalizedName("canned_tuna").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_tuna"); - //canned_mystery = new ItemLemon(6, 5, false).setUnlocalizedName("canned_mystery").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_mystery"); - //canned_pashtet = new ItemLemon(4, 5, false).setUnlocalizedName("canned_pashtet").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_pashtet"); - //canned_cheese = new ItemLemon(3, 5, false).setUnlocalizedName("canned_cheese").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_cheese"); - //canned_jizz = new ItemLemon(15, 5, false).setUnlocalizedName("canned_jizz").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_jizz"); - //canned_milk = new ItemLemon(5, 5, false).setUnlocalizedName("canned_milk").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_milk"); - //canned_ass = new ItemLemon(6, 5, false).setUnlocalizedName("canned_ass").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_ass"); - //canned_pizza = new ItemLemon(8, 5, false).setUnlocalizedName("canned_pizza").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_pizza"); - //canned_tube = new ItemLemon(2, 5, false).setUnlocalizedName("canned_tube").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_tube"); - //canned_tomato = new ItemLemon(4, 5, false).setUnlocalizedName("canned_tomato").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_tomato"); - //canned_asbestos = new ItemLemon(7, 5, false).setUnlocalizedName("canned_asbestos").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_asbestos"); - //canned_bhole = new ItemLemon(10, 5, false).setUnlocalizedName("canned_bhole").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_bhole"); - //canned_hotdogs = new ItemLemon(5, 5, false).setUnlocalizedName("canned_hotdogs").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_hotdogs"); - //canned_leftovers = new ItemLemon(1, 5, false).setUnlocalizedName("canned_leftovers").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_leftovers"); - //canned_yogurt = new ItemLemon(3, 5, false).setUnlocalizedName("canned_yogurt").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_yogurt"); - //canned_stew = new ItemLemon(5, 5, false).setUnlocalizedName("canned_stew").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_stew"); - //canned_chinese = new ItemLemon(6, 5, false).setUnlocalizedName("canned_chinese").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_chinese"); - //canned_oil = new ItemLemon(3, 5, false).setUnlocalizedName("canned_oil").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_oil"); - //canned_fist = new ItemLemon(6, 5, false).setUnlocalizedName("canned_fist").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_fist"); - //canned_spam = new ItemLemon(8, 5, false).setUnlocalizedName("canned_spam").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_spam"); - //canned_fried = new ItemLemon(10, 5, false).setUnlocalizedName("canned_fried").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_fried"); - //canned_napalm = new ItemLemon(6, 5, false).setUnlocalizedName("canned_napalm").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_napalm"); - //canned_diesel = new ItemLemon(6, 5, false).setUnlocalizedName("canned_diesel").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_diesel"); - //canned_kerosene = new ItemLemon(6, 5, false).setUnlocalizedName("canned_kerosene").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_kerosene"); - //canned_recursion = new ItemLemon(1, 5, false).setUnlocalizedName("canned_recursion").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_recursion"); - //canned_bark = new ItemLemon(2, 5, false).setUnlocalizedName("canned_bark").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_bark"); canned_conserve = (ItemEnumMulti) new ItemConserve().setUnlocalizedName("canned_conserve").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned"); can_key = new Item().setUnlocalizedName("can_key").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":can_key"); @@ -8117,35 +8088,6 @@ public class ModItems { GameRegistry.registerItem(mysteryshovel, mysteryshovel.getUnlocalizedName()); GameRegistry.registerItem(memory, memory.getUnlocalizedName()); - //CONSERVE REMAP - addRemap("canned_beef", canned_conserve, EnumFoodType.BEEF); - addRemap("canned_tuna", canned_conserve, EnumFoodType.TUNA); - addRemap("canned_mystery", canned_conserve, EnumFoodType.MYSTERY); - addRemap("canned_pashtet", canned_conserve, EnumFoodType.PASHTET); - addRemap("canned_cheese", canned_conserve, EnumFoodType.CHEESE); - addRemap("canned_jizz", canned_conserve, EnumFoodType.JIZZ); - addRemap("canned_milk", canned_conserve, EnumFoodType.MILK); - addRemap("canned_ass", canned_conserve, EnumFoodType.ASS); - addRemap("canned_pizza", canned_conserve, EnumFoodType.PIZZA); - addRemap("canned_tube", canned_conserve, EnumFoodType.TUBE); - addRemap("canned_tomato", canned_conserve, EnumFoodType.TOMATO); - addRemap("canned_asbestos", canned_conserve, EnumFoodType.ASBESTOS); - addRemap("canned_bhole", canned_conserve, EnumFoodType.BHOLE); - addRemap("canned_hotdogs", canned_conserve, EnumFoodType.HOTDOGS); - addRemap("canned_leftovers", canned_conserve, EnumFoodType.LEFTOVERS); - addRemap("canned_yogurt", canned_conserve, EnumFoodType.YOGURT); - addRemap("canned_stew", canned_conserve, EnumFoodType.STEW); - addRemap("canned_chinese", canned_conserve, EnumFoodType.CHINESE); - addRemap("canned_oil", canned_conserve, EnumFoodType.OIL); - addRemap("canned_fist", canned_conserve, EnumFoodType.FIST); - addRemap("canned_spam", canned_conserve, EnumFoodType.SPAM); - addRemap("canned_fried", canned_conserve, EnumFoodType.FRIED); - addRemap("canned_napalm", canned_conserve, EnumFoodType.NAPALM); - addRemap("canned_diesel", canned_conserve, EnumFoodType.DIESEL); - addRemap("canned_kerosene", canned_conserve, EnumFoodType.KEROSENE); - addRemap("canned_recursion", canned_conserve, EnumFoodType.RECURSION); - addRemap("canned_bark", canned_conserve, EnumFoodType.BARK); - addRemap("rod_zirnox_natural_uranium_fuel", rod_zirnox, EnumZirnoxType.NATURAL_URANIUM_FUEL); addRemap("rod_zirnox_uranium_fuel", rod_zirnox, EnumZirnoxType.URANIUM_FUEL); addRemap("rod_zirnox_th232", rod_zirnox, EnumZirnoxType.TH232); diff --git a/src/main/java/com/hbm/items/block/ItemCustomMachine.java b/src/main/java/com/hbm/items/block/ItemCustomMachine.java index fe62ea56a..434b61c06 100644 --- a/src/main/java/com/hbm/items/block/ItemCustomMachine.java +++ b/src/main/java/com/hbm/items/block/ItemCustomMachine.java @@ -1,7 +1,6 @@ package com.hbm.items.block; import java.util.List; -import java.util.Map.Entry; import com.hbm.config.CustomMachineConfigJSON; import com.hbm.config.CustomMachineConfigJSON.MachineConfiguration; @@ -24,10 +23,11 @@ public class ItemCustomMachine extends ItemBlock { @SideOnly(Side.CLIENT) public void getSubItems(Item item, CreativeTabs tab, List list) { - for(Entry entry : CustomMachineConfigJSON.customMachines.entrySet()) { - ItemStack stack = new ItemStack(item); + for(int i = 0; i < CustomMachineConfigJSON.niceList.size(); i++) { + MachineConfiguration conf = CustomMachineConfigJSON.niceList.get(i); + ItemStack stack = new ItemStack(item, 1, i + 100); stack.stackTagCompound = new NBTTagCompound(); - stack.stackTagCompound.setString("machineType", entry.getKey()); + stack.stackTagCompound.setString("machineType", conf.unlocalizedName); list.add(stack); } } diff --git a/src/main/java/com/hbm/items/food/ItemFlask.java b/src/main/java/com/hbm/items/food/ItemFlask.java index 256fa9eff..9ecdb4fc2 100644 --- a/src/main/java/com/hbm/items/food/ItemFlask.java +++ b/src/main/java/com/hbm/items/food/ItemFlask.java @@ -49,8 +49,8 @@ public class ItemFlask extends ItemEnumMulti { if(stack.getItemDamage() == EnumInfusion.SHIELD.ordinal()) { float infusion = 5F; HbmPlayerProps props = HbmPlayerProps.getData(player); - props.maxShield = Math.min(props.shieldCap, props.shield + infusion); - props.shield += infusion; + props.maxShield = Math.min(props.shieldCap, props.maxShield + infusion); + props.shield = Math.min(props.shield + infusion, props.maxShield); } return stack; diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 6e486d7e0..1a039b530 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -1132,6 +1132,33 @@ public class MainRegistry { ignoreMappings.add("hbm:tile.gas_duct"); ignoreMappings.add("hbm:tile.dummy_block_assembler"); ignoreMappings.add("hbm:tile.dummy_port_assembler"); + ignoreMappings.add("hbm:item.canned_beef"); + ignoreMappings.add("hbm:item.canned_tuna"); + ignoreMappings.add("hbm:item.canned_mystery"); + ignoreMappings.add("hbm:item.canned_pashtet"); + ignoreMappings.add("hbm:item.canned_cheese"); + ignoreMappings.add("hbm:item.canned_jizz"); + ignoreMappings.add("hbm:item.canned_milk"); + ignoreMappings.add("hbm:item.canned_ass"); + ignoreMappings.add("hbm:item.canned_pizza"); + ignoreMappings.add("hbm:item.canned_tube"); + ignoreMappings.add("hbm:item.canned_tomato"); + ignoreMappings.add("hbm:item.canned_asbestos"); + ignoreMappings.add("hbm:item.canned_bhole"); + ignoreMappings.add("hbm:item.canned_hotdogs"); + ignoreMappings.add("hbm:item.canned_leftovers"); + ignoreMappings.add("hbm:item.canned_yogurt"); + ignoreMappings.add("hbm:item.canned_stew"); + ignoreMappings.add("hbm:item.canned_chinese"); + ignoreMappings.add("hbm:item.canned_oil"); + ignoreMappings.add("hbm:item.canned_fist"); + ignoreMappings.add("hbm:item.canned_spam"); + ignoreMappings.add("hbm:item.canned_fried"); + ignoreMappings.add("hbm:item.canned_napalm"); + ignoreMappings.add("hbm:item.canned_diesel"); + ignoreMappings.add("hbm:item.canned_kerosene"); + ignoreMappings.add("hbm:item.canned_recursion"); + ignoreMappings.add("hbm:item.canned_bark"); /// REMAP /// remapItems.put("hbm:item.gadget_explosive8", ModItems.early_explosive_lenses); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadar.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadar.java index fb3d4b4e0..d68ae05e9 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadar.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadar.java @@ -184,8 +184,8 @@ public class TileEntityMachineRadar extends TileEntityTickingBase implements IEn for(int i = 0; i < nearbyMissiles.size(); i++) { - if(nearbyMissiles.get(i)[3] + 1 > power) { - power = nearbyMissiles.get(i)[3] + 1; + if(nearbyMissiles.get(i)[2] + 1 > power) { + power = nearbyMissiles.get(i)[2] + 1; } } diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 3c4bec004..5b786acdb 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -4522,6 +4522,25 @@ 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.cm_block.alloy.name=Advanced Alloy Machine Casing +tile.cm_block.desh.name=Desh Machine Casing +tile.cm_block.steel.name=Steel Machine Casing +tile.cm_block.tcalloy.name=Technetium Steel Machine Casing +tile.cm_engine.bismuth.name=Bismuth Motor Block +tile.cm_engine.desh.name=Desh Motor Block +tile.cm_engine.standard.name=Motor Block +tile.cm_port.alloy.name=Advanced Alloy Port +tile.cm_port.desh.name=Desh Port +tile.cm_port.steel.name=Steel Port +tile.cm_port.tcalloy.name=Technetium Steel Port +tile.cm_sheet.alloy.name=Advanced Alloy Sheet +tile.cm_sheet.desh.name=Desh Sheet +tile.cm_sheet.steel.name=Steel Sheet +tile.cm_sheet.tcalloy.name=Technetium Steel Sheet +tile.cm_tank.alloy.name=Advanced Alloy Tank +tile.cm_tank.desh.name=Desh Tank +tile.cm_tank.steel.name=Steel Tank +tile.cm_tank.tcalloy.name=Technetium Steel Tank tile.cmb_brick.name=CMB Steel Tile tile.cmb_brick_reinforced.name=Reinforced CMB Bricks tile.compact_launcher.name=Compact Launch Pad diff --git a/src/main/resources/assets/hbm/textures/blocks/cm_circuit_aluminium.png b/src/main/resources/assets/hbm/textures/blocks/cm_circuit_aluminium.png new file mode 100644 index 000000000..8e44446d3 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/cm_circuit_aluminium.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/cm_circuit_copper.png b/src/main/resources/assets/hbm/textures/blocks/cm_circuit_copper.png new file mode 100644 index 000000000..7217056b0 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/cm_circuit_copper.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/cm_circuit_gold.png b/src/main/resources/assets/hbm/textures/blocks/cm_circuit_gold.png new file mode 100644 index 000000000..4c5bed684 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/cm_circuit_gold.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/cm_circuit_red_copper.png b/src/main/resources/assets/hbm/textures/blocks/cm_circuit_red_copper.png new file mode 100644 index 000000000..f7df862cf Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/cm_circuit_red_copper.png differ diff --git a/src/main/resources/assets/hbm/textures/blocks/cm_circuit_schrabidium.png b/src/main/resources/assets/hbm/textures/blocks/cm_circuit_schrabidium.png new file mode 100644 index 000000000..da97f4286 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/blocks/cm_circuit_schrabidium.png differ