Page 1 of 1

[Mod] Fireballs [3.4] [fireballs]

PostPosted: Sat Jun 01, 2013 16:51
by Excalibur Zero
Description:
This mod adds Fireballs, Iceballs, and Light Ice. Fireballs and Iceballs are tools (which don't get damaged) that can be used to shoot firealls, and iceballs, respectively. Fireballs use a modified version of the fireballs from the Simple Mobs mod, by PilzAdam. Iceballs create Light Ice when they collide into a node near a water source. Light Ice melts over time and provides a temporary platform to walk over water, they can also be dug to give a water source node. Light Ice also emits a small amount of light so that they can be seen at night without torches. Light Ice also uses the water texture as part of its texture, so it will use the water texture that you are using. As of 3.1, Iceballs solidify lava sources and flowing lava into stone in addition to freezing water..

As of 2.0, the mod also adds Thunder Swords. Thunder Swords are upgraded Mese Swords that instead of being used as close range weapons, are used to shoot thunderballs at enemies. Thunderballs work just like fireballs, but they leave behind thunder instead of fire (yes I know thunder is just the sound in real life, but the names match up better by using thunder for the object). Thunder damages players more than fire, but it doesn't spread. The thunder fades away after a few seconds. You can also pick up the thunder as an item if you want to place it somewhere (though it will still disappear after it is place). As of 3.1, Thunder Swords don't damage nodes.

As of 3.0, the mod also adds Smokeballs and Earth Staves. Smokeballs are simple projectiles that on contact release a cloud of smoke in order to obscure you from other players. Smoke fades after a little while. Earth Staves are magic staves which can shoot Earthballs which, on contact, replace the air in the surrounding area with Earth blocks, which act as temporary barriers which fade over time.

As of 3.2, the mod uses 3D meshes for the entities in the mod, such as the Fireballs, Iceballs, Thunderballs, etc.

As of 3.3, Smokeballs and Earthballs (projectiles created by Earth Staves) no longer do damage when they hit a player. This way they are more special use weapons, as opposed to damage dealing weapons. However they still "explode" when they hit a player, they just don't damage the player.

As of 3.4, Iceballs turn air nodes that are not above other air nodes to snow cover which melts to flowing water after a few seconds. Iceballs also no longer turn flowing water into light ice, instead they turn it to air. Thee is also a new model for iceballs. I have also added the Ultimate Weapon, which is used for wide scale ruin-like destruction. As susch it has no crafting recipie and is only availible through the creative menu and /give command. An old test of the Ultimate Weapon can be found here: https://www.youtube.com/watch?v=j8STPe80Irg.
------------------------------------------------------------------------------------------------------

License:
  • Code: CC0 (Original Fireball code belongs to PilzAdam (WTFPL))
  • Textures: CC0 (Except for Snow Cover which is WTFPL)
  • 3D Meshes: CC0

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

Dependencies:
  • Fire

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

Download:

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

Git Hub Repository:

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

Mod Database Entry:

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

Crafting:

Fireball:
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
------------    torch     ------------
------------ mese crystal ------------
------------ ------------ ------------


Iceball:
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
------------    torch     ------------
------------ mese crystal ------------
------------    torch     ------------


Thunder Sword:
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
------------   fireball   ------------
------------  mese sword  ------------
------------ ------------ ------------


Smokeball:
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
------------    leaves    ------------
------------    torch     ------------
------------ ------------ ------------


Earth Staff:
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
------------   fireball   ------------
------------     dirt     ------------
------------     stick    ------------


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

Screenshots:

Fireball:
Image

Iceball & Light Ice & Snow Cover:
Image

Thunder Sword & Thunder:
Image

Smokeball & Smoke:
Image

Earth Staff & Earth nodes:
Image

Ultimate Weapon:
Image

PostPosted: Sat Jun 01, 2013 17:52
by RealBadAngel
I just took a look at the code, looks fine but one thing:

output = '"fireballs:fireball" 1',

please use simple strings:

output = "fireballs:fireball 1",

this way is deprecated and will confuse get_craft_recipe functions
also using "1" in crafting recipes makes no sense
output = "fireballs:fireball 1", equals output = "fireballs:fireball",


save the bits ;)

