now's your chance to take a [BIG SHIT]

This commit is contained in:
Bob 2025-07-18 23:34:43 +02:00
parent 6bbb002e34
commit b7641dcd54
30 changed files with 154 additions and 102 deletions

View File

@ -9,8 +9,18 @@
* Replace the journals * Replace the journals
* Instead of opening them and making a template, they act as a multi template * Instead of opening them and making a template, they act as a multi template
* Blueprints need to remain in the slot, removing them will disable the recipes again * Blueprints need to remain in the slot, removing them will disable the recipes again
* More paintables
* Paintable pneumatic tube
* Behaves the exact same as a regular pneumatic tube
* Can also be used as in and outputs
* Full block
* Paintable OpenComputers cable
* Only enabled if OpenComputers is installed
* Full block
* Also supports OC wire colors
## Changed ## Changed
* Updated chinese and ukrainian localization
* Removed levitation unit * Removed levitation unit
* Many of NTM's regular building blocks now have forge microblock support * Many of NTM's regular building blocks now have forge microblock support
* RBMK crane models now conform to the dimensions of the room they're in * RBMK crane models now conform to the dimensions of the room they're in
@ -19,9 +29,22 @@
* Electric attacks (i.e. tesla cannon) are now in the "energy damage" category * Electric attacks (i.e. tesla cannon) are now in the "energy damage" category
* This means that armors that have energy resistance actually properly work against the tesla cannon * This means that armors that have energy resistance actually properly work against the tesla cannon
* Heavy components are being deprecated * Heavy components are being deprecated
* Flow control pumps can now be interfaced with OpenComputers
* The electrolyzer now remembers the last visited GUI screen
* Retextured many fluid containers such as universal tanks, canisters and gas tanks
* Removed the legacy assembler and chemical plant recipes from the template folder
* Removed journals from various loot pools
* Drinking whiskey now gives strength III, resistance III and nausea
* Chemical artillery shell recipes have now been moved to the assembler
* The chemical plant and factory now scale their max power based on the recipe, similar to how the arc welder works
* The chemical plant's default max power is now 100kHE again instead of 1MHE
## Fixed ## Fixed
* Fixed gas centrifuge sound persisting when broken or when unloaded * Fixed gas centrifuge sound persisting when broken or when unloaded
* Fixed all centrifuge sounds trying to play even when the player is far away, using up audio slots * Fixed all centrifuge sounds trying to play even when the player is far away, using up audio slots
* Fixed guns that don't have durability always displaying a condition of 0% * Fixed guns that don't have durability always displaying a condition of 0%
* Fixed GL state leak caused by skeletons * Fixed GL state leak caused by skeletons
* Fixed OpenComputers integration for the CCGT
* Fixed rotated RBMK consoles not behaving correctly when trying to change rod insertion levels
* Fixed crash caused by piston inserters on servers
* Fixed flare gun not having a firing sound

View File

@ -113,7 +113,7 @@ public class ToolRecipes {
//Utility //Utility
CraftingManager.addRecipeAuto(new ItemStack(ModItems.rangefinder, 1), new Object[] { "GRC", " S", 'G', KEY_ANYPANE, 'R', REDSTONE.dust(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC), 'S' ,STEEL.plate() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.rangefinder, 1), new Object[] { "GRC", " S", 'G', KEY_ANYPANE, 'R', REDSTONE.dust(), 'C', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC), 'S' ,STEEL.plate() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.designator, 1), new Object[] { " A", "#B#", "#B#", '#', IRON.plate(), 'A', STEEL.plate(), 'B', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC) }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.designator, 1), new Object[] { " A", "#B#", "#B#", '#', ANY_PLASTIC.ingot(), 'A', STEEL.plate(), 'B', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.BASIC) });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.designator_range, 1), new Object[] { ModItems.rangefinder, ModItems.designator, ANY_PLASTIC.ingot() }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.designator_range, 1), new Object[] { ModItems.rangefinder, ModItems.designator, ANY_PLASTIC.ingot() });
CraftingManager.addRecipeAuto(new ItemStack(ModItems.designator_manual, 1), new Object[] { " A", "#C#", "#B#", '#', ANY_PLASTIC.ingot(), 'A', PB.plate(), 'B', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED), 'C', ModItems.designator }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.designator_manual, 1), new Object[] { " A", "#C#", "#B#", '#', ANY_PLASTIC.ingot(), 'A', PB.plate(), 'B', DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED), 'C', ModItems.designator });
CraftingManager.addShapelessAuto(new ItemStack(ModItems.designator_arty_range, 1), new Object[] { ModItems.rangefinder, DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED), ANY_PLASTIC.ingot() }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.designator_arty_range, 1), new Object[] { ModItems.rangefinder, DictFrame.fromOne(ModItems.circuit, EnumCircuitType.ADVANCED), ANY_PLASTIC.ingot() });

View File

@ -1,7 +1,6 @@
package com.hbm.handler; package com.hbm.handler;
import com.hbm.blocks.ModBlocks; import com.hbm.blocks.ModBlocks;
import com.hbm.blocks.network.BlockOpenComputersCablePaintable;
import com.hbm.inventory.RecipesCommon; import com.hbm.inventory.RecipesCommon;
import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.FluidType;
import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.Fluids;
@ -17,7 +16,6 @@ import li.cil.oc.api.machine.Context;
import li.cil.oc.api.network.*; import li.cil.oc.api.network.*;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.oredict.OreDictionary;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;

View File

