[Mod] Hallelujah Mountains [cloudlands]

User avatar
DrFrankenstone
Member
 
Posts: 109
Joined: Tue May 24, 2016 05:36
Location: Melbourne, Australia
GitHub: treer

[Mod] Hallelujah Mountains [cloudlands]

by DrFrankenstone » Mon Jun 11, 2018 08:53

Image

Hallelujah Mountains for Minetest v5.0+

AKA Cloudlands — giant rocks floating suspended in magnetic eddies, occasionally with giant trees growing out.

This can be run with or without a normal terrain mapgen, allowing either pure skylands or an exotic addition to the existing landscape, making use of Minetest's ability to handle heights.

Configurable settings include the altitude islands appear, the ability to restrict where they spawn, whether giant trees can appear, etc.

It's a single file with no hard dependencies for easy integration into modpacks or games, e.g. as an exotic biome.

The islands are not homogenous, there will be areas without any, while smaller islands tend to follow eddy fields, often emanating out from much larger and rarer islands.

Hallelujah Mountains maps, like the link above, can be generated by Amidstest provided you know the seed of the world.

Mod dependencies: None.

Minetest version: Requires v5.0+

Recommends:
  • Vines, or something that contains vines, such as plantlife_modpack or MineClone2. These will grow off the sides of the islands, climate permitting, allowing you to climb, while looking picturesque at the same time!
  • Teleportation or Nether mod for entrances into floating kingdoms.
  • Extra ways to explore
Ores tip: If you decide ores like iron and diamond should be obtainable from island stone, and are playing Minetest Game, go into Settings->Advanced Settings->Mods->cloudlands, set the "Altitude of Islands" to be 1300 (or higher), and Enable "Generate ores inside islands". This works because Minetest Game also generates the deep-underground ores in stone above 1025 to ensure they can be found in mgV7 Floatlands. Ores can be added in other games or at other altitudes by adding adjusted copies of the game's calls to minetest.register_ore().

License: LGPL 2.1+

Download: git, Github or master.zip

Video: Minetest Mod Review: Cloudlands

In combination with skybox and plantlife mods, this it becomes a wallpaper generator...
Image

Image

Vines:
Image

Image

Giant trees can sometimes be found growing on islands.
Image

Image
Attachments
sunrise banner small.jpg
using skybox mod, with the ice-plains spikes of MineClone2
(121.47 KiB) Not downloaded yet
ponds small.jpg
plantlife_modpack
(145.81 KiB) Not downloaded yet
moonlight wallpaper small.jpg
MineClone2 at dusk
(151.4 KiB) Not downloaded yet
Last edited by DrFrankenstone on Thu May 16, 2019 14:47, edited 37 times in total.
 

User avatar
texmex
Member
 
Posts: 1452
Joined: Mon Jul 11, 2016 21:08
GitHub: tacotexmex
In-game: texmex

Re: [Mod] Hallelujah Mountains [cloudlands]

by texmex » Mon Jun 11, 2018 09:36

This looks amazing! Those small pond islands are very cute. Love the fact that the mod is so selfcontained.
Last edited by texmex on Mon Jun 11, 2018 19:35, edited 1 time in total.
 

User avatar
Wuzzy
Member
 
Posts: 3437
Joined: Mon Sep 24, 2012 15:01
GitHub: Wuzzy2
IRC: Wuzzy
In-game: Wuzzy

Re: [Mod] Hallelujah Mountains [cloudlands]

by Wuzzy » Mon Jun 11, 2018 12:48

Does not work with MCL2 a6bb31f2a604050c054572f70bfce8dc404519be, MT 0.4.16, cloudlands 6c5bff30201a5286d89f4d96026cb8a624365797. Crashes after flying around a bit.