Anyway good work.

PostPosted: Thu Oct 10, 2013 17:00
by fessmK
nice. I was going to do something like this, but had no clue how (:

PostPosted: Thu Jan 16, 2014 00:06
by Excalibur Zero
I have updated this mod to version 2.0.

The update adds Thunder Swords. For more info, see the first post.

PostPosted: Sun Jan 19, 2014 18:08
by qwrwed
I get an error when trying to use this:
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
18:04:47: ERROR[main]: ...etest-0.4.9-66b24cc-win32\bin\..\mods\fireballs\init.l
ua:4: unexpected symbol near '<'

The init.lua contains this:
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
modpath=minetest.get_modpath("fireballs")

dofile(modpath.."/fireball.lua")
<<<<<<< HEAD
dofile(modpath.."/light_ice.lua")
dofile(modpath.."/thunder_sword.lua")
=======
dofile(modpath.."/light_ice.lua")
>>>>>>> e108048110a34156df2f500fb2d83ba932e4660f

This happened with one of my mods as well, but I just re-uploaded it to fix it.

PostPosted: Sun Jan 19, 2014 19:00
by Excalibur Zero
qwrwed wrote:I get an error when trying to use this:
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
18:04:47: ERROR[main]: ...etest-0.4.9-66b24cc-win32\bin\..\mods\fireballs\init.l
ua:4: unexpected symbol near '<'

The init.lua contains this:
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
modpath=minetest.get_modpath("fireballs")

dofile(modpath.."/fireball.lua")
<<<<<<< HEAD
dofile(modpath.."/light_ice.lua")
dofile(modpath.."/thunder_sword.lua")
=======
dofile(modpath.."/light_ice.lua")
>>>>>>> e108048110a34156df2f500fb2d83ba932e4660f

This happened with one of my mods as well, but I just re-uploaded it to fix it.

I've fixed the error.

PostPosted: Sun Jan 19, 2014 19:22
by qwrwed
Thanks. Nice mod, my only problem is that the thunder sword doesn't do any damage (although I don't know if there is a way around this). Do you have any plans for adding sound or making the projectiles faster?

PostPosted: Sun Jan 19, 2014 22:38
by Excalibur Zero
qwrwed wrote:Thanks. Nice mod, my only problem is that the thunder sword doesn't do any damage (although I don't know if there is a way around this). Do you have any plans for adding sound or making the projectiles faster?

I don't think I'll add sword slash damage to the thunder sword. It's really more meant to be a long range weapon than a short range weapon.

I probably won't add sounds, as I don't really know much about how to do that. I may look into projectile speeds, but I'm not sure.

PostPosted: Wed Jan 22, 2014 00:56
by Novacain
This mod looks awesome. an idea for another weapon is an earth object that creates stone barriers. it could also have different modes for what it does, i.e. generate dome around player, place wall, place sphere, etc.

PostPosted: Thu Jan 23, 2014 01:23
by Excalibur Zero
Novacain wrote:This mod looks awesome. an idea for another weapon is an earth object that creates stone barriers. it could also have different modes for what it does, i.e. generate dome around player, place wall, place sphere, etc.

That is a great idea! I don't know about different modes, but I have now coded something along those lines.

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

I have updated the mod to version 3.0. The new update includes Smokeballs and Earth Staves (as suggested by Novacain). See the first post for more info about the update.

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

I have updated the mod to version 3.1. The new update adds a few small fixes. Iceballs now also turn lava (sources and flowing) into stone, which is good for traveling in lava-infested caves. I have also changed the thunder sword so that it does not destroy nodes, but instead turns all air nodes in range to thunder, as opposed to a random selection of the nodes in range.

PostPosted: Sat Jan 25, 2014 11:29
by LuxAtheris
Can you make it compatible with the simple mobs of PilzAdam?

PostPosted: Tue Feb 04, 2014 06:07
by 1704626
REMINDS ME OF MARIO

