Page 1 of 1

[Mod Proposal] alchemy + moonseed

PostPosted: Thu Jul 19, 2012 17:11
by LocaL_ALchemisT
hey guys & gals. I'm new to this forum and nice to meet you.

I've been using minetest for about a month and i'm interested in doing mods, although i'm not good in lua coding. Here are some mods that i've made.

Introducing "alchemy" mod.

Image

found deep in the ground, liquid mercury is the main substance in this mod. harvesting mercury would require a bucket.

Image

Image

by processing the mercury (in the bucket), a philosopher's stone is produced.

Image

this can be used to transmute steel into gold.

Image

of course, it is not limited to ingots only...

Image

"alchemy" depends on "default", "bucket" and "moreores".

besides transmuting steel into gold, philosopher's stone is also implemented in my 2nd mod, "moonseed".

Image

Image

Image

Image

moonseeds are used to create 'artificial moon' (an almost spherical stone formation). any nodes within specific range will be destroyed before the stone nodes are placed.

there are 3 types of moonseeds:

1. Mini Moon

Image

2. Big Moon (note the Mini Moons in picture)

Image

3. Collosal Moon

Image

Image

Comparing the moons:

Image

"moonseed" depends on "default" and "alchemy" ("alchemy" dependencies also needed).

---------------------------------------------------------------------------

There are some things to be cleared before the mods are released:

1. Glitch(es) regarding "moonseed". Due to the size of moon produced by Collosal Moon, a lot of time needed for the program to run the lua code. Some attempts may result in failure.

picture below shows incomplete form of moon

Image

some nodes within the range are not destroyed

Image

Collosal Moon would still be included in the mod, however using it would cause lag. Be careful with it.

2. The mods are made mostly by copypasting codes from "moreores" and "nuke" mods before editting them (i did learn to understand the code though). i dont know about licensing stuff and permissions, i would be nice if someone can tell me what to do regarding this matter. i haven't uploaded the mods yet.

Thank you for your support. Sorry for bad English.

edit: title

PostPosted: Thu Jul 19, 2012 17:15
by Stef
i think i will use the moon mod to make a survival or adventuremap in a solar planet

PostPosted: Thu Jul 19, 2012 17:58
by mauvebic
Im very interested in your sphere builder - thought of releasing it seperately?

