Compare commits
3 Commits
034489359d
...
bad55d19a0
Author | SHA1 | Date | |
---|---|---|---|
bad55d19a0 | |||
dec116cc5e | |||
15640770f3 |
@@ -1,4 +1,8 @@
|
||||
# portalgun
|
||||
original repo:https://github.com/AiTechEye/portalgun
|
||||
Licenses: code: LGPL-2.1, media: CC BY-SA-4.0
|
||||
For changes check git or compare to original repo
|
||||
Remixed by: BRNSystems
|
||||
|
||||
https://forum.minetest.net/viewtopic.php?f=11&t=12772
|
||||
|
||||
|
285
craft.lua
@@ -1,285 +0,0 @@
|
||||
minetest.register_craft({
|
||||
output = "portalgun:gun1_placed",
|
||||
recipe = {{"portalgun:gun1"}}})
|
||||
minetest.register_craft({
|
||||
output = "portalgun:gun2_placed",
|
||||
recipe = {{"portalgun:gun2"}}})
|
||||
minetest.register_craft({
|
||||
output = "portalgun:gun_placed",
|
||||
recipe = {{"portalgun:gun"}}})
|
||||
|
||||
|
||||
minetest.register_craft({
|
||||
output = "portalgun:turretgun",
|
||||
recipe = {
|
||||
{"", "portalgun:secam_off", ""},
|
||||
{"", "default:mese_crystal",""},
|
||||
{"default:steel_ingot", "dye:white", "default:steel_ingot"},
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
minetest.register_craft({
|
||||
output = "portalgun:cplps1",
|
||||
recipe = {{"default:mese_crystal_fragment","dye:grey","dye:grey"},
|
||||
{"portalgun:apb","dye:grey","dye:grey"},
|
||||
{"default:mese_crystal_fragment","dye:grey","dye:grey"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "portalgun:sign_numa1 3",
|
||||
recipe = {{"dye:black","dye:black","dye:white"},
|
||||
{"portalgun:testblock","dye:black","dye:white"},
|
||||
{"dye:white","dye:black","dye:white"},
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
|
||||
minetest.register_craft({
|
||||
output = "portalgun:sign_x 2",
|
||||
recipe = {{"dye:blue","portalgun:testblock","dye:blue"},
|
||||
{"default:glass","dye:blue","default:glass"},
|
||||
{"dye:blue","default:mese_crystal_fragment","dye:blue"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "portalgun:warntape 3",
|
||||
recipe = {{"dye:black","dye:yellow","dye:black"},
|
||||
{"default:stick","default:stick","default:stick"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "portalgun:door_1",
|
||||
recipe = {{"","portalgun:testblock","portalgun:testblock"},
|
||||
{"","portalgun:testblock","portalgun:testblock"},
|
||||
{"default:mese_crystal_fragment","portalgun:testblock","portalgun:testblock"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "portalgun:toxwater_1 9",
|
||||
recipe = {{"default:dirt","default:dirt","default:dirt"},
|
||||
{"default:dirt","bucket:bucket_lava","default:dirt"},
|
||||
{"default:dirt","default:dirt","default:dirt"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "portalgun:portaltarget_1",
|
||||
recipe = {{"","portalgun:testblock",""},
|
||||
{"default:mese_crystal_fragment","dye:blue","default:mese_crystal_fragment"},
|
||||
}
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = "portalgun:portaltarget_2",
|
||||
recipe = {{"","portalgun:testblock",""},
|
||||
{"default:mese_crystal_fragment","dye:orange","default:mese_crystal_fragment"},
|
||||
}
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = "portalgun:sign2",
|
||||
recipe = {{"","portalgun:testblock",""},
|
||||
{"dye:white","dye:black","dye:orange"},
|
||||
}
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = "portalgun:sign1",
|
||||
recipe = {{"","portalgun:testblock",""},
|
||||
{"dye:white","dye:black","dye:blue"},
|
||||
}
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = "portalgun:planthole",
|
||||
recipe = {
|
||||
{"portalgun:testblock", "portalgun:testblock", "portalgun:testblock"},
|
||||
{"portalgun:testblock", "portalgun:plantform1_1", "portalgun:testblock"},
|
||||
{"portalgun:testblock", "portalgun:testblock", "portalgun:testblock"}
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "portalgun:delayer",
|
||||
recipe = {
|
||||
{"dye:yellow", "default:mese_crystal", "dye:yellow"},
|
||||
{"default:stone", "portalgun:testblock", "default:stone"},
|
||||
{"dye:yellow", "default:steel_ingot", "dye:yellow"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "portalgun:testblocks 2",
|
||||
recipe = {
|
||||
{"portalgun:testblock", "default:mese_crystal"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "portalgun:hard_glass",
|
||||
recipe = {
|
||||
{"default:glass", "default:glass"},
|
||||
{"default:glass", "default:glass"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "portalgun:apg",
|
||||
recipe = {
|
||||
{"default:glass", "dye:white"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "portalgun:powerballspawner2",
|
||||
recipe = {
|
||||
{"portalgun:powerballspawner", "default:mese_crystal"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "portalgun:objdestroyer_1",
|
||||
recipe = {
|
||||
{"default:obsidian_glass", "default:obsidian_glass", "portalgun:dmgblock_1"},
|
||||
{"default:obsidian_glass", "default:obsidian_glass", ""},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "portalgun:dmgblock_1",
|
||||
recipe = {
|
||||
{"default:obsidian_glass", "default:obsidian_glass", "default:mese_crystal"},
|
||||
{"default:obsidian_glass", "default:obsidian_glass", ""},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "portalgun:button",
|
||||
recipe = {
|
||||
{"", "dye:red", ""},
|
||||
{"", "portalgun:testblock", ""},
|
||||
{"", "portalgun:testblock", ""},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "portalgun:cake",
|
||||
recipe = {
|
||||
{"dye:red", "portalgun:testblock", "dye:red"},
|
||||
{"default:dirt", "default:torch", "default:dirt"},
|
||||
{"dye:red", "default:dirt", "dye:red"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "portalgun:powerdoor1_1",
|
||||
recipe = {
|
||||
{"default:obsidian_glass", "default:mese_crystal", "default:obsidian_glass"},
|
||||
{"default:obsidian_glass", "default:obsidian", "default:obsidian_glass"},
|
||||
{"default:obsidian_glass", "default:mese_crystal", "default:obsidian_glass"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "portalgun:autocheckpoint",
|
||||
recipe = {
|
||||
{"default:mese_crystal", "default:mese_crystal","default:mese_crystal"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "portalgun:testblock 3",
|
||||
recipe = {
|
||||
{"default:steel_ingot", "default:steel_ingot"},
|
||||
{"default:steel_ingot", "dye:white"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "portalgun:apb",
|
||||
recipe = {
|
||||
{"default:stonebrick", "dye:white"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "portalgun:secam_off",
|
||||
recipe = {
|
||||
{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"},
|
||||
{"dye:black", "default:glass", "dye:black"},
|
||||
{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "portalgun:powerballspawner",
|
||||
recipe = {
|
||||
{"default:steel_ingot", "", "default:steel_ingot"},
|
||||
{"dye:yellow", "default:mese_crystal", "dye:yellow"},
|
||||
{"default:steel_ingot", "", "default:steel_ingot"},
|
||||
}
|
||||
})
|
||||
minetest.register_craft({
|
||||
output = "portalgun:powerballtarget",
|
||||
recipe = {
|
||||
{"portalgun:powerballspawner"},
|
||||
}
|
||||
})
|
||||
|
||||
minetest.register_craft({output = "portalgun:wscspawner2",
|
||||
recipe = {{"portalgun:wscspawner1"}}})
|
||||
minetest.register_craft({output = "portalgun:wscspawner3",
|
||||
recipe = {{"portalgun:wscspawner2"}}})
|
||||
minetest.register_craft({output = "portalgun:wscspawner4",
|
||||
recipe = {{"portalgun:wscspawner3"}}})
|
||||
minetest.register_craft({output = "portalgun:wscspawner1",
|
||||
recipe = {{"portalgun:wscspawner4"}}})
|
||||
minetest.register_craft({
|
||||
output = "portalgun:wscspawner1",
|
||||
recipe = {
|
||||
{"", "default:steel_ingot", ""},
|
||||
{"default:steel_ingot", "default:mese_crystal", "default:steel_ingot"},
|
||||
{"", "default:steel_ingot", ""},}})
|
||||
|
||||
minetest.register_craft({output = "portalgun:wscspawner2_2",
|
||||
recipe = {{"portalgun:wscspawner2_1"}}})
|
||||
minetest.register_craft({output = "portalgun:wscspawner2_3",
|
||||
recipe = {{"portalgun:wscspawner2_2"}}})
|
||||
minetest.register_craft({output = "portalgun:wscspawner2_4",
|
||||
recipe = {{"portalgun:wscspawner2_3"}}})
|
||||
minetest.register_craft({output = "portalgun:wscspawner2_1",
|
||||
recipe = {{"portalgun:wscspawner2_4"}}})
|
||||
minetest.register_craft({
|
||||
output = "portalgun:wscspawner2_1",
|
||||
recipe = {
|
||||
{"", "default:steel_ingot", "default:steel_ingot"},
|
||||
{"default:steel_ingot", "default:mese_crystal", "default:steel_ingot"},
|
||||
{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"},}})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "portalgun:plantform1_1",
|
||||
recipe = {
|
||||
{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"},
|
||||
{"default:steel_ingot", "default:mese_crystal", "default:steel_ingot"},
|
||||
{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"},}})
|
||||
minetest.register_craft({output = "portalgun:plantform1_2",
|
||||
recipe = {{"portalgun:plantform1_1"}}})
|
||||
minetest.register_craft({output = "portalgun:plantform1_3",
|
||||
recipe = {{"portalgun:plantform1_2"}}})
|
||||
minetest.register_craft({output = "portalgun:plantform1_4",
|
||||
recipe = {{"portalgun:plantform1_3"}}})
|
||||
minetest.register_craft({output = "portalgun:plantform_nu1",
|
||||
recipe = {{"portalgun:plantform1_4"}}})
|
||||
minetest.register_craft({output = "portalgun:plantform1_1",
|
||||
recipe = {{"portalgun:plantform_nu1"}}})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "portalgun:gun",
|
||||
recipe = {
|
||||
{"", "default:diamond", ""},
|
||||
{"default:diamond", "default:mese", "default:mese"},
|
||||
{"", "default:steel_ingot", "default:steel_ingot"},
|
||||
},
|
||||
})
|
BIN
craft2.JPG
Before Width: | Height: | Size: 273 KiB |
@@ -42,7 +42,7 @@ minetest.register_entity("portalgun:power",{
|
||||
spritediv = {x=1, y=1},
|
||||
is_visible = true,
|
||||
makes_footstep_sound = false,
|
||||
automatic_rotate = false,
|
||||
automatic_rotate = 0,
|
||||
timer=0,
|
||||
time=0.1,
|
||||
portalgun_power=1,
|
||||
@@ -62,7 +62,6 @@ on_punch=function(self, puncher, time_from_last_punch, tool_capabilities, dir)
|
||||
if self.target and self.target:get_attach() then
|
||||
self.target:set_detach()
|
||||
self.target:set_hp(0)
|
||||
self.target:punch(self.object, {full_punch_interval=1.0,damage_groups={fleshy=4}}, "default:bronze_pick", nil)
|
||||
end
|
||||
|
||||
end,
|
||||
@@ -72,7 +71,6 @@ on_step= function(self, dtime)
|
||||
self.timer=0
|
||||
if self.target==nil or (not self.target:get_attach()) then
|
||||
self.object:set_hp(0)
|
||||
self.object:punch(self.object, {full_punch_interval=1.0,damage_groups={fleshy=4}}, "default:bronze_pick", nil)
|
||||
if self.sound then minetest.sound_stop(self.sound) end
|
||||
end
|
||||
if self.player then
|
||||
@@ -106,7 +104,7 @@ minetest.register_entity("portalgun:power2",{
|
||||
spritediv = {x=1, y=1},
|
||||
is_visible = true,
|
||||
makes_footstep_sound = false,
|
||||
automatic_rotate = false,
|
||||
automatic_rotate = 0,
|
||||
timer=0,
|
||||
time=0.025,
|
||||
portalgun_power=1,
|
||||
@@ -152,7 +150,6 @@ on_step= function(self, dtime)
|
||||
|
||||
if self.target==nil or (not self.target:get_attach()) then
|
||||
self.object:set_hp(0)
|
||||
self.object:punch(self.object, {full_punch_interval=1.0,damage_groups={fleshy=4}}, "default:bronze_pick", nil)
|
||||
return self
|
||||
end
|
||||
return self
|
||||
|
230
init.lua
@@ -4,7 +4,6 @@ proportal_group_only = false
|
||||
|
||||
portalgun={new=0,checkpoints={}}
|
||||
dofile(minetest.get_modpath("portalgun") .. "/gravityuse.lua") -- the gravity part of portalgun
|
||||
dofile(minetest.get_modpath("portalgun") .. "/craft.lua")
|
||||
dofile(minetest.get_modpath("portalgun") .. "/stuff.lua") -- security cam
|
||||
if disable_portal_stuff==false and minetest.get_modpath("mesecons")~=nil then
|
||||
dofile(minetest.get_modpath("portalgun") .. "/weightedstoragecube.lua") -- weighted storage cube
|
||||
@@ -58,7 +57,6 @@ function portal_delete(name,n) -- using set_hp & :punch instand of :remove ... n
|
||||
end
|
||||
portalgun_portal[name].portal1_active=false
|
||||
portalgun_portal[name].portal1:set_hp(0)
|
||||
portalgun_portal[name].portal1:punch(portalgun_portal[name].portal1, {full_punch_interval=1.0,damage_groups={fleshy=9000}}, "default:bronze_pick", nil)
|
||||
end
|
||||
if (n==2 or n==0) and portalgun_portal[name].portal2~=nil then
|
||||
if n==0 then
|
||||
@@ -67,7 +65,6 @@ function portal_delete(name,n) -- using set_hp & :punch instand of :remove ... n
|
||||
end
|
||||
portalgun_portal[name].portal2_active=false
|
||||
portalgun_portal[name].portal2:set_hp(0)
|
||||
portalgun_portal[name].portal2:punch(portalgun_portal[name].portal2, {full_punch_interval=1.0,damage_groups={fleshy=9000}}, "default:bronze_pick", nil)
|
||||
end
|
||||
if n==0 then portalgun_portal[name]=nil end
|
||||
end
|
||||
@@ -340,157 +337,85 @@ on_activate= function(self, staticdata)
|
||||
end,
|
||||
on_step=portalgun_on_step,
|
||||
})
|
||||
|
||||
|
||||
minetest.register_node("portalgun:gun1", {
|
||||
description = "Portalgun (blue)",
|
||||
range = 5,
|
||||
tiles={"portalgun_gun1.png"},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.3, -0.5, -0.3, 0.3, -0.1,0.3},
|
||||
}
|
||||
},
|
||||
drawtype="mesh",
|
||||
mesh="portalgun_gun_wearing.obj",
|
||||
groups = {not_in_creative_inventory=1},
|
||||
sunlight_propagates = true,
|
||||
paramtype="light",
|
||||
paramtype2="facedir",
|
||||
on_place=function(itemstack, user, pointed_thing)
|
||||
portalgun_mode(itemstack, user, pointed_thing)
|
||||
return itemstack
|
||||
end,
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
portalgun_onuse(itemstack, user, pointed_thing)
|
||||
return itemstack
|
||||
end
|
||||
})
|
||||
minetest.register_node("portalgun:gun2", {
|
||||
description = "Portalgun (orange)",
|
||||
range = 5,
|
||||
tiles={"portalgun_gun2.png"},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.3, -0.5, -0.3, 0.3, -0.1,0.3},
|
||||
}
|
||||
},
|
||||
drawtype="mesh",
|
||||
mesh="portalgun_gun_wearing.obj",
|
||||
groups = {not_in_creative_inventory=1},
|
||||
sunlight_propagates = true,
|
||||
paramtype="light",
|
||||
paramtype2="facedir",
|
||||
on_place=function(itemstack, user, pointed_thing)
|
||||
portalgun_mode(itemstack, user, pointed_thing)
|
||||
return itemstack
|
||||
end,
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
portalgun_onuse(itemstack, user, pointed_thing)
|
||||
return itemstack
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_node("portalgun:gun", {
|
||||
minetest.register_craftitem("portalgun:gun", {
|
||||
description = "Portalgun",
|
||||
range = 5,
|
||||
tiles={"portalgun_gun0.png"},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.3, -0.5, -0.3, 0.3, -0.1,0.3},
|
||||
}
|
||||
range = 100,
|
||||
inventory_image = "portalgun_gun0_rndr.png",
|
||||
wield_image = "portalgun_gun0_rndr.png",
|
||||
tool_capabilities = {
|
||||
full_punch_interval = 0.5,
|
||||
max_drop_level = 3,
|
||||
groupcaps = {
|
||||
fleshy = {times={[2]=0.80, [3]=0.40}, uses=100, maxlevel=3},
|
||||
oddly_breakable_by_hand = {times={[1]=1}, uses=100, maxlevel=1},
|
||||
},
|
||||
damage_groups = {fleshy=1},
|
||||
},
|
||||
drawtype="mesh",
|
||||
mesh="portalgun_gun_wearing.obj",
|
||||
sunlight_propagates = true,
|
||||
paramtype="light",
|
||||
paramtype2="facedir",
|
||||
on_place=function(itemstack, user, pointed_thing)
|
||||
portalgun_mode(itemstack, user, pointed_thing)
|
||||
on_place=function(itemstack, user, pointed_thing)
|
||||
portalgun_setmode(itemstack, user, pointed_thing, 2)
|
||||
portalgun_onuse(itemstack, user, pointed_thing)
|
||||
return itemstack
|
||||
end,
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
portalgun_setmode(itemstack, user, pointed_thing, 1)
|
||||
portalgun_onuse(itemstack, user, pointed_thing)
|
||||
return itemstack
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_craftitem("portalgun:gun1", {
|
||||
description = "Portalgun (blue)",
|
||||
range = 100,
|
||||
groups = {not_in_creative_inventory=1},
|
||||
inventory_image = "portalgun_gun1_rndr.png",
|
||||
wield_image = "portalgun_gun1_rndr.png",
|
||||
tool_capabilities = {
|
||||
full_punch_interval = 0.5,
|
||||
max_drop_level = 3,
|
||||
groupcaps = {
|
||||
fleshy = {times={[2]=0.80, [3]=0.40}, uses=100, maxlevel=3},
|
||||
oddly_breakable_by_hand = {times={[1]=1}, uses=100, maxlevel=1},
|
||||
},
|
||||
damage_groups = {fleshy=1},
|
||||
},
|
||||
on_place=function(itemstack, user, pointed_thing)
|
||||
portalgun_setmode(itemstack, user, pointed_thing, 2)
|
||||
portalgun_onuse(itemstack, user, pointed_thing)
|
||||
return itemstack
|
||||
end,
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
portalgun_setmode(itemstack, user, pointed_thing, 1)
|
||||
portalgun_onuse(itemstack, user, pointed_thing)
|
||||
return itemstack
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_node("portalgun:gun1_placed", {
|
||||
description = "Portalgun (blue)",
|
||||
range = 5,
|
||||
tiles={"portalgun_gun1.png"},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.3, -0.5, -0.3, 0.3, -0.1,0.3},
|
||||
}
|
||||
},
|
||||
drawtype="mesh",
|
||||
mesh="portalgun_gun.obj",
|
||||
sunlight_propagates = true,
|
||||
paramtype="light",
|
||||
paramtype2="facedir",
|
||||
visual_scale=0.4,
|
||||
groups = {not_in_creative_inventory=1,dig_immediate = 3},
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
portalgun_onuse(itemstack, user, pointed_thing)
|
||||
return itemstack
|
||||
end
|
||||
})
|
||||
minetest.register_node("portalgun:gun2_placed", {
|
||||
minetest.register_craftitem("portalgun:gun2", {
|
||||
description = "Portalgun (orange)",
|
||||
range = 5,
|
||||
tiles={"portalgun_gun2.png"},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.3, -0.5, -0.3, 0.3, -0.1,0.3},
|
||||
}
|
||||
range = 100,
|
||||
inventory_image = "portalgun_gun2_rndr.png",
|
||||
wield_image = "portalgun_gun2_rndr.png",
|
||||
tool_capabilities = {
|
||||
full_punch_interval = 0.5,
|
||||
max_drop_level = 3,
|
||||
groupcaps = {
|
||||
fleshy = {times={[2]=0.80, [3]=0.40}, uses=100, maxlevel=3},
|
||||
oddly_breakable_by_hand = {times={[1]=1}, uses=100, maxlevel=1},
|
||||
},
|
||||
damage_groups = {fleshy=1},
|
||||
},
|
||||
drawtype="mesh",
|
||||
mesh="portalgun_gun.obj",
|
||||
sunlight_propagates = true,
|
||||
paramtype="light",
|
||||
paramtype2="facedir",
|
||||
visual_scale=0.4,
|
||||
groups = {not_in_creative_inventory=1,dig_immediate = 3},
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
portalgun_onuse(itemstack, user, pointed_thing)
|
||||
return itemstack
|
||||
end
|
||||
groups = {not_in_creative_inventory=1},
|
||||
on_place=function(itemstack, user, pointed_thing)
|
||||
portalgun_setmode(itemstack, user, pointed_thing, 2)
|
||||
portalgun_onuse(itemstack, user, pointed_thing)
|
||||
return itemstack
|
||||
end,
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
portalgun_setmode(itemstack, user, pointed_thing, 1)
|
||||
portalgun_onuse(itemstack, user, pointed_thing)
|
||||
return itemstack
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_node("portalgun:gun_placed", {
|
||||
description = "Portalgun",
|
||||
range = 5,
|
||||
tiles={"portalgun_gun0.png"},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.3, -0.5, -0.3, 0.3, -0.1,0.3},
|
||||
}
|
||||
},
|
||||
drawtype="mesh",
|
||||
mesh="portalgun_gun.obj",
|
||||
sunlight_propagates = true,
|
||||
paramtype="light",
|
||||
paramtype2="facedir",
|
||||
visual_scale=0.4,
|
||||
groups = {not_in_creative_inventory=1,dig_immediate = 3},
|
||||
on_use = function(itemstack, user, pointed_thing)
|
||||
portalgun_onuse(itemstack, user, pointed_thing)
|
||||
return itemstack
|
||||
end
|
||||
})
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
function portalgun_mode(itemstack, user, pointed_thing) -- change modes
|
||||
local item=itemstack:to_table()
|
||||
local meta=minetest.deserialize(item["metadata"])
|
||||
@@ -516,6 +441,23 @@ function portalgun_mode(itemstack, user, pointed_thing) -- change modes
|
||||
minetest.sound_play("portalgun_mode", {pos=user:get_pos(),max_hear_distance = 5, gain = 1})
|
||||
end
|
||||
|
||||
function portalgun_setmode(itemstack, user, pointed_thing, mode) -- change modes
|
||||
local item=itemstack:to_table()
|
||||
local meta=minetest.deserialize(item["metadata"])
|
||||
if meta==nil then
|
||||
meta={}
|
||||
mode=1
|
||||
minetest.chat_send_player(user:get_player_name(), "<Portalgun> PLACE to change portal mode (or LEFT+RIGHTCLICK to use the other)")
|
||||
minetest.chat_send_player(user:get_player_name(), "<Portalgun> LEFTCLICK on an object to carry it, CLICK AGAIN to release")
|
||||
minetest.chat_send_player(user:get_player_name(), "<Portalgun> SHIFT+LEFTCLICK to close both portals (or wait 40sec until it removes it self)")
|
||||
end
|
||||
if meta.mode==nil then meta.mode=2 end
|
||||
meta.mode=mode
|
||||
item.name="portalgun:gun"..mode
|
||||
item.metadata=minetest.serialize(meta)
|
||||
itemstack:replace(item)
|
||||
minetest.sound_play("portalgun_mode", {pos=user:get_pos(),max_hear_distance = 5, gain = 1})
|
||||
end
|
||||
|
||||
local function rnd(r)
|
||||
return math.floor(r+ 0.5)
|
||||
@@ -558,12 +500,6 @@ function portalgun_onuse(itemstack, user, pointed_thing) -- using the gun
|
||||
portalgun_portal[name]={lifelime=portalgun_lifelime,project=1,timer=0,portal1_active=false,portal2_active=false,portal1_use=0,portal2_use=0}
|
||||
end
|
||||
|
||||
if key.RMB and mode==2 then -- hold rmbutton to use the other one (like diplazer)
|
||||
mode=1
|
||||
elseif key.RMB and mode==1 then
|
||||
mode=2
|
||||
end
|
||||
|
||||
if key.sneak then
|
||||
portal_delete(name,0)
|
||||
return itemstack
|
||||
|
1
mod.conf
@@ -1,4 +1,3 @@
|
||||
name = portalgun
|
||||
description = Portals and stuff
|
||||
depends = default
|
||||
optional_depends = mesecons
|
BIN
models/bullet.blend
Normal file
BIN
models/bullet.blend1
Normal file
628
models/bullet.obj
Normal file
@@ -0,0 +1,628 @@
|
||||
# Blender v3.1.2 OBJ File: 'bullet.blend'
|
||||
# www.blender.org
|
||||
mtllib bullet.mtl
|
||||
o Cylinder
|
||||
v -0.000000 -0.285469 -0.048214
|
||||
v 0.009406 -0.285469 -0.047288
|
||||
v 0.018451 -0.285469 -0.044544
|
||||
v 0.026786 -0.285469 -0.040089
|
||||
v 0.034093 -0.285469 -0.034093
|
||||
v 0.040089 -0.285469 -0.026786
|
||||
v 0.044544 -0.285469 -0.018451
|
||||
v 0.047288 -0.285469 -0.009406
|
||||
v 0.048214 -0.285469 0.000000
|
||||
v 0.047288 -0.285469 0.009406
|
||||
v 0.044544 -0.285469 0.018451
|
||||
v 0.040089 -0.285469 0.026786
|
||||
v 0.034093 -0.285469 0.034093
|
||||
v 0.026786 -0.285469 0.040089
|
||||
v 0.018451 -0.285469 0.044544
|
||||
v 0.009406 -0.285469 0.047288
|
||||
v -0.000000 -0.285469 0.048214
|
||||
v -0.009406 -0.285469 0.047288
|
||||
v -0.018451 -0.285469 0.044544
|
||||
v -0.026786 -0.285469 0.040089
|
||||
v -0.034093 -0.285469 0.034093
|
||||
v -0.040089 -0.285469 0.026786
|
||||
v -0.044544 -0.285469 0.018451
|
||||
v -0.047288 -0.285469 0.009406
|
||||
v -0.048214 -0.285469 -0.000000
|
||||
v -0.047288 -0.285469 -0.009406
|
||||
v -0.044544 -0.285469 -0.018451
|
||||
v -0.040089 -0.285469 -0.026786
|
||||
v -0.034093 -0.285469 -0.034093
|
||||
v -0.026786 -0.285469 -0.040089
|
||||
v -0.018451 -0.285469 -0.044544
|
||||
v -0.009406 -0.285469 -0.047288
|
||||
v 0.000000 0.202230 0.000000
|
||||
v -0.000000 0.083239 -0.048214
|
||||
v 0.009406 0.083239 -0.047288
|
||||
v 0.018451 0.083239 -0.044544
|
||||
v 0.026786 0.083239 -0.040089
|
||||
v 0.034093 0.083239 -0.034093
|
||||
v 0.040089 0.083239 -0.026786
|
||||
v 0.044544 0.083239 -0.018451
|
||||
v 0.047288 0.083239 -0.009406
|
||||
v 0.048214 0.083239 0.000000
|
||||
v 0.047288 0.083239 0.009406
|
||||
v 0.044544 0.083239 0.018451
|
||||
v 0.040089 0.083239 0.026786
|
||||
v 0.034093 0.083239 0.034093
|
||||
v 0.026786 0.083239 0.040089
|
||||
v 0.018451 0.083239 0.044544
|
||||
v 0.009406 0.083239 0.047288
|
||||
v -0.000000 0.083239 0.048214
|
||||
v -0.009406 0.083239 0.047288
|
||||
v -0.018451 0.083239 0.044544
|
||||
v -0.026786 0.083239 0.040089
|
||||
v -0.034093 0.083239 0.034093
|
||||
v -0.040089 0.083239 0.026786
|
||||
v -0.044544 0.083239 0.018451
|
||||
v -0.047288 0.083239 0.009406
|
||||
v -0.048214 0.083239 -0.000000
|
||||
v -0.047288 0.083239 -0.009406
|
||||
v -0.044544 0.083239 -0.018451
|
||||
v -0.040089 0.083239 -0.026786
|
||||
v -0.034093 0.083239 -0.034093
|
||||
v -0.026786 0.083239 -0.040089
|
||||
v -0.018451 0.083239 -0.044544
|
||||
v -0.009406 0.083239 -0.047288
|
||||
v -0.000000 -0.285469 -0.048214
|
||||
v 0.009406 -0.285469 -0.047288
|
||||
v 0.018451 -0.285469 -0.044544
|
||||
v 0.026786 -0.285469 -0.040089
|
||||
v 0.034093 -0.285469 -0.034093
|
||||
v 0.040089 -0.285469 -0.026786
|
||||
v 0.044544 -0.285469 -0.018451
|
||||
v 0.047288 -0.285469 -0.009406
|
||||
v 0.048214 -0.285469 0.000000
|
||||
v 0.047288 -0.285469 0.009406
|
||||
v 0.044544 -0.285469 0.018451
|
||||
v 0.040089 -0.285469 0.026786
|
||||
v 0.034093 -0.285469 0.034093
|
||||
v 0.026786 -0.285469 0.040089
|
||||
v 0.018451 -0.285469 0.044544
|
||||
v 0.009406 -0.285469 0.047288
|
||||
v -0.000000 -0.285469 0.048214
|
||||
v -0.009406 -0.285469 0.047288
|
||||
v -0.018451 -0.285469 0.044544
|
||||
v -0.026786 -0.285469 0.040089
|
||||
v -0.034093 -0.285469 0.034093
|
||||
v -0.040089 -0.285469 0.026786
|
||||
v -0.044544 -0.285469 0.018451
|
||||
v -0.047288 -0.285469 0.009406
|
||||
v -0.048214 -0.285469 -0.000000
|
||||
v -0.047288 -0.285469 -0.009406
|
||||
v -0.044544 -0.285469 -0.018451
|
||||
v -0.040089 -0.285469 -0.026786
|
||||
v -0.034093 -0.285469 -0.034093
|
||||
v -0.026786 -0.285469 -0.040089
|
||||
v -0.018451 -0.285469 -0.044544
|
||||
v -0.009406 -0.285469 -0.047288
|
||||
v 0.000000 0.202230 0.000000
|
||||
v -0.000000 0.083239 -0.048214
|
||||
v 0.009406 0.083239 -0.047288
|
||||
v 0.018451 0.083239 -0.044544
|
||||
v 0.026786 0.083239 -0.040089
|
||||
v 0.034093 0.083239 -0.034093
|
||||
v 0.040089 0.083239 -0.026786
|
||||
v 0.044544 0.083239 -0.018451
|
||||
v 0.047288 0.083239 -0.009406
|
||||
v 0.048214 0.083239 0.000000
|
||||
v 0.047288 0.083239 0.009406
|
||||
v 0.044544 0.083239 0.018451
|
||||
v 0.040089 0.083239 0.026786
|
||||
v 0.034093 0.083239 0.034093
|
||||
v 0.026786 0.083239 0.040089
|
||||
v 0.018451 0.083239 0.044544
|
||||
v 0.009406 0.083239 0.047288
|
||||
v -0.000000 0.083239 0.048214
|
||||
v -0.009406 0.083239 0.047288
|
||||
v -0.018451 0.083239 0.044544
|
||||
v -0.026786 0.083239 0.040089
|
||||
v -0.034093 0.083239 0.034093
|
||||
v -0.040089 0.083239 0.026786
|
||||
v -0.044544 0.083239 0.018451
|
||||
v -0.047288 0.083239 0.009406
|
||||
v -0.048214 0.083239 -0.000000
|
||||
v -0.047288 0.083239 -0.009406
|
||||
v -0.044544 0.083239 -0.018451
|
||||
v -0.040089 0.083239 -0.026786
|
||||
v -0.034093 0.083239 -0.034093
|
||||
v -0.026786 0.083239 -0.040089
|
||||
v -0.018451 0.083239 -0.044544
|
||||
v -0.009406 0.083239 -0.047288
|
||||
vt 0.750000 0.490000
|
||||
vt 0.796822 0.485388
|
||||
vt 0.841844 0.471731
|
||||
vt 0.883337 0.449553
|
||||
vt 0.919706 0.419706
|
||||
vt 0.949553 0.383337
|
||||
vt 0.971731 0.341844
|
||||
vt 0.985388 0.296822
|
||||
vt 0.990000 0.250000
|
||||
vt 0.985388 0.203178
|
||||
vt 0.971731 0.158156
|
||||
vt 0.949553 0.116663
|
||||
vt 0.919706 0.080294
|
||||
vt 0.883337 0.050447
|
||||
vt 0.841844 0.028269
|
||||
vt 0.796822 0.014612
|
||||
vt 0.750000 0.010000
|
||||
vt 0.703178 0.014612
|
||||
vt 0.658156 0.028269
|
||||
vt 0.616663 0.050447
|
||||
vt 0.580294 0.080294
|
||||
vt 0.550447 0.116663
|
||||
vt 0.528269 0.158156
|
||||
vt 0.514612 0.203178
|
||||
vt 0.510000 0.250000
|
||||
vt 0.514612 0.296822
|
||||
vt 0.528269 0.341844
|
||||
vt 0.550447 0.383337
|
||||
vt 0.580294 0.419706
|
||||
vt 0.616663 0.449553
|
||||
vt 0.658156 0.471731
|
||||
vt 0.703178 0.485388
|
||||
vt 0.031250 0.500000
|
||||
vt 0.031250 0.892746
|
||||
vt 0.000000 0.892746
|
||||
vt 0.000000 0.500000
|
||||
vt 0.062500 0.500000
|
||||
vt 0.062500 0.892746
|
||||
vt 0.093750 0.500000
|
||||
vt 0.093750 0.892746
|
||||
vt 0.125000 0.500000
|
||||
vt 0.125000 0.892746
|
||||
vt 0.156250 0.500000
|
||||
vt 0.156250 0.892746
|
||||
vt 0.187500 0.500000
|
||||
vt 0.187500 0.892746
|
||||
vt 0.218750 0.500000
|
||||
vt 0.218750 0.892746
|
||||
vt 0.250000 0.500000
|
||||
vt 0.250000 0.892746
|
||||
vt 0.281250 0.500000
|
||||
vt 0.281250 0.892746
|
||||
vt 0.312500 0.500000
|
||||
vt 0.312500 0.892746
|
||||
vt 0.343750 0.500000
|
||||
vt 0.343750 0.892746
|
||||
vt 0.375000 0.500000
|
||||
vt 0.375000 0.892746
|
||||
vt 0.406250 0.500000
|
||||
vt 0.406250 0.892746
|
||||
vt 0.437500 0.500000
|
||||
vt 0.437500 0.892746
|
||||
vt 0.468750 0.500000
|
||||
vt 0.468750 0.892746
|
||||
vt 0.500000 0.500000
|
||||
vt 0.500000 0.892746
|
||||
vt 0.531250 0.500000
|
||||
vt 0.531250 0.892746
|
||||
vt 0.562500 0.500000
|
||||
vt 0.562500 0.892746
|
||||
vt 0.593750 0.500000
|
||||
vt 0.593750 0.892746
|
||||
vt 0.625000 0.500000
|
||||
vt 0.625000 0.892746
|
||||
vt 0.656250 0.500000
|
||||
vt 0.656250 0.892746
|
||||
vt 0.687500 0.500000
|
||||
vt 0.687500 0.892746
|
||||
vt 0.718750 0.500000
|
||||
vt 0.718750 0.892746
|
||||
vt 0.750000 0.500000
|
||||
vt 0.750000 0.892746
|
||||
vt 0.781250 0.500000
|
||||
vt 0.781250 0.892746
|
||||
vt 0.812500 0.500000
|
||||
vt 0.812500 0.892746
|
||||
vt 0.843750 0.500000
|
||||
vt 0.843750 0.892746
|
||||
vt 0.875000 0.500000
|
||||
vt 0.875000 0.892746
|
||||
vt 0.906250 0.500000
|
||||
vt 0.906250 0.892746
|
||||
vt 0.937500 0.500000
|
||||
vt 0.937500 0.892746
|
||||
vt 0.968750 0.500000
|
||||
vt 0.968750 0.892746
|
||||
vt 1.000000 0.500000
|
||||
vt 1.000000 0.892746
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.750000 0.490000
|
||||
vt 0.703178 0.485388
|
||||
vt 0.658156 0.471731
|
||||
vt 0.616663 0.449553
|
||||
vt 0.580294 0.419706
|
||||
vt 0.550447 0.383337
|
||||
vt 0.528269 0.341844
|
||||
vt 0.514612 0.296822
|
||||
vt 0.510000 0.250000
|
||||
vt 0.514612 0.203178
|
||||
vt 0.528269 0.158156
|
||||
vt 0.550447 0.116663
|
||||
vt 0.580294 0.080294
|
||||
vt 0.616663 0.050447
|
||||
vt 0.658156 0.028269
|
||||
vt 0.703178 0.014612
|
||||
vt 0.750000 0.010000
|
||||
vt 0.796822 0.014612
|
||||
vt 0.841844 0.028269
|
||||
vt 0.883337 0.050447
|
||||
vt 0.919706 0.080294
|
||||
vt 0.949553 0.116663
|
||||
vt 0.971731 0.158156
|
||||
vt 0.985388 0.203178
|
||||
vt 0.990000 0.250000
|
||||
vt 0.985388 0.296822
|
||||
vt 0.971731 0.341844
|
||||
vt 0.949553 0.383337
|
||||
vt 0.919706 0.419706
|
||||
vt 0.883337 0.449553
|
||||
vt 0.841844 0.471731
|
||||
vt 0.796822 0.485388
|
||||
vt 0.031250 0.500000
|
||||
vt 0.000000 0.500000
|
||||
vt 0.000000 0.892746
|
||||
vt 0.031250 0.892746
|
||||
vt 0.062500 0.500000
|
||||
vt 0.062500 0.892746
|
||||
vt 0.093750 0.500000
|
||||
vt 0.093750 0.892746
|
||||
vt 0.125000 0.500000
|
||||
vt 0.125000 0.892746
|
||||
vt 0.156250 0.500000
|
||||
vt 0.156250 0.892746
|
||||
vt 0.187500 0.500000
|
||||
vt 0.187500 0.892746
|
||||
vt 0.218750 0.500000
|
||||
vt 0.218750 0.892746
|
||||
vt 0.250000 0.500000
|
||||
vt 0.250000 0.892746
|
||||
vt 0.281250 0.500000
|
||||
vt 0.281250 0.892746
|
||||
vt 0.312500 0.500000
|
||||
vt 0.312500 0.892746
|
||||
vt 0.343750 0.500000
|
||||
vt 0.343750 0.892746
|
||||
vt 0.375000 0.500000
|
||||
vt 0.375000 0.892746
|
||||
vt 0.406250 0.500000
|
||||
vt 0.406250 0.892746
|
||||
vt 0.437500 0.500000
|
||||
vt 0.437500 0.892746
|
||||
vt 0.468750 0.500000
|
||||
vt 0.468750 0.892746
|
||||
vt 0.500000 0.500000
|
||||
vt 0.500000 0.892746
|
||||
vt 0.531250 0.500000
|
||||
vt 0.531250 0.892746
|
||||
vt 0.562500 0.500000
|
||||
vt 0.562500 0.892746
|
||||
vt 0.593750 0.500000
|
||||
vt 0.593750 0.892746
|
||||
vt 0.625000 0.500000
|
||||
vt 0.625000 0.892746
|
||||
vt 0.656250 0.500000
|
||||
vt 0.656250 0.892746
|
||||
vt 0.687500 0.500000
|
||||
vt 0.687500 0.892746
|
||||
vt 0.718750 0.500000
|
||||
vt 0.718750 0.892746
|
||||
vt 0.750000 0.500000
|
||||
vt 0.750000 0.892746
|
||||
vt 0.781250 0.500000
|
||||
vt 0.781250 0.892746
|
||||
vt 0.812500 0.500000
|
||||
vt 0.812500 0.892746
|
||||
vt 0.843750 0.500000
|
||||
vt 0.843750 0.892746
|
||||
vt 0.875000 0.500000
|
||||
vt 0.875000 0.892746
|
||||
vt 0.906250 0.500000
|
||||
vt 0.906250 0.892746
|
||||
vt 0.937500 0.500000
|
||||
vt 0.937500 0.892746
|
||||
vt 0.968750 0.500000
|
||||
vt 0.968750 0.892746
|
||||
vt 1.000000 0.500000
|
||||
vt 1.000000 0.892746
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 0.000000 0.000000
|
||||
vn 0.0000 -1.0000 -0.0000
|
||||
vn -0.0980 0.0000 -0.9952
|
||||
vn -0.2903 0.0000 -0.9569
|
||||
vn -0.4714 0.0000 -0.8819
|
||||
vn -0.6344 0.0000 -0.7730
|
||||
vn -0.7730 0.0000 -0.6344
|
||||
vn -0.8819 0.0000 -0.4714
|
||||
vn -0.9569 0.0000 -0.2903
|
||||
vn -0.9952 0.0000 -0.0980
|
||||
vn -0.9952 0.0000 0.0980
|
||||
vn -0.9569 0.0000 0.2903
|
||||
vn -0.8819 0.0000 0.4714
|
||||
vn -0.7730 0.0000 0.6344
|
||||
vn -0.6344 0.0000 0.7730
|
||||
vn -0.4714 0.0000 0.8819
|
||||
vn -0.2903 0.0000 0.9569
|
||||
vn -0.0980 0.0000 0.9952
|
||||
vn 0.0980 0.0000 0.9952
|
||||
vn 0.2903 0.0000 0.9569
|
||||
vn 0.4714 0.0000 0.8819
|
||||
vn 0.6344 0.0000 0.7730
|
||||
vn 0.7730 0.0000 0.6344
|
||||
vn 0.8819 0.0000 0.4714
|
||||
vn 0.9569 0.0000 0.2903
|
||||
vn 0.9952 0.0000 0.0980
|
||||
vn 0.9952 0.0000 -0.0980
|
||||
vn 0.9569 0.0000 -0.2903
|
||||
vn 0.8819 0.0000 -0.4714
|
||||
vn 0.7730 0.0000 -0.6344
|
||||
vn 0.6344 0.0000 -0.7730
|
||||
vn 0.4714 0.0000 -0.8819
|
||||
vn 0.2903 0.0000 -0.9569
|
||||
vn 0.0980 0.0000 -0.9952
|
||||
vn -0.0909 0.3740 -0.9230
|
||||
vn -0.2692 0.3740 -0.8875
|
||||
vn -0.4372 0.3740 -0.8179
|
||||
vn -0.5884 0.3740 -0.7169
|
||||
vn -0.7169 0.3740 -0.5884
|
||||
vn -0.8179 0.3740 -0.4372
|
||||
vn -0.8875 0.3740 -0.2692
|
||||
vn -0.9230 0.3740 -0.0909
|
||||
vn -0.9230 0.3740 0.0909
|
||||
vn -0.8875 0.3740 0.2692
|
||||
vn -0.8179 0.3740 0.4372
|
||||
vn -0.7169 0.3740 0.5884
|
||||
vn -0.5884 0.3740 0.7169
|
||||
vn -0.4372 0.3740 0.8179
|
||||
vn -0.2692 0.3740 0.8875
|
||||
vn -0.0909 0.3740 0.9230
|
||||
vn 0.0909 0.3740 0.9230
|
||||
vn 0.2692 0.3740 0.8875
|
||||
vn 0.4372 0.3740 0.8179
|
||||
vn 0.5884 0.3740 0.7169
|
||||
vn 0.7169 0.3740 0.5884
|
||||
vn 0.8179 0.3740 0.4372
|
||||
vn 0.8875 0.3740 0.2692
|
||||
vn 0.9230 0.3740 0.0909
|
||||
vn 0.9230 0.3740 -0.0909
|
||||
vn 0.8875 0.3740 -0.2692
|
||||
vn 0.8179 0.3740 -0.4372
|
||||
vn 0.7169 0.3740 -0.5884
|
||||
vn 0.5884 0.3740 -0.7169
|
||||
vn 0.4372 0.3740 -0.8179
|
||||
vn 0.2692 0.3740 -0.8875
|
||||
vn 0.0909 0.3740 -0.9230
|
||||
vn 0.0000 1.0000 -0.0000
|
||||
vn 0.0909 -0.3740 0.9230
|
||||
vn 0.2692 -0.3740 0.8875
|
||||
vn 0.4372 -0.3740 0.8179
|
||||
vn 0.5884 -0.3740 0.7169
|
||||
vn 0.7169 -0.3740 0.5884
|
||||
vn 0.8179 -0.3740 0.4372
|
||||
vn 0.8875 -0.3740 0.2692
|
||||
vn 0.9230 -0.3740 0.0909
|
||||
vn 0.9230 -0.3740 -0.0909
|
||||
vn 0.8875 -0.3740 -0.2692
|
||||
vn 0.8179 -0.3740 -0.4372
|
||||
vn 0.7169 -0.3740 -0.5884
|
||||
vn 0.5884 -0.3740 -0.7169
|
||||
vn 0.4372 -0.3740 -0.8179
|
||||
vn 0.2692 -0.3740 -0.8875
|
||||
vn 0.0909 -0.3740 -0.9230
|
||||
vn -0.0909 -0.3740 -0.9230
|
||||
vn -0.2692 -0.3740 -0.8875
|
||||
vn -0.4372 -0.3740 -0.8179
|
||||
vn -0.5884 -0.3740 -0.7169
|
||||
vn -0.7169 -0.3740 -0.5884
|
||||
vn -0.8179 -0.3740 -0.4372
|
||||
vn -0.8875 -0.3740 -0.2692
|
||||
vn -0.9230 -0.3740 -0.0909
|
||||
vn -0.9230 -0.3740 0.0909
|
||||
vn -0.8875 -0.3740 0.2692
|
||||
vn -0.8179 -0.3740 0.4372
|
||||
vn -0.7169 -0.3740 0.5884
|
||||
vn -0.5884 -0.3740 0.7169
|
||||
vn -0.4372 -0.3740 0.8179
|
||||
vn -0.2692 -0.3740 0.8875
|
||||
vn -0.0909 -0.3740 0.9230
|
||||
usemtl None
|
||||
s off
|
||||
f 1/1/1 2/2/1 3/3/1 4/4/1 5/5/1 6/6/1 7/7/1 8/8/1 9/9/1 10/10/1 11/11/1 12/12/1 13/13/1 14/14/1 15/15/1 16/16/1 17/17/1 18/18/1 19/19/1 20/20/1 21/21/1 22/22/1 23/23/1 24/24/1 25/25/1 26/26/1 27/27/1 28/28/1 29/29/1 30/30/1 31/31/1 32/32/1
|
||||
f 32/33/2 65/34/2 34/35/2 1/36/2
|
||||
f 31/37/3 64/38/3 65/34/3 32/33/3
|
||||
f 30/39/4 63/40/4 64/38/4 31/37/4
|
||||
f 29/41/5 62/42/5 63/40/5 30/39/5
|
||||
f 28/43/6 61/44/6 62/42/6 29/41/6
|
||||
f 27/45/7 60/46/7 61/44/7 28/43/7
|
||||
f 26/47/8 59/48/8 60/46/8 27/45/8
|
||||
f 25/49/9 58/50/9 59/48/9 26/47/9
|
||||
f 24/51/10 57/52/10 58/50/10 25/49/10
|
||||
f 23/53/11 56/54/11 57/52/11 24/51/11
|
||||
f 22/55/12 55/56/12 56/54/12 23/53/12
|
||||
f 21/57/13 54/58/13 55/56/13 22/55/13
|
||||
f 20/59/14 53/60/14 54/58/14 21/57/14
|
||||
f 19/61/15 52/62/15 53/60/15 20/59/15
|
||||
f 18/63/16 51/64/16 52/62/16 19/61/16
|
||||
f 17/65/17 50/66/17 51/64/17 18/63/17
|
||||
f 16/67/18 49/68/18 50/66/18 17/65/18
|
||||
f 15/69/19 48/70/19 49/68/19 16/67/19
|
||||
f 14/71/20 47/72/20 48/70/20 15/69/20
|
||||
f 13/73/21 46/74/21 47/72/21 14/71/21
|
||||
f 12/75/22 45/76/22 46/74/22 13/73/22
|
||||
f 11/77/23 44/78/23 45/76/23 12/75/23
|
||||
f 10/79/24 43/80/24 44/78/24 11/77/24
|
||||
f 9/81/25 42/82/25 43/80/25 10/79/25
|
||||
f 8/83/26 41/84/26 42/82/26 9/81/26
|
||||
f 7/85/27 40/86/27 41/84/27 8/83/27
|
||||
f 6/87/28 39/88/28 40/86/28 7/85/28
|
||||
f 5/89/29 38/90/29 39/88/29 6/87/29
|
||||
f 4/91/30 37/92/30 38/90/30 5/89/30
|
||||
f 3/93/31 36/94/31 37/92/31 4/91/31
|
||||
f 2/95/32 35/96/32 36/94/32 3/93/32
|
||||
f 1/97/33 34/98/33 35/96/33 2/95/33
|
||||
f 65/34/34 33/99/34 34/35/34
|
||||
f 65/34/35 64/38/35 33/99/35
|
||||
f 64/38/36 63/40/36 33/99/36
|
||||
f 63/40/37 62/42/37 33/99/37
|
||||
f 62/42/38 61/44/38 33/99/38
|
||||
f 61/44/39 60/46/39 33/99/39
|
||||
f 60/46/40 59/48/40 33/99/40
|
||||
f 59/48/41 58/50/41 33/99/41
|
||||
f 58/50/42 57/52/42 33/99/42
|
||||
f 57/52/43 56/54/43 33/99/43
|
||||
f 56/54/44 55/56/44 33/99/44
|
||||
f 55/56/45 54/58/45 33/99/45
|
||||
f 54/58/46 53/60/46 33/99/46
|
||||
f 53/60/47 52/62/47 33/99/47
|
||||
f 52/62/48 51/64/48 33/99/48
|
||||
f 51/64/49 50/66/49 33/99/49
|
||||
f 50/66/50 49/68/50 33/99/50
|
||||
f 49/68/51 48/70/51 33/99/51
|
||||
f 48/70/52 47/72/52 33/99/52
|
||||
f 47/72/53 46/74/53 33/99/53
|
||||
f 46/74/54 45/76/54 33/99/54
|
||||
f 45/76/55 44/78/55 33/99/55
|
||||
f 44/78/56 43/80/56 33/99/56
|
||||
f 43/80/57 42/82/57 33/99/57
|
||||
f 42/82/58 41/84/58 33/99/58
|
||||
f 41/84/59 40/86/59 33/99/59
|
||||
f 40/86/60 39/88/60 33/99/60
|
||||
f 39/88/61 38/90/61 33/99/61
|
||||
f 38/90/62 37/92/62 33/99/62
|
||||
f 37/92/63 36/94/63 33/99/63
|
||||
f 36/94/64 35/96/64 33/99/64
|
||||
f 35/96/65 34/98/65 33/99/65
|
||||
f 64/100/1 65/101/1 34/102/1 35/103/1 36/104/1 37/105/1 38/106/1 39/107/1 40/108/1 41/109/1 42/110/1 43/111/1 44/112/1 45/113/1 46/114/1 47/115/1 48/116/1 49/117/1 50/118/1 51/119/1 52/120/1 53/121/1 54/122/1 55/123/1 56/124/1 57/125/1 58/126/1 59/127/1 60/128/1 61/129/1 62/130/1 63/131/1
|
||||
f 66/132/66 97/133/66 96/134/66 95/135/66 94/136/66 93/137/66 92/138/66 91/139/66 90/140/66 89/141/66 88/142/66 87/143/66 86/144/66 85/145/66 84/146/66 83/147/66 82/148/66 81/149/66 80/150/66 79/151/66 78/152/66 77/153/66 76/154/66 75/155/66 74/156/66 73/157/66 72/158/66 71/159/66 70/160/66 69/161/66 68/162/66 67/163/66
|
||||
f 97/164/18 66/165/18 99/166/18 130/167/18
|
||||
f 96/168/19 97/164/19 130/167/19 129/169/19
|
||||
f 95/170/20 96/168/20 129/169/20 128/171/20
|
||||
f 94/172/21 95/170/21 128/171/21 127/173/21
|
||||
f 93/174/22 94/172/22 127/173/22 126/175/22
|
||||
f 92/176/23 93/174/23 126/175/23 125/177/23
|
||||
f 91/178/24 92/176/24 125/177/24 124/179/24
|
||||
f 90/180/25 91/178/25 124/179/25 123/181/25
|
||||
f 89/182/26 90/180/26 123/181/26 122/183/26
|
||||
f 88/184/27 89/182/27 122/183/27 121/185/27
|
||||
f 87/186/28 88/184/28 121/185/28 120/187/28
|
||||
f 86/188/29 87/186/29 120/187/29 119/189/29
|
||||
f 85/190/30 86/188/30 119/189/30 118/191/30
|
||||
f 84/192/31 85/190/31 118/191/31 117/193/31
|
||||
f 83/194/32 84/192/32 117/193/32 116/195/32
|
||||
f 82/196/33 83/194/33 116/195/33 115/197/33
|
||||
f 81/198/2 82/196/2 115/197/2 114/199/2
|
||||
f 80/200/3 81/198/3 114/199/3 113/201/3
|
||||
f 79/202/4 80/200/4 113/201/4 112/203/4
|
||||
f 78/204/5 79/202/5 112/203/5 111/205/5
|
||||
f 77/206/6 78/204/6 111/205/6 110/207/6
|
||||
f 76/208/7 77/206/7 110/207/7 109/209/7
|
||||
f 75/210/8 76/208/8 109/209/8 108/211/8
|
||||
f 74/212/9 75/210/9 108/211/9 107/213/9
|
||||
f 73/214/10 74/212/10 107/213/10 106/215/10
|
||||
f 72/216/11 73/214/11 106/215/11 105/217/11
|
||||
f 71/218/12 72/216/12 105/217/12 104/219/12
|
||||
f 70/220/13 71/218/13 104/219/13 103/221/13
|
||||
f 69/222/14 70/220/14 103/221/14 102/223/14
|
||||
f 68/224/15 69/222/15 102/223/15 101/225/15
|
||||
f 67/226/16 68/224/16 101/225/16 100/227/16
|
||||
f 66/228/17 67/226/17 100/227/17 99/229/17
|
||||
f 130/167/67 99/166/67 98/230/67
|
||||
f 130/167/68 98/230/68 129/169/68
|
||||
f 129/169/69 98/230/69 128/171/69
|
||||
f 128/171/70 98/230/70 127/173/70
|
||||
f 127/173/71 98/230/71 126/175/71
|
||||
f 126/175/72 98/230/72 125/177/72
|
||||
f 125/177/73 98/230/73 124/179/73
|
||||
f 124/179/74 98/230/74 123/181/74
|
||||
f 123/181/75 98/230/75 122/183/75
|
||||
f 122/183/76 98/230/76 121/185/76
|
||||
f 121/185/77 98/230/77 120/187/77
|
||||
f 120/187/78 98/230/78 119/189/78
|
||||
f 119/189/79 98/230/79 118/191/79
|
||||
f 118/191/80 98/230/80 117/193/80
|
||||
f 117/193/81 98/230/81 116/195/81
|
||||
f 116/195/82 98/230/82 115/197/82
|
||||
f 115/197/83 98/230/83 114/199/83
|
||||
f 114/199/84 98/230/84 113/201/84
|
||||
f 113/201/85 98/230/85 112/203/85
|
||||
f 112/203/86 98/230/86 111/205/86
|
||||
f 111/205/87 98/230/87 110/207/87
|
||||
f 110/207/88 98/230/88 109/209/88
|
||||
f 109/209/89 98/230/89 108/211/89
|
||||
f 108/211/90 98/230/90 107/213/90
|
||||
f 107/213/91 98/230/91 106/215/91
|
||||
f 106/215/92 98/230/92 105/217/92
|
||||
f 105/217/93 98/230/93 104/219/93
|
||||
f 104/219/94 98/230/94 103/221/94
|
||||
f 103/221/95 98/230/95 102/223/95
|
||||
f 102/223/96 98/230/96 101/225/96
|
||||
f 101/225/97 98/230/97 100/227/97
|
||||
f 100/227/98 98/230/98 99/229/98
|
||||
f 129/231/66 128/232/66 127/233/66 126/234/66 125/235/66 124/236/66 123/237/66 122/238/66 121/239/66 120/240/66 119/241/66 118/242/66 117/243/66 116/244/66 115/245/66 114/246/66 113/247/66 112/248/66 111/249/66 110/250/66 109/251/66 108/252/66 107/253/66 106/254/66 105/255/66 104/256/66 103/257/66 102/258/66 101/259/66 100/260/66 99/261/66 130/262/66
|
BIN
models/prtl_0.blend
Normal file
BIN
models/prtl_0.blend1
Normal file
51
other.lua
@@ -1,11 +1,22 @@
|
||||
local pgad_rules={{x = 1, y = 0, z = 0},{x =-1, y = 0, z = 0},{x = 0, y = 1, z = 0},{x = 0, y =-1, z = 0},{x = 0, y = 0, z = 1},{x = 0, y = 0, z =-1}}
|
||||
|
||||
stone_sounds = {}
|
||||
stone_sounds.footstep = {name="stone_walk", gain=1.0}
|
||||
stone_sounds.dug = {name="stone_break", gain=1.0}
|
||||
stone_sounds.place = {name="block_place", gain=1.0}
|
||||
glass_sounds = {}
|
||||
glass_sounds.footstep = {name="glass_walk", gain=1.0}
|
||||
glass_sounds.dug = {name="glass_break", gain=1.0}
|
||||
glass_sounds.place = {name="block_place", gain=1.0}
|
||||
wood_sounds = {}
|
||||
wood_sounds.footstep = {name="wood_walk", gain=1.0}
|
||||
wood_sounds.dug = {name="wood_break", gain=1.0}
|
||||
wood_sounds.place = {name="block_place", gain=1.0}
|
||||
|
||||
minetest.register_node("portalgun:cplps1", {
|
||||
description = "Close player portal",
|
||||
tiles = {"portalgun_gray.png"},
|
||||
groups = {mesecon=2,snappy = 3, not_in_creative_inventory=0},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sounds = stone_sounds,
|
||||
is_ground_content = false,
|
||||
mesecons = {effector = {
|
||||
action_on = function (pos, node)
|
||||
@@ -31,7 +42,7 @@ minetest.register_node("portalgun:cplps2", {
|
||||
description = "Close player portal",
|
||||
tiles = {"portalgun_gray.png^[colorize:#ffe85977"},
|
||||
groups = {mesecon=2,snappy = 3, not_in_creative_inventory=1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sounds = stone_sounds,
|
||||
is_ground_content = false,
|
||||
paramtype = "light",
|
||||
light_source = 4,
|
||||
@@ -46,7 +57,7 @@ minetest.register_node("portalgun:sign_v", {
|
||||
drop="portalgun:sign_x",
|
||||
drawtype = "nodebox",
|
||||
groups = {mesecon=2,snappy = 3, not_in_creative_inventory=1},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
sounds = wood_sounds,
|
||||
is_ground_content = false,
|
||||
paramtype2 = "facedir",
|
||||
paramtype = "light",
|
||||
@@ -68,7 +79,7 @@ minetest.register_node("portalgun:sign_x", {
|
||||
inventory_image = "portalgun_x.png",
|
||||
drawtype = "nodebox",
|
||||
groups = {mesecon=2,snappy = 3, not_in_creative_inventory=0},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
sounds = wood_sounds,
|
||||
is_ground_content = false,
|
||||
paramtype2 = "facedir",
|
||||
paramtype = "light",
|
||||
@@ -96,7 +107,7 @@ minetest.register_node("portalgun:portaltarget_" .. portaltarget_sig[ii][1], {
|
||||
tiles = {"portalgun_testblock.png^" .. portaltarget_sig[ii][2]},
|
||||
groups = {mesecon = 2,cracky=2},
|
||||
mesecons = {receptor = {state = "off"}},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sounds = stone_sounds,
|
||||
is_ground_content = false,
|
||||
paramtype2 = "facedir",
|
||||
paramtype = "light",
|
||||
@@ -128,12 +139,12 @@ minetest.register_node("portalgun:button", {
|
||||
paramtype2 = "facedir",
|
||||
sunlight_propagates = true,
|
||||
selection_box = {type = "fixed",fixed = { -0.2, -0.5, -0.2, 0.2, 0.85, 0.2 }},
|
||||
sounds = default.node_sound_defaults(),
|
||||
sounds = stone_sounds,
|
||||
mesecons = {receptor = {state = "off"}},
|
||||
on_rightclick = function(pos, node, clicker)
|
||||
mesecon.receptor_on(pos)
|
||||
minetest.get_node_timer(pos):start(2)
|
||||
minetest.sound_play("default_dig_dig_immediate", {pos=pos,max_hear_distance = 10, gain = 1})
|
||||
minetest.sound_play("button_press", {pos=pos,max_hear_distance = 10, gain = 1})
|
||||
end,
|
||||
on_timer = function (pos, elapsed)
|
||||
mesecon.receptor_off(pos)
|
||||
@@ -158,7 +169,7 @@ minetest.register_node("portalgun:dmgblock_1", {
|
||||
paramtype="light",
|
||||
alpha = 50,
|
||||
sunlight_propagates = true,
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sounds = stone_sounds,
|
||||
walkable=false,
|
||||
damage_per_second = 5,
|
||||
mesecons = {conductor = {
|
||||
@@ -218,7 +229,7 @@ minetest.register_node("portalgun:autocheckpoint", {
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
light_source = 5,
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sounds = stone_sounds,
|
||||
drawtype="nodebox",
|
||||
node_box = {
|
||||
type="fixed",
|
||||
@@ -256,7 +267,7 @@ minetest.register_node("portalgun:powerdoor1_1", {
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
sunlight_propagates = true,
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sounds = stone_sounds,
|
||||
drawtype="nodebox",
|
||||
alpha = 160,
|
||||
node_box = {
|
||||
@@ -311,7 +322,7 @@ minetest.register_node("portalgun:powerdoor1_2", {
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
sunlight_propagates = true,
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sounds = stone_sounds,
|
||||
drawtype="nodebox",
|
||||
alpha = 160,
|
||||
node_box = {
|
||||
@@ -387,7 +398,7 @@ minetest.register_node("portalgun:delayer", {
|
||||
description = "Delayer (Punsh to change time)",
|
||||
tiles = {"portalgun_delayer.png","portalgun_testblock.png"},
|
||||
groups = {dig_immediate = 2,mesecon=1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sounds = stone_sounds,
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
drawtype="nodebox",
|
||||
@@ -442,7 +453,7 @@ minetest.register_node("portalgun:testblocks", {
|
||||
description = "Trapblock",
|
||||
tiles = {"portalgun_testblock.png"},
|
||||
groups = {cracky = 1,mesecon=2},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sounds = stone_sounds,
|
||||
mesecons = {conductor = {
|
||||
state = mesecon.state.off,
|
||||
onstate = "portalgun:testblocks2",
|
||||
@@ -470,7 +481,6 @@ minetest.register_node("portalgun:door_1", {
|
||||
description = "Mesecon Door",
|
||||
drop="portalgun:door_1",
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
@@ -479,7 +489,7 @@ minetest.register_node("portalgun:door_1", {
|
||||
},
|
||||
tiles = {"portalgun_testblock.png"},
|
||||
groups = {mesecon=1,cracky = 1, level = 2, not_in_creative_inventory=0},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sounds = stone_sounds,
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
sunlight_propagates = true,
|
||||
@@ -512,7 +522,6 @@ minetest.register_node("portalgun:door_2", {
|
||||
description = "Door 2-1",
|
||||
drawtype = "nodebox",
|
||||
drop="portalgun:door_1",
|
||||
paramtype = "light",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
@@ -521,7 +530,7 @@ minetest.register_node("portalgun:door_2", {
|
||||
},
|
||||
tiles = {"portalgun_testblock.png"},
|
||||
groups = {mesecon=1,cracky = 1, level = 2, not_in_creative_inventory=1},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
sounds = wood_sounds,
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
sunlight_propagates = true,
|
||||
@@ -544,7 +553,6 @@ minetest.register_node("portalgun:door_open_1", {
|
||||
description = "Door (open) 2-o-1",
|
||||
drop="portalgun:door_1",
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
@@ -553,7 +561,7 @@ minetest.register_node("portalgun:door_open_1", {
|
||||
},
|
||||
tiles = {"portalgun_testblock.png"},
|
||||
groups = {mesecon=1,cracky = 1, level = 2, not_in_creative_inventory=1},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
sounds = wood_sounds,
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
sunlight_propagates = true,
|
||||
@@ -575,7 +583,6 @@ minetest.register_node("portalgun:door_open_2", {
|
||||
description = "Door (open) 2-o-1",
|
||||
drawtype = "nodebox",
|
||||
drop="portalgun:door_1",
|
||||
paramtype = "light",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
@@ -584,7 +591,7 @@ minetest.register_node("portalgun:door_open_2", {
|
||||
},
|
||||
tiles = {"portalgun_testblock.png"},
|
||||
groups = {mesecon=1,cracky = 1, level = 2, not_in_creative_inventory=1},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
sounds = wood_sounds,
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
sunlight_propagates = true,
|
||||
|
@@ -1,8 +1,20 @@
|
||||
stone_sounds = {}
|
||||
stone_sounds.footstep = {name="stone_walk", gain=1.0}
|
||||
stone_sounds.dug = {name="stone_break", gain=1.0}
|
||||
stone_sounds.place = {name="block_place", gain=1.0}
|
||||
glass_sounds = {}
|
||||
glass_sounds.footstep = {name="glass_walk", gain=1.0}
|
||||
glass_sounds.dug = {name="glass_break", gain=1.0}
|
||||
glass_sounds.place = {name="block_place", gain=1.0}
|
||||
wood_sounds = {}
|
||||
wood_sounds.footstep = {name="wood_walk", gain=1.0}
|
||||
wood_sounds.dug = {name="wood_break", gain=1.0}
|
||||
wood_sounds.place = {name="block_place", gain=1.0}
|
||||
minetest.register_node("portalgun:powerballspawner", {
|
||||
description = "Power ball spawner" ,
|
||||
tiles = {"default_steel_block.png","default_steel_block.png","default_steel_block.png","default_steel_block.png","default_steel_block.png","portalgun_powerballspawner.png"},
|
||||
tiles = {"steel.png","steel.png","steel.png","steel.png","steel.png","portalgun_powerballspawner.png"},
|
||||
groups = {cracky=2},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
sounds = glass_sounds,
|
||||
is_ground_content = false,
|
||||
paramtype2 = "facedir",
|
||||
on_place = minetest.rotate_node,
|
||||
@@ -29,9 +41,9 @@ minetest.register_node("portalgun:powerballspawner", {
|
||||
|
||||
minetest.register_node("portalgun:powerballspawner2", {
|
||||
description = "Power ball spawner (spawn on activate)" ,
|
||||
tiles = {"default_steel_block.png","default_steel_block.png","default_steel_block.png","default_steel_block.png","default_steel_block.png","portalgun_powerballspawner.png^[colorize:#aaaa0055"},
|
||||
tiles = {"steel.png","steel.png","steel.png","steel.png","steel.png","portalgun_powerballspawner.png^[colorize:#aaaa0055"},
|
||||
groups = {cracky=2,mesecon=1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
sounds = glass_sounds,
|
||||
is_ground_content = false,
|
||||
paramtype2 = "facedir",
|
||||
on_place = minetest.rotate_node,
|
||||
@@ -66,7 +78,7 @@ minetest.register_entity("portalgun:powerball",{
|
||||
initial_sprite_basepos = {x=0, y=0},
|
||||
is_visible = true,
|
||||
makes_footstep_sound = false,
|
||||
automatic_rotate = false,
|
||||
automatic_rotate = 0,
|
||||
portalgun=2,
|
||||
powerball=1,
|
||||
on_activate= function(self, staticdata)
|
||||
@@ -87,8 +99,6 @@ on_step= function(self, dtime)
|
||||
for i, ob in pairs(minetest.get_objects_inside_radius(pos, 2)) do
|
||||
if ob:is_player() or (ob:get_luaentity() and ob:get_luaentity().portalgun~=1 and ob:get_luaentity().wsc==nil and ob:get_luaentity().powerball~=1) then
|
||||
ob:set_hp(0)
|
||||
ob:punch(ob, {full_punch_interval=1.0,damage_groups={fleshy=9000}}, "default:bronze_pick", nil)
|
||||
|
||||
end
|
||||
end
|
||||
self.timer2=self.timer2+1
|
||||
@@ -101,7 +111,6 @@ on_step= function(self, dtime)
|
||||
if self.timer2>40 then
|
||||
minetest.sound_stop(self.sound)
|
||||
self.object:set_hp(0)
|
||||
self.object:punch(self.object, {full_punch_interval=1.0,damage_groups={fleshy=9000}}, "default:bronze_pick", nil)
|
||||
return self
|
||||
end
|
||||
local v=self.object:get_velocity()
|
||||
@@ -128,7 +137,7 @@ minetest.register_node("portalgun:powerballtarget", {
|
||||
tiles = {"portalgun_powerballstarget.png"},
|
||||
groups = {mesecon = 2,cracky=2},
|
||||
mesecons = {receptor = {state = "off"}},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sounds = stone_sounds,
|
||||
is_ground_content = false,
|
||||
on_timer = function (pos, elapsed)
|
||||
mesecon.receptor_off(pos)
|
||||
|
BIN
sounds/block_place.ogg
Normal file
BIN
sounds/button_press.ogg
Normal file
BIN
sounds/glass_break.ogg
Normal file
BIN
sounds/glass_walk.ogg
Normal file
BIN
sounds/stone_break.ogg
Normal file
BIN
sounds/stone_walk.ogg
Normal file
BIN
sounds/wood_break.ogg
Normal file
BIN
sounds/wood_walk.ogg
Normal file
100
stuff.lua
@@ -1,3 +1,15 @@
|
||||
stone_sounds = {}
|
||||
stone_sounds.footstep = {name="stone_walk", gain=1.0}
|
||||
stone_sounds.dug = {name="stone_break", gain=1.0}
|
||||
stone_sounds.place = {name="block_place", gain=1.0}
|
||||
glass_sounds = {}
|
||||
glass_sounds.footstep = {name="glass_walk", gain=1.0}
|
||||
glass_sounds.dug = {name="glass_break", gain=1.0}
|
||||
glass_sounds.place = {name="block_place", gain=1.0}
|
||||
wood_sounds = {}
|
||||
wood_sounds.footstep = {name="wood_walk", gain=1.0}
|
||||
wood_sounds.dug = {name="wood_break", gain=1.0}
|
||||
wood_sounds.place = {name="block_place", gain=1.0}
|
||||
local snuma=1
|
||||
for ii = 0, 9, 1 do
|
||||
if ii==1 then snuma=0 end
|
||||
@@ -7,7 +19,7 @@ minetest.register_node("portalgun:sign_numa".. ii, {
|
||||
drop="portalgun:sign_numa1",
|
||||
drawtype = "nodebox",
|
||||
groups = {mesecon=2,portalnuma=1,dig_immediate = 3, not_in_creative_inventory=snuma},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
sounds = wood_sounds,
|
||||
is_ground_content = false,
|
||||
paramtype2 = "facedir",
|
||||
paramtype = "light",
|
||||
@@ -51,7 +63,7 @@ minetest.register_node("portalgun:sign_numb".. ii, {
|
||||
drop="portalgun:sign_numa1",
|
||||
drawtype = "nodebox",
|
||||
groups = {mesecon=2,portalnumb=1,dig_immediate = 3, not_in_creative_inventory=1},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
sounds = wood_sounds,
|
||||
is_ground_content = false,
|
||||
paramtype2 = "facedir",
|
||||
paramtype = "light",
|
||||
@@ -87,7 +99,7 @@ minetest.register_node("portalgun:turretgun2", {
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
sunlight_propagates = true,
|
||||
sounds = default.node_sound_defaults(),
|
||||
sounds = stone_sounds,
|
||||
tiles = {"portalgun_sentry_turret.png"},
|
||||
drawtype = "mesh",
|
||||
mesh="torret2.obj",
|
||||
@@ -152,7 +164,7 @@ minetest.register_node("portalgun:turretgun", {
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
sunlight_propagates = true,
|
||||
sounds = default.node_sound_defaults(),
|
||||
sounds = stone_sounds,
|
||||
tiles = {"portalgun_sentry_turret.png"},
|
||||
drawtype = "mesh",
|
||||
mesh="torret1.obj",
|
||||
@@ -207,6 +219,22 @@ minetest.register_node("portalgun:turretgun", {
|
||||
end
|
||||
})
|
||||
|
||||
--giveitems register_chatcommand
|
||||
minetest.register_chatcommand("giveitems", {
|
||||
description = "Give items to player",
|
||||
privs = {give=true},
|
||||
func = function(name)
|
||||
local player = minetest.get_player_by_name(name)
|
||||
if player then
|
||||
--give all items that dont have not_in_creative_inventory=1
|
||||
for i,v in pairs(minetest.registered_items) do
|
||||
if v.not_in_creative_inventory==nil or v.not_in_creative_inventory==0 then
|
||||
player:get_inventory():add_item("main",i.." 1")
|
||||
end
|
||||
end
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_node("portalgun:warntape", {
|
||||
description = "Warntape",
|
||||
@@ -214,7 +242,7 @@ minetest.register_node("portalgun:warntape", {
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
sunlight_propagates = true,
|
||||
sounds = default.node_sound_defaults(),
|
||||
sounds = stone_sounds,
|
||||
tiles = {"portalgun_warntape.png",},
|
||||
walkable = false,
|
||||
drawtype = "nodebox",
|
||||
@@ -231,7 +259,6 @@ minetest.register_node("portalgun:toxwater_1", {
|
||||
description = "Toxic water",
|
||||
drawtype = "liquid",
|
||||
tiles = {"portalgun_toxwat.png"},
|
||||
post_effect_color = {a = 200, r = 119, g = 70, b = 16},
|
||||
alpha = 190,
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
@@ -250,13 +277,11 @@ minetest.register_node("portalgun:toxwater_1", {
|
||||
liquid_range = 3,
|
||||
post_effect_color = {a = 200, r = 119, g = 70, b = 16},
|
||||
groups = {water = 3, liquid = 3},
|
||||
sounds = default.node_sound_water_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("portalgun:toxwater_2", {
|
||||
description = "Toxic water 2",
|
||||
drawtype = "flowingliquid",
|
||||
tiles = {"portalgun_toxwat.png"},
|
||||
tiles = {name = "portalgun_toxwat.png",backface_culling=false},
|
||||
special_tiles = {{name = "portalgun_toxwat.png",backface_culling=true},{name = "portalgun_toxwat.png",backface_culling=false}},
|
||||
alpha = 190,
|
||||
@@ -277,8 +302,7 @@ minetest.register_node("portalgun:toxwater_2", {
|
||||
liquid_renewable = false,
|
||||
liquid_range = 3,
|
||||
post_effect_color = {a = 200, r = 119, g = 70, b = 16},
|
||||
groups = {water = 3, liquid = 3, not_in_creative_inventory = 1},
|
||||
sounds = default.node_sound_water_defaults(),
|
||||
groups = {water = 3, liquid = 3, not_in_creative_inventory = 1}
|
||||
})
|
||||
|
||||
minetest.register_tool("portalgun:ed", {
|
||||
@@ -301,7 +325,6 @@ on_use = function(itemstack, user, pointed_thing)
|
||||
for ii, ob in pairs(minetest.get_objects_inside_radius(pos, 7)) do
|
||||
if ob:get_luaentity() then
|
||||
ob:set_hp(0)
|
||||
ob:punch(ob, {full_punch_interval=1.0,damage_groups={fleshy=9000}}, "default:bronze_pick", nil)
|
||||
end
|
||||
end
|
||||
return itemstack
|
||||
@@ -314,10 +337,10 @@ minetest.register_node("portalgun:cake", {
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
selection_box = {type = "fixed",fixed = { -0.3, -0.5, -0.3, 0.3, 0, 0.3 }},
|
||||
sounds = default.node_sound_defaults(),
|
||||
sounds = stone_sounds,
|
||||
tiles = {
|
||||
"default_dirt.png^portalgun_cake1.png",
|
||||
"default_dirt.png^portalgun_cake2.png",
|
||||
"dirt.png^portalgun_cake1.png",
|
||||
"dirt.png^portalgun_cake2.png",
|
||||
},
|
||||
drawtype = "nodebox",
|
||||
node_box = {
|
||||
@@ -342,14 +365,14 @@ minetest.register_node("portalgun:testblock", {
|
||||
description = "Test block",
|
||||
tiles = {"portalgun_testblock.png"},
|
||||
groups = {cracky = 1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sounds = stone_sounds,
|
||||
})
|
||||
|
||||
minetest.register_node("portalgun:apb", {
|
||||
description = "Anti portal block",
|
||||
tiles = {"portalgun_testblock.png^[colorize:#ffffffaa"},
|
||||
groups = {cracky = 3,antiportal=1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sounds = stone_sounds,
|
||||
})
|
||||
|
||||
minetest.register_node("portalgun:apg", {
|
||||
@@ -357,18 +380,18 @@ minetest.register_node("portalgun:apg", {
|
||||
drawtype="glasslike",
|
||||
paramtype="light",
|
||||
sunlight_propagates = true,
|
||||
tiles = {"default_glass.png^[colorize:#ffffffaa"},
|
||||
tiles = {"glass.png^[colorize:#ffffffaa"},
|
||||
groups = {cracky = 1,antiportal=1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
sounds = glass_sounds,
|
||||
})
|
||||
minetest.register_node("portalgun:hard_glass", {
|
||||
description = "Hard glass",
|
||||
drawtype="glasslike",
|
||||
paramtype="light",
|
||||
sunlight_propagates = true,
|
||||
tiles = {"default_glass.png^[colorize:#ddddddaa"},
|
||||
tiles = {"glass.png^[colorize:#ddddddaa"},
|
||||
groups = {cracky = 1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
sounds = glass_sounds,
|
||||
})
|
||||
|
||||
function portalgun_visiable(pos,ob)
|
||||
@@ -428,7 +451,7 @@ minetest.register_node("portalgun:secam_off", {
|
||||
drawtype = "nodebox",
|
||||
walkable=false,
|
||||
groups = {dig_immediate = 3},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
sounds = glass_sounds,
|
||||
is_ground_content = false,
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
@@ -452,7 +475,7 @@ minetest.register_node("portalgun:secam", {
|
||||
drawtype = "nodebox",
|
||||
walkable=false,
|
||||
groups = {dig_immediate = 3,stone=1,not_in_creative_inventory=1},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
sounds = glass_sounds,
|
||||
is_ground_content = false,
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
@@ -485,14 +508,28 @@ on_timer=function(pos, elapsed)
|
||||
end,
|
||||
})
|
||||
|
||||
--register command for admins to build a testblock at the players position
|
||||
minetest.register_chatcommand("testblock", {
|
||||
params = "",
|
||||
description = "builds a testblock at the players position",
|
||||
privs = {server=true},
|
||||
func = function(name, param)
|
||||
local player = minetest.get_player_by_name(name)
|
||||
local pos = player:get_pos()
|
||||
minetest.set_node(pos, {name = "portalgun:testblock"})
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_entity("portalgun:bullet1",{
|
||||
hp_max = 1,
|
||||
--physical = true,
|
||||
--collisionbox={-0.01,-0.01,-0.01,0.01,0.01,0.01},
|
||||
pointable=false,
|
||||
visual = "sprite",
|
||||
visual = "mesh",
|
||||
mesh = "bullet.obj",
|
||||
--yellow color as tiles
|
||||
tiles = {"#color[yellow]"},
|
||||
visual_size = {x=0.1, y=0.1},
|
||||
textures = {"default_mese_block.png"},
|
||||
initial_sprite_basepos = {x=0, y=0},
|
||||
portalgun=2,
|
||||
bullet=1,
|
||||
@@ -506,12 +543,15 @@ on_step= function(self, dtime)
|
||||
return
|
||||
end
|
||||
for i, ob in pairs(minetest.get_objects_inside_radius(pos, 1.5)) do
|
||||
if ob:is_player() or (ob:get_luaentity() and ob:get_luaentity().bullet~=1) then
|
||||
ob:set_hp(ob:get_hp()-7)
|
||||
ob:punch(self.object, 1,{full_punch_interval=1.0,damage_groups={fleshy=4}}, "default:bronze_pick", nil)
|
||||
if ob:is_player() then
|
||||
if ob:get_hp() > 2 then
|
||||
ob:set_hp(ob:get_hp()-2)
|
||||
else
|
||||
ob:set_hp(0)
|
||||
end
|
||||
self.object:remove()
|
||||
return
|
||||
end
|
||||
end
|
||||
end
|
||||
end,
|
||||
timer=0,
|
||||
@@ -524,7 +564,7 @@ minetest.register_node("portalgun:sign1", {
|
||||
inventory_image = "portalgun_testblock.png^portalgun_sign1.png",
|
||||
drawtype = "nodebox",
|
||||
groups = {snappy = 3, not_in_creative_inventory=0},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
sounds = wood_sounds,
|
||||
is_ground_content = false,
|
||||
paramtype2 = "facedir",
|
||||
paramtype = "light",
|
||||
@@ -539,7 +579,7 @@ minetest.register_node("portalgun:sign2", {
|
||||
inventory_image = "portalgun_testblock.png^portalgun_sign2.png",
|
||||
drawtype = "nodebox",
|
||||
groups = {snappy = 3, not_in_creative_inventory=0},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
sounds = wood_sounds,
|
||||
is_ground_content = false,
|
||||
paramtype2 = "facedir",
|
||||
paramtype = "light",
|
||||
|
BIN
textures/cloud.png
Normal file
After Width: | Height: | Size: 111 B |
BIN
textures/dirt.png
Normal file
After Width: | Height: | Size: 507 B |
BIN
textures/glass.png
Normal file
After Width: | Height: | Size: 553 B |
BIN
textures/portalgun_gun0_rndr.png
Normal file
After Width: | Height: | Size: 6.5 KiB |
BIN
textures/portalgun_gun1_rndr.png
Normal file
After Width: | Height: | Size: 6.5 KiB |
BIN
textures/portalgun_gun2_rndr.png
Normal file
After Width: | Height: | Size: 6.5 KiB |
BIN
textures/steel.png
Normal file
After Width: | Height: | Size: 247 B |
@@ -1,4 +1,15 @@
|
||||
|
||||
stone_sounds = {}
|
||||
stone_sounds.footstep = {name="stone_walk", gain=1.0}
|
||||
stone_sounds.dug = {name="stone_break", gain=1.0}
|
||||
stone_sounds.place = {name="block_place", gain=1.0}
|
||||
glass_sounds = {}
|
||||
glass_sounds.footstep = {name="glass_walk", gain=1.0}
|
||||
glass_sounds.dug = {name="glass_break", gain=1.0}
|
||||
glass_sounds.place = {name="block_place", gain=1.0}
|
||||
wood_sounds = {}
|
||||
wood_sounds.footstep = {name="wood_walk", gain=1.0}
|
||||
wood_sounds.dug = {name="wood_break", gain=1.0}
|
||||
wood_sounds.place = {name="block_place", gain=1.0}
|
||||
local ptgwsc={
|
||||
{"weightedstoragecube.png","portalgun_presplat.png","(blue)"},
|
||||
{"weightedstoragecube2.png","portalgun_presplat2.png","(orange)"},
|
||||
@@ -26,13 +37,12 @@ end,
|
||||
|
||||
minetest.register_node("portalgun:wscspawner2_" .. ii, {
|
||||
description = "Weighted storage cube spawner2 " ..ptgwsc[ii][3],
|
||||
tiles = {"default_steel_block.png","default_steel_block.png","default_steel_block.png","default_steel_block.png","default_steel_block.png",ptgwsc[ii][1]},
|
||||
tiles = {"steel.png","steel.png","steel.png","steel.png","steel.png",ptgwsc[ii][1]},
|
||||
groups = {cracky=2,mesecon_receptor_off = 1, mesecon_effector_off = 1},
|
||||
mesecons = {receptor = {state = "off"}},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
sounds = glass_sounds,
|
||||
is_ground_content = false,
|
||||
paramtype2 = "facedir",
|
||||
mesecons = {effector = {
|
||||
mesecons = {receptor = {state = "off"}, effector = {
|
||||
action_on = function (pos, node)
|
||||
local dir=minetest.get_node(pos).param2
|
||||
local v={x=0, y=0, z=0}
|
||||
@@ -62,7 +72,7 @@ minetest.register_entity("portalgun:wsc" ..ii,{
|
||||
initial_sprite_basepos = {x=0, y=0},
|
||||
is_visible = true,
|
||||
makes_footstep_sound = true,
|
||||
automatic_rotate = false,
|
||||
automatic_rotate = 0,
|
||||
portalgun=2,
|
||||
wsc=ii,
|
||||
on_activate= function(self, staticdata)
|
||||
@@ -78,7 +88,7 @@ on_step= function(self, dtime)
|
||||
self.timer=0
|
||||
self.object:set_acceleration({x=0, y=-10, z=0})
|
||||
self.timer2=self.timer2+1
|
||||
if self.timer2>10 then
|
||||
if self.timer2>4 then
|
||||
self.timer2=0
|
||||
for i, ob in pairs(minetest.get_objects_inside_radius(self.object:get_pos(), 20)) do
|
||||
if ob:is_player() then
|
||||
@@ -86,7 +96,6 @@ on_step= function(self, dtime)
|
||||
end
|
||||
end
|
||||
self.object:set_hp(0)
|
||||
self.object:punch(self.object, 1, "default:bronze_pick", nil)
|
||||
end
|
||||
end,
|
||||
timer=0,
|
||||
@@ -100,8 +109,8 @@ minetest.register_node("portalgun:wscspawner"..ii, {
|
||||
paramtype = "light",
|
||||
paramtype2="facedir",
|
||||
sunlight_propagates = true,
|
||||
light_source = default.LIGHT_MAX - 1,
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
light_source = 14,
|
||||
sounds = stone_sounds,
|
||||
drawtype="nodebox",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
@@ -131,12 +140,12 @@ minetest.register_node("portalgun:wscspawner"..ii, {
|
||||
|
||||
minetest.register_node("portalgun:plantform1_" ..ii, {
|
||||
description = "Pressure platform " .. ptgwsc[ii][3],
|
||||
tiles = {ptgwsc[ii][2],"default_cloud.png","default_cloud.png","default_cloud.png","default_cloud.png","default_cloud.png"},
|
||||
tiles = {ptgwsc[ii][2],"cloud.png","cloud.png","cloud.png","cloud.png","cloud.png"},
|
||||
groups = {mesecon = 2,cracky = 1, not_in_creative_inventory=0},
|
||||
mesecons = {receptor = {state = "off"}},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sounds = stone_sounds,
|
||||
drawtype="nodebox",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
@@ -168,14 +177,14 @@ minetest.register_node("portalgun:plantform1_" ..ii, {
|
||||
|
||||
minetest.register_node("portalgun:plantform2_"..ii, {
|
||||
description = "Pressure platform",
|
||||
tiles = {ptgwsc[ii][2],"default_cloud.png","default_cloud.png","default_cloud.png","default_cloud.png","default_cloud.png"},
|
||||
tiles = {ptgwsc[ii][2],"cloud.png","cloud.png","cloud.png","cloud.png","cloud.png"},
|
||||
drop="portalgun:plantform1_"..ii,
|
||||
groups = {mesecon = 2,cracky = 1, not_in_creative_inventory=1},
|
||||
mesecons = {receptor = {state = "on"}},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
light_source = default.LIGHT_MAX - 1,
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
light_source = 14,
|
||||
sounds = stone_sounds,
|
||||
drawtype="nodebox",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
@@ -209,12 +218,12 @@ end -- of for #
|
||||
|
||||
minetest.register_node("portalgun:plantform_nu1", {
|
||||
description = "Pressure platform (player or cube)",
|
||||
tiles = {"portalgun_presplat5.png","default_cloud.png","default_cloud.png","default_cloud.png","default_cloud.png","default_cloud.png"},
|
||||
tiles = {"portalgun_presplat5.png","cloud.png","cloud.png","cloud.png","cloud.png","cloud.png"},
|
||||
groups = {mesecon = 2,cracky = 1, not_in_creative_inventory=0},
|
||||
mesecons = {receptor = {state = "off"}},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sounds = stone_sounds,
|
||||
drawtype="nodebox",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
@@ -246,14 +255,14 @@ minetest.register_node("portalgun:plantform_nu1", {
|
||||
|
||||
minetest.register_node("portalgun:plantform_nu2", {
|
||||
description = "Pressure platform",
|
||||
tiles = {"portalgun_presplat5.png","default_cloud.png","default_cloud.png","default_cloud.png","default_cloud.png","default_cloud.png"},
|
||||
tiles = {"portalgun_presplat5.png","cloud.png","cloud.png","cloud.png","cloud.png","cloud.png"},
|
||||
drop="portalgun:plantform_nu1",
|
||||
groups = {mesecon = 2,cracky = 1, not_in_creative_inventory=1},
|
||||
mesecons = {receptor = {state = "on"}},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
light_source = default.LIGHT_MAX - 1,
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
light_source = 14,
|
||||
sounds = stone_sounds,
|
||||
drawtype="nodebox",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
@@ -284,12 +293,12 @@ minetest.register_node("portalgun:plantform_nu2", {
|
||||
|
||||
minetest.register_node("portalgun:planthole", {
|
||||
description = "Plathole (activate by any cube, 2 blocks under)",
|
||||
tiles = {"default_cloud.png"},
|
||||
tiles = {"cloud.png"},
|
||||
groups = {mesecon = 2,cracky = 1},
|
||||
mesecons = {receptor = {state = "off"}},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sounds = stone_sounds,
|
||||
drawtype="nodebox",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
@@ -326,14 +335,13 @@ minetest.register_node("portalgun:objdestroyer_1", {
|
||||
description = "Object destroyer (destroys on active)",
|
||||
tiles = {"portalgun_testblock.png^[colorize:#FF0000aa"},
|
||||
groups = {cracky = 2,mesecon=1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
sounds = stone_sounds,
|
||||
mesecons = {effector = {
|
||||
action_on = function (pos, node)
|
||||
minetest.set_node(pos, {name ="portalgun:objdestroyer_2"})
|
||||
for i, ob in pairs(minetest.get_objects_inside_radius(pos, 5)) do
|
||||
if ob:get_luaentity() then
|
||||
ob:set_hp(0)
|
||||
ob:punch(ob, {full_punch_interval=1.0,damage_groups={fleshy=9000}}, "default:bronze_pick", nil)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -346,7 +354,7 @@ minetest.register_node("portalgun:objdestroyer_2", {
|
||||
sunlight_propagates = true,
|
||||
drop="portalgun:objdestroyer_1",
|
||||
paramtype="light",
|
||||
light_source = default.LIGHT_MAX - 1,
|
||||
light_source = 14,
|
||||
mesecons = {conductor = {
|
||||
state = mesecon.state.on,
|
||||
offstate = "portalgun:objdestroyer_1",
|
||||
|