Page 1 of 3

[Mod] Particles Mod [0.3.1] [particles]

PostPosted: Sun Feb 26, 2012 16:37
by sfan5
This Mod adds Digging-Particles and other Particles.
License: GPLv2 (applies to all parts)
Depends: default
Supported Mods: (Digging Particles)
  • Mesecons
Download 0.3.1: http://ubuntuone.com/4uNGNDnMrA5LDhyTvscbP9
Download 0.3: http://ubuntuone.com/5paKbx6dbw8Rr7H0sa8UAo
Download 0.2: http://ubuntuone.com/4qLa6HmnxZi0UGeq5jZrCa
Download 0.1: http://ubuntuone.com/0C05AG6hlnU7ezklDRSnFG
Screenshots:
Image
Image

Info for Modders:
If you want Digging Particle Support for your Mod make a List with all Block and their Color
Example:
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
--== Modname ==--
{"modname:my_block1", "gray"},
{"modname:my_block2", "sandcolor"},

Available Colors:
  • black
  • brown
  • gray
  • green
  • lightgray
  • red
  • darksandcolor
  • sandcolor
  • white
  • yellow
If you need extra Colors make a Texture for them called p_mycolor.png in the texture Folder.
Send me the List and extra Colors (if there are any) and i'll include it

PostPosted: Sun Feb 26, 2012 16:42
by Jordach
No lagggg..... Freaking awesome.

PostPosted: Sun Feb 26, 2012 16:47
by sfan5
Jordach wrote:No lagggg..... Freaking awesome.

Thanks, can you make a Screenshot for me?

PostPosted: Sun Feb 26, 2012 17:21
by Jordach
Ok, will do.

PostPosted: Sun Feb 26, 2012 17:30
by Jordach
Ok, heres your pics!

Torched.

Image

Meseconned.

Image

Also, I made a font map, so no more Lucida font!

PostPosted: Sun Feb 26, 2012 17:37
by sfan5
Jordach wrote:Ok, heres your pics!

Torched.

Image

Meseconned.

Image

Also, I made a font map, so no more Lucida font!

+1 for the Font Map
Thx for the Screens

PostPosted: Sun Feb 26, 2012 17:58
by Jordach
Using the MC font works well at 11 in size. :D

PostPosted: Sun Feb 26, 2012 18:09
by Death Dealer
Freakin awesome!!

PostPosted: Sun Feb 26, 2012 19:04
by sdzen
i get low fps then it jumps after i walk around abit

PostPosted: Sun Feb 26, 2012 20:42
by jordan4ibanez
nice..could you make the particles spawn at the torch and delete a little faster?

PostPosted: Sun Feb 26, 2012 20:45
by sdzen
it looks form the init that that is very possible with some tweaking

PostPosted: Sun Feb 26, 2012 21:06
by Nemo08
jordan4ibanez wrote:nice..could you make the particles spawn at the torch and delete a little faster?

init.lua:
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
SMOKE = {
    physical = true,
    collisionbox = {-0.1,-0.1,-0.1,0,0,0},
    visual = "sprite",
    textures = {"smoke.png"},
    on_step = function(self, dtime)
        self.object:setacceleration({x=0, y=0.5, z=0})
        self.timer = self.timer + dtime
        if self.timer > 3 then
            self.object:remove()
        end
    end,
    timer = 0,
}
minetest.register_entity("particles:smoke", SMOKE)
minetest.register_abm({
    nodenames = {"default:torch"},
    interval = 2,
    chance = 10,
    action = function(pos)
        minetest.env:add_entity({x=pos.x,y=pos.y-0.25,z=pos.z}, "particles:smoke")
    end,
})

if minetest.get_modpath("jeija") ~= nil then -- Mesecons is installed
    MESECONDUST = {
        physical = true,
        collisionbox = {-0.1,-0.1,-0.1,0,0,0},
        visual = "sprite",
        textures = {"mesecondust.png"},
        on_step = function(self, dtime)
            self.timer = self.timer + dtime
            if self.timer > 2.5 then
                self.object:remove()
            end
        end,
        timer = 0,
    }
    minetest.register_entity("particles:mesecondust", MESECONDUST)
    minetest.register_abm({
        nodenames = {"jeija:mesecon_on","jeija:wall_lever_on","jeija:mesecon_torch_on"},
        interval = 1,
        chance = 5,
        action = function(pos)
            minetest.env:add_entity({x=pos.x,y=pos.y,z=pos.z}, "particles:mesecondust")
        end,
    })
end

deleted after 3 sec, and spawned at torches (?? im little confused by y=pos.y-0.25)

PostPosted: Sun Feb 26, 2012 21:41
by Jordach
nemo, y=pos.y-0.25 might be a lua thingy. mt may read a positive y as down.

ah, I see now, sfan did so that the smoke arises from the node, not spawning.

PostPosted: Sun Feb 26, 2012 21:43
by sdzen
i find that y=pos.y+0.27 is better for height of the entity but thats my opinion

PostPosted: Sun Feb 26, 2012 21:56
by Nemo08
Jordach wrote:nemo, y=pos.y-0.25 might be a lua thingy. mt may read a positive y as down.

I'm know that it mean, i'm somewhat familiar with the mod writing ))) at that moment i not test posted code. y-0.25 just looks strange..

