summaryrefslogtreecommitdiff
path: root/peaceful_npc
diff options
context:
space:
mode:
Diffstat (limited to 'peaceful_npc')
-rw-r--r--peaceful_npc/README.txt.md4
-rw-r--r--peaceful_npc/changelog.txt27
-rw-r--r--peaceful_npc/commands.lua39
-rw-r--r--peaceful_npc/depends.txt2
-rw-r--r--peaceful_npc/init.lua21
-rw-r--r--peaceful_npc/items.lua184
-rw-r--r--peaceful_npc/models/archer.pngbin2054 -> 0 bytes
-rw-r--r--peaceful_npc/models/builder.pngbin987 -> 0 bytes
-rw-r--r--peaceful_npc/models/charmander.pngbin1018 -> 0 bytes
-rw-r--r--peaceful_npc/models/clonetrooper.pngbin1614 -> 0 bytes
-rw-r--r--peaceful_npc/models/cool_girl.pngbin2208 -> 0 bytes
-rw-r--r--peaceful_npc/models/diamond_ninja.pngbin1105 -> 0 bytes
-rw-r--r--peaceful_npc/models/dragon.pngbin2424 -> 0 bytes
-rw-r--r--peaceful_npc/models/dwarf_commoner.pngbin1987 -> 0 bytes
-rw-r--r--peaceful_npc/models/dwarf_girl.pngbin2558 -> 0 bytes
-rw-r--r--peaceful_npc/models/dwarf_king.pngbin2445 -> 0 bytes
-rw-r--r--peaceful_npc/models/dwarf_warrior.pngbin1258 -> 0 bytes
-rw-r--r--peaceful_npc/models/gangnam_dude.pngbin2149 -> 0 bytes
-rw-r--r--peaceful_npc/models/golem.pngbin3135 -> 0 bytes
-rw-r--r--peaceful_npc/models/hunter.pngbin3225 -> 0 bytes
-rw-r--r--peaceful_npc/models/ironknight.pngbin2121 -> 0 bytes
-rw-r--r--peaceful_npc/models/katniss.pngbin1166 -> 0 bytes
-rw-r--r--peaceful_npc/models/kitty.pngbin1579 -> 0 bytes
-rw-r--r--peaceful_npc/models/knightking.pngbin2311 -> 0 bytes
-rw-r--r--peaceful_npc/models/miner.pngbin3121 -> 0 bytes
-rw-r--r--peaceful_npc/models/ninja.pngbin1503 -> 0 bytes
-rw-r--r--peaceful_npc/models/panda_girl.pngbin1906 -> 0 bytes
-rw-r--r--peaceful_npc/models/penguin_knight.pngbin2499 -> 0 bytes
-rw-r--r--peaceful_npc/models/pikachu.pngbin1266 -> 0 bytes
-rw-r--r--peaceful_npc/models/santa_bikini_girl.pngbin1395 -> 0 bytes
-rw-r--r--peaceful_npc/models/squirtle.pngbin859 -> 0 bytes
-rw-r--r--peaceful_npc/models/tron.pngbin1647 -> 0 bytes
-rw-r--r--peaceful_npc/models/warrior_panda.pngbin2635 -> 0 bytes
-rw-r--r--peaceful_npc/models/witch.pngbin1418 -> 0 bytes
-rw-r--r--peaceful_npc/models/wizard.pngbin2142 -> 0 bytes
-rw-r--r--peaceful_npc/npc/npc_def.lua345
-rw-r--r--peaceful_npc/npc/npc_dwarf.lua345
-rw-r--r--peaceful_npc/npc/npc_fast.lua346
-rw-r--r--peaceful_npc/recipes.lua37
-rw-r--r--peaceful_npc/schematics/Gambit_village_house.we268
-rw-r--r--peaceful_npc/schematics/npc_blacksmith.we275
-rw-r--r--peaceful_npc/spawning.lua86
-rw-r--r--peaceful_npc/textures/peaceful_npc_npc_summoner_def.pngbin491 -> 0 bytes
-rw-r--r--peaceful_npc/textures/peaceful_npc_npc_summoner_dwarf.pngbin482 -> 0 bytes
-rw-r--r--peaceful_npc/textures/peaceful_npc_npc_summoner_fast.pngbin482 -> 0 bytes
-rw-r--r--peaceful_npc/textures/peaceful_npc_spawnegg.pngbin151 -> 0 bytes
-rw-r--r--peaceful_npc/textures/peaceful_npc_spawner_def.pngbin190 -> 0 bytes
-rw-r--r--peaceful_npc/textures/peaceful_npc_spawner_dwarf.pngbin187 -> 0 bytes
-rw-r--r--peaceful_npc/textures/peaceful_npc_spawner_fast.pngbin187 -> 0 bytes
-rw-r--r--peaceful_npc/todo.txt1
50 files changed, 0 insertions, 1980 deletions
diff --git a/peaceful_npc/README.txt.md b/peaceful_npc/README.txt.md
deleted file mode 100644
index f42f051..0000000
--- a/peaceful_npc/README.txt.md
+++ /dev/null
@@ -1,4 +0,0 @@
-peaceful_npc
-============
-
-Adds peaceful npcs. They do not attack you. They can jump and open doors unles the doors are locked. There is an automatic spawner.
diff --git a/peaceful_npc/changelog.txt b/peaceful_npc/changelog.txt
deleted file mode 100644
index 215429e..0000000
--- a/peaceful_npc/changelog.txt
+++ /dev/null
@@ -1,27 +0,0 @@
-===Changelog===
-1.8.5.2 plants_lib was renamed to biome_lib
-1.8.5.1 fixed some bugs
-1.8.5 adds a bunch. i have been editing this so much i forgot
-1.8 idk
-1.7.4 almost a complete rewrite
-1.7.3 code reverted to 1.7.1 aka bug fix, singleplayer gets privs
-1.7.2 singleplayer gets peacefulnpc privs by default, added config stuff
-1.7.1 added textures, added aliases
-1.7 fixed bug, spawner max=10 range=50, changed spawn method, added to spawn command can't spawn if 30 npc are within a 50 node radius
-1.6.4 cant spawn > 20 with spawn command, index fix
-1.6.3 need priv to use summoner
-1.6.2 bug fix
-1.6.1 added npc fence, spawn command, npc priv, they spawn rarer naturally
-1.6 Fixed bug in post 62, added 4 textures, changed hp to 50, changed kill drop from mese crystal to mese block (so it is compatable with older games), added a compatable recipe for summoner and spawner (mese instead of crystals), changed mobspawnegg to npc summoner and it has a new texture
-1.5.6 Added textures.
-1.5.5 Made Tron purple, die in lava and water after 10 seconds, set hp to 40
-1.5 Added spawning and they die in water after a set amount of time.
-1.4 Fixed bugs, added spawning, changed health to 25, made drop mese crystals, changed spawn limit to 10
-1.3 Added textures, Fixed a bug
-1.2 Set limit for how many can be spawned around a spawner.
-1.1 Added textures,changed recipes,made npcs drop a mese crystal fragment when killed, set npc health to 20
-1.0 The NPC Portal is now clear and does not look dark.
-0.4 I added npc skins, changed the name Box O' NPCs to NPC Portal, changed the picture for NPC Portal, and fixed the spawn egg recipe
-0.3 I don't know exactly but i did change something
-0.2 The npc's don't attack anymore at night and i added a different texture for the npc spawner.
-0.1 Initial release
diff --git a/peaceful_npc/commands.lua b/peaceful_npc/commands.lua
deleted file mode 100644
index ca3b7d3..0000000
--- a/peaceful_npc/commands.lua
+++ /dev/null
@@ -1,39 +0,0 @@
---Spawn Command Function
-function npc_command( command_name, npc_command_type, command_desc)
- local function spawn_for_command(name, param)
- local npcs_to_spawn = tonumber(param) or 1
- local player = minetest.get_player_by_name(name)
- local pos = player:getpos()
- local max_spawn = 20
- local max_surround_npc = 30
- local active_npc_count = table.getn(minetest.get_objects_inside_radius(pos, 50))
- if active_npc_count == nil then
- active_npc_count = 0
- end
- if npcs_to_spawn + active_npc_count > max_surround_npc then
- minetest.chat_send_player(name, "There are too many NPCs around you.")
- elseif npcs_to_spawn >= max_spawn + 1 then
- minetest.chat_send_player(name, "The spawn limit is"..max_spawn)
- else
- for n = 1, npcs_to_spawn do
- offsetx = math.random(-5,5)
- offsety = math.random(2,4)
- offsetz = math.random(-5,5)
- minetest.add_entity({ x=pos.x+offsetx, y=pos.y+offsety, z=pos.z+offsetz }, ("peaceful_npc:npc_"..npc_command_type))
- end
- end
- end
-
- --Spawn command
- minetest.register_chatcommand(command_name, {
- description = command_desc,
- privs = {peacefulnpc=true},
- func = spawn_for_command
- })
-end
-
-npc_command( "summonnpc_fast", "fast", "Summons Fast NPCs")
-npc_command( "summonnpc_def", "def", "Summon Default NPCs")
-npc_command( "summonnpc_dwarf", "dwarf", "Summon Dwarf NPCs")
-
-print("Peaceful NPC commands.lua loaded! By jojoa1997!") \ No newline at end of file
diff --git a/peaceful_npc/depends.txt b/peaceful_npc/depends.txt
deleted file mode 100644
index 3e3d281..0000000
--- a/peaceful_npc/depends.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-default
-biome_lib
diff --git a/peaceful_npc/init.lua b/peaceful_npc/init.lua
deleted file mode 100644
index 6f81405..0000000
--- a/peaceful_npc/init.lua
+++ /dev/null
@@ -1,21 +0,0 @@
---Config
-instakill_sword = false
-mode_debug = false
-
---Loads other files
-dofile(minetest.get_modpath("peaceful_npc").."/npc/npc_def.lua")
-dofile(minetest.get_modpath("peaceful_npc").."/npc/npc_fast.lua")
-dofile(minetest.get_modpath("peaceful_npc").."/npc/npc_dwarf.lua")
-dofile(minetest.get_modpath("peaceful_npc").."/commands.lua")
-dofile(minetest.get_modpath("peaceful_npc").."/items.lua")
-dofile(minetest.get_modpath("peaceful_npc").."/spawning.lua")
-dofile(minetest.get_modpath("peaceful_npc").."/recipes.lua")
-
---NPC Privilege
-minetest.register_privilege("peacefulnpc", { description = "allows to use spawn command", give_to_singleplayer = true})
-
---Aliases
-minetest.register_alias("peaceful_npc:npc", "peaceful_npc:npc_def")
-
-
-print("Peaceful NPC loaded! By jojoa1997!")
diff --git a/peaceful_npc/items.lua b/peaceful_npc/items.lua
deleted file mode 100644
index f3a6828..0000000
--- a/peaceful_npc/items.lua
+++ /dev/null
@@ -1,184 +0,0 @@
---Spawn code
-function npc_spawner(pos, SPAWN_TYPE)
- local MAX_NPC = 5
- local count = table.getn(minetest.get_objects_inside_radius(pos, 50))
- if count == nil then
- count = 0
- end
-
- if count <= MAX_NPC then
- minetest.add_entity({x=pos.x+math.random(-1,1),y=pos.y+math.random(2,3),z=pos.z+math.random(-1,1)}, SPAWN_TYPE)
- end
-end
-
---Item Code for default npcs
-minetest.register_node("peaceful_npc:summoner_npc_def", {
- description = "Default NPC Summoner",
- image = "peaceful_npc_npc_summoner_def.png",
- inventory_image = "peaceful_npc_npc_summoner_def.png",
- wield_image = "peaceful_npc_npc_summoner_def.png",
- paramtype = "light",
- tiles = {"peaceful_npc_spawnegg.png"},
- is_ground_content = true,
- drawtype = "glasslike",
- groups = {crumbly=3},
- selection_box = {
- type = "fixed",
- fixed = {0,0,0,0,0,0}
- },
- sounds = default.node_sound_dirt_defaults(),
- on_place = function(itemstack, placer, pointed)
- local name = placer:get_player_name()
- if (minetest.check_player_privs(name, {peacefulnpc=true})) then
- pos = pointed.above
- pos.y = pos.y + 1
- minetest.add_entity(pointed.above,"peaceful_npc:npc_def")
- itemstack:take_item(1)
- else
- minetest.chat_send_player(name, "Nope! You need to have the peacefulnpc priv!")
- end
- return itemstack
-end
-})
-
-minetest.register_node("peaceful_npc:spawner_npc_def", {
- description = "Default NPC Portal",
- drawtype = "glasslike",
- groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3,wood=1},
- sounds = default.node_sound_glass_defaults(),
- tiles = {"peaceful_npc_spawner_def.png"},
- sunlight_propagates = true,
- paramtype = "light",
- mesecons = {effector = {
- action_on = function(pos) npc_spawner(pos, "peaceful_npc:npc_def") end,
- }}
-})
-minetest.register_abm({
- nodenames = {"peaceful_npc:spawner_npc_def"},
- interval = 20,
- chance = 10,
- action = function(pos)
- npc_spawner(pos, "peaceful_npc:npc_def")
- end,
-})
-
---Item Code for fast npcs
-minetest.register_node("peaceful_npc:summoner_npc_fast", {
- description = "Fast NPC Summoner",
- image = "peaceful_npc_npc_summoner_fast.png",
- inventory_image = "peaceful_npc_npc_summoner_fast.png",
- wield_image = "peaceful_npc_npc_summoner_fast.png",
- paramtype = "light",
- tiles = {"peaceful_npc_spawnegg.png"},
- is_ground_content = true,
- drawtype = "glasslike",
- groups = {crumbly=3},
- selection_box = {
- type = "fixed",
- fixed = {0,0,0,0,0,0}
- },
- sounds = default.node_sound_dirt_defaults(),
- on_place = function(itemstack, placer, pointed)
- local name = placer:get_player_name()
- if (minetest.check_player_privs(name, {peacefulnpc=true})) then
- pos = pointed.above
- pos.y = pos.y + 1
- minetest.add_entity(pointed.above,"peaceful_npc:npc_fast")
- itemstack:take_item(1)
- else
- minetest.chat_send_player(name, "Nope! You need to have the peacefulnpc priv!")
- end
- return itemstack
-end
-})
-
-minetest.register_node("peaceful_npc:spawner_npc_fast", {
- description = "Fast NPC Portal",
- drawtype = "glasslike",
- groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3,wood=1},
- sounds = default.node_sound_glass_defaults(),
- tiles = {"peaceful_npc_spawner_fast.png"},
- sunlight_propagates = true,
- paramtype = "light",
- mesecons = {effector = {
- action_on = function(pos) npc_spawner(pos, "peaceful_npc:npc_fast") end,
- }}
-})
-minetest.register_abm({
- nodenames = {"peaceful_npc:spawner_npc_fast"},
- interval = 30,
- chance = 10,
- action = function(pos)
- npc_spawner(pos, "peaceful_npc:npc_fast")
- end,
-})
-
---Item Code for dwarf npcs
-minetest.register_node("peaceful_npc:summoner_npc_dwarf", {
- description = "Dwarf NPC Summoner",
- image = "peaceful_npc_npc_summoner_dwarf.png",
- inventory_image = "peaceful_npc_npc_summoner_dwarf.png",
- wield_image = "peaceful_npc_npc_summoner_dwarf.png",
- paramtype = "light",
- tiles = {"peaceful_npc_spawnegg.png"},
- is_ground_content = true,
- drawtype = "glasslike",
- groups = {crumbly=3},
- selection_box = {
- type = "fixed",
- fixed = {0,0,0,0,0,0}
- },
- sounds = default.node_sound_dirt_defaults(),
- on_place = function(itemstack, placer, pointed)
- local name = placer:get_player_name()
- if (minetest.check_player_privs(name, {peacefulnpc=true})) then
- pos = pointed.above
- pos.y = pos.y + 1
- minetest.add_entity(pointed.above,"peaceful_npc:npc_dwarf")
- itemstack:take_item(1)
- else
- minetest.chat_send_player(name, "Nope! You need to have the peacefulnpc priv!")
- end
- return itemstack
-end
-})
-
-minetest.register_node("peaceful_npc:spawner_npc_dwarf", {
- description = "Dwarf NPC Portal",
- drawtype = "glasslike",
- groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3,wood=1},
- sounds = default.node_sound_glass_defaults(),
- tiles = {"peaceful_npc_spawner_dwarf.png"},
- sunlight_propagates = true,
- paramtype = "light",
- mesecons = {effector = {
- action_on = function(pos) npc_spawner(pos, "peaceful_npc:npc_dwarf") end,
- }}
-})
-minetest.register_abm({
- nodenames = {"peaceful_npc:spawner_npc_dwarf"},
- interval = 60,
- chance = 10,
- action = function(pos)
- npc_spawner(pos, "peaceful_npc:npc_dwarf")
- end,
-})
-
-if instakill_sword == true then
- --Adds instakill sword
- minetest.register_tool("peaceful_npc:sword_instakill", {
- description = "Instakill Sword",
- inventory_image = "default_tool_steelsword.png",
- tool_capabilities = {
- full_punch_interval = 0.1,
- max_drop_level = 1,
- groupcaps={
- fleshy={times={[1]=0.005, [2]=0.005, [3]=0.005}, uses=0, maxlevel=3},
- snappy={times={[2]=0.005, [3]=0.005}, uses=0, maxlevel=2},
- choppy={times={[3]=0.005}, uses=0, maxlevel=1}
- },
- }
- })
-end
-
-print("Peaceful NPC items.lua loaded! By jojoa1997!")
diff --git a/peaceful_npc/models/archer.png b/peaceful_npc/models/archer.png
deleted file mode 100644
index 756924e..0000000
--- a/peaceful_npc/models/archer.png
+++ /dev/null
Binary files differ
diff --git a/peaceful_npc/models/builder.png b/peaceful_npc/models/builder.png
deleted file mode 100644
index c6cf485..0000000
--- a/peaceful_npc/models/builder.png
+++ /dev/null
Binary files differ
diff --git a/peaceful_npc/models/charmander.png b/peaceful_npc/models/charmander.png
deleted file mode 100644
index 1bc123e..0000000
--- a/peaceful_npc/models/charmander.png
+++ /dev/null
Binary files differ
diff --git a/peaceful_npc/models/clonetrooper.png b/peaceful_npc/models/clonetrooper.png
deleted file mode 100644
index c5a261b..0000000
--- a/peaceful_npc/models/clonetrooper.png
+++ /dev/null
Binary files differ
diff --git a/peaceful_npc/models/cool_girl.png b/peaceful_npc/models/cool_girl.png
deleted file mode 100644
index 72c9153..0000000
--- a/peaceful_npc/models/cool_girl.png
+++ /dev/null
Binary files differ
diff --git a/peaceful_npc/models/diamond_ninja.png b/peaceful_npc/models/diamond_ninja.png
deleted file mode 100644
index a4d1e47..0000000
--- a/peaceful_npc/models/diamond_ninja.png
+++ /dev/null
Binary files differ
diff --git a/peaceful_npc/models/dragon.png b/peaceful_npc/models/dragon.png
deleted file mode 100644
index 259c0eb..0000000
--- a/peaceful_npc/models/dragon.png
+++ /dev/null
Binary files differ
diff --git a/peaceful_npc/models/dwarf_commoner.png b/peaceful_npc/models/dwarf_commoner.png
deleted file mode 100644
index 054bb00..0000000
--- a/peaceful_npc/models/dwarf_commoner.png
+++ /dev/null
Binary files differ
diff --git a/peaceful_npc/models/dwarf_girl.png b/peaceful_npc/models/dwarf_girl.png
deleted file mode 100644
index 4376d4e..0000000
--- a/peaceful_npc/models/dwarf_girl.png
+++ /dev/null
Binary files differ
diff --git a/peaceful_npc/models/dwarf_king.png b/peaceful_npc/models/dwarf_king.png
deleted file mode 100644
index 15502d9..0000000
--- a/peaceful_npc/models/dwarf_king.png
+++ /dev/null
Binary files differ
diff --git a/peaceful_npc/models/dwarf_warrior.png b/peaceful_npc/models/dwarf_warrior.png
deleted file mode 100644
index e588e98..0000000
--- a/peaceful_npc/models/dwarf_warrior.png
+++ /dev/null
Binary files differ
diff --git a/peaceful_npc/models/gangnam_dude.png b/peaceful_npc/models/gangnam_dude.png
deleted file mode 100644
index 761b56b..0000000
--- a/peaceful_npc/models/gangnam_dude.png
+++ /dev/null
Binary files differ
diff --git a/peaceful_npc/models/golem.png b/peaceful_npc/models/golem.png
deleted file mode 100644
index badfc00..0000000
--- a/peaceful_npc/models/golem.png
+++ /dev/null
Binary files differ
diff --git a/peaceful_npc/models/hunter.png b/peaceful_npc/models/hunter.png
deleted file mode 100644
index 8ec41ca..0000000
--- a/peaceful_npc/models/hunter.png
+++ /dev/null
Binary files differ
diff --git a/peaceful_npc/models/ironknight.png b/peaceful_npc/models/ironknight.png
deleted file mode 100644
index 77ca055..0000000
--- a/peaceful_npc/models/ironknight.png
+++ /dev/null
Binary files differ
diff --git a/peaceful_npc/models/katniss.png b/peaceful_npc/models/katniss.png
deleted file mode 100644
index 1b2d096..0000000
--- a/peaceful_npc/models/katniss.png
+++ /dev/null
Binary files differ
diff --git a/peaceful_npc/models/kitty.png b/peaceful_npc/models/kitty.png
deleted file mode 100644
index 1a4c864..0000000
--- a/peaceful_npc/models/kitty.png
+++ /dev/null
Binary files differ
diff --git a/peaceful_npc/models/knightking.png b/peaceful_npc/models/knightking.png
deleted file mode 100644
index 22b197b..0000000
--- a/peaceful_npc/models/knightking.png
+++ /dev/null
Binary files differ
diff --git a/peaceful_npc/models/miner.png b/peaceful_npc/models/miner.png
deleted file mode 100644
index 3892edb..0000000
--- a/peaceful_npc/models/miner.png
+++ /dev/null
Binary files differ
diff --git a/peaceful_npc/models/ninja.png b/peaceful_npc/models/ninja.png
deleted file mode 100644
index 957c290..0000000
--- a/peaceful_npc/models/ninja.png
+++ /dev/null
Binary files differ
diff --git a/peaceful_npc/models/panda_girl.png b/peaceful_npc/models/panda_girl.png
deleted file mode 100644
index cbb518f..0000000
--- a/peaceful_npc/models/panda_girl.png
+++ /dev/null
Binary files differ
diff --git a/peaceful_npc/models/penguin_knight.png b/peaceful_npc/models/penguin_knight.png
deleted file mode 100644
index cdd8da1..0000000
--- a/peaceful_npc/models/penguin_knight.png
+++ /dev/null
Binary files differ
diff --git a/peaceful_npc/models/pikachu.png b/peaceful_npc/models/pikachu.png
deleted file mode 100644
index d96526d..0000000
--- a/peaceful_npc/models/pikachu.png
+++ /dev/null
Binary files differ
diff --git a/peaceful_npc/models/santa_bikini_girl.png b/peaceful_npc/models/santa_bikini_girl.png
deleted file mode 100644
index a688f43..0000000
--- a/peaceful_npc/models/santa_bikini_girl.png
+++ /dev/null
Binary files differ
diff --git a/peaceful_npc/models/squirtle.png b/peaceful_npc/models/squirtle.png
deleted file mode 100644
index edc1781..0000000
--- a/peaceful_npc/models/squirtle.png
+++ /dev/null
Binary files differ
diff --git a/peaceful_npc/models/tron.png b/peaceful_npc/models/tron.png
deleted file mode 100644
index dd41ed2..0000000
--- a/peaceful_npc/models/tron.png
+++ /dev/null
Binary files differ
diff --git a/peaceful_npc/models/warrior_panda.png b/peaceful_npc/models/warrior_panda.png
deleted file mode 100644
index 799fd6e..0000000
--- a/peaceful_npc/models/warrior_panda.png
+++ /dev/null
Binary files differ
diff --git a/peaceful_npc/models/witch.png b/peaceful_npc/models/witch.png
deleted file mode 100644
index 6308eb5..0000000
--- a/peaceful_npc/models/witch.png
+++ /dev/null
Binary files differ
diff --git a/peaceful_npc/models/wizard.png b/peaceful_npc/models/wizard.png
deleted file mode 100644
index 603022b..0000000
--- a/peaceful_npc/models/wizard.png
+++ /dev/null
Binary files differ
diff --git a/peaceful_npc/npc/npc_def.lua b/peaceful_npc/npc/npc_def.lua
deleted file mode 100644
index 554911e..0000000
--- a/peaceful_npc/npc/npc_def.lua
+++ /dev/null
@@ -1,345 +0,0 @@
--- NPC max walk speed
-walk_limit = 2
---npc just walking around
-chillaxin_speed = 1.5
--- Player animation speed
-animation_speed = 30
-
--- Player animation blending
--- Note: This is currently broken due to a bug in Irrlicht, leave at 0
-animation_blend = 0
-
--- Default player appearance
-default_model_def = "character.b3d"
-available_npc_textures_def = {
- def_texture_1 = {"miner.png"},
- def_texture_2 = {"archer.png"},
- def_texture_3 = {"cool_girl.png"},
- def_texture_4 = {"builder.png"},
- def_texture_5 = {"panda_girl.png"}
-}
-
--- Frame ranges for each player model
-function npc_get_animations_def(model)
- if model == "character.b3d" then
- return {
- stand_START = 0,
- stand_END = 79,
- sit_START = 81,
- sit_END = 160,
- lay_START = 162,
- lay_END = 166,
- walk_START = 168,
- walk_END = 187,
- mine_START = 189,
- mine_END = 198,
- walk_mine_START = 200,
- walk_mine_END = 219
- }
- end
-end
-
-local npc_model = {}
-local npc_anim = {}
-local npc_sneak = {}
-local ANIM_STAND = 1
-local ANIM_SIT = 2
-local ANIM_LAY = 3
-local ANIM_WALK = 4
-local ANIM_WALK_MINE = 5
-local ANIM_MINE = 6
-
-function npc_update_visuals_def(self)
- --local name = get_player_name()
- visual = default_model_def
- npc_anim = 0 -- Animation will be set further below immediately
- --npc_sneak[name] = false
- prop = {
- mesh = default_model_def,
- textures = default_textures,
- textures = available_npc_textures_def["def_texture_"..math.random(1,5)],
- visual_size = {x=1, y=1, z=1},
- }
- self.object:set_properties(prop)
-end
-
-NPC_ENTITY_DEF = {
- physical = true,
- collisionbox = {-0.3,-1.0,-0.3, 0.3,0.8,0.3},
- visual = "mesh",
- mesh = "character.b3d",
- textures = {"character.png"},
- npc_anim = 0,
- timer = 0,
- turn_timer = 0,
- vec = 0,
- yaw = 0,
- yawwer = 0,
- state = 1,
- jump_timer = 0,
- door_timer = 0,
- attacker = "",
- attacking_timer = 0
-}
-
-NPC_ENTITY_DEF.on_activate = function(self)
- npc_update_visuals_def(self)
- self.anim = npc_get_animations_def(visual)
- self.object:set_animation({x=self.anim.stand_START,y=self.anim.stand_END}, animation_speed_mod, animation_blend)
- self.npc_anim = ANIM_STAND
- self.object:setacceleration({x=0,y=-10,z=0})
- self.state = 1
- self.object:set_hp(50)
-end
-
-NPC_ENTITY_DEF.on_punch = function(self, puncher)
- for _,object in ipairs(minetest.get_objects_inside_radius(self.object:getpos(), 5)) do
- if not object:is_player() then
- if object:get_luaentity().name == "peaceful_npc:npc_def" then
- object:get_luaentity().state = 3
- object:get_luaentity().attacker = puncher:get_player_name()
- end
- end
- end
-
- if self.state ~= 3 then
- self.state = 3
- self.attacker = puncher:get_player_name()
- end
-
- if self.object:get_hp() == 0 then
- local obj = minetest.add_item(self.object:getpos(), "default:stone_with_iron 10")
- end
-end
-
-NPC_ENTITY_DEF.on_step = function(self, dtime)
- self.timer = self.timer + 0.01
- self.turn_timer = self.turn_timer + 0.01
- self.jump_timer = self.jump_timer + 0.01
- self.door_timer = self.door_timer + 0.01
- self.attacking_timer = self.attacking_timer + 0.01
-
- local current_pos = self.object:getpos()
- local current_node = minetest.get_node(current_pos)
- if self.time_passed == nil then
- self.time_passed = 0
- end
-
- self.time_passed = self.time_passed + dtime
-
- if self.time_passed >= 5 then
- self.object:remove()
- else
- if current_node.name == "default:water_source" or
- current_node.name == "default:water_flowing" or
- current_node.name == "default:lava_source" or
- current_node.name == "default:lava_flowing"
- then
- self.time_passed = self.time_passed + dtime
- else
- self.time_passed = 0
- end
-end
-
- --collision detection prealpha
- --[[
- for _,object in ipairs(minetest.get_objects_inside_radius(self.object:getpos(), 2)) do
- if object:is_player() then
- compare1 = object:getpos()
- compare2 = self.object:getpos()
- newx = compare2.x - compare1.x
- newz = compare2.z - compare1.z
- print(newx)
- print(newz)
- self.object:setacceleration({x=newx,y=self.object:getacceleration().y,z=newz})
- elseif not object:is_player() then
- if object:get_luaentity().name == "peaceful_npc:npc" then
- print("moo")
- end
- end
- end
- ]]--
-
- --set npc to hostile in night, and revert npc back to peaceful in daylight
- if minetest.get_timeofday() >= 0 and minetest.get_timeofday() < 0.25 and self.state ~= 4 then
- self.state = 4
- elseif minetest.get_timeofday() > 0.25 and self.state == 4 then
- self.state = 1
- end
- --if mob is not in attack or hostile mode, set mob to walking or standing
- if self.state < 3 then
- if self.timer > math.random(1,20) then
- self.state = math.random(1,2)
- self.timer = 0
- end
- end
- --STANDING
- if self.state == 1 then
- self.yawwer = true
- for _,object in ipairs(minetest.get_objects_inside_radius(self.object:getpos(), 3)) do
- if object:is_player() then
- self.yawwer = false
- NPC = self.object:getpos()
- PLAYER = object:getpos()
- self.vec = {x=PLAYER.x-NPC.x, y=PLAYER.y-NPC.y, z=PLAYER.z-NPC.z}
- self.yaw = math.atan(self.vec.z/self.vec.x)+math.pi^2
- if PLAYER.x > NPC.x then
- self.yaw = self.yaw + math.pi
- end
- self.yaw = self.yaw - 2
- self.object:setyaw(self.yaw)
- end
- end
-
- if self.turn_timer > math.random(1,4) and yawwer == true then
- self.yaw = 360 * math.random()
- self.object:setyaw(self.yaw)
- self.turn_timer = 0
- end
- self.object:setvelocity({x=0,y=self.object:getvelocity().y,z=0})
- if self.npc_anim ~= ANIM_STAND then
- self.anim = npc_get_animations_def(visual)
- self.object:set_animation({x=self.anim.stand_START,y=self.anim.stand_END}, animation_speed_mod, animation_blend)
- self.npc_anim = ANIM_STAND
- end
- end
- --WALKING
- if self.state == 2 then
- if self.present_timer == 1 then
- minetest.add_item(self.object:getpos(),"default:coal_lump")
- self.present_timer = 0
- end
- if self.direction ~= nil then
- self.object:setvelocity({x=self.direction.x*chillaxin_speed,y=self.object:getvelocity().y,z=self.direction.z*chillaxin_speed})
- end
- if self.turn_timer > math.random(1,4) then
- self.yaw = 360 * math.random()
- self.object:setyaw(self.yaw)
- self.turn_timer = 0
- self.direction = {x = math.sin(self.yaw)*-1, y = -10, z = math.cos(self.yaw)}
- --self.object:setvelocity({x=self.direction.x,y=self.object:getvelocity().y,z=direction.z})
- --self.object:setacceleration(self.direction)
- end
- if self.npc_anim ~= ANIM_WALK then
- self.anim = npc_get_animations_def(visual)
- self.object:set_animation({x=self.anim.walk_START,y=self.anim.walk_END}, animation_speed_mod, animation_blend)
- self.npc_anim = ANIM_WALK
- end
- --open a door [alpha]
- if self.direction ~= nil then
- if self.door_timer > 2 then
- local is_a_door = minetest.get_node({x=self.object:getpos().x + self.direction.x,y=self.object:getpos().y,z=self.object:getpos().z + self.direction.z}).name
- if is_a_door == "doors:door_wood_t_1" then
- minetest.punch_node({x=self.object:getpos().x + self.direction.x,y=self.object:getpos().y-1,z=self.object:getpos().z + self.direction.z})
- self.door_timer = 0
- end
- local is_in_door = minetest.get_node(self.object:getpos()).name
- if is_in_door == "doors:door_wood_t_1" then
- minetest.punch_node(self.object:getpos())
- end
- end
- end
- --jump
- if self.direction ~= nil then
- if self.jump_timer > 0.3 then
- if minetest.get_node({x=self.object:getpos().x + self.direction.x,y=self.object:getpos().y-1,z=self.object:getpos().z + self.direction.z}).name ~= "air" then
- self.object:setvelocity({x=self.object:getvelocity().x,y=5,z=self.object:getvelocity().z})
- self.jump_timer = 0
- end
- end
- end
- end
- --WANDERING CONSTANTLY AT NIGHT
- if self.state == 4 then
- if self.npc_anim ~= ANIM_WALK then
- self.anim = npc_get_animations_def(visual)
- self.object:set_animation({x=self.anim.walk_START,y=self.anim.walk_END}, animation_speed_mod, animation_blend)
- self.npc_anim = ANIM_WALK
- end
- for _,object in ipairs(minetest.get_objects_inside_radius(self.object:getpos(), 12)) do
- if object:is_player() then
- if object:get_hp() > 0 then
- NPC = self.object:getpos()
- PLAYER = object:getpos()
- self.vec = {x=PLAYER.x-NPC.x, y=PLAYER.y-NPC.y, z=PLAYER.z-NPC.z}
- self.yaw = math.atan(self.vec.z/self.vec.x)+math.pi^2
- if PLAYER.x > NPC.x then
- self.yaw = self.yaw + math.pi
- end
- self.yaw = self.yaw - 2
- self.object:setyaw(self.yaw)
- self.direction = {x = math.sin(self.yaw)*-1, y = 0, z = math.cos(self.yaw)}
- if self.direction ~= nil then
- self.object:setvelocity({x=self.direction.x*2.5,y=self.object:getvelocity().y,z=self.direction.z*2.5})
- end
- --jump over obstacles
- if self.jump_timer > 0.3 then
- if minetest.get_node({x=self.object:getpos().x + self.direction.x,y=self.object:getpos().y-1,z=self.object:getpos().z + self.direction.z}).name ~= "air" then
- self.object:setvelocity({x=self.object:getvelocity().x,y=5,z=self.object:getvelocity().z})
- self.jump_timer = 0
- end
- end
- if self.direction ~= nil then
- if self.door_timer > 2 then
- local is_a_door = minetest.get_node({x=self.object:getpos().x + self.direction.x,y=self.object:getpos().y,z=self.object:getpos().z + self.direction.z}).name
- if is_a_door == "doors:door_wood_t_1" then
- minetest.punch_node({x=self.object:getpos().x + self.direction.x,y=self.object:getpos().y-1,z=self.object:getpos().z + self.direction.z})
- self.door_timer = 0
- end
- local is_in_door = minetest.get_node(self.object:getpos()).name
- if is_in_door == "doors:door_wood_t_1" then
- minetest.punch_node(self.object:getpos())
- end
- end
- end
- --return
- end
- elseif not object:is_player() then
- self.state = 1
- self.attacker = ""
- end
- end
- if self.direction ~= nil then
- self.object:setvelocity({x=self.direction.x,y=self.object:getvelocity().y,z=self.direction.z})
- end
- if self.turn_timer > math.random(1,4) then
- self.yaw = 360 * math.random()
- self.object:setyaw(self.yaw)
- self.turn_timer = 0
- self.direction = {x = math.sin(self.yaw)*-1, y = -10, z = math.cos(self.yaw)}
- end
- if self.npc_anim ~= ANIM_WALK then
- self.anim = npc_get_animations_def(visual)
- self.object:set_animation({x=self.anim.walk_START,y=self.anim.walk_END}, animation_speed_mod, animation_blend)
- self.npc_anim = ANIM_WALK
- end
- --open a door [alpha]
- if self.direction ~= nil then
- if self.door_timer > 2 then
- local is_a_door = minetest.get_node({x=self.object:getpos().x + self.direction.x,y=self.object:getpos().y,z=self.object:getpos().z + self.direction.z}).name
- if is_a_door == "doors:door_wood_t_1" then
- --print("door")
- minetest.punch_node({x=self.object:getpos().x + self.direction.x,y=self.object:getpos().y-1,z=self.object:getpos().z + self.direction.z})
- self.door_timer = 0
- end
- local is_in_door = minetest.get_node(self.object:getpos()).name
- --print(dump(is_in_door))
- if is_in_door == "doors:door_wood_t_1" then
- minetest.punch_node(self.object:getpos())
- end
- end
- end
- --jump
- if self.direction ~= nil then
- if self.jump_timer > 0.3 then
- --print(dump(minetest.get_node({x=self.object:getpos().x + self.direction.x,y=self.object:getpos().y-1,z=self.object:getpos().z + self.direction.z})))
- if minetest.get_node({x=self.object:getpos().x + self.direction.x,y=self.object:getpos().y-1,z=self.object:getpos().z + self.direction.z}).name ~= "air" then
- self.object:setvelocity({x=self.object:getvelocity().x,y=2.5,z=self.object:getvelocity().z})
- self.jump_timer = 0
- end
- end
- end
- end
-end
-
-minetest.register_entity("peaceful_npc:npc_def", NPC_ENTITY_DEF)
diff --git a/peaceful_npc/npc/npc_dwarf.lua b/peaceful_npc/npc/npc_dwarf.lua
deleted file mode 100644
index c3841a1..0000000
--- a/peaceful_npc/npc/npc_dwarf.lua
+++ /dev/null
@@ -1,345 +0,0 @@
--- NPC max walk speed
-walk_limit = 1
---npc just walking around
-chillaxin_speed = .5
--- Player animation speed
-animation_speed = 15
-
--- Player animation blending
--- Note: This is currently broken due to a bug in Irrlicht, leave at 0
-animation_blend = 0
-
--- Default player appearance
-default_model_dwarf = "character.b3d"
-available_npc_textures_dwarf = {
- dwarf_texture_1 = {"dwarf_commoner.png"},
- dwarf_texture_2 = {"dwarf_girl.png"},
- dwarf_texture_3 = {"dwarf_king.png"},
- dwarf_texture_4 = {"dwarf_warrior.png"}
-}
-
--- Frame ranges for each player model
-function npc_get_animations_dwarf(model)
- if model == "character.b3d" then
- return {
- stand_START = 0,
- stand_END = 79,
- sit_START = 81,
- sit_END = 160,
- lay_START = 162,
- lay_END = 166,
- walk_START = 168,
- walk_END = 187,
- mine_START = 189,
- mine_END = 198,
- walk_mine_START = 200,
- walk_mine_END = 219
- }
- end
-end
-
-local npc_model = {}
-local npc_anim = {}
-local npc_sneak = {}
-local ANIM_STAND = 1
-local ANIM_SIT = 2
-local ANIM_LAY = 3
-local ANIM_WALK = 4
-local ANIM_WALK_MINE = 5
-local ANIM_MINE = 6
-
-function npc_update_visuals_dwarf(self)
- --local name = get_player_name()
- visual = default_model_dwarf
- npc_anim = 0 -- Animation will be set further below immediately
- --npc_sneak[name] = false
- prop = {
- mesh = default_model_dwarf,
- textures = default_textures,
- textures = available_npc_textures_dwarf["dwarf_texture_"..math.random(1,4)],
- visual_size = {x=.5, y=.5, z=.5},
- }
- self.object:set_properties(prop)
-end
-
-NPC_ENTITY_DWARF = {
- physical = true,
- lightsource = 5,
- collisionbox = {-0.15,-0.5,-0.15, 0.15,0.4,0.15},
- visual = "mesh",
- mesh = "character.b3d",
- textures = {"character.png"},
- npc_anim = 0,
- timer = 0,
- turn_timer = 0,
- vec = 0,
- yaw = 0,
- yawwer = 0,
- state = 1,
- jump_timer = 0,
- door_timer = 0,
- attacker = "",
- attacking_timer = 0
-}
-
-NPC_ENTITY_DWARF.on_activate = function(self)
- npc_update_visuals_dwarf(self)
- self.anim = npc_get_animations_dwarf(visual)
- self.object:set_animation({x=self.anim.stand_START,y=self.anim.stand_END}, animation_speed_mod, animation_blend)
- self.npc_anim = ANIM_STAND
- self.object:setacceleration({x=0,y=-10,z=0})
- self.state = 1
- self.object:set_hp(75)
-end
-
-NPC_ENTITY_DWARF.on_punch = function(self, puncher)
- for _,object in ipairs(minetest.get_objects_inside_radius(self.object:getpos(), 5)) do
- if not object:is_player() then
- if object:get_luaentity().name == "peaceful_npc:npc_dwarf" then
- object:get_luaentity().state = 3
- object:get_luaentity().attacker = puncher:get_player_name()
- end
- end
- end
-
- if self.state ~= 3 then
- self.state = 3
- self.attacker = puncher:get_player_name()
- end
-
- if self.object:get_hp() == 0 then
- local obj = minetest.add_item(self.object:getpos(), "default:stone_with_mese 12")
- end
-end
-
-NPC_ENTITY_DWARF.on_step = function(self, dtime)
- self.timer = self.timer + 0.01
- self.turn_timer = self.turn_timer + 0.01
- self.jump_timer = self.jump_timer + 0.01
- self.door_timer = self.door_timer + 0.01
- self.attacking_timer = self.attacking_timer + 0.01
-
- local current_pos = self.object:getpos()
- local current_node = minetest.get_node(current_pos)
- if self.time_passed == nil then
- self.time_passed = 0
- end
-
- self.time_passed = self.time_passed + dtime
-
- if self.time_passed >= 15 then
- self.object:remove()
- else
- if current_node.name == "default:water_source" or
- current_node.name == "default:water_flowing" or
- current_node.name == "default:lava_source" or
- current_node.name == "default:lava_flowing"
- then
- self.time_passed = self.time_passed + dtime
- else
- self.time_passed = 0
- end
-end
-
- --collision detection prealpha
- --[[
- for _,object in ipairs(minetest.get_objects_inside_radius(self.object:getpos(), 2)) do
- if object:is_player() then
- compare1 = object:getpos()
- compare2 = self.object:getpos()
- newx = compare2.x - compare1.x
- newz = compare2.z - compare1.z
- print(newx)
- print(newz)
- self.object:setacceleration({x=newx,y=self.object:getacceleration().y,z=newz})
- elseif not object:is_player() then
- if object:get_luaentity().name == "peaceful_npc:npc" then
- print("moo")
- end
- end
- end
- ]]--
-
- --set npc to hostile in night, and revert npc back to peaceful in daylight
- if minetest.get_timeofday() >= 0 and minetest.get_timeofday() < 0.25 and self.state ~= 4 then
- self.state = 4
- elseif minetest.get_timeofday() > 0.25 and self.state == 4 then
- self.state = 1
- end
- --if mob is not in attack or hostile mode, set mob to walking or standing
- if self.state < 3 then
- if self.timer > math.random(1,20) then
- self.state = math.random(1,2)
- self.timer = 0
- end
- end
- --STANDING
- if self.state == 1 then
- self.yawwer = true
- for _,object in ipairs(minetest.get_objects_inside_radius(self.object:getpos(), 3)) do
- if object:is_player() then
- self.yawwer = false
- NPC = self.object:getpos()
- PLAYER = object:getpos()
- self.vec = {x=PLAYER.x-NPC.x, y=PLAYER.y-NPC.y, z=PLAYER.z-NPC.z}
- self.yaw = math.atan(self.vec.z/self.vec.x)+math.pi^2
- if PLAYER.x > NPC.x then
- self.yaw = self.yaw + math.pi
- end
- self.yaw = self.yaw - 2
- self.object:setyaw(self.yaw)
- end
- end
-
- if self.turn_timer > math.random(1,4) and yawwer == true then
- self.yaw = 360 * math.random()
- self.object:setyaw(self.yaw)
- self.turn_timer = 0
- end
- self.object:setvelocity({x=0,y=self.object:getvelocity().y,z=0})
- if self.npc_anim ~= ANIM_STAND then
- self.anim = npc_get_animations_dwarf(visual)
- self.object:set_animation({x=self.anim.stand_START,y=self.anim.stand_END}, animation_speed_mod, animation_blend)
- self.npc_anim = ANIM_STAND
- end
- end
- --WALKING
- if self.state == 2 then
- if self.present_timer == 1 then
- minetest.add_item(self.object:getpos(),"default:coal_lump")
- self.present_timer = 0
- end
- if self.direction ~= nil then
- self.object:setvelocity({x=self.direction.x*chillaxin_speed,y=self.object:getvelocity().y,z=self.direction.z*chillaxin_speed})
- end
- if self.turn_timer > math.random(1,4) then
- self.yaw = 360 * math.random()
- self.object:setyaw(self.yaw)
- self.turn_timer = 0
- self.direction = {x = math.sin(self.yaw)*-1, y = -10, z = math.cos(self.yaw)}
- --self.object:setvelocity({x=self.direction.x,y=self.object:getvelocity().y,z=direction.z})
- --self.object:setacceleration(self.direction)
- end
- if self.npc_anim ~= ANIM_WALK then
- self.anim = npc_get_animations_dwarf(visual)
- self.object:set_animation({x=self.anim.walk_START,y=self.anim.walk_END}, animation_speed_mod, animation_blend)
- self.npc_anim = ANIM_WALK
- end
- --open a door [alpha]
- if self.direction ~= nil then
- if self.door_timer > 2 then
- local is_a_door = minetest.get_node({x=self.object:getpos().x + self.direction.x,y=self.object:getpos().y,z=self.object:getpos().z + self.direction.z}).name
- if is_a_door == "doors:door_wood_t_1" then
- minetest.punch_node({x=self.object:getpos().x + self.direction.x,y=self.object:getpos().y-1,z=self.object:getpos().z + self.direction.z})
- self.door_timer = 0
- end
- local is_in_door = minetest.get_node(self.object:getpos()).name
- if is_in_door == "doors:door_wood_t_1" then
- minetest.punch_node(self.object:getpos())
- end
- end
- end
- --jump
- if self.direction ~= nil then
- if self.jump_timer > 0.3 then
- if minetest.get_node({x=self.object:getpos().x + self.direction.x,y=self.object:getpos().y-1,z=self.object:getpos().z + self.direction.z}).name ~= "air" then
- self.object:setvelocity({x=self.object:getvelocity().x,y=2.5,z=self.object:getvelocity().z})
- self.jump_timer = 0
- end
- end
- end
- end
- --WANDERING CONSTANTLY AT NIGHT
- if self.state == 4 then
- if self.npc_anim ~= ANIM_WALK then
- self.anim = npc_get_animations_dwarf(visual)
- self.object:set_animation({x=self.anim.walk_START,y=self.anim.walk_END}, animation_speed_mod, animation_blend)
- self.npc_anim = ANIM_WALK
- end
- for _,object in ipairs(minetest.get_objects_inside_radius(self.object:getpos(), 12)) do
- if object:is_player() then
- if object:get_hp() > 0 then
- NPC = self.object:getpos()
- PLAYER = object:getpos()
- self.vec = {x=PLAYER.x-NPC.x, y=PLAYER.y-NPC.y, z=PLAYER.z-NPC.z}
- self.yaw = math.atan(self.vec.z/self.vec.x)+math.pi^2
- if PLAYER.x > NPC.x then
- self.yaw = self.yaw + math.pi
- end
- self.yaw = self.yaw - 2
- self.object:setyaw(self.yaw)
- self.direction = {x = math.sin(self.yaw)*-1, y = 0, z = math.cos(self.yaw)}
- if self.direction ~= nil then
- self.object:setvelocity({x=self.direction.x*2.5,y=self.object:getvelocity().y,z=self.direction.z*2.5})
- end
- --jump over obstacles
- if self.jump_timer > 0.3 then
- if minetest.get_node({x=self.object:getpos().x + self.direction.x,y=self.object:getpos().y-1,z=self.object:getpos().z + self.direction.z}).name ~= "air" then
- self.object:setvelocity({x=self.object:getvelocity().x,y=5,z=self.object:getvelocity().z})
- self.jump_timer = 0
- end
- end
- if self.direction ~= nil then
- if self.door_timer > 2 then
- local is_a_door = minetest.get_node({x=self.object:getpos().x + self.direction.x,y=self.object:getpos().y,z=self.object:getpos().z + self.direction.z}).name
- if is_a_door == "doors:door_wood_t_1" then
- minetest.punch_node({x=self.object:getpos().x + self.direction.x,y=self.object:getpos().y-1,z=self.object:getpos().z + self.direction.z})
- self.door_timer = 0
- end
- local is_in_door = minetest.get_node(self.object:getpos()).name
- if is_in_door == "doors:door_wood_t_1" then
- minetest.punch_node(self.object:getpos())
- end
- end
- end
- --return
- end
- elseif not object:is_player() then
- self.state = 1
- self.attacker = ""
- end
- end
- if self.direction ~= nil then
- self.object:setvelocity({x=self.direction.x,y=self.object:getvelocity().y,z=self.direction.z})
- end
- if self.turn_timer > math.random(1,4) then
- self.yaw = 360 * math.random()
- self.object:setyaw(self.yaw)
- self.turn_timer = 0
- self.direction = {x = math.sin(self.yaw)*-1, y = -10, z = math.cos(self.yaw)}
- end
- if self.npc_anim ~= ANIM_WALK then
- self.anim = npc_get_animations_dwarf(visual)
- self.object:set_animation({x=self.anim.walk_START,y=self.anim.walk_END}, animation_speed_mod, animation_blend)
- self.npc_anim = ANIM_WALK
- end
- --open a door [alpha]
- if self.direction ~= nil then
- if self.door_timer > 2 then
- local is_a_door = minetest.get_node({x=self.object:getpos().x + self.direction.x,y=self.object:getpos().y,z=self.object:getpos().z + self.direction.z}).name
- if is_a_door == "doors:door_wood_t_1" then
- --print("door")
- minetest.punch_node({x=self.object:getpos().x + self.direction.x,y=self.object:getpos().y-1,z=self.object:getpos().z + self.direction.z})
- self.door_timer = 0
- end
- local is_in_door = minetest.get_node(self.object:getpos()).name
- --print(dump(is_in_door))
- if is_in_door == "doors:door_wood_t_1" then
- minetest.punch_node(self.object:getpos())
- end
- end
- end
- --jump
- if self.direction ~= nil then
- if self.jump_timer > 0.3 then
- --print(dump(minetest.get_node({x=self.object:getpos().x + self.direction.x,y=self.object:getpos().y-1,z=self.object:getpos().z + self.direction.z})))
- if minetest.get_node({x=self.object:getpos().x + self.direction.x,y=self.object:getpos().y-1,z=self.object:getpos().z + self.direction.z}).name ~= "air" then
- self.object:setvelocity({x=self.object:getvelocity().x,y=5,z=self.object:getvelocity().z})
- self.jump_timer = 0
- end
- end
- end
- end
-end
-
-minetest.register_entity("peaceful_npc:npc_dwarf", NPC_ENTITY_DWARF)
diff --git a/peaceful_npc/npc/npc_fast.lua b/peaceful_npc/npc/npc_fast.lua
deleted file mode 100644
index 00e2141..0000000
--- a/peaceful_npc/npc/npc_fast.lua
+++ /dev/null
@@ -1,346 +0,0 @@
--- NPC max walk speed
-walk_limit = 4
---npc just walking around
-chillaxin_speed = 3
--- Player animation speed
-animation_speed = 40
-
--- Player animation blending
--- Note: This is currently broken due to a bug in Irrlicht, leave at 0
-animation_blend = 0
-
--- Default player appearance
-default_model = "character.b3d"
-available_npc_textures_fast = {
- fast_texture_1 = {"diamond_ninja.png"},
- fast_texture_2 = {"tron.png"},
- fast_texture_3 = {"ninja.png"},
- fast_texture_4 = {"hunter.png"},
- fast_texture_5 = {"dragon.png"}
-}
-
--- Frame ranges for each player model
-function npc_get_animations_fast(model)
- if model == "character.b3d" then
- return {
- stand_START = 0,
- stand_END = 79,
- sit_START = 81,
- sit_END = 160,
- lay_START = 162,
- lay_END = 166,
- walk_START = 168,
- walk_END = 187,
- mine_START = 189,
- mine_END = 198,
- walk_mine_START = 200,
- walk_mine_END = 219
- }
- end
-end
-
-local npc_model = {}
-local npc_anim = {}
-local npc_sneak = {}
-local ANIM_STAND = 1
-local ANIM_SIT = 2
-local ANIM_LAY = 3
-local ANIM_WALK = 4
-local ANIM_WALK_MINE = 5
-local ANIM_MINE = 6
-
-function npc_update_visuals_fast(self)
- --local name = get_player_name()
- visual = default_model
- npc_anim = 0 -- Animation will be set further below immediately
- --npc_sneak[name] = false
- prop = {
- mesh = default_model,
- textures = default_textures,
- textures = available_npc_textures_fast["fast_texture_"..math.random(1,5)],
- visual_size = {x=.75, y=.75, z=.75},
- }
- self.object:set_properties(prop)
-end
-
-NPC_ENTITY_FAST = {
- physical = true,
- collisionbox = {-0.3,-0.8,-0.3, 0.3,0.6,0.3},
- visual = "mesh",
- mesh = "character.b3d",
- textures = {"character.png"},
- npc_anim = 0,
- timer = 0,
- turn_timer = 0,
- vec = 0,
- yaw = 0,
- yawwer = 0,
- state = 1,
- jump_timer = 0,
- door_timer = 0,
- attacker = "",
- attacking_timer = 0
-}
-
-NPC_ENTITY_FAST.on_activate = function(self)
- npc_update_visuals_fast(self)
- self.anim = npc_get_animations_fast(visual)
- self.object:set_animation({x=self.anim.stand_START,y=self.anim.stand_END}, animation_speed_mod, animation_blend)
- self.npc_anim = ANIM_STAND
- self.object:setacceleration({x=0,y=-10,z=0})
- self.state = 1
- self.object:set_hp(40)
-end
-
-NPC_ENTITY_FAST.on_punch = function(self, puncher)
- for _,object in ipairs(minetest.get_objects_inside_radius(self.object:getpos(), 5)) do
- if not object:is_player() then
- if object:get_luaentity().name == "peaceful_npc:npc_fast" then
- object:get_luaentity().state = 3
- object:get_luaentity().attacker = puncher:get_player_name()
- end
- end
- end
-
- if self.state ~= 3 then
- self.state = 3
- self.attacker = puncher:get_player_name()
- end
-
- if self.object:get_hp() == 0 then
- local obj = minetest.add_item(self.object:getpos(), "default:stone_with_coal 5")
- end
-end
-
-NPC_ENTITY_FAST.on_step = function(self, dtime)
- self.timer = self.timer + 0.01
- self.turn_timer = self.turn_timer + 0.01
- self.jump_timer = self.jump_timer + 0.01
- self.door_timer = self.door_timer + 0.01
- self.attacking_timer = self.attacking_timer + 0.01
-
- local current_pos = self.object:getpos()
- local current_node = minetest.get_node(current_pos)
- if self.time_passed == nil then
- self.time_passed = 0
- end
-
- self.time_passed = self.time_passed + dtime
-
- if self.time_passed >= 15 then
- self.object:remove()
- else
- if current_node.name == "default:water_source" or
- current_node.name == "default:water_flowing" or
- current_node.name == "default:lava_source" or
- current_node.name == "default:lava_flowing"
- then
- self.time_passed = self.time_passed + dtime
- else
- self.time_passed = 2
- end
-end
-
- --collision detection prealpha
- --[[
- for _,object in ipairs(minetest.get_objects_inside_radius(self.object:getpos(), 2)) do
- if object:is_player() then
- compare1 = object:getpos()
- compare2 = self.object:getpos()
- newx = compare2.x - compare1.x
- newz = compare2.z - compare1.z
- print(newx)
- print(newz)
- self.object:setacceleration({x=newx,y=self.object:getacceleration().y,z=newz})
- elseif not object:is_player() then
- if object:get_luaentity().name == "peaceful_npc:npc" then
- print("moo")
- end
- end
- end
- ]]--
-
- --set npc to hostile in night, and revert npc back to peaceful in daylight
- if minetest.get_timeofday() >= 0 and minetest.get_timeofday() < 0.25 and self.state ~= 4 then
- self.state = 4
- elseif minetest.get_timeofday() > 0.25 and self.state == 4 then
- self.state = 1
- end
- --if mob is not in attack or hostile mode, set mob to walking or standing
- if self.state < 3 then
- if self.timer > math.random(1,20) then
- self.state = math.random(1,2)
- self.timer = 0
- end
- end
- --STANDING
- if self.state == 1 then
- self.yawwer = true
- for _,object in ipairs(minetest.get_objects_inside_radius(self.object:getpos(), 3)) do
- if object:is_player() then
- self.yawwer = false
- NPC = self.object:getpos()
- PLAYER = object:getpos()
- self.vec = {x=PLAYER.x-NPC.x, y=PLAYER.y-NPC.y, z=PLAYER.z-NPC.z}
- self.yaw = math.atan(self.vec.z/self.vec.x)+math.pi^2
- if PLAYER.x > NPC.x then
- self.yaw = self.yaw + math.pi
- end
- self.yaw = self.yaw - 2
- self.object:setyaw(self.yaw)
- end
- end
-
- if self.turn_timer > math.random(1,4) and yawwer == true then
- self.yaw = 360 * math.random()
- self.object:setyaw(self.yaw)
- self.turn_timer = 0
- end
- self.object:setvelocity({x=0,y=self.object:getvelocity().y,z=0})
- if self.npc_anim ~= ANIM_STAND then
- self.anim = npc_get_animations_def(visual)
- self.object:set_animation({x=self.anim.stand_START,y=self.anim.stand_END}, animation_speed_mod, animation_blend)
- self.npc_anim = ANIM_STAND
- end
- end
- --WALKING
- if self.state == 2 then
- if self.present_timer == 1 then
- minetest.add_item(self.object:getpos(),"default:coal_lump")
- self.present_timer = 0
- end
- if self.direction ~= nil then
- self.object:setvelocity({x=self.direction.x*chillaxin_speed,y=self.object:getvelocity().y,z=self.direction.z*chillaxin_speed})
- end
- if self.turn_timer > math.random(1,4) then
- self.yaw = 360 * math.random()
- self.object:setyaw(self.yaw)
- self.turn_timer = 0
- self.direction = {x = math.sin(self.yaw)*-1, y = -10, z = math.cos(self.yaw)}
- --self.object:setvelocity({x=self.direction.x,y=self.object:getvelocity().y,z=direction.z})
- --self.object:setacceleration(self.direction)
- end
- if self.npc_anim ~= ANIM_WALK then
- self.anim = npc_get_animations_fast(visual)
- self.object:set_animation({x=self.anim.walk_START,y=self.anim.walk_END}, animation_speed_mod, animation_blend)
- self.npc_anim = ANIM_WALK
- end
- --open a door [alpha]
- if self.direction ~= nil then
- if self.door_timer > 2 then
- local is_a_door = minetest.get_node({x=self.object:getpos().x + self.direction.x,y=self.object:getpos().y,z=self.object:getpos().z + self.direction.z}).name
- if is_a_door == "doors:door_wood_t_1" then
- minetest.punch_node({x=self.object:getpos().x + self.direction.x,y=self.object:getpos().y-1,z=self.object:getpos().z + self.direction.z})
- self.door_timer = 0
- end
- local is_in_door = minetest.get_node(self.object:getpos()).name
- if is_in_door == "doors:door_wood_t_1" then
- minetest.punch_node(self.object:getpos())
- end
- end
- end
- --jump
- if self.direction ~= nil then
- if self.jump_timer > 0.3 then
- if minetest.get_node({x=self.object:getpos().x + self.direction.x,y=self.object:getpos().y-1,z=self.object:getpos().z + self.direction.z}).name ~= "air" then
- self.object:setvelocity({x=self.object:getvelocity().x,y=2.5,z=self.object:getvelocity().z})
- self.jump_timer = 0
- end
- end
- end
- end
- --WANDERING CONSTANTLY AT NIGHT
- if self.state == 4 then
- if self.npc_anim ~= ANIM_WALK then
- self.anim = npc_get_animations_fast(visual)
- self.object:set_animation({x=self.anim.walk_START,y=self.anim.walk_END}, animation_speed_mod, animation_blend)
- self.npc_anim = ANIM_WALK
- end
- for _,object in ipairs(minetest.get_objects_inside_radius(self.object:getpos(), 12)) do
- if object:is_player() then
- if object:get_hp() > 0 then
- NPC = self.object:getpos()
- PLAYER = object:getpos()
- self.vec = {x=PLAYER.x-NPC.x, y=PLAYER.y-NPC.y, z=PLAYER.z-NPC.z}
- self.yaw = math.atan(self.vec.z/self.vec.x)+math.pi^2
- if PLAYER.x > NPC.x then
- self.yaw = self.yaw + math.pi
- end
- self.yaw = self.yaw - 2
- self.object:setyaw(self.yaw)
- self.direction = {x = math.sin(self.yaw)*-1, y = 0, z = math.cos(self.yaw)}
- if self.direction ~= nil then
- self.object:setvelocity({x=self.direction.x*2.5,y=self.object:getvelocity().y,z=self.direction.z*2.5})
- end
- --jump over obstacles
- if self.jump_timer > 0.3 then
- if minetest.get_node({x=self.object:getpos().x + self.direction.x,y=self.object:getpos().y-1,z=self.object:getpos().z + self.direction.z}).name ~= "air" then
- self.object:setvelocity({x=self.object:getvelocity().x,y=5,z=self.object:getvelocity().z})
- self.jump_timer = 0
- end
- end
- if self.direction ~= nil then
- if self.door_timer > 2 then
- local is_a_door = minetest.get_node({x=self.object:getpos().x + self.direction.x,y=self.object:getpos().y,z=self.object:getpos().z + self.direction.z}).name
- if is_a_door == "doors:door_wood_t_1" then
- minetest.punch_node({x=self.object:getpos().x + self.direction.x,y=self.object:getpos().y-1,z=self.object:getpos().z + self.direction.z})
- self.door_timer = 0
- end
- local is_in_door = minetest.get_node(self.object:getpos()).name
- if is_in_door == "doors:door_wood_t_1" then
- minetest.punch_node(self.object:getpos())
- end
- end
- end
- --return
- end
- elseif not object:is_player() then
- self.state = 1
- self.attacker = ""
- end
- end
- if self.direction ~= nil then
- self.object:setvelocity({x=self.direction.x,y=self.object:getvelocity().y,z=self.direction.z})
- end
- if self.turn_timer > math.random(1,4) then
- self.yaw = 360 * math.random()
- self.object:setyaw(self.yaw)
- self.turn_timer = 0
- self.direction = {x = math.sin(self.yaw)*-1, y = -10, z = math.cos(self.yaw)}
- end
- if self.npc_anim ~= ANIM_WALK then
- self.anim = npc_get_animations_fast(visual)
- self.object:set_animation({x=self.anim.walk_START,y=self.anim.walk_END}, animation_speed_mod, animation_blend)
- self.npc_anim = ANIM_WALK
- end
- --open a door [alpha]
- if self.direction ~= nil then
- if self.door_timer > 2 then
- local is_a_door = minetest.get_node({x=self.object:getpos().x + self.direction.x,y=self.object:getpos().y,z=self.object:getpos().z + self.direction.z}).name
- if is_a_door == "doors:door_wood_t_1" then
- --print("door")
- minetest.punch_node({x=self.object:getpos().x + self.direction.x,y=self.object:getpos().y-1,z=self.object:getpos().z + self.direction.z})
- self.door_timer = 0
- end
- local is_in_door = minetest.get_node(self.object:getpos()).name
- --print(dump(is_in_door))
- if is_in_door == "doors:door_wood_t_1" then
- minetest.punch_node(self.object:getpos())
- end
- end
- end
- --jump
- if self.direction ~= nil then
- if self.jump_timer > 0.3 then
- --print(dump(minetest.get_node({x=self.object:getpos().x + self.direction.x,y=self.object:getpos().y-1,z=self.object:getpos().z + self.direction.z})))
- if minetest.get_node({x=self.object:getpos().x + self.direction.x,y=self.object:getpos().y-1,z=self.object:getpos().z + self.direction.z}).name ~= "air" then
- self.object:setvelocity({x=self.object:getvelocity().x,y=5,z=self.object:getvelocity().z})
- self.jump_timer = 0
- end
- end
- end
- end
-end
-
-minetest.register_entity("peaceful_npc:npc_fast", NPC_ENTITY_FAST)
-
diff --git a/peaceful_npc/recipes.lua b/peaceful_npc/recipes.lua
deleted file mode 100644
index 72707d3..0000000
--- a/peaceful_npc/recipes.lua
+++ /dev/null
@@ -1,37 +0,0 @@
---
---Crafts
---
-function npc_recipes(spawn_type, summon_core)
- minetest.register_craft({
- output = 'peaceful_npc:spawner_npc_'..spawn_type,
- recipe = {
- {'default:mese_block', 'default:glass', 'default:mese_block'},
- {'default:glass', 'peaceful_npc:summoner_npc_'..spawn_type, 'default:glass'},
- {'default:mese_block', 'default:glass', 'default:mese_block'},
- }
- })
-
- minetest.register_craft({
- output = 'peaceful_npc:summoner_npc_'..spawn_type,
- recipe = {
- {'default:mese_crystal', 'default:glass', 'default:mese_crystal'},
- {'default:glass', summon_core, 'default:glass'},
- {'default:mese_crystal', 'default:glass', 'default:mese_crystal'},
- }
- })
-
- minetest.register_craft({
- output = 'peaceful_npc:summoner_npc_'..spawn_type,
- recipe = {
- {'default:mese', 'default:glass', 'default:mese'},
- {'default:glass', summon_core, 'default:glass'},
- {'default:mese', 'default:glass', 'default:mese'},
- }
- })
-end
-
-npc_recipes('def', 'default:steel_ingot')
-npc_recipes('fast', 'default:cactus')
-npc_recipes('dwarf', 'bucket:bucket_lava')
-
-print("Peaceful NPC recipes.lua loaded! By jojoa1997!") \ No newline at end of file
diff --git a/peaceful_npc/schematics/Gambit_village_house.we b/peaceful_npc/schematics/Gambit_village_house.we
deleted file mode 100644
index 3e18402..0000000
--- a/peaceful_npc/schematics/Gambit_village_house.we
+++ /dev/null
@@ -1,268 +0,0 @@
-0 0 6 default:cobble 0 0
-0 0 7 stairs:stair_cobble 13 1
-0 0 8 default:cobble 0 0
-0 1 6 default:cobble 0 0
-0 1 8 default:cobble 0 0
-0 2 6 default:fence_wood 13 0
-0 2 8 default:fence_wood 13 0
-0 3 0 stairs:stair_wood 13 1
-0 3 1 stairs:stair_wood 13 1
-0 3 2 stairs:stair_wood 13 1
-0 3 3 stairs:stair_wood 13 1
-0 3 4 stairs:stair_wood 13 1
-0 3 5 stairs:stair_wood 13 1
-0 3 6 stairs:stair_wood 13 1
-0 3 7 stairs:stair_wood 13 1
-0 3 8 stairs:stair_wood 13 1
-0 3 9 stairs:stair_wood 13 1
-0 3 10 stairs:stair_wood 13 1
-1 0 1 default:tree 0 0
-1 0 2 default:fence_wood 12 0
-1 0 3 default:fence_wood 12 0
-1 0 4 default:fence_wood 12 0
-1 0 5 default:fence_wood 12 0
-1 0 6 default:tree 0 0
-1 0 7 default:cobble 0 0
-1 0 8 default:tree 0 0
-1 0 9 default:tree 0 0
-1 1 1 default:tree 0 0
-1 1 2 default:cobble 0 0
-1 1 3 default:cobble 0 0
-1 1 4 default:cobble 0 0
-1 1 5 default:cobble 0 0
-1 1 6 default:tree 0 0
-1 1 7 doors:door_wood_b_2 12 2
-1 1 8 default:tree 0 0
-1 1 9 default:tree 0 0
-1 2 1 default:tree 0 0
-1 2 2 default:wood 0 0
-1 2 3 default:glass 12 0
-1 2 4 default:wood 0 0
-1 2 5 default:wood 0 0
-1 2 6 default:tree 0 0
-1 2 7 doors:door_wood_t_2 12 2
-1 2 8 default:tree 0 0
-1 2 9 default:tree 0 0
-1 3 1 default:tree 0 0
-1 3 2 default:wood 0 0
-1 3 3 default:wood 0 0
-1 3 4 default:wood 0 0
-1 3 5 default:wood 0 0
-1 3 6 default:wood 0 0
-1 3 7 default:wood 0 0
-1 3 8 default:wood 0 0
-1 3 9 default:tree 0 0
-1 4 0 stairs:stair_wood 13 1
-1 4 1 stairs:stair_wood 13 1
-1 4 2 stairs:stair_wood 13 1
-1 4 3 stairs:stair_wood 13 1
-1 4 4 stairs:stair_wood 13 1
-1 4 5 stairs:stair_wood 13 1
-1 4 6 stairs:stair_wood 13 1
-1 4 7 stairs:stair_wood 13 1
-1 4 8 stairs:stair_wood 13 1
-1 4 9 stairs:stair_wood 13 1
-1 4 10 stairs:stair_wood 13 1
-2 0 1 default:fence_wood 12 0
-2 0 2 default:tree 0 0
-2 0 3 default:tree 0 0
-2 0 4 default:tree 0 0
-2 0 5 default:tree 0 0
-2 0 6 default:tree 0 0
-2 0 7 default:tree 0 0
-2 0 8 default:tree 0 0
-2 0 9 default:fence_wood 12 0
-2 1 1 default:cobble 0 0
-2 1 2 default:cobble 0 0
-2 1 3 default:furnace 0 3
-2 1 4 default:cobble 0 0
-2 1 5 default:cobble 0 0
-2 1 8 default:fence_wood 10 0
-2 1 9 default:cobble 0 0
-2 2 1 default:wood 0 0
-2 2 2 default:fence_wood 10 0
-2 2 4 default:fence_wood 10 0
-2 2 5 default:papyrus 9 0
-2 2 8 default:fence_wood 10 0
-2 2 9 default:wood 0 0
-2 3 1 default:wood 0 0
-2 3 2 stairs:slab_wood 9 0
-2 3 3 stairs:slab_wood 10 0
-2 3 4 stairs:slab_wood 9 0
-2 3 5 stairs:slab_wood 8 0
-2 3 6 stairs:slab_wood 9 0
-2 3 7 stairs:slab_wood 10 0
-2 3 8 stairs:slab_wood 9 0
-2 3 9 default:wood 0 0
-2 4 1 default:wood 0 0
-2 4 2 default:chest 0 3
-2 4 3 default:chest 0 3
-2 4 4 default:chest 0 3
-2 4 5 default:bookshelf 0 0
-2 4 6 default:bookshelf 0 0
-2 4 7 default:bookshelf 0 0
-2 4 8 default:bookshelf 0 0
-2 4 9 default:wood 0 0
-2 5 0 stairs:stair_wood 13 1
-2 5 1 stairs:stair_wood 13 1
-2 5 2 stairs:stair_wood 13 1
-2 5 3 stairs:stair_wood 13 1
-2 5 4 stairs:stair_wood 13 1
-2 5 5 stairs:stair_wood 13 1
-2 5 6 stairs:stair_wood 13 1
-2 5 7 stairs:stair_wood 13 1
-2 5 8 stairs:stair_wood 13 1
-2 5 9 stairs:stair_wood 13 1
-2 5 10 stairs:stair_wood 13 1
-3 0 1 default:fence_wood 12 0
-3 0 2 default:tree 0 0
-3 0 3 default:tree 0 0
-3 0 4 default:tree 0 0
-3 0 5 default:tree 0 0
-3 0 6 default:tree 0 0
-3 0 7 default:tree 0 0
-3 0 8 default:tree 0 0
-3 0 9 default:fence_wood 12 0
-3 1 1 default:cobble 0 0
-3 1 5 default:cobble 0 0
-3 1 9 default:cobble 0 0
-3 2 1 default:glass 12 0
-3 2 5 default:papyrus 9 0
-3 2 9 default:glass 12 0
-3 3 1 default:wood 0 0
-3 3 8 stairs:slab_wood 10 0
-3 3 9 default:wood 0 0
-3 4 1 default:wood 0 0
-3 4 8 default:bookshelf 0 0
-3 4 9 default:wood 0 0
-3 5 0 default:wood 0 0
-3 5 1 default:wood 0 0
-3 5 2 default:wood 0 0
-3 5 3 default:wood 0 0
-3 5 4 default:wood 0 0
-3 5 5 default:wood 0 0
-3 5 6 default:wood 0 0
-3 5 7 default:wood 0 0
-3 5 8 default:wood 0 0
-3 5 9 default:wood 0 0
-3 5 10 default:wood 0 0
-4 0 1 default:fence_wood 12 0
-4 0 2 default:tree 0 0
-4 0 3 default:tree 0 0
-4 0 4 default:tree 0 0
-4 0 5 default:tree 0 0
-4 0 6 default:tree 0 0
-4 0 7 default:tree 0 0
-4 0 8 default:tree 0 0
-4 0 9 default:fence_wood 12 0
-4 1 1 default:cobble 0 0
-4 1 9 default:cobble 0 0
-4 2 1 default:glass 12 0
-4 2 9 default:glass 12 0
-4 3 1 default:wood 0 0
-4 3 8 stairs:slab_wood 10 0
-4 3 9 default:wood 0 0
-4 4 1 default:wood 0 0
-4 4 8 default:bookshelf 0 0
-4 4 9 default:wood 0 0
-4 5 0 default:wood 0 0
-4 5 1 default:wood 0 0
-4 5 2 default:wood 0 0
-4 5 3 default:wood 0 0
-4 5 4 default:wood 0 0
-4 5 5 default:wood 0 0
-4 5 6 default:wood 0 0
-4 5 7 default:wood 0 0
-4 5 8 default:wood 0 0
-4 5 9 default:wood 0 0
-4 5 10 default:wood 0 0
-5 0 1 default:fence_wood 12 0
-5 0 2 default:tree 0 0
-5 0 3 default:tree 0 0
-5 0 4 default:tree 0 0
-5 0 5 default:tree 0 0
-5 0 6 default:tree 0 0
-5 0 7 default:tree 0 0
-5 0 8 default:tree 0 0
-5 0 9 default:fence_wood 12 0
-5 1 1 default:cobble 0 0
-5 1 8 default:fence_wood 9 0
-5 1 9 default:cobble 0 0
-5 2 1 default:wood 0 0
-5 2 8 default:fence_wood 10 0
-5 2 9 default:wood 0 0
-5 3 1 default:wood 0 0
-5 3 8 stairs:slab_wood 10 0
-5 3 9 default:wood 0 0
-5 4 1 default:wood 0 0
-5 4 8 default:bookshelf 0 0
-5 4 9 default:wood 0 0
-5 5 0 stairs:stair_wood 13 3
-5 5 1 stairs:stair_wood 13 3
-5 5 2 stairs:stair_wood 13 3
-5 5 3 stairs:stair_wood 13 3
-5 5 4 stairs:stair_wood 13 3
-5 5 5 stairs:stair_wood 13 3
-5 5 6 stairs:stair_wood 13 3
-5 5 7 stairs:stair_wood 13 3
-5 5 8 stairs:stair_wood 13 3
-5 5 9 stairs:stair_wood 13 3
-5 5 10 stairs:stair_wood 13 3
-6 0 1 default:tree 0 0
-6 0 2 default:fence_wood 12 0
-6 0 3 default:fence_wood 12 0
-6 0 4 default:fence_wood 12 0
-6 0 5 default:fence_wood 12 0
-6 0 6 default:fence_wood 12 0
-6 0 7 default:fence_wood 12 0
-6 0 8 default:fence_wood 12 0
-6 0 9 default:tree 0 0
-6 1 1 default:tree 0 0
-6 1 2 default:cobble 0 0
-6 1 3 default:cobble 0 0
-6 1 4 default:cobble 0 0
-6 1 5 default:cobble 0 0
-6 1 6 default:cobble 0 0
-6 1 7 default:cobble 0 0
-6 1 8 default:cobble 0 0
-6 1 9 default:tree 0 0
-6 2 1 default:tree 0 0
-6 2 2 default:wood 0 0
-6 2 3 default:glass 12 0
-6 2 4 default:wood 0 0
-6 2 5 default:glass 12 0
-6 2 6 default:wood 0 0
-6 2 7 default:glass 12 0
-6 2 8 default:wood 0 0
-6 2 9 default:tree 0 0
-6 3 1 default:tree 0 0
-6 3 2 default:wood 0 0
-6 3 3 default:wood 0 0
-6 3 4 default:wood 0 0
-6 3 5 default:wood 0 0
-6 3 6 default:wood 0 0
-6 3 7 default:wood 0 0
-6 3 8 default:wood 0 0
-6 3 9 default:tree 0 0
-6 4 0 stairs:stair_wood 13 3
-6 4 1 stairs:stair_wood 13 3
-6 4 2 stairs:stair_wood 13 3
-6 4 3 stairs:stair_wood 13 3
-6 4 4 stairs:stair_wood 13 3
-6 4 5 stairs:stair_wood 13 3
-6 4 6 stairs:stair_wood 13 3
-6 4 7 stairs:stair_wood 13 3
-6 4 8 stairs:stair_wood 13 3
-6 4 9 stairs:stair_wood 13 3
-6 4 10 stairs:stair_wood 13 3
-7 3 0 stairs:stair_wood 13 3
-7 3 1 stairs:stair_wood 13 3
-7 3 2 stairs:stair_wood 13 3
-7 3 3 stairs:stair_wood 13 3
-7 3 4 stairs:stair_wood 13 3
-7 3 5 stairs:stair_wood 13 3
-7 3 6 stairs:stair_wood 13 3
-7 3 7 stairs:stair_wood 13 3
-7 3 8 stairs:stair_wood 13 3
-7 3 9 stairs:stair_wood 13 3
-7 3 10 stairs:stair_wood 13 3 \ No newline at end of file
diff --git a/peaceful_npc/schematics/npc_blacksmith.we b/peaceful_npc/schematics/npc_blacksmith.we
deleted file mode 100644
index 27daeb1..0000000
--- a/peaceful_npc/schematics/npc_blacksmith.we
+++ /dev/null
@@ -1,275 +0,0 @@
-0 0 0 default:cobble 0 0
-0 0 1 default:cobble 0 0
-0 0 2 default:cobble 0 0
-0 0 3 default:cobble 0 0
-0 0 4 default:cobble 0 0
-0 0 5 default:cobble 0 0
-0 0 6 default:cobble 0 0
-0 0 7 default:cobble 0 0
-0 0 8 default:cobble 0 0
-0 0 9 default:cobble 0 0
-0 1 0 default:cobble 0 0
-0 1 1 default:cobble 0 0
-0 1 2 default:cobble 0 0
-0 1 3 default:cobble 0 0
-0 1 4 default:wood 0 0
-0 1 5 default:wood 0 0
-0 1 6 default:wood 0 0
-0 1 7 default:wood 0 0
-0 1 8 default:wood 0 0
-0 1 9 default:tree 0 0
-0 2 0 default:cobble 0 0
-0 2 1 default:cobble 0 0
-0 2 2 default:cobble 0 0
-0 2 3 default:cobble 0 0
-0 2 4 default:wood 0 0
-0 2 5 default:glass 29 0
-0 2 6 default:wood 0 0
-0 2 7 default:glass 13 0
-0 2 8 default:wood 0 0
-0 2 9 default:tree 0 0
-0 3 0 default:cobble 0 0
-0 3 1 default:cobble 0 0
-0 3 2 default:cobble 0 0
-0 3 3 default:cobble 0 0
-0 3 4 default:wood 0 0
-0 3 5 default:wood 0 0
-0 3 6 default:wood 0 0
-0 3 7 default:wood 0 0
-0 3 8 default:wood 0 0
-0 3 9 default:tree 0 0
-0 4 0 default:cobble 0 0
-0 4 1 default:cobble 0 0
-0 4 2 default:cobble 0 0
-0 4 3 default:cobble 0 0
-0 4 4 default:cobble 0 0
-0 4 5 default:cobble 0 0
-0 4 6 default:cobble 0 0
-0 4 7 default:cobble 0 0
-0 4 8 default:cobble 0 0
-0 4 9 default:tree 0 0
-0 5 0 stairs:slab_stone 93 0
-0 5 1 stairs:slab_stone 77 0
-0 5 2 stairs:slab_stone 61 0
-0 5 3 stairs:slab_stone 45 0
-0 5 4 stairs:slab_stone 29 0
-0 5 5 stairs:slab_stone 13 0
-0 5 6 stairs:slab_stone 13 0
-0 5 7 stairs:slab_stone 13 0
-0 5 8 stairs:slab_stone 13 0
-0 5 9 stairs:slab_stone 13 0
-1 0 0 default:cobble 0 0
-1 0 1 default:cobble 0 0
-1 0 2 default:cobble 0 0
-1 0 3 default:cobble 0 0
-1 0 4 default:cobble 0 0
-1 0 5 default:cobble 0 0
-1 0 6 default:cobble 0 0
-1 0 7 default:cobble 0 0
-1 0 8 default:cobble 0 0
-1 0 9 default:cobble 0 0
-1 1 0 default:cobble 0 0
-1 1 1 default:lava_source 0 0
-1 1 2 default:lava_source 0 0
-1 1 3 default:cobble 0 0
-1 1 4 default:chest 0 2
-1 1 7 stairs:stair_wood 11 0
-1 1 8 default:wood 0 0
-1 1 9 default:wood 0 0
-1 2 0 default:glass 189 0
-1 2 3 default:cobble 0 0
-1 2 9 default:wood 0 0
-1 3 0 default:cobble 0 0
-1 3 1 default:cobble 0 0
-1 3 2 default:cobble 0 0
-1 3 3 default:cobble 0 0
-1 3 9 default:wood 0 0
-1 4 0 default:cobble 0 0
-1 4 1 default:cobble 0 0
-1 4 2 default:cobble 0 0
-1 4 3 default:cobble 0 0
-1 4 4 default:cobble 0 0
-1 4 5 default:cobble 0 0
-1 4 6 default:cobble 0 0
-1 4 7 default:cobble 0 0
-1 4 8 default:cobble 0 0
-1 4 9 default:cobble 0 0
-1 5 0 stairs:slab_stone 109 0
-1 5 9 stairs:slab_stone 13 0
-2 0 0 default:cobble 0 0
-2 0 1 default:cobble 0 0
-2 0 2 default:cobble 0 0
-2 0 3 default:cobble 0 0
-2 0 4 default:cobble 0 0
-2 0 5 default:cobble 0 0
-2 0 6 default:cobble 0 0
-2 0 7 default:cobble 0 0
-2 0 8 default:cobble 0 0
-2 0 9 default:cobble 0 0
-2 1 0 default:cobble 0 0
-2 1 1 default:cobble 0 0
-2 1 2 default:cobble 0 0
-2 1 3 default:cobble 0 0
-2 1 7 default:fence_wood 10 0
-2 1 8 stairs:stair_wood 11 3
-2 1 9 default:wood 0 0
-2 2 0 default:glass 173 0
-2 2 3 default:cobble 0 0
-2 2 9 default:glass 13 0
-2 3 0 default:cobble 0 0
-2 3 1 default:cobble 0 0
-2 3 2 default:cobble 0 0
-2 3 3 default:cobble 0 0
-2 3 9 default:wood 0 0
-2 4 0 default:cobble 0 0
-2 4 1 default:cobble 0 0
-2 4 2 default:cobble 0 0
-2 4 3 default:cobble 0 0
-2 4 4 default:cobble 0 0
-2 4 5 default:cobble 0 0
-2 4 6 default:cobble 0 0
-2 4 7 default:cobble 0 0
-2 4 8 default:cobble 0 0
-2 4 9 default:cobble 0 0
-2 5 0 stairs:slab_stone 93 0
-2 5 9 stairs:slab_stone 13 0
-3 0 0 default:cobble 0 0
-3 0 1 default:cobble 0 0
-3 0 2 default:cobble 0 0
-3 0 3 default:cobble 0 0
-3 0 4 default:cobble 0 0
-3 0 5 default:cobble 0 0
-3 0 6 default:cobble 0 0
-3 0 7 default:cobble 0 0
-3 0 8 default:cobble 0 0
-3 0 9 default:cobble 0 0
-3 1 3 default:cobble 0 0
-3 1 4 default:wood 0 0
-3 1 5 default:wood 0 0
-3 1 9 default:wood 0 0
-3 2 3 default:furnace 0 0
-3 2 4 default:wood 0 0
-3 2 5 default:wood 0 0
-3 2 9 default:wood 0 0
-3 3 3 default:furnace 0 0
-3 3 4 default:wood 0 0
-3 3 5 default:wood 0 0
-3 3 9 default:wood 0 0
-3 4 0 default:cobble 0 0
-3 4 1 default:cobble 0 0
-3 4 2 default:cobble 0 0
-3 4 3 default:cobble 0 0
-3 4 4 default:cobble 0 0
-3 4 5 default:cobble 0 0
-3 4 6 default:cobble 0 0
-3 4 7 default:cobble 0 0
-3 4 8 default:cobble 0 0
-3 4 9 default:cobble 0 0
-3 5 0 stairs:slab_stone 77 0
-3 5 9 stairs:slab_stone 13 0
-4 0 0 default:cobble 0 0
-4 0 1 default:cobble 0 0
-4 0 2 default:cobble 0 0
-4 0 3 default:cobble 0 0
-4 0 4 default:cobble 0 0
-4 0 5 default:cobble 0 0
-4 0 6 default:cobble 0 0
-4 0 7 default:cobble 0 0
-4 0 8 default:cobble 0 0
-4 0 9 default:cobble 0 0
-4 1 6 default:wood 0 0
-4 1 9 default:wood 0 0
-4 2 6 default:wood 0 0
-4 2 9 default:glass 13 0
-4 3 6 default:wood 0 0
-4 3 9 default:wood 0 0
-4 4 0 default:cobble 0 0
-4 4 1 default:cobble 0 0
-4 4 2 default:cobble 0 0
-4 4 3 default:cobble 0 0
-4 4 4 default:cobble 0 0
-4 4 5 default:cobble 0 0
-4 4 6 default:cobble 0 0
-4 4 7 default:cobble 0 0
-4 4 8 default:cobble 0 0
-4 4 9 default:cobble 0 0
-4 5 0 stairs:slab_stone 61 0
-4 5 9 stairs:slab_stone 13 0
-5 0 0 default:cobble 0 0
-5 0 1 default:cobble 0 0
-5 0 2 default:cobble 0 0
-5 0 3 default:cobble 0 0
-5 0 4 default:cobble 0 0
-5 0 5 default:cobble 0 0
-5 0 6 default:cobble 0 0
-5 0 7 default:cobble 0 0
-5 0 8 default:cobble 0 0
-5 0 9 default:cobble 0 0
-5 1 1 default:stone 0 0
-5 1 9 default:wood 0 0
-5 2 9 default:wood 0 0
-5 3 6 default:wood 0 0
-5 3 9 default:wood 0 0
-5 4 0 default:cobble 0 0
-5 4 1 default:cobble 0 0
-5 4 2 default:cobble 0 0
-5 4 3 default:cobble 0 0
-5 4 4 default:cobble 0 0
-5 4 5 default:cobble 0 0
-5 4 6 default:cobble 0 0
-5 4 7 default:cobble 0 0
-5 4 8 default:cobble 0 0
-5 4 9 default:cobble 0 0
-5 5 0 stairs:slab_stone 45 0
-5 5 9 stairs:slab_stone 13 0
-6 0 0 default:cobble 0 0
-6 0 1 default:cobble 0 0
-6 0 2 default:cobble 0 0
-6 0 3 default:cobble 0 0
-6 0 4 default:cobble 0 0
-6 0 5 default:cobble 0 0
-6 0 6 default:cobble 0 0
-6 0 7 default:cobble 0 0
-6 0 8 default:cobble 0 0
-6 0 9 default:cobble 0 0
-6 1 0 default:fence_wood 93 0
-6 1 4 default:fence_wood 77 0
-6 1 6 default:tree 0 0
-6 1 7 default:wood 0 0
-6 1 8 default:wood 0 0
-6 1 9 default:tree 0 0
-6 2 0 default:fence_wood 109 0
-6 2 4 default:fence_wood 93 0
-6 2 6 default:tree 0 0
-6 2 7 default:wood 0 0
-6 2 8 default:wood 0 0
-6 2 9 default:tree 0 0
-6 3 0 default:fence_wood 93 0
-6 3 4 default:fence_wood 77 0
-6 3 6 default:tree 0 0
-6 3 7 default:wood 0 0
-6 3 8 default:wood 0 0
-6 3 9 default:tree 0 0
-6 4 0 default:cobble 0 0
-6 4 1 default:cobble 0 0
-6 4 2 default:cobble 0 0
-6 4 3 default:cobble 0 0
-6 4 4 default:cobble 0 0
-6 4 5 default:cobble 0 0
-6 4 6 default:tree 0 0
-6 4 7 default:cobble 0 0
-6 4 8 default:cobble 0 0
-6 4 9 default:tree 0 0
-6 5 0 stairs:slab_stone 29 0
-6 5 1 stairs:slab_stone 45 0
-6 5 2 stairs:slab_stone 45 0
-6 5 3 stairs:slab_stone 29 0
-6 5 4 stairs:slab_stone 13 0
-6 5 5 stairs:slab_stone 13 0
-6 5 6 stairs:slab_stone 13 0
-6 5 7 stairs:slab_stone 13 0
-6 5 8 stairs:slab_stone 13 0
-6 5 9 stairs:slab_stone 13 0
-7 0 1 stairs:stair_cobble 77 3
-7 0 2 stairs:stair_cobble 77 3
-7 0 3 stairs:stair_cobble 61 3 \ No newline at end of file
diff --git a/peaceful_npc/spawning.lua b/peaceful_npc/spawning.lua
deleted file mode 100644
index 8ce8f6f..0000000
--- a/peaceful_npc/spawning.lua
+++ /dev/null
@@ -1,86 +0,0 @@
---Spawn function
-function def_spawn(pos)
- minetest.add_entity(pos, "peaceful_npc:npc_def")
- print("want to spawn npc_def at "..dump(pos))
- if mode_debug == true then
- minetest.chat_send_all("want to spawn npc_def at "..dump(pos))
- end
-end
-
-function fast_spawn(pos)
- minetest.add_entity(pos, "peaceful_npc:npc_fast")
- print("want to spawn npc_fast at "..dump(pos))
- if mode_debug == true then
- minetest.chat_send_all("want to spawn npc_fast at "..dump(pos))
- end
-end
-
-function dwarf_spawn(pos)
- minetest.add_entity(pos, "peaceful_npc:npc_dwarf")
- print("want to spawn npc_dwarf at "..dump(pos))
- if mode_debug == true then
- minetest.chat_send_all("want to spawn npc_dwarf at "..dump(pos))
- end
-end
-
---Mapgen biomes
-plaingen_biome = {
- surface = "default:dirt_with_grass",
- avoid_nodes = {"group:liquid", "group:tree"},
- avoid_radius = 20,
- rarity = 93,
- max_count = 1,
- min_elevation = -10,
- max_elevation = 30,
-}
-
-forestgen_biome = {
- surface = {"group:tree", "default:leaves"},
- avoid_nodes = {"group:liquid"},
- avoid_radius = 10,
- rarity = 96,
- max_count = 1,
- min_elevation = 20,
- max_elevation = 50,
-}
-
-beachgen_biome = {
- surface = "default:sand",
- avoid_nodes = {"group:liquid"},
- avoid_radius = 1,
- rarity = 90,
- max_count = 1,
- min_elevation = 0,
- max_elevation = 10,
-}
-
-desertgen_biome = {
- surface = { "default:desert_sand", "default:desert_stone"},
- avoid_nodes = {"group:liquid"},
- avoid_radius = 100,
- rarity = 95,
- max_count = 1,
- min_elevation = 0,
- max_elevation = 150,
-}
-
-cavegen_biome = {
- surface = { "default:stone_with_iron", "default:stone_with_coal", "default:stone_with_mese"},
- avoid_nodes = {"group:liquid"},
- avoid_radius = 5,
- rarity = 98,
- max_count = 1,
- min_elevation = -500,
- max_elevation = -50,
- check_air = true,
- spawn_replace_node = true,
-}
-
---spawn definers
-biome_lib:register_generate_plant(plaingen_biome, "def_spawn")
-biome_lib:register_generate_plant(forestgen_biome, "def_spawn")
-biome_lib:register_generate_plant(beachgen_biome, "fast_spawn")
-biome_lib:register_generate_plant(desertgen_biome, "fast_spawn")
-biome_lib:register_generate_plant(cavegen_biome, "dwarf_spawn")
-
-print("Peaceful NPC spawning.lua loaded! By jojoa1997!") \ No newline at end of file
diff --git a/peaceful_npc/textures/peaceful_npc_npc_summoner_def.png b/peaceful_npc/textures/peaceful_npc_npc_summoner_def.png
deleted file mode 100644
index 76932a9..0000000
--- a/peaceful_npc/textures/peaceful_npc_npc_summoner_def.png
+++ /dev/null
Binary files differ
diff --git a/peaceful_npc/textures/peaceful_npc_npc_summoner_dwarf.png b/peaceful_npc/textures/peaceful_npc_npc_summoner_dwarf.png
deleted file mode 100644
index 5ef7c3e..0000000
--- a/peaceful_npc/textures/peaceful_npc_npc_summoner_dwarf.png
+++ /dev/null
Binary files differ
diff --git a/peaceful_npc/textures/peaceful_npc_npc_summoner_fast.png b/peaceful_npc/textures/peaceful_npc_npc_summoner_fast.png
deleted file mode 100644
index 9034d90..0000000
--- a/peaceful_npc/textures/peaceful_npc_npc_summoner_fast.png
+++ /dev/null
Binary files differ
diff --git a/peaceful_npc/textures/peaceful_npc_spawnegg.png b/peaceful_npc/textures/peaceful_npc_spawnegg.png
deleted file mode 100644
index c2e8752..0000000
--- a/peaceful_npc/textures/peaceful_npc_spawnegg.png
+++ /dev/null
Binary files differ
diff --git a/peaceful_npc/textures/peaceful_npc_spawner_def.png b/peaceful_npc/textures/peaceful_npc_spawner_def.png
deleted file mode 100644
index 3be53b0..0000000
--- a/peaceful_npc/textures/peaceful_npc_spawner_def.png
+++ /dev/null
Binary files differ
diff --git a/peaceful_npc/textures/peaceful_npc_spawner_dwarf.png b/peaceful_npc/textures/peaceful_npc_spawner_dwarf.png
deleted file mode 100644
index 3a03bd4..0000000
--- a/peaceful_npc/textures/peaceful_npc_spawner_dwarf.png
+++ /dev/null
Binary files differ
diff --git a/peaceful_npc/textures/peaceful_npc_spawner_fast.png b/peaceful_npc/textures/peaceful_npc_spawner_fast.png
deleted file mode 100644
index 7fbc342..0000000
--- a/peaceful_npc/textures/peaceful_npc_spawner_fast.png
+++ /dev/null
Binary files differ
diff --git a/peaceful_npc/todo.txt b/peaceful_npc/todo.txt
deleted file mode 100644
index 9ce9868..0000000
--- a/peaceful_npc/todo.txt
+++ /dev/null
@@ -1 +0,0 @@
-i will be changeing the recipes to obsidian since it was added to minetest_game \ No newline at end of file