forked from MineClone5/MineClone5
Merge branch 'master' of https://git.minetest.land/Wuzzy/MineClone2
This commit is contained in:
commit
54f7d76298
11
README.md
11
README.md
|
@ -14,9 +14,10 @@ Or you can play in “creative mode” in which you can build almost anything in
|
||||||
|
|
||||||
#### Gameplay summary
|
#### Gameplay summary
|
||||||
|
|
||||||
* Sandbox-style gameplay, no goals (for now)
|
* Sandbox-style gameplay, no goals
|
||||||
* Survive: Fight against hostile monsters and hunger
|
* Survive: Fight against hostile monsters and hunger
|
||||||
* Mine for ores and other treasures
|
* Mine for ores and other treasures
|
||||||
|
* Magic: Gain experience and enchant your tools
|
||||||
* Use the collected blocks to create great buildings, your imagination is the limit
|
* Use the collected blocks to create great buildings, your imagination is the limit
|
||||||
* Collect flowers (and other dye sources) and colorize your world
|
* Collect flowers (and other dye sources) and colorize your world
|
||||||
* Find some seeds and start farming
|
* Find some seeds and start farming
|
||||||
|
@ -102,7 +103,7 @@ big bugs (such as “missing node” errors or even crashes).
|
||||||
The following main features are available:
|
The following main features are available:
|
||||||
|
|
||||||
* Tools, weapons
|
* Tools, weapons
|
||||||
* Armor (unbalanced)
|
* Armor
|
||||||
* Crafting system: 2×2 grid, crafting table (3×3 grid), furnace, including a crafting guide
|
* Crafting system: 2×2 grid, crafting table (3×3 grid), furnace, including a crafting guide
|
||||||
* Chests, large chests, ender chests, shulker boxes
|
* Chests, large chests, ender chests, shulker boxes
|
||||||
* Furnaces, hoppers
|
* Furnaces, hoppers
|
||||||
|
@ -117,6 +118,8 @@ The following main features are available:
|
||||||
* Redstone circuits (partially)
|
* Redstone circuits (partially)
|
||||||
* Minecarts (partial)
|
* Minecarts (partial)
|
||||||
* Status effects (partial)
|
* Status effects (partial)
|
||||||
|
* Experience
|
||||||
|
* Enchanting
|
||||||
* Brewing, potions, tipped arrow (partial)
|
* Brewing, potions, tipped arrow (partial)
|
||||||
* Boats
|
* Boats
|
||||||
* Fire
|
* Fire
|
||||||
|
@ -142,12 +145,9 @@ The following main features are available:
|
||||||
The following features are incomplete:
|
The following features are incomplete:
|
||||||
|
|
||||||
* Generated structures (especially villages)
|
* Generated structures (especially villages)
|
||||||
* NPCs
|
|
||||||
* Some monsters and animals
|
* Some monsters and animals
|
||||||
* Redstone-related things
|
* Redstone-related things
|
||||||
* The End
|
* The End
|
||||||
* Enchanting
|
|
||||||
* Experience
|
|
||||||
* Special minecarts
|
* Special minecarts
|
||||||
* A couple of non-trivial blocks and items
|
* A couple of non-trivial blocks and items
|
||||||
|
|
||||||
|
@ -261,7 +261,6 @@ Various sources. See the respective mod directories for details.
|
||||||
|
|
||||||
## Info for programmers
|
## Info for programmers
|
||||||
You find interesting and useful infos in `API.md`.
|
You find interesting and useful infos in `API.md`.
|
||||||
This project is currently mostly a one-person project.
|
|
||||||
|
|
||||||
## Legal information
|
## Legal information
|
||||||
This is a fan game, not developed or endorsed by Mojang AB.
|
This is a fan game, not developed or endorsed by Mojang AB.
|
||||||
|
|
|
@ -647,9 +647,9 @@ local item_drop = function(self, cooked, looting_level)
|
||||||
|
|
||||||
-- no drops if disabled by setting
|
-- no drops if disabled by setting
|
||||||
if not mobs_drop_items then return end
|
if not mobs_drop_items then return end
|
||||||
|
|
||||||
looting_level = looting_level or 0
|
looting_level = looting_level or 0
|
||||||
|
|
||||||
-- no drops for child mobs (except monster)
|
-- no drops for child mobs (except monster)
|
||||||
if (self.child and self.type ~= "monster") then
|
if (self.child and self.type ~= "monster") then
|
||||||
return
|
return
|
||||||
|
@ -938,7 +938,7 @@ local is_at_cliff_or_danger = function(self)
|
||||||
return true
|
return true
|
||||||
else
|
else
|
||||||
local def = minetest.registered_nodes[bnode.name]
|
local def = minetest.registered_nodes[bnode.name]
|
||||||
if def and def.walkable then
|
if def and def.walkable then
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -951,7 +951,7 @@ end
|
||||||
-- copy the 'mob facing cliff_or_danger check' from above, and rework to avoid water
|
-- copy the 'mob facing cliff_or_danger check' from above, and rework to avoid water
|
||||||
local is_at_water_danger = function(self)
|
local is_at_water_danger = function(self)
|
||||||
|
|
||||||
|
|
||||||
if not self.object:get_luaentity() then
|
if not self.object:get_luaentity() then
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
@ -976,7 +976,7 @@ local is_at_water_danger = function(self)
|
||||||
return true
|
return true
|
||||||
else
|
else
|
||||||
local def = minetest.registered_nodes[bnode.name]
|
local def = minetest.registered_nodes[bnode.name]
|
||||||
if def and def.walkable then
|
if def and def.walkable then
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -2350,10 +2350,10 @@ local do_states = function(self, dtime)
|
||||||
lp = minetest.find_nodes_in_area_under_air(
|
lp = minetest.find_nodes_in_area_under_air(
|
||||||
{x = s.x - 5, y = s.y - 0.5, z = s.z - 5},
|
{x = s.x - 5, y = s.y - 0.5, z = s.z - 5},
|
||||||
{x = s.x + 5, y = s.y + 1, z = s.z + 5},
|
{x = s.x + 5, y = s.y + 1, z = s.z + 5},
|
||||||
{"group:solid"})
|
{"group:solid"})
|
||||||
|
|
||||||
lp = #lp > 0 and lp[random(#lp)]
|
lp = #lp > 0 and lp[random(#lp)]
|
||||||
|
|
||||||
-- did we find land?
|
-- did we find land?
|
||||||
if lp then
|
if lp then
|
||||||
|
|
||||||
|
@ -3598,15 +3598,15 @@ local mob_step = function(self, dtime)
|
||||||
for n = 1, #close_objs do
|
for n = 1, #close_objs do
|
||||||
if close_objs[n]:is_player() then
|
if close_objs[n]:is_player() then
|
||||||
self.lifetimer = 20
|
self.lifetimer = 20
|
||||||
else
|
return
|
||||||
if math.random(1,10) <= 3 then
|
|
||||||
minetest.log("action", "Mob "..self.name.." despawns in mob_step at "..minetest.pos_to_string(pos))
|
|
||||||
mcl_burning.extinguish(self.object)
|
|
||||||
self.object:remove()
|
|
||||||
return
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
if math.random(1, 10) <= 3 then
|
||||||
|
minetest.log("action", "Mob "..self.name.." despawns in mob_step at "..minetest.pos_to_string(pos))
|
||||||
|
mcl_burning.extinguish(self.object)
|
||||||
|
self.object:remove()
|
||||||
|
return
|
||||||
|
end
|
||||||
else
|
else
|
||||||
minetest.log("action", "Mob "..self.name.." despawns in mob_step at "..minetest.pos_to_string(pos))
|
minetest.log("action", "Mob "..self.name.." despawns in mob_step at "..minetest.pos_to_string(pos))
|
||||||
mcl_burning.extinguish(self.object)
|
mcl_burning.extinguish(self.object)
|
||||||
|
@ -3842,7 +3842,7 @@ minetest.register_entity(name, {
|
||||||
get_staticdata = function(self)
|
get_staticdata = function(self)
|
||||||
return mob_staticdata(self)
|
return mob_staticdata(self)
|
||||||
end,
|
end,
|
||||||
|
|
||||||
harmed_by_heal = def.harmed_by_heal,
|
harmed_by_heal = def.harmed_by_heal,
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
|
@ -1109,7 +1109,13 @@ if progressive_mode then
|
||||||
local name = player:get_player_name()
|
local name = player:get_player_name()
|
||||||
local data = player_data[name]
|
local data = player_data[name]
|
||||||
|
|
||||||
meta:set_string("inv_items", serialize(data.inv_items))
|
if not data then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local inv_items = data.inv_items or {}
|
||||||
|
|
||||||
|
meta:set_string("inv_items", serialize(inv_items))
|
||||||
end
|
end
|
||||||
|
|
||||||
M.register_on_leaveplayer(function(player)
|
M.register_on_leaveplayer(function(player)
|
||||||
|
|
Loading…
Reference in New Issue