add first patch
This commit is contained in:
@@ -0,0 +1,328 @@
|
||||
console.info("[SOCIETY] generalLoot.js loaded");
|
||||
|
||||
const fixedStackSize = (itemStack) => {
|
||||
if (itemStack.maxStackSize == 1) {
|
||||
itemStack.setCount(1);
|
||||
return itemStack;
|
||||
}
|
||||
return itemStack;
|
||||
};
|
||||
LootJS.modifiers((e) => {
|
||||
// Entities
|
||||
e.addLootTableModifier("rottencreatures:entities/zap")
|
||||
.randomChance(0.03)
|
||||
.addLoot("society:glitched_vhs");
|
||||
e.addLootTableModifier("minecraft:entities/witch")
|
||||
.randomChance(0.1)
|
||||
.addLoot("society:holy_symbol");
|
||||
e.addLootTableModifier("minecraft:entities/shulker")
|
||||
.randomChance(0.1)
|
||||
.addLoot("society:production_science_pack");
|
||||
e.addLootTableModifier("minecraft:entities/blaze")
|
||||
.randomChance(0.05)
|
||||
.addLoot("society:ember_crystal_cluster");
|
||||
e.addLootTableModifier("minecraft:entities/spider")
|
||||
.randomChance(0.05)
|
||||
.addLoot("society:spider_silk");
|
||||
e.addLootTableModifier("minecraft:entities/creeper")
|
||||
.randomChance(0.05)
|
||||
.addLoot("society:green_tea_honeycomb");
|
||||
e.addLootTableModifier("legendarycreatures:entities/corpse_eater")
|
||||
.randomChance(0.05)
|
||||
.addLoot("society:wheel_of_adaptation");
|
||||
e.addLootTableModifier("minecraft:entities/wither")
|
||||
.randomChance(0.8)
|
||||
.addLoot("society:amulet_of_light");
|
||||
e.addLootTableModifier("minecraft:entities/enderman")
|
||||
.randomChance(0.05)
|
||||
.addLoot("minecraft:eye_armor_trim_smithing_template");
|
||||
e.addLootTableModifier("minecraft:entities/pig")
|
||||
.randomChance(0.05)
|
||||
.addLoot("society:living_flesh");
|
||||
e.addLootTableModifier("minecraft:entities/hoglin").replaceLoot(
|
||||
"*",
|
||||
"minecraft:rotten_flesh",
|
||||
true
|
||||
);
|
||||
// Chest Loot tables
|
||||
e.addLootTableModifier("minecraft:chests/simple_dungeon")
|
||||
.randomChance(0.3)
|
||||
.addLoot("numismatics:bevel")
|
||||
.limitCount([1, 4], [5, 9]);
|
||||
e.addLootTableModifier("minecraft:chests/simple_dungeon")
|
||||
.randomChance(0.1)
|
||||
.addLoot("society:source_gem");
|
||||
e.addLootTableModifier("minecraft:chests/abandoned_mineshaft")
|
||||
.randomChance(0.2)
|
||||
.addLoot("numismatics:bevel")
|
||||
.limitCount([1, 4], [5, 9]);
|
||||
e.addLootTableModifier("minecraft:chests/abandoned_mineshaft")
|
||||
.randomChance(0.2)
|
||||
.addLoot(
|
||||
Item.of(
|
||||
"splendid_slimes:slime_heart",
|
||||
'{slime:{id:"splendid_slimes:webby"}}'
|
||||
)
|
||||
);
|
||||
e.addLootTableModifier("minecraft:chests/simple_dungeon")
|
||||
.randomChance(0.1)
|
||||
.addLoot(
|
||||
Item.of(
|
||||
"splendid_slimes:slime_heart",
|
||||
'{slime:{id:"splendid_slimes:webby"}}'
|
||||
)
|
||||
);
|
||||
e.addLootTableModifier("minecraft:chests/buried_treasure")
|
||||
.randomChance(0.9)
|
||||
.addLoot("numismatics:cog")
|
||||
.limitCount([1, 4], [5, 9]);
|
||||
e.addLootTableModifier("minecraft:chests/buried_treasure")
|
||||
.randomChance(1)
|
||||
.addLoot("numismatics:crown")
|
||||
.limitCount([1, 2]);
|
||||
e.addLootTableModifier("minecraft:chests/underwater_ruin_small")
|
||||
.randomChance(0.5)
|
||||
.addLoot("numismatics:cog")
|
||||
.limitCount([1, 4], [5, 9]);
|
||||
e.addLootTableModifier("minecraft:chests/underwater_ruin_small")
|
||||
.randomChance(0.2)
|
||||
.addLoot("numismatics:cog")
|
||||
.limitCount([1, 2]);
|
||||
e.addLootTableModifier("minecraft:chests/underwater_ruin_big")
|
||||
.randomChance(0.6)
|
||||
.addLoot("numismatics:cog")
|
||||
.limitCount([1, 4], [5, 9]);
|
||||
e.addLootTableModifier("minecraft:chests/underwater_ruin_big")
|
||||
.randomChance(0.3)
|
||||
.addLoot("numismatics:cog")
|
||||
.limitCount([1, 2]);
|
||||
e.addLootTableModifier("minecraft:chests/shipwreck_supply")
|
||||
.randomChance(0.5)
|
||||
.addLoot("numismatics:bevel")
|
||||
.limitCount([1, 4], [5, 9]);
|
||||
e.addLootTableModifier("minecraft:chests/shipwreck_supply")
|
||||
.randomChance(0.1)
|
||||
.addLoot("numismatics:sprocket")
|
||||
.limitCount([1, 2]);
|
||||
e.addLootTableModifier("minecraft:chests/shipwreck_treasure")
|
||||
.randomChance(0.9)
|
||||
.addLoot("numismatics:bevel")
|
||||
.limitCount([1, 4], [5, 9]);
|
||||
e.addLootTableModifier("minecraft:chests/shipwreck_treasure")
|
||||
.randomChance(0.4)
|
||||
.addLoot("numismatics:cog")
|
||||
.limitCount([1, 2]);
|
||||
e.addLootTableModifier("minecraft:chests/woodland_mansion")
|
||||
.randomChance(0.2)
|
||||
.addLoot("numismatics:crown")
|
||||
.limitCount([1, 2]);
|
||||
e.addLootTableModifier("minecraft:chests/jungle_temple")
|
||||
.randomChance(0.3)
|
||||
.addLoot("numismatics:crown")
|
||||
.limitCount([1, 4], [5, 9]);
|
||||
e.addLootTableModifier("minecraft:chests/jungle_temple")
|
||||
.randomChance(0.1)
|
||||
.addLoot("numismatics:crown")
|
||||
.limitCount([1, 2]);
|
||||
e.addLootTableModifier("minecraft:chests/desert_pyramid")
|
||||
.randomChance(0.3)
|
||||
.addLoot("numismatics:crown")
|
||||
.limitCount([1, 4], [5, 9]);
|
||||
e.addLootTableModifier("minecraft:chests/desert_pyramid")
|
||||
.randomChance(0.1)
|
||||
.addLoot("numismatics:crown")
|
||||
.limitCount([1, 2]);
|
||||
e.addLootTableModifier("minecraft:chests/pillager_outpost")
|
||||
.randomChance(0.3)
|
||||
.addLoot("numismatics:cog")
|
||||
.limitCount([1, 4], [5, 9]);
|
||||
e.addLootTableModifier("minecraft:chests/ancient_city")
|
||||
.randomChance(0.6)
|
||||
.addLoot("numismatics:cog")
|
||||
.limitCount([1, 4], [5, 9]);
|
||||
e.addLootTableModifier("minecraft:chests/ancient_city")
|
||||
.randomChance(0.3)
|
||||
.addLoot("numismatics:crown")
|
||||
.limitCount([1, 2]);
|
||||
e.addLootTableModifier("minecraft:chests/ancient_city")
|
||||
.randomChance(0.2)
|
||||
.addLoot(
|
||||
Item.of(
|
||||
"splendid_slimes:slime_heart",
|
||||
'{slime:{id:"splendid_slimes:orby"}}'
|
||||
)
|
||||
);
|
||||
e.addLootTableModifier("minecraft:chests/ancient_city")
|
||||
.randomChance(0.2)
|
||||
.addLoot("numismatics:sun")
|
||||
.limitCount([1, 1]);
|
||||
e.addLootTableModifier("minecraft:chests/ruined_portal")
|
||||
.randomChance(0.7)
|
||||
.addLoot("numismatics:sprocket")
|
||||
.limitCount([1, 2]);
|
||||
e.addLootTableModifier("minecraft:chests/nether_bridge")
|
||||
.randomChance(0.3)
|
||||
.addLoot("numismatics:sprocket")
|
||||
.limitCount([1, 4], [5, 9]);
|
||||
e.addLootTableModifier("minecraft:chests/bastion_bridge")
|
||||
.randomChance(0.9)
|
||||
.addLoot("numismatics:sprocket")
|
||||
.limitCount([1, 4], [5, 9]);
|
||||
e.addLootTableModifier("minecraft:chests/bastion_hoglin_stable")
|
||||
.randomChance(0.3)
|
||||
.addLoot("numismatics:sprocket")
|
||||
.limitCount([1, 4], [5, 9]);
|
||||
e.addLootTableModifier("minecraft:chests/bastion_other")
|
||||
.randomChance(0.5)
|
||||
.addLoot("numismatics:sprocket")
|
||||
.limitCount([1, 4], [5, 9]);
|
||||
e.addLootTableModifier("minecraft:chests/bastion_treasure")
|
||||
.randomChance(0.6)
|
||||
.addLoot("numismatics:sprocket")
|
||||
.limitCount([1, 4], [5, 9]);
|
||||
e.addLootTableModifier("minecraft:chests/bastion_treasure")
|
||||
.randomChance(0.2)
|
||||
.addLoot(
|
||||
Item.of(
|
||||
"splendid_slimes:slime_heart",
|
||||
'{slime:{id:"splendid_slimes:blazing"}}'
|
||||
)
|
||||
);
|
||||
e.addLootTableModifier("minecraft:chests/bastion_treasure")
|
||||
.randomChance(0.6)
|
||||
.addLoot(
|
||||
Item.of(
|
||||
"splendid_slimes:slime_heart",
|
||||
'{slime:{id:"splendid_slimes:weeping"}}'
|
||||
)
|
||||
);
|
||||
e.addLootTableModifier("minecraft:chests/bastion_treasure").removeLoot(
|
||||
"minecraft:diamond_sword"
|
||||
);
|
||||
e.addLootTableModifier("minecraft:chests/bastion_treasure").removeLoot(
|
||||
"minecraft:diamond_helmet"
|
||||
);
|
||||
e.addLootTableModifier("minecraft:chests/bastion_treasure").removeLoot(
|
||||
"minecraft:diamond_chestplate"
|
||||
);
|
||||
e.addLootTableModifier("minecraft:chests/bastion_treasure").removeLoot(
|
||||
"minecraft:diamond_leggings"
|
||||
);
|
||||
e.addLootTableModifier("minecraft:chests/stronghold_corridor")
|
||||
.randomChance(0.9)
|
||||
.addLoot("numismatics:bevel")
|
||||
.limitCount([1, 4], [5, 9]);
|
||||
e.addLootTableModifier("minecraft:chests/stronghold_corridor")
|
||||
.randomChance(0.4)
|
||||
.addLoot("numismatics:sprocket")
|
||||
.limitCount([1, 2]);
|
||||
e.addLootTableModifier("minecraft:chests/stronghold_crossing")
|
||||
.randomChance(0.9)
|
||||
.addLoot("numismatics:bevel")
|
||||
.limitCount([1, 4], [5, 9]);
|
||||
e.addLootTableModifier("minecraft:chests/stronghold_crossing")
|
||||
.randomChance(0.4)
|
||||
.addLoot("numismatics:sprocket")
|
||||
.limitCount([1, 2]);
|
||||
e.addLootTableModifier("minecraft:chests/end_city_treasure")
|
||||
.randomChance(0.7)
|
||||
.addLoot("numismatics:sprocket")
|
||||
.limitCount([1, 4], [5, 9]);
|
||||
e.addLootTableModifier("minecraft:chests/end_city_treasure")
|
||||
.randomChance(0.4)
|
||||
.addLoot("numismatics:cog")
|
||||
.limitCount([1, 1]);
|
||||
e.addLootTableModifier("minecraft:chests/end_city_treasure")
|
||||
.randomChance(0.2)
|
||||
.addLoot("numismatics:cog")
|
||||
.limitCount([1, 1]);
|
||||
e.addLootTableModifier("minecraft:chests/end_city_treasure")
|
||||
.randomChance(0.2)
|
||||
.addLoot(
|
||||
Item.of(
|
||||
"splendid_slimes:slime_heart",
|
||||
'{slime:{id:"splendid_slimes:shulking"}}'
|
||||
)
|
||||
);
|
||||
e.addLootTableModifier("minecraft:chests/end_city_treasure")
|
||||
.randomChance(0.2)
|
||||
.addLoot(
|
||||
Item.of(
|
||||
"splendid_slimes:slime_heart",
|
||||
'{slime:{id:"splendid_slimes:ender"}}'
|
||||
)
|
||||
);
|
||||
|
||||
// Seeds
|
||||
e.addBlockLootModifier("minecraft:grass").removeLoot("#forge:seeds");
|
||||
e.addBlockLootModifier("minecraft:tall_grass").removeLoot("#forge:seeds");
|
||||
e.addBlockLootModifier("minecraft:fern").removeLoot("#forge:seeds");
|
||||
e.addBlockLootModifier("minecraft:tall_fern").removeLoot("#forge:seeds");
|
||||
|
||||
// Artisan Machines that save nbt on drop
|
||||
e.addBlockLootModifier("society:prize_machine").removeLoot(
|
||||
"society:prize_machine"
|
||||
);
|
||||
e.addBlockLootModifier("society:villager_home").removeLoot(
|
||||
"society:villager_home"
|
||||
);
|
||||
e.addBlockLootModifier("whimsy_deco:sunlit_singing_frog").removeLoot(
|
||||
"whimsy_deco:sunlit_singing_frog"
|
||||
);
|
||||
e.addBlockLootModifier("society:fish_pond").removeLoot("society:fish_pond");
|
||||
e.addBlockLootModifier("shippingbin:basic_shipping_bin").removeLoot(
|
||||
"shippingbin:basic_shipping_bin"
|
||||
);
|
||||
e.addBlockLootModifier("shippingbin:smart_shipping_bin").removeLoot(
|
||||
"shippingbin:smart_shipping_bin"
|
||||
);
|
||||
e.addBlockLootModifier("society:mana_fruit_crop").removeLoot(
|
||||
"society:mana_fruit_crop"
|
||||
);
|
||||
|
||||
e.addBlockLootModifier(global.plushies).removeLoot("*");
|
||||
|
||||
// Replace Loot
|
||||
e.addLootTableModifier("minecraft:chests/pillager_outpost")
|
||||
.randomChance(0.65)
|
||||
.replaceLoot("etcetera:eggple", "numismatics:cog", true);
|
||||
e.addLootTableModifier("minecraft:chests/village/village_plains_house")
|
||||
.randomChance(0.85)
|
||||
.replaceLoot("etcetera:eggple", "numismatics:cog", true);
|
||||
e.addLootTableModifier("minecraft:chests/bastion_treasure")
|
||||
.randomChance(0.85)
|
||||
.replaceLoot("etcetera:golden_eggple", "numismatics:crown", true);
|
||||
e.addLootTableModifier("minecraft:chests/bastion_treasure")
|
||||
.randomChance(0.85)
|
||||
.replaceLoot("etcetera:golden_eggple", "numismatics:crown", true);
|
||||
e.addLootTableModifier("minecraft:chests/ruined_portal")
|
||||
.randomChance(1)
|
||||
.replaceLoot("minecraft:flint_and_steel", "numismatics:cog", true);
|
||||
|
||||
// Fix unstackable item voiding bug
|
||||
e.addLootTypeModifier(LootType.CHEST).modifyLoot(
|
||||
Ingredient.all,
|
||||
(itemStack) => {
|
||||
return fixedStackSize(itemStack);
|
||||
}
|
||||
);
|
||||
|
||||
e.addLootTypeModifier(LootType.CHEST).pool((p) => {
|
||||
p.randomChance(0.05).addLoot("society:recall_potion");
|
||||
});
|
||||
e.addLootTableModifier("minecraft:chests/simple_dungeon").replaceLoot("cluttered:willow_sapling", "numismatics:cog", true);
|
||||
e.addLootTableModifier("minecraft:chests/spawn_bonus_chest").replaceLoot("cluttered:willow_sapling", "numismatics:cog", true);
|
||||
e.addLootTableModifier("minecraft:chests/abandoned_mineshaft").replaceLoot("cluttered:willow_sapling", "numismatics:cog", true);
|
||||
e.addLootTableModifier("minecraft:chests/shipwreck_supply").replaceLoot("cluttered:willow_sapling", "numismatics:cog", true);
|
||||
e.addLootTableModifier("minecraft:chests/village/village_plains_house").replaceLoot("cluttered:willow_sapling", "numismatics:cog", true);
|
||||
e.addLootTableModifier("minecraft:chests/village/village_taiga_house").replaceLoot("cluttered:willow_sapling", "numismatics:cog", true);
|
||||
e.addLootTableModifier("minecraft:chests/village/village_desert_house").replaceLoot("cluttered:willow_sapling", "numismatics:cog", true);
|
||||
e.addLootTableModifier("minecraft:chests/village/village_snowy_house").replaceLoot("cluttered:willow_sapling", "numismatics:cog", true);
|
||||
// Mastery
|
||||
e.addLootTypeModifier(LootType.CHEST)
|
||||
.hasAnyStage("husbandry_mastery")
|
||||
.pool((p) => {
|
||||
p.randomChance(0.1).addLoot("society:plushie_capsule");
|
||||
p.randomChance(0.05).addLoot("society:animal_cracker");
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user