From 91a78b4bfc2149db48d7b711ce71a474f08164d1 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Wed, 3 Sep 2025 21:18:51 +0100 Subject: [PATCH] fixed butchery knife meat bonus, added it to all the non-earth animals too --- CHANGELOG.md | 1 + .../tfg/loot_tables/entities/glacian_ram.json | 2 +- kubejs/server_scripts/ad_astra/loot.js | 4 +- kubejs/server_scripts/main_server_script.js | 1 + kubejs/server_scripts/species/loot.js | 16 +- kubejs/server_scripts/tfc/loot.js | 89 +++++----- kubejs/server_scripts/tfg/loot.js | 168 ++++++++++++++++++ kubejs/server_scripts/tfg/loot_tables.js | 155 ---------------- .../server_scripts/wan_ancient_beasts/loot.js | 23 +++ 9 files changed, 252 insertions(+), 207 deletions(-) create mode 100644 kubejs/server_scripts/tfg/loot.js delete mode 100644 kubejs/server_scripts/tfg/loot_tables.js create mode 100644 kubejs/server_scripts/wan_ancient_beasts/loot.js diff --git a/CHANGELOG.md b/CHANGELOG.md index 2a88eb4bf..7aca5e9c3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ - Fixed tongs getting stuck in ovens, and now you can use them the same way you'd previously use a Peel @Pyritie - Allowed powders, gears, plates, double plates, springs, and small springs to be heated (#1727) @Redeix - Fixed rapeseed wild block model @BlueBoat29 +- Fixed butchery knife not giving additional meat when used to kill an animal @Pyritie ### Translation updates - Chinese (simplified) @jmecn & @CN059 - Ukranian @MetEnBouldry diff --git a/kubejs/data/tfg/loot_tables/entities/glacian_ram.json b/kubejs/data/tfg/loot_tables/entities/glacian_ram.json index d6074695c..8c4311fb2 100644 --- a/kubejs/data/tfg/loot_tables/entities/glacian_ram.json +++ b/kubejs/data/tfg/loot_tables/entities/glacian_ram.json @@ -52,7 +52,7 @@ "entries": [ { "type": "minecraft:item", - "name": "tfc:small_raw_hide" + "name": "tfc:small_sheepskin_hide" } ] } diff --git a/kubejs/server_scripts/ad_astra/loot.js b/kubejs/server_scripts/ad_astra/loot.js index 553cb9e98..92973c808 100644 --- a/kubejs/server_scripts/ad_astra/loot.js +++ b/kubejs/server_scripts/ad_astra/loot.js @@ -12,6 +12,6 @@ function registerAdAstraLoots(event) { .addWeightedLoot([5, 8], ['tfg:food/raw_crawlermari']) event.addEntityLootModifier('ad_astra:star_crawler') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) - .addWeightedLoot([2, 4], ['tfc:food/raw_crawlermari']) + .matchMainHand('#forge:tools/butchery_knives') + .addWeightedLoot([2, 4], ['tfg:food/raw_crawlermari']) } \ No newline at end of file diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index 853458d72..95ea636cf 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -181,6 +181,7 @@ LootJS.modifiers((event) => { registerSpeciesLoots(event) registerTFCLoots(event) registerTFGLoots(event) + registerWansAncientBeastsLoots(event) }); /** diff --git a/kubejs/server_scripts/species/loot.js b/kubejs/server_scripts/species/loot.js index 8af31d5b5..31694db09 100644 --- a/kubejs/server_scripts/species/loot.js +++ b/kubejs/server_scripts/species/loot.js @@ -8,15 +8,23 @@ function registerSpeciesLoots(event) { .addWeightedLoot([1, 2], ['gtceu:blue_alloy_single_wire']) event.addEntityLootModifier('species:birt') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) - .addWeightedLoot([1, 3], ['tfc:food/raw_birt']) + .matchMainHand('#forge:tools/butchery_knives') + .addWeightedLoot([1, 3], ['tfg:food/raw_birt']) event.addEntityLootModifier('species:limpet') .addWeightedLoot([5, 8], ['tfg:food/raw_limpet']) event.addEntityLootModifier('species:limpet') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) - .addWeightedLoot([2, 4], ['tfc:food/raw_limpet']) + .matchMainHand('#forge:tools/butchery_knives') + .addWeightedLoot([2, 4], ['tfg:food/raw_limpet']) + + event.addEntityLootModifier('species:goober') + .matchMainHand('#forge:tools/butchery_knives') + .addWeightedLoot([2, 4], ['tfg:food/raw_goober_meat']) + + event.addEntityLootModifier('species:springling') + .matchMainHand('#forge:tools/butchery_knives') + .addWeightedLoot([1, 3], ['tfg:food/raw_springling_chops']) } \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/loot.js b/kubejs/server_scripts/tfc/loot.js index 4b4ed4a08..044f9b757 100644 --- a/kubejs/server_scripts/tfc/loot.js +++ b/kubejs/server_scripts/tfc/loot.js @@ -6,9 +6,8 @@ function registerTFCLoots(event) { event.addEntityLootModifier('tfc:black_bear') .addWeightedLoot([8, 12], ['tfc:food/bear']) - event.addEntityLootModifier('tfc:black_bear') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([4, 6], ['tfc:food/bear']) @@ -16,7 +15,7 @@ function registerTFCLoots(event) { .addWeightedLoot([10, 16], ['tfc:food/bear']) event.addEntityLootModifier('tfc:grizzly_bear') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([5, 8], ['tfc:food/bear']) @@ -25,7 +24,7 @@ function registerTFCLoots(event) { .addWeightedLoot([2, 5], ['tfc:blubber']) event.addEntityLootModifier('tfc:polar_bear') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([7, 10], ['tfc:food/bear']) @@ -33,7 +32,7 @@ function registerTFCLoots(event) { .addWeightedLoot([6, 10], ['tfc:food/gran_feline']) event.addEntityLootModifier('tfc:cougar') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([3, 5], ['tfc:food/gran_feline']) @@ -41,7 +40,7 @@ function registerTFCLoots(event) { .addWeightedLoot([6, 10], ['tfc:food/gran_feline']) event.addEntityLootModifier('tfc:panther') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([3, 5], ['tfc:food/gran_feline']) @@ -49,7 +48,7 @@ function registerTFCLoots(event) { .addWeightedLoot([9, 14], ['tfc:food/gran_feline']) event.addEntityLootModifier('tfc:sabertooth') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([4, 7], ['tfc:food/gran_feline']) @@ -57,7 +56,7 @@ function registerTFCLoots(event) { .addWeightedLoot([9, 14], ['tfc:food/gran_feline']) event.addEntityLootModifier('tfc:lion') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([4, 7], ['tfc:food/gran_feline']) @@ -65,7 +64,7 @@ function registerTFCLoots(event) { .addWeightedLoot([9, 14], ['tfc:food/gran_feline']) event.addEntityLootModifier('tfc:tiger') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([4, 7], ['tfc:food/gran_feline']) @@ -73,7 +72,7 @@ function registerTFCLoots(event) { .addWeightedLoot([2, 5], ['tfc:food/gran_feline']) event.addEntityLootModifier('tfc:ocelot') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([1, 2], ['tfc:food/gran_feline']) @@ -81,7 +80,7 @@ function registerTFCLoots(event) { .addWeightedLoot([2, 5], ['tfc:food/gran_feline']) event.addEntityLootModifier('tfc:cat') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([1, 2], ['tfc:food/gran_feline']) @@ -89,7 +88,7 @@ function registerTFCLoots(event) { .addWeightedLoot([9, 14], ['tfc:food/gran_feline']) event.addEntityLootModifier('tfc:sabertooth') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([4, 7], ['tfc:food/gran_feline']) @@ -97,7 +96,7 @@ function registerTFCLoots(event) { .addWeightedLoot([5, 8], ['tfc:food/wolf']) event.addEntityLootModifier('tfc:dog') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([2, 4], ['tfc:food/wolf']) @@ -105,7 +104,7 @@ function registerTFCLoots(event) { .addWeightedLoot([5, 8], ['tfc:food/wolf']) event.addEntityLootModifier('tfc:wolf') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([2, 4], ['tfc:food/wolf']) @@ -113,7 +112,7 @@ function registerTFCLoots(event) { .addWeightedLoot([8, 12], ['tfc:food/wolf']) event.addEntityLootModifier('tfc:direwolf') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([4, 6], ['tfc:food/wolf']) @@ -121,7 +120,7 @@ function registerTFCLoots(event) { .addWeightedLoot([4, 7], ['tfc:food/hyena']) event.addEntityLootModifier('tfc:hyena') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([2, 4], ['tfc:food/hyena']) @@ -129,7 +128,7 @@ function registerTFCLoots(event) { .addWeightedLoot([4, 7], ['tfc:food/fox']) event.addEntityLootModifier('tfc:fox') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([2, 4], ['tfc:food/fox']) @@ -138,117 +137,117 @@ function registerTFCLoots(event) { .addSequenceLoot(LootEntry.of('tfc:metal/fish_hook/copper').when(c => c.randomChance(0.2))) event.addEntityLootModifier('tfc:crocodile') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([2, 5], ['tfc:food/bluegill', 'tfc:food/crappie', 'tfc:food/lake_trout', 'tfc:food/rainbow_trout', 'tfc:food/frog_legs']) // Passive animals event.addEntityLootModifier('tfc:alpaca') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([5, 10], ['tfc:food/camelidae']) event.addEntityLootModifier('tfc:boar') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([2, 4], ['tfc:food/pork']) event.addEntityLootModifier('tfc:bongo') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([2, 4], ['tfc:food/venison']) event.addEntityLootModifier('tfc:caribou') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([3, 5], ['tfc:food/venison']) event.addEntityLootModifier('tfc:chicken') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([1, 3], ['tfc:food/chicken']) event.addEntityLootModifier('tfc:cow') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([8, 12], ['tfc:food/beef']) event.addEntityLootModifier('tfc:deer') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([2, 4], ['tfc:food/venison']) event.addEntityLootModifier('tfc:donkey') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([7, 10], ['tfc:food/horse_meat']) event.addEntityLootModifier('tfc:duck') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([1, 3], ['tfc:food/duck']) event.addEntityLootModifier('tfc:frog') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([1, 2], ['tfc:food/frog_legs']) event.addEntityLootModifier('tfc:gazelle') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([2, 4], ['tfc:food/venison']) event.addEntityLootModifier('tfc:goat') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([4, 6], ['tfc:food/chevon']) event.addEntityLootModifier('tfc:grouse') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([1, 2], ['tfc:food/grouse']) event.addEntityLootModifier('tfc:horse') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([7, 10], ['tfc:food/horse_meat']) event.addEntityLootModifier('tfc:moose') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([5, 10], ['tfc:food/venison']) event.addEntityLootModifier('tfc:mule') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([7, 10], ['tfc:food/horse_meat']) event.addEntityLootModifier('tfc:musk_ox') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([7, 10], ['tfc:food/mutton']) event.addEntityLootModifier('tfc:peafowl') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([1, 2], ['tfc:food/peafowl']) event.addEntityLootModifier('tfc:pheasant') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([1, 2], ['tfc:food/pheasant']) event.addEntityLootModifier('tfc:pig') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([5, 7], ['tfc:food/pork']) event.addEntityLootModifier('tfc:quail') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([1, 3], ['tfc:food/quail']) event.addEntityLootModifier('tfc:rabbit') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addLoot('tfc:food/rabbit') event.addEntityLootModifier('tfc:sheep') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([6, 9], ['tfc:food/mutton']) event.addEntityLootModifier('tfc:turkey') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([1, 2], ['tfc:food/turkey']) event.addEntityLootModifier('tfc:turtle') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addLoot('tfc:food/turtle') event.addEntityLootModifier('tfc:wildebeest') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([4, 7], ['tfc:food/beef']) event.addEntityLootModifier('tfc:yak') - .randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1]) + .matchMainHand('#forge:tools/butchery_knives') .addWeightedLoot([7, 10], ['tfc:food/chevon']) diff --git a/kubejs/server_scripts/tfg/loot.js b/kubejs/server_scripts/tfg/loot.js new file mode 100644 index 000000000..ac78e2fe8 --- /dev/null +++ b/kubejs/server_scripts/tfg/loot.js @@ -0,0 +1,168 @@ +"use strict"; + + +function registerTFGLoots(event) { + + //#region Vase Loot + global.MINECRAFT_DYE_NAMES.forEach(color => { + event.addBlockLootModifier(`tfg:decorative_vase/generated/${color}`) + .removeLoot(Ingredient.all) + //ore + .pool((pool) => { + pool.rolls([4, 6]); + pool.addAlternativesLoot( + LootEntry.of('tfc:ore/normal_bismuthinite').when((c) => c.randomChance(0.1)), + LootEntry.of('tfc:ore/rich_bismuthinite').when((c) => c.randomChance(0.2)), + + LootEntry.of('tfc:ore/normal_native_copper').when((c) => c.randomChance(0.1)), + LootEntry.of('tfc:ore/rich_native_copper').when((c) => c.randomChance(0.2)), + + LootEntry.of('tfc:ore/normal_sphalerite').when((c) => c.randomChance(0.1)), + LootEntry.of('tfc:ore/rich_sphalerite').when((c) => c.randomChance(0.2)), + + LootEntry.of('tfc:ore/normal_cassiterite').when((c) => c.randomChance(0.1)), + LootEntry.of('tfc:ore/rich_cassiterite').when((c) => c.randomChance(0.2)), + + LootEntry.of('tfc:ore/normal_native_gold').when((c) => c.randomChance(0.1)), + LootEntry.of('tfc:ore/rich_native_gold').when((c) => c.randomChance(0.2)), + + LootEntry.of('tfc:ore/normal_native_silver').when((c) => c.randomChance(0.1)), + LootEntry.of('tfc:ore/rich_native_silver').when((c) => c.randomChance(0.2)), + + LootEntry.of('tfc:ore/normal_hematite').when((c) => c.randomChance(0.1)), + LootEntry.of('tfc:ore/rich_hematite').when((c) => c.randomChance(0.2)), + + LootEntry.of('gtceu:rich_raw_rock_salt').when((c) => c.randomChance(0.1)), + LootEntry.of('gtceu:rich_raw_salt').when((c) => c.randomChance(0.1)), + LootEntry.of('gtceu:rich_raw_saltpeter').when((c) => c.randomChance(0.1)) + ); + }) + //seeds + .pool((pool) => { + pool.rolls([2, 8]); + pool.addAlternativesLoot( + LootEntry.of('tfc:seeds/onion').when((c) => c.randomChance(0.2)), + LootEntry.of('tfc:seeds/cabbage').when((c) => c.randomChance(0.2)), + LootEntry.of('tfc:seeds/potato').when((c) => c.randomChance(0.2)), + LootEntry.of('tfc:seeds/jute').when((c) => c.randomChance(0.1)), + LootEntry.of('tfc:seeds/sugarcane').when((c) => c.randomChance(0.1)), + LootEntry.of('firmalife:plant/pineapple_bush').when((c) => c.randomChance(0.1)), + LootEntry.of('tfc:plant/peach_sapling').when((c) => c.randomChance(0.1)), + LootEntry.of('tfc:plant/red_apple_sapling').when((c) => c.randomChance(0.1))); + }) + //loot + .pool((pool) => { + pool.rolls([0, 3]); + pool.addAlternativesLoot( + LootEntry.of('tfc:wool_yarn').when((c) => c.randomChance(0.1)), + LootEntry.of('tfc:blubber').when((c) => c.randomChance(0.1)), + LootEntry.of('minecraft:bone').when((c) => c.randomChance(0.1)), + LootEntry.of('tfc:kaolin_clay').when((c) => c.randomChance(0.1)), + LootEntry.of('tfc:glue').when((c) => c.randomChance(0.1)), + LootEntry.of('tfc:burlap_cloth').when((c) => c.randomChance(0.1)), + LootEntry.of('tfc:wool_cloth').when((c) => c.randomChance(0.1)), + LootEntry.of('tfc:mortar').when((c) => c.randomChance(0.1)), + LootEntry.of('tfc:leather').when((c) => c.randomChance(0.1)), + LootEntry.of('chalk:black_chalk').when((c) => c.randomChance(0.1)), + LootEntry.of('chalk:red_chalk').when((c) => c.randomChance(0.1)), + LootEntry.of('chalk:white_chalk').when((c) => c.randomChance(0.1)), + LootEntry.of('minecraft:goat_horn').when((c) => c.randomChance(0.1)), + LootEntry.of('tfg:regeneration_pill').when((c) => c.randomChance(0.1)), + LootEntry.of('tfg:water_breathing_pill').when((c) => c.randomChance(0.1)), + LootEntry.of('tfg:night_vision_pill').when((c) => c.randomChance(0.1)), + LootEntry.of('tfg:haste_pill').when((c) => c.randomChance(0.1)), + LootEntry.of('tfc:small_raw_hide').when((c) => c.randomChance(0.1)), + LootEntry.of('tfc:medium_raw_hide').when((c) => c.randomChance(0.1)), + LootEntry.of('tfc:large_raw_hide').when((c) => c.randomChance(0.1)), + LootEntry.of('firmalife:beeswax').when((c) => c.randomChance(0.1)), + LootEntry.of('gtceu:bismuth_bronze_pickaxe_head').when((c) => c.randomChance(0.1)), + LootEntry.of('gtceu:bismuth_bronze_axe_head').when((c) => c.randomChance(0.1)), + LootEntry.of('gtceu:bismuth_bronze_shovel_head').when((c) => c.randomChance(0.1)), + LootEntry.of('gtceu:bismuth_bronze_knife_head').when((c) => c.randomChance(0.1))); + }) + }); + + //#region Blocks + + event.addBlockLootModifier('minecraft:campfire') + .removeLoot(Ingredient.all) + .addLoot('minecraft:campfire') + + //#endregion + + //Cross-mod glass compat + const STRONG_GLASSES = [ + ['create:dark_oak_window', true], + ['create:mangrove_window', true], + ['create:ornate_iron_window', true], + ['create:industrial_iron_window', true], + ['create:weathered_iron_window', true], + ['create:cherry_window', true], + ['create:bamboo_window', true], + ['createdeco:andesite_window', true], + ['createdeco:copper_window', true], + ['createdeco:iron_window', true], + ['createdeco:industrial_iron_window', true], + ['createdeco:brass_window', true], + ['createdeco:zinc_window', true], + ['everycomp:c/domum_ornamentum/cactus_window_pane', false], + ['everycomp:c/domum_ornamentum/cactus_extra_window_pane', false] + ] + const GLASSES = [ + 'create:framed_glass', + 'create:vertical_framed_glass', + 'create:horizontal_framed_glass', + 'create:tiled_glass' + ] + + STRONG_GLASSES.forEach(glass => { + event.addBlockLootModifier(glass[0]) + .addLoot(glass[0]) + if (glass[1]) { + event.addBlockLootModifier(`${glass[0]}_pane`) + .addLoot(`${glass[0]}_pane`) + } + + }); + + GLASSES.forEach(glass => { + event.addBlockLootModifier(glass) + .matchMainHand(Item.of('tfc:gem_saw')) + .addLoot(glass) + event.addBlockLootModifier(`${glass}_pane`) + .matchMainHand(Item.of('tfc:gem_saw')) + .addLoot(`${glass}_pane`) + + }) + + global.TFC_WOOD_TYPES.forEach(wood => { + const id = `everycomp:c/tfc/${wood}_window_pane` + event.addBlockLootModifier(id) + .addLoot(id) + }) + global.AFC_WOOD_TYPES.forEach(wood => { + const id = `everycomp:c/afc/${wood}_window_pane` + event.addBlockLootModifier(id) + .addLoot(id) + }) + + global.AD_ASTRA_WOOD.forEach(wood => { + const id = `everycomp:c/ad_astra/${wood.name}_window_pane` + event.addBlockLootModifier(id) + .addLoot(id) + }) + + // Extra animal drop amounts for butchery knives + + event.addEntityLootModifier('tfg:glacian_ram') + .matchMainHand('#forge:tools/butchery_knives') + .addWeightedLoot([6, 9], ['tfg:food/raw_glacian_mutton']) + + event.addEntityLootModifier('tfg:moon_rabbit') + .matchMainHand('#forge:tools/butchery_knives') + .addLoot('tfg:food/raw_moon_rabbit') + + event.addEntityLootModifier('tfg:sniffer') + .matchMainHand('#forge:tools/butchery_knives') + .addWeightedLoot([6, 9], ['tfg:food/raw_sniffer_beef']) +}; diff --git a/kubejs/server_scripts/tfg/loot_tables.js b/kubejs/server_scripts/tfg/loot_tables.js deleted file mode 100644 index f377a8868..000000000 --- a/kubejs/server_scripts/tfg/loot_tables.js +++ /dev/null @@ -1,155 +0,0 @@ -"use strict"; - - -function registerTFGLoots(event) { - - //#region Vase Loot - global.MINECRAFT_DYE_NAMES.forEach(color => { - event.addBlockLootModifier(`tfg:decorative_vase/generated/${color}`) - .removeLoot(Ingredient.all) - //ore - .pool((pool) => { - pool.rolls([4, 6]); - pool.addAlternativesLoot( - LootEntry.of('tfc:ore/normal_bismuthinite').when((c) => c.randomChance(0.1)), - LootEntry.of('tfc:ore/rich_bismuthinite').when((c) => c.randomChance(0.2)), - - LootEntry.of('tfc:ore/normal_native_copper').when((c) => c.randomChance(0.1)), - LootEntry.of('tfc:ore/rich_native_copper').when((c) => c.randomChance(0.2)), - - LootEntry.of('tfc:ore/normal_sphalerite').when((c) => c.randomChance(0.1)), - LootEntry.of('tfc:ore/rich_sphalerite').when((c) => c.randomChance(0.2)), - - LootEntry.of('tfc:ore/normal_cassiterite').when((c) => c.randomChance(0.1)), - LootEntry.of('tfc:ore/rich_cassiterite').when((c) => c.randomChance(0.2)), - - LootEntry.of('tfc:ore/normal_native_gold').when((c) => c.randomChance(0.1)), - LootEntry.of('tfc:ore/rich_native_gold').when((c) => c.randomChance(0.2)), - - LootEntry.of('tfc:ore/normal_native_silver').when((c) => c.randomChance(0.1)), - LootEntry.of('tfc:ore/rich_native_silver').when((c) => c.randomChance(0.2)), - - LootEntry.of('tfc:ore/normal_hematite').when((c) => c.randomChance(0.1)), - LootEntry.of('tfc:ore/rich_hematite').when((c) => c.randomChance(0.2)), - - LootEntry.of('gtceu:rich_raw_rock_salt').when((c) => c.randomChance(0.1)), - LootEntry.of('gtceu:rich_raw_salt').when((c) => c.randomChance(0.1)), - LootEntry.of('gtceu:rich_raw_saltpeter').when((c) => c.randomChance(0.1)) - ); - }) - //seeds - .pool((pool) => { - pool.rolls([2, 8]); - pool.addAlternativesLoot( - LootEntry.of('tfc:seeds/onion').when((c) => c.randomChance(0.2)), - LootEntry.of('tfc:seeds/cabbage').when((c) => c.randomChance(0.2)), - LootEntry.of('tfc:seeds/potato').when((c) => c.randomChance(0.2)), - LootEntry.of('tfc:seeds/jute').when((c) => c.randomChance(0.1)), - LootEntry.of('tfc:seeds/sugarcane').when((c) => c.randomChance(0.1)), - LootEntry.of('firmalife:plant/pineapple_bush').when((c) => c.randomChance(0.1)), - LootEntry.of('tfc:plant/peach_sapling').when((c) => c.randomChance(0.1)), - LootEntry.of('tfc:plant/red_apple_sapling').when((c) => c.randomChance(0.1))); - }) - //loot - .pool((pool) => { - pool.rolls([0, 3]); - pool.addAlternativesLoot( - LootEntry.of('tfc:wool_yarn').when((c) => c.randomChance(0.1)), - LootEntry.of('tfc:blubber').when((c) => c.randomChance(0.1)), - LootEntry.of('minecraft:bone').when((c) => c.randomChance(0.1)), - LootEntry.of('tfc:kaolin_clay').when((c) => c.randomChance(0.1)), - LootEntry.of('tfc:glue').when((c) => c.randomChance(0.1)), - LootEntry.of('tfc:burlap_cloth').when((c) => c.randomChance(0.1)), - LootEntry.of('tfc:wool_cloth').when((c) => c.randomChance(0.1)), - LootEntry.of('tfc:mortar').when((c) => c.randomChance(0.1)), - LootEntry.of('tfc:leather').when((c) => c.randomChance(0.1)), - LootEntry.of('chalk:black_chalk').when((c) => c.randomChance(0.1)), - LootEntry.of('chalk:red_chalk').when((c) => c.randomChance(0.1)), - LootEntry.of('chalk:white_chalk').when((c) => c.randomChance(0.1)), - LootEntry.of('minecraft:goat_horn').when((c) => c.randomChance(0.1)), - LootEntry.of('tfg:regeneration_pill').when((c) => c.randomChance(0.1)), - LootEntry.of('tfg:water_breathing_pill').when((c) => c.randomChance(0.1)), - LootEntry.of('tfg:night_vision_pill').when((c) => c.randomChance(0.1)), - LootEntry.of('tfg:haste_pill').when((c) => c.randomChance(0.1)), - LootEntry.of('tfc:small_raw_hide').when((c) => c.randomChance(0.1)), - LootEntry.of('tfc:medium_raw_hide').when((c) => c.randomChance(0.1)), - LootEntry.of('tfc:large_raw_hide').when((c) => c.randomChance(0.1)), - LootEntry.of('firmalife:beeswax').when((c) => c.randomChance(0.1)), - LootEntry.of('gtceu:bismuth_bronze_pickaxe_head').when((c) => c.randomChance(0.1)), - LootEntry.of('gtceu:bismuth_bronze_axe_head').when((c) => c.randomChance(0.1)), - LootEntry.of('gtceu:bismuth_bronze_shovel_head').when((c) => c.randomChance(0.1)), - LootEntry.of('gtceu:bismuth_bronze_knife_head').when((c) => c.randomChance(0.1))); - }) - }); - - //#region Blocks - - event.addBlockLootModifier('minecraft:campfire') - .removeLoot(Ingredient.all) - .addLoot('minecraft:campfire') - - //#endregion - - //Cross-mod glass compat - const STRONG_GLASSES = [ - ['create:dark_oak_window', true], - ['create:mangrove_window', true], - ['create:ornate_iron_window', true], - ['create:industrial_iron_window', true], - ['create:weathered_iron_window', true], - ['create:cherry_window', true], - ['create:bamboo_window', true], - ['createdeco:andesite_window', true], - ['createdeco:copper_window', true], - ['createdeco:iron_window', true], - ['createdeco:industrial_iron_window', true], - ['createdeco:brass_window', true], - ['createdeco:zinc_window', true], - ['everycomp:c/domum_ornamentum/cactus_window_pane', false], - ['everycomp:c/domum_ornamentum/cactus_extra_window_pane', false] - ] - const GLASSES = [ - 'create:framed_glass', - 'create:vertical_framed_glass', - 'create:horizontal_framed_glass', - 'create:tiled_glass' - ] - - STRONG_GLASSES.forEach(glass => { - event.addBlockLootModifier(glass[0]) - .addLoot(glass[0]) - if (glass[1]) { - event.addBlockLootModifier(`${glass[0] }_pane`) - .addLoot(`${glass[0] }_pane`) - } - - }); - - GLASSES.forEach(glass => { - event.addBlockLootModifier(glass) - .matchMainHand(Item.of('tfc:gem_saw')) - .addLoot(glass) - event.addBlockLootModifier(`${glass }_pane`) - .matchMainHand(Item.of('tfc:gem_saw')) - .addLoot(`${glass }_pane`) - - }) - - global.TFC_WOOD_TYPES.forEach(wood => { - const id = `everycomp:c/tfc/${ wood }_window_pane` - event.addBlockLootModifier(id) - .addLoot(id) - }) - global.AFC_WOOD_TYPES.forEach(wood => { - const id = `everycomp:c/afc/${ wood }_window_pane` - event.addBlockLootModifier(id) - .addLoot(id) - }) - - global.AD_ASTRA_WOOD.forEach(wood => { - const id = `everycomp:c/ad_astra/${ wood.name }_window_pane` - event.addBlockLootModifier(id) - .addLoot(id) - }) - -}; diff --git a/kubejs/server_scripts/wan_ancient_beasts/loot.js b/kubejs/server_scripts/wan_ancient_beasts/loot.js new file mode 100644 index 000000000..a1f5cfb53 --- /dev/null +++ b/kubejs/server_scripts/wan_ancient_beasts/loot.js @@ -0,0 +1,23 @@ +// priority: 0 +"use strict"; + +function registerWansAncientBeastsLoots(event) { + + // Extra animal drop amounts for butchery knives + + event.addEntityLootModifier('wan_ancient_beasts:crusher') + .matchMainHand('#forge:tools/butchery_knives') + .addWeightedLoot([1, 3], ['tfg:food/raw_crusher_meat']) + + event.addEntityLootModifier('wan_ancient_beasts:glider') + .matchMainHand('#forge:tools/butchery_knives') + .addWeightedLoot([1, 3], ['tfg:food/raw_glider_wings']) + + event.addEntityLootModifier('wan_ancient_beasts:soarer') + .matchMainHand('#forge:tools/butchery_knives') + .addWeightedLoot([1, 2], ['tfg:food/raw_whole_soarer']) + + event.addEntityLootModifier('wan_ancient_beasts:walker') + .matchMainHand('#forge:tools/butchery_knives') + .addWeightedLoot([6, 12], ['tfg:food/raw_walker_steak']) +} \ No newline at end of file