添加普通补给
This commit is contained in:
parent
6f1a8f9bf7
commit
46ecff5efa
9 changed files with 640 additions and 169 deletions
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
}
|
|
@ -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"
|
||||
}
|
|
@ -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"
|
||||
}
|
|
@ -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<LootTable> special(String name) {
|
||||
return ResourceKey.create(Registries.LOOT_TABLE, Mod.loc("special/" + name));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void generate(@NotNull BiConsumer<ResourceKey<LootTable>, 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<LootItemCondition.Builder> conditions = new ArrayList<>();
|
||||
public List<LootItemFunction.Builder> 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)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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<Item> getItemHolder(String name) {
|
||||
|
|
|
@ -33,7 +33,8 @@ import java.util.function.Supplier;
|
|||
public class SmallContainerBlockItem extends BlockItem implements GeoItem {
|
||||
|
||||
public static final List<Supplier<ItemStack>> 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);
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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": "推进药柱",
|
||||
|
|
Loading…
Add table
Reference in a new issue