Compare commits
3 Commits
034489359d
...
bad55d19a0
Author | SHA1 | Date | |
---|---|---|---|
bad55d19a0 | |||
dec116cc5e | |||
15640770f3 |
@@ -1,4 +1,8 @@
|
|||||||
# portalgun
|
# 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
|
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},
|
spritediv = {x=1, y=1},
|
||||||
is_visible = true,
|
is_visible = true,
|
||||||
makes_footstep_sound = false,
|
makes_footstep_sound = false,
|
||||||
automatic_rotate = false,
|
automatic_rotate = 0,
|
||||||
timer=0,
|
timer=0,
|
||||||
time=0.1,
|
time=0.1,
|
||||||
portalgun_power=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
|
if self.target and self.target:get_attach() then
|
||||||
self.target:set_detach()
|
self.target:set_detach()
|
||||||
self.target:set_hp(0)
|
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
|
||||||
|
|
||||||
end,
|
end,
|
||||||
@@ -72,7 +71,6 @@ on_step= function(self, dtime)
|
|||||||
self.timer=0
|
self.timer=0
|
||||||
if self.target==nil or (not self.target:get_attach()) then
|
if self.target==nil or (not self.target:get_attach()) then
|
||||||
self.object:set_hp(0)
|
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
|
if self.sound then minetest.sound_stop(self.sound) end
|
||||||
end
|
end
|
||||||
if self.player then
|
if self.player then
|
||||||
@@ -106,7 +104,7 @@ minetest.register_entity("portalgun:power2",{
|
|||||||
spritediv = {x=1, y=1},
|
spritediv = {x=1, y=1},
|
||||||
is_visible = true,
|
is_visible = true,
|
||||||
makes_footstep_sound = false,
|
makes_footstep_sound = false,
|
||||||
automatic_rotate = false,
|
automatic_rotate = 0,
|
||||||
timer=0,
|
timer=0,
|
||||||
time=0.025,
|
time=0.025,
|
||||||
portalgun_power=1,
|
portalgun_power=1,
|
||||||
@@ -152,7 +150,6 @@ on_step= function(self, dtime)
|
|||||||
|
|
||||||
if self.target==nil or (not self.target:get_attach()) then
|
if self.target==nil or (not self.target:get_attach()) then
|
||||||
self.object:set_hp(0)
|
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
|
return self
|
||||||
end
|
end
|
||||||
return self
|
return self
|
||||||
|
230
init.lua
@@ -4,7 +4,6 @@ proportal_group_only = false
|
|||||||
|
|
||||||
portalgun={new=0,checkpoints={}}
|
portalgun={new=0,checkpoints={}}
|
||||||
dofile(minetest.get_modpath("portalgun") .. "/gravityuse.lua") -- the gravity part of portalgun
|
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
|
dofile(minetest.get_modpath("portalgun") .. "/stuff.lua") -- security cam
|
||||||
if disable_portal_stuff==false and minetest.get_modpath("mesecons")~=nil then
|
if disable_portal_stuff==false and minetest.get_modpath("mesecons")~=nil then
|
||||||
dofile(minetest.get_modpath("portalgun") .. "/weightedstoragecube.lua") -- weighted storage cube
|
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
|
end
|
||||||
portalgun_portal[name].portal1_active=false
|
portalgun_portal[name].portal1_active=false
|
||||||
portalgun_portal[name].portal1:set_hp(0)
|
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
|
end
|
||||||
if (n==2 or n==0) and portalgun_portal[name].portal2~=nil then
|
if (n==2 or n==0) and portalgun_portal[name].portal2~=nil then
|
||||||
if n==0 then
|
if n==0 then
|
||||||
@@ -67,7 +65,6 @@ function portal_delete(name,n) -- using set_hp & :punch instand of :remove ... n
|
|||||||
end
|
end
|
||||||
portalgun_portal[name].portal2_active=false
|
portalgun_portal[name].portal2_active=false
|
||||||
portalgun_portal[name].portal2:set_hp(0)
|
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
|
end
|
||||||
if n==0 then portalgun_portal[name]=nil end
|
if n==0 then portalgun_portal[name]=nil end
|
||||||
end
|
end
|
||||||
@@ -340,157 +337,85 @@ on_activate= function(self, staticdata)
|
|||||||
end,
|
end,
|
||||||
on_step=portalgun_on_step,
|
on_step=portalgun_on_step,
|
||||||
})
|
})
|
||||||
|
minetest.register_craftitem("portalgun:gun", {
|
||||||
|
|
||||||
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", {
|
|
||||||
description = "Portalgun",
|
description = "Portalgun",
|
||||||
range = 5,
|
range = 100,
|
||||||
tiles={"portalgun_gun0.png"},
|
inventory_image = "portalgun_gun0_rndr.png",
|
||||||
selection_box = {
|
wield_image = "portalgun_gun0_rndr.png",
|
||||||
type = "fixed",
|
tool_capabilities = {
|
||||||
fixed = {
|
full_punch_interval = 0.5,
|
||||||
{-0.3, -0.5, -0.3, 0.3, -0.1,0.3},
|
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",
|
on_place=function(itemstack, user, pointed_thing)
|
||||||
mesh="portalgun_gun_wearing.obj",
|
portalgun_setmode(itemstack, user, pointed_thing, 2)
|
||||||
sunlight_propagates = true,
|
portalgun_onuse(itemstack, user, pointed_thing)
|
||||||
paramtype="light",
|
return itemstack
|
||||||
paramtype2="facedir",
|
end,
|
||||||
on_place=function(itemstack, user, pointed_thing)
|
on_use = function(itemstack, user, pointed_thing)
|
||||||
portalgun_mode(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
|
return itemstack
|
||||||
end,
|
end,
|
||||||
on_use = function(itemstack, user, pointed_thing)
|
on_use = function(itemstack, user, pointed_thing)
|
||||||
|
portalgun_setmode(itemstack, user, pointed_thing, 1)
|
||||||
portalgun_onuse(itemstack, user, pointed_thing)
|
portalgun_onuse(itemstack, user, pointed_thing)
|
||||||
return itemstack
|
return itemstack
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
minetest.register_craftitem("portalgun:gun2", {
|
||||||
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", {
|
|
||||||
description = "Portalgun (orange)",
|
description = "Portalgun (orange)",
|
||||||
range = 5,
|
range = 100,
|
||||||
tiles={"portalgun_gun2.png"},
|
inventory_image = "portalgun_gun2_rndr.png",
|
||||||
selection_box = {
|
wield_image = "portalgun_gun2_rndr.png",
|
||||||
type = "fixed",
|
tool_capabilities = {
|
||||||
fixed = {
|
full_punch_interval = 0.5,
|
||||||
{-0.3, -0.5, -0.3, 0.3, -0.1,0.3},
|
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",
|
groups = {not_in_creative_inventory=1},
|
||||||
mesh="portalgun_gun.obj",
|
on_place=function(itemstack, user, pointed_thing)
|
||||||
sunlight_propagates = true,
|
portalgun_setmode(itemstack, user, pointed_thing, 2)
|
||||||
paramtype="light",
|
portalgun_onuse(itemstack, user, pointed_thing)
|
||||||
paramtype2="facedir",
|
return itemstack
|
||||||
visual_scale=0.4,
|
end,
|
||||||
groups = {not_in_creative_inventory=1,dig_immediate = 3},
|
on_use = function(itemstack, user, pointed_thing)
|
||||||
on_use = function(itemstack, user, pointed_thing)
|
portalgun_setmode(itemstack, user, pointed_thing, 1)
|
||||||
portalgun_onuse(itemstack, user, pointed_thing)
|
portalgun_onuse(itemstack, user, pointed_thing)
|
||||||
return itemstack
|
return itemstack
|
||||||
end
|
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
|
function portalgun_mode(itemstack, user, pointed_thing) -- change modes
|
||||||
local item=itemstack:to_table()
|
local item=itemstack:to_table()
|
||||||
local meta=minetest.deserialize(item["metadata"])
|
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})
|
minetest.sound_play("portalgun_mode", {pos=user:get_pos(),max_hear_distance = 5, gain = 1})
|
||||||
end
|
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)
|
local function rnd(r)
|
||||||
return math.floor(r+ 0.5)
|
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}
|
portalgun_portal[name]={lifelime=portalgun_lifelime,project=1,timer=0,portal1_active=false,portal2_active=false,portal1_use=0,portal2_use=0}
|
||||||
end
|
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
|
if key.sneak then
|
||||||
portal_delete(name,0)
|
portal_delete(name,0)
|
||||||
return itemstack
|
return itemstack
|
||||||
|
1
mod.conf
@@ -1,4 +1,3 @@
|
|||||||
name = portalgun
|
name = portalgun
|
||||||
description = Portals and stuff
|
description = Portals and stuff
|
||||||
depends = default
|
|
||||||
optional_depends = mesecons
|
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}}
|
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", {
|
minetest.register_node("portalgun:cplps1", {
|
||||||
description = "Close player portal",
|
description = "Close player portal",
|
||||||
tiles = {"portalgun_gray.png"},
|
tiles = {"portalgun_gray.png"},
|
||||||
groups = {mesecon=2,snappy = 3, not_in_creative_inventory=0},
|
groups = {mesecon=2,snappy = 3, not_in_creative_inventory=0},
|
||||||
sounds = default.node_sound_stone_defaults(),
|
sounds = stone_sounds,
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
mesecons = {effector = {
|
mesecons = {effector = {
|
||||||
action_on = function (pos, node)
|
action_on = function (pos, node)
|
||||||
@@ -31,7 +42,7 @@ minetest.register_node("portalgun:cplps2", {
|
|||||||
description = "Close player portal",
|
description = "Close player portal",
|
||||||
tiles = {"portalgun_gray.png^[colorize:#ffe85977"},
|
tiles = {"portalgun_gray.png^[colorize:#ffe85977"},
|
||||||
groups = {mesecon=2,snappy = 3, not_in_creative_inventory=1},
|
groups = {mesecon=2,snappy = 3, not_in_creative_inventory=1},
|
||||||
sounds = default.node_sound_stone_defaults(),
|
sounds = stone_sounds,
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
light_source = 4,
|
light_source = 4,
|
||||||
@@ -46,7 +57,7 @@ minetest.register_node("portalgun:sign_v", {
|
|||||||
drop="portalgun:sign_x",
|
drop="portalgun:sign_x",
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
groups = {mesecon=2,snappy = 3, not_in_creative_inventory=1},
|
groups = {mesecon=2,snappy = 3, not_in_creative_inventory=1},
|
||||||
sounds = default.node_sound_wood_defaults(),
|
sounds = wood_sounds,
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
@@ -68,7 +79,7 @@ minetest.register_node("portalgun:sign_x", {
|
|||||||
inventory_image = "portalgun_x.png",
|
inventory_image = "portalgun_x.png",
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
groups = {mesecon=2,snappy = 3, not_in_creative_inventory=0},
|
groups = {mesecon=2,snappy = 3, not_in_creative_inventory=0},
|
||||||
sounds = default.node_sound_wood_defaults(),
|
sounds = wood_sounds,
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
@@ -96,7 +107,7 @@ minetest.register_node("portalgun:portaltarget_" .. portaltarget_sig[ii][1], {
|
|||||||
tiles = {"portalgun_testblock.png^" .. portaltarget_sig[ii][2]},
|
tiles = {"portalgun_testblock.png^" .. portaltarget_sig[ii][2]},
|
||||||
groups = {mesecon = 2,cracky=2},
|
groups = {mesecon = 2,cracky=2},
|
||||||
mesecons = {receptor = {state = "off"}},
|
mesecons = {receptor = {state = "off"}},
|
||||||
sounds = default.node_sound_stone_defaults(),
|
sounds = stone_sounds,
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
@@ -128,12 +139,12 @@ minetest.register_node("portalgun:button", {
|
|||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
selection_box = {type = "fixed",fixed = { -0.2, -0.5, -0.2, 0.2, 0.85, 0.2 }},
|
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"}},
|
mesecons = {receptor = {state = "off"}},
|
||||||
on_rightclick = function(pos, node, clicker)
|
on_rightclick = function(pos, node, clicker)
|
||||||
mesecon.receptor_on(pos)
|
mesecon.receptor_on(pos)
|
||||||
minetest.get_node_timer(pos):start(2)
|
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,
|
end,
|
||||||
on_timer = function (pos, elapsed)
|
on_timer = function (pos, elapsed)
|
||||||
mesecon.receptor_off(pos)
|
mesecon.receptor_off(pos)
|
||||||
@@ -158,7 +169,7 @@ minetest.register_node("portalgun:dmgblock_1", {
|
|||||||
paramtype="light",
|
paramtype="light",
|
||||||
alpha = 50,
|
alpha = 50,
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
sounds = default.node_sound_stone_defaults(),
|
sounds = stone_sounds,
|
||||||
walkable=false,
|
walkable=false,
|
||||||
damage_per_second = 5,
|
damage_per_second = 5,
|
||||||
mesecons = {conductor = {
|
mesecons = {conductor = {
|
||||||
@@ -218,7 +229,7 @@ minetest.register_node("portalgun:autocheckpoint", {
|
|||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
light_source = 5,
|
light_source = 5,
|
||||||
sounds = default.node_sound_stone_defaults(),
|
sounds = stone_sounds,
|
||||||
drawtype="nodebox",
|
drawtype="nodebox",
|
||||||
node_box = {
|
node_box = {
|
||||||
type="fixed",
|
type="fixed",
|
||||||
@@ -256,7 +267,7 @@ minetest.register_node("portalgun:powerdoor1_1", {
|
|||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
sounds = default.node_sound_stone_defaults(),
|
sounds = stone_sounds,
|
||||||
drawtype="nodebox",
|
drawtype="nodebox",
|
||||||
alpha = 160,
|
alpha = 160,
|
||||||
node_box = {
|
node_box = {
|
||||||
@@ -311,7 +322,7 @@ minetest.register_node("portalgun:powerdoor1_2", {
|
|||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
sounds = default.node_sound_stone_defaults(),
|
sounds = stone_sounds,
|
||||||
drawtype="nodebox",
|
drawtype="nodebox",
|
||||||
alpha = 160,
|
alpha = 160,
|
||||||
node_box = {
|
node_box = {
|
||||||
@@ -387,7 +398,7 @@ minetest.register_node("portalgun:delayer", {
|
|||||||
description = "Delayer (Punsh to change time)",
|
description = "Delayer (Punsh to change time)",
|
||||||
tiles = {"portalgun_delayer.png","portalgun_testblock.png"},
|
tiles = {"portalgun_delayer.png","portalgun_testblock.png"},
|
||||||
groups = {dig_immediate = 2,mesecon=1},
|
groups = {dig_immediate = 2,mesecon=1},
|
||||||
sounds = default.node_sound_stone_defaults(),
|
sounds = stone_sounds,
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
drawtype="nodebox",
|
drawtype="nodebox",
|
||||||
@@ -442,7 +453,7 @@ minetest.register_node("portalgun:testblocks", {
|
|||||||
description = "Trapblock",
|
description = "Trapblock",
|
||||||
tiles = {"portalgun_testblock.png"},
|
tiles = {"portalgun_testblock.png"},
|
||||||
groups = {cracky = 1,mesecon=2},
|
groups = {cracky = 1,mesecon=2},
|
||||||
sounds = default.node_sound_stone_defaults(),
|
sounds = stone_sounds,
|
||||||
mesecons = {conductor = {
|
mesecons = {conductor = {
|
||||||
state = mesecon.state.off,
|
state = mesecon.state.off,
|
||||||
onstate = "portalgun:testblocks2",
|
onstate = "portalgun:testblocks2",
|
||||||
@@ -470,7 +481,6 @@ minetest.register_node("portalgun:door_1", {
|
|||||||
description = "Mesecon Door",
|
description = "Mesecon Door",
|
||||||
drop="portalgun:door_1",
|
drop="portalgun:door_1",
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
paramtype = "light",
|
|
||||||
node_box = {
|
node_box = {
|
||||||
type = "fixed",
|
type = "fixed",
|
||||||
fixed = {
|
fixed = {
|
||||||
@@ -479,7 +489,7 @@ minetest.register_node("portalgun:door_1", {
|
|||||||
},
|
},
|
||||||
tiles = {"portalgun_testblock.png"},
|
tiles = {"portalgun_testblock.png"},
|
||||||
groups = {mesecon=1,cracky = 1, level = 2, not_in_creative_inventory=0},
|
groups = {mesecon=1,cracky = 1, level = 2, not_in_creative_inventory=0},
|
||||||
sounds = default.node_sound_stone_defaults(),
|
sounds = stone_sounds,
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
@@ -512,7 +522,6 @@ minetest.register_node("portalgun:door_2", {
|
|||||||
description = "Door 2-1",
|
description = "Door 2-1",
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
drop="portalgun:door_1",
|
drop="portalgun:door_1",
|
||||||
paramtype = "light",
|
|
||||||
node_box = {
|
node_box = {
|
||||||
type = "fixed",
|
type = "fixed",
|
||||||
fixed = {
|
fixed = {
|
||||||
@@ -521,7 +530,7 @@ minetest.register_node("portalgun:door_2", {
|
|||||||
},
|
},
|
||||||
tiles = {"portalgun_testblock.png"},
|
tiles = {"portalgun_testblock.png"},
|
||||||
groups = {mesecon=1,cracky = 1, level = 2, not_in_creative_inventory=1},
|
groups = {mesecon=1,cracky = 1, level = 2, not_in_creative_inventory=1},
|
||||||
sounds = default.node_sound_wood_defaults(),
|
sounds = wood_sounds,
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
@@ -544,7 +553,6 @@ minetest.register_node("portalgun:door_open_1", {
|
|||||||
description = "Door (open) 2-o-1",
|
description = "Door (open) 2-o-1",
|
||||||
drop="portalgun:door_1",
|
drop="portalgun:door_1",
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
paramtype = "light",
|
|
||||||
node_box = {
|
node_box = {
|
||||||
type = "fixed",
|
type = "fixed",
|
||||||
fixed = {
|
fixed = {
|
||||||
@@ -553,7 +561,7 @@ minetest.register_node("portalgun:door_open_1", {
|
|||||||
},
|
},
|
||||||
tiles = {"portalgun_testblock.png"},
|
tiles = {"portalgun_testblock.png"},
|
||||||
groups = {mesecon=1,cracky = 1, level = 2, not_in_creative_inventory=1},
|
groups = {mesecon=1,cracky = 1, level = 2, not_in_creative_inventory=1},
|
||||||
sounds = default.node_sound_wood_defaults(),
|
sounds = wood_sounds,
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
@@ -575,7 +583,6 @@ minetest.register_node("portalgun:door_open_2", {
|
|||||||
description = "Door (open) 2-o-1",
|
description = "Door (open) 2-o-1",
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
drop="portalgun:door_1",
|
drop="portalgun:door_1",
|
||||||
paramtype = "light",
|
|
||||||
node_box = {
|
node_box = {
|
||||||
type = "fixed",
|
type = "fixed",
|
||||||
fixed = {
|
fixed = {
|
||||||
@@ -584,7 +591,7 @@ minetest.register_node("portalgun:door_open_2", {
|
|||||||
},
|
},
|
||||||
tiles = {"portalgun_testblock.png"},
|
tiles = {"portalgun_testblock.png"},
|
||||||
groups = {mesecon=1,cracky = 1, level = 2, not_in_creative_inventory=1},
|
groups = {mesecon=1,cracky = 1, level = 2, not_in_creative_inventory=1},
|
||||||
sounds = default.node_sound_wood_defaults(),
|
sounds = wood_sounds,
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
sunlight_propagates = true,
|
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", {
|
minetest.register_node("portalgun:powerballspawner", {
|
||||||
description = "Power ball spawner" ,
|
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},
|
groups = {cracky=2},
|
||||||
sounds = default.node_sound_glass_defaults(),
|
sounds = glass_sounds,
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
on_place = minetest.rotate_node,
|
on_place = minetest.rotate_node,
|
||||||
@@ -29,9 +41,9 @@ minetest.register_node("portalgun:powerballspawner", {
|
|||||||
|
|
||||||
minetest.register_node("portalgun:powerballspawner2", {
|
minetest.register_node("portalgun:powerballspawner2", {
|
||||||
description = "Power ball spawner (spawn on activate)" ,
|
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},
|
groups = {cracky=2,mesecon=1},
|
||||||
sounds = default.node_sound_glass_defaults(),
|
sounds = glass_sounds,
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
on_place = minetest.rotate_node,
|
on_place = minetest.rotate_node,
|
||||||
@@ -66,7 +78,7 @@ minetest.register_entity("portalgun:powerball",{
|
|||||||
initial_sprite_basepos = {x=0, y=0},
|
initial_sprite_basepos = {x=0, y=0},
|
||||||
is_visible = true,
|
is_visible = true,
|
||||||
makes_footstep_sound = false,
|
makes_footstep_sound = false,
|
||||||
automatic_rotate = false,
|
automatic_rotate = 0,
|
||||||
portalgun=2,
|
portalgun=2,
|
||||||
powerball=1,
|
powerball=1,
|
||||||
on_activate= function(self, staticdata)
|
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
|
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
|
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:set_hp(0)
|
||||||
ob:punch(ob, {full_punch_interval=1.0,damage_groups={fleshy=9000}}, "default:bronze_pick", nil)
|
|
||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
self.timer2=self.timer2+1
|
self.timer2=self.timer2+1
|
||||||
@@ -101,7 +111,6 @@ on_step= function(self, dtime)
|
|||||||
if self.timer2>40 then
|
if self.timer2>40 then
|
||||||
minetest.sound_stop(self.sound)
|
minetest.sound_stop(self.sound)
|
||||||
self.object:set_hp(0)
|
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
|
return self
|
||||||
end
|
end
|
||||||
local v=self.object:get_velocity()
|
local v=self.object:get_velocity()
|
||||||
@@ -128,7 +137,7 @@ minetest.register_node("portalgun:powerballtarget", {
|
|||||||
tiles = {"portalgun_powerballstarget.png"},
|
tiles = {"portalgun_powerballstarget.png"},
|
||||||
groups = {mesecon = 2,cracky=2},
|
groups = {mesecon = 2,cracky=2},
|
||||||
mesecons = {receptor = {state = "off"}},
|
mesecons = {receptor = {state = "off"}},
|
||||||
sounds = default.node_sound_stone_defaults(),
|
sounds = stone_sounds,
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
on_timer = function (pos, elapsed)
|
on_timer = function (pos, elapsed)
|
||||||
mesecon.receptor_off(pos)
|
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
|
local snuma=1
|
||||||
for ii = 0, 9, 1 do
|
for ii = 0, 9, 1 do
|
||||||
if ii==1 then snuma=0 end
|
if ii==1 then snuma=0 end
|
||||||
@@ -7,7 +19,7 @@ minetest.register_node("portalgun:sign_numa".. ii, {
|
|||||||
drop="portalgun:sign_numa1",
|
drop="portalgun:sign_numa1",
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
groups = {mesecon=2,portalnuma=1,dig_immediate = 3, not_in_creative_inventory=snuma},
|
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,
|
is_ground_content = false,
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
@@ -51,7 +63,7 @@ minetest.register_node("portalgun:sign_numb".. ii, {
|
|||||||
drop="portalgun:sign_numa1",
|
drop="portalgun:sign_numa1",
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
groups = {mesecon=2,portalnumb=1,dig_immediate = 3, not_in_creative_inventory=1},
|
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,
|
is_ground_content = false,
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
@@ -87,7 +99,7 @@ minetest.register_node("portalgun:turretgun2", {
|
|||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
sounds = default.node_sound_defaults(),
|
sounds = stone_sounds,
|
||||||
tiles = {"portalgun_sentry_turret.png"},
|
tiles = {"portalgun_sentry_turret.png"},
|
||||||
drawtype = "mesh",
|
drawtype = "mesh",
|
||||||
mesh="torret2.obj",
|
mesh="torret2.obj",
|
||||||
@@ -152,7 +164,7 @@ minetest.register_node("portalgun:turretgun", {
|
|||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
sounds = default.node_sound_defaults(),
|
sounds = stone_sounds,
|
||||||
tiles = {"portalgun_sentry_turret.png"},
|
tiles = {"portalgun_sentry_turret.png"},
|
||||||
drawtype = "mesh",
|
drawtype = "mesh",
|
||||||
mesh="torret1.obj",
|
mesh="torret1.obj",
|
||||||
@@ -207,6 +219,22 @@ minetest.register_node("portalgun:turretgun", {
|
|||||||
end
|
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", {
|
minetest.register_node("portalgun:warntape", {
|
||||||
description = "Warntape",
|
description = "Warntape",
|
||||||
@@ -214,7 +242,7 @@ minetest.register_node("portalgun:warntape", {
|
|||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
sounds = default.node_sound_defaults(),
|
sounds = stone_sounds,
|
||||||
tiles = {"portalgun_warntape.png",},
|
tiles = {"portalgun_warntape.png",},
|
||||||
walkable = false,
|
walkable = false,
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
@@ -231,7 +259,6 @@ minetest.register_node("portalgun:toxwater_1", {
|
|||||||
description = "Toxic water",
|
description = "Toxic water",
|
||||||
drawtype = "liquid",
|
drawtype = "liquid",
|
||||||
tiles = {"portalgun_toxwat.png"},
|
tiles = {"portalgun_toxwat.png"},
|
||||||
post_effect_color = {a = 200, r = 119, g = 70, b = 16},
|
|
||||||
alpha = 190,
|
alpha = 190,
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
walkable = false,
|
walkable = false,
|
||||||
@@ -250,13 +277,11 @@ minetest.register_node("portalgun:toxwater_1", {
|
|||||||
liquid_range = 3,
|
liquid_range = 3,
|
||||||
post_effect_color = {a = 200, r = 119, g = 70, b = 16},
|
post_effect_color = {a = 200, r = 119, g = 70, b = 16},
|
||||||
groups = {water = 3, liquid = 3},
|
groups = {water = 3, liquid = 3},
|
||||||
sounds = default.node_sound_water_defaults(),
|
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("portalgun:toxwater_2", {
|
minetest.register_node("portalgun:toxwater_2", {
|
||||||
description = "Toxic water 2",
|
description = "Toxic water 2",
|
||||||
drawtype = "flowingliquid",
|
drawtype = "flowingliquid",
|
||||||
tiles = {"portalgun_toxwat.png"},
|
|
||||||
tiles = {name = "portalgun_toxwat.png",backface_culling=false},
|
tiles = {name = "portalgun_toxwat.png",backface_culling=false},
|
||||||
special_tiles = {{name = "portalgun_toxwat.png",backface_culling=true},{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,
|
alpha = 190,
|
||||||
@@ -277,8 +302,7 @@ minetest.register_node("portalgun:toxwater_2", {
|
|||||||
liquid_renewable = false,
|
liquid_renewable = false,
|
||||||
liquid_range = 3,
|
liquid_range = 3,
|
||||||
post_effect_color = {a = 200, r = 119, g = 70, b = 16},
|
post_effect_color = {a = 200, r = 119, g = 70, b = 16},
|
||||||
groups = {water = 3, liquid = 3, not_in_creative_inventory = 1},
|
groups = {water = 3, liquid = 3, not_in_creative_inventory = 1}
|
||||||
sounds = default.node_sound_water_defaults(),
|
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_tool("portalgun:ed", {
|
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
|
for ii, ob in pairs(minetest.get_objects_inside_radius(pos, 7)) do
|
||||||
if ob:get_luaentity() then
|
if ob:get_luaentity() then
|
||||||
ob:set_hp(0)
|
ob:set_hp(0)
|
||||||
ob:punch(ob, {full_punch_interval=1.0,damage_groups={fleshy=9000}}, "default:bronze_pick", nil)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
return itemstack
|
return itemstack
|
||||||
@@ -314,10 +337,10 @@ minetest.register_node("portalgun:cake", {
|
|||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
selection_box = {type = "fixed",fixed = { -0.3, -0.5, -0.3, 0.3, 0, 0.3 }},
|
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 = {
|
tiles = {
|
||||||
"default_dirt.png^portalgun_cake1.png",
|
"dirt.png^portalgun_cake1.png",
|
||||||
"default_dirt.png^portalgun_cake2.png",
|
"dirt.png^portalgun_cake2.png",
|
||||||
},
|
},
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
node_box = {
|
node_box = {
|
||||||
@@ -342,14 +365,14 @@ minetest.register_node("portalgun:testblock", {
|
|||||||
description = "Test block",
|
description = "Test block",
|
||||||
tiles = {"portalgun_testblock.png"},
|
tiles = {"portalgun_testblock.png"},
|
||||||
groups = {cracky = 1},
|
groups = {cracky = 1},
|
||||||
sounds = default.node_sound_stone_defaults(),
|
sounds = stone_sounds,
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("portalgun:apb", {
|
minetest.register_node("portalgun:apb", {
|
||||||
description = "Anti portal block",
|
description = "Anti portal block",
|
||||||
tiles = {"portalgun_testblock.png^[colorize:#ffffffaa"},
|
tiles = {"portalgun_testblock.png^[colorize:#ffffffaa"},
|
||||||
groups = {cracky = 3,antiportal=1},
|
groups = {cracky = 3,antiportal=1},
|
||||||
sounds = default.node_sound_stone_defaults(),
|
sounds = stone_sounds,
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("portalgun:apg", {
|
minetest.register_node("portalgun:apg", {
|
||||||
@@ -357,18 +380,18 @@ minetest.register_node("portalgun:apg", {
|
|||||||
drawtype="glasslike",
|
drawtype="glasslike",
|
||||||
paramtype="light",
|
paramtype="light",
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
tiles = {"default_glass.png^[colorize:#ffffffaa"},
|
tiles = {"glass.png^[colorize:#ffffffaa"},
|
||||||
groups = {cracky = 1,antiportal=1},
|
groups = {cracky = 1,antiportal=1},
|
||||||
sounds = default.node_sound_glass_defaults(),
|
sounds = glass_sounds,
|
||||||
})
|
})
|
||||||
minetest.register_node("portalgun:hard_glass", {
|
minetest.register_node("portalgun:hard_glass", {
|
||||||
description = "Hard glass",
|
description = "Hard glass",
|
||||||
drawtype="glasslike",
|
drawtype="glasslike",
|
||||||
paramtype="light",
|
paramtype="light",
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
tiles = {"default_glass.png^[colorize:#ddddddaa"},
|
tiles = {"glass.png^[colorize:#ddddddaa"},
|
||||||
groups = {cracky = 1},
|
groups = {cracky = 1},
|
||||||
sounds = default.node_sound_glass_defaults(),
|
sounds = glass_sounds,
|
||||||
})
|
})
|
||||||
|
|
||||||
function portalgun_visiable(pos,ob)
|
function portalgun_visiable(pos,ob)
|
||||||
@@ -428,7 +451,7 @@ minetest.register_node("portalgun:secam_off", {
|
|||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
walkable=false,
|
walkable=false,
|
||||||
groups = {dig_immediate = 3},
|
groups = {dig_immediate = 3},
|
||||||
sounds = default.node_sound_glass_defaults(),
|
sounds = glass_sounds,
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
@@ -452,7 +475,7 @@ minetest.register_node("portalgun:secam", {
|
|||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
walkable=false,
|
walkable=false,
|
||||||
groups = {dig_immediate = 3,stone=1,not_in_creative_inventory=1},
|
groups = {dig_immediate = 3,stone=1,not_in_creative_inventory=1},
|
||||||
sounds = default.node_sound_glass_defaults(),
|
sounds = glass_sounds,
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
@@ -485,14 +508,28 @@ on_timer=function(pos, elapsed)
|
|||||||
end,
|
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",{
|
minetest.register_entity("portalgun:bullet1",{
|
||||||
hp_max = 1,
|
hp_max = 1,
|
||||||
--physical = true,
|
--physical = true,
|
||||||
--collisionbox={-0.01,-0.01,-0.01,0.01,0.01,0.01},
|
--collisionbox={-0.01,-0.01,-0.01,0.01,0.01,0.01},
|
||||||
pointable=false,
|
pointable=false,
|
||||||
visual = "sprite",
|
visual = "mesh",
|
||||||
|
mesh = "bullet.obj",
|
||||||
|
--yellow color as tiles
|
||||||
|
tiles = {"#color[yellow]"},
|
||||||
visual_size = {x=0.1, y=0.1},
|
visual_size = {x=0.1, y=0.1},
|
||||||
textures = {"default_mese_block.png"},
|
|
||||||
initial_sprite_basepos = {x=0, y=0},
|
initial_sprite_basepos = {x=0, y=0},
|
||||||
portalgun=2,
|
portalgun=2,
|
||||||
bullet=1,
|
bullet=1,
|
||||||
@@ -506,12 +543,15 @@ on_step= function(self, dtime)
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
for i, ob in pairs(minetest.get_objects_inside_radius(pos, 1.5)) do
|
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
|
if ob:is_player() then
|
||||||
ob:set_hp(ob:get_hp()-7)
|
if ob:get_hp() > 2 then
|
||||||
ob:punch(self.object, 1,{full_punch_interval=1.0,damage_groups={fleshy=4}}, "default:bronze_pick", nil)
|
ob:set_hp(ob:get_hp()-2)
|
||||||
|
else
|
||||||
|
ob:set_hp(0)
|
||||||
|
end
|
||||||
self.object:remove()
|
self.object:remove()
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
timer=0,
|
timer=0,
|
||||||
@@ -524,7 +564,7 @@ minetest.register_node("portalgun:sign1", {
|
|||||||
inventory_image = "portalgun_testblock.png^portalgun_sign1.png",
|
inventory_image = "portalgun_testblock.png^portalgun_sign1.png",
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
groups = {snappy = 3, not_in_creative_inventory=0},
|
groups = {snappy = 3, not_in_creative_inventory=0},
|
||||||
sounds = default.node_sound_wood_defaults(),
|
sounds = wood_sounds,
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
@@ -539,7 +579,7 @@ minetest.register_node("portalgun:sign2", {
|
|||||||
inventory_image = "portalgun_testblock.png^portalgun_sign2.png",
|
inventory_image = "portalgun_testblock.png^portalgun_sign2.png",
|
||||||
drawtype = "nodebox",
|
drawtype = "nodebox",
|
||||||
groups = {snappy = 3, not_in_creative_inventory=0},
|
groups = {snappy = 3, not_in_creative_inventory=0},
|
||||||
sounds = default.node_sound_wood_defaults(),
|
sounds = wood_sounds,
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
paramtype = "light",
|
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={
|
local ptgwsc={
|
||||||
{"weightedstoragecube.png","portalgun_presplat.png","(blue)"},
|
{"weightedstoragecube.png","portalgun_presplat.png","(blue)"},
|
||||||
{"weightedstoragecube2.png","portalgun_presplat2.png","(orange)"},
|
{"weightedstoragecube2.png","portalgun_presplat2.png","(orange)"},
|
||||||
@@ -26,13 +37,12 @@ end,
|
|||||||
|
|
||||||
minetest.register_node("portalgun:wscspawner2_" .. ii, {
|
minetest.register_node("portalgun:wscspawner2_" .. ii, {
|
||||||
description = "Weighted storage cube spawner2 " ..ptgwsc[ii][3],
|
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},
|
groups = {cracky=2,mesecon_receptor_off = 1, mesecon_effector_off = 1},
|
||||||
mesecons = {receptor = {state = "off"}},
|
sounds = glass_sounds,
|
||||||
sounds = default.node_sound_glass_defaults(),
|
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
mesecons = {effector = {
|
mesecons = {receptor = {state = "off"}, effector = {
|
||||||
action_on = function (pos, node)
|
action_on = function (pos, node)
|
||||||
local dir=minetest.get_node(pos).param2
|
local dir=minetest.get_node(pos).param2
|
||||||
local v={x=0, y=0, z=0}
|
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},
|
initial_sprite_basepos = {x=0, y=0},
|
||||||
is_visible = true,
|
is_visible = true,
|
||||||
makes_footstep_sound = true,
|
makes_footstep_sound = true,
|
||||||
automatic_rotate = false,
|
automatic_rotate = 0,
|
||||||
portalgun=2,
|
portalgun=2,
|
||||||
wsc=ii,
|
wsc=ii,
|
||||||
on_activate= function(self, staticdata)
|
on_activate= function(self, staticdata)
|
||||||
@@ -78,7 +88,7 @@ on_step= function(self, dtime)
|
|||||||
self.timer=0
|
self.timer=0
|
||||||
self.object:set_acceleration({x=0, y=-10, z=0})
|
self.object:set_acceleration({x=0, y=-10, z=0})
|
||||||
self.timer2=self.timer2+1
|
self.timer2=self.timer2+1
|
||||||
if self.timer2>10 then
|
if self.timer2>4 then
|
||||||
self.timer2=0
|
self.timer2=0
|
||||||
for i, ob in pairs(minetest.get_objects_inside_radius(self.object:get_pos(), 20)) do
|
for i, ob in pairs(minetest.get_objects_inside_radius(self.object:get_pos(), 20)) do
|
||||||
if ob:is_player() then
|
if ob:is_player() then
|
||||||
@@ -86,7 +96,6 @@ on_step= function(self, dtime)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
self.object:set_hp(0)
|
self.object:set_hp(0)
|
||||||
self.object:punch(self.object, 1, "default:bronze_pick", nil)
|
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
timer=0,
|
timer=0,
|
||||||
@@ -100,8 +109,8 @@ minetest.register_node("portalgun:wscspawner"..ii, {
|
|||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
paramtype2="facedir",
|
paramtype2="facedir",
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
light_source = default.LIGHT_MAX - 1,
|
light_source = 14,
|
||||||
sounds = default.node_sound_stone_defaults(),
|
sounds = stone_sounds,
|
||||||
drawtype="nodebox",
|
drawtype="nodebox",
|
||||||
node_box = {
|
node_box = {
|
||||||
type = "fixed",
|
type = "fixed",
|
||||||
@@ -131,12 +140,12 @@ minetest.register_node("portalgun:wscspawner"..ii, {
|
|||||||
|
|
||||||
minetest.register_node("portalgun:plantform1_" ..ii, {
|
minetest.register_node("portalgun:plantform1_" ..ii, {
|
||||||
description = "Pressure platform " .. ptgwsc[ii][3],
|
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},
|
groups = {mesecon = 2,cracky = 1, not_in_creative_inventory=0},
|
||||||
mesecons = {receptor = {state = "off"}},
|
mesecons = {receptor = {state = "off"}},
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
sounds = default.node_sound_stone_defaults(),
|
sounds = stone_sounds,
|
||||||
drawtype="nodebox",
|
drawtype="nodebox",
|
||||||
node_box = {
|
node_box = {
|
||||||
type = "fixed",
|
type = "fixed",
|
||||||
@@ -168,14 +177,14 @@ minetest.register_node("portalgun:plantform1_" ..ii, {
|
|||||||
|
|
||||||
minetest.register_node("portalgun:plantform2_"..ii, {
|
minetest.register_node("portalgun:plantform2_"..ii, {
|
||||||
description = "Pressure platform",
|
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,
|
drop="portalgun:plantform1_"..ii,
|
||||||
groups = {mesecon = 2,cracky = 1, not_in_creative_inventory=1},
|
groups = {mesecon = 2,cracky = 1, not_in_creative_inventory=1},
|
||||||
mesecons = {receptor = {state = "on"}},
|
mesecons = {receptor = {state = "on"}},
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
light_source = default.LIGHT_MAX - 1,
|
light_source = 14,
|
||||||
sounds = default.node_sound_stone_defaults(),
|
sounds = stone_sounds,
|
||||||
drawtype="nodebox",
|
drawtype="nodebox",
|
||||||
node_box = {
|
node_box = {
|
||||||
type = "fixed",
|
type = "fixed",
|
||||||
@@ -209,12 +218,12 @@ end -- of for #
|
|||||||
|
|
||||||
minetest.register_node("portalgun:plantform_nu1", {
|
minetest.register_node("portalgun:plantform_nu1", {
|
||||||
description = "Pressure platform (player or cube)",
|
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},
|
groups = {mesecon = 2,cracky = 1, not_in_creative_inventory=0},
|
||||||
mesecons = {receptor = {state = "off"}},
|
mesecons = {receptor = {state = "off"}},
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
sounds = default.node_sound_stone_defaults(),
|
sounds = stone_sounds,
|
||||||
drawtype="nodebox",
|
drawtype="nodebox",
|
||||||
node_box = {
|
node_box = {
|
||||||
type = "fixed",
|
type = "fixed",
|
||||||
@@ -246,14 +255,14 @@ minetest.register_node("portalgun:plantform_nu1", {
|
|||||||
|
|
||||||
minetest.register_node("portalgun:plantform_nu2", {
|
minetest.register_node("portalgun:plantform_nu2", {
|
||||||
description = "Pressure platform",
|
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",
|
drop="portalgun:plantform_nu1",
|
||||||
groups = {mesecon = 2,cracky = 1, not_in_creative_inventory=1},
|
groups = {mesecon = 2,cracky = 1, not_in_creative_inventory=1},
|
||||||
mesecons = {receptor = {state = "on"}},
|
mesecons = {receptor = {state = "on"}},
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
light_source = default.LIGHT_MAX - 1,
|
light_source = 14,
|
||||||
sounds = default.node_sound_stone_defaults(),
|
sounds = stone_sounds,
|
||||||
drawtype="nodebox",
|
drawtype="nodebox",
|
||||||
node_box = {
|
node_box = {
|
||||||
type = "fixed",
|
type = "fixed",
|
||||||
@@ -284,12 +293,12 @@ minetest.register_node("portalgun:plantform_nu2", {
|
|||||||
|
|
||||||
minetest.register_node("portalgun:planthole", {
|
minetest.register_node("portalgun:planthole", {
|
||||||
description = "Plathole (activate by any cube, 2 blocks under)",
|
description = "Plathole (activate by any cube, 2 blocks under)",
|
||||||
tiles = {"default_cloud.png"},
|
tiles = {"cloud.png"},
|
||||||
groups = {mesecon = 2,cracky = 1},
|
groups = {mesecon = 2,cracky = 1},
|
||||||
mesecons = {receptor = {state = "off"}},
|
mesecons = {receptor = {state = "off"}},
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
sounds = default.node_sound_stone_defaults(),
|
sounds = stone_sounds,
|
||||||
drawtype="nodebox",
|
drawtype="nodebox",
|
||||||
node_box = {
|
node_box = {
|
||||||
type = "fixed",
|
type = "fixed",
|
||||||
@@ -326,14 +335,13 @@ minetest.register_node("portalgun:objdestroyer_1", {
|
|||||||
description = "Object destroyer (destroys on active)",
|
description = "Object destroyer (destroys on active)",
|
||||||
tiles = {"portalgun_testblock.png^[colorize:#FF0000aa"},
|
tiles = {"portalgun_testblock.png^[colorize:#FF0000aa"},
|
||||||
groups = {cracky = 2,mesecon=1},
|
groups = {cracky = 2,mesecon=1},
|
||||||
sounds = default.node_sound_stone_defaults(),
|
sounds = stone_sounds,
|
||||||
mesecons = {effector = {
|
mesecons = {effector = {
|
||||||
action_on = function (pos, node)
|
action_on = function (pos, node)
|
||||||
minetest.set_node(pos, {name ="portalgun:objdestroyer_2"})
|
minetest.set_node(pos, {name ="portalgun:objdestroyer_2"})
|
||||||
for i, ob in pairs(minetest.get_objects_inside_radius(pos, 5)) do
|
for i, ob in pairs(minetest.get_objects_inside_radius(pos, 5)) do
|
||||||
if ob:get_luaentity() then
|
if ob:get_luaentity() then
|
||||||
ob:set_hp(0)
|
ob:set_hp(0)
|
||||||
ob:punch(ob, {full_punch_interval=1.0,damage_groups={fleshy=9000}}, "default:bronze_pick", nil)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -346,7 +354,7 @@ minetest.register_node("portalgun:objdestroyer_2", {
|
|||||||
sunlight_propagates = true,
|
sunlight_propagates = true,
|
||||||
drop="portalgun:objdestroyer_1",
|
drop="portalgun:objdestroyer_1",
|
||||||
paramtype="light",
|
paramtype="light",
|
||||||
light_source = default.LIGHT_MAX - 1,
|
light_source = 14,
|
||||||
mesecons = {conductor = {
|
mesecons = {conductor = {
|
||||||
state = mesecon.state.on,
|
state = mesecon.state.on,
|
||||||
offstate = "portalgun:objdestroyer_1",
|
offstate = "portalgun:objdestroyer_1",
|
||||||
|