PostPosted: Wed Feb 05, 2014 16:13
by Excalibur Zero
LuxAtheris wrote:Can you make it compatible with the simple mobs of PilzAdam?

I tired doing that, however I couldn't get it to work. If you know anyone who could help me do that, let me know.

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

I have updated the mod to v3.2. The new update changes the entities from using sprites to using 3D meshes. Please let me know if you like this better or not.

I have also created a release of v3.1 for people who for one reason or another don't want to use the meshes. It can be found at https://github.com/rocketslime11/fireballs/releases/tag/v3.1.

PostPosted: Wed Feb 05, 2014 17:05
by Hybrid Dog
Excalibur Zero wrote:
LuxAtheris wrote:Can you make it compatible with the simple mobs of PilzAdam?

I tired doing that, however I couldn't get it to work. If you know anyone who could help me do that, let me know.

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

I have updated the mod to v3.2. The new update changes the entities from using sprites to using 3D meshes. Please let me know if you like this better or not.

I have also created a release of v3.1 for people who for one reason or another don't want to use the meshes. It can be found at https://github.com/rocketslime11/fireballs/releases/tag/v3.1.
Image
I like it, it doesn't reduce my fps number more than the sprite version but I still prefer particles.

PostPosted: Wed Feb 05, 2014 22:49
by philipbenr
This mod is starting to look pretty awesome. I think I'll try it out.

Edit: +1

PostPosted: Thu Feb 06, 2014 01:30
by Excalibur Zero
Hybrid Dog wrote:
Excalibur Zero wrote:
LuxAtheris wrote:Can you make it compatible with the simple mobs of PilzAdam?

I tired doing that, however I couldn't get it to work. If you know anyone who could help me do that, let me know.

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

I have updated the mod to v3.2. The new update changes the entities from using sprites to using 3D meshes. Please let me know if you like this better or not.

I have also created a release of v3.1 for people who for one reason or another don't want to use the meshes. It can be found at https://github.com/rocketslime11/fireballs/releases/tag/v3.1.
https://f.cloud.github.com/assets/3192173/2089479/6f0fa9d2-8e87-11e3-9ad6-17d2234bf316.png
I like it, it doesn't reduce my fps number more than the sprite version but I still prefer particles.

Thanks!

philipbenr wrote:This mod is starting to look pretty awesome. I think I'll try it out.

Edit: +1

Thanks!

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

I have updated the mod to version 3.3. The changes are not very major. Smokeballs and Earthballs (projectiles created by Earth Staves) no longer do damage when they hit a player. This way they are more special use weapons, as opposed to damage dealing weapons. However they still "explode" when they hit a player.

Also, if anyone gets to use this mod in some form of multiplayer, please let me know what you think of it.

PostPosted: Thu Feb 06, 2014 09:40
by RHR
Excalibur Zero wrote:Fireball:
http://i.imgur.com/qTpH4cN.png


Why is the water burning?
Wouldn't it be better to disable this?

PostPosted: Thu Feb 06, 2014 10:55
by Excalibur Zero
RHR wrote:
Excalibur Zero wrote:Fireball:
http://i.imgur.com/qTpH4cN.png


Why is the water burning?
Wouldn't it be better to disable this?

The water isn't really burning, there is just fire in the air where the water was removed by the blast of the fireball. The fire is put out when the water actually reaches it.

PostPosted: Thu Feb 06, 2014 13:50
by CitroPotter
Nice mod but those things can be easily crafted so make the crafting harder and how about adding a tornadoe sword that would push mobs and other things.

PostPosted: Thu Feb 06, 2014 19:52
by Novacain
diamond block mese block diamond block
mese block torch mese block
diamond block mese block diamond block


how's this for a rarer recipe for fireball?

PostPosted: Thu Feb 06, 2014 21:02
by philipbenr
Novacain wrote:diamond block mese block diamond block
mese block torch mese block
diamond block mese block diamond block


how's this for a rarer recipe for fireball?


I think that is too rare.

