Add files via upload
commit
d4ddbf7f57
|
@ -0,0 +1,3 @@
|
||||||
|
# Acid for Minetest
|
||||||
|
A mod that adds an acid liquid to the game. It hurts when inside and it's craftable.
|
||||||
|
by SevenRichieWhite
|
|
@ -0,0 +1,3 @@
|
||||||
|
default
|
||||||
|
technic_worldgen
|
||||||
|
|
|
@ -0,0 +1,125 @@
|
||||||
|
acid = {}
|
||||||
|
acid.immediately = {}
|
||||||
|
acid.never = {}
|
||||||
|
|
||||||
|
-- Acid
|
||||||
|
minetest.register_node("acid:flowing", {
|
||||||
|
description = "Acid flowing",
|
||||||
|
inventory_image = minetest.inventorycube("acid_source.png"),
|
||||||
|
drawtype = "flowingliquid",
|
||||||
|
tiles = {"acid_source.png"},
|
||||||
|
special_tiles = {
|
||||||
|
{
|
||||||
|
image="acid_flowing_animated.png",
|
||||||
|
backface_culling=false,
|
||||||
|
animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.3}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
image="acid_flowing_animated.png",
|
||||||
|
backface_culling=true,
|
||||||
|
animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.3}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
use_texture_alpha = true,
|
||||||
|
paramtype = "light",
|
||||||
|
light_source = 3,
|
||||||
|
walkable = false,
|
||||||
|
pointable = false,
|
||||||
|
diggable = false,
|
||||||
|
buildable_to = true,
|
||||||
|
drop = "",
|
||||||
|
liquidtype = "flowing",
|
||||||
|
liquid_alternative_flowing = "acid:flowing",
|
||||||
|
liquid_alternative_source = "acid:source",
|
||||||
|
liquid_viscosity = 6,
|
||||||
|
liquid_renewable = false,
|
||||||
|
damage_per_second = 1,
|
||||||
|
post_effect_color = {a=200, r=255, g=255, b=0},
|
||||||
|
groups = {liquid=2, not_in_creative_inventory=1, acid=1},
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_node("acid:source", {
|
||||||
|
description = "Acid source",
|
||||||
|
drawtype = "liquid",
|
||||||
|
drop = "acid:source",
|
||||||
|
tiles = {
|
||||||
|
{name="acid_source_animated.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.0}}
|
||||||
|
},
|
||||||
|
special_tiles = {
|
||||||
|
{
|
||||||
|
name="acid_source_animated.png",
|
||||||
|
animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.0},
|
||||||
|
backface_culling = false,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
use_texture_alpha = true,
|
||||||
|
paramtype = "light",
|
||||||
|
light_source = 3,
|
||||||
|
walkable = false,
|
||||||
|
pointable = true,
|
||||||
|
diggable = false,
|
||||||
|
damage_per_second = 7*2,
|
||||||
|
buildable_to = true,
|
||||||
|
liquidtype = "source",
|
||||||
|
liquid_alternative_flowing = "acid:flowing",
|
||||||
|
liquid_alternative_source = "acid:source",
|
||||||
|
liquid_viscosity = 6,
|
||||||
|
liquid_renewable = false,
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Acid stopped by water
|
||||||
|
minetest.register_abm({
|
||||||
|
nodenames = {"group:acid","acid:source"},
|
||||||
|
neighbors = {"group:water"},
|
||||||
|
interval = 3,
|
||||||
|
chance = 1,
|
||||||
|
action = function(pos)
|
||||||
|
minetest.remove_node(pos)
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Receipe
|
||||||
|
minetest.register_craft({
|
||||||
|
output = 'acid:source',
|
||||||
|
recipe = {
|
||||||
|
{'default:diamond', 'technic:uranium_ingot', 'default:diamond'},
|
||||||
|
{'technic:uranium_ingot', 'bucket:bucket_water', 'technic:uranium_ingot'},
|
||||||
|
{'default:diamond', 'technic:uranium_ingot', 'default:diamond'},
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Register functions
|
||||||
|
acid.register_immediate = function(itemstring)
|
||||||
|
table.insert(acid.immediately,1,itemstring)
|
||||||
|
end
|
||||||
|
|
||||||
|
acid.found_in_table = function(tablet, itemstring)
|
||||||
|
local i = false
|
||||||
|
for k,v in ipairs(tablet) do
|
||||||
|
if v == itemstring then
|
||||||
|
i = true
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return i
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Registrations
|
||||||
|
acid.register_immediate("group:flowers")
|
||||||
|
acid.register_immediate("group:plant")
|
||||||
|
acid.register_immediate("group:sapling")
|
||||||
|
acid.register_immediate("group:leaves")
|
||||||
|
acid.register_immediate("group:flora")
|
||||||
|
|
||||||
|
-- ABM
|
||||||
|
minetest.register_abm({
|
||||||
|
nodenames = acid.immediately,
|
||||||
|
neighbors = {"group:acid"},
|
||||||
|
interval = 1,
|
||||||
|
chance = 1,
|
||||||
|
action = function(pos)
|
||||||
|
if not acid.found_in_table(acid.never,minetest.get_node(pos).name) then
|
||||||
|
minetest.remove_node(pos)
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
})
|
Loading…
Reference in New Issue