Merge branch 'master' into NALC2

This commit is contained in:
sys4-fr 2017-05-03 21:50:25 +02:00
commit c1483ee527
15 changed files with 526 additions and 358 deletions

View File

@ -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

View File

@ -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"

View File

@ -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")

View File

@ -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},

View File

@ -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},

View File

@ -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

View File

@ -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" ..

View File

@ -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
--

View File

@ -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)

View File

@ -1,5 +1,6 @@
default
mobs
maptools
farming?
treasurer?
watershed?

View File

@ -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)

View File

@ -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

View File

@ -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,
})

View File

@ -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

View File

@ -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)