PostPosted: Sat Feb 08, 2014 13:35
by LuxAtheris
is this mod compatible with the simple mobs now?

PostPosted: Sat Feb 08, 2014 16:41
by Excalibur Zero
CitroPotter wrote:Nice mod but those things can be easily crafted so make the crafting harder and how about adding a tornadoe sword that would push mobs and other things.
Novacain wrote:diamond block mese block diamond block
mese block torch mese block
diamond block mese block diamond block


how's this for a rarer recipe for fireball?
philipbenr wrote:
Novacain wrote:diamond block mese block diamond block
mese block torch mese block
diamond block mese block diamond block


how's this for a rarer recipe for fireball?


I think that is too rare.

If you can come up with a good recipe I'd be happy to change it to that in the mod.

LuxAtheris wrote:is this mod compatible with the simple mobs now?

It is not currently compatible with Simple Mobs. I'd like it to be, but I was unable to code it to do so.

If anyone could help me code it to work with simple mobs, please let me know, since this is something that would makes this mod much more useful.

PostPosted: Tue Feb 18, 2014 15:56
by Novacain
[spoiler=Compacted Quote]
Excalibur Zero wrote:
CitroPotter wrote:Nice mod but those things can be easily crafted so make the crafting harder and how about adding a tornadoe sword that would push mobs and other things.
Novacain wrote:diamond block mese block diamond block
mese block torch mese block
diamond block mese block diamond block


how's this for a rarer recipe for fireball?
philipbenr wrote:
Novacain wrote:diamond block mese block diamond block
mese block torch mese block
diamond block mese block diamond block


how's this for a rarer recipe for fireball?


I think that is too rare.

If you can come up with a good recipe I'd be happy to change it to that in the mod.

LuxAtheris wrote:is this mod compatible with the simple mobs now?

It is not currently compatible with Simple Mobs. I'd like it to be, but I was unable to code it to do so.

If anyone could help me code it to work with simple mobs, please let me know, since this is something that would makes this mod much more useful.
[/spoiler]

okay, two new recipes:
D=diamondblock, d=diamond crystal, D'= dirt
M=meseblock, mesecrystal
T=torch
S=stick
O=nothing

lightning sword:
O M O
O M O
O d O

fire ball:
m M m
M T M
m M m

ice ball:
m d m
d M d
m d m

smoke ball: perfect

earth staff:
m D' m
O S O
O S O


how's that? a little less rare? :P

Re: [Mod] Fireballs [3.3] [fireballs]

PostPosted: Sat Apr 26, 2014 07:35
by dgm5555
I decided to make a little mod to the mod and have the iceball create snow (which melts) on the ground as well as just freezing water and lava. This is based on version 3.3.
I also created a different mesh for the iceball (which still needs a bit of work to look really cool)
Just extract the zip into the fireball mod. Textures etc are included...

Image
Image
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
-- -- -- -- -- -- -- --
-- -- -- -- -- -- -- --
-- Iceball  -- -- -- --
-- -- -- -- -- -- -- --
-- -- -- -- -- -- -- --

local snow_box =
{
   type  = "fixed",
   fixed = {-0.5, -0.5, -0.5, 0.5, -0.4, 0.5}
}

-- Snow cover
minetest.register_node("fireballs:snow_cover", {
   tiles = {"weather_snow_cover.png"},
   drawtype = "nodebox",
   paramtype = "light",
   node_box = snow_box,
   selection_box = snow_box,
   groups = {not_in_creative_inventory = 1, crumbly = 3, attached_node = 1},
   drop = {}
})

minetest.register_abm({
   nodenames = {"fireballs:snow_cover"},
   interval = 1.0,
   chance = 20,
   action = function(pos, node, active_object_count, active_object_count_wider)
      minetest.env:set_node(pos, {name = "default:water_flowing"})
   end,
})

