From 39670e1f79c1e3949a92b6a013b9d66000c5e575 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Tue, 17 Dec 2019 16:42:25 +0100 Subject: [PATCH] Add corals --- mods/ITEMS/mcl_ocean/init.lua | 168 ++++++++++++++++++ .../textures/mcl_ocean_brain_coral.png | Bin 0 -> 317 bytes .../textures/mcl_ocean_brain_coral_block.png | Bin 0 -> 349 bytes .../textures/mcl_ocean_brain_coral_fan.png | Bin 0 -> 306 bytes .../textures/mcl_ocean_bubble_coral.png | Bin 0 -> 327 bytes .../textures/mcl_ocean_bubble_coral_block.png | Bin 0 -> 365 bytes .../textures/mcl_ocean_bubble_coral_fan.png | Bin 0 -> 322 bytes .../textures/mcl_ocean_dead_brain_coral.png | Bin 0 -> 311 bytes .../mcl_ocean_dead_brain_coral_block.png | Bin 0 -> 356 bytes .../mcl_ocean_dead_brain_coral_fan.png | Bin 0 -> 301 bytes .../textures/mcl_ocean_dead_bubble_coral.png | Bin 0 -> 321 bytes .../mcl_ocean_dead_bubble_coral_block.png | Bin 0 -> 359 bytes .../mcl_ocean_dead_bubble_coral_fan.png | Bin 0 -> 316 bytes .../textures/mcl_ocean_dead_fire_coral.png | Bin 0 -> 348 bytes .../mcl_ocean_dead_fire_coral_block.png | Bin 0 -> 372 bytes .../mcl_ocean_dead_fire_coral_fan.png | Bin 0 -> 288 bytes .../textures/mcl_ocean_dead_horn_coral.png | Bin 0 -> 329 bytes .../mcl_ocean_dead_horn_coral_block.png | Bin 0 -> 352 bytes .../mcl_ocean_dead_horn_coral_fan.png | Bin 0 -> 309 bytes .../textures/mcl_ocean_dead_tube_coral.png | Bin 0 -> 338 bytes .../mcl_ocean_dead_tube_coral_block.png | Bin 0 -> 362 bytes .../mcl_ocean_dead_tube_coral_fan.png | Bin 0 -> 314 bytes .../textures/mcl_ocean_fire_coral.png | Bin 0 -> 338 bytes .../textures/mcl_ocean_fire_coral_block.png | Bin 0 -> 377 bytes .../textures/mcl_ocean_fire_coral_fan.png | Bin 0 -> 290 bytes .../textures/mcl_ocean_horn_coral.png | Bin 0 -> 330 bytes .../textures/mcl_ocean_horn_coral_block.png | Bin 0 -> 353 bytes .../textures/mcl_ocean_horn_coral_fan.png | Bin 0 -> 310 bytes .../textures/mcl_ocean_tube_coral.png | Bin 0 -> 338 bytes .../textures/mcl_ocean_tube_coral_block.png | Bin 0 -> 364 bytes .../textures/mcl_ocean_tube_coral_fan.png | Bin 0 -> 309 bytes 31 files changed, 168 insertions(+) create mode 100644 mods/ITEMS/mcl_ocean/textures/mcl_ocean_brain_coral.png create mode 100644 mods/ITEMS/mcl_ocean/textures/mcl_ocean_brain_coral_block.png create mode 100644 mods/ITEMS/mcl_ocean/textures/mcl_ocean_brain_coral_fan.png create mode 100644 mods/ITEMS/mcl_ocean/textures/mcl_ocean_bubble_coral.png create mode 100644 mods/ITEMS/mcl_ocean/textures/mcl_ocean_bubble_coral_block.png create mode 100644 mods/ITEMS/mcl_ocean/textures/mcl_ocean_bubble_coral_fan.png create mode 100644 mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_brain_coral.png create mode 100644 mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_brain_coral_block.png create mode 100644 mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_brain_coral_fan.png create mode 100644 mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_bubble_coral.png create mode 100644 mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_bubble_coral_block.png create mode 100644 mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_bubble_coral_fan.png create mode 100644 mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_fire_coral.png create mode 100644 mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_fire_coral_block.png create mode 100644 mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_fire_coral_fan.png create mode 100644 mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_horn_coral.png create mode 100644 mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_horn_coral_block.png create mode 100644 mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_horn_coral_fan.png create mode 100644 mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_tube_coral.png create mode 100644 mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_tube_coral_block.png create mode 100644 mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_tube_coral_fan.png create mode 100644 mods/ITEMS/mcl_ocean/textures/mcl_ocean_fire_coral.png create mode 100644 mods/ITEMS/mcl_ocean/textures/mcl_ocean_fire_coral_block.png create mode 100644 mods/ITEMS/mcl_ocean/textures/mcl_ocean_fire_coral_fan.png create mode 100644 mods/ITEMS/mcl_ocean/textures/mcl_ocean_horn_coral.png create mode 100644 mods/ITEMS/mcl_ocean/textures/mcl_ocean_horn_coral_block.png create mode 100644 mods/ITEMS/mcl_ocean/textures/mcl_ocean_horn_coral_fan.png create mode 100644 mods/ITEMS/mcl_ocean/textures/mcl_ocean_tube_coral.png create mode 100644 mods/ITEMS/mcl_ocean/textures/mcl_ocean_tube_coral_block.png create mode 100644 mods/ITEMS/mcl_ocean/textures/mcl_ocean_tube_coral_fan.png diff --git a/mods/ITEMS/mcl_ocean/init.lua b/mods/ITEMS/mcl_ocean/init.lua index 90626cfa9b..7b34387750 100644 --- a/mods/ITEMS/mcl_ocean/init.lua +++ b/mods/ITEMS/mcl_ocean/init.lua @@ -115,3 +115,171 @@ minetest.register_craft({ } }) +local corals = { + { "tube", S("Tube Coral Block"), S("Dead Tube Coral Block"), S("Tube Coral"), S("Dead Tube Coral"), S("Tube Coral Fan"), S("Dead Tube Coral Fan") }, + { "brain", S("Brain Coral Block"), S("Dead Brain Coral Block"), S("Brain Coral"), S("Dead Brain Coral"), S("Brain Coral Fan"), S("Dead Brain Coral Fan") }, + { "bubble", S("Bubble Coral Block"), S("Dead Bubble Coral Block"), S("Bubble Coral"), S("Dead Bubble Coral"), S("Bubble Coral Fan"), S("Dead Bubble Coral Fan")}, + { "fire", S("Fire Coral Block"), S("Dead Fire Coral Block"), S("Fire Coral"), S("Dead Fire Coral"), S("Fire Coral Fan"), S("Dead Fire Coral Fan") }, + { "horn", S("Horn Coral Block"), S("Dead Horn Coral Block"), S("Horn Coral"), S("Dead Horn Coral"), S("Horn Coral Fan"), S("Dead Horn Coral Fan") }, +} + +local function coral_on_place(itemstack, placer, pointed_thing) + if pointed_thing.type ~= "node" or not placer then + return itemstack + end + + local player_name = placer:get_player_name() + local pos_under = pointed_thing.under + local pos_above = pointed_thing.above + local node_under = minetest.get_node(pos_under) + local def_under = minetest.registered_nodes[node_under.name] + + if def_under and def_under.on_rightclick and not placer:get_player_control().sneak then + return def_under.on_rightclick(pos_under, node_under.name, + placer, itemstack, pointed_thing) or itemstack + end + + local g_block = minetest.get_item_group(node_under.name, "coral_block") + local g_coral = minetest.get_item_group(itemstack:get_name(), "coral") + local g_species_block = minetest.get_item_group(node_under.name, "coral_species") + local g_species_plant = minetest.get_item_group(itemstack:get_name(), "coral_species") + + -- Placement rules: + -- Coral plant can only be placed on top of a matching coral block inside a water source. + -- Note: It's intentional only for normal water (not river water) + if g_block == 0 or (g_coral ~= g_block) or (g_species_block ~= g_species_plant) or + minetest.get_node(pos_above).name ~= "mcl_core:water_source" then + return itemstack + end + + if minetest.is_protected(pos_under, player_name) or + minetest.is_protected(pos_above, player_name) then + minetest.log("action", player_name + .. " tried to place " .. itemstack:get_name() + .. " at protected position " + .. minetest.pos_to_string(pos_under)) + minetest.record_protection_violation(pos_under, player_name) + return itemstack + end + + node_under.name = itemstack:get_name() + node_under.param2 = minetest.registered_items[itemstack:get_name()].place_param2 + if node_under.param2 < 8 and math.random(1,2) == 1 then + -- Random horizontal displacement + node_under.param2 = node_under.param2 + 8 + end + minetest.set_node(pos_under, node_under) + if not (minetest.settings:get_bool("creative_mode")) then + itemstack:take_item() + end + + return itemstack +end + +for c=1, #corals do + local id = corals[c][1] + -- Coral Block + minetest.register_node("mcl_ocean:"..id.."_coral_block", { + description = corals[c][2], + tiles = { "mcl_ocean_"..id.."_coral_block.png" }, + groups = { pickaxey = 1, building_block = 1, coral=1, coral_block=1, coral_species=c, }, + sounds = mcl_sounds.node_sound_dirt_defaults(), + drop = "mcl_ocean:dead_"..id.."_coral_block", + _mcl_hardness = 1.5, + _mcl_blast_resistance = 30, + }) + minetest.register_node("mcl_ocean:dead_"..id.."_coral_block", { + description = corals[c][3], + tiles = { "mcl_ocean_dead_"..id.."_coral_block.png" }, + groups = { pickaxey = 1, building_block = 1, coral=2, coral_block=2, coral_species=c, }, + sounds = mcl_sounds.node_sound_dirt_defaults(), + _mcl_hardness = 1.5, + _mcl_blast_resistance = 30, + }) + + -- Coral + minetest.register_node("mcl_ocean:"..id.."_coral", { + description = corals[c][4], + drawtype = "plantlike_rooted", + paramtype = "light", + paramtype2 = "meshoptions", + place_param2 = 1, + tiles = { "mcl_ocean_"..id.."_coral_block.png" }, + special_tiles = { { name = "mcl_ocean_"..id.."_coral.png" } }, + inventory_image = "mcl_ocean_"..id.."_coral.png", + groups = { dig_immediate = 3, deco_block = 1, coral=1, coral_plant=1, coral_species=c, }, + sounds = mcl_sounds.node_sound_leaves_defaults(), + drop = "mcl_ocean:dead_"..id.."_coral", + node_placement_prediction = "", + node_dig_prediction = "mcl_ocean:"..id.."_coral_block", + on_place = coral_on_place, + after_destruct = function(pos) + minetest.set_node(pos, {name="mcl_ocean:"..id.."_coral_block"}) + end, + _mcl_hardness = 0, + _mcl_blast_resistance = 0, + }) + minetest.register_node("mcl_ocean:dead_"..id.."_coral", { + description = corals[c][5], + drawtype = "plantlike_rooted", + paramtype = "light", + paramtype2 = "meshoptions", + place_param2 = 1, + tiles = { "mcl_ocean_dead_"..id.."_coral_block.png" }, + special_tiles = { { name = "mcl_ocean_dead_"..id.."_coral.png" } }, + inventory_image = "mcl_ocean_dead_"..id.."_coral.png", + groups = { dig_immediate = 3, deco_block = 1, coral=2, coral_plant=2, coral_species=c, }, + sounds = mcl_sounds.node_sound_leaves_defaults(), + node_placement_prediction = "", + node_dig_prediction = "mcl_ocean:dead_"..id.."_coral_block", + on_place = coral_on_place, + after_destruct = function(pos) + minetest.set_node(pos, {name="mcl_ocean:dead_"..id.."_coral_block"}) + end, + _mcl_hardness = 0, + _mcl_blast_resistance = 0, + }) + + -- Coral Fan + minetest.register_node("mcl_ocean:"..id.."_coral_fan", { + description = corals[c][6], + drawtype = "plantlike_rooted", + paramtype = "light", + paramtype2 = "meshoptions", + place_param2 = 4, + tiles = { "mcl_ocean_"..id.."_coral_block.png" }, + special_tiles = { { name = "mcl_ocean_"..id.."_coral_fan.png" } }, + inventory_image = "mcl_ocean_"..id.."_coral_fan.png", + groups = { dig_immediate = 3, deco_block = 1, coral=1, coral_fan=1, coral_species=c, }, + sounds = mcl_sounds.node_sound_leaves_defaults(), + drop = "mcl_ocean:dead_"..id.."_coral_fan", + node_placement_prediction = "", + node_dig_prediction = "mcl_ocean:"..id.."_coral_block", + on_place = coral_on_place, + after_destruct = function(pos) + minetest.set_node(pos, {name="mcl_ocean:"..id.."_coral_block"}) + end, + _mcl_hardness = 0, + _mcl_blast_resistance = 0, + }) + minetest.register_node("mcl_ocean:dead_"..id.."_coral_fan", { + description = corals[c][7], + drawtype = "plantlike_rooted", + paramtype = "light", + paramtype2 = "meshoptions", + place_param2 = 4, + tiles = { "mcl_ocean_dead_"..id.."_coral_block.png" }, + special_tiles = { { name = "mcl_ocean_dead_"..id.."_coral_fan.png" } }, + inventory_image = "mcl_ocean_dead_"..id.."_coral_fan.png", + groups = { dig_immediate = 3, deco_block = 1, coral=2, coral_fan=2, coral_species=c, }, + sounds = mcl_sounds.node_sound_leaves_defaults(), + node_placement_prediction = "", + node_dig_prediction = "mcl_ocean:dead_"..id.."_coral_block", + on_place = coral_on_place, + after_destruct = function(pos) + minetest.set_node(pos, {name="mcl_ocean:dead_"..id.."_coral_block"}) + end, + _mcl_hardness = 0, + _mcl_blast_resistance = 0, + }) +end diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_brain_coral.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_brain_coral.png new file mode 100644 index 0000000000000000000000000000000000000000..60a4c53da6c10140c1d86472b1f4e9498f3d10d4 GIT binary patch literal 317 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt3( zJ<}BT2#_`FJY5_^Ec};F*eJ+k$iuSVnrTr#heng)ZzYcftVLW3f4MZ8q&QelpD|32 z=Cfh3-sZn+^1tOBKe|I?6h+-VjtT}9wt$#Nlgl{+ue)d+Dz5Lop2$1*`_C^EZ|`$! zcwP2W>MqYsv(`Z2y^`l$G|%OgxG^Lzh4)2Gm4a!*I2(}F=x#CCNOj5Z!_11 zGfirLZT_pYItd=|%3H_WC^xgRoY_G*c6GHgTe~DWM4f D1_*8g literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_brain_coral_block.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_brain_coral_block.png new file mode 100644 index 0000000000000000000000000000000000000000..a9a508be8cae84bd93a3ad669a1f2fd7adfe7039 GIT binary patch literal 349 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|Ea{HEjtmSN`?>!lvI6;>1s;*b z3=Dh+L6~vJ#O${~L5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt3(J<}BT2$0FQJzX3_ zEc`?JHwqpy5Ma3~%P1(=*qv}9hJ|yB!#gIASVq?!Y|GcAnLbZ{_Giw&{P;zC&l~@W zk-Psod$t(QA&uXCR~T{vS-;)RvTA62{_g;1S{zl*A p5Q$%Z*{&zdiL`Yq+m`v0apC?=SwC0KeG2p@gQu&X%Q~loCIH<~gaH5m literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_brain_coral_fan.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_brain_coral_fan.png new file mode 100644 index 0000000000000000000000000000000000000000..0ffe520e01e4bbd51ea118b85253fd5169e2821d GIT binary patch literal 306 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt3( zJ<}BT2#__4JzX3_Ec}=DZxn4d;BmRB$0{1i)%M_`q06ik)+)9IsZ4DNY+kC*_ZT0F zS?vCCV$HR=KB;NjCnT|Gx}g(Fk@M%rTdsPf^ds?0Lbkf}YsHtT5qSrGUtIohZ*)#x z+|8JId(~@qa7G)v@m=$#u>GG1!{Yr96slgO8q}+@et0R9)}OHNO#4SWc7~P(mt2%r g#XG!xzxfsS{)o4RAysXUfX-#`boFyt=akR{0In@=dH?_b literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_bubble_coral.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_bubble_coral.png new file mode 100644 index 0000000000000000000000000000000000000000..905ba2f7c98a259113a113d7fb4be47535c87734 GIT binary patch literal 327 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt3( zJ<}BT2#_^9JY5_^Ec};FILLd*K!7D!hF?y>MSP0`^OOVaQkNLEOyGObpvEJd$!9I& zB-TIi@z=K&Cj-2GcALCW1jNLJ-%Y`zsKE0Fi4zJTwG6T`Gf!5@|)t`DOF+SE60yX}4Bf9@8b P9~eAc{an^LB{Ts5&q9iy!t)x7$D3zfgF*C13FE6!3!9>qc z&qUZE;|NgAJx>?M5DWjH^!J2Qbbfz>R5dD)BZxF>ar zkyGE^u($8{wxh;jf8D{iUqW8xcwfKn*c9j?C0iLE|L|9XkFogaIq8$CxMpf!Wty|4 zdC$Ry&3)zxM@q0#LT=By}Z;C1rt3( zJ<}BT2#__KJzX3_Ec}=DALKpcz{8^1$IdUXh&yTlqt}DUQkNLEIIx#E2)hYq`jsEF z(UDtxqx#;~&7B?lJ&tm%j8GKSUXs)rvSvb;Xwb&zd*(7-+qFdL%<^!CXU8Azz4BTz zQ_f(tVPrT281!?!|*(%fy=a~vLFVr*G z!usR9O@WmfGf!$;0#LT=By}Z;C1rt3( zJ<}BT2#_@^JY5_^Ec};F*vNOtfXC(cY@ZT`q=t0#LT=By}Z;C1rt3( zJ<}BT2#_^bJzX3_Ec`?J4fzfk2(bM1)zX-tv4BU^NmDaOm4Cr$d&%rIXBBh%zTQ1| zbIb9kZE@dUey+*?+~g>cdViu+gYK#W`|5nz4GL`MMxV<(n4FL`OHKKVe1g0#LT=By}Z;C1rt3( zJ<}BT2#_`NJY5_^Ec}=DZ{%w>;BonR*3Td$sbQjD=+P4gSmX~JE8n#@MBHb`(WHtS zJAa&8XtX)n!>~z28J(Euv;O>gnb1PPKL%AB`Zj;{o&Ci~$Na(16_-Ek%lY=MEl2PC zy~%cWT6878sfB&p;atzva526>!1k-rjQx|Cew6TSb~lKBcDQ0bGlNq=<|4tX`U}2& ckNnD7CVN}?>%NjpK$kLjy85}Sb4q9e0Jqm~egFUf literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_bubble_coral.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_bubble_coral.png new file mode 100644 index 0000000000000000000000000000000000000000..0d69e128c3d512815ef877fc7a13b1b4dd1f31dd GIT binary patch literal 321 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt3( zJ<}BT2#__KJY5_^Ec};FFyuRAAi(n3LyAj<>qUT7%Yua}qBcJhlzKNFR!j-(ky)RA z+_SCYN4LovMc!(U!*Z84w1b#W%XYHQIrchx_W31>5%bRVM}F|Vl%v!8`?34ag%gzZHtWVWoT+L#YJcMcTU$7*Q97_fJ*!~@fyWT5LAJYD@< J);T3K0RSs@b)^6R literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_bubble_coral_block.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_bubble_coral_block.png new file mode 100644 index 0000000000000000000000000000000000000000..86333fb4706fa723594266d1e9dc50fca6e01f3f GIT binary patch literal 359 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt3( zJ<}BT2#_^5JY5_^Ec|09ZR9&-AmIFYq7Khgt0`+=wP{62ykyybraSJ*ya{VgmAyI5 zdhy#^)_dpqcf_SFJ!iD`mzBo_ZqLQa+i%;($WO?8mNfITPmsT2^3te=$z>DFB?_+n zWLvXC%}2gp-$;61{)$YM_(jVY-Dl~p^NuzXd5{v;%sAbTDZ|O9*k0&Tf||lZHJ*>I zRk}qYGR!^Fah!fM^hNT}IBwd6Q?$n2+r}*d!JUaBI^D=iNXTdjf yA@(Mj)+NTBOeaDvGgzc2JuzYCHTfMS;rjQU)%F7Y$l&Sf=d#Wzp$P!hXMueH literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_bubble_coral_fan.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_bubble_coral_fan.png new file mode 100644 index 0000000000000000000000000000000000000000..0b11adc316058e9ff291cfb89e92cd7ccf136d3e GIT binary patch literal 316 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt3( zJ<}BT2#_^vJzX3_Ec}=D8}c1;;9;p$;bjftdJ$mNvS48g*Ss7P^|LR9d=dkDlHONd zKc}YjPf1jJNm6Ubnh9N^K^vX4!aR;nyj#W<@p@9%haG#F4D8px4_lwUKz#a7xdhu; zKQ5g=Ui{i!jIsUi%3Kp3=Cta2Pqi8T#QPjrkaoYGtwQZ^o~c0dLOp{m>_5)i6j-S- z^Q5*#{&H0#LT=By}Z;C1rt3( zJ<}BT2#_^rJzX3_Ec};F+{kyxK*0HTZqFHmX`%<4X55Gn&}NQ5aQs93Lj9@D)t*NV zJeYUhcK7nv6M}wmx9*w0n(M{--=$jjr7p^TYB>ILN*$Zb_Sr@)j*JBi`HJ=?EPA^O z69vM1XNweBzu7#|_d&*&bFvu=SQy%FIw)>Tda}1#jFHcWr#fQ}W9yf7cYdu}Y~{zZ zD4qNL-e(NgoEx+QoM$9AymOrI%9+RZrH=i&IHQB2RNmKL(qBRwlxH3LS~V$M_TBA} oH1=kr?-xW^nX3NRyGhy2UbE?|bLZAiK#wtay85}Sb4q9e0DHxR*#H0l literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_fire_coral_block.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_dead_fire_coral_block.png new file mode 100644 index 0000000000000000000000000000000000000000..836ab2a7f35cf5fa141de8668befd553fc932a5a GIT binary patch literal 372 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt3( zJ<}BT2#_^TJzX3_Ec|^h80Ikr3N$~ol`jpNBsNja%XK>2(x*H!Q{TUg=hdFs{&s8n zy?5V!{B3-Ho_|NYzH)wi`T^rYmTh-Fzx?v&zjnyX;I)1V;fzbPr?fquaw+xNR4o^m z!oW=|##iE5->!Vh_i+0J5rywgOg0*`90#LT=By}Z;C1rt3( zJ<}BT2#_@sJzX3_Ec}=D8FIBa@VM?>v8{V*#LZmgZPje~QhyIkeo@zw@NvdT?@#Ho zIx1SHimq9ckjkp99T9o(6j#`xT{Yhie?Q=*@Ido~mss6nf#Uz2MGa!_PwZacJ&}Ej zN$J~2?q8Mf)*sBadVjzC9Z!HW^Ma@k+#d)PG{Fzbb9sg5&_-CGVK@InHn1 d0#LT=By}Z;C1rt3( zJ<}BT2#__qJY5_^Ec};Fu;x4Dz{6S`;@9Bf?Ai*%oUEei4v*^8CTA$UXLocljQoA{ z{I_=kg7p_guU`Aq5o#xeTshI2p9m(H-0FAr{>^L&?2_z{K~ z-*2DQID6Leb*|Lrgfo}#vTZ)Qz%a_?jA_n;sjps(q+LI!X2zJDo%(CXv>(C3>MNd> zM{v#Ln%{L*HpoOko=<06<5|nkp<0#LT=By}Z;C1rt3( zJ<}BT2#_@wJzX3_Ec{a^S#vQt3b;I9G0)+~krNpQkDLf#R`yq@aESjrD@kUd#Ol|V zcW<_cJI`$)%YVI=`NQwGJdPKG!Wo^vRoWkT6uF_9`(@MSNty1}8gsNh=qYp_jngqO z`NR~{AZ*B4>i$J*0^6A-x(w_4vJa$*{wTC=!ba+rlX7 zv3Js>Z}m0{&sz?J1c9q90#LT=By}Z;C1rt3( zJ<}BT2#__)JY5_^Ec}=D8S))+;9>b364&73?Aq!wxl4#kE3RS6|CwhNZtY3t>P{-! z*LnT<$us{JO_BAwxe!hyD$nch)?NQQs_u7u4ohN!K)K&l(WP_Fv-96ww>*!E*RELjDo|ElTHYnbn|WvR rJDUTXQZKYuTbc!)e)@Ux=9j!_haT;_xcpTE(8Ua%u6{1-oD!M0#LT=By}Z;C1rt3( zJ<}BT2#__0JzX3_Ec};FFyuRAAmUtYBaxWon3Rz4@>Z*Cn%;p>X8jkgnRQ&NB-Z@+ zf6MQV;?ghTyH1Pp|{(`5*sr&+os6)Up_x!!;X9NZ|=E0fAdeHd-q=N zT;>*0psmQTIdocFkcaLOjx`BO<4))}EKJM#AoTM(LrcdV(RXLe%L=|O63E-Sn{f`) z=cI;3apg^G7V@<))C&ci$z(8=kuB!fkT1(1@L6l;dQQee(T!81*6n0r=;3(9uw(P` eU;LLoFrCp}IeE{__dG!FFnGH9xvX0#LT=By}Z;C1rt3( zJ<}BT2#__mJzX3_Ec|09So0ln;Bon05iqHXty78B_m;_*fMUjTr#9cqN>b!aw2@EW zoP680#LT=By}Z;C1rt3( zJ<}BT2#__aJzX3_Ec}=DZ{%Y#1*9L$ItM8Sp6_=V&JLDPKi4z z>)tNg-SLBa+L{BCL?bpad50yOmdKI;Vst E0MvMRnE(I) literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_fire_coral.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_fire_coral.png new file mode 100644 index 0000000000000000000000000000000000000000..e7958d50cee54de4aec9f094456c802353c65d84 GIT binary patch literal 338 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QJXPV+30W$f5r;B5V zh5yot8+i{o2(V~!si<`DC@C!FzSXF?R=(`e;g&T=2D-d;Z6aJwwF%|L^J?}6@<_O=7HH_q@pT2(mNY2NWz zvrU{bz4vx9^G;znU?8ob64tY){JhSA#?D0kUgHH5?oEx3FAX`~>G&n*;oj>q2dX#< zShF~ac`n$#*sO8zY{R|x4}R$|Xt*3+8&}`FkE_7ta_Ux@r=IP<&8FTwxZsSfiECrS fz5nwkh{-?X+w#|cNx%xA-xxey{an^LB{Ts5dntrL literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_fire_coral_block.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_fire_coral_block.png new file mode 100644 index 0000000000000000000000000000000000000000..e562b024e2ffeafeeebcc22f57784d82a5c5c467 GIT binary patch literal 377 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt3( zJ<}BT2#__eJY5_^Ec|^h9Q0)l6li{^+vVZ$WQqdc&Wo&XmvF7};MHst%4mH5GM-o4 zQh(d^d6m0wpMP#$Ge7=eA*W*Q;= z$IC>GZ*rNRR6J|Fab1>Wk*({T)dzArGxW>%7#1X)_!oJoA!+%EsRz3&wN#rrg7 R?*#gq!PC{xWt~$(69B|@kcI#N literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_fire_coral_fan.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_fire_coral_fan.png new file mode 100644 index 0000000000000000000000000000000000000000..412e97f8ed228c143a0ca9921828c21b0bed9fd1 GIT binary patch literal 290 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt3( zJ<}BT2#__CJzX3_Ec}=D9pr3r;BnRUzHpgKZq1Q%Ym%}zh62+rF!a_#RMr#c)6o-kEs&1Hf6{^Cy=bni_pceHnv zyKw2!_Hf-7&v));TmN!T{r#QV4!pb#SqJq$tSa4f{mIci6W;GxF{`raoTKT)UEF&V gY|g*h_a*m@PV7}K%|&4sfzD&_boFyt=akR{0Eu~RHvj+t literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_horn_coral.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_horn_coral.png new file mode 100644 index 0000000000000000000000000000000000000000..8f322761822a39c1b5535e8dd655715a8ff52506 GIT binary patch literal 330 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt3( zJ<}BT2#__qJzX3_Ec};FIL&*=frs_7g!lxFrcE!J`7DAM%C#Dd-Bl)gnoRuOtnkPn z^7qm6-`)ub)?XC8enIqlfXe#ciVrI9_GGS3_myHawmJ9PaPH^%(i!{amIXJ@dA`dh z{0PGg{o`*n&Yrb=oh!9D;mqZ`Y@5$6FpP3JW190|>Z{ixY1hxGnK343r~cY8?MJY% z`iiIJ5nMC5=679{4Kfjs=hNBNc-HcBsMuz=g$BnHa+e932z*z&R^s|It*_%D@7|q1 VzHM2*s~YGH22WQ%mvv4FO#s~Le%=58 literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_horn_coral_block.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_horn_coral_block.png new file mode 100644 index 0000000000000000000000000000000000000000..c56a1344ed45157c499d822d4205d8dbc000b78b GIT binary patch literal 353 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85qP=L734qNaX`iP@=>&q9iy!t)x7$D3zfgF*C13FE6!3!9>qc z&qUZE;|NgAB~KT}5DWj*NxONO3}akYb#!Q^cWd#u(m&JKNW{43A0=a-o>xgR{&KAYL8FuCxr*MSlt zwh)D{US7BUb3U{!{LN?hD00L5!@DO;H+=ho%f-6u-K!?!vK<>HlrGTAJy9#PSSfRM u=!C{M#jFNWvS033-(!5Xg*Bk&{yrb8_ho0FZ2@|Yfx*+&&t;ucLK6V7f`pF% literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_horn_coral_fan.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_horn_coral_fan.png new file mode 100644 index 0000000000000000000000000000000000000000..63e7d12ea75d2f74b215b9742784a84e59be6500 GIT binary patch literal 310 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt3( zJ<}BT2#__)JzX3_Ec}=DZR9=Vz~j1Eg4cuRV8ok)Y?_h{^EekQ>q+^6-vJu|aVC?Q_$PXX@_%t8dn1V9;T`{8d-bJ$-h5+vks0JPs>d z(Ox9%m@q@;3GZL`yk-05eP^~5tZq+;s_R@Pajh&W{(sDohOjFEUsv??_wp;PTiSTX sv0Ux}3-6byS7m0ec>3w*$(vu;o^Sj1Qt~NdF3`ygp00i_>zopr0Bj(6P5=M^ literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_tube_coral.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_tube_coral.png new file mode 100644 index 0000000000000000000000000000000000000000..63cf864c72438495083f134f0a45f3e55d1ff0fc GIT binary patch literal 338 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QJXPV+30W$f5r;B5V zh5ynC2RWGxMO?P4I0`rle9L1uOAwdSJ(Q$##Ay$Qq5iw*&7NVAHatK7r>A{VkL7r% zZ_@64K}OH9c!#ZRlg4|m5N4OvUsV&!cl%pbdj?C4Da6`|I zq{U})jl?Vk6%CpuMyUxicXo9iRJ#_>tKjr0G^_gEjKI_4^32!dHf0~s6gV&Ck(GM< zgv2L@)CcN}C+A3A2wraARhyb{?+(L~h{Dwy<+iQlX<5H)db>yJ+6of}4#g*ISH8{r dbf4ocx8vR|Q_mF3?*RIZ!PC{xWt~$(699xUda?ij literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_tube_coral_block.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_tube_coral_block.png new file mode 100644 index 0000000000000000000000000000000000000000..016888db32d536de18ea5775d6e6d96222e6ab1a GIT binary patch literal 364 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QJXPV+30W$fOr;B5V zg@5d%gPeyPL|nG3I0`rl?77{@d&9L)Y+{nm5vM&*9{m12>7-K6>o;fqoJ{kyw%`BY z+mD9Re|5cPiZNKmrZ>EZVxD^MjYMYR?8=_PV(1oPFlnq~gG4`IkUnGkCiCxvX literal 0 HcmV?d00001 diff --git a/mods/ITEMS/mcl_ocean/textures/mcl_ocean_tube_coral_fan.png b/mods/ITEMS/mcl_ocean/textures/mcl_ocean_tube_coral_fan.png new file mode 100644 index 0000000000000000000000000000000000000000..7d055a7bd6b8f3a9f8673d6eb147447f12f99b4c GIT binary patch literal 309 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QJXPV+30Wx{Br;B5V zh5yq2gPcx|JTAJP0xkkAdv71iKcHt5)p9iAg#M9kf$y%*Cx3k|WOF9Z$lCa1-kCT0 zOHx=hBOSfMCQK4VFpqyeeCzAg(_e4v2MK+C_-TvT*}bv*-FeRbD|vr?`8QoB2GcoJ zi5UVXU1snU>LTh};`a7FOcN-bbF)X6jc6PonuM5dJa9upSb sWpCd-bDICp^z@On