mirror of
https://github.com/sys4-fr/server-nalc.git
synced 2025-01-12 11:00:25 +01:00
Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
51d447e17c
@ -249,6 +249,7 @@ armor.set_player_armor = function(self, player)
|
||||
player:set_armor_groups(armor_groups)
|
||||
--player:set_physics_override(physics_o)
|
||||
player_physics.set_stats(player, "3d_armor", {speed=physics_o.speed-1, jump=physics_o.jump-1, gravity=physics_o.gravity-1})
|
||||
pclasses.api.util.on_update(name)
|
||||
self.textures[name].armor = armor_texture
|
||||
self.textures[name].preview = preview
|
||||
self.def[name].state = state
|
||||
|
@ -14,6 +14,9 @@ pclasses.api.register_class("admin", {
|
||||
end,
|
||||
on_unassigned = function(pname)
|
||||
end,
|
||||
on_update = function(pname)
|
||||
-- No specific armor changes, no code
|
||||
end,
|
||||
switch_params = {
|
||||
color = {r = 255, g = 00, b = 224},
|
||||
holo_item = "maptools:pick_admin"
|
||||
|
@ -6,22 +6,37 @@
|
||||
-- See https://github.com/Ombridride/minetest-minetestforfun-server/issues/114
|
||||
--
|
||||
|
||||
local tmp = {}
|
||||
|
||||
pclasses.api.register_class("hunter", {
|
||||
on_assigned = function(pname, inform)
|
||||
if inform then
|
||||
minetest.chat_send_player(pname, "You are now a hunter")
|
||||
minetest.sound_play("pclasses_full_hunter", {to_player=pname, gain=1})
|
||||
end
|
||||
local reinforced = pclasses.api.util.does_wear_full_armor(pname, "reinforcedleather", true)
|
||||
if reinforced then
|
||||
sprint.increase_maxstamina(pname, 40)
|
||||
else
|
||||
sprint.increase_maxstamina(pname, 30)
|
||||
end
|
||||
sprint.increase_maxstamina(pname, 20)
|
||||
minetest.log("action", "[PClasses] Player " .. pname .. " become a hunter")
|
||||
end,
|
||||
on_unassigned = function(pname)
|
||||
sprint.set_default_maxstamina(pname)
|
||||
sprint.decrease_maxstamina(pname, 20)
|
||||
if tmp[pname] then
|
||||
sprint.decrease_maxstamina(pname, 10)
|
||||
tmp[pname] = nil
|
||||
end
|
||||
end,
|
||||
on_update = function(pname)
|
||||
local reinforced = pclasses.api.util.does_wear_full_armor(pname, "reinforcedleather", true)
|
||||
if reinforced then
|
||||
if not tmp[pname] then
|
||||
tmp[pname] = true
|
||||
sprint.increase_maxstamina(pname, 10) -- 10 more
|
||||
end
|
||||
else
|
||||
if tmp[pname] then
|
||||
tmp[pname] = false
|
||||
sprint.decrease_maxstamina(pname, 10)
|
||||
end
|
||||
end
|
||||
end,
|
||||
switch_params = {
|
||||
color = {r = 30, g = 170, b = 00},
|
||||
@ -43,6 +58,9 @@ pclasses.api.register_class("hunter", {
|
||||
"you need to fight a super strong mob, but it's just details...)") .. "image[2.4,5.6;6,4;pclasses_showcase_hunter.png]"
|
||||
})
|
||||
|
||||
minetest.register_on_leaveplayer(function(player)
|
||||
tmp[player:get_player_name()] = false
|
||||
end)
|
||||
|
||||
pclasses.api.reserve_item("hunter", "throwing:bow_minotaur_horn")
|
||||
pclasses.api.reserve_item("hunter", "throwing:bow_minotaur_horn_loaded")
|
||||
|
@ -12,11 +12,14 @@ pclasses.api.register_class("warrior", {
|
||||
minetest.sound_play("pclasses_full_warrior", {to_player=pname, gain=1})
|
||||
minetest.chat_send_player(pname, "You are now a warrior")
|
||||
end
|
||||
sprint.set_maxstamina(pname, 20)
|
||||
sprint.increase_maxstamina(pname, 10)
|
||||
minetest.log("action", "[PClasses] Player " .. pname .. " becomes a warrior")
|
||||
end,
|
||||
on_unassigned = function(pname)
|
||||
sprint.set_default_maxstamina(pname)
|
||||
sprint.decrease_maxstamina(pname, 10)
|
||||
end,
|
||||
on_update = function(pname)
|
||||
-- No specific armor changes, no code
|
||||
end,
|
||||
switch_params = {
|
||||
color = {r = 06, g = 06, b = 30},
|
||||
|
@ -14,10 +14,15 @@ pclasses.api.register_class("wizard", {
|
||||
end
|
||||
-- Add specs here
|
||||
mana.setmax(pname, mana.getmax(pname)+100)
|
||||
sprint.increase_maxstamina(pname, 10)
|
||||
minetest.log("action", "[PClasses] Player " .. pname .. " becomes a wizard")
|
||||
end,
|
||||
on_unassigned = function(pname)
|
||||
mana.setmax(pname, mana.getmax(pname)-100)
|
||||
sprint.decrease_maxstamina(pname, 10)
|
||||
end,
|
||||
on_update = function(pname)
|
||||
-- No armor, no update needed
|
||||
end,
|
||||
switch_params = {
|
||||
color = {r = 230, g = 230, b = 0},
|
||||
|
@ -42,6 +42,7 @@ Yet another class mod for Minetest.
|
||||
- Def is a definition table that can contain many functions/values :
|
||||
- `on_assigned` which is a function, receiving as argument the player name
|
||||
- `on_unassigned` which is a function, receiving as argument the player name
|
||||
- `on_update` which is a function, receiving as argument the player name
|
||||
- `switch_params`, which is a table, containing parameters for the switch pedestal :
|
||||
- `holo_item` is mandatory. It's the itemstring of the item to be put over the pedestal
|
||||
- `color` is optional. Default is white. It's a RGB table.
|
||||
@ -78,6 +79,10 @@ Yet another class mod for Minetest.
|
||||
- Arguments : pname, itemname
|
||||
- Returns true if player `pname` can have items `itemstring` in his main inventory, according to his class
|
||||
|
||||
### pclasses.api.util.on_update
|
||||
- Arguments : pname
|
||||
- Update player's stats
|
||||
|
||||
### pclasses.api.reserve_item
|
||||
- Arguments : cname, itemstring
|
||||
- Adds an entry in the reserved items' table. Players will need to belong to class `cname` in order to have items `itemstring` in their main inventory
|
||||
|
@ -15,6 +15,8 @@ pclasses.api.register_class("adventurer", {
|
||||
end,
|
||||
on_unassigned = function(pname)
|
||||
end,
|
||||
on_update = function(pname)
|
||||
end,
|
||||
informations = pclasses.api.textify("Adventurer, the casual players, or hardcore players. Whatever end of the spectrum\n" ..
|
||||
"you're in, adventurer will bring you what you want : no advantages, no help. Maybe you\n" ..
|
||||
"don't want that if you just began playing. If that's the case.. just pick another tab and\n" ..
|
||||
|
@ -55,10 +55,18 @@ end
|
||||
function pclasses.api.set_player_class(pname, cname, inform)
|
||||
if pclasses.api.get_class_by_name(cname) then
|
||||
if pclasses.api.get_player_class(pname) then
|
||||
pclasses.api.get_class_by_name(pclasses.api.get_player_class(pname)).on_update(pname)
|
||||
pclasses.api.get_class_by_name(pclasses.api.get_player_class(pname)).on_unassigned(pname)
|
||||
end
|
||||
pclasses.data.players[pname] = cname
|
||||
pclasses.api.get_class_by_name(cname).on_assigned(pname, inform)
|
||||
local newclass = pclasses.api.get_class_by_name(cname)
|
||||
newclass.on_assigned(pname, inform)
|
||||
-- Implicit call to on_update because we don't wanna repeat it
|
||||
if newclass.on_update then
|
||||
newclass.on_update(pname)
|
||||
else
|
||||
newclass.on_update = function(pname) end -- So that it won't annoy us later
|
||||
end
|
||||
|
||||
local ref = minetest.get_player_by_name(pname)
|
||||
local armor_inv = minetest.get_inventory({type = "detached", name = pname .. "_armor"})
|
||||
@ -100,6 +108,13 @@ function pclasses.api.util.can_have_item(pname, itemname)
|
||||
return false
|
||||
end
|
||||
|
||||
function pclasses.api.util.on_update(pname)
|
||||
local cname = pclasses.api.get_player_class(pname)
|
||||
if cname ~= nil and pclasses.api.get_class_by_name(cname) and pclasses.api.get_class_by_name(cname).on_update then
|
||||
pclasses.api.get_class_by_name(cname).on_update(pname)
|
||||
end
|
||||
end
|
||||
|
||||
-- TEMPORARY CLASS SHIFT SYSTEM
|
||||
-- Used to test on local servers
|
||||
--
|
||||
|
@ -61,21 +61,34 @@ minetest.register_node("runes:black_magic_block", {
|
||||
})
|
||||
|
||||
-- Globalstep checking for the amulets
|
||||
minetest.register_globalstep(function(dtime)
|
||||
tmpdata = {}
|
||||
loop = function()
|
||||
for _, player in pairs(minetest.get_connected_players()) do
|
||||
local inv = player:get_inventory()
|
||||
local basemana = mana.settings.default_max
|
||||
local pname = player:get_player_name()
|
||||
local basemana = mana.getmax(pname) - (tmpdata[pname] or 0) -- Baseline mana, without any amulets
|
||||
local addons = 0
|
||||
for index, item in pairs(inv:get_list("main")) do
|
||||
local itemname = item:get_name()
|
||||
local itemcount = item:get_count()
|
||||
for name, manadiff in pairs(runes.datas.amulets) do
|
||||
if itemname == "runes:" .. name .. "_amulet" then
|
||||
basemana = basemana + (manadiff * itemcount)
|
||||
addons = addons + (manadiff * itemcount)
|
||||
--print("Detected " .. name)
|
||||
end
|
||||
end
|
||||
end
|
||||
if basemana ~= mana.settings.default_max then
|
||||
mana.setmax(player:get_player_name(), basemana)
|
||||
mana.setmax(pname, basemana + addons)
|
||||
tmpdata[pname] = addons
|
||||
end
|
||||
minetest.after(1, loop)
|
||||
end
|
||||
|
||||
minetest.after(0, loop)
|
||||
|
||||
minetest.register_on_leaveplayer(function(player)
|
||||
local pname = player:get_player_name()
|
||||
mana.setmax(pname, mana.getmax(pname) - tmpdata[pname]) -- Reset
|
||||
tmpdata[pname] = nil
|
||||
mana.save_to_file(pname) -- Double class since we aren't sure mana hasn't already saved (it probably did)
|
||||
end)
|
||||
|
@ -1,5 +1,6 @@
|
||||
default
|
||||
mobs
|
||||
maptools
|
||||
farming?
|
||||
treasurer?
|
||||
watershed?
|
||||
|
@ -1,4 +1,5 @@
|
||||
pyramids = {}
|
||||
pyramids.max_time = 30*60
|
||||
|
||||
dofile(minetest.get_modpath("tsm_pyramids").."/mummy.lua")
|
||||
dofile(minetest.get_modpath("tsm_pyramids").."/nodes.lua")
|
||||
@ -16,9 +17,8 @@ local chest_stuff = {
|
||||
}
|
||||
|
||||
function pyramids.fill_chest(pos)
|
||||
minetest.after(2, function()
|
||||
local n = minetest.get_node(pos)
|
||||
if n and n.name and n.name == "maptools:chest" then
|
||||
local n = minetest.get_node_or_nil(pos)
|
||||
if n and n.name and n.name == "tsm_pyramids:chest" then
|
||||
local meta = minetest.get_meta(pos)
|
||||
local inv = meta:get_inventory()
|
||||
inv:set_size("main", 8*4)
|
||||
@ -44,9 +44,7 @@ function pyramids.fill_chest(pos)
|
||||
inv:set_stack("main", math.random(1,32), stacks[s])
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
local function add_spawner(pos)
|
||||
@ -93,7 +91,7 @@ local function make_entrance(pos)
|
||||
end
|
||||
end
|
||||
|
||||
local function make(pos)
|
||||
function pyramids.make(pos)
|
||||
minetest.log("action", "Created pyramid at ("..pos.x..","..pos.y..","..pos.z..")")
|
||||
for iy=0,10,1 do
|
||||
for ix=iy,22-iy,1 do
|
||||
@ -124,6 +122,7 @@ local function hlp_fnct(pos, name)
|
||||
return false
|
||||
end
|
||||
end
|
||||
|
||||
local function ground(pos, old)
|
||||
local p2 = pos
|
||||
while hlp_fnct(p2, "air") do
|
||||
@ -177,11 +176,12 @@ minetest.register_on_generated(function(minp, maxp, seed)
|
||||
end
|
||||
p2.y = p2.y - 3
|
||||
if p2.y < 0 then p2.y = 0 end
|
||||
if minetest.find_node_near(p2, 25, {"default:water_source"}) ~= nil or minetest.find_node_near(p2, 22, {"default:dirt_with_grass"}) ~= nil or minetest.find_node_near(p2, 52, {"maptools:sandstone_brick"}) ~= nil then return end
|
||||
if minetest.find_node_near(p2, 25, {"default:water_source"}) ~= nil
|
||||
or minetest.find_node_near(p2, 22, {"default:dirt_with_grass"}) ~= nil
|
||||
or minetest.find_node_near(p2, 52, {"maptools:sandstone_brick"}) ~= nil then return end
|
||||
|
||||
if math.random(0,10) > 7 then return end
|
||||
make(p2)
|
||||
pyramids.make(p2)
|
||||
end
|
||||
|
||||
end, minp, maxp, seed)
|
||||
end)
|
||||
|
@ -56,6 +56,27 @@ mobs:register_mob("tsm_pyramids:mummy", {
|
||||
},
|
||||
})
|
||||
|
||||
--MFF ABM to replace old maptools:chest
|
||||
minetest.register_abm({
|
||||
nodenames = {"tsm_pyramids:spawner_mummy"},
|
||||
interval = 10.0,
|
||||
chance = 1,
|
||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||
local chests = minetest.find_nodes_in_area(
|
||||
{x=pos.x-4, y=pos.y-3, z=pos.z-10},
|
||||
{x=pos.x+4, y=pos.y, z=pos.z},
|
||||
"maptools:chest"
|
||||
)
|
||||
for _, cpos in ipairs(chests) do
|
||||
local p2 = 0
|
||||
local n = minetest.get_node_or_nil(cpos)
|
||||
if n and n.param2 then
|
||||
p2 = n.param2
|
||||
end
|
||||
minetest.set_node(cpos, {name="tsm_pyramids:chest", param2=p2})
|
||||
end
|
||||
end
|
||||
})
|
||||
-- spawner (spawn in pyramids, near the spawner)
|
||||
if not minetest.setting_getbool("only_peaceful_mobs") then
|
||||
minetest.register_abm({
|
||||
@ -101,10 +122,10 @@ minetest.register_node("tsm_pyramids:spawner_mummy", {
|
||||
drop = "",
|
||||
on_construct = function(pos)
|
||||
pos.y = pos.y - 0.28
|
||||
minetest.env:add_entity(pos,"tsm_pyramids:mummy_spawner")
|
||||
minetest.add_entity(pos,"tsm_pyramids:mummy_spawner")
|
||||
end,
|
||||
on_destruct = function(pos)
|
||||
for _,obj in ipairs(minetest.env:get_objects_inside_radius(pos, 1)) do
|
||||
for _,obj in ipairs(minetest.get_objects_inside_radius(pos, 1)) do
|
||||
if not obj:is_player() then
|
||||
if obj ~= nil and obj:get_luaentity().m_name == "dummy" then
|
||||
obj:remove()
|
||||
@ -122,7 +143,7 @@ minetest.register_craftitem("tsm_pyramids:spawn_egg", {
|
||||
stack_max = 99,
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
if pointed_thing.type == "node" then
|
||||
minetest.env:add_entity(pointed_thing.above,"tsm_pyramids:mummy")
|
||||
minetest.add_entity(pointed_thing.above,"tsm_pyramids:mummy")
|
||||
if not minetest.setting_getbool("creative_mode") then itemstack:take_item() end
|
||||
return itemstack
|
||||
end
|
||||
|
@ -4,14 +4,14 @@ for i=1,3 do
|
||||
minetest.register_node("tsm_pyramids:deco_stone"..i, {
|
||||
description = "Sandstone with "..img[i],
|
||||
tiles = {"default_sandstone.png^tsm_pyramids_"..img[i]..".png"},
|
||||
is_ground_content = true,
|
||||
is_ground_content = false,
|
||||
groups = {unbreakable=1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
end
|
||||
|
||||
trap_on_timer = function (pos, elapsed)
|
||||
local objs = minetest.env:get_objects_inside_radius(pos, 2)
|
||||
local trap_on_timer = function (pos, elapsed)
|
||||
local objs = minetest.get_objects_inside_radius(pos, 2)
|
||||
for i, obj in pairs(objs) do
|
||||
if obj:is_player() then
|
||||
local n = minetest.get_node(pos)
|
||||
@ -27,11 +27,11 @@ end
|
||||
minetest.register_node("tsm_pyramids:trap", {
|
||||
description = "Cracked sandstone brick",
|
||||
tiles = {"default_sandstone_brick.png^tsm_pyramids_crack.png"},
|
||||
is_ground_content = true,
|
||||
is_ground_content = false,
|
||||
groups = {crumbly=2,cracky=3},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
on_construct = function(pos)
|
||||
minetest.env:get_node_timer(pos):start(0.1)
|
||||
minetest.get_node_timer(pos):start(0.1)
|
||||
end,
|
||||
crack = 1,
|
||||
on_timer = trap_on_timer,
|
||||
@ -41,8 +41,31 @@ minetest.register_node("tsm_pyramids:trap", {
|
||||
minetest.register_node("tsm_pyramids:trap_2", {
|
||||
description = "trapstone",
|
||||
tiles = {"default_sandstone_brick.png^tsm_pyramids_crack.png^[transformR90"},
|
||||
is_ground_content = true,
|
||||
is_ground_content = false,
|
||||
groups = {crumbly=2,cracky=3,falling_node=1,not_in_creative_inventory=1},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
drop = "",
|
||||
})
|
||||
|
||||
local chestdef = minetest.registered_nodes["default:chest"]
|
||||
minetest.register_node("tsm_pyramids:chest",{
|
||||
description = "tsm_pyramids Chest auto refilled",
|
||||
tiles = chestdef.tiles,
|
||||
stack_max = 1000,
|
||||
paramtype2 = "facedir",
|
||||
is_ground_content = false,
|
||||
on_construct = function(pos)
|
||||
chestdef.on_construct(pos)
|
||||
minetest.get_node_timer(pos):start(pyramids.max_time)
|
||||
pyramids.fill_chest(pos)
|
||||
end,
|
||||
on_metadata_inventory_move = chestdef.on_metadata_inventory_move,
|
||||
on_metadata_inventory_put = chestdef.on_metadata_inventory_put,
|
||||
on_metadata_inventory_take = chestdef.on_metadata_inventory_take,
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = 1},
|
||||
on_timer = function (pos, elapsed)
|
||||
pyramids.fill_chest(pos)
|
||||
return true
|
||||
end,
|
||||
})
|
||||
|
||||
|
@ -1,6 +1,3 @@
|
||||
pyramids.saved_chests = {}
|
||||
pyramids.max_time = 30*60
|
||||
|
||||
|
||||
local room = {"a","a","a","a","a","a","a","a","a",
|
||||
"a","c","a","c","a","c","a","c","a",
|
||||
@ -33,56 +30,14 @@ code["a"] = "air"
|
||||
code["l"] = "lava_source"
|
||||
code["t"] = "trap"
|
||||
|
||||
function loadchests()
|
||||
local file = io.open(minetest.get_worldpath().."/pyramids_chests.txt","r")
|
||||
if file then
|
||||
local saved_chests = minetest.deserialize(file:read())
|
||||
io.close(file)
|
||||
if saved_chests and type(saved_chests) == "table" then
|
||||
minetest.log("action","[tsm_pyramids] Chest loaded")
|
||||
return saved_chests
|
||||
else
|
||||
minetest.log("error","[tsm_pyramids] Loading Chest failed")
|
||||
end
|
||||
end
|
||||
return {}
|
||||
end
|
||||
|
||||
|
||||
function savechests()
|
||||
local file = io.open(minetest.get_worldpath().."/pyramids_chests.txt","w")
|
||||
if not file then return end -- should not happen
|
||||
file:write(minetest.serialize(pyramids.saved_chests))
|
||||
io.close(file)
|
||||
minetest.log("action","[tsm_pyramids] Chests saved")
|
||||
end
|
||||
|
||||
pyramids.saved_chests = loadchests()
|
||||
minetest.register_on_shutdown(function()
|
||||
savechests()
|
||||
end)
|
||||
|
||||
local function chests_reload()
|
||||
-- It might happen that chests are not loaded
|
||||
if pyramids.saved_chests then
|
||||
for _,k in ipairs(pyramids.saved_chests) do
|
||||
pyramids.fill_chest(k)
|
||||
end
|
||||
else
|
||||
pyramids.saved_chests = loadchests() or {}
|
||||
end
|
||||
minetest.log("action","[tsm_pyramids] Chests reloaded")
|
||||
minetest.after(pyramids.max_time, chests_reload)
|
||||
end
|
||||
minetest.after(0, chests_reload)
|
||||
|
||||
local function replace(str,iy)
|
||||
local out = "default:"
|
||||
if iy < 4 and str == "c" then str = "a" end
|
||||
if iy == 0 and str == "s" then out = "tsm_pyramids:" str = "sun" end
|
||||
if iy == 3 and str == "s" then out = "tsm_pyramids:" str = "men" end
|
||||
if str == "a" then out = "" end
|
||||
if str == "c" or str == "s" or str == "b" then out = "maptools:" end
|
||||
if str == "c" then out = "tsm_pyramids:" end --MFF newchest
|
||||
if str == "s" or str == "b" then out = "maptools:" end
|
||||
return out..code[str]
|
||||
end
|
||||
|
||||
@ -104,13 +59,8 @@ function pyramids.make_room(pos)
|
||||
local p2 = 0
|
||||
if n_str == "c" then
|
||||
if ix < 3 then p2 = 1 else p2 = 3 end
|
||||
pyramids.fill_chest({x=loch.x+ix,y=loch.y-iy,z=loch.z+iz})
|
||||
end
|
||||
local node_name = replace(n_str,iy)
|
||||
minetest.set_node({x=loch.x+ix,y=loch.y-iy,z=loch.z+iz}, {name=node_name, param2=p2})
|
||||
if node_name == "maptools:chest" then
|
||||
table.insert(pyramids.saved_chests,1,{x=loch.x+ix,y=loch.y-iy,z=loch.z+iz})
|
||||
end
|
||||
minetest.set_node({x=loch.x+ix,y=loch.y-iy,z=loch.z+iz}, {name=replace(n_str,iy), param2=p2})
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -1,13 +1,124 @@
|
||||
### Come and visit our website "xorhub.com"! ###
|
||||
### Venez visiter notre site "xorhub.com" ! ###
|
||||
|
||||
---Planned on the Server---
|
||||
### Planned on the Server ###
|
||||
We're working hard to make lighter the server!
|
||||
Introduce the Wizard class : do you like magic things ?
|
||||
Introduce the Ingineer class : do you like build and dig things ?
|
||||
The Wizard class is coming : do you like magic things ? (mana system, spells, staff, etc.)
|
||||
We're thinking about an engineer class : do you like build and dig things ?
|
||||
|
||||
---Patch Notes---
|
||||
---24/08/2016-- (Thanks to : ElementW, crabman77/crabman, LeMagnesium/Mg)
|
||||
### Release Notes ###
|
||||
--- v2.2.6 --- (Thanks to : crabman77/crabman, sys4-fr, LeMagnesium/Mg, Gael-de-Sailly, cessna151)
|
||||
Fix Creeper mobs explode instantly (issue #509)
|
||||
Update mapfix and make a submodule
|
||||
New special spawning,spawn only if there are no others of the same type(limited with max), fix issue #524
|
||||
Update submodules irc and fishing
|
||||
Fix bug if detach player whithout set entity.driver=nil
|
||||
Add irc bot names to forbidden names list
|
||||
Balance the mummy mobs
|
||||
Remove dropondie and replace by bones mod
|
||||
Remove armors drop, replaced by bones mod soon fix crash in unified_inventory, on join if died, detached inventory is nil
|
||||
Add alias to homedecor:wardrobe
|
||||
Update submodules mff_hud (resize texture) irc_modpack (fix typo) time_regulation
|
||||
Update quest submodule (fix hud issue)
|
||||
Removed call to that generated trees everywhere
|
||||
[u_skins] remove unused preview.blend
|
||||
Update irc mod_pack
|
||||
Add some unalowed nicknames, issue MinetestForFun/name_restrictions#1
|
||||
Update submodule name_restrictions
|
||||
Fix use node.on_punch when node have pointed_thing (bug book guide and warps cristal)
|
||||
Fix texture size "non power of 2"
|
||||
New setting "is_winter" to active snow when winter and active snow now
|
||||
|
||||
--- v2.2.5 --- (Thanks to : crabman77/crabman, sys4-fr, LeMagnesium/Mg, Gael-de-Sailly, cessna151)
|
||||
Clay gives 4 lumps when dug (like vanilla, instead of 8 before)
|
||||
Fix textures irrlicht warning "Interlace handling should be turned on…"
|
||||
[mobs] Avoid server crash with "nan vector" values
|
||||
Fix crash when default tree grows
|
||||
Update irc submodule
|
||||
Disable item_entiy.lua, cause crash and we have already builtin_item
|
||||
Update irc server name
|
||||
Convert sounds to 48ko/s (for a faster first loading to the server)
|
||||
Set to 30 minutes the time before remove a dropped item
|
||||
Fix Only one enchanted piece of armor is allowed to be placed in the enhancement stand
|
||||
Fix previews of enchanted armor with xdecor
|
||||
Fix a duplicated field for areas mod
|
||||
Fix some local variables
|
||||
Fix crash with xdecor when enchanting armor (if we add xdecor 1 day)
|
||||
Readd param to <= 0.14.4 stable version
|
||||
Fix doors (double doors & sounds)
|
||||
Fix maptools
|
||||
Add watchdog scrolls as an experiment on DM drops
|
||||
|
||||
--- v2.2.4 --- (Thanks to : crabman77/crabman, sys4-fr, LeMagnesium/Mg, Gael-de-Sailly)
|
||||
[Profnsched] lost jobs correction
|
||||
|
||||
--- v2.2.3 --- (Thanks to : crabman77/crabman, LeMagnesium/Mg, Gael-de-Sailly)
|
||||
[mobs] Uncomment half of attack stop
|
||||
[mobs] Never disable the timer for exploding mobs
|
||||
Deactivate profnsched
|
||||
Create spiky cactus, make the original smoother
|
||||
[mff_pclasses & pclasses] Enhance showcasing menus
|
||||
[pclasses & mff_pclasses] Change info menu
|
||||
[Profnsched] Update based on discuss of PR #507
|
||||
[Profnsched] New module (fr)
|
||||
Disable profilerdumper , issue #512
|
||||
|
||||
--- v2.2.2 --- (Thanks to : crabman77/crabman, LeMagnesium/Mg, Gael-de-Sailly)
|
||||
Update minercantile submodule
|
||||
Add Mese_dragon to death message + add a global message when a group of player kill him
|
||||
Fix Dungeon Master sword craft (make it visible for players)
|
||||
Fix global variable for the lrfurn mod
|
||||
Fix two lingering global variables
|
||||
Update stacktraceplus mod
|
||||
Update pipeworks and fix global variable 'rules'
|
||||
Fix bad resize for some textures
|
||||
Fix pixel in default_sandstone_brick.png texure and resize some textures
|
||||
Fix pixels in gravel texture
|
||||
Update minetest.conf
|
||||
Update bugfixes the mod name_restrictions
|
||||
Update bugfixes the mod xban2
|
||||
|
||||
--- v2.2.1 --- (Thanks to : crabman77/crabman, LeMagnesium/Mg, Gael-de-Sailly)
|
||||
Update [mysql_auth]
|
||||
Add [mysql_auth] and add mysql_auth config path
|
||||
Move [areas] and [name_restrictions] to a submodule
|
||||
Turn [xban2] into a submodule
|
||||
Add inventory texture for the Mese Dragon Boss
|
||||
Update hudbars, remove old duplicated code/textures (now in mff_hud)
|
||||
Fix unknow item and missing var on [mff_classic]
|
||||
Update unified_inventory
|
||||
[mff_classic] Fix nyancat & cherry tree mapgen
|
||||
Move MFF-only craft recipes, craftitems, mapgen to [mff_classic](Also fixes aliasing)
|
||||
Fix [buckets] with acid or sand, make [death_message] work with aliases
|
||||
[irc_modpack] Update
|
||||
Move our [default] edits to mff_classic, alias nodes
|
||||
Remove old furnace ABMs, rewrite locked furnace based on new furnace with node timer
|
||||
Added missing textures, change textures name due to replaced carts to boost_carts
|
||||
--> Mysql_auth is now enable and works great on our server. (We tweakes some mods to be compatible with it)
|
||||
|
||||
--- v2.2.0 --- (Thanks to : crabman77/crabman, LeMagnesium/Mg, Gael-de-Sailly)
|
||||
Fix announce curl timeout
|
||||
Enable stacktraceplus mod and move it to the "mods" folder
|
||||
Many globalstep remplaced by minetest.after (hunger, hudbars, etc...)
|
||||
Erased the useless rofl mod
|
||||
Recompile minetestserver with LUAJIT enabled (no more lags from watershed mapgen)
|
||||
|
||||
--- v2.1.4 --- (Thanks to : crabman77/crabman, LeMagnesium/Mg, Gael-de-Sailly)
|
||||
Remove old aliases for jumping mod(re-added)
|
||||
|
||||
--- v2.1.3 --- (Thanks to : crabman77/crabman, , LeMagnesium/Mg, Gael-de-Sailly)
|
||||
Crashfix the [carts] mod + some code improvments
|
||||
|
||||
--- v2.1.2 --- (Thanks to : ElementW)
|
||||
Add [stacktraceplus]
|
||||
|
||||
--- v2.1.1 --- (Thanks to : crabman77/crabman, LeMagnesium/Mg)
|
||||
[mff_pclasses] Slight modifications of class informations
|
||||
|
||||
--- v2.1.0 --- (Thanks to : crabman77/crabman, LeMagnesium/Mg)
|
||||
Add alias for bedrock:bedrock
|
||||
|
||||
--- 24/08/2016 --- (Thanks to : ElementW, crabman77/crabman, LeMagnesium/Mg)
|
||||
Addition of "mysql_auth" (Now user nickname/password/privileges/... are stored in a secure and fast MariaDB database)
|
||||
Update of "areas", "name_restrictions" and xban2 (Now compatible with mysql_auth)
|
||||
Update of "hudbars" (Remove old duplicated code/textures, the HUD will be faster than before)
|
||||
@ -17,7 +128,7 @@ Update of "irc_modpack" (Fix crash on auth_table, code improvments)
|
||||
Update of "mff_classic/furnace" (Remove old furnace ABMs and rewrite locked furnace code, performance improvments)
|
||||
Update of "carts" (Added missing textures and change textures name because remplaced by boost_carts textures)
|
||||
|
||||
---08/08/2016-- (Thanks to : LeMagnesium/Mg, crabman77/crabman, Coethium, ElementW, ezam/ezamlinux)
|
||||
--- 08/08/2016 --- (Thanks to : LeMagnesium/Mg, crabman77/crabman, Coethium, ElementW, ezam/ezamlinux)
|
||||
Update of "boost_cart" (Do not need mesecons to activate power rails, rails accelerate and max speed set to an highter value, brake rails now deccelerate correctly and add a minimum speed feature on brake rails, all rails -except brakes rails- don't have frictions, so they keep their speed indefinitly, finally, we removed collision to erased the "walled_in" bug)
|
||||
Addition of "boost_cart" (Less CPU utilization, less buggy, more up-to-date)
|
||||
Deletion of "carts" (poorly made carts mod)
|
||||
@ -34,12 +145,12 @@ Update of "stairs" (bugfix)
|
||||
Update of "darkage" (Improve ores textures)
|
||||
Deletion of "bedrocks" (Useless and use ressources)
|
||||
|
||||
---06/07/2016-- (Thanks to : crabman77/crabman, LeMagnesium/Mg, ElementW, ezam/ezamlinux, cessna151)
|
||||
--- 06/07/2016 --- (Thanks to : crabman77/crabman, LeMagnesium/Mg, ElementW, ezam/ezamlinux, cessna151)
|
||||
Update of "runes" (crashfix)
|
||||
Update of "mobs" (Last Mese Dragon fixes, now ready !)
|
||||
update of "u_skins" (Cleanup scripts, make new Python one, compress textures)
|
||||
|
||||
---03/07/2016-- (Thanks to : crabman77/crabman, LeMagnesium/Mg, ElementW, ezam/ezamlinux, cessna151)
|
||||
--- 03/07/2016 --- (Thanks to : crabman77/crabman, LeMagnesium/Mg, ElementW, ezam/ezamlinux, cessna151)
|
||||
Update of "u_skins" (Removal of more than 200 skins and keep the best skins)
|
||||
Update of "mobs" (Small bugfixes for the PumpKing Boss, and the Mese Dragon is now done and ready to fight !)
|
||||
|
||||
@ -139,7 +250,6 @@ Update of "beds" (Fully debuged spawn point)
|
||||
Addition of "cozy" (just for roleplay, you can sit or lay down/sleep with the commands /sit and /lay)
|
||||
Update of "mobs" (re-add cow dungs)
|
||||
|
||||
---Patch Notes---
|
||||
--- 29/02/2016 --- (Thanks to : LeMagnesium/Mg, crabman77/crabman, Gael-de-Sailly, ObaniGemini/Obani, ElementW)
|
||||
Update of "coloredwood" (bugfix the sounds of this mod nodes)
|
||||
Addition of "Jumping" (cushions are back and debugged!)
|
||||
@ -154,7 +264,6 @@ Update of "mobs" (Mobs no longer spawn within 12 blocks of player or despawn wit
|
||||
Update of "minetestforfun_game" (trees grow two times faster)
|
||||
Update of "dropondie" (bags are dropped on death with their contents instead of the content itself)
|
||||
|
||||
|
||||
--- 31/01/2016 --- (Thanks to : crabman77/crabman, LeMagnesium/Mg)
|
||||
Update of "christmas_craft" (christmas season overrides deactivated)
|
||||
Update of "3dmushrooms" (aliases created for unknown nodes)
|
||||
@ -233,7 +342,6 @@ Update of "boats" (Crashfix)
|
||||
Update of "unified_inventory" (Add a button to hide/show craftguide)
|
||||
Update of "sethome" (Bugfix, the sounds are now played everytimes when you click this buttons)
|
||||
|
||||
---Patch Notes---
|
||||
--- 24/11/2015 --- (Thanks to : crabman77/crabman, gravgun, LeMagnesium/Mg)
|
||||
Update of "mobs" (Add Ent sounds, fix mobs tamed/follow problems)
|
||||
Update of "mff_hud" (Tidy the code)
|
||||
|
Loading…
Reference in New Issue
Block a user