Code: Select all
WARNING[Main]: Map::getNodeMetadata(): Block not found
WARNING[Main]: Map::removeNodeMetadata(): Block not found
ACTION[Server]: singleplayer granted (server, shout, fly, password, bring, kick, teleport, ban, debug, zoom, announce, noclip, maphack, weather_ma      nager, privs, fast, basic_privs, help_reveal, give, protection_bypass, rollback, settime, interact) privileges to singleplayer
ERROR[Main]: ServerError: AsyncErr: Lua: finishGenRuntime error from mod 'cloudlands' in callback environment_OnGenerated(): /home/wuzzy/.minetest      /mods/cloudlands/cloudlands.lua:685: attempt to call field 'get_biome_data' (a nil value)
ERROR[Main]: stack traceback:
ERROR[Main]:       /home/wuzzy/.minetest/mods/cloudlands/cloudlands.lua:685: in function 'renderCores'
ERROR[Main]:       /home/wuzzy/.minetest/mods/cloudlands/cloudlands.lua:903: in function </home/wuzzy/.minetest/mods/cloudlands/cloudlands.lua:873      >
ERROR[Main]:       /usr/share/minetest/builtin/game/register.lua:412: in function </usr/share/minetest/builtin/game/register.lua:392>
ACTION[Server]: [doc] Wrote player data into /home/wuzzy/.minetest/worlds/Cloud2/doc.mt.
WARNING[Server]: Undeclared global variable "name" accessed at ...test/games/mineclone2/mods/ENTITIES/mobs_mc/villager.lua:658
ACTION[Server]: singleplayer leaves game. List of players:
ACTION[Main]: [doc] Server shuts down. Player data is about to be saved.
ACTION[Main]: [doc] Wrote player data into /home/wuzzy/.minetest/worlds/Cloud2/doc.mt.
ERROR[Main]: Invalid boolean setting in /home/wuzzy/.minetest/mods/cloudlands//settingtypes.txt "cloudlands_generate_ores      (Generate ores inside islands - patches of dirt, sand etc.) bool false^M"
ERROR[Main]: Invalid integer setting in /home/wuzzy/.minetest/mods/cloudlands//settingtypes.txt "cloudlands_vine_coverage      (Vine coverage %) int 30 0 100^M"
My creations. I gladly accept bitcoins: 17fsUywHxeMHKG41UFfu34F1rAxZcrVoqH
 

User avatar
DrFrankenstone
Member
 
Posts: 109
Joined: Tue May 24, 2016 05:36
Location: Melbourne, Australia
GitHub: treer

Re: [Mod] Hallelujah Mountains [cloudlands]

by DrFrankenstone » Mon Jun 11, 2018 13:40

Wuzzy wrote:Does not work with MCL2 a6bb31f2a604050c054572f70bfce8dc404519be, MT 0.4.16


Looks like the ability to get_biome_data() was added in Sep 2017, and is in Minetest 0.5.x, but not 4.16/4.17.

That's a bit of a bummer, I'll mark it as a 0.5 mod for now. I'll also see if there's a way to obtain biome data in 4.16, and if it's building on any other features exclusive to 0.5.
 

User avatar
texmex
Member
 
Posts: 1452
Joined: Mon Jul 11, 2016 21:08
GitHub: tacotexmex
In-game: texmex
 

User avatar
TumeniNodes
Member
 
Posts: 2749
Joined: Fri Feb 26, 2016 19:49
Location: in the dark recesses of the mind
GitHub: TumeniNodes
IRC: tumeninodes
In-game: TumeniNodes

Re: [Mod] Hallelujah Mountains [cloudlands]

by TumeniNodes » Tue Jun 12, 2018 01:32

Nice, I love it.
Works best imho with mapgen flat. Cool water falls to drown the peasants below.
I'm definitely gonna tinker with this
Nice work
Ich mag keine grünen Eier und Schinken, ich mag sie nicht Sam I Am
 

User avatar
DrFrankenstone
Member
 
Posts: 109
Joined: Tue May 24, 2016 05:36
Location: Melbourne, Australia
GitHub: treer

Re: [Mod] Hallelujah Mountains [cloudlands]

by DrFrankenstone » Sat Jun 16, 2018 18:29

The latest version of Amidstest maps Hallelujah Mountains. If you're exploring in god mode then this makes it much easier to scout interesting locations than flying in random directions.

There's also an improved version of Hallelujah Mountains out as well. It adds minor fixes, frozen ponds, and the ability to restrict where islands can spawn based off biomes.

Image
Attachments
amidstest2.png
Amidstest displaying a map of Hallelujah Mountains.
(62.27 KiB) Not downloaded yet
 

User avatar
Mantar
Member
 
Posts: 77
Joined: Thu Oct 05, 2017 18:46

Re: [Mod] Hallelujah Mountains [cloudlands]

