From dba2d2e8c3780fb591bda34c2ce075bb403c0429 Mon Sep 17 00:00:00 2001 From: 4aiman <4aiman@inbox.ru> Date: Sat, 6 Jun 2015 20:06:01 +0300 Subject: [PATCH] squashed update --- builtin/game/chatcommands.lua | 5 +- games/MultiCraft_game/files/4hunger/init.lua | 4 +- games/MultiCraft_game/files/adbs/init.lua | 22 +++--- .../files/default/craftitems.lua | 2 +- .../MultiCraft_game/files/default/mapgen.lua | 69 ++++++++++++++++++ games/MultiCraft_game/files/default/nodes.lua | 8 +- .../files/default/textures/BASIC.png | Bin 0 -> 147 bytes .../files/default/textures/a_cow2.png | Bin 3497 -> 147 bytes .../default/textures/default_leather.png | Bin 0 -> 329 bytes .../files/default/textures/default_milk.png | Bin 0 -> 312 bytes games/MultiCraft_game/files/default/tools.lua | 34 +++++---- .../MultiCraft_game/files/farming/carrots.lua | 4 + games/MultiCraft_game/files/farming/melon.lua | 3 + .../files/farming/potatoes.lua | 3 + .../MultiCraft_game/files/farming/pumpkin.lua | 2 + games/MultiCraft_game/files/flowers/init.lua | 11 +++ src/client/inputhandler.h | 4 +- src/pathfinder.cpp | 2 +- 18 files changed, 133 insertions(+), 40 deletions(-) create mode 100644 games/MultiCraft_game/files/default/textures/BASIC.png create mode 100644 games/MultiCraft_game/files/default/textures/default_leather.png create mode 100644 games/MultiCraft_game/files/default/textures/default_milk.png diff --git a/builtin/game/chatcommands.lua b/builtin/game/chatcommands.lua index 27768bd73..fb40a2508 100644 --- a/builtin/game/chatcommands.lua +++ b/builtin/game/chatcommands.lua @@ -67,10 +67,9 @@ core.register_chatcommand("help", { description = "Get help for commands or list privileges", func = function(name, param) local function format_help_line(cmd, def) - local msg = freeminer.colorize("00ffff", "/"..cmd) - local msg = "/"..cmd + local msg = cmd if def.params and def.params ~= "" then - msg = msg .. " " .. freeminer.colorize("eeeeee", def.params) + msg = msg .. " " .. def.params end if def.description and def.description ~= "" then msg = msg .. ": " .. def.description diff --git a/games/MultiCraft_game/files/4hunger/init.lua b/games/MultiCraft_game/files/4hunger/init.lua index e30753613..d08e584d7 100644 --- a/games/MultiCraft_game/files/4hunger/init.lua +++ b/games/MultiCraft_game/files/4hunger/init.lua @@ -66,7 +66,7 @@ max_save_time = 10 save_time = 0 max_drumsticks = 20 -foodTickTimerMAX = 5 +foodTickTimerMAX = 10 max_exhaustion = 8 foodTickTimerMax = {} food_level = {} @@ -384,7 +384,7 @@ local doit = false timers[pll] = 15 player:hud_change(hungerhudb[pll],"text",'hunger_tile_d.png') player:hud_change(hungerhud[pll] ,"text",'hunger_tile_c.png') - if doit==true and hp>1 then + if doit==true and hp>10 then player:set_hp(hp-1) hp=hp-1 end diff --git a/games/MultiCraft_game/files/adbs/init.lua b/games/MultiCraft_game/files/adbs/init.lua index 29dbe31f5..4972d5317 100644 --- a/games/MultiCraft_game/files/adbs/init.lua +++ b/games/MultiCraft_game/files/adbs/init.lua @@ -185,7 +185,7 @@ adbs.dd = { self.state = 4 self:set_animation(4) self.busy = true - multicraft.after(1,function() + multicraft.after(0.5,function() v.y = vy self.object:setvelocity(v) self.busy = false @@ -373,7 +373,7 @@ adbs.dd = { if self.alive then local pos = self.object:getpos() for _,drop in ipairs(self.drops) do - if math.random(1, drop.chance) == 1 then + if math.random(1, drop.chance) == 1 then local itm = multicraft.add_item(pos, ItemStack(drop.name.." "..math.random(drop.min, drop.max))) if itm then itm:setvelocity({x=math.random()*math.random(-1,1),y=math.random()*math.random(0,2),z=math.random()*math.random(-1,1)}) @@ -1789,7 +1789,7 @@ adbs.register_mob("adbs:pig", { armour = {fleshy=100}, drops = { {name = "farming:carrot", - chance = 0.5, + chance = 1, min = 0, max = 1,}, {name = "default:porkchop_raw", @@ -2011,7 +2011,7 @@ adbs.register_mob("adbs:skeleton", { weapon= "throwing:bow_wood", flying = false, view_range = 16, - attack_power = 3, + attack_power = 2, natural_damage_timer = 0, disable_fall_damage = false, fall_tolerance = 4, @@ -2169,22 +2169,22 @@ end local _ adbs.register_spawn("adbs:sheep", {"group:crumbly"}, _, - 5, 15, 5, 48, 2, 50, 10, 100, _, 100, _, 2, _,0,1) + 5, 15, 5, 48, 6, 50, 10, 100, _, 100, _, 4, _,0,1) adbs.register_spawn("adbs:pig", {"group:crumbly"}, _, - 3, 15, 5, 40, 3, 100, _, 100, _, 100, _, 1, _,0,1) + 3, 15, 5, 40, 6, 100, _, 100, _, 100, _, 4, _,0,1) adbs.register_spawn("adbs:chicken", {"group:crumbly"}, _, - 3, 15, 5, 60, 2, 100, _, 100, _, 100, _, 1, _,0,1) + 3, 15, 5, 60, 6, 100, _, 100, _, 100, _, 4, _,0,1) adbs.register_spawn("adbs:cow", {"group:crumbly"}, _, - 5, 15, 5, 50, 3, 100, _, 100, _, 100, _, 1, _,0,1) + 5, 15, 5, 50, 6, 100, _, 100, _, 100, _, 4, _,0,1) adbs.register_spawn("adbs:skeleton", {"group:cracky", "group:crumbly"}, _, - 7, 8, _, 40, 2, 100, -5000, 100, _, 100, _, 1, _,0.7,0.3) + 7, 8, _, 40, 6, 100, -5000, 100, _, 100, _, 4, _,0.7,0.3) adbs.register_spawn("adbs:zombie", {"group:crumbly", }, _, - 7, 9, _, 40, 2, 100, -5000, 100, _, 100, _, 1, _,0.7,0.3) + 7, 9, _, 40, 6, 100, -5000, 100, _, 100, _, 4, _,0.7,0.3) adbs.register_spawn("adbs:skeleton", {"group:cracky", "group:crumbly"}, _, - 7, 8, _, 30, 2, -8000, -35000, 100, _, 100, _, 1, _,0.7,0.3) + 7, 8, _, 30, 6, -8000, -35000, 100, _, 100, _, 4, _,0.7,0.3) diff --git a/games/MultiCraft_game/files/default/craftitems.lua b/games/MultiCraft_game/files/default/craftitems.lua index c22103e43..82235b07d 100644 --- a/games/MultiCraft_game/files/default/craftitems.lua +++ b/games/MultiCraft_game/files/default/craftitems.lua @@ -173,7 +173,7 @@ multicraft.register_craftitem("default:quartz_crystal", { multicraft.register_craftitem('default:rotten_flesh', { description = "Rotten flesh", - inventory_image = "zombie_flesh", + inventory_image = "zombie_flesh.png", on_use = multicraft.item_eat(1), }) diff --git a/games/MultiCraft_game/files/default/mapgen.lua b/games/MultiCraft_game/files/default/mapgen.lua index 46d56f3ad..c9931f02c 100644 --- a/games/MultiCraft_game/files/default/mapgen.lua +++ b/games/MultiCraft_game/files/default/mapgen.lua @@ -459,6 +459,75 @@ multicraft.register_on_generated(function(minp, maxp, seed) -- Generate nyan cats --generate_nyancats(seed, minp, maxp) + local perlin1 = multicraft.get_perlin(329, 3, 0.6, 100) + -- Assume X and Z lengths are equal + local pr = PseudoRandom(seed+1) + local divlen = pr:next(4,20) + local divs = (maxp.x-minp.x)/divlen+1; + for divx=0,divs-1 do + for divz=0,divs-1 do + local x0 = minp.x + math.floor((divx+0)*divlen) + local z0 = minp.z + math.floor((divz+0)*divlen) + local x1 = minp.x + math.floor((divx+1)*divlen) + local z1 = minp.z + math.floor((divz+1)*divlen) + -- Determine grass amount from perlin noise + local grass_amount = math.floor(perlin1:get2d({x=x0, y=z0}) ) + -- Find random positions for grass based on this random + for i=0,grass_amount do + local x = pr:next(x0, x1) + local z = pr:next(z0, z1) + -- Find ground level (0...15) + local ground_y = nil + for y=30,0,-1 do + if multicraft.get_node({x=x,y=y,z=z}).name ~= "air" + and not multicraft.get_node({x=x,y=y,z=z}).name:find("water") then + ground_y = y + break + end + end + + if ground_y then + local p = {x=x,y=ground_y,z=z} + -- Check if the node can be replaced + if #(multicraft.find_nodes_in_area({x=x-5,y=ground_y-2,z=z-5}, {x=x+5,y=ground_y+2,z=z+5}, {"group:grass", "group:flower"}))>7 then + for i=1,pr:next(1,4) do + local ground_y = nil + for y=30,0,-1 do + if multicraft.get_node({x=x,y=y,z=z}).name ~= "air" + and not multicraft.get_node({x=x,y=y,z=z}).name:find("water") then + ground_y = y + break + end + end + local fruit = {"farming:pumpkin_face", "farming:melon", "farming:carrot", "farming:potato"} + local choice = fruit[pr:next(1,#fruit)] + print(choice) + + if pr:next() < 2500 then -- the "proper" alternative + for i = 1, pr:next(1,3) do + local xx = pr:next(1,i+1) + local zz = pr:next(1,i+1) + local nname = multicraft.get_node({x=p.x+xx,z=p.z+zz,y=ground_y}).name + if nname ~="air" + and (multicraft.registered_nodes[nname] and not multicraft.registered_nodes[nname].buildable_to) + then + + multicraft.set_node({x=p.x+xx,z=p.z+zz,y=ground_y+1},{name=choice}) + end + end + end + + + + end + end + + end + + end + end + end + end) local function replace(old, new, min, max) diff --git a/games/MultiCraft_game/files/default/nodes.lua b/games/MultiCraft_game/files/default/nodes.lua index d01024c63..f5c3bbe12 100644 --- a/games/MultiCraft_game/files/default/nodes.lua +++ b/games/MultiCraft_game/files/default/nodes.lua @@ -320,7 +320,7 @@ multicraft.register_node("default:sea_lantern", { } }, tiles = {"default_sea_lantern.png"}, - groups = {oddly_breakable_by_hand=3, building = 1}, + groups = {dig_immediate=2, building = 1}, }) multicraft.register_node("default:prismarine", { @@ -355,7 +355,7 @@ multicraft.register_node("default:tree", { is_ground_content = false, on_place = multicraft.rotate_node, stack_max = 64, - groups = {tree=1,choppy=2,oddly_breakable_by_hand=1,flammable=2, building = 1}, + groups = {tree=1,choppy=3,flammable=2, building = 1}, sounds = default.node_sound_wood_defaults(), }) @@ -1562,7 +1562,7 @@ multicraft.register_node("default:cobble", { tiles = {"default_cobble.png"}, is_ground_content = true, stack_max = 64, - groups = {cracky=3, stone=2, building = 1, decorative = 1}, + groups = {cracky=10, stone=2, building = 1, decorative = 1}, sounds = default.node_sound_stone_defaults(), }) @@ -1708,7 +1708,7 @@ multicraft.register_node("default:grass", { }, paramtype = "light", is_ground_content = true, - groups = {snappy=3,flammable=3,attached_node=1,dig_immediate=3, decorative=1}, + groups = {snappy=3,flammable=3,attached_node=1,dig_immediate=3, decorative=1, grass=1}, sounds = default.node_sound_leaves_defaults(), after_dig_node = function(pos, oldnode, oldmetadata, user) local item = user:get_wielded_item() diff --git a/games/MultiCraft_game/files/default/textures/BASIC.png b/games/MultiCraft_game/files/default/textures/BASIC.png new file mode 100644 index 0000000000000000000000000000000000000000..3c7f8bac6b96cb29b3eecbd72d66d89a27e8800e GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1|;Q0k8}bl&H|6fVg?3oVGw3ym^DWND9B#o z>FdgVpN)+}&`K_l)dnaeS>hT|;+&tGo0?a`;9QiNSdyBeP@Y+mq2TW68xY>eCk|A^ i>*?Yc!f`!00SJIxRtCnn&stVM7K5j&pUXO@geCx+*B-wB literal 0 HcmV?d00001 diff --git a/games/MultiCraft_game/files/default/textures/a_cow2.png b/games/MultiCraft_game/files/default/textures/a_cow2.png index f62b0e0ed35483809fbb07e367f42bd8fc988c33..2967a40e3bf448f13f181a9645b2f5b1801d6780 100644 GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1|;Q0k8}bl&H|6fVg?3oVGw3ym^DWND9B#o z>FdgVpN)+}h)Z~BS};&Zvcxr_#5q4VH#M(>!MP|ku_QG`p**uBL&4qCHz2%`PaLR- i*VDx@gyVX00uTVXtPG5CpS7%jECx?kKbLh*2~7aT${$ex literal 3497 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 pathfinder::get_Path(ServerEnvironment* env, #ifdef PATHFINDER_DEBUG print_pathlen(); #endif - ERROR_TARGET << "failed to update cost map"<< std::endl; + //ERROR_TARGET << "failed to update cost map"<< std::endl; }