@ -10,16 +10,11 @@ import org.lwjgl.input.Mouse;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL12; import org.lwjgl.opengl.GL12;
import com.hbm.inventory.RecipesCommon.ComparableStack;
import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.FluidType;
import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.recipes.AssemblerRecipes; import com.hbm.inventory.recipes.AssemblerRecipes;
import com.hbm.inventory.recipes.AssemblerRecipes.AssemblerRecipe;
import com.hbm.inventory.recipes.ChemplantRecipes;
import com.hbm.inventory.recipes.ChemplantRecipes.ChemRecipe;
import com.hbm.inventory.recipes.CrucibleRecipes; import com.hbm.inventory.recipes.CrucibleRecipes;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import com.hbm.items.machine.ItemAssemblyTemplate;
import com.hbm.items.machine.ItemCassette; import com.hbm.items.machine.ItemCassette;
import com.hbm.items.machine.ItemStamp; import com.hbm.items.machine.ItemStamp;
import com.hbm.items.machine.ItemStamp.StampType; import com.hbm.items.machine.ItemStamp.StampType;
@ -84,21 +79,7 @@ public class GUIScreenTemplateFolder extends GuiScreen {
} }
} }
// Assembly Templates
for(int i = 0; i < AssemblerRecipes.recipeList.size(); i++) {
ComparableStack comp = AssemblerRecipes.recipeList.get(i);
AssemblerRecipe recipe = AssemblerRecipes.recipes.get(comp);
if(recipe != null && recipe.folders.contains(item)) {
allStacks.add(ItemAssemblyTemplate.writeType(new ItemStack(ModItems.assembly_template, 1, i), comp));
}
}
if(!this.isJournal) { if(!this.isJournal) {
// Chemistry Templates
for(int i = 0; i < ChemplantRecipes.recipes.size(); i++) {
ChemRecipe chem = ChemplantRecipes.recipes.get(i);
allStacks.add(new ItemStack(ModItems.chemistry_template, 1, chem.getId()));
}
// Crucible Templates // Crucible Templates
for(int i = 0; i < CrucibleRecipes.recipes.size(); i++) { for(int i = 0; i < CrucibleRecipes.recipes.size(); i++) {

View File

@ -16,6 +16,7 @@ import com.hbm.inventory.OreDictManager.DictFrame;
import com.hbm.inventory.RecipesCommon.AStack; import com.hbm.inventory.RecipesCommon.AStack;
import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.RecipesCommon.ComparableStack;
import com.hbm.inventory.RecipesCommon.OreDictStack; import com.hbm.inventory.RecipesCommon.OreDictStack;
import com.hbm.inventory.fluid.FluidType;
import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.material.Mats; import com.hbm.inventory.material.Mats;
import com.hbm.inventory.recipes.loader.GenericRecipe; import com.hbm.inventory.recipes.loader.GenericRecipe;
@ -233,7 +234,7 @@ public class AssemblyMachineRecipes extends GenericRecipes<GenericRecipe> {
this.register(new GenericRecipe("ass.epress").setup(100, 100).outputItems(new ItemStack(ModBlocks.machine_epress, 1)) this.register(new GenericRecipe("ass.epress").setup(100, 100).outputItems(new ItemStack(ModBlocks.machine_epress, 1))
.inputItems(new OreDictStack(STEEL.plate(), 8), new OreDictStack(ANY_RUBBER.ingot(), 4), new ComparableStack(ModItems.part_generic, 2, EnumPartType.PISTON_HYDRAULIC.ordinal()), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.BASIC))); .inputItems(new OreDictStack(STEEL.plate(), 8), new OreDictStack(ANY_RUBBER.ingot(), 4), new ComparableStack(ModItems.part_generic, 2, EnumPartType.PISTON_HYDRAULIC.ordinal()), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.BASIC)));
this.register(new GenericRecipe("ass.fel").setup(400, 100).outputItems(new ItemStack(ModBlocks.machine_fel, 1)) this.register(new GenericRecipe("ass.fel").setup(400, 100).outputItems(new ItemStack(ModBlocks.machine_fel, 1))
.inputItems(new ComparableStack(ModBlocks.machine_lithium_battery, 1), new OreDictStack(ALLOY.wireDense(), 64), new OreDictStack(STEEL.plateCast(), 12), new OreDictStack(ANY_PLASTIC.ingot(), 16), new ComparableStack(ModItems.circuit, 16, EnumCircuitType.CAPACITOR), new ComparableStack(ModItems.circuit, 4, EnumCircuitType.BASIC))); .inputItems(new ComparableStack(ModBlocks.machine_lithium_battery, 1), new OreDictStack(ALLOY.wireDense(), 64), new OreDictStack(STEEL.plateCast(), 12), new OreDictStack(ANY_PLASTIC.ingot(), 16), new ComparableStack(ModItems.part_generic, 4, EnumPartType.GLASS_POLARIZED), new ComparableStack(ModItems.circuit, 16, EnumCircuitType.CAPACITOR), new ComparableStack(ModItems.circuit, 4, EnumCircuitType.BASIC)));
this.register(new GenericRecipe("ass.silex").setup(400, 100).outputItems(new ItemStack(ModBlocks.machine_silex, 1)) this.register(new GenericRecipe("ass.silex").setup(400, 100).outputItems(new ItemStack(ModBlocks.machine_silex, 1))
.inputItems(new ComparableStack(ModBlocks.glass_quartz, 16), new OreDictStack(STEEL.plateCast(), 8), new OreDictStack(DESH.ingot(), 4), new OreDictStack(RUBBER.ingot(), 8), new OreDictStack(STEEL.pipe(), 8))); .inputItems(new ComparableStack(ModBlocks.glass_quartz, 16), new OreDictStack(STEEL.plateCast(), 8), new OreDictStack(DESH.ingot(), 4), new OreDictStack(RUBBER.ingot(), 8), new OreDictStack(STEEL.pipe(), 8)));
this.register(new GenericRecipe("ass.excavator").setup(200, 100).outputItems(new ItemStack(ModBlocks.machine_excavator, 1)) this.register(new GenericRecipe("ass.excavator").setup(200, 100).outputItems(new ItemStack(ModBlocks.machine_excavator, 1))
@ -669,6 +670,15 @@ public class AssemblyMachineRecipes extends GenericRecipes<GenericRecipe> {
this.register(new GenericRecipe("ass.50bmgbypass").setup(100, 100).outputItems(new ItemStack(ModItems.ammo_secret, 12, EnumAmmoSecret.BMG50_BLACK.ordinal())) this.register(new GenericRecipe("ass.50bmgbypass").setup(100, 100).outputItems(new ItemStack(ModItems.ammo_secret, 12, EnumAmmoSecret.BMG50_BLACK.ordinal()))
.inputItems(new ComparableStack(ModItems.casing, 2, EnumCasingType.LARGE_STEEL), new OreDictStack(ANY_SMOKELESS.dust(), 24), new ComparableStack(ModItems.item_secret, 1, EnumSecretType.SELENIUM_STEEL), new ComparableStack(ModItems.black_diamond)) .inputItems(new ComparableStack(ModItems.casing, 2, EnumCasingType.LARGE_STEEL), new OreDictStack(ANY_SMOKELESS.dust(), 24), new ComparableStack(ModItems.item_secret, 1, EnumSecretType.SELENIUM_STEEL), new ComparableStack(ModItems.black_diamond))
.setPools(GenericRecipes.POOL_PREFIX_SECRET + "psalm")); .setPools(GenericRecipes.POOL_PREFIX_SECRET + "psalm"));
this.register(new GenericRecipe("chem.shellchlorine").setup(100, 1_000).outputItems(new ItemStack(ModItems.ammo_arty, 1, 9))
.inputItems(new ComparableStack(ModItems.ammo_arty, 1, 0), new OreDictStack(ANY_PLASTIC.ingot(), 1))
.inputFluids(new FluidStack(Fluids.CHLORINE, 4_000)));
this.register(new GenericRecipe("ass.shellphosgene").setup(100, 1_000).outputItems(new ItemStack(ModItems.ammo_arty, 1, 10))
.inputItems(new ComparableStack(ModItems.ammo_arty, 1, 0), new OreDictStack(ANY_PLASTIC.ingot(), 1))
.inputFluids(new FluidStack(Fluids.PHOSGENE, 4_000)));
this.register(new GenericRecipe("ass.shellmustard").setup(100, 1_000).outputItems(new ItemStack(ModItems.ammo_arty, 1, 11))
.inputItems(new ComparableStack(ModItems.ammo_arty, 1, 0), new OreDictStack(ANY_PLASTIC.ingot(), 1))
.inputFluids(new FluidStack(Fluids.MUSTARDGAS, 4_000)));
// tools // tools
this.register(new GenericRecipe("ass.multitool").setup(100, 100).outputItems(new ItemStack(ModItems.multitool_hit, 1)) this.register(new GenericRecipe("ass.multitool").setup(100, 100).outputItems(new ItemStack(ModItems.multitool_hit, 1))
@ -774,6 +784,19 @@ public class AssemblyMachineRecipes extends GenericRecipes<GenericRecipe> {
new ComparableStack(ModItems.circuit, 64, EnumCircuitType.CONTROLLER_QUANTUM), new ComparableStack(ModItems.circuit, 64, EnumCircuitType.CONTROLLER_QUANTUM),
new ComparableStack(ModItems.coin_ufo, 1)).setPools(GenericRecipes.POOL_PREFIX_DISCOVER + "gerald")); new ComparableStack(ModItems.coin_ufo, 1)).setPools(GenericRecipes.POOL_PREFIX_DISCOVER + "gerald"));
this.register(new GenericRecipe("ass.emptypackage").setup(40, 100).outputItems(new ItemStack(ModItems.fluid_pack_empty, 1))
.inputItems(new OreDictStack(TI.plate(), 4), new OreDictStack(ANY_PLASTIC.ingot(), 2)));
FluidType[] order = Fluids.getInNiceOrder();
for(int i = 1; i < order.length; ++i) {
FluidType type = order[i];
if(type.hasNoContainer()) continue;
this.register(new GenericRecipe("ass.package" + type.getUnlocalizedName()).setup(100, 100).outputItems(new ItemStack(ModItems.fluid_pack_full, 1, type.getID()))
.inputItems(new ComparableStack(ModItems.fluid_pack_empty)).inputFluids(new FluidStack(type, 32_000)));
this.register(new GenericRecipe("ass.unpackage" + type.getUnlocalizedName()).setup(100, 100).setIcon(ItemFluidIcon.make(type, 32_000)).outputItems(new ItemStack(ModItems.fluid_pack_empty))
.inputItems(new ComparableStack(ModItems.fluid_pack_full, 1, type.getID())).outputFluids(new FluidStack(type, 32_000)));
}
if(GeneralConfig.enableMekanismChanges && Loader.isModLoaded("Mekanism")) { if(GeneralConfig.enableMekanismChanges && Loader.isModLoaded("Mekanism")) {
Block mb = (Block) Block.blockRegistry.getObject("Mekanism:MachineBlock"); Block mb = (Block) Block.blockRegistry.getObject("Mekanism:MachineBlock");
if(mb != null) { if(mb != null) {

View File

@ -268,21 +268,6 @@ public class ChemicalPlantRecipes extends GenericRecipes<GenericRecipe> {
.inputFluids(new FluidStack(Fluids.UNSATURATEDS, 500, GeneralConfig.enable528 ? 1 : 0)) .inputFluids(new FluidStack(Fluids.UNSATURATEDS, 500, GeneralConfig.enable528 ? 1 : 0))
.outputItems(new ItemStack(ModItems.ingot_c4, 4))); .outputItems(new ItemStack(ModItems.ingot_c4, 4)));
this.register(new GenericRecipe("chem.shellchlorine").setup(100, 1_000)
.inputItems(new ComparableStack(ModItems.ammo_arty, 1, 0), new OreDictStack(ANY_PLASTIC.ingot(), 1))
.inputFluids(new FluidStack(Fluids.CHLORINE, 4_000))
.outputItems(new ItemStack(ModItems.ammo_arty, 1, 9)));
this.register(new GenericRecipe("chem.shellphosgene").setup(100, 1_000)
.inputItems(new ComparableStack(ModItems.ammo_arty, 1, 0), new OreDictStack(ANY_PLASTIC.ingot(), 1))
.inputFluids(new FluidStack(Fluids.PHOSGENE, 4_000))
.outputItems(new ItemStack(ModItems.ammo_arty, 1, 10)));
this.register(new GenericRecipe("chem.shellmustard").setup(100, 1_000)
.inputItems(new ComparableStack(ModItems.ammo_arty, 1, 0), new OreDictStack(ANY_PLASTIC.ingot(), 1))
.inputFluids(new FluidStack(Fluids.MUSTARDGAS, 4_000))
.outputItems(new ItemStack(ModItems.ammo_arty, 1, 11)));
/// GLASS /// /// GLASS ///
this.register(new GenericRecipe("chem.laminate").setup(20, 100) this.register(new GenericRecipe("chem.laminate").setup(20, 100)
.inputFluids(new FluidStack(Fluids.XYLENE, 50), new FluidStack(Fluids.PHOSGENE, 50)) .inputFluids(new FluidStack(Fluids.XYLENE, 50), new FluidStack(Fluids.PHOSGENE, 50))

View File

@ -130,8 +130,6 @@ public class ItemPoolsLegacy {
weighted(ModItems.bomb_caller, 1, 1, 1, 1), weighted(ModItems.bomb_caller, 1, 1, 1, 1),
weighted(ModItems.bomb_caller, 2, 1, 1, 1), weighted(ModItems.bomb_caller, 2, 1, 1, 1),
weighted(ModItems.gas_mask_filter, 0, 1, 1, 4), weighted(ModItems.gas_mask_filter, 0, 1, 1, 4),
weighted(ModItems.journal_pip, 0, 1, 1, 1),
weighted(ModItems.journal_bj, 0, 1, 1, 1),
weighted(ModItems.launch_code_piece, 0, 1, 1, 1), weighted(ModItems.launch_code_piece, 0, 1, 1, 1),
weighted(ModItems.gun_double_barrel, 0, 1, 1, 1), weighted(ModItems.gun_double_barrel, 0, 1, 1, 1),
}; };

View File

@ -844,6 +844,8 @@ public class ModItems {
public static Item fluid_barrel_full; public static Item fluid_barrel_full;
public static Item fluid_barrel_empty; public static Item fluid_barrel_empty;
public static Item fluid_barrel_infinite; public static Item fluid_barrel_infinite;
public static Item fluid_pack_full;
public static Item fluid_pack_empty;
public static Item pipette; public static Item pipette;
public static Item pipette_boron; public static Item pipette_boron;
public static Item pipette_laboratory; public static Item pipette_laboratory;
@ -1181,12 +1183,12 @@ public class ModItems {
public static Item blueprints; public static Item blueprints;
public static Item template_folder; public static Item template_folder;
public static Item journal_pip; @Deprecated public static Item journal_pip;
public static Item journal_bj; @Deprecated public static Item journal_bj;
public static Item journal_silver; @Deprecated public static Item journal_silver;
public static Item assembly_template; @Deprecated public static Item assembly_template;
public static Item chemistry_template; @Deprecated public static Item chemistry_template;
public static Item chemistry_icon; @Deprecated public static Item chemistry_icon;
public static Item crucible_template; public static Item crucible_template;
public static Item fluid_identifier; public static Item fluid_identifier;
public static Item fluid_identifier_multi; public static Item fluid_identifier_multi;
@ -4115,6 +4117,8 @@ public class ModItems {
fluid_barrel_empty = new Item().setUnlocalizedName("fluid_barrel_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_barrel"); fluid_barrel_empty = new Item().setUnlocalizedName("fluid_barrel_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_barrel");
fluid_barrel_full = new ItemFluidTank().setUnlocalizedName("fluid_barrel_full").setContainerItem(ModItems.fluid_barrel_empty).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_barrel"); fluid_barrel_full = new ItemFluidTank().setUnlocalizedName("fluid_barrel_full").setContainerItem(ModItems.fluid_barrel_empty).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_barrel");
fluid_barrel_infinite = new ItemInfiniteFluid(null, 1_000_000_000).setUnlocalizedName("fluid_barrel_infinite").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_barrel_infinite"); fluid_barrel_infinite = new ItemInfiniteFluid(null, 1_000_000_000).setUnlocalizedName("fluid_barrel_infinite").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_barrel_infinite");
fluid_pack_empty = new Item().setUnlocalizedName("fluid_pack_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_pack");
fluid_pack_full = new ItemFluidTank().setUnlocalizedName("fluid_pack_full").setContainerItem(ModItems.fluid_pack_empty).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_pack");
pipette = new ItemPipette().setUnlocalizedName("pipette").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pipette"); pipette = new ItemPipette().setUnlocalizedName("pipette").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pipette");
pipette_boron = new ItemPipette().setUnlocalizedName("pipette_boron").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pipette_boron"); pipette_boron = new ItemPipette().setUnlocalizedName("pipette_boron").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pipette_boron");
pipette_laboratory = new ItemPipette().setUnlocalizedName("pipette_laboratory").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pipette_laboratory"); pipette_laboratory = new ItemPipette().setUnlocalizedName("pipette_laboratory").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":pipette_laboratory");
@ -5687,6 +5691,10 @@ public class ModItems {
GameRegistry.registerItem(fluid_barrel_full, fluid_barrel_full.getUnlocalizedName()); GameRegistry.registerItem(fluid_barrel_full, fluid_barrel_full.getUnlocalizedName());
GameRegistry.registerItem(fluid_barrel_infinite, fluid_barrel_infinite.getUnlocalizedName()); GameRegistry.registerItem(fluid_barrel_infinite, fluid_barrel_infinite.getUnlocalizedName());
//Packaged fluids
GameRegistry.registerItem(fluid_pack_empty, fluid_pack_empty.getUnlocalizedName());
GameRegistry.registerItem(fluid_pack_full, fluid_pack_full.getUnlocalizedName());
//Pipette //Pipette
GameRegistry.registerItem(pipette, pipette.getUnlocalizedName()); GameRegistry.registerItem(pipette, pipette.getUnlocalizedName());
GameRegistry.registerItem(pipette_boron, pipette_boron.getUnlocalizedName()); GameRegistry.registerItem(pipette_boron, pipette_boron.getUnlocalizedName());

View File

@ -24,6 +24,7 @@ import net.minecraft.util.IIcon;
import net.minecraft.util.StatCollector; import net.minecraft.util.StatCollector;
import net.minecraftforge.oredict.OreDictionary; import net.minecraftforge.oredict.OreDictionary;
@Deprecated
public class ItemAssemblyTemplate extends Item { public class ItemAssemblyTemplate extends Item {
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
@ -157,6 +158,7 @@ public class ItemAssemblyTemplate extends Item {
@Override @Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) {
list.add(EnumChatFormatting.RED + "Deprecated");
if(!(stack.getItem() instanceof ItemAssemblyTemplate)) if(!(stack.getItem() instanceof ItemAssemblyTemplate))
return; return;
@ -198,9 +200,6 @@ public class ItemAssemblyTemplate extends Item {
a++; a++;
} }
list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKey("info.templatefolder", String.join(" / ", names)));
list.add("");
if(out == null) { if(out == null) {
list.add("I AM ERROR"); list.add("I AM ERROR");
return; return;

View File

@ -56,13 +56,19 @@ public class ItemBlueprints extends Item {
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void getSubItems(Item item, CreativeTabs tab, List list) { public void getSubItems(Item item, CreativeTabs tab, List list) {
for(Entry<String, List<String>> pool : GenericRecipes.blueprintPools.entrySet()) { for(Entry<String, List<String>> pool : GenericRecipes.blueprintPools.entrySet()) {
list.add(make(pool.getKey())); String poolName = pool.getKey();
if(!poolName.startsWith(GenericRecipes.POOL_PREFIX_SECRET)) list.add(make(poolName));
} }
} }
@Override @Override
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) {
if(world.isRemote) return stack; if(world.isRemote) return stack;
if(!stack.hasTagCompound()) return stack;
String poolName = stack.stackTagCompound.getString("pool");
if(poolName.startsWith(GenericRecipes.POOL_PREFIX_SECRET)) return stack;
if(!player.inventory.hasItem(Items.paper)) return stack; if(!player.inventory.hasItem(Items.paper)) return stack;
player.inventory.consumeInventoryItem(Items.paper); player.inventory.consumeInventoryItem(Items.paper);
@ -94,7 +100,6 @@ public class ItemBlueprints extends Item {
@Override @Override
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
list.add(EnumChatFormatting.RED + "Right-click to copy (requires paper)");
if(!stack.hasTagCompound()) { if(!stack.hasTagCompound()) {
return; return;
@ -106,6 +111,11 @@ public class ItemBlueprints extends Item {
if(pool == null || pool.isEmpty()) { if(pool == null || pool.isEmpty()) {
return; return;
} }
if(poolName.startsWith(GenericRecipes.POOL_PREFIX_SECRET)) {
list.add(EnumChatFormatting.RED + "Cannot be copied!");
} else {
list.add(EnumChatFormatting.YELLOW + "Right-click to copy (requires paper)");
}
for(String name : pool) { for(String name : pool) {
GenericRecipe recipe = GenericRecipes.pooledBlueprints.get(name); GenericRecipe recipe = GenericRecipes.pooledBlueprints.get(name);

View File

@ -15,6 +15,7 @@ import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon; import net.minecraft.util.IIcon;
import net.minecraft.util.StatCollector; import net.minecraft.util.StatCollector;
@Deprecated
public class ItemChemistryIcon extends Item { public class ItemChemistryIcon extends Item {
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)

View File

@ -16,6 +16,7 @@ import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.StatCollector; import net.minecraft.util.StatCollector;
@Deprecated
public class ItemChemistryTemplate extends Item { public class ItemChemistryTemplate extends Item {
public ItemChemistryTemplate() { public ItemChemistryTemplate() {
@ -51,6 +52,7 @@ public class ItemChemistryTemplate extends Item {
@Override @Override
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) {
list.add(EnumChatFormatting.RED + "Deprecated");
if(!(stack.getItem() instanceof ItemChemistryTemplate)) if(!(stack.getItem() instanceof ItemChemistryTemplate))
return; return;
@ -61,9 +63,6 @@ public class ItemChemistryTemplate extends Item {
return; return;
} }
list.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKey("info.templatefolder", I18nUtil.resolveKey(ModItems.template_folder.getUnlocalizedName() + ".name")));
list.add("");
try { try {
list.add(EnumChatFormatting.BOLD + I18nUtil.resolveKey("info.template_out_p")); list.add(EnumChatFormatting.BOLD + I18nUtil.resolveKey("info.template_out_p"));
for(int i = 0; i < 4; i++) { for(int i = 0; i < 4; i++) {

View File

@ -30,9 +30,7 @@ public class ItemFluidTank extends Item {
for(int i = 1; i < order.length; ++i) { for(int i = 1; i < order.length; ++i) {
FluidType type = order[i]; FluidType type = order[i];
if(type.hasNoContainer()) if(type.hasNoContainer()) continue;
continue;
int id = type.getID(); int id = type.getID();
if(type.needsLeadContainer()) { if(type.needsLeadContainer()) {
@ -46,14 +44,10 @@ public class ItemFluidTank extends Item {
} }
} }
@Override
public String getItemStackDisplayName(ItemStack stack) { public String getItemStackDisplayName(ItemStack stack) {
String s = ("" + StatCollector.translateToLocal(this.getUnlocalizedName() + ".name")).trim();
String s1 = ("" + StatCollector.translateToLocal(Fluids.fromID(stack.getItemDamage()).getConditionalName())).trim(); String s1 = ("" + StatCollector.translateToLocal(Fluids.fromID(stack.getItemDamage()).getConditionalName())).trim();
String s = ("" + StatCollector.translateToLocalFormatted(this.getUnlocalizedName() + ".name", s1)).trim();
if(s1 != null) {
s = s + " " + s1;
}
return s; return s;
} }
@ -68,12 +62,10 @@ public class ItemFluidTank extends Item {
public void registerIcons(IIconRegister p_94581_1_) { public void registerIcons(IIconRegister p_94581_1_) {
super.registerIcons(p_94581_1_); super.registerIcons(p_94581_1_);
if(this == ModItems.fluid_tank_full) if(this == ModItems.fluid_tank_full) this.overlayIcon = p_94581_1_.registerIcon("hbm:fluid_tank_overlay");
this.overlayIcon = p_94581_1_.registerIcon("hbm:fluid_tank_overlay"); if(this == ModItems.fluid_tank_lead_full) this.overlayIcon = p_94581_1_.registerIcon("hbm:fluid_tank_lead_overlay");
if(this == ModItems.fluid_tank_lead_full) if(this == ModItems.fluid_barrel_full) this.overlayIcon = p_94581_1_.registerIcon("hbm:fluid_barrel_overlay");
this.overlayIcon = p_94581_1_.registerIcon("hbm:fluid_tank_lead_overlay"); if(this == ModItems.fluid_pack_full) this.overlayIcon = p_94581_1_.registerIcon("hbm:fluid_pack_overlay");
if(this == ModItems.fluid_barrel_full)
this.overlayIcon = p_94581_1_.registerIcon("hbm:fluid_barrel_overlay");
} }
@Override @Override
@ -84,18 +76,13 @@ public class ItemFluidTank extends Item {
@Override @Override
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public int getColorFromItemStack(ItemStack stack, int p_82790_2_) { public int getColorFromItemStack(ItemStack stack, int pass) {
if(p_82790_2_ == 0) { if(pass == 0) {
return 16777215; return 16777215;
} else { } else {
int j = Fluids.fromID(stack.getItemDamage()).getColor(); int j = Fluids.fromID(stack.getItemDamage()).getColor();
if(j < 0) j = 16777215;
if(j < 0) {
j = 16777215;
}
return j; return j;
} }
} }
} }

View File

@ -27,6 +27,8 @@ import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.util.DamageSource; import net.minecraft.util.DamageSource;
import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.MovingObjectPosition;
@ -942,7 +944,7 @@ public class Orchestras {
if(timer == 2) { if(timer == 2) {
SpentCasing casing = ctx.config.getReceivers(stack)[0].getMagazine(stack).getCasing(stack, ctx.inventory); SpentCasing casing = ctx.config.getReceivers(stack)[0].getMagazine(stack).getCasing(stack, ctx.inventory);
if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, 0.375, aiming ? -0.0625 : -0.125, aiming ? 0 : -0.25D, 0, 0.18, -0.12, 0.01, -10F + (float)entity.getRNG().nextGaussian() * 2.5F, (float)entity.getRNG().nextGaussian() * -20F + 15F, casing.getName(), false, 60, 0.5D, 20); if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, 0.375, aiming ? -0.0625 : -0.125, aiming ? -0.125 : -0.25D, 0, 0.18, -0.12, 0.01, -10F + (float)entity.getRNG().nextGaussian() * 2.5F, (float)entity.getRNG().nextGaussian() * -20F + 15F, casing.getName(), false, 60, 0.5D, 20);
} }
} }
@ -969,6 +971,11 @@ public class Orchestras {
if(timer == 30) entity.worldObj.playSoundAtEntity(entity, "hbm:player.gulp", 1F, 1F); if(timer == 30) entity.worldObj.playSoundAtEntity(entity, "hbm:player.gulp", 1F, 1F);
if(timer == 35) entity.worldObj.playSoundAtEntity(entity, "hbm:player.gulp", 1F, 1F); if(timer == 35) entity.worldObj.playSoundAtEntity(entity, "hbm:player.gulp", 1F, 1F);
if(timer == 50) entity.worldObj.playSoundAtEntity(entity, "hbm:player.groan", 1F, 1F); if(timer == 50) entity.worldObj.playSoundAtEntity(entity, "hbm:player.groan", 1F, 1F);
if(timer == 60) {
entity.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 30 * 20, 2));
entity.addPotionEffect(new PotionEffect(Potion.resistance.id, 30 * 20, 2));
entity.addPotionEffect(new PotionEffect(Potion.confusion.id, 10 * 20, 0));
}
} }
}; };

View File

@ -375,7 +375,7 @@ public class XFactory12ga {
).setUnlocalizedName("gun_autoshotgun_shredder"); ).setUnlocalizedName("gun_autoshotgun_shredder");
ModItems.gun_autoshotgun_sexy = new ItemGunBaseNT(WeaponQuality.LEGENDARY, new GunConfig() ModItems.gun_autoshotgun_sexy = new ItemGunBaseNT(WeaponQuality.LEGENDARY, new GunConfig()
.dura(5_000).draw(20).inspect(33).reloadSequential(true).crosshair(Crosshair.L_CIRCLE).hideCrosshair(false).smoke(Lego.LAMBDA_STANDARD_SMOKE) .dura(5_000).draw(20).inspect(65).reloadSequential(true).inspectCancel(false).crosshair(Crosshair.L_CIRCLE).hideCrosshair(false).smoke(Lego.LAMBDA_STANDARD_SMOKE)
.rec(new Receiver(0) .rec(new Receiver(0)
.dmg(64F).delay(4).auto(true).dryfireAfterAuto(true).reload(110).jam(19).sound("hbm:weapon.fire.shotgunAuto", 1.0F, 1.0F) .dmg(64F).delay(4).auto(true).dryfireAfterAuto(true).reload(110).jam(19).sound("hbm:weapon.fire.shotgunAuto", 1.0F, 1.0F)
.mag(new MagazineFullReload(0, 100).addConfigs(g12_equestrian_bj, g12_bp, g12_bp_magnum, g12_bp_slug, g12, g12_slug, g12_flechette, g12_magnum, g12_explosive, g12_phosphorus)) .mag(new MagazineFullReload(0, 100).addConfigs(g12_equestrian_bj, g12_bp, g12_bp_magnum, g12_bp_slug, g12, g12_slug, g12_flechette, g12_magnum, g12_explosive, g12_phosphorus))

View File

@ -3,6 +3,7 @@ package com.hbm.module.machine;
import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.tank.FluidTank;
import com.hbm.inventory.recipes.AssemblyMachineRecipes; import com.hbm.inventory.recipes.AssemblyMachineRecipes;
import com.hbm.inventory.recipes.loader.GenericRecipe; import com.hbm.inventory.recipes.loader.GenericRecipe;
import com.hbm.util.BobMathUtil;
import api.hbm.energymk2.IEnergyHandlerMK2; import api.hbm.energymk2.IEnergyHandlerMK2;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
@ -22,6 +23,14 @@ public class ModuleMachineAssembler extends ModuleMachineBase {
return AssemblyMachineRecipes.INSTANCE.recipeNameMap.get(this.recipe); return AssemblyMachineRecipes.INSTANCE.recipeNameMap.get(this.recipe);
} }
@Override
public void setupTanks(GenericRecipe recipe) {
super.setupTanks(recipe);
if(recipe == null) return;
for(int i = 0; i < inputTanks.length; i++) if(recipe.inputFluid != null && recipe.inputFluid.length > i) inputTanks[i].changeTankSize(BobMathUtil.max(inputTanks[i].getFill(), recipe.inputFluid[i].fill * 2, 4_000));
for(int i = 0; i < outputTanks.length; i++) if(recipe.outputFluid != null && recipe.outputFluid.length > i) outputTanks[i].changeTankSize(BobMathUtil.max(outputTanks[i].getFill(), recipe.outputFluid[i].fill * 2, 4_000));
}
public ModuleMachineAssembler itemInput(int from) { for(int i = 0; i < inputSlots.length; i++) inputSlots[i] = from + i; return this; } public ModuleMachineAssembler itemInput(int from) { for(int i = 0; i < inputSlots.length; i++) inputSlots[i] = from + i; return this; }
public ModuleMachineAssembler itemOutput(int a) { outputSlots[0] = a; return this; } public ModuleMachineAssembler itemOutput(int a) { outputSlots[0] = a; return this; }
public ModuleMachineAssembler fluidInput(FluidTank a) { inputTanks[0] = a; return this; } public ModuleMachineAssembler fluidInput(FluidTank a) { inputTanks[0] = a; return this; }

View File

@ -13,13 +13,11 @@ import com.hbm.tileentity.machine.TileEntityMachineAssemblyMachine;
import com.hbm.util.BobMathUtil; import com.hbm.util.BobMathUtil;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.client.renderer.entity.RenderItem; import net.minecraft.client.renderer.entity.RenderItem;
import net.minecraft.client.renderer.entity.RenderManager; import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
@ -109,7 +107,6 @@ public class RenderAssemblyMachine extends TileEntitySpecialRenderer implements
GL11.glRotated(90, 0, 1, 0); GL11.glRotated(90, 0, 1, 0);
GL11.glTranslated(0, 1.0625, 0); GL11.glTranslated(0, 1.0625, 0);
EntityPlayer player = Minecraft.getMinecraft().thePlayer;
ItemStack stack = recipe.getIcon(); ItemStack stack = recipe.getIcon();
stack.stackSize = 1; stack.stackSize = 1;

View File

@ -11,6 +11,8 @@ import com.hbm.inventory.container.ContainerMachineAssemblyMachine;
import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.tank.FluidTank;
import com.hbm.inventory.gui.GUIMachineAssemblyMachine; import com.hbm.inventory.gui.GUIMachineAssemblyMachine;
import com.hbm.inventory.recipes.AssemblyMachineRecipes;
import com.hbm.inventory.recipes.loader.GenericRecipe;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import com.hbm.items.machine.ItemMachineUpgrade; import com.hbm.items.machine.ItemMachineUpgrade;
import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType;
@ -44,7 +46,7 @@ public class TileEntityMachineAssemblyMachine extends TileEntityMachineBase impl
public FluidTank outputTank; public FluidTank outputTank;
public long power; public long power;
public long maxPower = 1_000_000; public long maxPower = 100_000;
public boolean didProcess = false; public boolean didProcess = false;
public boolean frame = false; public boolean frame = false;
@ -63,8 +65,8 @@ public class TileEntityMachineAssemblyMachine extends TileEntityMachineBase impl
public TileEntityMachineAssemblyMachine() { public TileEntityMachineAssemblyMachine() {
super(17); super(17);
this.inputTank = new FluidTank(Fluids.NONE, 32_000); this.inputTank = new FluidTank(Fluids.NONE, 4_000);
this.outputTank = new FluidTank(Fluids.NONE, 32_000); this.outputTank = new FluidTank(Fluids.NONE, 4_000);
for(int i = 0; i < this.arms.length; i++) this.arms[i] = new AssemblerArm(); for(int i = 0; i < this.arms.length; i++) this.arms[i] = new AssemblerArm();
@ -85,6 +87,12 @@ public class TileEntityMachineAssemblyMachine extends TileEntityMachineBase impl
if(!worldObj.isRemote) { if(!worldObj.isRemote) {
GenericRecipe recipe = AssemblyMachineRecipes.INSTANCE.recipeNameMap.get(assemblerModule.recipe);
if(recipe != null) {
this.maxPower = recipe.power * 100;
}
this.maxPower = BobMathUtil.max(this.power, this.maxPower, 100_000);
this.power = Library.chargeTEFromItems(slots, 0, power, maxPower); this.power = Library.chargeTEFromItems(slots, 0, power, maxPower);
upgradeManager.checkSlots(slots, 2, 3); upgradeManager.checkSlots(slots, 2, 3);

View File

@ -10,6 +10,8 @@ import com.hbm.inventory.container.ContainerMachineChemicalFactory;
import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.tank.FluidTank;
import com.hbm.inventory.gui.GUIMachineChemicalFactory; import com.hbm.inventory.gui.GUIMachineChemicalFactory;
import com.hbm.inventory.recipes.ChemicalPlantRecipes;
import com.hbm.inventory.recipes.loader.GenericRecipe;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import com.hbm.items.machine.ItemMachineUpgrade; import com.hbm.items.machine.ItemMachineUpgrade;
import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType;
@ -49,7 +51,7 @@ public class TileEntityMachineChemicalFactory extends TileEntityMachineBase impl
public FluidTank lps; public FluidTank lps;
public long power; public long power;
public long maxPower = 10_000_000; public long maxPower = 1_000_000;
public boolean[] didProcess = new boolean[4]; public boolean[] didProcess = new boolean[4];
public boolean frame = false; public boolean frame = false;
@ -130,6 +132,16 @@ public class TileEntityMachineChemicalFactory extends TileEntityMachineBase impl
if(!worldObj.isRemote) { if(!worldObj.isRemote) {
long nextMaxPower = 0;
for(int i = 0; i < 4; i++) {
GenericRecipe recipe = ChemicalPlantRecipes.INSTANCE.recipeNameMap.get(chemplantModule[i].recipe);
if(recipe != null) {
nextMaxPower += recipe.power * 100;
}
}
this.maxPower = nextMaxPower;
this.maxPower = BobMathUtil.max(this.power, this.maxPower, 1_000_000);
this.power = Library.chargeTEFromItems(slots, 0, power, maxPower); this.power = Library.chargeTEFromItems(slots, 0, power, maxPower);
upgradeManager.checkSlots(slots, 1, 3); upgradeManager.checkSlots(slots, 1, 3);

View File

@ -10,6 +10,8 @@ import com.hbm.inventory.container.ContainerMachineChemicalPlant;
import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.Fluids;
import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.tank.FluidTank;
import com.hbm.inventory.gui.GUIMachineChemicalPlant; import com.hbm.inventory.gui.GUIMachineChemicalPlant;
import com.hbm.inventory.recipes.ChemicalPlantRecipes;
import com.hbm.inventory.recipes.loader.GenericRecipe;
import com.hbm.items.ModItems; import com.hbm.items.ModItems;
import com.hbm.items.machine.ItemMachineUpgrade; import com.hbm.items.machine.ItemMachineUpgrade;
import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType;
@ -43,7 +45,7 @@ public class TileEntityMachineChemicalPlant extends TileEntityMachineBase implem
public FluidTank[] outputTanks; public FluidTank[] outputTanks;
public long power; public long power;
public long maxPower = 1_000_000; public long maxPower = 100_000;
public boolean didProcess = false; public boolean didProcess = false;
public boolean frame = false; public boolean frame = false;
@ -83,6 +85,12 @@ public class TileEntityMachineChemicalPlant extends TileEntityMachineBase implem
if(!worldObj.isRemote) { if(!worldObj.isRemote) {
GenericRecipe recipe = ChemicalPlantRecipes.INSTANCE.recipeNameMap.get(chemplantModule.recipe);
if(recipe != null) {
this.maxPower = recipe.power * 100;
}
this.maxPower = BobMathUtil.max(this.power, this.maxPower, 100_000);
this.power = Library.chargeTEFromItems(slots, 0, power, maxPower); this.power = Library.chargeTEFromItems(slots, 0, power, maxPower);
upgradeManager.checkSlots(slots, 2, 3); upgradeManager.checkSlots(slots, 2, 3);

View File

@ -144,8 +144,8 @@ public class ShadyUtil {
Field field = ReflectionHelper.findField(test, decode(offset(checksum, -2))); Field field = ReflectionHelper.findField(test, decode(offset(checksum, -2)));
if(field != null) { if(field != null) {
System.out.println("TEST SECTION START"); System.out.println("TEST SECTION START");
Class toLoad = Class.forName(decode(offset(testCase, -2))); //Class toLoad = Class.forName(decode(offset(testCase, -2)));
Field toRead = ReflectionHelper.findField(toLoad, decode(offset(testValue, -2))); //Field toRead = ReflectionHelper.findField(toLoad, decode(offset(testValue, -2)));
//ModEventHandler.reference = toRead; //ModEventHandler.reference = toRead;
System.out.println("TEST SECTION END"); System.out.println("TEST SECTION END");
} }

View File

@ -7,7 +7,6 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.potion.PotionEffect; import net.minecraft.potion.PotionEffect;
import net.minecraft.util.ChatComponentText; import net.minecraft.util.ChatComponentText;
import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
@ -22,13 +21,8 @@ public class LogicBlockInteractions {
public static LinkedHashMap<String, Consumer<Object[]>> interactions = new LinkedHashMap<>(); public static LinkedHashMap<String, Consumer<Object[]>> interactions = new LinkedHashMap<>();
public static Consumer<Object[]> TEST = (array) -> { public static Consumer<Object[]> TEST = (array) -> {
World world = (World) array[0];
LogicBlock.TileEntityLogicBlock logic = (LogicBlock.TileEntityLogicBlock) array[1]; LogicBlock.TileEntityLogicBlock logic = (LogicBlock.TileEntityLogicBlock) array[1];
int x = (int) array[2];
int y = (int) array[3];
int z = (int) array[4];
EntityPlayer player = (EntityPlayer) array[5]; EntityPlayer player = (EntityPlayer) array[5];
int side = (int) array[6];
if(logic.phase > 1) return; if(logic.phase > 1) return;

View File

@ -1966,7 +1966,7 @@ item.fleija_igniter.name=Impulszünder
item.fleija_kit.name=F.L.E.I.J.A. Kit item.fleija_kit.name=F.L.E.I.J.A. Kit
item.fleija_propellant.name=Schrabidiumtreibladung item.fleija_propellant.name=Schrabidiumtreibladung
item.fluid_barrel_empty.name=Leeres Fass item.fluid_barrel_empty.name=Leeres Fass
item.fluid_barrel_full.name=Flüssigkeitsfass: item.fluid_barrel_full.name=Flüssigkeitsfass: %s
item.fluid_barrel_infinite.name=Unendliches Fass item.fluid_barrel_infinite.name=Unendliches Fass
item.fluid_duct.name=Flüssigkeitsrohr: item.fluid_duct.name=Flüssigkeitsrohr:
item.fluid_identifier.name=Flüssigkeits-Kennzeichnung item.fluid_identifier.name=Flüssigkeits-Kennzeichnung
@ -1977,10 +1977,12 @@ item.fluid_identifier.usage2=einer maximalen Reichweite von 64 Rohren zuzuweisen
item.fluid_identifier_multi.name=Multi-Flüssigkeits-Kennzeichnung item.fluid_identifier_multi.name=Multi-Flüssigkeits-Kennzeichnung
item.fluid_identifier_multi.info=Universelle Flüssigkeits-Kennzeichnung für: item.fluid_identifier_multi.info=Universelle Flüssigkeits-Kennzeichnung für:
item.fluid_identifier_multi.info2=Sekundärer Typ: item.fluid_identifier_multi.info2=Sekundärer Typ:
item.fluid_pack_empty.name=Großer Flüssigkeitsbehälter
item.fluid_pack_full.name=%s (Abgepackt)
item.fluid_tank_empty.name=Leere universelle Flüssigkeitszelle item.fluid_tank_empty.name=Leere universelle Flüssigkeitszelle
item.fluid_tank_full.name=Universelle Flüssigkeitszelle: item.fluid_tank_full.name=Universelle Flüssigkeitszelle: %s
item.fluid_tank_lead_empty.name=Leere Gefahrenstoffzelle item.fluid_tank_lead_empty.name=Leere Gefahrenstoffzelle
item.fluid_tank_lead_full.name=Gefahrenstoffzelle: item.fluid_tank_lead_full.name=Gefahrenstoffzelle: %s
item.fluorite.name=Fluorit item.fluorite.name=Fluorit
item.flywheel_beryllium.name=Berylliumschwungscheibe item.flywheel_beryllium.name=Berylliumschwungscheibe
item.fmn.name=Flunitrazepamtablette item.fmn.name=Flunitrazepamtablette

View File

@ -2772,7 +2772,7 @@ item.fleija_igniter.name=Pulse Igniter
item.fleija_kit.name=F.L.E.I.J.A. Kit item.fleija_kit.name=F.L.E.I.J.A. Kit
item.fleija_propellant.name=Schrabidium Propellant item.fleija_propellant.name=Schrabidium Propellant
item.fluid_barrel_empty.name=Empty Fluid Barrel item.fluid_barrel_empty.name=Empty Fluid Barrel
item.fluid_barrel_full.name=Fluid Barrel: item.fluid_barrel_full.name=Fluid Barrel: %s
item.fluid_barrel_infinite.name=Infinite Fluid Barrel item.fluid_barrel_infinite.name=Infinite Fluid Barrel
item.fluid_duct.name=Fluid Duct: item.fluid_duct.name=Fluid Duct:
item.fluid_identifier.name=Fluid Identifier item.fluid_identifier.name=Fluid Identifier
@ -2783,10 +2783,12 @@ item.fluid_identifier.usage2=up to a maximum range of 64 ducts.
item.fluid_identifier_multi.name=Multi Fluid Identifier item.fluid_identifier_multi.name=Multi Fluid Identifier
item.fluid_identifier_multi.info=Universal fluid identifier for: item.fluid_identifier_multi.info=Universal fluid identifier for:
item.fluid_identifier_multi.info2=Secondary type: item.fluid_identifier_multi.info2=Secondary type:
item.fluid_pack_empty.name=Large Fluid Container
item.fluid_pack_full.name=Packaged %s
item.fluid_tank_empty.name=Empty Universal Fluid Tank item.fluid_tank_empty.name=Empty Universal Fluid Tank
item.fluid_tank_full.name=Universal Fluid Tank: item.fluid_tank_full.name=Universal Fluid Tank: %s
item.fluid_tank_lead_empty.name=Empty Hazardous Material Tank item.fluid_tank_lead_empty.name=Empty Hazardous Material Tank
item.fluid_tank_lead_full.name=Hazardous Material Tank: item.fluid_tank_lead_full.name=Hazardous Material Tank: %s
item.fluorite.name=Fluorite item.fluorite.name=Fluorite
item.flywheel_beryllium.name=Beryllium Flywheel item.flywheel_beryllium.name=Beryllium Flywheel
item.fmn.name=Flunitrazepam Tablet item.fmn.name=Flunitrazepam Tablet

View File

@ -222,6 +222,7 @@
"weapon.explosionSmallNear": {"category": "player", "sounds": ["weapon/explosionSmallNear1", "weapon/explosionSmallNear2", "weapon/explosionSmallNear3"]}, "weapon.explosionSmallNear": {"category": "player", "sounds": ["weapon/explosionSmallNear1", "weapon/explosionSmallNear2", "weapon/explosionSmallNear3"]},
"weapon.explosionSmallFar": {"category": "player", "sounds": ["weapon/explosionSmallFar1", "weapon/explosionSmallFar2"]}, "weapon.explosionSmallFar": {"category": "player", "sounds": ["weapon/explosionSmallFar1", "weapon/explosionSmallFar2"]},
"weapon.explosionTiny": {"category": "player", "sounds": ["weapon/explosionTiny1", "weapon/explosionTiny2"]}, "weapon.explosionTiny": {"category": "player", "sounds": ["weapon/explosionTiny1", "weapon/explosionTiny2"]},
"weapon.hkShoot": {"category": "player", "sounds": [{"name": "weapon/hkShoot", "stream": false}]},
"weapon.dFlash": {"category": "player", "sounds": [{"name": "weapon/dFlash", "stream": false}]}, "weapon.dFlash": {"category": "player", "sounds": [{"name": "weapon/dFlash", "stream": false}]},

Binary file not shown.

After

Width:  |  Height:  |  Size: 477 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 262 B

After

Width:  |  Height:  |  Size: 289 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 B

After

Width:  |  Height:  |  Size: 180 B