From 5c0842dcffe92ce8ca5cc4401f8f23ef176c3d73 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Mon, 15 Dec 2025 00:38:12 +0000 Subject: [PATCH] added new illager invisible structures and small camps --- CHANGELOG.md | 1 + ...ns_illages.json => avoid_water_large.json} | 0 ...rate_house.json => avoid_water_small.json} | 4 +- .../tfg/loot_tables/chests/illager_camps.json | 379 ++++++++++++++++++ .../structures/illager_generic/gatherers.nbt | Bin 0 -> 369 bytes .../illager_generic/huntmaster_camp.nbt | Bin 0 -> 1642 bytes .../illager_generic/mobs/huntmaster.nbt | Bin 0 -> 1035 bytes .../illager_generic/small_camp_1.nbt | Bin 0 -> 1106 bytes .../illager_generic/small_camp_2.nbt | Bin 0 -> 1117 bytes .../worldgen/structure/illagers/camps.json | 25 ++ .../structure/illagers/forest_roaming.json | 25 ++ .../illagers/norse_village_living.json | 2 +- .../illagers/norse_village_ruined.json | 2 +- .../structure_set/illagers/illager_camps.json | 19 + .../illagers/illager_forest_roaming.json | 19 + .../illagers/camp_start_pool.json | 33 ++ .../illagers/forest_roaming_start_pool.json | 15 + .../template_pool/illagers/mob_gatherer.json | 24 ++ .../illagers/mob_huntmaster.json | 15 + .../tfg/worldgen/tags.overworld.js | 27 ++ 20 files changed, 587 insertions(+), 3 deletions(-) rename kubejs/data/tfg/lithostitched/worldgen_modifier/{contains_illages.json => avoid_water_large.json} (100%) rename kubejs/data/tfg/lithostitched/worldgen_modifier/{contains_temperate_house.json => avoid_water_small.json} (75%) create mode 100644 kubejs/data/tfg/loot_tables/chests/illager_camps.json create mode 100644 kubejs/data/tfg/structures/illager_generic/gatherers.nbt create mode 100644 kubejs/data/tfg/structures/illager_generic/huntmaster_camp.nbt create mode 100644 kubejs/data/tfg/structures/illager_generic/mobs/huntmaster.nbt create mode 100644 kubejs/data/tfg/structures/illager_generic/small_camp_1.nbt create mode 100644 kubejs/data/tfg/structures/illager_generic/small_camp_2.nbt create mode 100644 kubejs/data/tfg/worldgen/structure/illagers/camps.json create mode 100644 kubejs/data/tfg/worldgen/structure/illagers/forest_roaming.json create mode 100644 kubejs/data/tfg/worldgen/structure_set/illagers/illager_camps.json create mode 100644 kubejs/data/tfg/worldgen/structure_set/illagers/illager_forest_roaming.json create mode 100644 kubejs/data/tfg/worldgen/template_pool/illagers/camp_start_pool.json create mode 100644 kubejs/data/tfg/worldgen/template_pool/illagers/forest_roaming_start_pool.json create mode 100644 kubejs/data/tfg/worldgen/template_pool/illagers/mob_gatherer.json create mode 100644 kubejs/data/tfg/worldgen/template_pool/illagers/mob_huntmaster.json diff --git a/CHANGELOG.md b/CHANGELOG.md index a549036da..c820029fa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ - The medical condition effect that previously instantly killed you (which did not spawn a corpse) now gives you Wither III instead. @Pyritie #### Other - Added two more early game mechanical belts, and rubber+ belts are also now more expensive. @Pyritie +- Primitive illagers will no longer endlessly respawn. Instead, now they only spawn as "structures", so once you kill them they will never return. @Pyritie - Doubled the durability of all space suits @Pyritie - Added a way to convert between vinegar and acetic acid (#2386) @Epicificator - Added a renderer to the electric greenhouse, so now you can visually see your crops grow! @RubenVerg diff --git a/kubejs/data/tfg/lithostitched/worldgen_modifier/contains_illages.json b/kubejs/data/tfg/lithostitched/worldgen_modifier/avoid_water_large.json similarity index 100% rename from kubejs/data/tfg/lithostitched/worldgen_modifier/contains_illages.json rename to kubejs/data/tfg/lithostitched/worldgen_modifier/avoid_water_large.json diff --git a/kubejs/data/tfg/lithostitched/worldgen_modifier/contains_temperate_house.json b/kubejs/data/tfg/lithostitched/worldgen_modifier/avoid_water_small.json similarity index 75% rename from kubejs/data/tfg/lithostitched/worldgen_modifier/contains_temperate_house.json rename to kubejs/data/tfg/lithostitched/worldgen_modifier/avoid_water_small.json index 620e0a23a..5e692b623 100644 --- a/kubejs/data/tfg/lithostitched/worldgen_modifier/contains_temperate_house.json +++ b/kubejs/data/tfg/lithostitched/worldgen_modifier/avoid_water_small.json @@ -1,7 +1,9 @@ { "type": "lithostitched:set_structure_spawn_condition", "structures": [ - "tfg:temperate/plains_temperate_house_0" + "tfg:temperate/plains_temperate_house_0", + "tfg:illagers/camps", + "tfg:illagers/forest_roaming" ], "spawn_condition": { "type": "lithostitched:grid", diff --git a/kubejs/data/tfg/loot_tables/chests/illager_camps.json b/kubejs/data/tfg/loot_tables/chests/illager_camps.json new file mode 100644 index 000000000..70b923fb9 --- /dev/null +++ b/kubejs/data/tfg/loot_tables/chests/illager_camps.json @@ -0,0 +1,379 @@ +{ + "type": "minecraft:chest", + "pools": [ + { + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "tfc:wool", + "weight": 80, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 3, + "min": 1 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:wool_yarn", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 9, + "min": 5 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:leather", + "weight": 50, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 2, + "min": 1 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:ceramic/gray_glazed_vessel", + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "tfc:ceramic/light_gray_glazed_vessel", + "weight": 50 + }, + { + "type": "minecraft:item", + "name": "minecraft:sentry_armor_trim_smithing_template", + "weight": 10 + }, + { + "type": "minecraft:item", + "name": "minecraft:vex_armor_trim_smithing_template", + "weight": 10 + }, + { + "type": "minecraft:item", + "name": "minecraft:wild_armor_trim_smithing_template", + "weight": 10 + }, + { + "type": "minecraft:item", + "name": "minecraft:coast_armor_trim_smithing_template", + "weight": 10 + }, + { + "type": "minecraft:item", + "name": "tfc:powder/salt", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 8, + "min": 4 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:powder/saltpeter", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6, + "min": 3 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:powder/sulfur", + "weight": 50, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6, + "min": 3 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:candle", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 4, + "min": 2 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:candle/gray", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 4, + "min": 2 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:candle/light_gray", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 4, + "min": 2 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:emerald", + "weight": 50, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 4, + "min": 2 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:arrow", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 20, + "min": 12 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "firmalife:jar/compost", + "weight": 80 + }, + { + "type": "minecraft:item", + "name": "firmalife:jar/guano", + "weight": 80 + }, + { + "type": "minecraft:item", + "name": "firmalife:jar/honey", + "weight": 80 + }, + { + "type": "minecraft:item", + "name": "minecraft:paper", + "weight": 50, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 2, + "min": 1 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:groundcover/pumice", + "weight": 50, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 4, + "min": 2 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfg:conifer_rosin", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 3, + "min": 1 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "firmalife:beeswax", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 3, + "min": 1 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:flint", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6, + "min": 3 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:tricalcium_phosphate_dust", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5, + "min": 2 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "minecraft:charcoal", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5, + "min": 2 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfc:glue", + "weight": 100, + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5, + "min": 2 + }, + "function": "minecraft:set_count" + } + ] + }, + { + "type": "minecraft:item", + "name": "chalk:gray_chalk", + "weight": 70 + }, + { + "type": "minecraft:item", + "name": "chalk:light_gray_chalk", + "weight": 70 + }, + { + "type": "minecraft:item", + "name": "species:music_disc_lapidarian", + "weight": 10 + } + ], + "rolls": { + "type": "minecraft:uniform", + "max": 8, + "min": 6 + } + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/structures/illager_generic/gatherers.nbt b/kubejs/data/tfg/structures/illager_generic/gatherers.nbt new file mode 100644 index 0000000000000000000000000000000000000000..5f000a202845afbeaab59c4ef65a591b26861dc5 GIT binary patch literal 369 zcmV-%0gnD3iwFP!00000|J_u}PQx$|Tqk`bsSt=u;VZcJ3gU=3ag8?VHg!qt$lkVs zKj5#iOG|`ONQ4lFTCyEGGvgVrjOW>Fv?1uKikBuE| z7-6mLf#93ijoldW14i`F5j}KZAEL`o(8Eucj_9ESpK~{+%TJe%IHn`oXYE=7p~^Ud z5u+)HVOmK=xxod`DxIadR&L4KL@-=wsTd-o%M!DaA{f+KmvGICVkX^QLB`&AQh~fA zLyj|9NQGtkVdAQhwrtipuMMReE$2>2VMTD>0H~_@C4u-}J6E?@TZkZ#bGT?AD_L0F zez}O?ct~+lAw|2|r&q~uLjFM|r>&3%RYCLri5SDU#*&!HKd7M-d+=hH4Kl|Kr6>&? z{MF0Sa=NTqx3cP3JC|Fu|E0v{cH!&=*p&J=laI*B z6Q(B%{5sZ@_h-#f@-JGCV5Pik*~w3TaVT+76V=m)O!0$3{*`8gh(Vs{(;b(sY{ z3i`y}Mi@)@Ku-o_A}urR0Q#l$)$ASm;To-A?q&cvS7IzXkTPnbm$i5u8Jg)eB3c*K zlFA#3a(kY0rMG+3M_lW#@wl&f6_|#mP=z|_kr@@tc>MFAvKA7x<7(T9!eM;E}#L;G_s7Fr&T%>D}m{HI6iRt;$*R7qQ#qogIxo9!qQ)-cdEZ1fx`Z*@uqhNq`&kT*8NG;0;{ zu!31%!8~juM~=&=LvMac)H_EeNbvbF3(ug6(%D#qT(K;@6)&q8dK1vZ2DZ29fKA{4 zVR(fwphySE!dVFWpNNUrrx2njZf3U9rYCXyjEctgsWT;mgOp@gHsGdknZ}Z)pHF!w zpl|W1z%m$Y$spNx+)}`;bG#JwL*Sx0R3Y$202CX+0mp$KXVDmiH)Fqr{fKq`KSx!@ zXopf``Qhe8A;HV=%tv1P=|!w0D6893O8_rxVK6BtnV%f`>O&h|q%%||O>4JbklL~Z zp>>!{Ti@T+8|TO`nO0AbFHk~ra%rVojY%r^9Mx3It0t^@bhb#ViAoOiL7~x66=qp% zD_Tj<05)Ws*nb9-cd9OfV0_=m4E^q_0ZnGabb7ddtHpGE$)qTtz!$Pg`WRN=P>Mup z&?*P?Aq)D+U#j0V?~ZLlpwA2VGXcbg*F9P8di>iYUF@drz7UYNo6pD7fu|>iE)RKv zuHLaVnB1fkOg0qBDcN)7glgNoeo2^D>A?GF#x9dAFzX31D*Gzja)5C&4?jp3E)B8F<+JTZv9UbE4vXeqx%u%UTcK5#3 z`s_=_2wZr#IK-|)mHkN(#=N_9vqJ;cZ>HT`*9N7upw^46PifjMbIkeL@Hth|PGWpl zdeD^^|HV6W7G3k~j(`x?i$2cS$vrOS{&j;=15O_PM>`>hJu_Cd8G2&6?F-G2Zd;)( zX1se;uUZ|QbG9blwJ+C`QrmSyZ}+bojjnt!2xj&aM~dR@oqNrMch~63*I##UDv=O8 z+N`91M-Cv?b}Q?k0s$Q{^xvwTY#M>k^%g(USe?=9$y#L_(Js%^gkKVpt zcHqyb4NV_sQsyJPM>ge&ogoI@_Y*P=rkHuQd&>!4IdRCd701IyIrsOOGO*H_Dwj0& zh8>YTk2BgpSq^DKv*({6{FI+Q9P6QRQH(w~dfH*L&-tog6mjfaw*)rQw_o%g`LGRh ziyY$|{4yrMCqP(Qkggg^VO$K`4ksNBa7AQNlk$hAC3?}uV&+N+tAlsc6hKnP1uJo<<9w&3P6wCly_mC1Z~&v3_j^nuKoa5jpI#ZHq3iqzS`w4U#p8) Q&|Of;@GkRg+@YlOFJEy&ssI20 literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/illager_generic/mobs/huntmaster.nbt b/kubejs/data/tfg/structures/illager_generic/mobs/huntmaster.nbt new file mode 100644 index 0000000000000000000000000000000000000000..66352151f5965d37dfd8ca6856620f86de8e68f3 GIT binary patch literal 1035 zcmV+m1oZnKiwFSmLO*E$|9w=?ZyQAvervDY-AzK>QYf@liPQ^~P@&>x30(icNu(sT zOj3|Qtj4=zd)nQZWoFjKLHq#~2acR6Lh1og4wc|W#E~1~g2V+75*H3!xK%1|JpK`y z2urK=&U1?Hp(C8dd`_#Y#RnNafpm<5@y z|MMw4>Ej&tnf?MO@}Bmftce^@4X0DaX(UNsS81B*i3g?If^iL=6iGsQ3H89ugh)>C zTPL96z;?0r+i!0GcFI;6Z`KP+7X(W&=gWrp{9t zNvPJ;&{V)ncg>~$O$GDgV;2Mvbfn0r)Ql>GDF!7{-ih{c$PO5}QI@_1-q#x1bi zdDHH6PH2SXwQP=Szps3H_0h*r``g-Ue;izV`JEqrwH!O(HwoX*Vr0iDfZw7-5BC@X z#f!X~d_#(y$BqNRHtp+8!ebgcC8*SUO32KBtf%OqZPK8wwPd|qTZrzw==EjM1Inpn z(X~{JXo~fODx)+mgWDjA)_!_*`dhGd`FLO-J1)kdBz!<;VK-j1rTO6Rh?w;mm6oD1 zlr6m4N8kKd^&TWe@NXj3mR)pM0e63Yt7Wi0|Cf7ZuewR@{TO$`dTvOg9Rm)R2Vn0KAl@W<-?f`034D>c+(M3+Fq{tag?|8^EP8;UVFX znW?ZxiPEb2e$G(SSd|OUCU_ER{0`#LvY0FSy=S`2%RxNK479bpIQ$SVEr;n~vnpS*i@{%u#- zg-o&(r*1^UNTS@a1Xbl^$YN3ex6LGd{229aQnZr^;{)V(4VOd*2Vg(j7D6Lf&rF`( z6D25bQj+Ll{r+_EbY_d^@OANd`|FGMZ**<;!)xEZw-YqG4m{mKfg*Z}=(`jrOX5-~ z!c!d~HA$Md$Iafeh$}PE81;pEl2P#A?9|`d4d2+!oL|@+f>j7 F008OJ5GMct literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/illager_generic/small_camp_1.nbt b/kubejs/data/tfg/structures/illager_generic/small_camp_1.nbt new file mode 100644 index 0000000000000000000000000000000000000000..a74a15a4f61b6d95a18e8da871924f2f9e93a1ee GIT binary patch literal 1106 zcmb2|=3oGW|5s-?W-FVEG|c~Ea`MJK6Ys>xjQqF!1q-*|*%dAJ?ZT!DmtHIMKiz2d zc;dt-7B{`m|IOX|W@o+H)Hf&k-kv<;&E3l8r1SIg<>kx2v#B{ZFmf!n*JNq0<@y%!JHZUX1y;?V@Y=_c*c_M2Paf4ln+XBp7SVhYucPqY?q(@>(}b@ zkpgpA4@#ER|DL%|?ugv;BVWEMe6uiaGH$K|u@mMSD_ayd8LPtyp*a&D^suCZ%mQnL z5L+ytFE`cin>#-N>;+Dr=|Fwz%T8N@9dw4{+?)qzIAH`-JJ=~=Ea{E~5F+QXxc3U9oJ#pmFFEqX z_&Q#v6>2gM-hE7G`PlvM%Y^A~_J((#wRd%yv%a^# zeCORiQ|C_&&rV+U_*Tf{qIGlf!{#}DyS7G3KHpe3;e70Y`MVi1xf3`Joqi_u@J+kx zoLlqKKCFv-`SN_OXaCA-L&IIye7~;NTQ8fl>UnpR)&GUl%1<4;X>ro-|4;ElPcN-9 zceglny5qk}{{1yMn`i#}`|qD!bD+n&pvafuVQ)WI$?t zSphn~+(gYUtt?zRE5atrYTlLA8=ik?HeEPpPncdxp4#bvOA6N(E=>@Bv05Ye<^|8o zm+oj-&(pH(jkYQmQJ8&HtohBtl|c>q-*+wLQB%y`{eIuuja$<0+ALl9B>C)n@u#~u zRw?e;Icw#zki0#7+cU2neVCEACiwQw#U~b*-ni1X+-vC}&9qHr8_mpa-sm-(y)5wA znN#P#A3k>DZbAOH6(&x9r+&UG-ad89Y`c|{lYNs*D|*^nX0m;{y6HyLn`_I{Pk-DL z5O96fimSb=8f&LBU;B0O;FGmw2l5`y&z!^Fdw5gjw@+_N`4sp!TN&}6-+ZzE(&_t7 V-fjYV{~Go)-dZtZ<706K1_0`bHdFur literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/structures/illager_generic/small_camp_2.nbt b/kubejs/data/tfg/structures/illager_generic/small_camp_2.nbt new file mode 100644 index 0000000000000000000000000000000000000000..6119022e5e2df415f006bceef29551d8302552cd GIT binary patch literal 1117 zcmYMteK->c0LO9GWEbuxob&J)^OB+F%r!5SvJ!_O=iQu;xd@B&?2z(o^x(X7*ru^V zrkf$=r5SEs%FE4GUc!*KGA}c)#fdrBb=~ie&wsz?3&{Yud=&bxB@lLSc^Qb_X!H?zl@SK`8Nj`m?R%!f&&D|b+I zs9$^r)rifH(mAczEHEE9XU@l z9wAwC508xfVy}xE9x_e4R~mhae-O9@7o@-Tsbb6?!2a?*Ai3_s-k0M&@9(KdA^;=b z!HEqW$Z3SS*sU}Tii{{18)Kq3;!3`{to2&jtn@=)@U=m^&7?vchLa?}U;-(7Q7yOO ze1ljlN)Z)XRF74x*54$CmdB`jwrsV^u7@BAGE+4y%u>pu0LFOvWAm%?HYDu^Cr(*D zN799p=x;=dj?*z^&8E%WYXdu>s{w*Wy>?n=@SH^8X~WEmO060btw<4VYG^m)>Mhp_ ziu5_{#wqi+g_oNR{G+;B!1>XJxdPVN8uUa>!I{{TQlnAeZoK7-z@5BlyR$G2Z_*e8 zKgV=K4>IcGkZct