From 46ecff5efa873ed220f127cd415a68daf27cacbf Mon Sep 17 00:00:00 2001 From: 17146 <1714673995@qq.com> Date: Mon, 7 Apr 2025 00:52:52 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=99=AE=E9=80=9A=E8=A1=A5?= =?UTF-8?q?=E7=BB=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../59eb3dbb5f86130e09b3c62d89b9525ee01cf52d | 5 +- .../loot_table/containers/common.json | 140 ++++++ .../loot_table/special/common/blueprints.json | 121 +++++ .../loot_table/special/common/flags.json | 86 ++++ .../datagen/ModCustomLootProvider.java | 450 +++++++++++------- .../superbwarfare/init/ModVillagers.java | 2 + .../item/SmallContainerBlockItem.java | 3 +- .../assets/superbwarfare/lang/en_us.json | 1 + .../assets/superbwarfare/lang/zh_cn.json | 1 + 9 files changed, 640 insertions(+), 169 deletions(-) create mode 100644 src/generated/resources/data/superbwarfare/loot_table/containers/common.json create mode 100644 src/generated/resources/data/superbwarfare/loot_table/special/common/blueprints.json create mode 100644 src/generated/resources/data/superbwarfare/loot_table/special/common/flags.json diff --git a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d index 022b1a800..23b488635 100644 --- a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d +++ b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d @@ -1,4 +1,4 @@ -// 1.21.1 2025-04-07T06:25:07.2903636 Loot Tables +// 1.21.1 2025-04-07T06:30:45.3419999 Loot Tables 98386b2e65b2afb7cf5b0cabf6a7b0f062c1e640 data/superbwarfare/loot_table/blocks/barbed_wire.json 811e69929a14e6736015849c220100bb58d914c9 data/superbwarfare/loot_table/blocks/cemented_carbide_block.json 1f482bc1f0a1026d0e1b75ee28c6f541b56747a5 data/superbwarfare/loot_table/blocks/charging_station.json @@ -25,3 +25,6 @@ fb31a40f6a04000f317823cbb80eda8588ba9c69 data/superbwarfare/loot_table/blocks/si eef164cceb825ad572fc9d2eaef4631f9ec13c7f data/superbwarfare/loot_table/chests/blue_print_epic.json f28f40e6bca3090625550f4c62d5f2a1384fe3ba data/superbwarfare/loot_table/chests/blue_print_rare.json 7e75ff103ccdbcf6be6f61413a4173115195f0a9 data/superbwarfare/loot_table/containers/blueprints.json +8722142dcf789090bf49830de44db3cc01b86ce4 data/superbwarfare/loot_table/containers/common.json +151368546abc7b65138a0a822dd53b48999d86be data/superbwarfare/loot_table/special/common/blueprints.json +bdc01aa31e669b8ac6efed218533d51036c912f6 data/superbwarfare/loot_table/special/common/flags.json diff --git a/src/generated/resources/data/superbwarfare/loot_table/containers/common.json b/src/generated/resources/data/superbwarfare/loot_table/containers/common.json new file mode 100644 index 000000000..891552983 --- /dev/null +++ b/src/generated/resources/data/superbwarfare/loot_table/containers/common.json @@ -0,0 +1,140 @@ +{ + "type": "minecraft:chest", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "superbwarfare:epic_material_pack", + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "superbwarfare:cemented_carbide_block", + "weight": 2 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 4.0, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:experience_bottle", + "weight": 2 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 2.0, + "function": "minecraft:set_count" + } + ], + "name": "superbwarfare:rare_material_pack", + "weight": 4 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 3.0, + "function": "minecraft:set_count" + } + ], + "name": "superbwarfare:common_material_pack", + "weight": 6 + }, + { + "type": "minecraft:item", + "name": "superbwarfare:steel_block", + "weight": 14 + }, + { + "type": "minecraft:item", + "name": "minecraft:gold_block", + "weight": 20 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 64.0, + "function": "minecraft:set_count" + } + ], + "name": "superbwarfare:handgun_ammo", + "weight": 6 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 64.0, + "function": "minecraft:set_count" + } + ], + "name": "superbwarfare:rifle_ammo", + "weight": 6 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 32.0, + "function": "minecraft:set_count" + } + ], + "name": "superbwarfare:shotgun_ammo", + "weight": 6 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 32.0, + "function": "minecraft:set_count" + } + ], + "name": "superbwarfare:sniper_ammo", + "weight": 6 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 16.0, + "function": "minecraft:set_count" + } + ], + "name": "superbwarfare:heavy_ammo", + "weight": 6 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 9.0, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:coal_block", + "weight": 30 + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "superbwarfare:containers/common" +} \ No newline at end of file diff --git a/src/generated/resources/data/superbwarfare/loot_table/special/common/blueprints.json b/src/generated/resources/data/superbwarfare/loot_table/special/common/blueprints.json new file mode 100644 index 000000000..295fc9cc2 --- /dev/null +++ b/src/generated/resources/data/superbwarfare/loot_table/special/common/blueprints.json @@ -0,0 +1,121 @@ +{ + "type": "minecraft:chest", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "superbwarfare:glock_17_blueprint", + "weight": 4 + }, + { + "type": "minecraft:item", + "name": "superbwarfare:mp_443_blueprint", + "weight": 4 + }, + { + "type": "minecraft:item", + "name": "superbwarfare:m_1911_blueprint", + "weight": 4 + }, + { + "type": "minecraft:item", + "name": "superbwarfare:marlin_blueprint", + "weight": 4 + }, + { + "type": "minecraft:item", + "name": "superbwarfare:taser_blueprint", + "weight": 4 + }, + { + "type": "minecraft:item", + "name": "superbwarfare:glock_18_blueprint", + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "superbwarfare:ak_47_blueprint", + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "superbwarfare:qbz_95_blueprint", + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "superbwarfare:sks_blueprint", + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "superbwarfare:mosin_nagant_blueprint", + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "superbwarfare:m_870_blueprint", + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "superbwarfare:m_79_blueprint", + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "superbwarfare:bocek_blueprint", + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "superbwarfare:trachelium_blueprint", + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "superbwarfare:vector_blueprint", + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "superbwarfare:devotion_blueprint", + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "superbwarfare:m_98b_blueprint", + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "superbwarfare:aa_12_blueprint" + }, + { + "type": "minecraft:item", + "name": "superbwarfare:ntw_20_blueprint" + }, + { + "type": "minecraft:item", + "name": "superbwarfare:minigun_blueprint" + }, + { + "type": "minecraft:item", + "name": "superbwarfare:javelin_blueprint" + }, + { + "type": "minecraft:item", + "name": "superbwarfare:mk_42_blueprint" + }, + { + "type": "minecraft:item", + "name": "superbwarfare:mle_1934_blueprint" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "superbwarfare:special/common/blueprints" +} \ No newline at end of file diff --git a/src/generated/resources/data/superbwarfare/loot_table/special/common/flags.json b/src/generated/resources/data/superbwarfare/loot_table/special/common/flags.json new file mode 100644 index 000000000..2358f7650 --- /dev/null +++ b/src/generated/resources/data/superbwarfare/loot_table/special/common/flags.json @@ -0,0 +1,86 @@ +{ + "type": "minecraft:chest", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:red_banner" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:orange_banner" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:yellow_banner" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:green_banner" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:cyan_banner" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:blue_banner" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:purple_banner" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:pink_banner" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "superbwarfare:special/common/flags" +} \ No newline at end of file diff --git a/src/main/java/com/atsuishio/superbwarfare/datagen/ModCustomLootProvider.java b/src/main/java/com/atsuishio/superbwarfare/datagen/ModCustomLootProvider.java index 9816cb731..fcdd45d60 100644 --- a/src/main/java/com/atsuishio/superbwarfare/datagen/ModCustomLootProvider.java +++ b/src/main/java/com/atsuishio/superbwarfare/datagen/ModCustomLootProvider.java @@ -6,6 +6,7 @@ import net.minecraft.core.HolderLookup; import net.minecraft.core.registries.Registries; import net.minecraft.data.loot.LootTableSubProvider; import net.minecraft.resources.ResourceKey; +import net.minecraft.world.item.Items; import net.minecraft.world.level.ItemLike; import net.minecraft.world.level.storage.loot.LootPool; import net.minecraft.world.level.storage.loot.LootTable; @@ -36,183 +37,290 @@ public class ModCustomLootProvider implements LootTableSubProvider { super(); } + public static ResourceKey special(String name) { + return ResourceKey.create(Registries.LOOT_TABLE, Mod.loc("special/" + name)); + } + @Override public void generate(@NotNull BiConsumer, LootTable.Builder> output) { output.accept(chests("ancient_cpu"), LootTable.lootTable().withPool(singleItem(ModItems.ANCIENT_CPU.get(), 1, 1, 1, 1) .when(() -> LootItemRandomChanceCondition.randomChance(0.4f).build())) ); + output.accept(chests("blue_print_common"), + LootTable.lootTable().withPool(multiItems(1, 0, + new ItemEntry(ModItems.TASER_BLUEPRINT.get(), 50), + new ItemEntry(ModItems.GLOCK_17_BLUEPRINT.get(), 50), + new ItemEntry(ModItems.MP_443_BLUEPRINT.get(), 50), + new ItemEntry(ModItems.M_1911_BLUEPRINT.get(), 50), + new ItemEntry(ModItems.MARLIN_BLUEPRINT.get(), 50), - output.accept(chests("blue_print_common"), LootTable.lootTable().withPool(multiItems(1, 0, - new PoolTriple(ModItems.TASER_BLUEPRINT.get(), 50, 0), - new PoolTriple(ModItems.GLOCK_17_BLUEPRINT.get(), 50, 0), - new PoolTriple(ModItems.MP_443_BLUEPRINT.get(), 50, 0), - new PoolTriple(ModItems.M_1911_BLUEPRINT.get(), 50, 0), - new PoolTriple(ModItems.MARLIN_BLUEPRINT.get(), 50, 0), + new ItemEntry(ModItems.GLOCK_18_BLUEPRINT.get(), 15), + new ItemEntry(ModItems.M_79_BLUEPRINT.get(), 15), + new ItemEntry(ModItems.M_4_BLUEPRINT.get(), 15), + new ItemEntry(ModItems.SKS_BLUEPRINT.get(), 15), + new ItemEntry(ModItems.K_98_BLUEPRINT.get(), 15), + new ItemEntry(ModItems.MOSIN_NAGANT_BLUEPRINT.get(), 15), + new ItemEntry(ModItems.AK_47_BLUEPRINT.get(), 15), + new ItemEntry(ModItems.M_870_BLUEPRINT.get(), 15), + new ItemEntry(ModItems.HK_416_BLUEPRINT.get(), 15), + new ItemEntry(ModItems.AK_12_BLUEPRINT.get(), 15), + new ItemEntry(ModItems.QBZ_95_BLUEPRINT.get(), 15), + new ItemEntry(ModItems.RPG_BLUEPRINT.get(), 15), + new ItemEntry(ModItems.M_2_HB_BLUEPRINT.get(), 15), - new PoolTriple(ModItems.GLOCK_18_BLUEPRINT.get(), 15, 0), - new PoolTriple(ModItems.M_79_BLUEPRINT.get(), 15, 0), - new PoolTriple(ModItems.M_4_BLUEPRINT.get(), 15, 0), - new PoolTriple(ModItems.SKS_BLUEPRINT.get(), 15, 0), - new PoolTriple(ModItems.K_98_BLUEPRINT.get(), 15, 0), - new PoolTriple(ModItems.MOSIN_NAGANT_BLUEPRINT.get(), 15, 0), - new PoolTriple(ModItems.AK_47_BLUEPRINT.get(), 15, 0), - new PoolTriple(ModItems.M_870_BLUEPRINT.get(), 15, 0), - new PoolTriple(ModItems.HK_416_BLUEPRINT.get(), 15, 0), - new PoolTriple(ModItems.AK_12_BLUEPRINT.get(), 15, 0), - new PoolTriple(ModItems.QBZ_95_BLUEPRINT.get(), 15, 0), - new PoolTriple(ModItems.RPG_BLUEPRINT.get(), 15, 0), - new PoolTriple(ModItems.M_2_HB_BLUEPRINT.get(), 15, 0), + new ItemEntry(ModItems.TRACHELIUM_BLUEPRINT.get(), 1), + new ItemEntry(ModItems.HUNTING_RIFLE_BLUEPRINT.get(), 1), + new ItemEntry(ModItems.BOCEK_BLUEPRINT.get(), 1), + new ItemEntry(ModItems.RPK_BLUEPRINT.get(), 1), + new ItemEntry(ModItems.VECTOR_BLUEPRINT.get(), 1), + new ItemEntry(ModItems.MK_14_BLUEPRINT.get(), 1), + new ItemEntry(ModItems.M_60_BLUEPRINT.get(), 1), + new ItemEntry(ModItems.SVD_BLUEPRINT.get(), 1), + new ItemEntry(ModItems.M_98B_BLUEPRINT.get(), 1), + new ItemEntry(ModItems.DEVOTION_BLUEPRINT.get(), 1), + new ItemEntry(ModItems.INSIDIOUS_BLUEPRINT.get(), 1) + )) + .withPool(multiItems(2, 0, + new ItemEntry(ModItems.HANDGUN_AMMO_BOX.get(), 12) + .setCountBetween(1, 2), + new ItemEntry(ModItems.RIFLE_AMMO_BOX.get(), 20) + .setCountBetween(1, 2), + new ItemEntry(ModItems.SNIPER_AMMO_BOX.get(), 10) + .setCountBetween(1, 2), + new ItemEntry(ModItems.SHOTGUN_AMMO_BOX.get(), 17) + .setCountBetween(1, 2), + new ItemEntry(ModItems.GRENADE_40MM.get(), 6) + .setCountBetween(1, 3), + new ItemEntry(ModItems.ROCKET.get(), 4) + .setCountBetween(1, 2), + new ItemEntry(ModItems.MORTAR_SHELL.get(), 6) + .setCountBetween(1, 4), + new ItemEntry(ModItems.CLAYMORE_MINE.get(), 3) + .setCountBetween(1, 3), + new ItemEntry(ModItems.C4_BOMB.get(), 1) + ))); + output.accept(chests("blue_print_rare"), + LootTable.lootTable().withPool(multiItems(1, 0, + new ItemEntry(ModItems.TASER_BLUEPRINT.get(), 10), + new ItemEntry(ModItems.GLOCK_17_BLUEPRINT.get(), 10), + new ItemEntry(ModItems.MP_443_BLUEPRINT.get(), 10), + new ItemEntry(ModItems.M_1911_BLUEPRINT.get(), 10), + new ItemEntry(ModItems.MARLIN_BLUEPRINT.get(), 10), - new PoolTriple(ModItems.TRACHELIUM_BLUEPRINT.get(), 1, 0), - new PoolTriple(ModItems.HUNTING_RIFLE_BLUEPRINT.get(), 1, 0), - new PoolTriple(ModItems.BOCEK_BLUEPRINT.get(), 1, 0), - new PoolTriple(ModItems.RPK_BLUEPRINT.get(), 1, 0), - new PoolTriple(ModItems.VECTOR_BLUEPRINT.get(), 1, 0), - new PoolTriple(ModItems.MK_14_BLUEPRINT.get(), 1, 0), - new PoolTriple(ModItems.M_60_BLUEPRINT.get(), 1, 0), - new PoolTriple(ModItems.SVD_BLUEPRINT.get(), 1, 0), - new PoolTriple(ModItems.M_98B_BLUEPRINT.get(), 1, 0), - new PoolTriple(ModItems.DEVOTION_BLUEPRINT.get(), 1, 0), - new PoolTriple(ModItems.INSIDIOUS_BLUEPRINT.get(), 1, 0) - )).withPool(multiItems(2, 0, - new PoolTriple(ModItems.HANDGUN_AMMO_BOX.get(), 12, 0).setCountBetween(1, 2), - new PoolTriple(ModItems.RIFLE_AMMO_BOX.get(), 20, 0).setCountBetween(1, 2), - new PoolTriple(ModItems.SNIPER_AMMO_BOX.get(), 10, 0).setCountBetween(1, 2), - new PoolTriple(ModItems.SHOTGUN_AMMO_BOX.get(), 17, 0).setCountBetween(1, 2), - new PoolTriple(ModItems.GRENADE_40MM.get(), 6, 0).setCountBetween(1, 3), - new PoolTriple(ModItems.ROCKET.get(), 4, 0).setCountBetween(1, 2), - new PoolTriple(ModItems.MORTAR_SHELL.get(), 6, 0).setCountBetween(1, 4), - new PoolTriple(ModItems.CLAYMORE_MINE.get(), 3, 0).setCountBetween(1, 3), - new PoolTriple(ModItems.C4_BOMB.get(), 1, 0) - ))); - output.accept(chests("blue_print_rare"), LootTable.lootTable().withPool(multiItems(1, 0, - new PoolTriple(ModItems.TASER_BLUEPRINT.get(), 10, 0), - new PoolTriple(ModItems.GLOCK_17_BLUEPRINT.get(), 10, 0), - new PoolTriple(ModItems.MP_443_BLUEPRINT.get(), 10, 0), - new PoolTriple(ModItems.M_1911_BLUEPRINT.get(), 10, 0), - new PoolTriple(ModItems.MARLIN_BLUEPRINT.get(), 10, 0), + new ItemEntry(ModItems.GLOCK_18_BLUEPRINT.get(), 30), + new ItemEntry(ModItems.M_79_BLUEPRINT.get(), 30), + new ItemEntry(ModItems.M_4_BLUEPRINT.get(), 30), + new ItemEntry(ModItems.SKS_BLUEPRINT.get(), 30), + new ItemEntry(ModItems.K_98_BLUEPRINT.get(), 30), + new ItemEntry(ModItems.MOSIN_NAGANT_BLUEPRINT.get(), 30), + new ItemEntry(ModItems.AK_47_BLUEPRINT.get(), 30), + new ItemEntry(ModItems.M_870_BLUEPRINT.get(), 30), + new ItemEntry(ModItems.HK_416_BLUEPRINT.get(), 30), + new ItemEntry(ModItems.AK_12_BLUEPRINT.get(), 30), + new ItemEntry(ModItems.QBZ_95_BLUEPRINT.get(), 30), + new ItemEntry(ModItems.RPG_BLUEPRINT.get(), 30), + new ItemEntry(ModItems.M_2_HB_BLUEPRINT.get(), 30), - new PoolTriple(ModItems.GLOCK_18_BLUEPRINT.get(), 30, 0), - new PoolTriple(ModItems.M_79_BLUEPRINT.get(), 30, 0), - new PoolTriple(ModItems.M_4_BLUEPRINT.get(), 30, 0), - new PoolTriple(ModItems.SKS_BLUEPRINT.get(), 30, 0), - new PoolTriple(ModItems.K_98_BLUEPRINT.get(), 30, 0), - new PoolTriple(ModItems.MOSIN_NAGANT_BLUEPRINT.get(), 30, 0), - new PoolTriple(ModItems.AK_47_BLUEPRINT.get(), 30, 0), - new PoolTriple(ModItems.M_870_BLUEPRINT.get(), 30, 0), - new PoolTriple(ModItems.HK_416_BLUEPRINT.get(), 30, 0), - new PoolTriple(ModItems.AK_12_BLUEPRINT.get(), 30, 0), - new PoolTriple(ModItems.QBZ_95_BLUEPRINT.get(), 30, 0), - new PoolTriple(ModItems.RPG_BLUEPRINT.get(), 30, 0), - new PoolTriple(ModItems.M_2_HB_BLUEPRINT.get(), 30, 0), + new ItemEntry(ModItems.TRACHELIUM_BLUEPRINT.get(), 10), + new ItemEntry(ModItems.HUNTING_RIFLE_BLUEPRINT.get(), 10), + new ItemEntry(ModItems.BOCEK_BLUEPRINT.get(), 10), + new ItemEntry(ModItems.RPK_BLUEPRINT.get(), 10), + new ItemEntry(ModItems.VECTOR_BLUEPRINT.get(), 10), + new ItemEntry(ModItems.MK_14_BLUEPRINT.get(), 10), + new ItemEntry(ModItems.M_60_BLUEPRINT.get(), 10), + new ItemEntry(ModItems.SVD_BLUEPRINT.get(), 10), + new ItemEntry(ModItems.M_98B_BLUEPRINT.get(), 10), + new ItemEntry(ModItems.DEVOTION_BLUEPRINT.get(), 10), + new ItemEntry(ModItems.INSIDIOUS_BLUEPRINT.get(), 10), - new PoolTriple(ModItems.TRACHELIUM_BLUEPRINT.get(), 10, 0), - new PoolTriple(ModItems.HUNTING_RIFLE_BLUEPRINT.get(), 10, 0), - new PoolTriple(ModItems.BOCEK_BLUEPRINT.get(), 10, 0), - new PoolTriple(ModItems.RPK_BLUEPRINT.get(), 10, 0), - new PoolTriple(ModItems.VECTOR_BLUEPRINT.get(), 10, 0), - new PoolTriple(ModItems.MK_14_BLUEPRINT.get(), 10, 0), - new PoolTriple(ModItems.M_60_BLUEPRINT.get(), 10, 0), - new PoolTriple(ModItems.SVD_BLUEPRINT.get(), 10, 0), - new PoolTriple(ModItems.M_98B_BLUEPRINT.get(), 10, 0), - new PoolTriple(ModItems.DEVOTION_BLUEPRINT.get(), 10, 0), - new PoolTriple(ModItems.INSIDIOUS_BLUEPRINT.get(), 10, 0), + new ItemEntry(ModItems.AA_12_BLUEPRINT.get(), 3), + new ItemEntry(ModItems.NTW_20_BLUEPRINT.get(), 3), + new ItemEntry(ModItems.MINIGUN_BLUEPRINT.get(), 3), + new ItemEntry(ModItems.SENTINEL_BLUEPRINT.get(), 3), + new ItemEntry(ModItems.JAVELIN_BLUEPRINT.get(), 3), + new ItemEntry(ModItems.SECONDARY_CATACLYSM_BLUEPRINT.get(), 3), + new ItemEntry(ModItems.MK_42_BLUEPRINT.get(), 3), + new ItemEntry(ModItems.MLE_1934_BLUEPRINT.get(), 3), + new ItemEntry(ModItems.ANNIHILATOR_BLUEPRINT.get(), 1) + )) + .withPool(multiItems(2, 0, + new ItemEntry(ModItems.HANDGUN_AMMO_BOX.get(), 12) + .setCountBetween(1, 3), + new ItemEntry(ModItems.RIFLE_AMMO_BOX.get(), 20) + .setCountBetween(1, 3), + new ItemEntry(ModItems.SNIPER_AMMO_BOX.get(), 10) + .setCountBetween(1, 3), + new ItemEntry(ModItems.SHOTGUN_AMMO_BOX.get(), 17) + .setCountBetween(1, 3), + new ItemEntry(ModItems.GRENADE_40MM.get(), 6) + .setCountBetween(2, 6), + new ItemEntry(ModItems.ROCKET.get(), 4) + .setCountBetween(2, 4), + new ItemEntry(ModItems.MORTAR_SHELL.get(), 6) + .setCountBetween(2, 8), + new ItemEntry(ModItems.CLAYMORE_MINE.get(), 3) + .setCountBetween(2, 6), + new ItemEntry(ModItems.C4_BOMB.get(), 1) + .setCountBetween(1, 2) + ))); + output.accept(chests("blue_print_epic"), + LootTable.lootTable().withPool(multiItems(1, 0, + new ItemEntry(ModItems.TRACHELIUM_BLUEPRINT.get(), 10), + new ItemEntry(ModItems.HUNTING_RIFLE_BLUEPRINT.get(), 10), + new ItemEntry(ModItems.BOCEK_BLUEPRINT.get(), 10), + new ItemEntry(ModItems.RPK_BLUEPRINT.get(), 10), + new ItemEntry(ModItems.VECTOR_BLUEPRINT.get(), 10), + new ItemEntry(ModItems.MK_14_BLUEPRINT.get(), 10), + new ItemEntry(ModItems.M_60_BLUEPRINT.get(), 10), + new ItemEntry(ModItems.SVD_BLUEPRINT.get(), 10), + new ItemEntry(ModItems.M_98B_BLUEPRINT.get(), 10), + new ItemEntry(ModItems.DEVOTION_BLUEPRINT.get(), 10), + new ItemEntry(ModItems.INSIDIOUS_BLUEPRINT.get(), 10), - new PoolTriple(ModItems.AA_12_BLUEPRINT.get(), 3, 0), - new PoolTriple(ModItems.NTW_20_BLUEPRINT.get(), 3, 0), - new PoolTriple(ModItems.MINIGUN_BLUEPRINT.get(), 3, 0), - new PoolTriple(ModItems.SENTINEL_BLUEPRINT.get(), 3, 0), - new PoolTriple(ModItems.JAVELIN_BLUEPRINT.get(), 3, 0), - new PoolTriple(ModItems.SECONDARY_CATACLYSM_BLUEPRINT.get(), 3, 0), - new PoolTriple(ModItems.MK_42_BLUEPRINT.get(), 3, 0), - new PoolTriple(ModItems.MLE_1934_BLUEPRINT.get(), 3, 0), - new PoolTriple(ModItems.ANNIHILATOR_BLUEPRINT.get(), 1, 0) - )).withPool(multiItems(2, 0, - new PoolTriple(ModItems.HANDGUN_AMMO_BOX.get(), 12, 0).setCountBetween(1, 3), - new PoolTriple(ModItems.RIFLE_AMMO_BOX.get(), 20, 0).setCountBetween(1, 3), - new PoolTriple(ModItems.SNIPER_AMMO_BOX.get(), 10, 0).setCountBetween(1, 3), - new PoolTriple(ModItems.SHOTGUN_AMMO_BOX.get(), 17, 0).setCountBetween(1, 3), - new PoolTriple(ModItems.GRENADE_40MM.get(), 6, 0).setCountBetween(2, 6), - new PoolTriple(ModItems.ROCKET.get(), 4, 0).setCountBetween(2, 4), - new PoolTriple(ModItems.MORTAR_SHELL.get(), 6, 0).setCountBetween(2, 8), - new PoolTriple(ModItems.CLAYMORE_MINE.get(), 3, 0).setCountBetween(2, 6), - new PoolTriple(ModItems.C4_BOMB.get(), 1, 0).setCountBetween(1, 2) - ))); - output.accept(chests("blue_print_epic"), LootTable.lootTable().withPool(multiItems(1, 0, - new PoolTriple(ModItems.TRACHELIUM_BLUEPRINT.get(), 10, 0), - new PoolTriple(ModItems.HUNTING_RIFLE_BLUEPRINT.get(), 10, 0), - new PoolTriple(ModItems.BOCEK_BLUEPRINT.get(), 10, 0), - new PoolTriple(ModItems.RPK_BLUEPRINT.get(), 10, 0), - new PoolTriple(ModItems.VECTOR_BLUEPRINT.get(), 10, 0), - new PoolTriple(ModItems.MK_14_BLUEPRINT.get(), 10, 0), - new PoolTriple(ModItems.M_60_BLUEPRINT.get(), 10, 0), - new PoolTriple(ModItems.SVD_BLUEPRINT.get(), 10, 0), - new PoolTriple(ModItems.M_98B_BLUEPRINT.get(), 10, 0), - new PoolTriple(ModItems.DEVOTION_BLUEPRINT.get(), 10, 0), - new PoolTriple(ModItems.INSIDIOUS_BLUEPRINT.get(), 10, 0), + new ItemEntry(ModItems.AA_12_BLUEPRINT.get(), 20), + new ItemEntry(ModItems.NTW_20_BLUEPRINT.get(), 20), + new ItemEntry(ModItems.MINIGUN_BLUEPRINT.get(), 20), + new ItemEntry(ModItems.SENTINEL_BLUEPRINT.get(), 20), + new ItemEntry(ModItems.JAVELIN_BLUEPRINT.get(), 15), + new ItemEntry(ModItems.SECONDARY_CATACLYSM_BLUEPRINT.get(), 15), + new ItemEntry(ModItems.MK_42_BLUEPRINT.get(), 10), + new ItemEntry(ModItems.MLE_1934_BLUEPRINT.get(), 10), + new ItemEntry(ModItems.ANNIHILATOR_BLUEPRINT.get(), 5) + )) + .withPool(multiItems(2, 0, + new ItemEntry(ModItems.HANDGUN_AMMO_BOX.get(), 12) + .setCountBetween(2, 4), + new ItemEntry(ModItems.RIFLE_AMMO_BOX.get(), 20) + .setCountBetween(2, 4), + new ItemEntry(ModItems.SNIPER_AMMO_BOX.get(), 10) + .setCountBetween(2, 4), + new ItemEntry(ModItems.SHOTGUN_AMMO_BOX.get(), 17) + .setCountBetween(2, 4), + new ItemEntry(ModItems.HEAVY_AMMO.get(), 10) + .setCountBetween(10, 24), + new ItemEntry(ModItems.GRENADE_40MM.get(), 6) + .setCountBetween(4, 12), + new ItemEntry(ModItems.ROCKET.get(), 4) + .setCountBetween(4, 8), + new ItemEntry(ModItems.MORTAR_SHELL.get(), 6) + .setCountBetween(4, 8), + new ItemEntry(ModItems.CLAYMORE_MINE.get(), 3) + .setCountBetween(4, 12), + new ItemEntry(ModItems.C4_BOMB.get(), 1) + .setCountBetween(2, 4), + new ItemEntry(ModItems.JAVELIN_MISSILE.get(), 1) + .setCountBetween(1, 2) + ))); - new PoolTriple(ModItems.AA_12_BLUEPRINT.get(), 20, 0), - new PoolTriple(ModItems.NTW_20_BLUEPRINT.get(), 20, 0), - new PoolTriple(ModItems.MINIGUN_BLUEPRINT.get(), 20, 0), - new PoolTriple(ModItems.SENTINEL_BLUEPRINT.get(), 20, 0), - new PoolTriple(ModItems.JAVELIN_BLUEPRINT.get(), 15, 0), - new PoolTriple(ModItems.SECONDARY_CATACLYSM_BLUEPRINT.get(), 15, 0), - new PoolTriple(ModItems.MK_42_BLUEPRINT.get(), 10, 0), - new PoolTriple(ModItems.MLE_1934_BLUEPRINT.get(), 10, 0), - new PoolTriple(ModItems.ANNIHILATOR_BLUEPRINT.get(), 5, 0) - )).withPool(multiItems(2, 0, - new PoolTriple(ModItems.HANDGUN_AMMO_BOX.get(), 12, 0).setCountBetween(2, 4), - new PoolTriple(ModItems.RIFLE_AMMO_BOX.get(), 20, 0).setCountBetween(2, 4), - new PoolTriple(ModItems.SNIPER_AMMO_BOX.get(), 10, 0).setCountBetween(2, 4), - new PoolTriple(ModItems.SHOTGUN_AMMO_BOX.get(), 17, 0).setCountBetween(2, 4), - new PoolTriple(ModItems.HEAVY_AMMO.get(), 10, 0).setCountBetween(10, 24), - new PoolTriple(ModItems.GRENADE_40MM.get(), 6, 0).setCountBetween(4, 12), - new PoolTriple(ModItems.ROCKET.get(), 4, 0).setCountBetween(4, 8), - new PoolTriple(ModItems.MORTAR_SHELL.get(), 6, 0).setCountBetween(4, 8), - new PoolTriple(ModItems.CLAYMORE_MINE.get(), 3, 0).setCountBetween(4, 12), - new PoolTriple(ModItems.C4_BOMB.get(), 1, 0).setCountBetween(2, 4), - new PoolTriple(ModItems.JAVELIN_MISSILE.get(), 1, 0).setCountBetween(1, 2) - ))); + output.accept(containers("blueprints"), + LootTable.lootTable().withPool(multiItems(1, 0, + new ItemEntry(ModItems.GLOCK_17_BLUEPRINT.get(), 60), + new ItemEntry(ModItems.MP_443_BLUEPRINT.get(), 60), + new ItemEntry(ModItems.TASER_BLUEPRINT.get(), 60), + new ItemEntry(ModItems.MARLIN_BLUEPRINT.get(), 60), + new ItemEntry(ModItems.M_1911_BLUEPRINT.get(), 60), - output.accept(containers("blueprints"), LootTable.lootTable().withPool(multiItems(1, 0, - new PoolTriple(ModItems.GLOCK_17_BLUEPRINT.get(), 60, 0), - new PoolTriple(ModItems.MP_443_BLUEPRINT.get(), 60, 0), - new PoolTriple(ModItems.TASER_BLUEPRINT.get(), 60, 0), - new PoolTriple(ModItems.MARLIN_BLUEPRINT.get(), 60, 0), - new PoolTriple(ModItems.M_1911_BLUEPRINT.get(), 60, 0), + new ItemEntry(ModItems.GLOCK_18_BLUEPRINT.get(), 42), + new ItemEntry(ModItems.M_79_BLUEPRINT.get(), 42), + new ItemEntry(ModItems.M_4_BLUEPRINT.get(), 42), + new ItemEntry(ModItems.SKS_BLUEPRINT.get(), 42), + new ItemEntry(ModItems.M_870_BLUEPRINT.get(), 42), + new ItemEntry(ModItems.AK_47_BLUEPRINT.get(), 42), + new ItemEntry(ModItems.K_98_BLUEPRINT.get(), 42), + new ItemEntry(ModItems.MOSIN_NAGANT_BLUEPRINT.get(), 42), + new ItemEntry(ModItems.HK_416_BLUEPRINT.get(), 42), + new ItemEntry(ModItems.AK_12_BLUEPRINT.get(), 42), + new ItemEntry(ModItems.QBZ_95_BLUEPRINT.get(), 42), + new ItemEntry(ModItems.RPG_BLUEPRINT.get(), 42), - new PoolTriple(ModItems.GLOCK_18_BLUEPRINT.get(), 42, 0), - new PoolTriple(ModItems.M_79_BLUEPRINT.get(), 42, 0), - new PoolTriple(ModItems.M_4_BLUEPRINT.get(), 42, 0), - new PoolTriple(ModItems.SKS_BLUEPRINT.get(), 42, 0), - new PoolTriple(ModItems.M_870_BLUEPRINT.get(), 42, 0), - new PoolTriple(ModItems.AK_47_BLUEPRINT.get(), 42, 0), - new PoolTriple(ModItems.K_98_BLUEPRINT.get(), 42, 0), - new PoolTriple(ModItems.MOSIN_NAGANT_BLUEPRINT.get(), 42, 0), - new PoolTriple(ModItems.HK_416_BLUEPRINT.get(), 42, 0), - new PoolTriple(ModItems.AK_12_BLUEPRINT.get(), 42, 0), - new PoolTriple(ModItems.QBZ_95_BLUEPRINT.get(), 42, 0), - new PoolTriple(ModItems.RPG_BLUEPRINT.get(), 42, 0), + new ItemEntry(ModItems.TRACHELIUM_BLUEPRINT.get(), 15), + new ItemEntry(ModItems.HUNTING_RIFLE_BLUEPRINT.get(), 15), + new ItemEntry(ModItems.BOCEK_BLUEPRINT.get(), 15), + new ItemEntry(ModItems.RPK_BLUEPRINT.get(), 15), + new ItemEntry(ModItems.VECTOR_BLUEPRINT.get(), 15), + new ItemEntry(ModItems.MK_14_BLUEPRINT.get(), 15), + new ItemEntry(ModItems.M_60_BLUEPRINT.get(), 15), + new ItemEntry(ModItems.SVD_BLUEPRINT.get(), 15), + new ItemEntry(ModItems.M_98B_BLUEPRINT.get(), 15), + new ItemEntry(ModItems.DEVOTION_BLUEPRINT.get(), 15), + new ItemEntry(ModItems.INSIDIOUS_BLUEPRINT.get(), 15), - new PoolTriple(ModItems.TRACHELIUM_BLUEPRINT.get(), 15, 0), - new PoolTriple(ModItems.HUNTING_RIFLE_BLUEPRINT.get(), 15, 0), - new PoolTriple(ModItems.BOCEK_BLUEPRINT.get(), 15, 0), - new PoolTriple(ModItems.RPK_BLUEPRINT.get(), 15, 0), - new PoolTriple(ModItems.VECTOR_BLUEPRINT.get(), 15, 0), - new PoolTriple(ModItems.MK_14_BLUEPRINT.get(), 15, 0), - new PoolTriple(ModItems.M_60_BLUEPRINT.get(), 15, 0), - new PoolTriple(ModItems.SVD_BLUEPRINT.get(), 15, 0), - new PoolTriple(ModItems.M_98B_BLUEPRINT.get(), 15, 0), - new PoolTriple(ModItems.DEVOTION_BLUEPRINT.get(), 15, 0), - new PoolTriple(ModItems.INSIDIOUS_BLUEPRINT.get(), 15, 0), + new ItemEntry(ModItems.AA_12_BLUEPRINT.get(), 5), + new ItemEntry(ModItems.NTW_20_BLUEPRINT.get(), 5), + new ItemEntry(ModItems.MINIGUN_BLUEPRINT.get(), 5), + new ItemEntry(ModItems.SENTINEL_BLUEPRINT.get(), 5), + new ItemEntry(ModItems.JAVELIN_BLUEPRINT.get(), 5), + new ItemEntry(ModItems.SECONDARY_CATACLYSM_BLUEPRINT.get(), 5) + ))); + output.accept(containers("common"), + LootTable.lootTable().withPool(multiItems(1, 0, + new ItemEntry(ModItems.EPIC_MATERIAL_PACK.get(), 2), + new ItemEntry(ModItems.CEMENTED_CARBIDE_BLOCK.get(), 2), + new ItemEntry(Items.EXPERIENCE_BOTTLE, 2) + .setCount(4), + new ItemEntry(ModItems.RARE_MATERIAL_PACK.get(), 4) + .setCount(2), + new ItemEntry(ModItems.COMMON_MATERIAL_PACK.get(), 6) + .setCount(3), + new ItemEntry(ModItems.STEEL_BLOCK.get(), 14), + new ItemEntry(Items.GOLD_BLOCK, 20), + new ItemEntry(ModItems.HANDGUN_AMMO.get(), 6) + .setCount(64), + new ItemEntry(ModItems.RIFLE_AMMO.get(), 6) + .setCount(64), + new ItemEntry(ModItems.SHOTGUN_AMMO.get(), 6) + .setCount(32), + new ItemEntry(ModItems.SNIPER_AMMO.get(), 6) + .setCount(32), + new ItemEntry(ModItems.HEAVY_AMMO.get(), 6) + .setCount(16), + new ItemEntry(Items.COAL_BLOCK, 30) + .setCount(9)) + // TODO LootTableReference +// .add(LootTableReference.lootTableReference(special("common/flags")).setWeight(40)) +// .add(LootTableReference.lootTableReference(special("common/blueprints")).setWeight(50)) + )); - new PoolTriple(ModItems.AA_12_BLUEPRINT.get(), 5, 0), - new PoolTriple(ModItems.NTW_20_BLUEPRINT.get(), 5, 0), - new PoolTriple(ModItems.MINIGUN_BLUEPRINT.get(), 5, 0), - new PoolTriple(ModItems.SENTINEL_BLUEPRINT.get(), 5, 0), - new PoolTriple(ModItems.JAVELIN_BLUEPRINT.get(), 5, 0), - new PoolTriple(ModItems.SECONDARY_CATACLYSM_BLUEPRINT.get(), 5, 0) - ))); + output.accept(special("common/flags"), LootTable.lootTable() + .withPool(singleItem(Items.RED_BANNER, 1)) + .withPool(singleItem(Items.ORANGE_BANNER, 1)) + .withPool(singleItem(Items.YELLOW_BANNER, 1)) + .withPool(singleItem(Items.GREEN_BANNER, 1)) + .withPool(singleItem(Items.CYAN_BANNER, 1)) + .withPool(singleItem(Items.BLUE_BANNER, 1)) + .withPool(singleItem(Items.PURPLE_BANNER, 1)) + .withPool(singleItem(Items.PINK_BANNER, 1)) + ); + output.accept(special("common/blueprints"), + LootTable.lootTable().withPool(multiItems(1, 0, + new ItemEntry(ModItems.GLOCK_17_BLUEPRINT.get(), 4), + new ItemEntry(ModItems.MP_443_BLUEPRINT.get(), 4), + new ItemEntry(ModItems.M_1911_BLUEPRINT.get(), 4), + new ItemEntry(ModItems.MARLIN_BLUEPRINT.get(), 4), + new ItemEntry(ModItems.TASER_BLUEPRINT.get(), 4), + + new ItemEntry(ModItems.GLOCK_18_BLUEPRINT.get(), 2), + new ItemEntry(ModItems.AK_47_BLUEPRINT.get(), 2), + new ItemEntry(ModItems.QBZ_95_BLUEPRINT.get(), 2), + new ItemEntry(ModItems.SKS_BLUEPRINT.get(), 2), + new ItemEntry(ModItems.MOSIN_NAGANT_BLUEPRINT.get(), 2), + new ItemEntry(ModItems.M_870_BLUEPRINT.get(), 2), + new ItemEntry(ModItems.M_79_BLUEPRINT.get(), 2), + + new ItemEntry(ModItems.BOCEK_BLUEPRINT.get(), 2), + new ItemEntry(ModItems.TRACHELIUM_BLUEPRINT.get(), 2), + new ItemEntry(ModItems.VECTOR_BLUEPRINT.get(), 2), + new ItemEntry(ModItems.DEVOTION_BLUEPRINT.get(), 2), + new ItemEntry(ModItems.M_98B_BLUEPRINT.get(), 2), + + new ItemEntry(ModItems.AA_12_BLUEPRINT.get(), 1), + new ItemEntry(ModItems.NTW_20_BLUEPRINT.get(), 1), + new ItemEntry(ModItems.MINIGUN_BLUEPRINT.get(), 1), + new ItemEntry(ModItems.JAVELIN_BLUEPRINT.get(), 1), + + new ItemEntry(ModItems.MK_42_BLUEPRINT.get(), 1), + new ItemEntry(ModItems.MLE_1934_BLUEPRINT.get(), 1) + ))); } public LootPool.Builder singleItem(ItemLike item, int weight) { @@ -224,7 +332,7 @@ public class ModCustomLootProvider implements LootTableSubProvider { .add(LootItem.lootTableItem(item).setWeight(weight).setQuality(quality)); } - public final LootPool.Builder multiItems(float rolls, float bonus, PoolTriple... triplet) { + public final LootPool.Builder multiItems(float rolls, float bonus, ItemEntry... triplet) { var builder = LootPool.lootPool().setRolls(ConstantValue.exactly(rolls)).setBonusRolls(ConstantValue.exactly(bonus)); for (var t : triplet) { var entry = LootItem.lootTableItem(t.item).setWeight(t.weight).setQuality(t.quality); @@ -239,7 +347,7 @@ public class ModCustomLootProvider implements LootTableSubProvider { return builder; } - public static class PoolTriple { + public static class ItemEntry { public ItemLike item; public int weight; @@ -247,24 +355,32 @@ public class ModCustomLootProvider implements LootTableSubProvider { public List conditions = new ArrayList<>(); public List functions = new ArrayList<>(); - public PoolTriple(ItemLike item, int weight, int quality) { + public ItemEntry(ItemLike item, int weight) { + this(item, weight, 0); + } + + public ItemEntry(ItemLike item, int weight, int quality) { this.item = item; this.weight = weight; this.quality = quality; } - public PoolTriple condition(LootItemCondition.Builder condition) { + public ItemEntry condition(LootItemCondition.Builder condition) { this.conditions.add(condition); return this; } - public PoolTriple function(LootItemFunction.Builder function) { + public ItemEntry function(LootItemFunction.Builder function) { this.functions.add(function); return this; } - public PoolTriple setCountBetween(int min, int max) { + public ItemEntry setCountBetween(int min, int max) { return this.function(SetItemCountFunction.setCount(UniformGenerator.between(min, max))); } + + public ItemEntry setCount(int count) { + return this.function(SetItemCountFunction.setCount(ConstantValue.exactly(count))); + } } } diff --git a/src/main/java/com/atsuishio/superbwarfare/init/ModVillagers.java b/src/main/java/com/atsuishio/superbwarfare/init/ModVillagers.java index 40e580601..5c0bd2810 100644 --- a/src/main/java/com/atsuishio/superbwarfare/init/ModVillagers.java +++ b/src/main/java/com/atsuishio/superbwarfare/init/ModVillagers.java @@ -251,6 +251,8 @@ public class ModVillagers { rareTrades.add(new BasicItemListing(new ItemStack(Items.EMERALD, 16), SmallContainerBlockItem.createInstance(Mod.loc("containers/blueprints")), 10, 0, 0.05f)); + rareTrades.add(new BasicItemListing(new ItemStack(Items.EMERALD, 10), + SmallContainerBlockItem.createInstance(Mod.loc("containers/common")), 10, 0, 0.05f)); } private static Holder getItemHolder(String name) { diff --git a/src/main/java/com/atsuishio/superbwarfare/item/SmallContainerBlockItem.java b/src/main/java/com/atsuishio/superbwarfare/item/SmallContainerBlockItem.java index 711a26755..74cd7f0a3 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/SmallContainerBlockItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/SmallContainerBlockItem.java @@ -33,7 +33,8 @@ import java.util.function.Supplier; public class SmallContainerBlockItem extends BlockItem implements GeoItem { public static final List> SMALL_CONTAINER_LOOT_TABLES = List.of( - () -> SmallContainerBlockItem.createInstance(Mod.loc("containers/blueprints")) + () -> SmallContainerBlockItem.createInstance(Mod.loc("containers/blueprints")), + () -> SmallContainerBlockItem.createInstance(Mod.loc("containers/common")) ); private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); diff --git a/src/main/resources/assets/superbwarfare/lang/en_us.json b/src/main/resources/assets/superbwarfare/lang/en_us.json index fa74d624f..e28618c70 100644 --- a/src/main/resources/assets/superbwarfare/lang/en_us.json +++ b/src/main/resources/assets/superbwarfare/lang/en_us.json @@ -263,6 +263,7 @@ "des.superbwarfare.small_container.random": "Random Supplies", "des.superbwarfare.small_container.special": "Random SUI-pplies", "des.superbwarfare.small_container.loot.blueprints": "Gun Blueprints", + "des.superbwarfare.small_container.loot.common": "Common Supplies", "item.superbwarfare.high_energy_explosives": "High Energy Explosives", "item.superbwarfare.grain": "Grain", diff --git a/src/main/resources/assets/superbwarfare/lang/zh_cn.json b/src/main/resources/assets/superbwarfare/lang/zh_cn.json index ab0834dd3..bc2b161f4 100644 --- a/src/main/resources/assets/superbwarfare/lang/zh_cn.json +++ b/src/main/resources/assets/superbwarfare/lang/zh_cn.json @@ -261,6 +261,7 @@ "des.superbwarfare.small_container.random": "随机补给", "des.superbwarfare.small_container.special": "岁己补给", "des.superbwarfare.small_container.loot.blueprints": "枪械蓝图", + "des.superbwarfare.small_container.loot.common": "普通补给", "item.superbwarfare.high_energy_explosives": "高能炸药", "item.superbwarfare.grain": "推进药柱",