From 18dabf7e8cdf6851752ee4ade4e53ae46da895e9 Mon Sep 17 00:00:00 2001 From: Boblet Date: Thu, 30 Oct 2025 16:40:58 +0100 Subject: [PATCH] go go gadget ovarial torsion --- changelog | 14 +++- .../com/hbm/blocks/machine/RailBooster.java | 2 +- .../com/hbm/blocks/machine/RailGeneric.java | 2 +- .../java/com/hbm/config/GeneralConfig.java | 2 - .../java/com/hbm/itempool/ItemPoolsC130.java | 1 + .../com/hbm/itempool/ItemPoolsComponent.java | 7 +- .../com/hbm/itempool/ItemPoolsSingle.java | 19 ----- .../com/hbm/items/tool/ItemAmmoContainer.java | 39 +++++++++- .../hbm/items/weapon/sedna/ItemGunBaseNT.java | 9 +++ .../weapon/sedna/factory/XFactory10ga.java | 6 +- .../weapon/sedna/factory/XFactory12ga.java | 16 ++-- .../weapon/sedna/factory/XFactory22lr.java | 2 +- .../weapon/sedna/factory/XFactory357.java | 6 +- .../weapon/sedna/factory/XFactory40mm.java | 4 +- .../weapon/sedna/factory/XFactory44.java | 12 +-- .../weapon/sedna/factory/XFactory50.java | 8 +- .../weapon/sedna/factory/XFactory556mm.java | 6 +- .../weapon/sedna/factory/XFactory75Bolt.java | 2 +- .../weapon/sedna/factory/XFactory762mm.java | 10 +-- .../weapon/sedna/factory/XFactory9mm.java | 8 +- .../sedna/factory/XFactoryAccelerator.java | 4 +- .../sedna/factory/XFactoryBlackPowder.java | 2 +- .../sedna/factory/XFactoryCatapult.java | 2 +- .../weapon/sedna/factory/XFactoryEnergy.java | 10 +-- .../weapon/sedna/factory/XFactoryFlamer.java | 6 +- .../weapon/sedna/factory/XFactoryRocket.java | 8 +- .../weapon/sedna/factory/XFactoryTool.java | 2 +- src/main/java/com/hbm/lib/HbmWorldGen.java | 69 ------------------ .../machine/albion/TileEntityPASource.java | 1 + src/main/resources/assets/hbm/lang/en_US.lang | 1 + .../gui/reactors/gui_fusion_torus.png | Bin 0 -> 4236 bytes 31 files changed, 122 insertions(+), 158 deletions(-) create mode 100644 src/main/resources/assets/hbm/textures/gui/reactors/gui_fusion_torus.png diff --git a/changelog b/changelog index 25070fddf..f031bbd43 100644 --- a/changelog +++ b/changelog @@ -10,8 +10,20 @@ * Fallen meteors will now be placed deeper into the actual crater instead of hovering awkwardly over the hole * Addd QMAW pages for the particle accelerator parts along with a PA overview page and a simple step by step construction tutorial * Increased the acidizer partitioner's input limit from 9 to 45 slots +* Ammo containers are now functional again + * Each gun has a fixed "default ammo" that will be given + * Grants ammo for up to three held guns, selected randomly + * Ammo given does not respect caliber conversion mods + * Amount of ammo given depends on the mag size and type of ammo + * Most pistols and low capacity rifles will get two reloads worth of ammo + * High capacity rifles will typically get only one magazine + * Rocket launchers typically only get a small amount of rockets + * The fat man only gets a single nuke + * Certain legendaries do not give ammo at all, they are omitted when three randomly held guns are selected +* Ammo containers are now found in more itempools ## Fixed * Fixed arc furnace only allowing electrodes to be inserted when the lid is down instead of up * Fixed issue where the `amounts` tracker wasn't being used correctly when using a custom acidizer config, preventing the acidizer partitioner from working -* Fixed multi fluid ID search potentially not working on systems with a non-latin locale \ No newline at end of file +* Fixed multi fluid ID search potentially not working on systems with a non-latin locale +* Fixed particle accelerator source working even if not cooled \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/machine/RailBooster.java b/src/main/java/com/hbm/blocks/machine/RailBooster.java index a83084b16..a0764f7aa 100644 --- a/src/main/java/com/hbm/blocks/machine/RailBooster.java +++ b/src/main/java/com/hbm/blocks/machine/RailBooster.java @@ -5,7 +5,7 @@ import net.minecraft.world.World; public class RailBooster extends RailGeneric { - public RailBooster(String tool, Integer harvestLevel) { + public RailBooster(String tool, int harvestLevel) { super(tool, harvestLevel); this.setMaxSpeed(1.0F); this.setFlexible(false); diff --git a/src/main/java/com/hbm/blocks/machine/RailGeneric.java b/src/main/java/com/hbm/blocks/machine/RailGeneric.java index ccbf80b29..f696687db 100644 --- a/src/main/java/com/hbm/blocks/machine/RailGeneric.java +++ b/src/main/java/com/hbm/blocks/machine/RailGeneric.java @@ -26,7 +26,7 @@ public class RailGeneric extends BlockRailBase implements ITooltipProvider { protected boolean slopable = true; protected boolean flexible = true; - public RailGeneric(String tool, Integer harvestLevel) { + public RailGeneric(String tool, int harvestLevel) { super(false); setHarvestLevel(tool, harvestLevel); } diff --git a/src/main/java/com/hbm/config/GeneralConfig.java b/src/main/java/com/hbm/config/GeneralConfig.java index b52f58073..dd204d6fe 100644 --- a/src/main/java/com/hbm/config/GeneralConfig.java +++ b/src/main/java/com/hbm/config/GeneralConfig.java @@ -18,7 +18,6 @@ public class GeneralConfig { public static boolean enableMDOres = true; public static boolean enableMines = true; public static boolean enableRad = true; - public static boolean enableNITAN = true; public static boolean enableBomberShortMode = false; public static boolean enableVaults = true; public static boolean enableCataclysm = false; @@ -96,7 +95,6 @@ public class GeneralConfig { enableMDOres = config.get(CATEGORY_GENERAL, "1.04_enableOresInModdedDimensions", true, "Allows NTM ores to generate in modded dimensions").getBoolean(true); enableMines = config.get(CATEGORY_GENERAL, "1.05_enableLandmineSpawn", true, "Allows landmines to generate").getBoolean(true); enableRad = config.get(CATEGORY_GENERAL, "1.06_enableRadHotspotSpawn", true, "Allows radiation hotspots to generate").getBoolean(true); - enableNITAN = config.get(CATEGORY_GENERAL, "1.07_enableNITANChestSpawn", true, "Allows chests to spawn at specific coordinates full of powders").getBoolean(true); enableBomberShortMode = config.get(CATEGORY_GENERAL, "1.14_enableBomberShortMode", false, "Has bomber planes spawn in closer to the target for use with smaller render distances").getBoolean(false); enableVaults = config.get(CATEGORY_GENERAL, "1.15_enableVaultSpawn", true, "Allows locked safes to spawn").getBoolean(true); enableCataclysm = config.get(CATEGORY_GENERAL, "1.17_enableCataclysm", false, "Causes satellites to fall whenever a mob dies").getBoolean(false); diff --git a/src/main/java/com/hbm/itempool/ItemPoolsC130.java b/src/main/java/com/hbm/itempool/ItemPoolsC130.java index 480a46c18..416966a39 100644 --- a/src/main/java/com/hbm/itempool/ItemPoolsC130.java +++ b/src/main/java/com/hbm/itempool/ItemPoolsC130.java @@ -56,6 +56,7 @@ public class ItemPoolsC130 { weighted(ModItems.ammo_standard, EnumAmmo.R762_SP.ordinal(), 6, 6, 5), weighted(ModItems.ammo_standard, EnumAmmo.G12_BP.ordinal(), 6, 6, 10), weighted(ModItems.ammo_standard, EnumAmmo.ROCKET_HE.ordinal(), 1, 1, 3), + weighted(ModItems.ammo_container, 0, 1, 1, 1), }; }}; } diff --git a/src/main/java/com/hbm/itempool/ItemPoolsComponent.java b/src/main/java/com/hbm/itempool/ItemPoolsComponent.java index 1e4600988..4f9b63282 100644 --- a/src/main/java/com/hbm/itempool/ItemPoolsComponent.java +++ b/src/main/java/com/hbm/itempool/ItemPoolsComponent.java @@ -41,7 +41,6 @@ public class ItemPoolsComponent { weighted(ModItems.bolt, Mats.MAT_TUNGSTEN.id, 4, 16, 3), weighted(ModItems.coil_tungsten, 0, 1, 2, 5), weighted(ModItems.motor, 0, 1, 2, 4), - weighted(ModItems.tank_steel, 0, 1, 2, 3), weighted(ModItems.coil_copper, 0, 1, 3, 4), weighted(ModItems.coil_copper_torus, 0, 1, 2, 3), weighted(ModItems.wire_fine, Mats.MAT_MINGRADE.id, 1, 8, 5), @@ -190,7 +189,8 @@ public class ItemPoolsComponent { weighted(Items.book, 0, 1, 5, 10), weighted(Items.experience_bottle, 0, 1, 3, 1), weighted(ModItems.blueprint_folder, 0, 1, 1, 1), - weighted(ModItems.blueprint_folder, 1, 1, 1, 1) + weighted(ModItems.blueprint_folder, 1, 1, 1, 1), + weighted(ModItems.ammo_container, 0, 1, 1, 1) }; }}; @@ -213,8 +213,7 @@ public class ItemPoolsComponent { this.pool = new WeightedRandomChestContent[] { weighted(ModItems.oil_detector, 0, 1, 1, 1), weighted(ModItems.canister_full, Fluids.OIL.getID(), 1, 4, 5), - weighted(ModBlocks.machine_fraction_tower,0, 0, 1, 1), - weighted(ModBlocks.fraction_spacer,0, 0, 1, 1), + weighted(ModItems.canister_empty, 0, 4, 16, 10), weighted(ModItems.circuit,EnumCircuitType.ANALOG.ordinal(), 1, 4, 1), weighted(ModItems.circuit, EnumCircuitType.CAPACITOR.ordinal(), 1, 1, 3), }; diff --git a/src/main/java/com/hbm/itempool/ItemPoolsSingle.java b/src/main/java/com/hbm/itempool/ItemPoolsSingle.java index f8dd79f0a..896369884 100644 --- a/src/main/java/com/hbm/itempool/ItemPoolsSingle.java +++ b/src/main/java/com/hbm/itempool/ItemPoolsSingle.java @@ -12,7 +12,6 @@ import net.minecraft.util.WeightedRandomChestContent; public class ItemPoolsSingle { - public static final String POOL_POWDER = "POOL_POWDER"; public static final String POOL_VAULT_RUSTY = "POOL_VAULT_RUSTY"; public static final String POOL_VAULT_STANDARD = "POOL_VAULT_STANDARD"; public static final String POOL_VAULT_REINFORCED = "POOL_VAULT_REINFORCED"; @@ -21,24 +20,6 @@ public class ItemPoolsSingle { public static void init() { - //powder boxes - new ItemPool(POOL_POWDER) {{ - this.pool = new WeightedRandomChestContent[] { - weighted(ModItems.powder_neptunium, 0, 1, 32, 1), - weighted(ModItems.powder_iodine, 0, 1, 32, 1), - weighted(ModItems.powder_thorium, 0, 1, 32, 1), - weighted(ModItems.powder_astatine, 0, 1, 32, 1), - weighted(ModItems.powder_neodymium, 0, 1, 32, 1), - weighted(ModItems.powder_caesium, 0, 1, 32, 1), - weighted(ModItems.powder_strontium, 0, 1, 32, 1), - weighted(ModItems.powder_cobalt, 0, 1, 32, 1), - weighted(ModItems.powder_bromine, 0, 1, 32, 1), - weighted(ModItems.powder_niobium, 0, 1, 32, 1), - weighted(ModItems.powder_tennessine, 0, 1, 32, 1), - weighted(ModItems.powder_cerium, 0, 1, 32, 1) - }; - }}; - new ItemPool(POOL_VAULT_RUSTY) {{ this.pool = new WeightedRandomChestContent[] { weighted(Items.gold_ingot, 0, 3, 14, 1), diff --git a/src/main/java/com/hbm/items/tool/ItemAmmoContainer.java b/src/main/java/com/hbm/items/tool/ItemAmmoContainer.java index 53ef51595..2ddd82c87 100644 --- a/src/main/java/com/hbm/items/tool/ItemAmmoContainer.java +++ b/src/main/java/com/hbm/items/tool/ItemAmmoContainer.java @@ -1,12 +1,17 @@ package com.hbm.items.tool; +import java.util.ArrayList; +import java.util.Collections; import java.util.List; -import com.hbm.items.ModItems; +import com.hbm.items.weapon.sedna.ItemGunBaseNT; +import com.hbm.util.InventoryUtil; +import com.hbm.util.i18n.I18nUtil; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; public class ItemAmmoContainer extends Item { @@ -17,13 +22,39 @@ public class ItemAmmoContainer extends Item { @Override public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + + List stacks = new ArrayList(); + + for(ItemStack inv : player.inventory.mainInventory) { + if(inv != null && inv.getItem() instanceof ItemGunBaseNT) { + ItemGunBaseNT gun = (ItemGunBaseNT) inv.getItem(); + if(gun.defaultAmmo != null) stacks.add(inv); + } + } + + if(stacks.size() <= 0) return stack; + + Collections.shuffle(stacks); + + int maxGunCount = 3; + + for(int i = 0; i < maxGunCount && i < stacks.size(); i++) { + ItemStack gunStack = stacks.get(i); + ItemGunBaseNT gun = (ItemGunBaseNT) gunStack.getItem(); + ItemStack remainder = InventoryUtil.tryAddItemToInventory(player.inventory.mainInventory, gun.defaultAmmo.copy()); + if(remainder != null && remainder.stackSize > 0) player.dropPlayerItemWithRandomChoice(remainder, false); + } + + world.playSoundAtEntity(player, "hbm:item.unpack", 1.0F, 1.0F); + player.inventoryContainer.detectAndSendChanges(); + stack.stackSize--; + return stack; } @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - if(this == ModItems.ammo_container) { - list.add("to be implemented :P"); - } + String[] lines = I18nUtil.resolveKeyArray(this.getUnlocalizedName() + ".desc"); + for(String line : lines) list.add(EnumChatFormatting.YELLOW + line); } } diff --git a/src/main/java/com/hbm/items/weapon/sedna/ItemGunBaseNT.java b/src/main/java/com/hbm/items/weapon/sedna/ItemGunBaseNT.java index 48d956f8a..d675b8013 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/ItemGunBaseNT.java +++ b/src/main/java/com/hbm/items/weapon/sedna/ItemGunBaseNT.java @@ -16,7 +16,9 @@ import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.gui.GUIWeaponTable; import com.hbm.items.IEquipReceiver; import com.hbm.items.IKeybindReceiver; +import com.hbm.items.ModItems; import com.hbm.items.armor.ArmorTrenchmaster; +import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo; import com.hbm.items.weapon.sedna.hud.IHUDComponent; import com.hbm.items.weapon.sedna.mags.IMagazine; import com.hbm.items.weapon.sedna.mags.MagazineInfinite; @@ -60,6 +62,8 @@ public class ItemGunBaseNT extends Item implements IKeybindReceiver, IItemHUD, I public static List secrets = new ArrayList(); public List recognizedMods = new ArrayList(); + + public ItemStack defaultAmmo; public static final DecimalFormatSymbols SYMBOLS_US = new DecimalFormatSymbols(Locale.US); public static final DecimalFormat FORMAT_DMG = new DecimalFormat("#.##", SYMBOLS_US); @@ -150,6 +154,11 @@ public class ItemGunBaseNT extends Item implements IKeybindReceiver, IItemHUD, I RELOADING, //forced delay after which a reload action happens, may be canceled (TBI) JAMMED, //forced delay due to jamming } + + public ItemGunBaseNT setDefaultAmmo(EnumAmmo ammo, int amount) { + this.defaultAmmo = new ItemStack(ModItems.ammo_standard, amount, ammo.ordinal()); + return this; + } public ItemGunBaseNT setNameMutator(Function lambda) { this.LAMBDA_NAME_MUTATOR = lambda; diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory10ga.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory10ga.java index 74d8e6b57..9a4764b5c 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory10ga.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory10ga.java @@ -56,7 +56,7 @@ public class XFactory10ga { .setupStandardFire().recoil(LAMBDA_RECOIL_DOUBLE_BARREL)) .setupStandardConfiguration() .anim(LAMBDA_DOUBLE_BARREL_ANIMS).orchestra(Orchestras.ORCHESTRA_DOUBLE_BARREL) - ).setUnlocalizedName("gun_double_barrel"); + ).setDefaultAmmo(EnumAmmo.G10, 6).setUnlocalizedName("gun_double_barrel"); ModItems.gun_double_barrel_sacred_dragon = new ItemGunBaseNT(WeaponQuality.B_SIDE, new GunConfig() .dura(6000).draw(10).inspect(39).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) .rec(new Receiver(0) @@ -66,7 +66,7 @@ public class XFactory10ga { .setupStandardFire().recoil(LAMBDA_RECOIL_DOUBLE_BARREL)) .setupStandardConfiguration() .anim(LAMBDA_DOUBLE_BARREL_ANIMS).orchestra(Orchestras.ORCHESTRA_DOUBLE_BARREL) - ).setUnlocalizedName("gun_double_barrel_sacred_dragon"); + ).setDefaultAmmo(EnumAmmo.G10_DU, 6).setUnlocalizedName("gun_double_barrel_sacred_dragon"); ModItems.gun_autoshotgun_heretic = new ItemGunBaseNT(WeaponQuality.DEBUG, new GunConfig() .draw(20).inspect(65).reloadSequential(true).inspectCancel(false).crosshair(Crosshair.L_CIRCLE).hideCrosshair(false).smoke(Lego.LAMBDA_STANDARD_SMOKE) @@ -77,7 +77,7 @@ public class XFactory10ga { .canFire(Lego.LAMBDA_STANDARD_CAN_FIRE).fire(Lego.LAMBDA_NOWEAR_FIRE).recoil(XFactory12ga.LAMBDA_RECOIL_SEXY)) .setupStandardConfiguration() .anim(XFactory12ga.LAMBDA_SEXY_ANIMS).orchestra(Orchestras.ORCHESTRA_SHREDDER_SEXY) - ).setUnlocalizedName("gun_autoshotgun_heretic"); + ).setDefaultAmmo(EnumAmmo.G10, 50).setUnlocalizedName("gun_autoshotgun_heretic"); } public static BiConsumer LAMBDA_RECOIL_DOUBLE_BARREL = (stack, ctx) -> { diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory12ga.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory12ga.java index 05e44d504..dc391e747 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory12ga.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory12ga.java @@ -298,7 +298,7 @@ public class XFactory12ga { .setupStandardFire().recoil(LAMBDA_RECOIL_MARESLEG)) .setupStandardConfiguration() .anim(LAMBDA_MARESLEG_ANIMS).orchestra(Orchestras.ORCHESTRA_MARESLEG) - ).setNameMutator(LAMBDA_NAME_MARESLEG) + ).setDefaultAmmo(EnumAmmo.G12, 12).setNameMutator(LAMBDA_NAME_MARESLEG) .setUnlocalizedName("gun_maresleg"); ModItems.gun_maresleg_akimbo = new ItemGunBaseNT(WeaponQuality.B_SIDE, new GunConfig().dura(600).draw(5).inspect(39).reloadSequential(true).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) @@ -319,7 +319,7 @@ public class XFactory12ga { .ps(Lego.LAMBDA_STANDARD_CLICK_PRIMARY).pr(Lego.LAMBDA_STANDARD_RELOAD) .decider(GunStateDecider.LAMBDA_STANDARD_DECIDER) .anim(LAMBDA_MARESLEG_SHORT_ANIMS).orchestra(Orchestras.ORCHESTRA_MARESLEG_AKIMBO) - ).setUnlocalizedName("gun_maresleg_akimbo"); + ).setDefaultAmmo(EnumAmmo.G12, 24).setUnlocalizedName("gun_maresleg_akimbo"); ModItems.gun_maresleg_broken = new ItemGunBaseNT(WeaponQuality.LEGENDARY, new GunConfig() .dura(0).draw(5).inspect(39).reloadSequential(true).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) .rec(new Receiver(0) @@ -329,7 +329,7 @@ public class XFactory12ga { .canFire(Lego.LAMBDA_STANDARD_CAN_FIRE).fire(Lego.LAMBDA_NOWEAR_FIRE).recoil(LAMBDA_RECOIL_MARESLEG)) .setupStandardConfiguration() .anim(LAMBDA_MARESLEG_SHORT_ANIMS).orchestra(Orchestras.ORCHESTRA_MARESLEG_SHORT) - ).setUnlocalizedName("gun_maresleg_broken"); + ).setDefaultAmmo(EnumAmmo.G12_MAGNUM, 24).setUnlocalizedName("gun_maresleg_broken"); ModItems.gun_liberator = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() .dura(200).draw(20).inspect(21).reloadSequential(true).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) @@ -340,7 +340,7 @@ public class XFactory12ga { .setupStandardFire().recoil(LAMBDA_RECOIL_LIBERATOR)) .setupStandardConfiguration() .anim(LAMBDA_LIBERATOR_ANIMS).orchestra(Orchestras.ORCHESTRA_LIBERATOR) - ).setUnlocalizedName("gun_liberator"); + ).setDefaultAmmo(EnumAmmo.G12, 12).setUnlocalizedName("gun_liberator"); ModItems.gun_spas12 = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() .dura(600).draw(20).inspect(39).reloadSequential(true).reloadChangeType(true).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) @@ -351,7 +351,7 @@ public class XFactory12ga { .setupStandardFire().recoil(LAMBDA_RECOIL_MARESLEG)) .setupStandardConfiguration().ps(LAMBDA_SPAS_SECONDARY).pt(null) .anim(LAMBDA_SPAS_ANIMS).orchestra(Orchestras.ORCHESTRA_SPAS) - ).setUnlocalizedName("gun_spas12"); + ).setDefaultAmmo(EnumAmmo.G12, 16).setUnlocalizedName("gun_spas12"); ModItems.gun_autoshotgun = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() .dura(2_000).draw(10).inspect(33).reloadSequential(true).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) @@ -362,7 +362,7 @@ public class XFactory12ga { .setupStandardFire().recoil(LAMBDA_RECOIL_AUTOSHOTGUN)) .setupStandardConfiguration() .anim(LAMBDA_SHREDDER_ANIMS).orchestra(Orchestras.ORCHESTRA_SHREDDER) - ).setUnlocalizedName("gun_autoshotgun"); + ).setDefaultAmmo(EnumAmmo.G12, 20).setUnlocalizedName("gun_autoshotgun"); ModItems.gun_autoshotgun_shredder = new ItemGunBaseNT(WeaponQuality.B_SIDE, new GunConfig() .dura(2_000).draw(10).inspect(33).reloadSequential(true).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) .rec(new Receiver(0) @@ -372,7 +372,7 @@ public class XFactory12ga { .setupStandardFire().recoil(LAMBDA_RECOIL_AUTOSHOTGUN)) .setupStandardConfiguration() .anim(LAMBDA_SHREDDER_ANIMS).orchestra(Orchestras.ORCHESTRA_SHREDDER) - ).setUnlocalizedName("gun_autoshotgun_shredder"); + ).setDefaultAmmo(EnumAmmo.G12, 20).setUnlocalizedName("gun_autoshotgun_shredder"); ModItems.gun_autoshotgun_sexy = new ItemGunBaseNT(WeaponQuality.LEGENDARY, new GunConfig() .dura(5_000).draw(20).inspect(65).reloadSequential(true).inspectCancel(false).crosshair(Crosshair.L_CIRCLE).hideCrosshair(false).smoke(Lego.LAMBDA_STANDARD_SMOKE) @@ -383,7 +383,7 @@ public class XFactory12ga { .setupStandardFire().recoil(LAMBDA_RECOIL_SEXY)) .setupStandardConfiguration() .anim(LAMBDA_SEXY_ANIMS).orchestra(Orchestras.ORCHESTRA_SHREDDER_SEXY) - ).setUnlocalizedName("gun_autoshotgun_sexy"); + ).setDefaultAmmo(EnumAmmo.G12_MAGNUM, 50).setUnlocalizedName("gun_autoshotgun_sexy"); } public static Function LAMBDA_NAME_MARESLEG = (stack) -> { diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory22lr.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory22lr.java index fbbf2c5e5..718892761 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory22lr.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory22lr.java @@ -54,7 +54,7 @@ public class XFactory22lr { .setupStandardFire().recoil(LAMBDA_RECOIL_AM180)) .setupStandardConfiguration() .anim(LAMBDA_AM180_ANIMS).orchestra(Orchestras.ORCHESTRA_AM180) - ).setNameMutator(LAMBDA_NAME_AM180) + ).setDefaultAmmo(EnumAmmo.P22_SP, 35).setNameMutator(LAMBDA_NAME_AM180) .setUnlocalizedName("gun_am180"); } diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory357.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory357.java index dd2999528..65ea91771 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory357.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory357.java @@ -47,7 +47,7 @@ public class XFactory357 { .setupStandardFire().recoil(LAMBDA_RECOIL_ATLAS)) .setupStandardConfiguration() .anim(LAMBDA_ATLAS_ANIMS).orchestra(Orchestras.ORCHESTRA_ATLAS) - ).setUnlocalizedName("gun_light_revolver"); + ).setDefaultAmmo(EnumAmmo.M357_SP, 12).setUnlocalizedName("gun_light_revolver"); ModItems.gun_light_revolver_atlas = new ItemGunBaseNT(WeaponQuality.B_SIDE, new GunConfig() .dura(300).draw(4).inspect(23).crosshair(Crosshair.CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) .rec(new Receiver(0) @@ -57,7 +57,7 @@ public class XFactory357 { .setupStandardFire().recoil(LAMBDA_RECOIL_ATLAS)) .setupStandardConfiguration() .anim(LAMBDA_ATLAS_ANIMS).orchestra(Orchestras.ORCHESTRA_ATLAS) - ).setUnlocalizedName("gun_light_revolver_atlas"); + ).setDefaultAmmo(EnumAmmo.M357_JHP, 12).setUnlocalizedName("gun_light_revolver_atlas"); ModItems.gun_light_revolver_dani = new ItemGunBaseNT(WeaponQuality.LEGENDARY, new GunConfig().dura(30_000).draw(20).inspect(23).crosshair(Crosshair.CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) .rec(new Receiver(0) @@ -77,7 +77,7 @@ public class XFactory357 { .ps(Lego.LAMBDA_STANDARD_CLICK_PRIMARY).pr(Lego.LAMBDA_STANDARD_RELOAD) .decider(GunStateDecider.LAMBDA_STANDARD_DECIDER) .anim(LAMBDA_DANI_ANIMS).orchestra(Orchestras.ORCHESTRA_DANI) - ).setUnlocalizedName("gun_light_revolver_dani"); + ).setDefaultAmmo(EnumAmmo.M357_EXPRESS, 24).setUnlocalizedName("gun_light_revolver_dani"); } public static BiConsumer LAMBDA_RECOIL_ATLAS = (stack, ctx) -> { diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory40mm.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory40mm.java index c0cbc903f..744c673b8 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory40mm.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory40mm.java @@ -162,7 +162,7 @@ public class XFactory40mm { .setupStandardFire().recoil(LAMBDA_RECOIL_GL)) .setupStandardConfiguration() .anim(LAMBDA_FLAREGUN_ANIMS).orchestra(Orchestras.ORCHESTRA_FLAREGUN) - ).setUnlocalizedName("gun_flaregun"); + ).setDefaultAmmo(EnumAmmo.G26_FLARE, 3).setUnlocalizedName("gun_flaregun"); ModItems.gun_congolake = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() .dura(400).draw(7).inspect(39).reloadSequential(true).reloadChangeType(true).crosshair(Crosshair.L_CIRCUMFLEX).smoke(LAMBDA_SMOKE) @@ -173,7 +173,7 @@ public class XFactory40mm { .setupStandardFire().recoil(LAMBDA_RECOIL_GL)) .setupStandardConfiguration() .anim(LAMBDA_CONGOLAKE_ANIMS).orchestra(Orchestras.ORCHESTRA_CONGOLAKE) - ).setUnlocalizedName("gun_congolake"); + ).setDefaultAmmo(EnumAmmo.G40_HE, 8).setUnlocalizedName("gun_congolake"); } public static BiConsumer LAMBDA_SMOKE = (stack, ctx) -> { diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory44.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory44.java index 6b2230e0e..20fefa6eb 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory44.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory44.java @@ -94,7 +94,7 @@ public class XFactory44 { .setupStandardFire().recoil(LAMBDA_RECOIL_HENRY)) .setupStandardConfiguration() .anim(LAMBDA_HENRY_ANIMS).orchestra(Orchestras.ORCHESTRA_HENRY) - ).setUnlocalizedName("gun_henry"); + ).setDefaultAmmo(EnumAmmo.M44_SP, 14).setUnlocalizedName("gun_henry"); ModItems.gun_henry_lincoln = new ItemGunBaseNT(WeaponQuality.B_SIDE, new GunConfig() .dura(300).draw(15).inspect(23).reloadSequential(true).crosshair(Crosshair.CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) .rec(new Receiver(0) @@ -104,7 +104,7 @@ public class XFactory44 { .setupStandardFire().recoil(LAMBDA_RECOIL_HENRY)) .setupStandardConfiguration() .anim(LAMBDA_HENRY_ANIMS).orchestra(Orchestras.ORCHESTRA_HENRY) - ).setUnlocalizedName("gun_henry_lincoln"); + ).setDefaultAmmo(EnumAmmo.M44_JHP, 14).setUnlocalizedName("gun_henry_lincoln"); ModItems.gun_heavy_revolver = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() .dura(600).draw(10).inspect(23).crosshair(Crosshair.L_CLASSIC).smoke(Lego.LAMBDA_STANDARD_SMOKE) @@ -115,7 +115,7 @@ public class XFactory44 { .setupStandardFire().recoil(LAMBDA_RECOIL_NOPIP)) .setupStandardConfiguration() .anim(LAMBDA_NOPIP_ANIMS).orchestra(Orchestras.ORCHESTRA_NOPIP) - ).setNameMutator(LAMBDA_NAME_NOPIP) + ).setDefaultAmmo(EnumAmmo.M44_SP, 12).setNameMutator(LAMBDA_NAME_NOPIP) .setUnlocalizedName("gun_heavy_revolver"); ModItems.gun_heavy_revolver_lilmac = new ItemGunBaseNT(WeaponQuality.LEGENDARY, new GunConfig() .dura(31_000).draw(10).inspect(23).crosshair(Crosshair.L_CLASSIC).scopeTexture(scope_lilmac).smoke(Lego.LAMBDA_STANDARD_SMOKE) @@ -126,7 +126,7 @@ public class XFactory44 { .setupStandardFire().recoil(LAMBDA_RECOIL_NOPIP)) .setupStandardConfiguration() .anim(LAMBDA_LILMAC_ANIMS).orchestra(Orchestras.ORCHESTRA_NOPIP) - ).setUnlocalizedName("gun_heavy_revolver_lilmac"); + ).setDefaultAmmo(EnumAmmo.M44_JHP, 12).setUnlocalizedName("gun_heavy_revolver_lilmac"); ModItems.gun_heavy_revolver_protege = new ItemGunBaseNT(WeaponQuality.LEGENDARY, new GunConfig() .dura(31_000).draw(10).inspect(23).crosshair(Crosshair.L_CLASSIC).smoke(Lego.LAMBDA_STANDARD_SMOKE) .rec(new Receiver(0) @@ -136,7 +136,7 @@ public class XFactory44 { .setupStandardFire().recoil(LAMBDA_RECOIL_NOPIP)) .setupStandardConfiguration() .anim(LAMBDA_LILMAC_ANIMS).orchestra(Orchestras.ORCHESTRA_NOPIP) - ).setUnlocalizedName("gun_heavy_revolver_protege"); + ).setDefaultAmmo(EnumAmmo.M44_JHP, 12).setUnlocalizedName("gun_heavy_revolver_protege"); ModItems.gun_hangman = new ItemGunBaseNT(WeaponQuality.LEGENDARY, new GunConfig() .dura(600).draw(10).inspect(31).inspectCancel(false).crosshair(Crosshair.CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) @@ -147,7 +147,7 @@ public class XFactory44 { .setupStandardFire().recoil(LAMBDA_RECOIL_HANGMAN)) .setupStandardConfiguration().ps(SMACK_A_FUCKER) .anim(LAMBDA_HANGMAN_ANIMS).orchestra(Orchestras.ORCHESTRA_HANGMAN) - ).setUnlocalizedName("gun_hangman"); + ).setDefaultAmmo(EnumAmmo.M44_FMJ, 16).setUnlocalizedName("gun_hangman"); } public static Function LAMBDA_NAME_NOPIP = (stack) -> { diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory50.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory50.java index a86fc4e74..8e66ffd95 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory50.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory50.java @@ -89,7 +89,7 @@ public class XFactory50 { .setupStandardFire().recoil(LAMBDA_RECOIL_AMAT)) .setupStandardConfiguration() .anim(LAMBDA_AMAT_ANIMS).orchestra(Orchestras.ORCHESTRA_AMAT) - ).setUnlocalizedName("gun_amat"); + ).setDefaultAmmo(EnumAmmo.BMG50_SP, 7).setUnlocalizedName("gun_amat"); ModItems.gun_amat_subtlety = new ItemGunBaseNT(WeaponQuality.LEGENDARY, new GunConfig() .dura(1_000).draw(20).inspect(50).crosshair(Crosshair.CIRCLE).scopeTexture(scope).smoke(LAMBDA_SMOKE) .rec(new Receiver(0) @@ -99,7 +99,7 @@ public class XFactory50 { .setupStandardFire().recoil(LAMBDA_RECOIL_AMAT)) .setupStandardConfiguration() .anim(LAMBDA_AMAT_ANIMS).orchestra(Orchestras.ORCHESTRA_AMAT) - ).setUnlocalizedName("gun_amat_subtlety"); + ).setDefaultAmmo(EnumAmmo.BMG50_JHP, 7).setUnlocalizedName("gun_amat_subtlety"); ModItems.gun_amat_penance = new ItemGunBaseNT(WeaponQuality.LEGENDARY, new GunConfig() .dura(5_000).draw(20).inspect(50).crosshair(Crosshair.CIRCLE).scopeTexture(scope_thermal).thermalSights(true).smoke(LAMBDA_SMOKE) .rec(new Receiver(0) @@ -109,7 +109,7 @@ public class XFactory50 { .setupStandardFire().recoil(LAMBDA_RECOIL_AMAT)) .setupStandardConfiguration() .anim(LAMBDA_AMAT_ANIMS).orchestra(Orchestras.ORCHESTRA_AMAT) - ).setUnlocalizedName("gun_amat_penance"); + ).setDefaultAmmo(EnumAmmo.BMG50_JHP, 7).setUnlocalizedName("gun_amat_penance"); ModItems.gun_m2 = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() .dura(3_000).draw(10).inspect(31).crosshair(Crosshair.L_CIRCLE).smoke(LAMBDA_SMOKE) @@ -120,7 +120,7 @@ public class XFactory50 { .setupStandardFire().recoil(LAMBDA_RECOIL_M2)) .setupStandardConfiguration() .anim(LAMBDA_M2_ANIMS).orchestra(Orchestras.ORCHESTRA_M2) - ).setUnlocalizedName("gun_m2"); + ).setDefaultAmmo(EnumAmmo.BMG50_FMJ, 25).setUnlocalizedName("gun_m2"); } public static BiConsumer LAMBDA_SMOKE = (stack, ctx) -> { diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory556mm.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory556mm.java index a01c8eee4..93ff198b7 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory556mm.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory556mm.java @@ -81,7 +81,7 @@ public class XFactory556mm { .setupStandardFire().recoil(LAMBDA_RECOIL_G3)) .setupStandardConfiguration().ps(Lego.LAMBDA_STANDARD_CLICK_SECONDARY) .anim(LAMBDA_G3_ANIMS).orchestra(Orchestras.ORCHESTRA_G3) - ).setNameMutator(LAMBDA_NAME_G3).setUnlocalizedName("gun_g3"); + ).setDefaultAmmo(EnumAmmo.R556_SP, 30).setNameMutator(LAMBDA_NAME_G3).setUnlocalizedName("gun_g3"); ModItems.gun_g3_zebra = new ItemGunBaseNT(WeaponQuality.B_SIDE, new GunConfig() .dura(6_000).draw(10).inspect(33).crosshair(Crosshair.CIRCLE).smoke(LAMBDA_SMOKE).scopeTexture(scope) .rec(new Receiver(0) @@ -91,7 +91,7 @@ public class XFactory556mm { .setupStandardFire().recoil(LAMBDA_RECOIL_ZEBRA)) .setupStandardConfiguration().ps(Lego.LAMBDA_STANDARD_CLICK_SECONDARY) .anim(LAMBDA_G3_ANIMS).orchestra(Orchestras.ORCHESTRA_G3) - ).setNameMutator(LAMBDA_NAME_G3).setUnlocalizedName("gun_g3_zebra"); + ).setDefaultAmmo(EnumAmmo.R556_JHP, 30).setNameMutator(LAMBDA_NAME_G3).setUnlocalizedName("gun_g3_zebra"); ModItems.gun_stg77 = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() .dura(3_000).draw(10).inspect(125).crosshair(Crosshair.CIRCLE).scopeTexture(scope).smoke(LAMBDA_SMOKE) @@ -103,7 +103,7 @@ public class XFactory556mm { .pp(Lego.LAMBDA_STANDARD_CLICK_PRIMARY).ps(Lego.LAMBDA_STANDARD_CLICK_PRIMARY).pr(Lego.LAMBDA_STANDARD_RELOAD).pt(Lego.LAMBDA_TOGGLE_AIM) .decider(LAMBDA_STG77_DECIDER) .anim(LAMBDA_STG77_ANIMS).orchestra(Orchestras.ORCHESTRA_STG77) - ).setUnlocalizedName("gun_stg77"); + ).setDefaultAmmo(EnumAmmo.R556_FMJ, 30).setUnlocalizedName("gun_stg77"); } public static Function LAMBDA_NAME_G3 = (stack) -> { diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory75Bolt.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory75Bolt.java index b24293199..e4782f41c 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory75Bolt.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory75Bolt.java @@ -64,7 +64,7 @@ public class XFactory75Bolt { .setupStandardFire().recoil(LAMBDA_RECOIL_BOLT)) .setupStandardConfiguration() .anim(LAMBDA_BOLTER_ANIMS).orchestra(Orchestras.ORCHESTRA_BOLTER) - ).setUnlocalizedName("gun_bolter"); + ).setDefaultAmmo(EnumAmmo.B75, 15).setUnlocalizedName("gun_bolter"); } public static BiConsumer LAMBDA_SMOKE = (stack, ctx) -> { diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory762mm.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory762mm.java index ac120ea9c..65e58feeb 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory762mm.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory762mm.java @@ -75,7 +75,7 @@ public class XFactory762mm { .setupStandardFire().recoil(LAMBDA_RECOIL_CARBINE)) .setupStandardConfiguration() .anim(LAMBDA_CARBINE_ANIMS).orchestra(Orchestras.ORCHESTRA_CARBINE) - ).setUnlocalizedName("gun_carbine"); + ).setDefaultAmmo(EnumAmmo.R762_SP, 14).setUnlocalizedName("gun_carbine"); ModItems.gun_minigun = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() .dura(50_000).draw(20).inspect(20).crosshair(Crosshair.L_CIRCLE).smoke(LAMBDA_SMOKE) @@ -86,7 +86,7 @@ public class XFactory762mm { .setupStandardFire().recoil(LAMBDA_RECOIL_MINIGUN)) .setupStandardConfiguration() .anim(LAMBDA_MINIGUN_ANIMS).orchestra(Orchestras.ORCHESTRA_MINIGUN) - ).setUnlocalizedName("gun_minigun"); + ).setDefaultAmmo(EnumAmmo.R762_FMJ, 30).setUnlocalizedName("gun_minigun"); ModItems.gun_minigun_lacunae = new ItemGunBaseNT(WeaponQuality.LEGENDARY, new GunConfig() .dura(50_000).draw(20).inspect(20).crosshair(Crosshair.L_CIRCLE) .rec(new Receiver(0) @@ -96,7 +96,7 @@ public class XFactory762mm { .setupStandardFire().recoil(LAMBDA_RECOIL_LACUNAE)) .setupStandardConfiguration() .anim(LAMBDA_MINIGUN_ANIMS).orchestra(Orchestras.ORCHESTRA_MINIGUN) - ).setUnlocalizedName("gun_minigun_lacunae"); + ).setDefaultAmmo(EnumAmmo.CAPACITOR, 15).setUnlocalizedName("gun_minigun_lacunae"); ModItems.gun_minigun_dual = new ItemGunBaseNT(WeaponQuality.DEBUG, new GunConfig() .dura(50_000).draw(20).inspect(20).crosshair(Crosshair.L_CIRCLE).smoke(LAMBDA_SMOKE) @@ -118,7 +118,7 @@ public class XFactory762mm { .ps(Lego.LAMBDA_STANDARD_CLICK_PRIMARY).pr(Lego.LAMBDA_STANDARD_RELOAD) .decider(LAMBDA_SECOND_MINIGUN) .anim(LAMBDA_MINIGUN_ANIMS).orchestra(Orchestras.ORCHESTRA_MINIGUN_DUAL) - ).setUnlocalizedName("gun_minigun_dual"); + ).setDefaultAmmo(EnumAmmo.R762_SP, 50).setUnlocalizedName("gun_minigun_dual"); ModItems.gun_mas36 = new ItemGunBaseNT(WeaponQuality.LEGENDARY, new GunConfig() .dura(5_000).draw(20).inspect(31).reloadSequential(true).crosshair(Crosshair.CIRCLE).smoke(LAMBDA_SMOKE) @@ -129,7 +129,7 @@ public class XFactory762mm { .setupStandardFire().recoil(LAMBDA_RECOIL_CARBINE)) .setupStandardConfiguration() .anim(LAMBDA_MAS36_ANIMS).orchestra(Orchestras.ORCHESTRA_MAS36) - ).setUnlocalizedName("gun_mas36"); + ).setDefaultAmmo(EnumAmmo.R762_AP, 14).setUnlocalizedName("gun_mas36"); } public static BiConsumer LAMBDA_SECOND_MINIGUN = (stack, ctx) -> { diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory9mm.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory9mm.java index 1fd54dc07..a24bee713 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory9mm.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory9mm.java @@ -59,7 +59,7 @@ public class XFactory9mm { .setupStandardFire().recoil(LAMBDA_RECOIL_GREASEGUN)) .setupStandardConfiguration() .anim(LAMBDA_GREASEGUN_ANIMS).orchestra(Orchestras.ORCHESTRA_GREASEGUN) - ).setNameMutator(LAMBDA_NAME_GREASEGUN) + ).setDefaultAmmo(EnumAmmo.P9_SP, 30).setNameMutator(LAMBDA_NAME_GREASEGUN) .setUnlocalizedName("gun_greasegun"); ModItems.gun_lag = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() @@ -71,7 +71,7 @@ public class XFactory9mm { .setupStandardFire().fire(LAMBDA_FIRE_LAG).recoil(LAMBDA_RECOIL_LAG)) .setupStandardConfiguration() .anim(LAMBDA_LAG_ANIMS).orchestra(Orchestras.ORCHESTRA_LAG) - ).setUnlocalizedName("gun_lag"); + ).setDefaultAmmo(EnumAmmo.P9_JHP, 17).setUnlocalizedName("gun_lag"); ModItems.gun_uzi = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() .dura(3_000).draw(15).inspect(31).crosshair(Crosshair.CIRCLE).smoke(LAMBDA_SMOKE) @@ -82,7 +82,7 @@ public class XFactory9mm { .setupStandardFire().recoil(LAMBDA_RECOIL_UZI)) .setupStandardConfiguration() .anim(LAMBDA_UZI_ANIMS).orchestra(Orchestras.ORCHESTRA_UZI) - ).setNameMutator(LAMBDA_NAME_UZI) + ).setDefaultAmmo(EnumAmmo.P9_SP, 30).setNameMutator(LAMBDA_NAME_UZI) .setUnlocalizedName("gun_uzi"); ModItems.gun_uzi_akimbo = new ItemGunBaseNT(WeaponQuality.B_SIDE, new GunConfig().dura(3_000).draw(15).inspect(31).crosshair(Crosshair.CIRCLE).smoke(LAMBDA_SMOKE) @@ -103,7 +103,7 @@ public class XFactory9mm { .ps(Lego.LAMBDA_STANDARD_CLICK_PRIMARY).pr(Lego.LAMBDA_STANDARD_RELOAD) .decider(LAMBDA_SECOND_UZI) .anim(LAMBDA_UZI_ANIMS).orchestra(Orchestras.ORCHESTRA_UZI_AKIMBO) - ).setUnlocalizedName("gun_uzi_akimbo"); + ).setDefaultAmmo(EnumAmmo.P9_SP, 60).setUnlocalizedName("gun_uzi_akimbo"); } public static Function LAMBDA_NAME_GREASEGUN = (stack) -> { diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryAccelerator.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryAccelerator.java index 9f8e5a0c0..12fff6db0 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryAccelerator.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryAccelerator.java @@ -116,7 +116,7 @@ public class XFactoryAccelerator { .pr(Lego.LAMBDA_STANDARD_RELOAD) .decider(GunStateDecider.LAMBDA_STANDARD_DECIDER) .anim(LAMBDA_TAU_ANIMS).orchestra(Orchestras.ORCHESTRA_TAU) - ).setUnlocalizedName("gun_tau"); + ).setDefaultAmmo(EnumAmmo.TAU_URANIUM, 15).setUnlocalizedName("gun_tau"); ModItems.gun_coilgun = new ItemGunBaseNT(WeaponQuality.SPECIAL, new GunConfig() .dura(400).draw(5).inspect(39).crosshair(Crosshair.L_CIRCUMFLEX) @@ -127,7 +127,7 @@ public class XFactoryAccelerator { .setupStandardFire().recoil(LAMBDA_RECOIL_COILGUN)) .setupStandardConfiguration() .anim(LAMBDA_COILGUN_ANIMS).orchestra(Orchestras.ORCHESTRA_COILGUN) - ).setUnlocalizedName("gun_coilgun"); + ).setDefaultAmmo(EnumAmmo.COIL_TUNGSTEN, 5).setUnlocalizedName("gun_coilgun"); ModItems.gun_n_i_4_n_i = new ItemGunNI4NI(WeaponQuality.SPECIAL, new GunConfig() .dura(0).draw(5).inspect(39).crosshair(Crosshair.CIRCLE) diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryBlackPowder.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryBlackPowder.java index 343c968b5..3144f111f 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryBlackPowder.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryBlackPowder.java @@ -38,7 +38,7 @@ public class XFactoryBlackPowder { .setupStandardFire().recoil(LAMBDA_RECOIL_PEPPERBOX)) .setupStandardConfiguration() .anim(LAMBDA_PEPPERBOX_ANIMS).orchestra(Orchestras.ORCHESTRA_PEPPERBOX) - ).setUnlocalizedName("gun_pepperbox"); + ).setDefaultAmmo(EnumAmmo.STONE, 12).setUnlocalizedName("gun_pepperbox"); } public static BiConsumer LAMBDA_RECOIL_PEPPERBOX = (stack, ctx) -> { diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryCatapult.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryCatapult.java index 331884264..bccddd9ff 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryCatapult.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryCatapult.java @@ -171,7 +171,7 @@ public class XFactoryCatapult { .setupStandardFire().recoil(LAMBDA_RECOIL_FATMAN)) .setupStandardConfiguration() .anim(LAMBDA_FATMAN_ANIMS).orchestra(Orchestras.ORCHESTRA_FATMAN) - ).setUnlocalizedName("gun_fatman"); + ).setDefaultAmmo(EnumAmmo.NUKE_STANDARD, 1).setUnlocalizedName("gun_fatman"); } public static BiConsumer LAMBDA_RECOIL_FATMAN = (stack, ctx) -> { }; diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryEnergy.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryEnergy.java index 4ebb193a9..ed94def7d 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryEnergy.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryEnergy.java @@ -179,7 +179,7 @@ public class XFactoryEnergy { .setupStandardFire().recoil(LAMBDA_RECOIL_ENERGY)) .setupStandardConfiguration() .anim(LAMBDA_TESLA_ANIMS).orchestra(Orchestras.ORCHESTRA_TESLA) - ).setUnlocalizedName("gun_tesla_cannon"); + ).setDefaultAmmo(EnumAmmo.CAPACITOR, 15).setUnlocalizedName("gun_tesla_cannon"); ModItems.gun_laser_pistol = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() .dura(500).draw(10).inspect(26).crosshair(Crosshair.CIRCLE) @@ -190,7 +190,7 @@ public class XFactoryEnergy { .setupStandardFire().recoil(LAMBDA_RECOIL_ENERGY)) .setupStandardConfiguration() .anim(LAMBDA_LASER_PISTOL).orchestra(Orchestras.ORCHESTRA_LASER_PISTOL) - ).setUnlocalizedName("gun_laser_pistol"); + ).setDefaultAmmo(EnumAmmo.CAPACITOR, 15).setUnlocalizedName("gun_laser_pistol"); ModItems.gun_laser_pistol_pew_pew = new ItemGunBaseNT(WeaponQuality.B_SIDE, new GunConfig() .dura(500).draw(10).inspect(26).crosshair(Crosshair.CIRCLE) .rec(new Receiver(0) @@ -200,7 +200,7 @@ public class XFactoryEnergy { .setupStandardFire().recoil(LAMBDA_RECOIL_ENERGY)) .setupStandardConfiguration() .anim(LAMBDA_LASER_PISTOL).orchestra(Orchestras.ORCHESTRA_LASER_PISTOL) - ).setUnlocalizedName("gun_laser_pistol_pew_pew"); + ).setDefaultAmmo(EnumAmmo.CAPACITOR_OVERCHARGE, 10).setUnlocalizedName("gun_laser_pistol_pew_pew"); ModItems.gun_laser_pistol_morning_glory = new ItemGunBaseNT(WeaponQuality.LEGENDARY, new GunConfig() .dura(1_500).draw(10).inspect(26).crosshair(Crosshair.CIRCLE) .rec(new Receiver(0) @@ -210,7 +210,7 @@ public class XFactoryEnergy { .setupStandardFire().recoil(LAMBDA_RECOIL_ENERGY)) .setupStandardConfiguration() .anim(LAMBDA_LASER_PISTOL).orchestra(Orchestras.ORCHESTRA_LASER_PISTOL) - ).setUnlocalizedName("gun_laser_pistol_morning_glory"); + ).setDefaultAmmo(EnumAmmo.CAPACITOR_OVERCHARGE, 20).setUnlocalizedName("gun_laser_pistol_morning_glory"); ModItems.gun_lasrifle = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() .dura(2_000).draw(10).inspect(26).crosshair(Crosshair.CIRCLE).scopeTexture(scope_luna) @@ -221,7 +221,7 @@ public class XFactoryEnergy { .setupStandardFire().recoil(LAMBDA_RECOIL_ENERGY)) .setupStandardConfiguration() .anim(LAMBDA_LASRIFLE).orchestra(Orchestras.ORCHESTRA_LASRIFLE) - ).setUnlocalizedName("gun_lasrifle"); + ).setDefaultAmmo(EnumAmmo.CAPACITOR, 24).setUnlocalizedName("gun_lasrifle"); } public static BiConsumer LAMBDA_RECOIL_ENERGY = (stack, ctx) -> { }; diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryFlamer.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryFlamer.java index 0d1fc8db3..b6f16de62 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryFlamer.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryFlamer.java @@ -146,7 +146,7 @@ public class XFactoryFlamer { .setupStandardFire()) .setupStandardConfiguration() .anim(LAMBDA_FLAMER_ANIMS).orchestra(Orchestras.ORCHESTRA_FLAMER) - ).setUnlocalizedName("gun_flamer"); + ).setDefaultAmmo(EnumAmmo.FLAME_DIESEL, 1).setUnlocalizedName("gun_flamer"); ModItems.gun_flamer_topaz = new ItemGunBaseNT(WeaponQuality.B_SIDE, new GunConfig() .dura(20_000).draw(10).inspect(17).crosshair(Crosshair.L_CIRCLE) .rec(new Receiver(0) @@ -156,7 +156,7 @@ public class XFactoryFlamer { .setupStandardFire()) .setupStandardConfiguration() .anim(LAMBDA_FLAMER_ANIMS).orchestra(Orchestras.ORCHESTRA_FLAMER) - ).setUnlocalizedName("gun_flamer_topaz"); + ).setDefaultAmmo(EnumAmmo.FLAME_DIESEL, 1).setUnlocalizedName("gun_flamer_topaz"); ModItems.gun_flamer_daybreaker = new ItemGunBaseNT(WeaponQuality.LEGENDARY, new GunConfig() .dura(20_000).draw(10).inspect(17).crosshair(Crosshair.L_CIRCLE) .rec(new Receiver(0) @@ -166,7 +166,7 @@ public class XFactoryFlamer { .setupStandardFire()) .setupStandardConfiguration() .anim(LAMBDA_FLAMER_ANIMS).orchestra(Orchestras.ORCHESTRA_FLAMER_DAYBREAKER) - ).setUnlocalizedName("gun_flamer_daybreaker"); + ).setDefaultAmmo(EnumAmmo.FLAME_DIESEL, 1).setUnlocalizedName("gun_flamer_daybreaker"); ModItems.gun_chemthrower = new ItemGunChemthrower(WeaponQuality.A_SIDE, new GunConfig() .dura(90_000).draw(10).inspect(17).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryRocket.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryRocket.java index 5d5f1fb50..5010a64ef 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryRocket.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryRocket.java @@ -172,7 +172,7 @@ public class XFactoryRocket { .setupStandardFire().recoil(LAMBDA_RECOIL_ROCKET)) .setupStandardConfiguration() .anim(LAMBDA_PANZERSCHRECK_ANIMS).orchestra(Orchestras.ORCHESTRA_PANERSCHRECK) - ).setUnlocalizedName("gun_panzerschreck"); + ).setDefaultAmmo(EnumAmmo.ROCKET_HE, 3).setUnlocalizedName("gun_panzerschreck"); ModItems.gun_stinger = new ItemGunStinger(WeaponQuality.A_SIDE, new GunConfig() .dura(300).draw(7).inspect(40).crosshair(Crosshair.L_BOX_OUTLINE) @@ -183,7 +183,7 @@ public class XFactoryRocket { .setupLockonFire().recoil(LAMBDA_RECOIL_ROCKET)) .setupStandardConfiguration().ps(LAMBDA_STINGER_SECONDARY_PRESS).rs(LAMBDA_STINGER_SECONDARY_RELEASE) .anim(LAMBDA_PANZERSCHRECK_ANIMS).orchestra(Orchestras.ORCHESTRA_STINGER) - ).setUnlocalizedName("gun_stinger"); + ).setDefaultAmmo(EnumAmmo.ROCKET_HEAT, 3).setUnlocalizedName("gun_stinger"); ModItems.gun_quadro = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() .dura(400).draw(7).inspect(40).crosshair(Crosshair.L_CIRCUMFLEX).hideCrosshair(false) @@ -194,7 +194,7 @@ public class XFactoryRocket { .setupStandardFire().recoil(LAMBDA_RECOIL_ROCKET)) .setupStandardConfiguration() .anim(LAMBDA_QUADRO_ANIMS).orchestra(Orchestras.ORCHESTRA_QUADRO) - ).setUnlocalizedName("gun_quadro"); + ).setDefaultAmmo(EnumAmmo.ROCKET_HE, 4).setUnlocalizedName("gun_quadro"); ModItems.gun_missile_launcher = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() .dura(500).draw(20).inspect(40).crosshair(Crosshair.L_CIRCUMFLEX).hideCrosshair(false) @@ -205,7 +205,7 @@ public class XFactoryRocket { .setupStandardFire().recoil(LAMBDA_RECOIL_ROCKET)) .setupStandardConfiguration().pp(LAMBDA_MISSILE_LAUNCHER_PRIMARY_PRESS) .anim(LAMBDA_MISSILE_LAUNCHER_ANIMS).orchestra(Orchestras.ORCHESTRA_MISSILE_LAUNCHER) - ).setUnlocalizedName("gun_missile_launcher"); + ).setDefaultAmmo(EnumAmmo.ROCKET_HEAT, 5).setUnlocalizedName("gun_missile_launcher"); } public static BiConsumer LAMBDA_STINGER_SECONDARY_PRESS = (stack, ctx) -> { ItemGunStinger.setIsLockingOn(stack, true); }; diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryTool.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryTool.java index edbc60f20..3cb2ee781 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryTool.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactoryTool.java @@ -276,7 +276,7 @@ public class XFactoryTool { .setupStandardFire().recoil(LAMBDA_RECOIL_CT)) .setupStandardConfiguration() .anim(LAMBDA_CT_ANIMS).orchestra(Orchestras.ORCHESTRA_CHARGE_THROWER) - ).setUnlocalizedName("gun_charge_thrower"); + ).setDefaultAmmo(EnumAmmo.CT_MORTAR, 3).setUnlocalizedName("gun_charge_thrower"); } public static BiConsumer LAMBDA_RECOIL_CT = (stack, ctx) -> { diff --git a/src/main/java/com/hbm/lib/HbmWorldGen.java b/src/main/java/com/hbm/lib/HbmWorldGen.java index 1eb4db97b..3a2b61833 100644 --- a/src/main/java/com/hbm/lib/HbmWorldGen.java +++ b/src/main/java/com/hbm/lib/HbmWorldGen.java @@ -26,7 +26,6 @@ import com.hbm.world.generator.DungeonToolbox; import cpw.mods.fml.common.IWorldGenerator; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntityChest; import net.minecraft.util.WeightedRandom; import net.minecraft.util.WeightedRandomChestContent; import net.minecraft.world.World; @@ -501,74 +500,6 @@ public class HbmWorldGen implements IWorldGenerator { if(y > 1) (new Meteorite()).generate(world, rand, x, y, z, false, false, false); } - if (GeneralConfig.enableNITAN) { - - if (i <= 10000 && i + 16 >= 10000 && j <= 10000 && j + 16 >= 10000) { - if (world.getBlock(10000, 250, 10000) == Blocks.air) { - world.setBlock(10000, 250, 10000, Blocks.chest); - if (world.getBlock(10000, 250, 10000) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsSingle.POOL_POWDER), (TileEntityChest) world.getTileEntity(10000, 250, 10000), 29); - } - } - } - if (i <= 0 && i + 16 >= 0 && j <= 10000 && j + 16 >= 10000) { - if (world.getBlock(0, 250, 10000) == Blocks.air) { - world.setBlock(0, 250, 10000, Blocks.chest); - if (world.getBlock(0, 250, 10000) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsSingle.POOL_POWDER), (TileEntityChest) world.getTileEntity(0, 250, 10000), 29); - } - } - } - if (i <= -10000 && i + 16 >= -10000 && j <= 10000 && j + 16 >= 10000) { - if (world.getBlock(-10000, 250, 10000) == Blocks.air) { - world.setBlock(-10000, 250, 10000, Blocks.chest); - if (world.getBlock(-10000, 250, 10000) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsSingle.POOL_POWDER), (TileEntityChest) world.getTileEntity(-10000, 250, 10000), 29); - } - } - } - if (i <= 10000 && i + 16 >= 10000 && j <= 0 && j + 16 >= 0) { - if (world.getBlock(10000, 250, 0) == Blocks.air) { - world.setBlock(10000, 250, 0, Blocks.chest); - if (world.getBlock(10000, 250, 0) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsSingle.POOL_POWDER), (TileEntityChest) world.getTileEntity(10000, 250, 0), 29); - } - } - } - if (i <= -10000 && i + 16 >= -10000 && j <= 0 && j + 16 >= 0) { - if (world.getBlock(-10000, 250, 0) == Blocks.air) { - world.setBlock(-10000, 250, 0, Blocks.chest); - if (world.getBlock(-10000, 250, 0) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsSingle.POOL_POWDER), (TileEntityChest) world.getTileEntity(-10000, 250, 0), 29); - } - } - } - if (i <= 10000 && i + 16 >= 10000 && j <= -10000 && j + 16 >= -10000) { - if (world.getBlock(10000, 250, -10000) == Blocks.air) { - world.setBlock(10000, 250, -10000, Blocks.chest); - if (world.getBlock(10000, 250, -10000) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsSingle.POOL_POWDER), (TileEntityChest) world.getTileEntity(10000, 250, -10000), 29); - } - } - } - if (i <= 0 && i + 16 >= 0 && j <= -10000 && j + 16 >= -10000) { - if (world.getBlock(0, 250, -10000) == Blocks.air) { - world.setBlock(0, 250, -10000, Blocks.chest); - if (world.getBlock(0, 250, -10000) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsSingle.POOL_POWDER), (TileEntityChest) world.getTileEntity(0, 250, -10000), 29); - } - } - } - if (i <= -10000 && i + 16 >= -10000 && j <= -10000 && j + 16 >= -10000) { - if (world.getBlock(-10000, 250, -10000) == Blocks.air) { - world.setBlock(-10000, 250, -10000, Blocks.chest); - if (world.getBlock(-10000, 250, -10000) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, ItemPool.getPool(ItemPoolsSingle.POOL_POWDER), (TileEntityChest) world.getTileEntity(-10000, 250, -10000), 29); - } - } - } - } - if(rand.nextInt(4) == 0) { int x = i + rand.nextInt(16) + 8; int y = 6 + rand.nextInt(13); diff --git a/src/main/java/com/hbm/tileentity/machine/albion/TileEntityPASource.java b/src/main/java/com/hbm/tileentity/machine/albion/TileEntityPASource.java index 1128ff67f..1fdd1ccfc 100644 --- a/src/main/java/com/hbm/tileentity/machine/albion/TileEntityPASource.java +++ b/src/main/java/com/hbm/tileentity/machine/albion/TileEntityPASource.java @@ -109,6 +109,7 @@ public class TileEntityPASource extends TileEntityCooledBase implements IGUIProv } public void tryRun() { + if(!isCool()) return; if(slots[1].getItem().hasContainerItem(slots[1]) && slots[3] != null) return; if(slots[2].getItem().hasContainerItem(slots[2]) && slots[4] != null) return; diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 5e3835ddf..6619795de 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -1829,6 +1829,7 @@ item.ammo_arty_phosphorus_multi.name=16" Multi Phosphorus Shell item.ammo_bag.name=Ammo Bag item.ammo_bag_infinite.name=Infinite Ammo Bag item.ammo_container.name=Ammo Container +item.ammo_container.desc=Gives ammo for up to three held weapons item.ammo_dgk.name=Goalkeeper Twin CIWS 200 Round Belt item.ammo_fireext.name=Fire Extinguisher Water Tank item.ammo_fireext_foam.name=Fire Extinguisher Foam Tank diff --git a/src/main/resources/assets/hbm/textures/gui/reactors/gui_fusion_torus.png b/src/main/resources/assets/hbm/textures/gui/reactors/gui_fusion_torus.png new file mode 100644 index 0000000000000000000000000000000000000000..449aff5c16d52075327cc9b1d3df9528227a5d39 GIT binary patch literal 4236 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 Js^R$fzX0W~>u3M~ literal 0 HcmV?d00001