From 4ceecffc8b60cd190179e461f360fc4078fa5c54 Mon Sep 17 00:00:00 2001 From: cora Date: Sat, 5 Nov 2022 00:54:09 +0100 Subject: [PATCH] Add ocean temple --- .../mcl_structures_ocean_temple.mts | Bin 0 -> 1257 bytes mods/MAPGEN/mcl_structures/shipwrecks.lua | 110 ++++++++++++++++++ 2 files changed, 110 insertions(+) create mode 100644 mods/MAPGEN/mcl_structures/schematics/mcl_structures_ocean_temple.mts diff --git a/mods/MAPGEN/mcl_structures/schematics/mcl_structures_ocean_temple.mts b/mods/MAPGEN/mcl_structures/schematics/mcl_structures_ocean_temple.mts new file mode 100644 index 0000000000000000000000000000000000000000..0260dfca226d7f7f07d33fc741dfe6965e1145b2 GIT binary patch literal 1257 zcmeYb3HD`RVGv>vVGydv0vI?Mm=iOL7^HHObK>)pQxo&73W_p|a}$d)^HSrJiZYY4 z85BWs#U+WEMa5QNDjq|LJhGCU#3W=DDTzhd3?kUfXHZAh2C@KIAK3Ev{L+%tA_h@} z_TtpU_?*PNlGLI+1~HIuaz<)#NwF1}iZ9Mh%*la>mnY`r6eIh_pkmJ3nBJ<@3OuYO zvGNJKYh&X7h9xVs$j@Z$Hg(T7?UvwgH~Ci+oYm^5qgnOYuyd)y0mC)(=P`0E_u?~M z&m@0vtHFl%brVm$QuO+wGwZ*|g&3O+{^uROO07OLWuCXftp6+-zin5S$6Ry&Jw5T~ zwR!sA1KWSkII3^n+GQLXGGo<~`>m5ch6)wy&bK>eeg16C-tdO9z|XUK*t*uM?|=L% zb6&J&PxrIqZv@weSwdNlC*D?IAHILVTDCo;D@=X^TiLEJuZ5Gpm!7_HgX1=5;49ff^?mrs*e8x|aAwfU*M`o7j3soVZt;#+(563^7a454sGyM01k&&yw&D?IM^ z<H|@2fY~Wj#ue4qBMP-wk(@9OmLKUu8}C+^(pYA`u)cAv)i>&t3`c>U_R!a{nUdmGrV z74gsgvS!&^xjhV@wS_Hqse5-zzpvJ1d}Fv>bIs9WPyTnC-*C2O?9yw9J+<-C5^Hm@ z5LxdVMY^ZuXSx^7R_QaE_xMOLw>-O{x2JWrj_aB9#>cWjY;AGs`4^rrwkxRJN&l2q z&35|DQmN+?wiq-eNv`fwE&7uCY`Ixf*y<-6@Yn07KmMp6nDshxr{0O(q4w+F8Ejmcce}Ab3U0c1PDx;n)cLT+-5NUM_F&%XDgpO z^G_^f|NA=Mo-M74=gjNI|Lun!ZM|3V;8gy(Y-zIvjkDWU+BS9UdehB&ESs(cWr)75?E9D9a89}9L&W)Vxy@ZJ w8C9C8m#%BFZ;E>DwOKmsvPOdGo-FHwm8JZNTUlGKGAEp<$^FBARq+2K03z>RE&u=k literal 0 HcmV?d00001 diff --git a/mods/MAPGEN/mcl_structures/shipwrecks.lua b/mods/MAPGEN/mcl_structures/shipwrecks.lua index a6dbb4981..e8b43634b 100644 --- a/mods/MAPGEN/mcl_structures/shipwrecks.lua +++ b/mods/MAPGEN/mcl_structures/shipwrecks.lua @@ -172,3 +172,113 @@ mcl_structures.register_structure("shipwreck",{ } } }) + +local spawnon = { "mcl_stairs:slab_prismarine_dark"} + +mcl_structures.register_structure("ocean_temple",{ + place_on = {"group:sand","mcl_core:gravel"}, + spawn_by = {"group:water"}, + num_spawn_by = 4, + noise_params = { + offset = 0, + scale = 0.00022, + spread = {x = 250, y = 250, z = 250}, + seed = 32345, + octaves = 3, + persist = 0.001, + flags = "absvalue", + }, + sidelen = 32, + flags = "force_placement", + biomes = ocean_biomes, + y_max = water_level-4, + y_min = mcl_vars.mg_overworld_min, + filenames = { + modpath .. "/schematics/mcl_structures_ocean_temple.mts", + }, + y_offset = function(pr) return pr:next(-2,0) end, + after_place = function(p,def,pr) + local p1 = vector.offset(p,-9,0,-9) + local p2 = vector.offset(p,9,32,9) + mcl_structures.spawn_mobs("mobs_mc:guardian",spawnon,p1,p2,pr,5,true) + mcl_structures.spawn_mobs("mobs_mc:guardian_elder",spawnon,p1,p2,pr,1,true) + mcl_structures.construct_nodes(p1,p2,{"group:wall"}) + end, + loot = { + ["mcl_chests:chest_small"] = { + stacks_min = 3, + stacks_max = 10, + items = { + { itemstring = "mcl_sus_stew:stew", weight = 10, amount_min = 1, amount_max = 1 }, + { itemstring = "mcl_core:paper", weight = 8, amount_min = 1, amount_max = 12 }, + { itemstring = "mcl_farming:wheat_item", weight = 7, amount_min = 8, amount_max = 21 }, + { itemstring = "mcl_farming:carrot_item", weight = 7, amount_min = 4, amount_max = 8 }, + { itemstring = "mcl_farming:potato_item_poison", weight = 7, amount_min = 2, amount_max = 6 }, + { itemstring = "mcl_farming:potato_item", weight = 7, amount_min = 2, amount_max = 6 }, + --{ itemstring = "TODO:moss_block", weight = 7, amount_min = 1, amount_max = 4 }, + { itemstring = "mcl_core:coal_lump", weight = 6, amount_min = 2, amount_max = 8 }, + { itemstring = "mcl_mobitems:rotten_flesh", weight = 5, amount_min = 5, amount_max = 24 }, + { itemstring = "mcl_farming:potato_item", weight = 3, amount_min = 1, amount_max = 5 }, + { itemstring = "mcl_armor:helmet_leather_enchanted", weight = 3, func = function(stack, pr) + mcl_enchanting.enchant_uniform_randomly(stack, {"soul_speed"}) end }, + { itemstring = "mcl_armor:chestplate_leather_enchanted", weight = 3, func = function(stack, pr) + mcl_enchanting.enchant_uniform_randomly(stack, {"soul_speed"}) end }, + { itemstring = "mcl_armor:leggings_leather_enchanted", weight = 3, func = function(stack, pr) + mcl_enchanting.enchant_uniform_randomly(stack, {"soul_speed"}) end }, + { itemstring = "mcl_armor:boots_leather_enchanted", weight = 3, func = function(stack, pr) + mcl_enchanting.enchant_uniform_randomly(stack, {"soul_speed"}) end }, + --{ itemstring = "TODO:bamboo", weight = 2, amount_min = 1, amount_max = 3 }, + { itemstring = "mcl_farming:pumpkin", weight = 2, amount_min = 1, amount_max = 3 }, + { itemstring = "mcl_tnt:tnt", weight = 1, amount_min = 1, amount_max = 2 }, + + }, + { + stacks_min = 2, + stacks_max = 6, + items = { + { itemstring = "mcl_core:iron_ingot", weight = 90, amount_min = 1, amount_max = 5 }, + { itemstring = "mcl_core:iron_nugget", weight = 50, amount_min = 1, amount_max = 10 }, + { itemstring = "mcl_core:emerald", weight = 40, amount_min = 1, amount_max = 5 }, + { itemstring = "mcl_dye:blue", weight = 20, amount_min = 1, amount_max = 10 }, + { itemstring = "mcl_core:gold_ingot", weight = 10, amount_min = 1, amount_max = 5 }, + { itemstring = "mcl_core:gold_nugget", weight = 10, amount_min = 1, amount_max = 10 }, + { itemstring = "mcl_experience:bottle", weight = 5, amount_min = 1, amount_max = 1 }, + { itemstring = "mcl_core:diamond", weight = 5, amount_min = 1, amount_max = 1 }, + } + },{ + stacks_min = 3, + stacks_max = 3, + items = { + --{ itemstring = "FIXME TREASURE MAP", weight = 8, amount_min = 1, amount_max = 5 }, + { itemstring = "mcl_core:paper", weight = 20, amount_min = 1, amount_max = 10 }, + { itemstring = "mcl_mobitems:feather", weight = 10, amount_min = 1, amount_max = 5 }, + { itemstring = "mcl_books:book", weight = 5, amount_min = 1, amount_max = 5 }, + { itemstring = "mcl_clock:clock", weight = 1, amount_min = 1, amount_max = 1 }, + { itemstring = "mcl_compass:compass", weight = 1, amount_min = 1, amount_max = 1 }, + { itemstring = "mcl_maps:empty_map", weight = 1, amount_min = 1, amount_max = 1 }, + + } + }, + } + } +}) + +mcl_structures.register_structure_spawn({ + name = "mobs_mc:guardian", + y_min = mcl_vars.mg_overworld_min, + y_max = mcl_vars.mg_overworld_max, + chance = 10, + interval = 60, + limit = 9, + spawnon = spawnon, +}) + +mcl_structures.register_structure_spawn({ + name = "mobs_mc:guardian_elder", + y_min = mcl_vars.mg_overworld_min, + y_max = mcl_vars.mg_overworld_max, + chance = 100, + interval = 60, + limit = 4, + spawnon = spawnon, +})