this will be ok:
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
 SMOKE = {
    physical = true,
    collisionbox = {-0.1,-0.1,-0.1,0,0,0},
    visual = "sprite",
    textures = {"smoke.png"},
    on_step = function(self, dtime)
        self.object:setacceleration({x=0, y=0.5, z=0})
        self.timer = self.timer + dtime
        if self.timer > 3 then
            self.object:remove()
        end
    end,
    timer = 0,
}
minetest.register_entity("particles:smoke", SMOKE)
minetest.register_abm({
    nodenames = {"default:torch"},
    interval = 2,
    chance = 10,
    action = function(pos)
        minetest.env:add_entity({x=pos.x,y=pos.y+0.5,z=pos.z}, "particles:smoke")
    end,
})

if minetest.get_modpath("jeija") ~= nil then -- Mesecons is installed
    MESECONDUST = {
        physical = true,
        collisionbox = {-0.1,-0.1,-0.1,0,0,0},
        visual = "sprite",
        textures = {"mesecondust.png"},
        on_step = function(self, dtime)
            self.timer = self.timer + dtime
            if self.timer > 2.5 then
                self.object:remove()
            end
        end,
        timer = 0,
    }
    minetest.register_entity("particles:mesecondust", MESECONDUST)
    minetest.register_abm({
        nodenames = {"jeija:mesecon_on","jeija:wall_lever_on","jeija:mesecon_torch_on"},
        interval = 1,
        chance = 5,
        action = function(pos)
            minetest.env:add_entity({x=pos.x,y=pos.y,z=pos.z}, "particles:mesecondust")
        end,
    })
end

PostPosted: Sun Feb 26, 2012 21:57
by Nemo08
sdzen wrote:i find that y=pos.y+0.27 is better for height of the entity but thats my opinion

not see ur reply)

PostPosted: Mon Feb 27, 2012 00:50
by stormrider2
How about particles for digging too?

PostPosted: Mon Feb 27, 2012 01:10
by jordan4ibanez
sfan should be able to make particle that use lua..i think i might give it a crack

PostPosted: Tue Feb 28, 2012 00:44
by IPushButton2653
jordan4ibanez wrote:sfan should be able to make particle that use lua..i think i might give it a crack

That would be amazing!

PostPosted: Tue Feb 28, 2012 09:51
by Jeija
stormrider2 wrote:How about particles for digging too?

I tried that.
Unfortunately
1) Performance is bad
2) It looks like entities can only be set at total numbers as coordinates (so 1,2,3 works, but not 1.1,2.2,3.3); This makes it look quite bad

EDIT: 2) does not seem to be true

PostPosted: Tue Feb 28, 2012 13:32
by jordan4ibanez
post it damnit

PostPosted: Tue Feb 28, 2012 14:59
by Jeija
jordan4ibanez wrote:post it damnit

This is EXPERIMENTAL.
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
PARTICLES_AMOUNT=20
PARTICLES_TIME=0.9

DIRTPARTICLES={
 physical = false,
    collisionbox = {-0.1,-0.1,-0.1,0,0,0},
    visual = "sprite",
    visual_size = {x=0.1, y=0.1},
    textures = {"default_dirt.png"},
    on_activate = function(self)
        self.object:setvelocity({x=math.random(-5,5)/30, y=math.random(-1,12)/6, z=math.random(-5,5)/30})
        self.object:setacceleration({x=0+math.random(-5,5)/30, y=-5, z=0+math.random(-5,5)/30})
    end,
    on_step = function(self, dtime)
        self.timer = self.timer + dtime
        if self.timer > PARTICLES_TIME then
            self.object:remove()
        end
    end,
    timer = 0,
}

minetest.register_entity("particles:dirtparticles", DIRTPARTICLES);


ADDDIRTPARTICLES=function(pos, node, puncher)
    if node.name=="default:dirt" then
        for i=0,PARTICLES_AMOUNT,1 do
            local obj=minetest.env:add_entity({x=pos.x+math.random(-5,5)/15, y=pos.y+0.5, z=pos.z+math.random(-5,5)/15}, "particles:dirtparticles")
        end
    end
end


minetest.register_on_punchnode(ADDDIRTPARTICLES)
minetest.register_on_dignode(ADDDIRTPARTICLES)


Only works with dirt (without grass).
<ironic>As you can see, it is a lot of fun with that incredibly good performance -.-</ironic>

PostPosted: Tue Feb 28, 2012 15:42
by jordan4ibanez
BUT THAT LOOKS GOOD AND HAS GOOD PERFORMANCE! for lua!

PostPosted: Tue Feb 28, 2012 16:55
by sfan5
Particles Mod 0.2 Preview
http://youtu.be/B3wGDWNmz0o

PostPosted: Tue Feb 28, 2012 17:05
by Jordach
where's the dl link? for 0.2?

PostPosted: Tue Feb 28, 2012 17:54
by sfan5
Jordach wrote:where's the dl link? for 0.2?

0.2 is currently developed

PostPosted: Tue Feb 28, 2012 18:01
by Jordach
I wanna try that!

PostPosted: Tue Feb 28, 2012 18:02
by sfan5
Jordach wrote:I wanna try that!

Go online on IRC in #minetest or #minetest-delta

PostPosted: Tue Feb 28, 2012 18:10
by Jordach
Ok, be there in a min!

PostPosted: Tue Feb 28, 2012 19:07
by Jordach
Been testing this with Sfan5 and its freaking awesome!