minetest.register_entity("fireballs:iceball", {
   visual = "mesh",
   visual_size = {x=5, y=5},
   mesh = "fireballs_iceball.b3d",
   textures = {"fireballs_iceball_texture1.png"},
   velocity = 5,
   light_source = 12,
   on_step = function(self, dtime)
         local pos = self.object:getpos()
         if minetest.env:get_node(self.object:getpos()).name ~= "air" then
            self.hit_node(self, pos, node)
            self.object:remove()
            return
         end
         pos.y = pos.y-1
      end,
   hit_node = function(self, pos, node)
      local p = {x=pos.x, y=pos.y, z=pos.z}
      local n = minetest.env:get_node(p).name
      if (n == "default:water_source")
      or (n == "default:water_flowing")
      or (n == "default:lava_source") then
      -- if it's water then freeze to light ice or if lava to stone
         for dx=-2,1 do
            for dy=-1,1 do
               for dz=-2,1 do
                  local p = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz}
                  local n = minetest.env:get_node(p).name

                  minetest.env:set_node(p, {name="fireballs:snow_cover"})
                  if (n == "default:water_source") then
                     minetest.env:set_node(p, {name="fireballs:lightice"})
                  end
                  if (n == "default:water_flowing") then
                     minetest.env:set_node(p, {name="fireballs:lightice"})
                  end
                  if (n == "default:lava_source") then
                     minetest.env:set_node(p, {name="default:stone"})
                  end
                  if (n == "default:lava_flowing") then
                     minetest.env:set_node(p, {name="default:stone"})
                  end
               end
            end
         end
      else
      -- if it's not water then coat in a layer of snow
         for dx=-2,1 do
            for dy=1,-1,-1 do
               for dz=-1,1 do
                  local p = {x=pos.x+dx, y=pos.y+dy, z=pos.z+dz}
   --               local p = {x=pos.x, y=pos.y+1, z=pos.z}
                  local n = minetest.env:get_node(p).name
                  local psub = {x=pos.x+dx, y=pos.y+dy-1, z=pos.z+dz}
                  local nsub = minetest.env:get_node(psub).name
                  if (n == "air")
                  and (not (nsub == "air")) then
                     minetest.env:add_node(p, {name="fireballs:snow_cover"})
                  end
               end
            end
         end
      end
   end
})

minetest.register_tool("fireballs:iceball", {
   description = "Iceball",
   inventory_image = "fireballs_iceball.png",
   on_use = function(itemstack, placer, pointed_thing)
         local dir = placer:get_look_dir();
         local playerpos = placer:getpos();
         local obj = minetest.env:add_entity({x=playerpos.x+0+dir.x,y=playerpos.y+2+dir.y,z=playerpos.z+0+dir.z}, "fireballs:iceball")
         local vec = {x=dir.x*4,y=dir.y*4,z=dir.z*4}
         obj:setvelocity(vec)
      return itemstack
   end,
   light_source = 12,
})


Re: [Mod] Fireballs [3.3] [fireballs]

PostPosted: Sat Apr 26, 2014 17:22
by Excalibur Zero
@dgm5555
That addition is quite interesting. Do you mind if I include it in the next release?

Re: [Mod] Fireballs [3.3] [fireballs]

PostPosted: Sun Apr 27, 2014 12:21
by dgm5555
Excalibur Zero wrote:@dgm5555
That addition is quite interesting. Do you mind if I include it in the next release?

Feel free. I was considering adding a tweak so snow wouldn't appear on hot things (eg fire/lava/etc), but probably won't get done as low on the list of priorities.

Re: [Mod] Fireballs [3.3] [fireballs]

PostPosted: Sun Apr 27, 2014 16:25
by Excalibur Zero
I have updated the mod to version 3.4. The new version alters the Iceball a bit and adds the Ultimate Weapon.

Re: [Mod] Fireballs [3.4] [fireballs]

PostPosted: Thu Oct 23, 2014 15:31
by Wuzzy
Holy shit. This mod is huge. This is the largest Minetest mod (in file size) I ever encountered, it’s over 4 MiB!
I saw that the images are very large, I guess such huge images are not really needed.
Especially the inventory images are absurdly large.

Could you please try to keep the overall file size of this mod small?