by Mantar » Tue Nov 27, 2018 23:12

Getting some errors on current minetest master:
Code: Select all
"018-11-27 15:11:06: ERROR[Main]: Invalid boolean setting in /home/mantar/.minetest/mods/cloudlands//settingtypes.txt "cloudlands_use_lowland_biomes        (Use lowland biomes) bool false
"018-11-27 15:11:06: ERROR[Main]: Invalid boolean setting in /home/mantar/.minetest/mods/cloudlands//settingtypes.txt "cloudlands_generate_ores        (Generate ores inside islands - patches of dirt, sand etc.) bool false
"018-11-27 15:11:06: ERROR[Main]: Invalid integer setting in /home/mantar/.minetest/mods/cloudlands//settingtypes.txt "cloudlands_vine_coverage        (Vine coverage %) int 30 0 100
 

User avatar
DrFrankenstone
Member
 
Posts: 109
Joined: Tue May 24, 2016 05:36
Location: Melbourne, Australia
GitHub: treer

Re: [Mod] Hallelujah Mountains [cloudlands]

by DrFrankenstone » Wed Nov 28, 2018 08:51

I'm having some difficulty reproducing this. Are those all of the invalid setting errors you're seeing?

I don't have Minetest running on a linux box at the moment and it may be a windows/linux difference... you can confirm it's not caused by the extra \r on the end of the values by running:
Code: Select all
cd /home/mantar/.minetest/mods/cloudlands
sed -i 's/\r//g' settingtypes.txt
and see if that fixes it (let me know if it does, cos that's a bug).

Otherwise, if you PM me these files I can check them:
Code: Select all
    mods/cloudlands/settingtypes.txt,
    mods/cloudlands/world.mt
    minetest.conf
 

User avatar
Mantar
Member
 
Posts: 77
Joined: Thu Oct 05, 2017 18:46

Re: [Mod] Hallelujah Mountains [cloudlands]

by Mantar » Wed Nov 28, 2018 16:35

DrFrankenstone wrote:I'm having some difficulty reproducing this. Are those all of the invalid setting errors you're seeing?

Yeah, that's all of them, at least for this mod.

I don't have Minetest running on a linux box at the moment and it may be a windows/linux difference... you can confirm it's not caused by the extra \r on the end of the values by running:
Code: Select all
cd /home/mantar/.minetest/mods/cloudlands
sed -i 's/\r//g' settingtypes.txt
and see if that fixes it (let me know if it does, cos that's a bug).

Well what do you know, that was it! Weird, I didn't think lua would care about CR/LF nonsense, I'm pretty sure python doesn't. The errors are gone, and the settings show up in the advanced->mods section.

Oh are the vines supposed to be this short when using plantlife_modpack?
Attachments
TinyVines.jpg
(301.07 KiB) Not downloaded yet
 

User avatar
DrFrankenstone
Member
 
Posts: 109
Joined: Tue May 24, 2016 05:36
Location: Melbourne, Australia
GitHub: treer

Re: [Mod] Hallelujah Mountains [cloudlands]

by DrFrankenstone » Wed Nov 28, 2018 20:26

Mantar wrote:Weird, I didn't think lua would care about CR/LF nonsense, I'm pretty sure python doesn't. The errors are gone, and the settings show up in the advanced->mods section.

Thanks for trying that, I'll convert the file in cloudlands and raise a ticket that Minetest parses differently depending on OS. (Googling made me suspect Lua's file-reading functions may behave differently, and the regex used to parse bools and int ranges happens to not permit a \r in the value part)

Mantar wrote:Oh are the vines supposed to be this short when using plantlife_modpack?

They do start short like that, but those are 'alive' vine-ends and they grow pretty quickly. In hindsight, I should have made islands should spawn with already fully grown vines :/
 

User avatar
Mantar
Member
 
Posts: 77
Joined: Thu Oct 05, 2017 18:46

Re: [Mod] Hallelujah Mountains [cloudlands]

by Mantar » Wed Nov 28, 2018 21:05

Cool. I just thought something was up since it didn't look like those gorgeous screenshots upthread. This is an excellent mod, man.
 

User avatar
Wuzzy
Member
 
Posts: 3437
Joined: Mon Sep 24, 2012 15:01
GitHub: Wuzzy2
IRC: Wuzzy
In-game: Wuzzy

Public Service Announcement

by Wuzzy » Wed Jan 30, 2019 06:53

WARNING!
This mod contains obfuscated code. Don't trust it.

Excerpt from the “source code”:
Code: Select all
local function addDetail_secrets__shhh_dont_tell_people(w,x,y,z,A,B)if x.biome~=nil and x.radius>18 and x.depth>20 and x.radius+x.depth>60 then local C=math_floor(x.x/x.type.territorySize)local D=math_floor(x.z/x.type.territorySize)local E=x.temperature<=5 and x.x%3==0 and noise_surfaceMap:get2d({x=x.x,y=x.z-8})>=0;local F=x.humidity>=60 and x.temperature>=50;if(C+D)%2==0 and(E or F)then local G=7;local H=5;local I=12;local J=ALTITUDE+x.y-I;local K=G*G;local function L(M,N,O,P,Q,R)local S=vector.direction(M,N)local T={}if S.x>0 then T.x=-1 else T.x=1 end;if S.z>0 then T.z=-1 else T.z=1 end;local U={}local function V(W,X,Y)if y[W]==nodeId_air then local Z={}local _;local function a0(a1)return a1~=nodeId_air and a1~=j and(a1==Y or Y==nil)end;if a0(y[W+T.x])and X.x+T.x>=A.x and X.x+T.x<=B.x then if T.x>0 then _=2 else _=3 end;Z[#Z+1]={solid_vi=W+T.x,facing=_}end;if a0(y[W+T.z*z.zstride])and X.z+T.z>=A.z and X.z+T.z<=B.z then if T.z>0 then _=4 else _=5 end;Z[#Z+1]={solid_vi=W+T.z*z.zstride,facing=_}end;local a2=nil;if#Z==1 then a2=Z[1]elseif#Z==2 then local a3=math.abs(S.x)/(math.abs(S.x)+math.abs(S.z))if randomNumbers[(X.x+X.y+X.z)%256]<=a3 then a2=Z[1]else a2=Z[2]end end;if a2~=nil and(Y==nil or Y==y[a2.solid_vi])and y[a2.solid_vi]~=j then local a4=a2.solid_vi;local a5=1;while X.y+a5<=B.y+1 and y[a4+a5*z.ystride]~=nodeId_air and y[W+a5*z.ystride]==nodeId_air and(Y==nil or Y==y[a4+a5*z.ystride])do a5=a5+1 end;U[#U+1]=function(w)local a6=y[a4+(a5-1)*z.ystride]if a6~=j and a6~=nodeId_air and y[W]==nodeId_air then w[#w+1]={pos={x=X.x,y=X.y+a5-1,z=X.z},node={name=nodeName_vine,param2=a2.facing}}end end end end end;local a7={}local function a8(X,O,P,a1,a9)local aa={}local ab=-1;for ac=X.y,X.y+P-1 do if ac>=A.y and ac<=B.y then if ab==-1 then ab=z:index(X.x,ac,X.z)else ab=ab+z.ystride end;for ad,ae in ipairs(O)do local af=X.x+ae.x;local ag=X.z+ae.z;if af>=A.x and af<=B.x and ag>=A.z and ag<=B.z then local W=ab+ae.x+ae.z*z.zstride;if y[W]==nodeId_air then if a9~=nil then aa[#aa+1]=function()a9(X,W,af,ac,ag)end end else y[W]=a1;a7[#a7+1]=W end end end end end;for ad,ah in ipairs(aa)do ah()end end;local function ai(X,aj,ak,al)local function am(an,ao,ap,aq,ar)if aq>an.y and aq+1<=B.y then V(ao+z.ystride,{x=ap,y=aq+1,z=ar})else V(ao,{x=ap,y=aq,z=ar},Q)end end;local as=am;local at=j;if not ak or nodeId_vine == nodeId_ignore then as=nil end;if al and s~=nodeId_ignore then at=s end;a8(X,O,P,at,as)if aj and Q~=nil then a8({x=X.x,y=X.y-1,z=X.z},O,1,Q,as)end end;local au=x.humidity>=VINES_REQUIRED_HUMIDITY and x.temperature>=VINES_REQUIRED_TEMPERATURE;if R==nil then R=0 end;local av=round(vector.distance(M,N))local aw=vector.divide(vector.subtract(N,M),av)local X=vector.new(M)local ax=vector.new(M)ai(M,0>=R,false)for ay=1,av do ax.x=ax.x+aw.x;if round(ax.x)~=X.x then X.x=round(ax.x)ai(X,ay>=R,au,ay<=R-1 and ay>=R-2)end;ax.y=ax.y+aw.y;if round(ax.y)~=X.y then X.y=round(ax.y)ai(X,ay>=R,au,ay<=R-1 and ay>=R-2)end;ax.z=ax.z+aw.z;if round(ax.z)~=X.z then X.z=round(ax.z)ai(X,ay>=R,au,ay<=R-1 and ay>=R-2)end end;for ad,az in ipairs(U)do az(w)end;for ad,aA in ipairs(a7)do if y[aA]==j then y[aA]=nodeId_air;surfaceData[aA]=nodeId_air end end end;local function aB(af,ac,ag,a1)if af>=A.x and af<=B.x and ag>=A.z and ag<=B.z and ac>=A.y and ac<=B.y then y[z:index(af,ac,ag)]=a1 end end;local function aC(X)return X.x>=A.x and X.x<=B.x and X.z>=A.z and X.z<=B.z and X.y>=A.y and X.y<=B.y end;local aD=math_max(x.z-G,A.z)local aE=math_max(x.x-G,A.x)local aF=math_min(x.x+G,B.x)local aG=math_max(J,A.y)local aH=z:index(aE,aG,aD)for ag=aD,math_min(x.z+G,B.z)do for af=aE,aF do local aI=(af-x.x)*(af-x.x)+(ag-x.z)*(ag-x.z)if aI<K then local aJ=1-aI/K;for ac=math_max(A.y,J+math_floor(1.4-aJ)),math_min(B.y,J+1+math_min(H-1,math_floor(0.8+H*aJ)))do y[aH+(ac-aG)*z.ystride]=nodeId_air end end;aH=aH+1 end;aH=aH+z.zstride-(aF-aE+1)end;local Q;if x.biome.node_top==nil then Q=nil else Q=minetest.get_content_id(x.biome.node_top)end;if F then local aK=vector.new(x.type.territorySize*math.floor(x.x/x.type.territorySize)+math.floor(0.5+x.type.territorySize/2),J,x.type.territorySize*math.floor(x.z/x.type.territorySize)+math.floor(0.5+x.type.territorySize/2))local aL=vector.new(x.x,J,x.z)local S=vector.direction(aL,aK)local aM=4;if S.z<0 then aM=-aM end;aL.z=aL.z+aM;aL.x=aL.x+2;S=vector.direction(aL,aK)if vector.length(S)==0 then S=vector.direction({x=0,y=0,z=0},{x=2,y=0,z=1})end;local aN=vector.add(vector.multiply(S,x.radius),{x=0,y=-4,z=0})local aO=4+math.floor(0.5+x.radius*0.3)local O={{x=0,z=0},{x=-1,z=0},{x=1,z=0},{x=0,z=-1},{x=0,z=1}}L(aL,vector.add(aL,aN),O,2,Q,aO)local aP=x.x;local aQ=x.z-aM*0.75;aB(aP,J,aQ,i)if nodeId_gravel~=nodeId_ignore then aB(aP,J-1,aQ,nodeId_gravel)end;if s~=nodeId_ignore then aB(x.x-6,J+3,x.z-1,s)aB(x.x+4,J+4,x.z+3,s)aB(x.x+6,J+1,x.z-3,s)end else if(o~=nodeId_ignore or n~=nodeId_ignore)and k~=nodeId_ignore and l~=nodeId_ignore then local aR=vector.new(x.x-3,J,x.z-7)local aS=vector.add(aR,{x=0,y=0,z=1})local aT=vector.add(aR,{x=8,y=8,z=0})local aU=vector.add(aT,{x=0,y=0,z=-1})local aV=vector.add(aU,{x=-16,y=16,z=0})L(aV,aU,{{x=0,z=0}},3,Q,0)L(aT,aR,{{x=0,z=0}},2,Q,0)local O={{x=0,z=0},{x=1,z=0},{x=0,z=2},{x=0,z=1},{x=1,z=1}}L(aS,aS,O,2,Q,0)aB(x.x+2,J,x.z+5,k)aB(x.x+2,J,x.z+4,l)aB(x.x+2,J,x.z+2,k)aB(x.x+2,J,x.z+1,l)aB(x.x+4,J,x.z+2,k)aB(x.x+4,J,x.z+1,l)if m~=nodeId_ignore then w[#w+1]={pos={x=x.x,y=J+2,z=x.z+6},node={name=minetest.get_name_from_content_id(m),param2=4}}end;if p~=nodeId_ignore then aB(x.x-4,J+1,x.z+5,p)end;if q~=nodeId_ignore then aB(x.x-6,J+1,x.z,q)end;if r~=nodeId_ignore then aB(x.x-5,J,x.z+2,r)end;if s~=nodeId_ignore then aB(x.x+4,J+4,x.z-3,s)end;local aW;local aX=nil;local aY=nil;if n~=nodeId_ignore then local X={x=x.x-3,y=J+1,z=x.z+6}local aZ=minetest.get_name_from_content_id(n)local a_=minetest.get_node(X).name;if a_~=aZ and not a_:find("chest")then minetest.set_node(X,{name=aZ})end;if aC(X)then y[z:index(X.x,X.y,X.z)]=n;aY=minetest.get_inventory({type="node",pos=X})end end;if o~=nodeId_ignore then local X={x=x.x-2,y=J+1,z=x.z+6}aW=X;if minetest.get_node(X).name~=t then minetest.set_node(X,{name=t})end;if aC(X)then y[z:index(X.x,X.y,X.z)]=o;if not u then aX=minetest.get_inventory({type="node",pos=X})end end end;if aX~=nil or aY~=nil then local b0="yvjr"if x.biome.node_filler~=nil then local b1=string.lower(x.biome.node_filler)..string.lower(x.biome.node_top)if string.match(b1,"ice")or string.match(b1,"snow")or string.match(b1,"frozen")then b0="pjl"end end;local b2=a("klmhbsa:ivvr_dypaalu")if u then b2=a("tjs_ivvrz:dypaalu_ivvr")end;local b3=ItemStack(b2)local b4={}b4.title=a("Dlkklss Vbawvza")b4.text=a("Aol hlyvzaha pz svza.\n\n".."Vby zhschnl haaltwaz aoyvbnovba aol upnoa zhclk tvza vm aol\n".."wyvcpzpvuz.\n".."                                    ---====---\n\n".."Aopz pzshuk pz opnosf lewvzlk huk aol dlhaoly kpk uva aylha\n".."aol aluaz dlss. Dl ohcl lushynlk h zolsalylk jyhn pu aol "..b0 ..",\n".."iba pa pz shivyvbz dvyr huk aol jvukpapvu vm zvtl vm aol whyaf\n".."pz iljvtpun jhbzl mvy jvujlyu.\n\n".."Xbpal h qvbyulf pz ylxbpylk. Uvivkf dpss svvr mvy bz olyl.\n\n".."TjUpzo pz haaltwapun av zaylunaolu aol nspklyz.\n\n".."                                    ---====---")local b5="Zvtl vm aol mbu vm Tpuljyhma dhz wpjrpun hwhya ovd pa ".."dvyrlk huk alhzpun vba hss paz zljylaz. P ovwl fvb luqvflk :)".."\n\n".."'uvivkf mvbuk pa! P dhz zv ohwwf hivba aoha, P mpuhssf ruld ".."zvtlaopun hivba aol nhtl aol wshflyz kpku'a ruvd.' -- Uvajo 2012 ".."(ylkkpa.jvt/y/Tpuljyhma/jvttluaz/xxlux/tpujlyhma_h_wvza_tvyalt/)".."\n\n".."Mlls myll av pucvscl aol lnn, vy Ilya, pu vaoly tvkz."if u then b4.text=b4.title.."\n\n"..b4.text end;b4.owner=a("Ilya Zohjrslavu")b4.author=b4.owner;b4.description=a("Kphyf vm Ilya Zohrslavu")b4.page=1;b4.page_max=1;b4.generation=0;b3:get_meta():from_table({fields=b4})if aX==nil then if aY~=nil then aY:add_item("main",b3)end else aX:add_item("books",b3)local dummyPlayer={}dummyPlayer.get_player_name=function()return"server"end;minetest.registered_nodes[t].on_metadata_inventory_put(aW,"books",1,b3,dummyPlayer)end end;if aY~=nil then local b6;local function addIfFound(b7,b8)for ad,b9 in ipairs(b7)do if minetest.registered_items[b9]~=nil then b6=ItemStack(b9 .." "..b8)aY:add_item("main",b6)break end end end;addIfFound({"mcl_tools:pick_iron","default:pick_steel"},1)addIfFound({"binoculars:binoculars"},1)addIfFound({"mcl_core:wood","default:wood"},10)addIfFound({"mcl_torches:torch","default:torch"},3)end end end end end end;


This is impossible to read. Even if you fix the intendations, the variable names are mostly just one letter long, so this will require some reverse engineering, and that's time I don't want to waste. I noticed there are a few strings that can be decoded with ROT19.

Why is the source code obfuscated? What dirty secrets do you have to hide? Answer me, DrFrankenstone!
My creations. I gladly accept bitcoins: 17fsUywHxeMHKG41UFfu34F1rAxZcrVoqH
 

User avatar
firefox
Member
 
Posts: 1479
Joined: Wed Jan 14, 2015 07:34
Location: Xanadu
In-game: Red_Fox

Re: [Mod] Hallelujah Mountains [cloudlands]

by firefox » Wed Jan 30, 2019 12:09

BEST MOD EVAAA!!!111!!!1!!!11

no really, i like it. the shapes and formations are awesome.
building inspiration: viewtopic.php?f=3&t=15550 --- my game: viewtopic.php?f=49&t=15860 --- =(^.^)= nyan~
 

User avatar
Mantar
Member
 
Posts: 77
Joined: Thu Oct 05, 2017 18:46

Re: Public Service Announcement

by Mantar » Wed Jan 30, 2019 18:03

Wuzzy wrote:Why is the source code obfuscated? What dirty secrets do you have to hide? Answer me, DrFrankenstone!


It's hiding spoilers about a secret feature of the mod.
 

User avatar
texmex
Member
 
Posts: 1452
Joined: Mon Jul 11, 2016 21:08
GitHub: tacotexmex
In-game: texmex

Re: Public Service Announcement

by texmex » Wed Jan 30, 2019 20:11

Mantar wrote:
Wuzzy wrote:Why is the source code obfuscated? What dirty secrets do you have to hide? Answer me, DrFrankenstone!


It's hiding spoilers about a secret feature of the mod.

So it seems. I guess that’s the issue with open game development, all spoilers are available in the code. At the same time, open source code should be as legible as possible.
 

User avatar
Wuzzy
Member
 
Posts: 3437
Joined: Mon Sep 24, 2012 15:01
GitHub: Wuzzy2
IRC: Wuzzy
In-game: Wuzzy

Re: [Mod] Hallelujah Mountains [cloudlands]

by Wuzzy » Wed Jan 30, 2019 20:24

Well, it should be a no-brainer, but in case it isn't:
I just like to clarify that source code that was deliberately obfuscated is never open source or free software. The definitions of open source and free software explicitly state that obfuscated code does not count because it is impractical to use.
My creations. I gladly accept bitcoins: 17fsUywHxeMHKG41UFfu34F1rAxZcrVoqH
 

wziard
Member
 
Posts: 122
Joined: Mon Oct 29, 2018 19:12

Re: [Mod] Hallelujah Mountains [cloudlands]

by wziard » Wed Jan 30, 2019 21:10

Ideally the author should provide the unobfuscated source as well. Complete with instructions on how to compile it into the obfuscated source (probably some lua minifier?) .

Maybe the author could put the source of the obfuscated part in a zipfile named 'SPOILER-source-of-easter-egg.zip'

This way paranoid people could check what it contains, and other people could take their word for it and enjoy the surprise by not opening the zip.
 

sofar
Developer
 
Posts: 2044
Joined: Fri Jan 16, 2015 07:31
GitHub: sofar
IRC: sofar
In-game: sofar

Re: [Mod] Hallelujah Mountains [cloudlands]

by sofar » Thu Jan 31, 2019 07:16

Obfuscated code is not allowed on contentdb and the forums. Please consider removing it.
 

User avatar
DrFrankenstone
Member
 
Posts: 109
Joined: Tue May 24, 2016 05:36
Location: Melbourne, Australia
GitHub: treer

Re: Public Service Announcement

by DrFrankenstone » Thu Jan 31, 2019 13:37

The source was available to anyone requesting it, though that section's existence was a bit of a spoiler so I never advertised it.

Now the cat's out of the bag, there's a branch in the git repo called "this_is_a_spoiler"

(to clarify, picking at the code in that section wasn't spoiling or cheating, it was an alternate path to finding any alleged secrets and was arranged to give some early successes. Though with the git branch now, the effort can no longer reward you with knowledge nobody else has)

Wuzzy wrote:Why is the source code obfuscated? What dirty secrets do you have to hide? Answer me, DrFrankenstone!

The obfuscation is there to protect you from the terrible secret of space.

(I know you don't believe this and don't think you need protecting, but what you don't know - the thing you don't understand, is that space has a secret. A terrible secret)
Last edited by DrFrankenstone on Tue Feb 26, 2019 08:40, edited 1 time in total.
 

User avatar
Wuzzy
Member
 
Posts: 3437
Joined: Mon Sep 24, 2012 15:01
GitHub: Wuzzy2
IRC: Wuzzy
In-game: Wuzzy

Re: [Mod] Hallelujah Mountains [cloudlands]

by Wuzzy » Thu Jan 31, 2019 16:17

Well, I don't think it makes even sense to hide source code for spoiler reasons. The whole logic behind this does not make sense.
If you read source code of anything, you should automatically assume that you will be spoiled. I mean, it's the source code! The biggest spoiler of all. Duh! xD
It's like skipping ahead in a book or movie. You could, in theory, do it, but everyone knows its going to spoil. ;)

I also don't like the idea of putting the “real” code in a separate branch. But this is more for practical reasons than anything else. This just makes your mod pointlessly more complicated.
My creations. I gladly accept bitcoins: 17fsUywHxeMHKG41UFfu34F1rAxZcrVoqH
 

User avatar
rubenwardy
Moderator
 
Posts: 5759
Joined: Tue Jun 12, 2012 18:11
Location: United Kingdom
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy

Re: [Mod] Hallelujah Mountains [cloudlands]

by rubenwardy » Thu Jan 31, 2019 16:24

It also draws attention to it, for example here we are talking about it
 

User avatar
Wuzzy
Member
 
Posts: 3437
Joined: Mon Sep 24, 2012 15:01
GitHub: Wuzzy2
IRC: Wuzzy
In-game: Wuzzy

Re: [Mod] Hallelujah Mountains [cloudlands]

by Wuzzy » Thu Jan 31, 2019 16:30

Streisand effect confirmed! xD
My creations. I gladly accept bitcoins: 17fsUywHxeMHKG41UFfu34F1rAxZcrVoqH
 

ShadMOrdre
Member
 
Posts: 417
Joined: Mon Dec 29, 2014 08:07
Location: USA
GitHub: ShadMOrdre
In-game: shadmordre

Re: [Mod] Hallelujah Mountains [cloudlands]

by ShadMOrdre » Thu Jan 31, 2019 17:21

Just a random question/statement regarding the obfuscation....

There are mods posted here which are are in different languages, for the obvious reason, of course, that the author speaks that language.

But, technically, to non native speakers of those languages, the code is thus obfuscated, not by intentional obfuscation, but by merely being unreadable.

I do seem to recall that there is a suggestion or outright forum rule that mods be posted in english, but I may be wrong. Please don't read anything into that either, it is just an innocent question/statement.

So.....
MY MODS: lib_ecology lib_materials lib_clouds lib_node_shapes ---- Inspired By: Open Source Virtual World Simulator Opensimulator.
 

User avatar
Linuxdirk
Member
 
Posts: 2061
Joined: Wed Sep 17, 2014 11:21
Location: Germany
In-game: Linuxdirk

Re: [Mod] Hallelujah Mountains [cloudlands]

by Linuxdirk » Thu Jan 31, 2019 17:33

ShadMOrdre wrote:There are mods posted here which are are in different languages, [...], to non native speakers of those languages, the code is thus obfuscated, [...]

This is the most ridiculous comment I've ever read about obfuscated code!
 

Next

Return to Mod Releases



Who is online

Users browsing this forum: No registered users and 8 guests