From 7dc6217492a71adb2eed28057bd79b0558d1cea6 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sat, 2 Jul 2022 17:22:18 +0200 Subject: [PATCH] Add hidden mast segments --- init.lua | 60 +++++++++++++++++++++- textures/pride_flags_pole_hidden1_inv.png | Bin 0 -> 5122 bytes textures/pride_flags_pole_hidden2_inv.png | Bin 0 -> 5048 bytes 3 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 textures/pride_flags_pole_hidden1_inv.png create mode 100644 textures/pride_flags_pole_hidden2_inv.png diff --git a/init.lua b/init.lua index 3a91747..cae247a 100644 --- a/init.lua +++ b/init.lua @@ -248,7 +248,7 @@ minetest.register_node( "pride_flags:upper_mast", { }, collision_box = { type = "fixed", - fixed = { { -3/32, -1/2, -3/32, 3/32, 27/16, 3/32 } }, + fixed = { { -3/32, -1/2, -3/32, 3/32, 1/5, 3/32 } }, }, on_rightclick = function ( pos, node, player ) @@ -261,6 +261,12 @@ minetest.register_node( "pride_flags:upper_mast", { on_construct = function ( pos ) spawn_flag ( pos ) + + local above1 = {x=pos.x, y=pos.y+1, z=pos.z} + local above2 = {x=pos.x, y=pos.y+2, z=pos.z} + local param2 = minetest.get_node( pos ).param2 + minetest.set_node( above1, { name = "pride_flags:upper_mast_hidden_1" } ) + minetest.set_node( above2, { name = "pride_flags:upper_mast_hidden_2" } ) end, on_destruct = function ( pos ) @@ -270,6 +276,17 @@ minetest.register_node( "pride_flags:upper_mast", { end end, + after_destruct = function( pos ) + local above1 = {x=pos.x, y=pos.y+1, z=pos.z} + local above2 = {x=pos.x, y=pos.y+2, z=pos.z} + if minetest.get_node( above1 ).name == "pride_flags:upper_mast_hidden_1" then + minetest.remove_node( above1 ) + end + if minetest.get_node( above2 ).name == "pride_flags:upper_mast_hidden_2" then + minetest.remove_node( above2 ) + end + end, + on_rotate = function(pos, node, user, mode, new_param2) if mode == screwdriver.ROTATE_AXIS then return false @@ -281,3 +298,44 @@ minetest.register_node( "pride_flags:upper_mast", { end end, } ) + +-- Add 2 hidden upper mast segments to block all the nodes +-- the upper mast occupies. This is also needed to prevent +-- collision issues with overhigh nodes. +-- These nodes will be automatically +-- added/removed when the upper mast is constructed +-- or destructed. +minetest.register_node( "pride_flags:upper_mast_hidden_1", { + drawtype = "airlike", + pointable = false, + paramtype = "light", + sunlight_propagates = true, + wield_image = "pride_flags_pole_hidden1_inv.png", + inventory_image = "pride_flags_pole_hidden1_inv.png", + groups = { not_in_creative_inventory = 1 }, + sounds = metal_sounds, + collision_box = { + type = "fixed", + fixed = { { -3/32, -1/2, -3/32, 3/32, 1/5, 3/32 } }, + }, + on_blast = function() + return + end, +}) +minetest.register_node( "pride_flags:upper_mast_hidden_2", { + drawtype = "airlike", + pointable = false, + paramtype = "light", + sunlight_propagates = true, + wield_image = "pride_flags_pole_hidden2_inv.png", + inventory_image = "pride_flags_pole_hidden2_inv.png", + groups = { not_in_creative_inventory = 1 }, + sounds = metal_sounds, + collision_box = { + type = "fixed", + fixed = { { -3/32, -1/2, -3/32, 3/32, -5/16, 3/32 } }, + }, + on_blast = function() + return + end, +}) diff --git a/textures/pride_flags_pole_hidden1_inv.png b/textures/pride_flags_pole_hidden1_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..00798a87d923bc4a9d11d7d94c1a3ac63a460977 GIT binary patch literal 5122 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 literal 0 HcmV?d00001 diff --git a/textures/pride_flags_pole_hidden2_inv.png b/textures/pride_flags_pole_hidden2_inv.png new file mode 100644 index 0000000000000000000000000000000000000000..d9ebd6fe2a5a9591b0f092ce6b0d747df51e472c GIT binary patch literal 5048 zcmeHKX;@R|5)PsWh?F8!M5Q4v)oS*Tjf6#l5Fijj1VvgsIXQttR+2yhZiw0nl_GGh zf+$6#P!~|HiU=ySY$~W#aiOA66>tTwY>LP|38?to{_%Nk|Cu}|IcL6^cV^z1Z;~&W zALujH($NxyLQUoRasn7LNZ#;URgvCC7n16hpnU(V*P8mEha-#`9 zE8yIW&iwD}l4{#C{BxX(TGLo1;?~OInQP305;SoHVNz)S%Bj-Vd0!2QlSy+&R{LIf zbaSt3#>)P_TAS`vtF-STcIF+kvgn?D%I8NnaN?^wbTL z&+Ii%Pb0_OH{ohyTJ^$fb*==@0@|(fFZ;xMc0qt*1+RQxUJ=;IawoZQ4 zZZAoNt&(_HFKmgKpObP3=es5PhgQ`Wel=Ci=Yk6Y_O!^R*q`h=Ipas0T~jUy4{!n_ z#66mO`!5D(2!lOv(<-L9t;=J`OKTf%*^$G3hO{lY6PfT0= zd#a}*f@sAlD*5@ftCw!NzE^DpnczDpZVItO{>yKw^wu`Ul7lWeZzFm-sWgf*U=4^RIFX zu{odkAjjtor?4S!8?Uo+pxURz?d7bwC)>QtiQD$=%I8GxOLML(BGw+-7kJt%^*}b| ztH7jv4?}#3u;0SS#w>tw@8LERhO+Wp2UU6ENG-4I*n_0rg~fxmev88e=XM+vUQ2U~ zJ`^6(lwY+0x)KSeiZHX)6R17jy?^eQ9yIYJ82j0pbvm03+# zYA8uHD3r-2*vpI0_40ZNZ~yqd&w%&?p8Q+>RxtzOhzUArP|a+s&hYgCL@EzqXhj_kAxuhFY+r|AZqbls@D zU?98M#X9Pg{Fh7%;_j99UM1$99uB4s|H^_IxdO{G_Z~Z$oVimQ|Ih2TO@wxQ#ex-hE16h(QlajwIFV?@VEAJ|;BIiryvx8>M`{IY$hqQ!6 zS&q-`Vgj1A=ckuC9n2}COLsU*TQkoRGH!(ZR34~t;4T(f*m4#W=b61E4^^4_2kk-Po0aIw zj=t+H^$$(A=M@WRRn^Xf@cmC>b9DpS{{HT)&<*Ym!|F|T?9*w;)OUoD>Asv7zyy_Y z93WPTAe>&VLZ&|o#d6oH08k2P(IO}kR>liVvM_+B}>ml0OXJsK-{+VJW2#cA!_rAqDpo9#FhH7^A)=GO zaZp@^MhhrF$N+_a<6s1bLLw8X0NDjACNf+Q2r`Ieh-eHf36O}16gr&L; z9EgPQDn+Dm!9Y0Elh0*iNI1fK310?iC5QnV696k>_3syiupA1}0tPmTR2M3ZhGavf zkX(p#%6p|yNUcFS(SS)L;K-x6hO#h`WDsHjL!Tl5Mhhetrk5H5v`V#5sg$uXhLF$( zOJjSZS))bqg*AvqyrJXAdOie-8GRbv0y5aRghm_NmI;8PPBcIqBsMxi>_(TsC_oVj zA^Ur*q29{jzbO`3LIMFIXs9w-jHS>SBrE_@B?#99kqd=Jq)5QgdcQ;0C?#4QpoTmn zkxY?nkOnelgI-{ya^Z)u=%OG4PXuId6KGfhNl2tI31p@VbrFHYBoHw8v4ru4UHvv= z7XE)YVHp+1jRC}NRECTfWLn|hjjJ)v3^e|Oud!PEgB}p*Pfk9H-%oUXqU)m=_$cL1 z-SvsCk7D4Xls|RX|BWuo_Xi$Gf&2^7A;+2L3hp)JC}bw`_u-)S8s54fi!wxFq4Hg! zL7}EhGh8O9>>LL~I9bc(c~9<`JmE7_`mD@H$Z;3t$>n$o=@-BSkaXx$RaKP-j`z9Y zK4^C4(r*ZllB%C3<@=<)aaZ?tZCHz2jk!NzDNEgY_JG5T1?SEe$mAm?TUt1|J2Q(M Q5ik_jJCIYnWOdSi0T1o1@&Et; literal 0 HcmV?d00001