From 0e4ef1c45cf26ee93234a98d6354fc396dcb0350 Mon Sep 17 00:00:00 2001 From: Boblet Date: Mon, 1 Dec 2025 09:29:47 +0100 Subject: [PATCH] the nightmare engine --- changelog | 12 +++++++ .../hbm/entity/effect/EntityBlackHole.java | 18 ++++++---- .../com/hbm/entity/effect/EntityVortex.java | 21 ++++++++++- .../inventory/container/ContainerLeadBox.java | 3 +- .../recipes/AssemblyMachineRecipes.java | 33 ++++++++++++------ .../hbm/inventory/recipes/PrecAssRecipes.java | 20 +++++++++++ src/main/java/com/hbm/items/ItemEnums.java | 2 +- src/main/java/com/hbm/items/ModItems.java | 28 --------------- .../java/com/hbm/items/food/ItemConserve.java | 17 +++++---- .../java/com/hbm/items/tool/ItemLeadBox.java | 7 ++++ src/main/resources/assets/hbm/lang/de_DE.lang | 1 + src/main/resources/assets/hbm/lang/en_US.lang | 5 +-- .../textures/items/item_expensive.plastic.png | Bin 0 -> 164 bytes 13 files changed, 111 insertions(+), 56 deletions(-) create mode 100644 src/main/resources/assets/hbm/textures/items/item_expensive.plastic.png diff --git a/changelog b/changelog index d2d24c760..d44869881 100644 --- a/changelog +++ b/changelog @@ -7,6 +7,18 @@ * Legacy fusion reactors no longer disassemble when being mined, rather they drop as one block * Legacy templates are no longer listed in the creative tab * Removed the old meltdown achievement +* Eating canned fists now hurts +* Due to repeated incidents regarding canned black holes, the mechanics have changed + * Vortices spawned now have a flag set that prevents them from breaking blocks entirely + * Vortices decay 4x faster than those spawned by singularity items, it should last about 2.5 seconds in total + * It will still very much kill you instantly and destroy your items +* Storage crates can no longer be placed into containment boxes +* Expensive mode now has a new microcrafting item, being made from multiple types of plastic +* Fusion reactor parts now have expensive mode recipes +* Both types of blueprint booklets are now obtainable via precision assembler + * The recipes are lengthy, require a lot of power and have a low chance of succeeding + * Recipes require the divine pufferfish, driver of all innovation + * Where can you get this much pufferfish? Go figure it out ## Fixed * Fixed gamebreaking issue causing crashes and world corruption where the multi detonator had its tooltip misspelled diff --git a/src/main/java/com/hbm/entity/effect/EntityBlackHole.java b/src/main/java/com/hbm/entity/effect/EntityBlackHole.java index 55ed90ea1..6e37a1116 100644 --- a/src/main/java/com/hbm/entity/effect/EntityBlackHole.java +++ b/src/main/java/com/hbm/entity/effect/EntityBlackHole.java @@ -1,7 +1,6 @@ package com.hbm.entity.effect; import java.util.List; -import java.util.Random; import com.hbm.entity.projectile.EntityRubble; import com.hbm.items.ModItems; @@ -24,10 +23,10 @@ import net.minecraft.world.World; public class EntityBlackHole extends Entity { - Random rand = new Random(); - - public EntityBlackHole(World p_i1582_1_) { - super(p_i1582_1_); + public boolean breaksBlocks = true; + + public EntityBlackHole(World world) { + super(world); this.ignoreFrustumCheck = true; this.isImmuneToFire = true; this.noClip = true; @@ -38,13 +37,18 @@ public class EntityBlackHole extends Entity { this.dataWatcher.updateObject(16, size); } + public EntityBlackHole noBreak() { + this.breaksBlocks = false; + return this; + } + @Override public void onUpdate() { super.onUpdate(); float size = this.dataWatcher.getWatchableObjectFloat(16); - if(!worldObj.isRemote) { + if(!worldObj.isRemote && breaksBlocks) { for(int k = 0; k < size * 2; k++) { double phi = rand.nextDouble() * (Math.PI * 2); double costheta = rand.nextDouble() * 2 - 1; @@ -164,11 +168,13 @@ public class EntityBlackHole extends Entity { @Override protected void readEntityFromNBT(NBTTagCompound nbt) { this.dataWatcher.updateObject(16, nbt.getFloat("size")); + this.breaksBlocks = nbt.getBoolean("breaksBlocks"); } @Override protected void writeEntityToNBT(NBTTagCompound nbt) { nbt.setFloat("size", this.dataWatcher.getWatchableObjectFloat(16)); + nbt.setBoolean("breaksBlocks", breaksBlocks); } @Override diff --git a/src/main/java/com/hbm/entity/effect/EntityVortex.java b/src/main/java/com/hbm/entity/effect/EntityVortex.java index 9c7fabaeb..9f97ebbfd 100644 --- a/src/main/java/com/hbm/entity/effect/EntityVortex.java +++ b/src/main/java/com/hbm/entity/effect/EntityVortex.java @@ -1,8 +1,11 @@ package com.hbm.entity.effect; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; public class EntityVortex extends EntityBlackHole { + + public float shrinkRate = 0.0025F; public EntityVortex(World p_i1582_1_) { super(p_i1582_1_); @@ -15,10 +18,15 @@ public class EntityVortex extends EntityBlackHole { this.dataWatcher.updateObject(16, size); } + public EntityVortex setShrinkRate(float shrinkRate) { + this.shrinkRate = shrinkRate; + return this; + } + @Override public void onUpdate() { - this.dataWatcher.updateObject(16, this.dataWatcher.getWatchableObjectFloat(16) - 0.0025F); + this.dataWatcher.updateObject(16, this.dataWatcher.getWatchableObjectFloat(16) - shrinkRate); if(this.dataWatcher.getWatchableObjectFloat(16) <= 0) { this.setDead(); return; @@ -27,4 +35,15 @@ public class EntityVortex extends EntityBlackHole { super.onUpdate(); } + @Override + protected void readEntityFromNBT(NBTTagCompound nbt) { + super.readEntityFromNBT(nbt); + this.shrinkRate = nbt.getFloat("shrinkRate"); + } + + @Override + protected void writeEntityToNBT(NBTTagCompound nbt) { + super.writeEntityToNBT(nbt); + nbt.setFloat("shrinkRate", this.shrinkRate); + } } diff --git a/src/main/java/com/hbm/inventory/container/ContainerLeadBox.java b/src/main/java/com/hbm/inventory/container/ContainerLeadBox.java index 3e8a6d0cf..089491a52 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerLeadBox.java +++ b/src/main/java/com/hbm/inventory/container/ContainerLeadBox.java @@ -1,5 +1,6 @@ package com.hbm.inventory.container; +import com.hbm.inventory.SlotNonRetarded; import com.hbm.items.tool.ItemLeadBox.InventoryLeadBox; import com.hbm.util.InventoryUtil; @@ -19,7 +20,7 @@ public class ContainerLeadBox extends Container { for(int i = 0; i < 4; i++) { for(int j = 0; j < 5; j++) { - this.addSlotToContainer(new Slot(box, j + i * 5, 43 + j * 18, 18 + i * 18)); + this.addSlotToContainer(new SlotNonRetarded(box, j + i * 5, 43 + j * 18, 18 + i * 18)); } } diff --git a/src/main/java/com/hbm/inventory/recipes/AssemblyMachineRecipes.java b/src/main/java/com/hbm/inventory/recipes/AssemblyMachineRecipes.java index 059fd515b..68668dd57 100644 --- a/src/main/java/com/hbm/inventory/recipes/AssemblyMachineRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/AssemblyMachineRecipes.java @@ -111,6 +111,9 @@ public class AssemblyMachineRecipes extends GenericRecipes { .inputItems(new ComparableStack(ModItems.item_expensive, 3, EnumExpensiveType.HEAVY_FRAME), new ComparableStack(ModItems.item_expensive, 1, EnumExpensiveType.FERRO_PLATING), new OreDictStack(ANY_BISMOIDBRONZE.plateCast(), 4), new OreDictStack(ZR.plateWelded(), 1)) .inputFluids(new FluidStack(Fluids.PERFLUOROMETHYL_COLD, 4_000)) .outputFluids(new FluidStack(Fluids.PERFLUOROMETHYL, 4_000))); + this.register(new GenericRecipe("ass.explastic").setup(600, 20_000).outputItems(new ItemStack(ModItems.item_expensive, 1, EnumExpensiveType.PLASTIC.ordinal())) + .inputItems(new OreDictStack(ANY_HARDPLASTIC.ingot(), 4), new OreDictStack(ANY_PLASTIC.ingot(), 16), new OreDictStack(ANY_RUBBER.ingot(), 8)) + .inputFluids(new FluidStack(Fluids.SOLVENT, 1_000))); // cloth this.register(new GenericRecipe("ass.hazcloth").setup(50, 100).outputItems(new ItemStack(ModItems.hazmat_cloth, 4)) @@ -522,26 +525,36 @@ public class AssemblyMachineRecipes extends GenericRecipes { .inputItems(new ComparableStack(ModItems.coil_advanced_alloy, 5))); this.register(new GenericRecipe("ass.fusioncore").setup(600, 100).outputItems(new ItemStack(ModBlocks.struct_torus_core, 1)) - .inputItems(new OreDictStack(ANY_RESISTANTALLOY.plateWelded(), 8), new OreDictStack(ANY_HARDPLASTIC.ingot(), 32), new ComparableStack(ModItems.circuit, 8, EnumCircuitType.BISMOID))); + .inputItems(new OreDictStack(ANY_RESISTANTALLOY.plateWelded(), 8), new OreDictStack(ANY_HARDPLASTIC.ingot(), 32), new ComparableStack(ModItems.circuit, 8, EnumCircuitType.BISMOID)) + .inputItemsEx(new ComparableStack(ModItems.item_expensive, 8, EnumExpensiveType.FERRO_PLATING), new ComparableStack(ModItems.item_expensive, 8, EnumExpensiveType.PLASTIC), new ComparableStack(ModItems.circuit, 16, EnumCircuitType.BISMOID))); this.register(new GenericRecipe("ass.fusionbscco").setup(100, 100).outputItems(new ItemStack(ModBlocks.fusion_component, 2, 0)) - .inputItems(new OreDictStack(BSCCO.wireDense(), 1), new OreDictStack(CU.pipe(), 1), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 1), new OreDictStack(ANY_PLASTIC.ingot(), 4))); + .inputItems(new OreDictStack(BSCCO.wireDense(), 1), new OreDictStack(CU.pipe(), 1), new OreDictStack(ANY_RESISTANTALLOY.ingot(), 1), new OreDictStack(ANY_PLASTIC.ingot(), 4)) + .inputItemsEx(new OreDictStack(BSCCO.wireDense(), 4), new ComparableStack(ModItems.item_expensive, 1, EnumExpensiveType.FERRO_PLATING), new ComparableStack(ModItems.item_expensive, 1, EnumExpensiveType.PLASTIC))); this.register(new GenericRecipe("ass.fusionblanket").setup(100, 100).outputItems(new ItemStack(ModBlocks.fusion_component, 4, 2)) - .inputItems(new OreDictStack(W.plateWelded(), 1), new OreDictStack(STEEL.plateWelded(), 2), new OreDictStack(BE.ingot(), 4))); + .inputItems(new OreDictStack(W.plateWelded(), 1), new OreDictStack(STEEL.plateWelded(), 2), new OreDictStack(BE.ingot(), 4)) + .inputItemsEx(new OreDictStack(W.plateWelded(), 4), new ComparableStack(ModItems.item_expensive, 1, EnumExpensiveType.HEAVY_FRAME), new OreDictStack(BE.ingot(), 4))); this.register(new GenericRecipe("ass.fusionpipes").setup(100, 100).outputItems(new ItemStack(ModBlocks.fusion_component, 4, 3)) - .inputItems(new OreDictStack(ANY_HARDPLASTIC.ingot(), 4), new OreDictStack(CU.pipe(), 2), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.BASIC))); + .inputItems(new OreDictStack(ANY_HARDPLASTIC.ingot(), 4), new OreDictStack(CU.pipe(), 2), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.BASIC)) + .inputItemsEx(new ComparableStack(ModItems.item_expensive, 1, EnumExpensiveType.PLASTIC), new OreDictStack(CU.pipe(), 4), new ComparableStack(ModItems.item_expensive, 1, EnumExpensiveType.CIRCUIT))); this.register(new GenericRecipe("ass.fusionklystron").setup(300, 100).outputItems(new ItemStack(ModBlocks.fusion_klystron, 1)) - .inputItems(new OreDictStack(W.plateWelded(), 4), new OreDictStack(ANY_RESISTANTALLOY.plateCast(), 16), new OreDictStack(CU.plate(), 32), new OreDictStack(ANY_HARDPLASTIC.ingot(), 16), new OreDictStack(BSCCO.wireDense(), 8), new ComparableStack(ModItems.circuit, 2, EnumCircuitType.BISMOID))); + .inputItems(new OreDictStack(W.plateWelded(), 4), new OreDictStack(ANY_RESISTANTALLOY.plateCast(), 16), new OreDictStack(CU.plate(), 32), new OreDictStack(ANY_HARDPLASTIC.ingot(), 16), new OreDictStack(BSCCO.wireDense(), 8), new ComparableStack(ModItems.circuit, 2, EnumCircuitType.BISMOID)) + .inputItemsEx(new OreDictStack(BSCCO.wireDense(), 32), new ComparableStack(ModItems.item_expensive, 16, EnumExpensiveType.FERRO_PLATING), new ComparableStack(ModItems.item_expensive, 8, EnumExpensiveType.PLASTIC), new ComparableStack(ModItems.item_expensive, 1, EnumExpensiveType.COMPUTER))); this.register(new GenericRecipe("ass.fusioncollector").setup(300, 100).outputItems(new ItemStack(ModBlocks.fusion_collector, 1)) - .inputItems(new OreDictStack(ANY_RESISTANTALLOY.plateCast(), 4), new OreDictStack(STEEL.plate(), 16), new OreDictStack(GRAPHITE.ingot(), 16), new OreDictStack(ANY_HARDPLASTIC.ingot(), 4))); + .inputItems(new OreDictStack(ANY_RESISTANTALLOY.plateCast(), 4), new OreDictStack(STEEL.plate(), 16), new OreDictStack(GRAPHITE.ingot(), 16), new OreDictStack(ANY_HARDPLASTIC.ingot(), 4)) + .inputItemsEx(new ComparableStack(ModItems.item_expensive, 2, EnumExpensiveType.FERRO_PLATING), new OreDictStack(GRAPHITE.ingot(), 64), new ComparableStack(ModItems.item_expensive, 4, EnumExpensiveType.PLASTIC))); this.register(new GenericRecipe("ass.fusionbreeder").setup(300, 100).outputItems(new ItemStack(ModBlocks.fusion_breeder, 1)) - .inputItems(new OreDictStack(ANY_RESISTANTALLOY.plateCast(), 4), new OreDictStack(STEEL.pipe(), 4), new OreDictStack(B.ingot(), 16), new OreDictStack(ANY_HARDPLASTIC.ingot(), 16))); + .inputItems(new OreDictStack(ANY_RESISTANTALLOY.plateCast(), 4), new OreDictStack(STEEL.pipe(), 4), new OreDictStack(B.ingot(), 16), new OreDictStack(ANY_HARDPLASTIC.ingot(), 16)) + .inputItemsEx(new ComparableStack(ModItems.item_expensive, 4, EnumExpensiveType.FERRO_PLATING), new OreDictStack(B.ingot(), 64), new ComparableStack(ModItems.item_expensive, 4, EnumExpensiveType.PLASTIC))); this.register(new GenericRecipe("ass.fusionboiler").setup(300, 100).outputItems(new ItemStack(ModBlocks.fusion_boiler, 1)) - .inputItems(new OreDictStack(ANY_RESISTANTALLOY.plateCast(), 16), new OreDictStack(CU.shell(), 16), new OreDictStack(STEEL.pipe(), 8), new OreDictStack(ANY_HARDPLASTIC.ingot(), 16))); + .inputItems(new OreDictStack(ANY_RESISTANTALLOY.plateCast(), 16), new OreDictStack(CU.shell(), 16), new OreDictStack(STEEL.pipe(), 8), new OreDictStack(ANY_HARDPLASTIC.ingot(), 16)) + .inputItemsEx(new ComparableStack(ModItems.item_expensive, 8, EnumExpensiveType.FERRO_PLATING), new ComparableStack(ModItems.item_expensive, 8, EnumExpensiveType.HEAVY_FRAME), new ComparableStack(ModItems.item_expensive, 16, EnumExpensiveType.PLASTIC))); this.register(new GenericRecipe("ass.fusionmhdt").setup(1_200, 100).outputItems(new ItemStack(ModBlocks.fusion_mhdt, 1)) - .inputItems(new OreDictStack(ANY_RESISTANTALLOY.plateWelded(), 16), new OreDictStack(CU.plateWelded(), 64), new OreDictStack(ANY_BISMOIDBRONZE.plateCast(), 16), new OreDictStack(SBD.wireDense(), 64), new ComparableStack(ModItems.circuit, 4, EnumCircuitType.QUANTUM))); + .inputItems(new OreDictStack(ANY_RESISTANTALLOY.plateWelded(), 16), new OreDictStack(CU.plateWelded(), 64), new OreDictStack(ANY_BISMOIDBRONZE.plateCast(), 16), new OreDictStack(SBD.wireDense(), 64), new ComparableStack(ModItems.circuit, 4, EnumCircuitType.QUANTUM)) + .inputItemsEx(new ComparableStack(ModItems.item_expensive, 16, EnumExpensiveType.FERRO_PLATING), new ComparableStack(ModItems.item_expensive, 16, EnumExpensiveType.PLASTIC), new OreDictStack(ANY_BISMOIDBRONZE.plateCast(), 32), new ComparableStack(ModItems.circuit, 8, EnumCircuitType.QUANTUM))); this.register(new GenericRecipe("ass.fusioncoupler").setup(300, 100).outputItems(new ItemStack(ModBlocks.fusion_coupler, 1)) - .inputItems(new OreDictStack(ANY_RESISTANTALLOY.plateWelded(), 4), new OreDictStack(CU.plate(), 32), new OreDictStack(BSCCO.wireDense(), 16), new ComparableStack(ModItems.circuit, 4, EnumCircuitType.BISMOID))); + .inputItems(new OreDictStack(ANY_RESISTANTALLOY.plateWelded(), 4), new OreDictStack(CU.plate(), 32), new OreDictStack(BSCCO.wireDense(), 16), new ComparableStack(ModItems.circuit, 4, EnumCircuitType.BISMOID)) + .inputItemsEx(new ComparableStack(ModItems.item_expensive, 4, EnumExpensiveType.FERRO_PLATING), new OreDictStack(BSCCO.wireDense(), 16), new ComparableStack(ModItems.item_expensive, 2, EnumExpensiveType.COMPUTER))); // watz this.register(new GenericRecipe("ass.watzrod").setup(200, 100).outputItems(new ItemStack(ModBlocks.watz_element, 3)) diff --git a/src/main/java/com/hbm/inventory/recipes/PrecAssRecipes.java b/src/main/java/com/hbm/inventory/recipes/PrecAssRecipes.java index 2dbf86f83..2f41c85f8 100644 --- a/src/main/java/com/hbm/inventory/recipes/PrecAssRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/PrecAssRecipes.java @@ -14,6 +14,8 @@ import com.hbm.items.BrokenItem; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemCircuit.EnumCircuitType; +import net.minecraft.init.Items; +import net.minecraft.item.ItemFishFood.FishType; import net.minecraft.item.ItemStack; public class PrecAssRecipes extends GenericRecipes { @@ -40,6 +42,24 @@ public class PrecAssRecipes extends GenericRecipes { new OreDictStack(PB.wireFine(), 16)) .inputFluids(new FluidStack(Fluids.PERFLUOROMETHYL, 1_000)), DictFrame.fromOne(ModItems.circuit, EnumCircuitType.CONTROLLER), 10, 25); + + // all hail the pufferfish, driver of all innovation + this.register(new GenericRecipe("precass.blueprints").setup(5 * 60 * 20, 20_000L) + .inputItems(new ComparableStack(Items.paper, 16), + new OreDictStack(KEY_BLUE, 16), + new ComparableStack(Items.fish, 16, FishType.PUFFERFISH)) + .outputItems(new ChanceOutputMulti( + new ChanceOutput(new ItemStack(ModItems.blueprint_folder, 1, 0), 10), + new ChanceOutput(new ItemStack(Items.paper, 16, 0), 90)) + )); + this.register(new GenericRecipe("precass.beigeprints").setup(5 * 60 * 20, 50_000L) + .inputItems(new ComparableStack(Items.paper, 24), + new OreDictStack(CINNABAR.gem(), 24), + new ComparableStack(Items.fish, 32, FishType.PUFFERFISH)) + .outputItems(new ChanceOutputMulti( + new ChanceOutput(new ItemStack(ModItems.blueprint_folder, 1, 1), 5), + new ChanceOutput(new ItemStack(Items.paper, 24, 0), 95)) + )); } /** Registers a generic pair of faulty product and recycling of broken items. */ diff --git a/src/main/java/com/hbm/items/ItemEnums.java b/src/main/java/com/hbm/items/ItemEnums.java index 560823508..d5566307b 100644 --- a/src/main/java/com/hbm/items/ItemEnums.java +++ b/src/main/java/com/hbm/items/ItemEnums.java @@ -92,6 +92,6 @@ public class ItemEnums { } public static enum EnumExpensiveType { - STEEL_PLATING, HEAVY_FRAME, CIRCUIT, LEAD_PLATING, FERRO_PLATING, COMPUTER, BRONZE_TUBES + STEEL_PLATING, HEAVY_FRAME, CIRCUIT, LEAD_PLATING, FERRO_PLATING, COMPUTER, BRONZE_TUBES, PLASTIC } } diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 1eefae8a5..c2893c0e5 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -3111,18 +3111,7 @@ public class ModItems { rod_quad = (ItemEnumMulti) new ItemBreedingRod().setUnlocalizedName("rod_quad").setContainerItem(ModItems.rod_quad_empty).setCreativeTab(MainRegistry.controlTab); rod_zirnox_empty = new Item().setUnlocalizedName("rod_zirnox_empty").setMaxStackSize(64).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_empty"); - //rod_zirnox_natural_uranium_fuel = new ItemZirnoxRodDeprecated(250000, 30).setUnlocalizedName("rod_zirnox_natural_uranium_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_natural_uranium_fuel"); - //rod_zirnox_uranium_fuel = new ItemZirnoxRodDeprecated(200000, 50).setUnlocalizedName("rod_zirnox_uranium_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_uranium_fuel"); - //rod_zirnox_th232 = new ItemZirnoxBreedingRod(20000, 0).setUnlocalizedName("rod_zirnox_th232").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_th232"); - //rod_zirnox_thorium_fuel = new ItemZirnoxRodDeprecated(200000, 40).setUnlocalizedName("rod_zirnox_thorium_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_thorium_fuel"); - //rod_zirnox_mox_fuel = new ItemZirnoxRodDeprecated(165000, 75).setUnlocalizedName("rod_zirnox_mox_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_mox_fuel"); - //rod_zirnox_plutonium_fuel = new ItemZirnoxRodDeprecated(175000, 65).setUnlocalizedName("rod_zirnox_plutonium_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_plutonium_fuel"); - //rod_zirnox_u233_fuel = new ItemZirnoxRodDeprecated(150000, 100).setUnlocalizedName("rod_zirnox_u233_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_u233_fuel"); - //rod_zirnox_u235_fuel = new ItemZirnoxRodDeprecated(165000, 85).setUnlocalizedName("rod_zirnox_u235_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_u235_fuel"); - //rod_zirnox_les_fuel = new ItemZirnoxRodDeprecated(150000, 150).setUnlocalizedName("rod_zirnox_les_fuel").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_les_fuel"); - //rod_zirnox_lithium = new ItemZirnoxBreedingRod(20000, 0).setUnlocalizedName("rod_zirnox_lithium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_lithium"); rod_zirnox_tritium = new Item().setUnlocalizedName("rod_zirnox_tritium").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_tritium"); - //rod_zirnox_zfb_mox = new ItemZirnoxRodDeprecated(50000, 35).setUnlocalizedName("rod_zirnox_zfb_mox").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox_zfb_mox"); rod_zirnox = (ItemEnumMulti) new ItemZirnoxRod().setUnlocalizedName("rod_zirnox").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":rod_zirnox"); rod_zirnox_natural_uranium_fuel_depleted = new Item().setUnlocalizedName("rod_zirnox_natural_uranium_fuel_depleted").setCreativeTab(MainRegistry.controlTab).setContainerItem(ModItems.rod_zirnox_empty).setTextureName(RefStrings.MODID + ":rod_zirnox_uranium_fuel_depleted"); @@ -5912,18 +5901,7 @@ public class ModItems { //ZIRNOX parts GameRegistry.registerItem(rod_zirnox_empty, rod_zirnox_empty.getUnlocalizedName()); - //GameRegistry.registerItem(rod_zirnox_natural_uranium_fuel, rod_zirnox_natural_uranium_fuel.getUnlocalizedName()); - //GameRegistry.registerItem(rod_zirnox_uranium_fuel, rod_zirnox_uranium_fuel.getUnlocalizedName()); - //GameRegistry.registerItem(rod_zirnox_th232, rod_zirnox_th232.getUnlocalizedName()); - //GameRegistry.registerItem(rod_zirnox_thorium_fuel, rod_zirnox_thorium_fuel.getUnlocalizedName()); - //GameRegistry.registerItem(rod_zirnox_mox_fuel, rod_zirnox_mox_fuel.getUnlocalizedName()); - //GameRegistry.registerItem(rod_zirnox_plutonium_fuel, rod_zirnox_plutonium_fuel.getUnlocalizedName()); - //GameRegistry.registerItem(rod_zirnox_u233_fuel, rod_zirnox_u233_fuel.getUnlocalizedName()); - //GameRegistry.registerItem(rod_zirnox_u235_fuel, rod_zirnox_u235_fuel.getUnlocalizedName()); - //GameRegistry.registerItem(rod_zirnox_les_fuel, rod_zirnox_les_fuel.getUnlocalizedName()); - //GameRegistry.registerItem(rod_zirnox_lithium, rod_zirnox_lithium.getUnlocalizedName()); GameRegistry.registerItem(rod_zirnox_tritium, rod_zirnox_tritium.getUnlocalizedName()); - //GameRegistry.registerItem(rod_zirnox_zfb_mox, rod_zirnox_zfb_mox.getUnlocalizedName()); GameRegistry.registerItem(rod_zirnox, rod_zirnox.getUnlocalizedName()); GameRegistry.registerItem(rod_zirnox_natural_uranium_fuel_depleted, rod_zirnox_natural_uranium_fuel_depleted.getUnlocalizedName()); @@ -6015,7 +5993,6 @@ public class ModItems { GameRegistry.registerItem(rbmk_fuel_zfb_am_mix, rbmk_fuel_zfb_am_mix.getUnlocalizedName()); GameRegistry.registerItem(rbmk_fuel_drx, rbmk_fuel_drx.getUnlocalizedName()); GameRegistry.registerItem(rbmk_fuel_test, rbmk_fuel_test.getUnlocalizedName()); - //GameRegistry.registerItem(rbmk_fuel_curve, rbmk_fuel_curve.getUnlocalizedName()); GameRegistry.registerItem(rbmk_pellet_ueu, rbmk_pellet_ueu.getUnlocalizedName()); GameRegistry.registerItem(rbmk_pellet_meu, rbmk_pellet_meu.getUnlocalizedName()); @@ -6782,7 +6759,6 @@ public class ModItems { GameRegistry.registerItem(explosive_lenses, explosive_lenses.getUnlocalizedName()); //The Gadget - //GameRegistry.registerItem(gadget_explosive, gadget_explosive.getUnlocalizedName()); GameRegistry.registerItem(gadget_wireing, gadget_wireing.getUnlocalizedName()); GameRegistry.registerItem(gadget_core, gadget_core.getUnlocalizedName()); @@ -6794,7 +6770,6 @@ public class ModItems { GameRegistry.registerItem(boy_igniter, boy_igniter.getUnlocalizedName());; //Fat Man - //GameRegistry.registerItem(man_explosive, man_explosive.getUnlocalizedName()); GameRegistry.registerItem(man_igniter, man_igniter.getUnlocalizedName()); GameRegistry.registerItem(man_core, man_core.getUnlocalizedName()); @@ -6832,7 +6807,6 @@ public class ModItems { GameRegistry.registerItem(gas_mask_olde, gas_mask_olde.getUnlocalizedName()); GameRegistry.registerItem(mask_rag, mask_rag.getUnlocalizedName()); GameRegistry.registerItem(mask_piss, mask_piss.getUnlocalizedName()); - //GameRegistry.registerItem(oxy_mask, oxy_mask.getUnlocalizedName()); GameRegistry.registerItem(hat, hat.getUnlocalizedName()); GameRegistry.registerItem(beta, beta.getUnlocalizedName()); GameRegistry.registerItem(no9, no9.getUnlocalizedName()); @@ -7009,8 +6983,6 @@ public class ModItems { GameRegistry.registerItem(jetpack_boost, jetpack_boost.getUnlocalizedName()); GameRegistry.registerItem(wings_limp, wings_limp.getUnlocalizedName()); GameRegistry.registerItem(wings_murk, wings_murk.getUnlocalizedName()); - //GameRegistry.registerItem(australium_iv, australium_iv.getUnlocalizedName()); - //GameRegistry.registerItem(australium_v, australium_v.getUnlocalizedName()); //Expensive Ass Shit GameRegistry.registerItem(crystal_horn, crystal_horn.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/food/ItemConserve.java b/src/main/java/com/hbm/items/food/ItemConserve.java index 592b2eae6..353e848f1 100644 --- a/src/main/java/com/hbm/items/food/ItemConserve.java +++ b/src/main/java/com/hbm/items/food/ItemConserve.java @@ -15,6 +15,7 @@ import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.EnumAction; import net.minecraft.item.ItemStack; +import net.minecraft.util.DamageSource; import net.minecraft.util.IIcon; import net.minecraft.world.World; @@ -42,15 +43,17 @@ public class ItemConserve extends ItemEnumMulti { EnumFoodType num = EnumUtil.grabEnumSafely(theEnum, stack.getItemDamage()); if(num == EnumFoodType.BHOLE && !world.isRemote) { - EntityVortex vortex = new EntityVortex(world, 0.5F); - vortex.posX = player.posX; - vortex.posY = player.posY; - vortex.posZ = player.posZ; - world.spawnEntityInWorld(vortex); - + EntityVortex vortex = (EntityVortex) new EntityVortex(world, 0.5F).setShrinkRate(0.01F).noBreak(); + vortex.posX = player.posX; + vortex.posY = player.posY; + vortex.posZ = player.posZ; + world.spawnEntityInWorld(vortex); + } else if(num == EnumFoodType.RECURSION && world.rand.nextInt(10) > 0) { - player.inventory.addItemStackToInventory(stackFromEnum(EnumFoodType.RECURSION)); + + } else if(num == EnumFoodType.FIST) { + player.attackEntityFrom(DamageSource.magic, 2F); } } diff --git a/src/main/java/com/hbm/items/tool/ItemLeadBox.java b/src/main/java/com/hbm/items/tool/ItemLeadBox.java index 51e810c71..50996637c 100644 --- a/src/main/java/com/hbm/items/tool/ItemLeadBox.java +++ b/src/main/java/com/hbm/items/tool/ItemLeadBox.java @@ -3,6 +3,7 @@ package com.hbm.items.tool; import com.hbm.inventory.container.ContainerLeadBox; import com.hbm.inventory.gui.GUILeadBox; import com.hbm.items.ItemInventory; +import com.hbm.items.block.ItemBlockStorageCrate; import com.hbm.main.MainRegistry; import com.hbm.tileentity.IGUIProvider; import com.hbm.util.ItemStackUtil; @@ -80,5 +81,11 @@ public class ItemLeadBox extends Item implements IGUIProvider { public int getInventoryStackLimit() { return 1; } + + @Override + public boolean isItemValidForSlot(int slot, ItemStack stack) { + if(stack != null && stack.getItem() instanceof ItemBlockStorageCrate) return false; + return true; + } } } diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 89c00ef12..f945c2ed0 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -2399,6 +2399,7 @@ item.item_expensive.computer.name=Großrechner item.item_expensive.ferro_plating.name=Verstärkte Ferrouraniumpanele item.item_expensive.heavy_frame.name=Schweres Gestell item.item_expensive.lead_plating.name=Strahlenresistente Plattierung +item.item_expensive.plastic.name=Kunststoffpanele item.item_expensive.steel_plating.name=Gebolzte Stahlplatten item.item_secret.aberrator.name=Aberrator-Teil item.item_secret.canister.name=Komposit SB-26 diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index c9c45d46e..e89380a4b 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -2326,7 +2326,7 @@ item.canned_bark.desc=Extra cronchy! item.canned_beef.name=Canned Beef item.canned_beef.desc=A few centuries ago, a cow died for this. item.canned_bhole.name=Canned Black Hole -item.canned_bhole.desc=Singularity is yum yum in my tum tum! +item.canned_bhole.desc=Made from actual singularities. No, really. item.canned_cheese.name=Canned Melted Cheese item.canned_cheese.desc=Is it cheese? Is it rubber cement? Who knows, who cares. item.canned_chinese.name=Canned Chinese Food @@ -2334,7 +2334,7 @@ item.canned_chinese.desc=In China, Chinese food is just called food. item.canned_diesel.name=Canned Diesel item.canned_diesel.desc=I'm slowly running out of jokes for these. item.canned_fist.name=Canned Fist -item.canned_fist.desc=Yowser! +item.canned_fist.desc=ow item.canned_fried.name=Canned Fried Chicken item.canned_fried.desc=Even the can is deep fried! item.canned_hotdogs.name=Canned Hotdogs @@ -3258,6 +3258,7 @@ item.item_expensive.computer.name=Mainframe item.item_expensive.ferro_plating.name=Reinforced Ferrouranium Panels item.item_expensive.heavy_frame.name=Heavy Framework item.item_expensive.lead_plating.name=Radiation Resistant Plating +item.item_expensive.plastic.name=Plastic Panels item.item_expensive.steel_plating.name=Bolted Steel Plating item.item_secret.aberrator.name=Aberrator Part item.item_secret.canister.name=Composition SB-26 diff --git a/src/main/resources/assets/hbm/textures/items/item_expensive.plastic.png b/src/main/resources/assets/hbm/textures/items/item_expensive.plastic.png new file mode 100644 index 0000000000000000000000000000000000000000..bab73e73b046a1af13a2caa8e4cdeaf3bcccdf19 GIT binary patch literal 164 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf