diff --git a/config/ftbquests/quests/chapters/questsmetallurgy.snbt b/config/ftbquests/quests/chapters/questsmetallurgy.snbt index fa48fa874..d2ffcdfec 100644 --- a/config/ftbquests/quests/chapters/questsmetallurgy.snbt +++ b/config/ftbquests/quests/chapters/questsmetallurgy.snbt @@ -448,8 +448,8 @@ type: "dimension" } { - entity: "kaolinclayze:tfc" - icon: "kaolinclayze:tfc_spawn_egg" + entity: "primitive_creatures:tfc" + icon: "primitive_creatures:tfc_spawn_egg" id: "710B94F88C7078C9" optional_task: true type: "kill" @@ -743,8 +743,8 @@ type: "dimension" } { - entity: "kaolinclayze:golem_2" - icon: "kaolinclayze:golem_2_spawn_egg" + entity: "primitive_creatures:golem_2" + icon: "primitive_creatures:golem_2_spawn_egg" id: "0981F64F296CDDC5" optional_task: true type: "kill" diff --git a/kubejs/assets/kaolinclayze/lang/en_us.json b/kubejs/assets/kaolinclayze/lang/en_us.json deleted file mode 100644 index 2e4dce6c6..000000000 --- a/kubejs/assets/kaolinclayze/lang/en_us.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", - "entity.kaolinclayze.tfc": "Kaolin Klayze", - "entity.terramod.tfc": "Kaolin Klayze", - "entity.kaolinclayze.golem_2": "Graphite Glayze", - "item.kaolinclayze.tfc_spawn_egg": "Kaolin Klayze Spawn Egg", - "item.kaolinclayze.golem_2_spawn_egg": "Graphite Glayze Spawn Egg", - "item.kaolinclayze.yhgi": "Flint Club", - "item.kaolinclayze.reh": "Fortified Flint Club", - "item.kaolinclayze.grh": "Battered Wool", - "item.kaolinclayze.totem_0": "Small Clay Idol", - "item.kaolinclayze.totem_2": "Wooden Lion-Man Idol", - "item.kaolinclayze.totem_3": "Hardened Mud Idol", - "item.kaolinclayze.tt_5": "Small Shard", - "item.kaolinclayze.f_1": "Primitive Explosives" -} \ No newline at end of file diff --git a/kubejs/assets/kaolinclayze/lang/uk_ua.json b/kubejs/assets/kaolinclayze/lang/uk_ua.json deleted file mode 100644 index 93d549278..000000000 --- a/kubejs/assets/kaolinclayze/lang/uk_ua.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", - "entity.kaolinclayze.tfc": "Каоліновий Клейз", - "entity.terramod.tfc": "Каоліновий Клейз", - "entity.kaolinclayze.golem_2": "Графітовий Глейз", - "item.kaolinclayze.tfc_spawn_egg": "Яйце спавну Каолінового Клейза", - "item.kaolinclayze.golem_2_spawn_egg": "Яйце спавну Графітового Глейза", - "item.terramod.tfc_spawn_egg": "Яйце спавну Каолінового Клейза" -} \ No newline at end of file diff --git a/kubejs/assets/primitive_creatures/lang/en_us.json b/kubejs/assets/primitive_creatures/lang/en_us.json new file mode 100644 index 000000000..08b97147a --- /dev/null +++ b/kubejs/assets/primitive_creatures/lang/en_us.json @@ -0,0 +1,21 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "entity.primitive_creatures.tfc": "Kaolin Klayze", + "entity.primitive_creatures.golem_2": "Graphite Glayze", + "entity.primitive_creatures.iloger_4": "Forager", + "entity.primitive_creatures.wiloger": "Beast Tamer", + "entity.primitive_creatures.iloger_2": "Herbalist", + "item.primitive_creatures.tfc_spawn_egg": "Kaolin Klayze Spawn Egg", + "item.primitive_creatures.golem_2_spawn_egg": "Graphite Glayze Spawn Egg", + "item.primitive_creatures.iloger_4_spawn_egg": "Forager Spawn Egg", + "item.primitive_creatures.wiloger_spawn_egg": "Beast Tamer Spawn Egg", + "item.primitive_creatures.iloger_2_spawn_egg": "Herbalist Spawn Egg", + "item.primitive_creatures.yhgi": "Flint Club", + "item.primitive_creatures.reh": "Fortified Flint Club", + "item.primitive_creatures.grh": "Battered Wool", + "item.primitive_creatures.totem_0": "Small Clay Idol", + "item.primitive_creatures.totem_2": "Wooden Lion-Man Idol", + "item.primitive_creatures.totem_3": "Hardened Mud Idol", + "item.primitive_creatures.tt_5": "Small Shard", + "item.primitive_creatures.f_1": "Primitive Explosives" +} \ No newline at end of file diff --git a/kubejs/assets/primitive_creatures/lang/uk_ua.json b/kubejs/assets/primitive_creatures/lang/uk_ua.json new file mode 100644 index 000000000..d38dae7b6 --- /dev/null +++ b/kubejs/assets/primitive_creatures/lang/uk_ua.json @@ -0,0 +1,7 @@ +{ + "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.", + "entity.primitive_creatures.tfc": "Каоліновий Клейз", + "entity.primitive_creatures.golem_2": "Графітовий Глейз", + "item.primitive_creatures.tfc_spawn_egg": "Яйце спавну Каолінового Клейза", + "item.primitive_creatures.golem_2_spawn_egg": "Яйце спавну Графітового Глейза" +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/flint_club_head.json b/kubejs/assets/tfg/models/item/flint_club_head.json new file mode 100644 index 000000000..dedcd0191 --- /dev/null +++ b/kubejs/assets/tfg/models/item/flint_club_head.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "tfg:item/flint_club_head" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/item/flint_club_head.png b/kubejs/assets/tfg/textures/item/flint_club_head.png new file mode 100644 index 000000000..2f9af8d2c Binary files /dev/null and b/kubejs/assets/tfg/textures/item/flint_club_head.png differ diff --git a/kubejs/data/kaolinclayze/forge/biome_modifier/beast_biome_modifier.json b/kubejs/data/kaolinclayze/forge/biome_modifier/beast_biome_modifier.json new file mode 100644 index 000000000..2d96022cf --- /dev/null +++ b/kubejs/data/kaolinclayze/forge/biome_modifier/beast_biome_modifier.json @@ -0,0 +1,3 @@ +{ + "type": "forge:none" +} \ No newline at end of file diff --git a/kubejs/data/kaolinclayze/forge/biome_modifier/golem_2_biome_modifier.json b/kubejs/data/kaolinclayze/forge/biome_modifier/golem_2_biome_modifier.json new file mode 100644 index 000000000..2d96022cf --- /dev/null +++ b/kubejs/data/kaolinclayze/forge/biome_modifier/golem_2_biome_modifier.json @@ -0,0 +1,3 @@ +{ + "type": "forge:none" +} \ No newline at end of file diff --git a/kubejs/data/kaolinclayze/forge/biome_modifier/iloger_1_biome_modifier.json b/kubejs/data/kaolinclayze/forge/biome_modifier/iloger_1_biome_modifier.json new file mode 100644 index 000000000..2d96022cf --- /dev/null +++ b/kubejs/data/kaolinclayze/forge/biome_modifier/iloger_1_biome_modifier.json @@ -0,0 +1,3 @@ +{ + "type": "forge:none" +} \ No newline at end of file diff --git a/kubejs/data/kaolinclayze/forge/biome_modifier/iloger_2_biome_modifier.json b/kubejs/data/kaolinclayze/forge/biome_modifier/iloger_2_biome_modifier.json new file mode 100644 index 000000000..2d96022cf --- /dev/null +++ b/kubejs/data/kaolinclayze/forge/biome_modifier/iloger_2_biome_modifier.json @@ -0,0 +1,3 @@ +{ + "type": "forge:none" +} \ No newline at end of file diff --git a/kubejs/data/kaolinclayze/forge/biome_modifier/iloger_3_biome_modifier.json b/kubejs/data/kaolinclayze/forge/biome_modifier/iloger_3_biome_modifier.json new file mode 100644 index 000000000..2d96022cf --- /dev/null +++ b/kubejs/data/kaolinclayze/forge/biome_modifier/iloger_3_biome_modifier.json @@ -0,0 +1,3 @@ +{ + "type": "forge:none" +} \ No newline at end of file diff --git a/kubejs/data/kaolinclayze/forge/biome_modifier/iloger_4_biome_modifier.json b/kubejs/data/kaolinclayze/forge/biome_modifier/iloger_4_biome_modifier.json new file mode 100644 index 000000000..2d96022cf --- /dev/null +++ b/kubejs/data/kaolinclayze/forge/biome_modifier/iloger_4_biome_modifier.json @@ -0,0 +1,3 @@ +{ + "type": "forge:none" +} \ No newline at end of file diff --git a/kubejs/data/kaolinclayze/forge/biome_modifier/iloger_5_biome_modifier.json b/kubejs/data/kaolinclayze/forge/biome_modifier/iloger_5_biome_modifier.json new file mode 100644 index 000000000..2d96022cf --- /dev/null +++ b/kubejs/data/kaolinclayze/forge/biome_modifier/iloger_5_biome_modifier.json @@ -0,0 +1,3 @@ +{ + "type": "forge:none" +} \ No newline at end of file diff --git a/kubejs/data/kaolinclayze/forge/biome_modifier/iloger_6_biome_modifier.json b/kubejs/data/kaolinclayze/forge/biome_modifier/iloger_6_biome_modifier.json new file mode 100644 index 000000000..2d96022cf --- /dev/null +++ b/kubejs/data/kaolinclayze/forge/biome_modifier/iloger_6_biome_modifier.json @@ -0,0 +1,3 @@ +{ + "type": "forge:none" +} \ No newline at end of file diff --git a/kubejs/data/kaolinclayze/forge/biome_modifier/piloger_9_biome_modifier.json b/kubejs/data/kaolinclayze/forge/biome_modifier/piloger_9_biome_modifier.json new file mode 100644 index 000000000..2d96022cf --- /dev/null +++ b/kubejs/data/kaolinclayze/forge/biome_modifier/piloger_9_biome_modifier.json @@ -0,0 +1,3 @@ +{ + "type": "forge:none" +} \ No newline at end of file diff --git a/kubejs/data/kaolinclayze/forge/biome_modifier/tfc_biome_modifier.json b/kubejs/data/kaolinclayze/forge/biome_modifier/tfc_biome_modifier.json new file mode 100644 index 000000000..2d96022cf --- /dev/null +++ b/kubejs/data/kaolinclayze/forge/biome_modifier/tfc_biome_modifier.json @@ -0,0 +1,3 @@ +{ + "type": "forge:none" +} \ No newline at end of file diff --git a/kubejs/data/kaolinclayze/forge/biome_modifier/viloger_10_biome_modifier.json b/kubejs/data/kaolinclayze/forge/biome_modifier/viloger_10_biome_modifier.json new file mode 100644 index 000000000..2d96022cf --- /dev/null +++ b/kubejs/data/kaolinclayze/forge/biome_modifier/viloger_10_biome_modifier.json @@ -0,0 +1,3 @@ +{ + "type": "forge:none" +} \ No newline at end of file diff --git a/kubejs/data/kaolinclayze/forge/biome_modifier/wiloger_biome_modifier.json b/kubejs/data/kaolinclayze/forge/biome_modifier/wiloger_biome_modifier.json new file mode 100644 index 000000000..2d96022cf --- /dev/null +++ b/kubejs/data/kaolinclayze/forge/biome_modifier/wiloger_biome_modifier.json @@ -0,0 +1,3 @@ +{ + "type": "forge:none" +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json b/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json index c73344a8c..c9cd4251f 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json +++ b/kubejs/data/tfg/worldgen/biome/nether/ash_forest.json @@ -140,7 +140,7 @@ "weight": 10 }, { - "type": "kaolinclayze:golem_2", + "type": "primitive_creatures:golem_2", "maxCount": 3, "minCount": 1, "weight": 100 diff --git a/kubejs/data/tfg/worldgen/biome/nether/basalt_deltas.json b/kubejs/data/tfg/worldgen/biome/nether/basalt_deltas.json index 15907092f..8b3b70b7d 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/basalt_deltas.json +++ b/kubejs/data/tfg/worldgen/biome/nether/basalt_deltas.json @@ -110,7 +110,7 @@ "weight": 100 }, { - "type": "kaolinclayze:golem_2", + "type": "primitive_creatures:golem_2", "maxCount": 4, "minCount": 1, "weight": 100 diff --git a/kubejs/data/tfg/worldgen/biome/nether/lava_floes.json b/kubejs/data/tfg/worldgen/biome/nether/lava_floes.json index f294ed7a4..fc9ed3bef 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/lava_floes.json +++ b/kubejs/data/tfg/worldgen/biome/nether/lava_floes.json @@ -132,7 +132,7 @@ "weight": 20 }, { - "type": "kaolinclayze:golem_2", + "type": "primitive_creatures:golem_2", "maxCount": 4, "minCount": 1, "weight": 100 diff --git a/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json b/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json index 8df076f2a..186ed00d6 100644 --- a/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json +++ b/kubejs/data/tfg/worldgen/biome/nether/lush_hollow.json @@ -128,7 +128,7 @@ "weight": 50 }, { - "type": "kaolinclayze:tfc", + "type": "primitive_creatures:tfc", "maxCount": 4, "minCount": 1, "weight": 100 diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index 676675af5..802b2c80c 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -38,6 +38,7 @@ ServerEvents.tags('item', event => { registerModernMarkingsItemTags(event) registerMoreRedItemTags(event) registerHotOrNotItemTags(event) + registerPrimitiveCreaturesItemTags(event) registerRailWaysItemTags(event) registerRnrItemTags(event) registerSophisticatedBackpacksItemTags(event) @@ -237,6 +238,7 @@ ServerEvents.recipes(event => { registerMinecraftRecipes(event) registerModernMarkingRecipes(event) registerMoreRedRecipes(event) + registerPrimitiveCreaturesRecipes(event) registerProgrammedCircuitCardRecipes(event) registerRailWaysRecipes(event) registerRnrRecipes(event) diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index b748e6208..f5856c088 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -1083,4 +1083,6 @@ const registerMinecraftRecipes = (event) => { event.shapeless('2x minecraft:gunpowder', ['#forge:tools/mortars', 'tfc:powder/saltpeter', 'tfc:powder/saltpeter', 'tfc:powder/sulfur', 'tfc:powder/charcoal', 'tfc:powder/charcoal', 'tfc:powder/charcoal']) .id('tfg:shapeless/gunpowder_tfc_style') + + event.shapeless('8x minecraft:bone_meal', ['#forge:tools/mortars', 'minecraft:skeleton_skull']) } diff --git a/kubejs/server_scripts/minecraft/recipes.removes.js b/kubejs/server_scripts/minecraft/recipes.removes.js index bcd81d0ff..fa9edf345 100644 --- a/kubejs/server_scripts/minecraft/recipes.removes.js +++ b/kubejs/server_scripts/minecraft/recipes.removes.js @@ -2079,4 +2079,5 @@ function removeMinecraftRecipes(event) { //#endregion event.remove({ id: 'minecraft:flower_banner_pattern' }) + event.remove({ id: 'gtceu:assembler/lodestone' }) } \ No newline at end of file diff --git a/kubejs/server_scripts/primitive_creatures/loot.js b/kubejs/server_scripts/primitive_creatures/loot.js index 89010f10d..62100c913 100644 --- a/kubejs/server_scripts/primitive_creatures/loot.js +++ b/kubejs/server_scripts/primitive_creatures/loot.js @@ -2,12 +2,180 @@ function registerPrimitiveCreaturesLoots(event) { - event.addEntityLootModifier('kaolinclayze:tfc') + // kaolin klayze + event.addEntityLootModifier('primitive_creatures:tfc') .removeLoot(ItemFilter.ALWAYS_TRUE) .addWeightedLoot([12,16], ['tfc:kaolin_clay', 'minecraft:clay_ball']) .addLoot('tfc:plant/blood_lily') - event.addEntityLootModifier('kaolinclayze:golem_2') + // graphite glayze + event.addEntityLootModifier('primitive_creatures:golem_2') .removeLoot(ItemFilter.ALWAYS_TRUE) - .addWeightedLoot([3,5], ['gtceu:rich_raw_graphite']) + .addWeightedLoot([2,4], ['gtceu:rich_raw_graphite']) + + + const CLOTHING_DROP_RATE = 0.05 + + // inhabitant - light tan clothes, holds a stone axe + event.addEntityLootModifier('primitive_creatures:iloger_1') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addWeightedLoot([ + // the illusion of randomness + Item.of('tfc:food/bunchberry', 3), + Item.of('tfc:food/cranberry', 4), + Item.of('tfc:food/gooseberry', 5), + Item.of('tfc:food/blackberry', 6), + Item.of('tfc:food/blueberry', 3), + Item.of('tfc:food/cloudberry', 4), + Item.of('tfc:food/elderberry', 5), + Item.of('tfc:food/raspberry', 6), + Item.of('tfc:food/snowberry', 3), + Item.of('tfc:food/strawberry', 4), + Item.of('tfc:food/wintergreen_berry', 5)]) + .addAlternativesLoot( + LootEntry.of('primitive_creatures:grh').when(c => c.randomChance(0.8)), + LootEntry.of('gtceu:stone_axe').when(c => c.randomChance(0.3)), + LootEntry.of('primitive_creatures:totem_0').when(c => c.randomChance(0.1)), + LootEntry.of('primitive_creatures:totem_3').when(c => c.randomChance(0.1))) + event.addEntityLootModifier('primitive_creatures:iloger_1') + .randomChance(CLOTHING_DROP_RATE) + .addWeightedLoot([ + Item.of('tfc_textile:raw_hat'), + Item.of('tfc_textile:raw_shirt'), + Item.of('tfc_textile:raw_pants'), + Item.of('tfc_textile:raw_socks')]) + + // herbalist - brown clothes with a mask that looks like a Creaking + event.addEntityLootModifier('primitive_creatures:iloger_2') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addWeightedLoot([1,2], ['gtceu:tricalcium_phosphate_dust']) + .addAlternativesLoot( + LootEntry.of('tfc:plant/field_horsetail').when(c => c.randomChance(0.3)), + LootEntry.of('tfc:plant/foxglove').when(c => c.randomChance(0.5)), + LootEntry.of('firmalife:beeswax').when(c => c.randomChance(0.8)), + LootEntry.of('primitive_creatures:totem_0').when(c => c.randomChance(0.1)), + LootEntry.of('primitive_creatures:totem_3').when(c => c.randomChance(0.1))) + event.addEntityLootModifier('primitive_creatures:iloger_2') + .randomChance(CLOTHING_DROP_RATE) + .addWeightedLoot([ + Item.of('tfc_textile:grizzly_bear_hat'), + Item.of('tfc_textile:grizzly_bear_shirt'), + Item.of('tfc_textile:grizzly_bear_pants'), + Item.of('tfc_textile:grizzly_bear_boots')]) + + // bonebreaker - skull helmet, bone armor? hits harder, has knockback + event.addEntityLootModifier('primitive_creatures:iloger_3') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addWeightedLoot([0,2], ['minecraft:flint']) + .addWeightedLoot([1,3], ['minecraft:bone']) + .addAlternativesLoot( + LootEntry.of('gtceu:stone_hammer').when(c => c.randomChance(0.2)), + LootEntry.of('minecraft:skeleton_skull').when(c => c.randomChance(0.1)), + LootEntry.of('primitive_creatures:grh').when(c => c.randomChance(0.5))) // battered wool + event.addEntityLootModifier('primitive_creatures:iloger_3') + .randomChance(CLOTHING_DROP_RATE) + .addWeightedLoot([ + Item.of('tfc_textile:direwolf_hat'), + Item.of('tfc_textile:direwolf_shirt'), + Item.of('tfc_textile:direwolf_pants'), + Item.of('tfc_textile:direwolf_boots')]) + + // forager - leaf on head, leafy clothes (like the swamp vanilla villager type), ranged with poison + event.addEntityLootModifier('primitive_creatures:iloger_4') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addWeightedLoot([1,3], LootEntry.of('minecraft:tipped_arrow')).addPotion("poison") + .addAlternativesLoot( + LootEntry.of('firmalife:food/nightshade_berry').when(c => c.randomChance(0.7)), + LootEntry.of('minecraft:spider_eye').when(c => c.randomChance(0.7)), + LootEntry.of('primitive_creatures:totem_0').when(c => c.randomChance(0.1)), + LootEntry.of('primitive_creatures:totem_2').when(c => c.randomChance(0.1))) + + // hunter - wears brown and white fur, briefly disappears when hit, ranged with weakness + event.addEntityLootModifier('primitive_creatures:iloger_5') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addWeightedLoot([1,3], LootEntry.of('minecraft:tipped_arrow')).addPotion("weakness") + .addAlternativesLoot( + // placeholder for a blowpipe + LootEntry.of('minecraft:bamboo').when(c => c.randomChance(0.6)), + LootEntry.of('primitive_creatures:grh').when(c => c.randomChance(0.5)), // battered wool + LootEntry.of('primitive_creatures:totem_0').when(c => c.randomChance(0.1)), + LootEntry.of('primitive_creatures:totem_3').when(c => c.randomChance(0.1))) + event.addEntityLootModifier('primitive_creatures:iloger_5') + .randomChance(CLOTHING_DROP_RATE) + .addWeightedLoot([ + Item.of('tfc_textile:sabertooth_hat'), + Item.of('tfc_textile:sabertooth_shirt'), + Item.of('tfc_textile:sabertooth_pants'), + Item.of('tfc_textile:sabertooth_boots')]) + + // shaman - yellow clothes, throws fireballs + event.addEntityLootModifier('primitive_creatures:iloger_6') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addWeightedLoot([1,2], ['primitive_creatures:f_1']) // primitive explosives + .addWeightedLoot([1,3], ['minecraft:gunpowder']) + .addAlternativesLoot( + LootEntry.of('primitive_creatures:grh').when(c => c.randomChance(0.5)), // battered wool + LootEntry.of('primitive_creatures:totem_2').when(c => c.randomChance(0.1)), + LootEntry.of('primitive_creatures:totem_3').when(c => c.randomChance(0.1))) + event.addEntityLootModifier('primitive_creatures:iloger_6') + .randomChance(CLOTHING_DROP_RATE) + .addWeightedLoot([ + Item.of('tfc_textile:cougar_hat'), + Item.of('tfc_textile:cougar_shirt'), + Item.of('tfc_textile:cougar_pants'), + Item.of('tfc_textile:cougar_boots')]) + + // beast tamer - wears tiger fur, holds vanilla sugarcane? fucking summons ravagers + event.addEntityLootModifier('primitive_creatures:wiloger') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addWeightedLoot([0,2], ['primitive_creatures:grh']) // battered wool + .addAlternativesLoot( + LootEntry.of('minecraft:lead').when(c => c.randomChance(0.4)), + LootEntry.of('primitive_creatures:totem_0').when(c => c.randomChance(0.1)), + LootEntry.of('primitive_creatures:totem_3').when(c => c.randomChance(0.1))) + event.addEntityLootModifier('primitive_creatures:wiloger') + .randomChance(CLOTHING_DROP_RATE) + .addWeightedLoot([ + Item.of('tfc_textile:tiger_hat'), + Item.of('tfc_textile:tiger_shirt'), + Item.of('tfc_textile:tiger_pants'), + Item.of('tfc_textile:tiger_boots')]) + + // huntsman - lion fur, holds flint club - stuns you in place when hit + event.addEntityLootModifier('primitive_creatures:piloger_9') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addAlternativesLoot( + LootEntry.of('primitive_creatures:yhgi').when(c => c.randomChance(0.2)), // flint club + LootEntry.of('tfc:small_raw_hide').when(c => c.randomChance(0.4)), + LootEntry.of('primitive_creatures:grh').when(c => c.randomChance(0.5))) // battered wool + event.addEntityLootModifier('primitive_creatures:piloger_9') + .randomChance(CLOTHING_DROP_RATE) + .addWeightedLoot([ + Item.of('tfc_textile:lion_hat'), + Item.of('tfc_textile:lion_shirt'), + Item.of('tfc_textile:lion_pants'), + Item.of('tfc_textile:lion_boots')]) + + // mercenary + event.addEntityLootModifier('primitive_creatures:viloger_10') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addWeightedLoot([1,2], ['minecraft:emerald']) + .addAlternativesLoot( + LootEntry.of('primitive_creatures:grh').when(c => c.randomChance(0.8)), // battered wool + LootEntry.of('gtceu:stone_knife').when(c => c.randomChance(0.3)), + LootEntry.of('primitive_creatures:totem_2').when(c => c.randomChance(0.1)), + LootEntry.of('primitive_creatures:totem_3').when(c => c.randomChance(0.1))) + event.addEntityLootModifier('primitive_creatures:viloger_10') + .randomChance(CLOTHING_DROP_RATE) + .addWeightedLoot([ + Item.of('tfc_textile:raw_hat'), + Item.of('tfc_textile:raw_shirt'), + Item.of('tfc_textile:raw_pants'), + Item.of('tfc_textile:raw_socks')]) + + // mistah beeeaaaasssstt + event.addEntityLootModifier('primitive_creatures:beast') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addWeightedLoot([4,8], ['minecraft:bone']) + // raw meat? } \ No newline at end of file diff --git a/kubejs/server_scripts/primitive_creatures/recipes.js b/kubejs/server_scripts/primitive_creatures/recipes.js new file mode 100644 index 000000000..c04387193 --- /dev/null +++ b/kubejs/server_scripts/primitive_creatures/recipes.js @@ -0,0 +1,44 @@ +// priority: 0 + +function registerPrimitiveCreaturesRecipes(event) { + + // terrible idol crafting + event.remove({ id: 'primitive_creatures:h' }) + // the brown idol -> brown dye + event.remove({ id: 'primitive_creatures:eg' }) + // craft flint club + event.remove({ id: 'primitive_creatures:rwtge' }) + // battered wool to wool block + event.remove({ id: 'primitive_creatures:egwgew' }) + // lodestone? + event.remove({ id: 'primitive_creatures:hhg' }) + + // craft fortified flint club + event.replaceInput({ id: 'primitive_creatures:wegfweg' }, 'primitive_creatures:tt_5', '#tfc:nuggets') + event.replaceInput({ id: 'primitive_creatures:wegfweg' }, 'primitive_creatures:grh', 'tfc:wool') + + event.recipes.tfc.knapping( + 'tfg:flint_club_head', + 'tfg:flint', + [ + ' XXX ', + ' XXX ', + ' X ', + ' XXX ', + ' X ' + ] + ).outsideSlotRequired(false) + .id('tfg:knapping/flint_club_head') + + // craft flint club + event.shapeless('primitive_creatures:yhgi', ['tfg:flint_club_head', '#forge:rods/wooden']) + .id('tfg:shapeless/flint_club') + + // turn battered wool into tfc wool + event.shapeless('tfc:wool', ['primitive_creatures:grh', 'primitive_creatures:grh', '#forge:tools/knives']) + .id('tfg:shapeless/cleaning_battered_wool') + + // mud idol into mud + event.shapeless('6x tfc:daub', ['primitive_creatures:totem_3']) + .id('tfg:shapeless/totem_3_decomp') +} \ No newline at end of file diff --git a/kubejs/server_scripts/primitive_creatures/tags.js b/kubejs/server_scripts/primitive_creatures/tags.js new file mode 100644 index 000000000..e6fbe37f0 --- /dev/null +++ b/kubejs/server_scripts/primitive_creatures/tags.js @@ -0,0 +1,28 @@ +// priority: 0 + +function registerPrimitiveCreaturesItemTags(event) { + const DISABLED_ITEMS = [ + // idol fragment (combine to make a terrible idol) + 'primitive_creatures:tt_5', + // the terrible idol (spawns illager herobrine) + 'primitive_creatures:kopo', + // the friendly idol (spawns an allay) + 'primitive_creatures:jjj', + ] + + DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + event.add('c:hidden_from_recipe_viewers', item) + }) + + // This tag doesn't actually do anything, as the list is hardcoded into the mod, + // but it makes it easier to find what they will accept + event.add('primitive_creatures:mercenary_payment', 'minecraft:rabbit_foot') + event.add('primitive_creatures:mercenary_payment', 'minecraft:leather') + event.add('primitive_creatures:mercenary_payment', 'minecraft:scute') + event.add('primitive_creatures:mercenary_payment', 'minecraft:redstone') + event.add('primitive_creatures:mercenary_payment', 'minecraft:gunpowder') + event.add('primitive_creatures:mercenary_payment', 'minecraft:spider_eye') + event.add('primitive_creatures:mercenary_payment', 'minecraft:flint') + event.add('primitive_creatures:mercenary_payment', 'minecraft:emerald') +} \ No newline at end of file diff --git a/kubejs/server_scripts/species/recipes.js b/kubejs/server_scripts/species/recipes.js index a6273922d..3a10d7025 100644 --- a/kubejs/server_scripts/species/recipes.js +++ b/kubejs/server_scripts/species/recipes.js @@ -1,7 +1,10 @@ // priority: 0 function registerSpeciesRecipes(event) { - event.remove({ mod: 'species' }) + global.SPECIES_DISABLED_ITEMS.forEach(item => { + event.remove({ input: item }) + event.remove({ output: item }) + }) event.shapeless('species:music_disc_dial', ['etched:blank_music_disc', 'species:birt_egg']) diff --git a/kubejs/startup_scripts/main_startup_script.js b/kubejs/startup_scripts/main_startup_script.js index 62ef82f38..07dbe6aa3 100644 --- a/kubejs/startup_scripts/main_startup_script.js +++ b/kubejs/startup_scripts/main_startup_script.js @@ -72,6 +72,6 @@ TFCEvents.registerFoodTrait(event => { registerTFGFoodTraits(event) }) -Platform.mods.kaolinclayze.name = "Primitive Creatures"; +Platform.mods.primitive_creatures.name = "Primitive Creatures"; Platform.mods.tfg.name = "TerraFirmaGreg"; Platform.mods.kubejs.name = "TerraFirmaGreg"; \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/items.js b/kubejs/startup_scripts/tfg/items.js index a60101bbb..c4fb442c7 100644 --- a/kubejs/startup_scripts/tfg/items.js +++ b/kubejs/startup_scripts/tfg/items.js @@ -157,18 +157,10 @@ const registerTFGItems = (event) => { //#region Misc event.create('tfg:paraffin_wax') - .translationKey('item.tfg.paraffin_wax') - event.create('tfg:conifer_rosin') - .translationKey('item.tfg.conifer_rosin') - event.create('tfg:foil_pack') - .translationKey('item.tfg.foil_pack') - .texture('tfg:item/foil_pack') - event.create('tfg:clean_foil_pack') - .translationKey('item.tfg.clean_foil_pack') - .texture('tfg:item/clean_foil_pack') + event.create('tfg:flint_club_head') //#endregion //#region Cloth & String diff --git a/pakku-lock.json b/pakku-lock.json index bb4e92a22..ffe54f801 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -10058,24 +10058,26 @@ "files": [ { "type": "curseforge", - "file_name": "primitive_creatures_netherforge-1.20.1.jar", + "file_name": "Primitive creatures v2 forge-1.20.1.jar", "mc_versions": [ "1.20.1" ], "loaders": [ "forge" ], - "release_type": "beta", - "url": "https://edge.forgecdn.net/files/6293/489/primitive_creatures_netherforge-1.20.1.jar", - "id": "6293489", + "release_type": "release", + "url": "https://edge.forgecdn.net/files/6680/370/Primitive creatures v2 forge-1.20.1.jar", + "id": "6680370", "parent_id": "1218288", "hashes": { - "sha1": "2af2dc7e02672eba68d1631fc9a331bebe59b89d", - "md5": "0855701ad11cb7c8430dfcaed6d27a5d" + "sha1": "80ed425171aa47b030bd26630c4d353684f85af8", + "md5": "b5b73d7b0120be63e14e72e848329417" }, - "required_dependencies": [], - "size": 54387, - "date_published": "2025-03-11T19:35:31.220Z" + "required_dependencies": [ + "388172" + ], + "size": 414435, + "date_published": "2025-06-21T20:31:50.780Z" } ] },