PostPosted: Thu Jul 19, 2012 18:04
by LocaL_ALchemisT
"alchemy" and "moonseed" are 2 different mods. if you only need "moonseed" then the recipe needs to be changed a little (replace philosopher's stone with something else), if you dont want to include "alchemy".

PostPosted: Thu Jul 19, 2012 18:40
by mauvebic
figured it out
Image

i want to make huge spheres out of different materials, and from there, possibly a different type of map (no land, just planetoids)

PostPosted: Thu Jul 19, 2012 18:52
by Stef
yea nice i can't find the download link,
we can this mod also use as voxelsniper part (world edit) if u use sand it would fall down on the normal mountains and ground, like that you should can make mountains by your self

PostPosted: Thu Jul 19, 2012 22:00
by LocaL_ALchemisT
nice mauvebic. it would be better if you share your mod here. i will post mine later, after i figured out about this licensing stuff (please help me).

my mod introduce items which, when activated, will float into the air and explode, forming stone sphere. yours seems like giving user a chatcommand to build a sphere out of any nodes the user wants.

PostPosted: Thu Jul 19, 2012 22:43
by mauvebic
i made some generic code to create spheres from the chat console using /pointzero, /size and /round, im still missing a /hollow command to empty the interior, when its ready ill give you a copy and implement it here

PostPosted: Fri Jul 20, 2012 02:15
by cornernote
this looks awesome, any chance you can share the mod in its current state for us to start testing and tinkering?

PostPosted: Fri Jul 20, 2012 02:39
by NakedFury
mauvebic wrote:i made some generic code to create spheres from the chat console using /pointzero, /size and /round, im still missing a /hollow command to empty the interior, when its ready ill give you a copy and implement it here


Do you plan to use different ways to make them?
Example:
/radius #, block type
/diameter #, block type

PostPosted: Fri Jul 20, 2012 13:19
by mauvebic
ive posted it here

and heres the commands:
Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
Code: Select all
/p0   sets the center of the sphere (using your position)
/radius <number>   sets radius of the sphere, defaults to 12
/thickness <number>   sets thickness of hollow sphere, defaults to 1
/sphere <nodename> spawns a sphere
/hollowsphere <nodename> spawns a hollow sphere


and heres the code relating to generating spheres:
Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
Code: Select all
    -------------------------------------------------------
--------------        SPHERES & HOLLOW SPHERES        ---------------------------
        ---------------------------------------------------------------
local SPHERE_SIZE = 12
local POINT_ZERO = nil
local HOLLOW_THICKNESS = 1

function sphere(pos,nodename,hollow)
     pos.x = math.floor(pos.x+0.5)
     pos.y = math.floor(pos.y+0.5)
     pos.z = math.floor(pos.z+0.5)
     for x=-SPHERE_SIZE,SPHERE_SIZE do
     for y=-SPHERE_SIZE,SPHERE_SIZE do
--     for y=-(SPHERE_SIZE*4),(SPHERE_SIZE*4) do
     for z=-SPHERE_SIZE,SPHERE_SIZE do
         if not hollow and x*x+y*y+z*z <= SPHERE_SIZE * SPHERE_SIZE + SPHERE_SIZE then
                local np={x=pos.x+x,y=pos.y+y,z=pos.z+z}
                local n = minetest.env:get_node(np)
                minetest.env:add_node(np,{type="node",name=nodename})
            elseif hollow and x*x+y*y+z*z >= (SPHERE_SIZE-hollow) * (SPHERE_SIZE-hollow) + (SPHERE_SIZE-hollow) and x*x+y*y+z*z <= SPHERE_SIZE * SPHERE_SIZE + SPHERE_SIZE then
                local np={x=pos.x+x,y=pos.y+y,z=pos.z+z}
                local n = minetest.env:get_node(np)
                minetest.env:add_node(np,{type="node",name=nodename})
         end
     end
     end
     end
end

minetest.register_chatcommand("p0", {
    params = "<none>",
    description = "spawn a sphere",
    privs = {server=true},
    func = function(name, param)
        POINT_ZERO = minetest.env:get_player_by_name(name):getpos()
        minetest.chat_send_player(name, "p0 set")
    end,        })
minetest.register_chatcommand("radius", {
    params = "<radius>",
    description = "set radius of sphere, default 12",
    privs = {server=true},
    func = function(name, param)
        SPHERE_SIZE = param
        minetest.chat_send_player(name, "radius set")
    end,        })
minetest.register_chatcommand("sphere", {
    params = "<nodename>",
    description = "spawn a sphere",
    privs = {server=true},
    func = function(name, param)
        if POINT_ZERO == nil then minetest.chat_send_player(name, "there is no p0 only zuul") return end
        minetest.chat_send_player(name, "spawning...larger spheres = more time, may need to retry if partial spawn")
        sphere(POINT_ZERO, param)
    end,        })
minetest.register_chatcommand("thickness", {
    params = "<hollow sphere thickness>",
    description = "set thickness of hollow spheres, default 1",
    privs = {server=true},
    func = function(name, param)
        HOLLOW_THICKNESS = param
        minetest.chat_send_player(name, "thickness set")
    end,        })
minetest.register_chatcommand("hollowsphere", {
    params = "<nodename>",
    description = "spawn a hollow sphere",
    privs = {server=true},
    func = function(name, param)
        if POINT_ZERO == nil then minetest.chat_send_player(name, "there is no p0 only zuul") return end
        minetest.chat_send_player(name, "spawning...larger spheres = more time, may need to retry if partial spawn")
        sphere(POINT_ZERO, param, HOLLOW_THICKNESS)
    end,        })


you might notice i commented out:
Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
Code: Select all
--     for y=-(SPHERE_SIZE*4),(SPHERE_SIZE*4) do

which makes more eliptical/saucer-ish shapes, if you uncomment be sure to comment out or delete the line above:
Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
Code: Select all
     for y=-SPHERE_SIZE,SPHERE_SIZE do


but if you get the idea then you can stretch/shrink spheres along any axis, the example above gave me something more dome-ish than spheric

and to answer @NakedFurys question: you only specify the blocktype/nodename when youre ready to run /sphere or /hollowsphere. ive listed the commands in order, radius and thickness are optional and thickness is only for /hollowsphere anyhoo.

PostPosted: Tue Jul 24, 2012 08:20
by cornernote
this looks awesome, any chance of a download link soon?

PostPosted: Tue Jul 24, 2012 08:35
by PilzAdam
LocaL_ALchemisT wrote: i dont know about licensing stuff and permissions, i would be nice if someone can tell me what to do regarding this matter. i haven't uploaded the mods yet.

You can use WTFPL (http://sam.zoy.org/wtfpl/). It easy to understand and says evereyone can do everything with your mod.

PostPosted: Fri Aug 03, 2012 17:03
by Nick
Whoa, this looks great. Any chance of these being released? (please? :D)

PostPosted: Tue Aug 07, 2012 01:46
by Mallot1 not logged in
pleeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeessssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssseeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeessssssssssssssssssss post i dont know how to use worldedit if you want to reply talk to mallot1 i got bannned from my account

PostPosted: Tue Dec 18, 2012 12:47
by cornellius
download!!download