Spaces=>Tabs, 3dmushrooms (thank @VanessaE), update mobs, player_api, minor fixes and improvements

This commit is contained in:
MoNTE48 2019-05-18 20:35:38 +02:00
parent 5ee797e3c7
commit 512c54072f
76 changed files with 1771 additions and 1761 deletions

View File

@ -6,35 +6,35 @@ dofile(minetest.get_modpath(minetest.get_current_modname()).."/armor.lua")
minetest.register_tool("3d_armor:helmet_leather", {
description = "Leather Helmet",
inventory_image = "3d_armor_inv_helmet_leather.png",
groups = {armor_head=5, armor_heal=0, armor_use=100, combat = 1},
groups = {armor_head=5, armor_heal=0, armor_use=100},
wear = 0,
})
minetest.register_tool("3d_armor:helmet_steel", {
description = "Steel Helmet",
inventory_image = "3d_armor_inv_helmet_steel.png",
groups = {armor_head=10, armor_heal=5, armor_use=250, combat = 1},
groups = {armor_head=10, armor_heal=5, armor_use=250},
wear = 0,
})
minetest.register_tool("3d_armor:helmet_gold", {
description = "Golden Helmet",
inventory_image = "3d_armor_inv_helmet_gold.png",
groups = {armor_head=15, armor_heal=10, armor_use=500, combat = 1},
groups = {armor_head=15, armor_heal=10, armor_use=500},
wear = 0,
})
minetest.register_tool("3d_armor:helmet_diamond",{
description = "Diamond Helmet",
inventory_image = "3d_armor_inv_helmet_diamond.png",
groups = {armor_head=20, armor_heal=15, armor_use=750, combat = 1},
groups = {armor_head=20, armor_heal=15, armor_use=750},
wear = 0,
})
minetest.register_tool("3d_armor:helmet_chain", {
description = "Chain Helmet",
inventory_image = "3d_armor_inv_helmet_chain.png",
groups = {armor_head=15, armor_heal=10, armor_use=500, combat = 1},
groups = {armor_head=15, armor_heal=10, armor_use=500},
wear = 0,
})
@ -43,35 +43,35 @@ minetest.register_tool("3d_armor:helmet_chain", {
minetest.register_tool("3d_armor:chestplate_leather", {
description = "Leather Chestplate",
inventory_image = "3d_armor_inv_chestplate_leather.png",
groups = {armor_torso=15, armor_heal=0, armor_use=100, combat = 1},
groups = {armor_torso=15, armor_heal=0, armor_use=100},
wear = 0,
})
minetest.register_tool("3d_armor:chestplate_steel", {
description = "Steel Chestplate",
inventory_image = "3d_armor_inv_chestplate_steel.png",
groups = {armor_torso=20, armor_heal=5, armor_use=250, combat = 1},
groups = {armor_torso=20, armor_heal=5, armor_use=250},
wear = 0,
})
minetest.register_tool("3d_armor:chestplate_gold", {
description = "Golden Chestplate",
inventory_image = "3d_armor_inv_chestplate_gold.png",
groups = {armor_torso=25, armor_heal=10, armor_use=500, combat = 1},
groups = {armor_torso=25, armor_heal=10, armor_use=500},
wear = 0,
})
minetest.register_tool("3d_armor:chestplate_diamond",{
description = "Diamond Chestplate",
inventory_image = "3d_armor_inv_chestplate_diamond.png",
groups = {armor_torso=30, armor_heal=15, armor_use=750, combat = 1},
groups = {armor_torso=30, armor_heal=15, armor_use=750},
wear = 0,
})
minetest.register_tool("3d_armor:chestplate_chain", {
description = "Chain Chestplate",
inventory_image = "3d_armor_inv_chestplate_chain.png",
groups = {armor_torso=25, armor_heal=10, armor_use=500, combat = 1},
groups = {armor_torso=25, armor_heal=10, armor_use=500},
wear = 0,
})
@ -80,35 +80,35 @@ minetest.register_tool("3d_armor:chestplate_chain", {
minetest.register_tool("3d_armor:leggings_leather", {
description = "Leather Leggings",
inventory_image = "3d_armor_inv_leggings_leather.png",
groups = {armor_legs=10, armor_heal=0, armor_use=100, combat = 1},
groups = {armor_legs=10, armor_heal=0, armor_use=100},
wear = 0,
})
minetest.register_tool("3d_armor:leggings_steel", {
description = "Steel Leggings",
inventory_image = "3d_armor_inv_leggings_steel.png",
groups = {armor_legs=15, armor_heal=5, armor_use=250, combat = 1},
groups = {armor_legs=15, armor_heal=5, armor_use=250},
wear = 0,
})
minetest.register_tool("3d_armor:leggings_gold", {
description = "Golden Leggings",
inventory_image = "3d_armor_inv_leggings_gold.png",
groups = {armor_legs=20, armor_heal=10, armor_use=500, combat = 1},
groups = {armor_legs=20, armor_heal=10, armor_use=500},
wear = 0,
})
minetest.register_tool("3d_armor:leggings_diamond",{
description = "Diamond Helmet",
inventory_image = "3d_armor_inv_leggings_diamond.png",
groups = {armor_legs=25, armor_heal=15, armor_use=750, combat = 1},
groups = {armor_legs=25, armor_heal=15, armor_use=750},
wear = 0,
})
minetest.register_tool("3d_armor:leggings_chain", {
description = "Chain Leggings",
inventory_image = "3d_armor_inv_leggings_chain.png",
groups = {armor_legs=20, armor_heal=10, armor_use=500, combat = 1},
groups = {armor_legs=20, armor_heal=10, armor_use=500},
wear = 0,
})
-- Regisiter Boots
@ -116,35 +116,35 @@ minetest.register_tool("3d_armor:leggings_chain", {
minetest.register_tool("3d_armor:boots_leather", {
description = "Leather Boots",
inventory_image = "3d_armor_inv_boots_leather.png",
groups = {armor_feet=5, armor_heal=0, armor_use=100, combat = 1},
groups = {armor_feet=5, armor_heal=0, armor_use=100},
wear = 0,
})
minetest.register_tool("3d_armor:boots_steel", {
description = "Steel Boots",
inventory_image = "3d_armor_inv_boots_steel.png",
groups = {armor_feet=10, armor_heal=5, armor_use=250, combat = 1},
groups = {armor_feet=10, armor_heal=5, armor_use=250},
wear = 0,
})
minetest.register_tool("3d_armor:boots_gold", {
description = "Golden Boots",
inventory_image = "3d_armor_inv_boots_gold.png",
groups = {armor_feet=15, armor_heal=10, armor_use=500, combat = 1},
groups = {armor_feet=15, armor_heal=10, armor_use=500},
wear = 0,
})
minetest.register_tool("3d_armor:boots_diamond",{
description = "Diamond Helmet",
inventory_image = "3d_armor_inv_boots_diamond.png",
groups = {armor_feet=20, armor_heal=15, armor_use=750, combat = 1},
groups = {armor_feet=20, armor_heal=15, armor_use=750},
wear = 0,
})
minetest.register_tool("3d_armor:boots_chain", {
description = "Chain Boots",
inventory_image = "3d_armor_inv_boots_chain.png",
groups = {armor_feet=15, armor_heal=10, armor_use=500, combat = 1},
groups = {armor_feet=15, armor_heal=10, armor_use=500},
wear = 0,
})

View File

@ -1,4 +1,4 @@
MultiCraft mod: beds
MultiCraft game mod: beds
=======================
See license.txt for license information.

View File

@ -37,7 +37,7 @@ local torch_get_input_rules = function(node)
end
minetest.register_craft({
output = '"mesecons_torch:mesecon_torch_on" 4',
output = "mesecons_torch:mesecon_torch_on 4",
recipe = {
{"default:bluestone_dust"},
{"default:stick"},}

View File

@ -1,4 +1,4 @@
MultiCraft mod: boats
MultiCraft game mod: boats
========================
See license.txt for license information.

View File

@ -1,4 +1,4 @@
MultiCraft mod: bucket
MultiCraft game mod: bucket
=========================
License of source code:

View File

@ -1,4 +1,4 @@
-- MultiCraft mod: bucket
-- MultiCraft game mod: bucket
-- See README.txt for licensing and other information.
minetest.register_alias("bucket", "bucket:bucket_empty")

View File

@ -12,7 +12,7 @@ return {
"default:emerald",
"default:quartz_crystal",
"default:sugar",
"default:reeds",
"default:sugarcane",
"default:stick",
"default:gunpowder",
}

View File

@ -15,4 +15,10 @@ return {
"default:shovel_stone",
"default:axe_wood",
"default:pick_steel",
"farming:hoe_wood",
"farming:hoe_stone",
"farming:hoe_steel",
"farming:hoe_gold",
"farming:hoe_diamond",
"default:pole",
}

View File

@ -188,7 +188,7 @@ local function get_creative_formspec(player_name, start_i, pagenum, page, pagema
local formspec = "image_button_exit[10.4,-0.1;0.75,0.75;close.png;exit;;true;true;]"..
"background[-0.19,-0.25;11.5,8.5;inventory_creative.png]"..
sfinv.gui_bg..
"listcolors[#9990;#FFF7;#FFF0;#160816;#D4D2FF]"..
sfinv.listcolors..
"label[-5,-5;"..name.."]"..
"image_button[-0.16,-0.15;1,1;"..bg["blocks"]..";build;;;false]".. --build blocks
"image_button[0.87,-0.15;1,1;"..bg["deco"]..";deco;;;false]".. --decoration blocks

View File

@ -18,7 +18,7 @@ minetest.register_alias("jungletree", "default:jungletree")
minetest.register_alias("junglegrass", "default:junglegrass")
minetest.register_alias("leaves", "default:leaves")
minetest.register_alias("cactus", "default:cactus")
minetest.register_alias("papyrus", "default:papyrus")
minetest.register_alias("papyrus", "default:sugarcane")
minetest.register_alias("bookshelf", "default:bookshelf")
minetest.register_alias("glass", "default:glass")
minetest.register_alias("wooden_fence", "default:fence_wood")
@ -86,3 +86,7 @@ minetest.register_alias("default:haybale", "farming:straw")
-- Ladder
minetest.register_alias("default:ladder", "default:ladder_wood")
-- Ladder
minetest.register_alias("default:reeds", "default:sugarcane")
minetest.register_alias("default:papyrus", "default:sugarcane")

View File

@ -1,9 +1,5 @@
-- mods/default/crafting.lua
--
-- Crafting definition
--
minetest.register_craft({
output = 'default:wood 4',
recipe = {
@ -387,7 +383,7 @@ minetest.register_craft({
minetest.register_craft({
output = 'default:paper',
recipe = {
{'default:reeds', 'default:reeds', 'default:reeds'},
{'default:sugarcane', 'default:sugarcane', 'default:sugarcane'},
}
})
@ -508,7 +504,7 @@ minetest.register_craft({
minetest.register_craft({
output = "default:sugar",
recipe = {
{"default:reeds"},
{"default:sugarcane"},
}
})

View File

@ -7,18 +7,17 @@
minetest.register_craftitem("default:stick", {
description = "Stick",
inventory_image = "default_stick.png",
groups = {materials = 1},
groups = {stick = 1, flammable = 2},
})
minetest.register_craftitem("default:paper", {
description = "Paper",
inventory_image = "default_paper.png",
groups = {misc = 1},
groups = {flammable = 3},
})
local lpp = 14 -- Lines per book's page
local function book_on_use(itemstack, user)
local player_name = user:get_player_name()
@ -178,67 +177,58 @@ minetest.register_craftitem("default:book_written", {
minetest.register_craftitem("default:coal_lump", {
description = "Coal Lump",
inventory_image = "default_coal_lump.png",
groups = {materials = 1},
groups = {coal = 1, flammable = 1}
})
minetest.register_craftitem("default:charcoal_lump", {
description = "Charcoal Lump",
inventory_image = "default_charcoal_lump.png",
groups = {materials = 1},
groups = {coal = 1, flammable = 1}
})
minetest.register_craftitem("default:diamond", {
description = "Diamond",
inventory_image = "default_diamond.png",
groups = {materials = 1},
})
minetest.register_craftitem("default:clay_lump", {
description = "Clay Lump",
inventory_image = "default_clay_lump.png",
groups = {materials = 1},
})
minetest.register_craftitem("default:steel_ingot", {
description = "Steel Ingot",
inventory_image = "default_steel_ingot.png",
groups = {materials = 1},
})
minetest.register_craftitem("default:gold_ingot", {
description = "Gold Ingot",
inventory_image = "default_gold_ingot.png",
groups = {materials = 1},
})
minetest.register_craftitem("default:emerald", {
description = "Emerald",
inventory_image = "default_emerald.png",
groups = {materials = 1},
})
minetest.register_craftitem("default:clay_brick", {
description = "Clay Brick",
inventory_image = "default_clay_brick.png",
groups = {materials = 1},
})
minetest.register_craftitem("default:gunpowder", {
description = "Gunpowder",
inventory_image = "default_gunpowder.png",
groups = {materials = 1},
})
minetest.register_craftitem("default:bone", {
description = "Bone",
inventory_image = "default_bone.png",
groups = {materials = 1},
})
minetest.register_craftitem("default:glowstone_dust", {
description = "Glowstone Dust",
inventory_image = "default_glowstone_dust.png",
groups = {materials = 1},
})
minetest.register_craftitem("default:fish_raw", {
@ -246,7 +236,6 @@ minetest.register_craftitem("default:fish_raw", {
groups = {},
inventory_image = "default_fish.png",
on_use = minetest.item_eat(2),
groups = {foodstuffs = 1},
})
minetest.register_craftitem("default:fish", {
@ -254,17 +243,14 @@ minetest.register_craftitem("default:fish", {
groups = {},
inventory_image = "default_fish_cooked.png",
on_use = minetest.item_eat(4),
groups = {foodstuffs = 1},
})
minetest.register_craftitem("default:sugar", {
description = "Sugar",
inventory_image = "default_sugar.png",
groups = {materials = 1},
})
minetest.register_craftitem("default:quartz_crystal", {
description = "Quartz Crystal",
inventory_image = "default_quartz_crystal.png",
groups = {materials = 1},
})

View File

@ -206,7 +206,7 @@ function default.grow_papyrus(pos, node)
end
pos.y = pos.y + 1
local height = 0
while node.name == "default:papyrus" and height < 4 do
while node.name == "default:sugarcane" and height < 4 do
height = height + 1
pos.y = pos.y + 1
node = minetest.get_node(pos)
@ -217,7 +217,7 @@ function default.grow_papyrus(pos, node)
if minetest.get_node_light(pos) < 13 then
return
end
minetest.set_node(pos, {name = "default:papyrus"})
minetest.set_node(pos, {name = "default:sugarcane"})
return true
end
@ -234,7 +234,7 @@ minetest.register_abm({
minetest.register_abm({
label = "Grow papyrus",
nodenames = {"default:papyrus"},
nodenames = {"default:sugarcane"},
neighbors = {"default:dirt", "default:dirt_with_grass", "default:sand"},
interval = 14,
chance = 71,

View File

@ -6,15 +6,17 @@
local function active_formspec(fuel_percent, item_percent)
local formspec =
"size[9,8.75]"..
"image_button_exit[8.4,-0.1;0.75,0.75;close.png;exit;;true;true;]"..
"background[-0.19,-0.25;9.41,9.49;formspec_furnace.png]"..
sfinv.gui_bg..
"background[-0.2,-0.26;9.41,9.49;formspec_inventory.png]"..
"background[-0.2,-0.26;9.41,9.49;formspec_furnace.png]"..
"bgcolor[#08080880;true]"..
"listcolors[#9990;#FFF7;#FFF0;#160816;#D4D2FF]"..
"image_button_exit[8.4,-0.1;0.75,0.75;close.png;exit;;true;true;]"..
"list[current_player;main;0,4.5;9,3;9]"..
"list[current_player;main;0,7.74;9,1;]"..
"list[current_name;src;3,0.5;1,1;]"..
"list[current_name;fuel;3,2.5;1,1;]"..
"list[current_name;dst;5,1.5;1,1;]"..
"list[detached:split;main;8,3.14;1,1;]"..
"image[3,1.5;1,1;default_furnace_fire_bg.png^[lowpart:"..
(100-fuel_percent)..":default_furnace_fire_fg.png]"
return formspec
@ -22,15 +24,30 @@ end
local inactive_formspec =
"size[9,8.75]"..
"image_button_exit[8.4,-0.1;0.75,0.75;close.png;exit;;true;true;]"..
"background[-0.19,-0.25;9.41,9.49;formspec_furnace.png]"..
"background[-0.2,-0.26;9.41,9.49;formspec_inventory.png]"..
"background[-0.2,-0.26;9.41,9.49;formspec_furnace.png]"..
"bgcolor[#08080880;true]"..
"listcolors[#9990;#FFF7;#FFF0;#160816;#D4D2FF]"..
"image_button_exit[8.4,-0.1;0.75,0.75;close.png;exit;;true;true;]"..
"list[current_player;main;0,4.5;9,3;9]"..
"list[current_player;main;0,7.74;9,1;]"..
"list[current_name;src;3,0.5;1,1;]"..
"list[current_name;fuel;3,2.5;1,1;]"..
"list[current_name;dst;5,1.5;1,1;]"
"list[current_name;dst;5,1.5;1,1;]"..
"list[detached:split;main;8,3.14;1,1;]"
local split_inv = minetest.create_detached_inventory("split", {
allow_move = function(_, _, _, _, _, count, _)
return count
end,
allow_put = function(_, _, _, stack, _)
return stack:get_count() / 2
end,
allow_take = function(_, _, _, stack, _)
return stack:get_count()
end,
})
split_inv:set_size("main", 1)
--
-- Node callback functions that are the same for active and inactive furnace

View File

@ -1,4 +1,4 @@
-- MultiCraft mod: default
-- MultiCraft game mod: default
-- See README.txt for licensing and other information.
-- The API documentation in here was moved into doc/lua_api.txt

View File

@ -915,7 +915,7 @@ function default.register_mgv6_decorations()
decoration = {"bonusbox:chest"},
})
-- Papyrus
-- Sugar Cane
minetest.register_decoration({
deco_type = "simple",
@ -931,7 +931,7 @@ function default.register_mgv6_decorations()
},
y_min = 1,
y_max = 1,
decoration = "default:papyrus",
decoration = "default:sugarcane",
height = 2,
y_max = 4,
spawn_by = "default:water_source",

View File

@ -7,7 +7,7 @@
minetest.register_node("default:stone", {
description = "Stone",
tiles = {"default_stone.png"},
groups = {cracky = 3, stone = 1, building = 1, decorative = 1},
groups = {cracky = 3, stone = 1},
drop = 'default:cobble',
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
@ -16,7 +16,7 @@ minetest.register_node("default:stone", {
minetest.register_node("default:cobble", {
description = "Cobblestone",
tiles = {"default_cobble.png"},
groups = {cracky = 3, stone = 2, building = 1, decorative = 1},
groups = {cracky = 3, stone = 2},
sounds = default.node_sound_stone_defaults(),
})
@ -26,7 +26,7 @@ minetest.register_node("default:stonebrick", {
place_param2 = 0,
tiles = {"default_stone_brick.png"},
is_ground_content = false,
groups = {cracky = 2, stone = 1, building = 1, decorative = 1},
groups = {cracky = 2, stone = 1},
sounds = default.node_sound_stone_defaults(),
})
@ -34,63 +34,63 @@ minetest.register_node("default:mossycobble", {
description = "Mossy Cobblestone",
tiles = {"default_mossycobble.png"},
is_ground_content = false,
groups = {cracky = 3, building = 1, decorative = 1},
groups = {cracky = 3},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("default:stonebrickcarved", {
description = "Stone Brick Carved",
tiles = {"default_stonebrick_carved.png"},
groups = {cracky = 3, stone = 1, building = 1, decorative = 1},
groups = {cracky = 3, stone = 1},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("default:stonebrickcracked", {
description = "Stone Brick Cracked",
tiles = {"default_stonebrick_cracked.png"},
groups = {cracky = 3, stone = 1, building = 1, decorative = 1},
groups = {cracky = 3, stone = 1},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("default:stonebrickmossy", {
description = "Mossy Stone Brick",
tiles = {"default_stonebrick_mossy.png"},
groups = {cracky = 3, stone = 1, building = 1, decorative = 1},
groups = {cracky = 3, stone = 1},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("default:sandstone", {
description = "Sandstone",
tiles = {"default_sandstone_top.png", "default_sandstone_bottom.png", "default_sandstone_normal.png"},
groups = {crumbly = 1, cracky = 3, building = 1},
groups = {crumbly = 1, cracky = 3},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("default:sandstonesmooth", {
description = "Smooth Sandstone",
tiles = {"default_sandstone_top.png", "default_sandstone_bottom.png", "default_sandstone_smooth.png"},
groups = {crumbly = 2, cracky = 2, building = 1},
groups = {crumbly = 2, cracky = 2},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("default:redsandstone", {
description = "Red SandStone",
tiles = {"default_redsandstone_top.png", "default_redsandstone_bottom.png", "default_redsandstone_normal.png"},
groups = {crumbly = 2, cracky = 2, building = 1},
groups = {crumbly = 2, cracky = 2},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("default:redsandstonesmooth", {
description = "Red SandStone Smooth",
tiles = {"default_redsandstone_top.png", "default_redsandstone_bottom.png", "default_redsandstone_smooth.png"},
groups = {crumbly = 2, cracky = 2, building = 1},
groups = {crumbly = 2, cracky = 2},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("default:redsandstonecarved", {
description = "Red SandStone Carved",
tiles = {"default_redsandstone_top.png", "default_redsandstone_bottom.png", "default_redsandstone_carved.png"},
groups = {crumbly = 2, cracky = 2, building = 1},
groups = {crumbly = 2, cracky = 2},
sounds = default.node_sound_stone_defaults(),
})
@ -105,7 +105,7 @@ minetest.register_node("default:obsidian", {
description = "Obsidian",
tiles = {"default_obsidian.png"},
sounds = default.node_sound_stone_defaults(),
groups = {cracky = 4, level = 2, oddly_breakable_by_hand = 3, building = 1},
groups = {cracky = 4, level = 2, oddly_breakable_by_hand = 3},
})
--
-- Soft / Non-Stone
@ -114,14 +114,14 @@ minetest.register_node("default:obsidian", {
minetest.register_node("default:dirt", {
description = "Dirt",
tiles = {"default_dirt.png"},
groups = {crumbly = 3, soil = 1, building = 1},
groups = {crumbly = 3, soil = 1},
sounds = default.node_sound_dirt_defaults(),
})
minetest.register_node("default:dirt_with_grass", {
description = "Dirt with Grass",
tiles = {"default_grass.png", "default_dirt.png", "default_grass_side.png"},
groups = {crumbly = 3, soil = 1, building = 1, spreading_dirt_type = 1},
groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1},
drop = 'default:dirt',
sounds = default.node_sound_dirt_defaults({
footstep = {name="default_grass_footstep", gain = 0.4},
@ -142,7 +142,7 @@ minetest.register_node("default:dirt_with_dry_grass", {
description = "Dirt with Dry Grass",
tiles = {"default_dry_grass.png", "default_dirt.png",
"default_dry_grass_side.png"},
groups = {crumbly = 3, soil = 1, building = 1, spreading_dirt_type = 1},
groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1},
drop = 'default:dirt',
sounds = default.node_sound_dirt_defaults({
footstep = {name = "default_grass_footstep", gain = 0.4},
@ -154,7 +154,7 @@ minetest.register_node("default:dirt_with_snow", {
tiles = {"default_snow.png", "default_dirt.png",
{name = "default_snow_side.png",
tileable_vertical = false}},
groups = {crumbly = 3, soil = 1, building = 1, spreading_dirt_type = 1, snowy = 1},
groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1, snowy = 1},
drop = 'default:dirt',
sounds = default.node_sound_dirt_defaults({
footstep = {name = "default_snow_footstep", gain = 0.4},
@ -164,7 +164,7 @@ minetest.register_node("default:dirt_with_snow", {
minetest.register_node("default:sand", {
description = "Sand",
tiles = {"default_sand.png"},
groups = {crumbly = 3, falling_node = 1, sand = 1, building = 1},
groups = {crumbly = 3, falling_node = 1, sand = 1},
sounds = default.node_sound_sand_defaults(),
})
@ -172,7 +172,7 @@ minetest.register_node("default:sand", {
minetest.register_node("default:gravel", {
description = "Gravel",
tiles = {"default_gravel.png"},
groups = {crumbly = 2, falling_node = 1, building = 1},
groups = {crumbly = 2, falling_node = 1},
sounds = default.node_sound_dirt_defaults({
footstep = {name="default_gravel_footstep", gain = 0.45},
}),
@ -183,20 +183,19 @@ minetest.register_node("default:gravel", {
{items = {'default:gravel'}}
}
},
})
minetest.register_node("default:redsand", {
description = "Red Sand",
tiles = {"default_red_sand.png"},
groups = {crumbly = 3, falling_node = 1, redsand=1, building = 1},
groups = {crumbly = 3, falling_node = 1, redsand = 1},
sounds = default.node_sound_sand_defaults(),
})
minetest.register_node("default:clay", {
description = "Clay",
tiles = {"default_clay.png"},
groups = {crumbly = 3, building = 1},
groups = {crumbly = 3},
drop = 'default:clay_lump 4',
sounds = default.node_sound_dirt_defaults(),
})
@ -232,7 +231,7 @@ minetest.register_node("default:snow", {
minetest.register_node("default:snowblock", {
description = "Snow Block",
tiles = {"default_snow.png"},
groups = {crumbly = 3, building = 1},
groups = {crumbly = 3},
sounds = default.node_sound_dirt_defaults({
footstep = {name = "default_snow_footstep", gain = 0.4},
dug = {name = "default_snow_footstep", gain = 0.75},
@ -248,7 +247,7 @@ minetest.register_node("default:ice", {
is_ground_content = false,
paramtype = "light",
use_texture_alpha = true,
groups = {cracky = 3, puts_out_fire = 1, oddly_breakable_by_hand = 2, building = 1},
groups = {cracky = 3, puts_out_fire = 1, oddly_breakable_by_hand = 2},
sounds = default.node_sound_glass_defaults(),
})
@ -258,7 +257,7 @@ minetest.register_node("default:packedice", {
tiles = {"default_ice_packed.png"},
paramtype = "light",
use_texture_alpha = true,
groups = {cracky = 2, building = 1},
groups = {cracky = 2},
sounds = default.node_sound_glass_defaults(),
})
@ -284,7 +283,7 @@ minetest.register_node("default:wood", {
tiles = {"default_wood.png"},
is_ground_content = false,
material = "default:wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 3, wood = 1, building = 1},
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 3, wood = 1},
sounds = default.node_sound_wood_defaults(),
})
@ -701,7 +700,7 @@ minetest.register_node("default:aspen_sapling", {
minetest.register_node("default:stone_with_coal", {
description = "Coal Ore",
tiles = {"default_stone.png^default_mineral_coal.png"},
groups = {cracky = 3, building = 1},
groups = {cracky = 3},
drop = 'default:coal_lump',
sounds = default.node_sound_stone_defaults(),
})
@ -709,7 +708,7 @@ minetest.register_node("default:stone_with_coal", {
minetest.register_node("default:stone_with_iron", {
description = "Iron Ore",
tiles = {"default_stone.png^default_mineral_iron.png"},
groups = {cracky = 2, building = 1},
groups = {cracky = 2},
drop = 'default:stone_with_iron',
sounds = default.node_sound_stone_defaults(),
})
@ -717,21 +716,21 @@ minetest.register_node("default:stone_with_iron", {
minetest.register_node("default:steelblock", {
description = "Steel Block",
tiles = {"default_steel_block.png"},
groups = {cracky = 1,level = 2, building = 1},
groups = {cracky = 1,level = 2},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("default:lapisblock", {
description = "Lapis Lazul Block",
tiles = {"default_lapis_block.png"},
groups = {cracky = 1, building = 1},
groups = {cracky = 1},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("default:stone_with_bluestone", {
description = "Bluestone Ore",
tiles = {"default_stone.png^default_mineral_bluestone.png"},
groups = {cracky = 2, building = 1},
groups = {cracky = 2},
drop = "mesecons:wire_00000000_off 5",
sounds = default.node_sound_stone_defaults(),
})
@ -739,7 +738,7 @@ minetest.register_node("default:stone_with_bluestone", {
minetest.register_node("default:stone_with_lapis", {
description = "Lapis Lazuli Ore",
tiles = {"default_stone.png^default_mineral_lapis.png"},
groups = {cracky = 2, building = 1},
groups = {cracky = 2},
drop = {
max_items = 2,
items = {
@ -757,7 +756,7 @@ minetest.register_node("default:stone_with_lapis", {
minetest.register_node("default:stone_with_gold", {
description = "Gold Ore",
tiles = {"default_stone.png^default_mineral_gold.png"},
groups = {cracky = 2, building = 1},
groups = {cracky = 2},
drop = "default:stone_with_gold",
sounds = default.node_sound_stone_defaults(),
})
@ -766,14 +765,14 @@ minetest.register_node("default:goldblock", {
description = "Gold Block",
tiles = {"default_gold_block.png"},
is_ground_content = false,
groups = {cracky = 1, building = 1},
groups = {cracky = 1},
sounds = default.node_sound_metal_defaults(),
})
minetest.register_node("default:stone_with_emerald", {
description = "Emerald Ore",
tiles = {"default_stone.png^default_mineral_emerald.png"},
groups = {cracky = 2, building = 1},
groups = {cracky = 2},
drop = "default:emerald",
sounds = default.node_sound_stone_defaults(),
})
@ -781,14 +780,14 @@ minetest.register_node("default:stone_with_emerald", {
minetest.register_node("default:emeraldblock", {
description = "Emerald Block",
tiles = {"default_emerald_block.png"},
groups = {cracky = 1, building = 1},
groups = {cracky = 1},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("default:stone_with_diamond", {
description = "Diamonds in Stone",
tiles = {"default_stone.png^default_mineral_diamond.png"},
groups = {cracky = 1, building = 1},
groups = {cracky = 1},
drop = "default:diamond",
sounds = default.node_sound_stone_defaults(),
})
@ -797,7 +796,7 @@ minetest.register_node("default:diamondblock", {
description = "Diamond Block",
tiles = {"default_diamond_block.png"},
is_ground_content = false,
groups = {cracky = 1, level = 3, building = 1},
groups = {cracky = 1, level = 3},
sounds = default.node_sound_stone_defaults(),
})
@ -813,7 +812,7 @@ minetest.register_node("default:dry_shrub", {
sunlight_propagates = true,
walkable = false,
buildable_to = true,
groups = {snappy = 3, flammable = 3, attached_node=1, decorative = 1},
groups = {snappy = 3, flammable = 3, attached_node=1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
@ -864,7 +863,7 @@ minetest.register_node("default:grass", {
},
paramtype = "light",
groups = {snappy = 3, flora = 1, attached_node = 1, grass = 1,
flammable = 1, dig_immediate = 3, decorative = 1},
flammable = 1, dig_immediate = 3},
sounds = default.node_sound_leaves_defaults(),
})
@ -881,7 +880,7 @@ minetest.register_node("default:dry_grass", {
walkable = false,
buildable_to = true,
groups = {snappy = 3, flammable = 3, flora = 1, attached_node = 1,
not_in_creative_inventory=1, dry_grass = 1, dig_immediate = 3, decorative = 1},
not_in_creative_inventory=1, dry_grass = 1, dig_immediate = 3},
sounds = default.node_sound_leaves_defaults(),
})
@ -1221,7 +1220,7 @@ minetest.register_node("default:bookshelf", {
"default_wood.png", "default_bookshelf.png", "default_bookshelf.png"},
paramtype2 = "facedir",
is_ground_content = false,
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3, building = 1},
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3},
sounds = default.node_sound_wood_defaults(),
on_construct = function(pos)
@ -1274,7 +1273,7 @@ minetest.register_node("default:cactus", {
description = "Cactus",
drawtype = "nodebox",
tiles = {"default_cactus_top.png", "default_cactus_bottom.png", "default_cactus_side.png","default_cactus_side.png","default_cactus_side.png","default_cactus_side.png"},
groups = {snappy = 1, choppy = 3, flammable = 2, decorative = 1},
groups = {snappy = 1, choppy = 3, flammable = 2},
sounds = default.node_sound_wood_defaults(),
paramtype = "light",
node_box = {
@ -1297,12 +1296,12 @@ minetest.register_node("default:cactus", {
})
minetest.register_node("default:papyrus", {
description = "Papyrus",
minetest.register_node("default:sugarcane", {
description = "Sugarcane",
drawtype = "plantlike",
tiles = {"default_papyrus.png"},
inventory_image = "default_papyrus.png",
wield_image = "default_papyrus.png",
tiles = {"default_sugarcane.png"},
inventory_image = "default_sugarcane_inv.png",
wield_image = "default_sugarcane_inv.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
@ -1312,40 +1311,11 @@ minetest.register_node("default:papyrus", {
},
groups = {snappy = 3, flammable = 2},
sounds = default.node_sound_leaves_defaults(),
after_dig_node = function(pos, node, metadata, digger)
default.dig_up(pos, node, digger)
end,
})
minetest.register_node("default:reeds", {
description = "Sugarcane",
drawtype = "plantlike",
tiles = {"default_papyrus.png"},
inventory_image = "default_sugar_cane.png",
wield_image = "default_sugar_cane.png",
paramtype = "light",
walkable = false,
node_box = {
type = "fixed",
fixed = {
{-7/16, -8/16, -7/16, 7/16, 8/16, 7/16}, -- Main Body
{-8/16, -8/16, -7/16, 8/16, 8/16, -7/16}, -- Spikes
{-8/16, -8/16, 7/16, 8/16, 8/16, 7/16}, -- Spikes
{-7/16, -8/16, -8/16, -7/16, 8/16, 8/16}, -- Spikes
{7/16, -8/16, 8/16, 7/16, 8/16, -8/16}, -- Spikes
},
},
selection_box = {
type = "fixed",
fixed = {
{-7/16, -8/16, -7/16, 7/16, 8/16, 7/16},
},
},
groups = {snappy = 3, flammable = 2, materials = 1},
sounds = default.node_sound_leaves_defaults(),
})
--
-- Quartz
--
@ -1353,7 +1323,7 @@ minetest.register_node("default:reeds", {
minetest.register_node("default:quartz_ore", {
description = "Quartz Ore",
tiles = {"default_quartz_ore.png"},
groups = {cracky = 3, stone = 1, building = 1},
groups = {cracky = 3, stone = 1},
drop = 'default:quartz_crystal',
sounds = default.node_sound_stone_defaults(),
})
@ -1361,14 +1331,14 @@ minetest.register_node("default:quartz_ore", {
minetest.register_node("default:quartz_block", {
description = "Quartz Block",
tiles = {"default_quartz_block_top.png", "default_quartz_block_bottom.png", "default_quartz_block_side.png"},
groups = {snappy = 1, bendy = 2,cracky = 1,level = 2, building = 1},
groups = {snappy = 1, bendy = 2,cracky = 1,level = 2},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("default:quartz_chiseled", {
description = "Chiseled Quartz",
tiles = {"default_quartz_chiseled_top.png", "default_quartz_chiseled_top.png", "default_quartz_chiseled_side.png"},
groups = {snappy = 1,bendy=2,cracky = 1,level = 2, building = 1},
groups = {snappy = 1,bendy=2,cracky = 1,level = 2},
sounds = default.node_sound_stone_defaults(),
})
@ -1377,7 +1347,7 @@ minetest.register_node("default:quartz_pillar", {
paramtype2 = "facedir",
on_place = minetest.rotate_node,
tiles = {"default_quartz_pillar_top.png", "default_quartz_pillar_top.png", "default_quartz_pillar_side.png"},
groups = {snappy = 1,bendy=2,cracky = 1,level = 2, building = 1},
groups = {snappy = 1,bendy=2,cracky = 1,level = 2},
sounds = default.node_sound_stone_defaults(),
})
@ -1397,7 +1367,7 @@ minetest.register_node("default:slimeblock", {
paramtype = "light",
use_texture_alpha = true,
sunlight_propagates = true,
groups = {oddly_breakable_by_hand = 3,dig_immediate = 2,bouncy=70,disable_jump=1, fall_damage_add_percent=-100, building = 1},
groups = {oddly_breakable_by_hand = 3,dig_immediate = 2,bouncy=70,disable_jump=1, fall_damage_add_percent=-100},
})
minetest.register_node("default:ladder_wood", {
@ -1418,7 +1388,7 @@ minetest.register_node("default:ladder_wood", {
--wall_bottom = = <default>
--wall_side = = <default>
},
groups = {choppy = 2, oddly_breakable_by_hand = 3, flammable = 2, decorative = 1},
groups = {choppy = 2, oddly_breakable_by_hand = 3, flammable = 2},
legacy_wallmounted = true,
sounds = default.node_sound_wood_defaults(),
})
@ -1436,7 +1406,7 @@ minetest.register_node("default:vine", {
selection_box = {
type = "wallmounted",
},
groups = {choppy = 2, oddly_breakable_by_hand = 3, flammable = 2, decorative = 1},
groups = {choppy = 2, oddly_breakable_by_hand = 3, flammable = 2},
legacy_wallmounted = true,
sounds = default.node_sound_leaves_defaults(),
drop = "",
@ -1475,7 +1445,7 @@ minetest.register_node("default:glass", {
tiles = {"default_glass.png"},
paramtype = "light",
sunlight_propagates = true,
groups = {cracky = 3, oddly_breakable_by_hand = 3, building = 1},
groups = {cracky = 3, oddly_breakable_by_hand = 3},
sounds = default.node_sound_glass_defaults(),
drop = "",
})
@ -1486,14 +1456,14 @@ minetest.register_node("default:brick", {
place_param2 = 0,
tiles = {"default_brick.png"},
is_ground_content = false,
groups = {cracky = 3, building = 1},
groups = {cracky = 3},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("default:glowstone", {
description = "Glowstone",
tiles = {"default_glowstone.png"},
groups = {cracky = 3, building = 1},
groups = {cracky = 3},
--[[ drop = {
max_items = 1,
items = {
@ -1516,7 +1486,7 @@ minetest.register_node("default:sponge", {
pointable = true,
diggable = true,
buildable_to = false,
groups = {snappy = 2, choppy = 2, oddly_breakable_by_hand = 3, flammable = 3, building = 1},
groups = {snappy = 2, choppy = 2, oddly_breakable_by_hand = 3, flammable = 3},
on_place = function(itemstack, placer, pointed_thing)
local pn = placer:get_player_name()
if pointed_thing.type ~= "node" then
@ -1649,7 +1619,7 @@ function AddGlass(desc, recipeitem, color)
tiles = {"xpanes_pane_glass"..color..".png"},
paramtype = "light",
use_texture_alpha = true,
groups = {cracky = 3, oddly_breakable_by_hand = 3, building = 1},
groups = {cracky = 3, oddly_breakable_by_hand = 3},
sounds = default.node_sound_glass_defaults(),
drop = "",
})

Binary file not shown.

Before

Width:  |  Height:  |  Size: 447 B

View File

Before

Width:  |  Height:  |  Size: 967 B

After

Width:  |  Height:  |  Size: 967 B

View File

Before

Width:  |  Height:  |  Size: 231 B

After

Width:  |  Height:  |  Size: 231 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 942 B

View File

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -240,7 +240,6 @@ minetest.register_tool("default:sword_wood", {
},
damage_groups = {fleshy=2},
},
groups = {combat=1},
})
minetest.register_tool("default:sword_stone", {
description = "Stone Sword",
@ -253,7 +252,6 @@ minetest.register_tool("default:sword_stone", {
},
damage_groups = {fleshy=4},
},
groups = {combat=1},
})
minetest.register_tool("default:sword_steel", {
description = "Steel Sword",
@ -266,7 +264,6 @@ minetest.register_tool("default:sword_steel", {
},
damage_groups = {fleshy=6},
},
groups = {combat=1},
})
minetest.register_tool("default:sword_gold", {
description = "Gold Sword",
@ -279,7 +276,6 @@ minetest.register_tool("default:sword_gold", {
},
damage_groups = {fleshy=4},
},
groups = {combat=1},
})
minetest.register_tool("default:sword_diamond", {
description = "Diamond Sword",
@ -292,7 +288,6 @@ minetest.register_tool("default:sword_diamond", {
},
damage_groups = {fleshy=7},
},
groups = {combat=1},
})
-- Fishing Pole

View File

@ -244,9 +244,9 @@ function doors:register_door(name, def)
if check_player_priv(pos, clicker) then
on_rightclick(pos, 1, name.."_t_2", name.."_b_1", name.."_t_1", {3,0,1,2})
if is_right(pos, clicker) then
minetest.sound_play("doors_door_open", {gain = 0.3, max_hear_distance = 10})
minetest.sound_play("doors_door_open", {pos = pos, gain = 0.3, max_hear_distance = 10})
else
minetest.sound_play("doors_door_close", {gain = 0.3, max_hear_distance = 10})
minetest.sound_play("doors_door_close", {pos = pos, gain = 0.3, max_hear_distance = 10})
end
end
end,

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -1,4 +1,4 @@
MultiCraft mod: dye
MultiCraft game mod: dye
======================
See license.txt for license information.
See init.lua for documentation.

View File

@ -20,7 +20,7 @@ farming.register_hoe(":farming:hoe_steel", {
material = "default:steel_ingot"
})
farming.register_hoe(":farming:gold_mese", {
farming.register_hoe(":farming:hoe_gold", {
description = "Gold Hoe",
inventory_image = "farming_tool_goldhoe.png",
max_uses = 350,
@ -32,5 +32,4 @@ farming.register_hoe(":farming:hoe_diamond", {
inventory_image = "farming_tool_diamondhoe.png",
max_uses = 1000,
material = "default:diamond"
})

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -6,3 +6,8 @@ Authors of source code
----------------------
Originally by Ironzorg (MIT) and VanessaE (MIT)
Various Minetest developers and contributors (MIT)
----------------------
3dmushrooms based on old version of VanessaE mod plantlife_modpack
https://gitlab.com/VanessaE/plantlife_modpack/tree/f11fa6e6fe12bde9c964c20e0e87906f8149485d/3dmushrooms
License for media and all other assets: WTFPL

View File

@ -1,4 +1,4 @@
-- MultiCraft mod: default
-- MultiCraft game mod: default
-- See README.txt for licensing and other information.
@ -173,10 +173,10 @@ minetest.register_abm({
minetest.register_node("flowers:mushroom_red", {
description = "Red Mushroom",
tiles = {"flowers_mushroom_red.png"},
inventory_image = "flowers_mushroom_red.png",
wield_image = "flowers_mushroom_red.png",
drawtype = "plantlike",
tiles = {"3dmushrooms_red.png"},
inventory_image = "3dmushrooms_red_inv.png",
drawtype = "mesh",
mesh = "3dmushrooms.obj",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
@ -186,16 +186,16 @@ minetest.register_node("flowers:mushroom_red", {
on_use = minetest.item_eat(-5),
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, -1 / 16, 4 / 16},
}
fixed = {-0.3, -0.5, -0.3, 0.3, 0, 0.3}
},
})
minetest.register_node("flowers:mushroom_brown", {
description = "Brown Mushroom",
tiles = {"flowers_mushroom_brown.png"},
inventory_image = "flowers_mushroom_brown.png",
wield_image = "flowers_mushroom_brown.png",
drawtype = "plantlike",
tiles = {"3dmushrooms_brown.png"},
inventory_image = "3dmushrooms_brown_inv.png",
drawtype = "mesh",
mesh = "3dmushrooms.obj",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
@ -205,8 +205,8 @@ minetest.register_node("flowers:mushroom_brown", {
on_use = minetest.item_eat(1),
selection_box = {
type = "fixed",
fixed = {-3 / 16, -0.5, -3 / 16, 3 / 16, -2 / 16, 3 / 16},
}
fixed = {-0.3, -0.5, -0.3, 0.3, 0, 0.3}
},
})

View File

@ -0,0 +1,329 @@
# Blender v2.73 (sub 0) OBJ File: 'plantlife_mushroom.blend'
# www.blender.org
o Cylinder
v 0.261489 -0.177877 -0.000000
v 0.165972 -0.203714 -0.000000
v 0.210761 -0.224729 -0.000000
v 0.258520 -0.211811 -0.000000
v 0.185335 -0.171215 -0.184553
v 0.116925 -0.199423 -0.118862
v 0.148161 -0.219252 -0.151707
v 0.182366 -0.205148 -0.184553
v 0.001484 -0.155130 -0.260997
v -0.001484 -0.189063 -0.168096
v -0.002969 -0.206030 -0.214547
v -0.001484 -0.189063 -0.260997
v -0.182366 -0.139045 -0.184553
v -0.119894 -0.178704 -0.118862
v -0.154099 -0.192808 -0.151707
v -0.185335 -0.172979 -0.184553
v -0.258520 -0.132382 -0.000000
v -0.168941 -0.174413 -0.000000
v -0.216699 -0.187331 -0.000000
v -0.261489 -0.166316 -0.000000
v -0.182366 -0.139045 0.184553
v -0.119894 -0.178704 0.118862
v -0.154099 -0.192808 0.151707
v -0.185335 -0.172979 0.184553
v 0.001484 -0.155130 0.260997
v -0.001484 -0.189063 0.168096
v -0.002969 -0.206030 0.214547
v -0.001484 -0.189063 0.260997
v 0.185335 -0.171215 0.184553
v 0.116925 -0.199423 0.118862
v 0.148161 -0.219252 0.151708
v 0.182366 -0.205148 0.184553
v 0.059333 -0.075538 0.000000
v 0.044915 -0.074277 -0.034942
v 0.010106 -0.071232 -0.049416
v -0.024704 -0.068186 -0.034942
v -0.039122 -0.066925 0.000000
v -0.024704 -0.068186 0.034942
v 0.010106 -0.071232 0.049416
v 0.044915 -0.074277 0.034942
v 0.004580 -0.119744 -0.206430
v 0.149993 -0.132466 -0.145968
v 0.004580 -0.119744 0.206430
v -0.140833 -0.107022 0.145968
v 0.210225 -0.137736 -0.000000
v 0.149993 -0.132466 0.145968
v -0.201064 -0.101752 -0.000000
v -0.140833 -0.107022 -0.145968
v 0.033054 -0.500000 -0.079800
v 0.025067 -0.177627 -0.060518
v 0.079800 -0.500000 -0.033054
v 0.060518 -0.177627 -0.025067
v 0.079800 -0.500000 0.033054
v 0.060518 -0.177627 0.025067
v 0.033054 -0.500000 0.079800
v 0.025067 -0.177627 0.060518
v -0.033054 -0.500000 0.079800
v -0.025067 -0.177627 0.060518
v -0.079800 -0.500000 0.033054
v -0.060518 -0.177627 0.025067
v -0.079800 -0.500000 -0.033054
v -0.060518 -0.177627 -0.025067
v -0.033054 -0.500000 -0.079800
v -0.025067 -0.177627 -0.060518
v 0.014323 -0.253674 -0.065067
v 0.012105 -0.382623 -0.072780
v 0.052438 -0.253674 -0.026952
v 0.054739 -0.382623 -0.030146
v 0.052438 -0.253674 0.026952
v 0.054739 -0.382623 0.030146
v 0.014323 -0.253674 0.065067
v 0.012105 -0.382623 0.072780
v -0.039580 -0.253674 0.065067
v -0.048187 -0.382623 0.072780
v -0.077695 -0.253674 0.026952
v -0.090820 -0.382623 0.030146
v -0.077695 -0.253674 -0.026952
v -0.090820 -0.382623 -0.030146
v -0.039580 -0.253674 -0.065067
v -0.048187 -0.382623 -0.072780
vt 0.261010 0.917920
vt 0.235559 0.983636
vt 0.016350 0.764426
vt 0.080814 0.737724
vt 0.545568 0.235207
vt 0.764778 0.454417
vt 0.690996 0.484978
vt 0.517617 0.311599
vt 0.235559 0.235207
vt 0.515845 0.302693
vt 0.261010 0.302693
vt 0.578125 0.234375
vt 0.765625 0.234375
vt 0.765625 0.312500
vt 0.578125 0.312500
vt 0.015625 0.234375
vt 0.203125 0.234375
vt 0.203125 0.312500
vt 0.015625 0.312500
vt 0.390625 0.312500
vt 0.578125 0.390625
vt 0.390625 0.390625
vt 0.016350 0.454417
vt 0.080814 0.482889
vt 0.545569 0.983636
vt 0.515845 0.917920
vt 0.099043 0.730173
vt 0.272422 0.903553
vt 0.290733 0.368408
vt 0.490395 0.368408
vt 0.149550 0.709253
vt 0.149550 0.509591
vt 0.764778 0.764426
vt 0.696041 0.737725
vt 0.696041 0.482889
vt 0.099043 0.484978
vt 0.203125 0.390625
vt 0.765625 0.390625
vt 0.272422 0.311599
vt 0.631577 0.509591
vt 0.390625 0.234375
vt 0.517617 0.903553
vt 0.690996 0.730173
vt 0.432320 0.675133
vt 0.473823 0.633629
vt 0.015625 0.390625
vt 0.490395 0.850435
vt 0.290733 0.850435
vt 0.631577 0.709253
vt 0.373624 0.533431
vt 0.332121 0.574934
vt 0.473823 0.574934
vt 0.432320 0.533431
vt 0.332121 0.633630
vt 0.373624 0.675133
vt 0.935126 0.767633
vt 0.998032 0.830539
vt 0.998032 0.919502
vt 0.935126 0.982408
vt 0.846164 0.982408
vt 0.783257 0.919502
vt 0.783258 0.830539
vt 0.846164 0.767633
vt 0.375000 0.187500
vt 0.375000 0.031250
vt 0.500000 0.031250
vt 0.500000 0.187500
vt 0.625000 0.031250
vt 0.625000 0.187500
vt 0.750000 0.031250
vt 0.750000 0.187500
vt 0.875000 0.031250
vt 0.875000 0.187500
vt 1.000000 0.031250
vt 1.000000 0.187500
vt 0.000000 0.031250
vt 0.125000 0.031250
vt 0.125000 0.187500
vt 0.000000 0.187500
vt 0.250000 0.031250
vt 0.250000 0.187500
vt 0.542224 0.015885
vt 0.601585 0.075246
vt 0.601585 0.159195
vt 0.542224 0.218556
vt 0.458275 0.218556
vt 0.398914 0.159195
vt 0.398914 0.075246
vt 0.458275 0.015885
vt 0.625000 0.125000
vt 0.500000 0.125000
vt 0.750000 0.125000
vt 0.875000 0.125000
vt 1.000000 0.125000
vt 0.125000 0.125000
vt 0.000000 0.125000
vt 0.250000 0.125000
vt 0.375000 0.125000
vn -0.147000 -0.987300 0.060400
vn -0.648700 -0.460200 0.606100
vn -0.898800 -0.438400 0.000000
vn -0.172000 -0.985100 0.000000
vn 0.672500 0.376500 0.637100
vn 0.935400 0.353500 0.000000
vn 0.529200 0.848500 0.000000
vn 0.396700 0.860200 0.320400
vn -0.044900 -0.513100 -0.857100
vn 0.558900 -0.565900 -0.606100
vn -0.026600 -0.997800 -0.060400
vn -0.086800 -0.992500 -0.085500
vn -0.044900 -0.513100 0.857100
vn 0.037800 0.432000 0.901100
vn -0.596900 0.487600 0.637100
vn -0.648700 -0.460200 -0.606100
vn -0.596900 0.487600 -0.637100
vn 0.037800 0.432000 -0.901100
vn 0.809000 -0.587800 0.000000
vn 0.672500 0.376500 -0.637100
vn -0.147000 -0.987300 -0.060400
vn -0.086800 -0.992500 0.085500
vn -0.859800 0.510500 0.000000
vn -0.372100 0.928200 0.000000
vn -0.240600 0.916500 -0.319400
vn -0.085100 -0.972600 0.216400
vn -0.237500 -0.959200 0.153000
vn 0.130500 -0.991400 0.000000
vn 0.067400 -0.985900 0.153000
vn 0.558900 -0.565900 0.606100
vn -0.026600 -0.997800 0.060400
vn -0.001700 -1.000000 0.000000
vn -0.240600 0.916500 0.319400
vn 0.077500 0.888400 0.452400
vn -0.300700 -0.953700 0.000000
vn 0.077500 0.888400 -0.452400
vn 0.396700 0.860200 -0.320400
vn 0.086200 0.978700 -0.186300
vn 0.217800 0.967000 -0.132200
vn -0.085100 -0.972600 -0.216400
vn 0.067400 -0.985900 -0.153000
vn -0.237500 -0.959200 -0.153000
vn 0.086200 0.978700 0.186300
vn -0.044600 0.990300 0.131300
vn 0.272600 0.962100 0.000000
vn 0.217800 0.967000 0.132200
vn -0.098600 0.995100 0.000000
vn -0.044600 0.990300 -0.131300
vn -0.273500 -0.626100 -0.730200
vn -0.402500 0.040600 -0.914500
vn 0.360300 0.084000 -0.929000
vn 0.335600 -0.581700 -0.740900
vn 0.369900 0.027700 -0.928600
vn 0.921100 -0.031200 -0.388000
vn 0.913800 0.116800 -0.388800
vn 0.921100 -0.031200 0.388000
vn 0.913800 0.116800 0.388800
vn 0.369900 0.027700 0.928600
vn 0.360300 0.084000 0.929000
vn -0.391600 0.105700 0.914000
vn -0.402500 0.040600 0.914500
vn -0.914200 0.156600 0.373800
vn -0.927200 0.012400 0.374500
vn -0.914200 0.156600 -0.373800
vn -0.927200 0.012400 -0.374500
vn -0.391600 0.105700 -0.914000
vn 0.774400 -0.552100 -0.309000
vn 0.774400 -0.552100 0.309000
vn 0.335600 -0.581700 0.740900
vn -0.273500 -0.626100 0.730200
vn -0.690800 -0.658600 0.298100
vn -0.690800 -0.658600 -0.298100
vn 0.416700 -0.004500 -0.909100
vn 0.925800 -0.089300 -0.367400
vn 0.925800 -0.089300 0.367400
vn 0.416700 -0.004500 0.909100
vn -0.344300 0.121400 0.931000
vn -0.896600 0.212200 0.388700
vn -0.896600 0.212200 -0.388700
vn -0.344300 0.121400 -0.931000
s 1
f 23/1/1 24/2/2 20/3/3 19/4/4
f 29/5/5 1/6/6 45/7/7 46/8/8
f 12/9/9 8/5/10 7/10/11 11/11/12
f 24/12/2 28/13/13 25/14/14 21/15/15
f 12/16/9 16/17/16 13/18/17 9/19/18
f 4/20/19 8/15/10 5/21/20 1/22/6
f 16/23/16 12/9/9 11/11/12 15/24/21
f 28/25/13 24/2/2 23/1/1 27/26/22
f 13/2/17 17/3/23 47/27/24 48/28/25
f 10/29/26 11/11/12 7/10/11 6/30/27
f 18/31/28 19/4/4 15/24/21 14/32/29
f 4/6/19 32/33/30 31/34/31 3/35/32
f 17/3/23 21/23/15 44/36/33 47/27/24
f 32/18/30 4/20/19 1/22/6 29/37/5
f 8/5/10 4/6/19 3/35/32 7/10/11
f 8/15/10 12/14/9 9/38/18 5/21/20
f 25/9/14 29/5/5 46/8/8 43/39/34
f 6/30/27 7/10/11 3/35/32 2/40/35
f 16/17/16 20/41/3 17/20/23 13/18/17
f 31/34/31 32/33/30 28/25/13 27/26/22
f 5/33/20 9/25/18 41/42/36 42/43/37
f 41/42/36 35/44/38 34/45/39 42/43/37
f 15/24/21 11/11/12 10/29/26 14/32/29
f 20/41/3 24/12/2 21/15/15 17/20/23
f 1/6/6 5/33/20 42/43/37 45/7/7
f 19/4/4 20/3/3 16/23/16 15/24/21
f 28/19/13 32/18/30 29/37/5 25/46/14
f 26/47/40 27/26/22 23/1/1 22/48/41
f 21/23/15 25/9/14 43/39/34 44/36/33
f 9/25/18 13/2/17 48/28/25 41/42/36
f 23/1/1 19/4/4 18/31/28 22/48/41
f 2/40/35 3/35/32 31/34/31 30/49/42
f 43/39/34 39/50/43 38/51/44 44/36/33
f 45/7/7 33/52/45 40/53/46 46/8/8
f 42/43/37 34/45/39 33/52/45 45/7/7
f 46/8/8 40/53/46 39/50/43 43/39/34
f 44/36/33 38/51/44 37/54/47 47/27/24
f 47/27/24 37/54/47 36/55/48 48/28/25
f 48/28/25 36/55/48 35/44/38 41/42/36
f 35/44/38 36/55/48 37/54/47 38/51/44 39/50/43 40/53/46 33/52/45 34/45/39
f 6/56/27 2/57/35 30/58/42 26/59/40 22/60/41 18/61/28 14/62/29 10/63/26
f 63/64/49 80/65/50 66/66/51 49/67/52
f 65/66/53 67/68/54 68/69/55 66/67/51
f 67/68/54 69/70/56 70/71/57 68/69/55
f 69/70/56 71/72/58 72/73/59 70/71/57
f 71/72/58 73/74/60 74/75/61 72/73/59
f 73/76/60 75/77/62 76/78/63 74/79/61
f 75/77/62 77/80/64 78/81/65 76/78/63
f 77/80/64 79/65/66 80/64/50 78/81/65
f 49/82/52 51/83/67 53/84/68 55/85/69 57/86/70 59/87/71 61/88/72 63/89/49
f 50/66/73 52/68/74 67/90/54 65/91/53
f 52/68/74 54/70/75 69/92/56 67/90/54
f 66/66/51 68/68/55 51/69/67 49/67/52
f 54/70/75 56/72/76 71/93/58 69/92/56
f 68/68/55 70/70/57 53/71/68 51/69/67
f 56/72/76 58/74/77 73/94/60 71/93/58
f 70/70/57 72/72/59 55/73/69 53/71/68
f 58/76/77 60/77/78 75/95/62 73/96/60
f 72/72/59 74/74/61 57/75/70 55/73/69
f 60/77/78 62/80/79 77/97/64 75/95/62
f 74/76/61 76/77/63 59/78/71 57/79/70
f 62/80/79 64/65/80 79/98/66 77/97/64
f 76/77/63 78/80/65 61/81/72 59/78/71
f 31/34/31 27/26/22 26/47/40 30/49/42
f 78/80/65 80/65/50 63/64/49 61/81/72
f 79/98/66 64/65/80 50/66/73 65/91/53
f 79/65/66 65/66/53 66/67/51 80/64/50

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 166 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 197 B

View File

@ -1,4 +1,5 @@
local clay = {}
clay.dyes = {
{"white", "White", "white"},
{"grey", "Grey", "dark_grey"},
@ -55,4 +56,3 @@ for _, row in ipairs(clay.dyes) do
})
end
end

View File

@ -1,4 +1,4 @@
Minetest mod "Better HUD"
MultiCraft game mod: Better HUD
=========================
Version: 2.1.5

View File

@ -1,4 +1,4 @@
Minetest mod "Hunger"
MultiCraft game mod: Hunger
=====================
Version: 1.1.3

View File

@ -39,14 +39,15 @@ sfinv.override_page("sfinv:inventory", {
title = "Inventory",
get = function(self, player, context)
local form = [[
background[-0.19,-0.25;9.41,9.49;formspec_inventory.png]
background[-0.2,-0.26;9.41,9.49;formspec_inventory.png]
background[-0.2,-0.26;9.41,9.49;formspec_inventory_inventory.png]
image_button_exit[8.4,-0.1;0.75,0.75;close.png;exit;;true;true;]
listcolors[#9990;#FFF7;#FFF0;#160816;#D4D2FF]
list[current_player;craft;4,1;2,1;1]
list[current_player;craft;4,2;2,1;4]
list[current_player;craftpreview;7.05,1.54;1,1;]
list[detached:split;main;7.99,3.15;1,1;]
list[current_player;craftpreview;7.05,1.53;1,1;]
list[detached:split;main;8,3.14;1,1;]
image[1.5,0;2,4;default_player2d.png]
image_button_exit[8.4,-0.1;0.75,0.75;close.png;exit;;true;true]
]]
if show_armor then
local player_name = player:get_player_name()

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -22,6 +22,7 @@ mobs:register_mob("mobs_animal:bunny", {
walk_velocity = 1,
run_velocity = 2,
runaway = true,
runaway_from = {"mobs_animal:pumba", "player"},
jump = true,
jump_height = 6,
drops = {

View File

@ -25,11 +25,11 @@ mobs:register_mob("mobs_animal:cow", {
jump_height = 6,
pushable = true,
drops = {
{name = "mobs:meat_raw", chance = 1, min = 1, max = 1},
{name = "mobs:meat_raw", chance = 2, min = 1, max = 1},
{name = "mobs:meat_raw", chance = 2, min = 1, max = 1},
{name = "mobs:leather", chance = 2, min = 1, max = 1},
{name = "mobs:leather", chance = 2, min = 1, max = 1}
{name = "mobs:meat_raw", chance = 1},
{name = "mobs:meat_raw", chance = 2},
{name = "mobs:meat_raw", chance = 2},
{name = "mobs:leather", chance = 2},
{name = "mobs:leather", chance = 2}
},
water_damage = 0,
lava_damage = 5,

View File

@ -19,9 +19,10 @@ local all_colours = {
-- Sheep by PilzAdam
for _, col in pairs(all_colours) do
for _, col in ipairs(all_colours) do
mobs:register_mob("mobs_animal:sheep_"..col[1], {
stay_near = {"farming:straw", 10},
stepheight = 0.6,
type = "animal",
passive = true,

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1003 B

After

Width:  |  Height:  |  Size: 1001 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -69,7 +69,7 @@ mobs:spawn({
max_height = 31000,
})
mobs:register_egg("mobs_monster:spider", "Spider", "mobs_cobweb.png", 1)
mobs:register_egg("mobs_monster:spider", "Spider", "mobs_chicken_egg.png^mobs_cobweb.png", 1)
mobs:alias_mob("mobs:spider", "mobs_monster:spider") -- compatibility

View File

@ -5,7 +5,7 @@ local use_cmi = minetest.global_exists("cmi")
mobs = {
mod = "redo",
version = "20190402",
version = "20190513",
invis = minetest.global_exists("invisibility") and invisibility or {},
}
@ -104,6 +104,7 @@ local mob_class = {
jump = true,
knock_back = true,
walk_chance = 50,
stand_chance = 30,
attack_chance = 5,
passive = false,
blood_amount = 5,
@ -275,15 +276,15 @@ end
-- set defined animation
function mob_class:set_animation(anim)
function mob_class:set_animation(anim, force)
if not self.animation
or not anim then return end
self.animation.current = self.animation.current or ""
-- only set different animation for attacks when setting to same set
if anim ~= "punch" and anim ~= "shoot"
-- only set different animation for attacks when using same set
if force ~= true and anim ~= "punch" and anim ~= "shoot"
and string.find(self.animation.current, anim) then
return
end
@ -327,7 +328,7 @@ end
-- check line of sight (BrunoMine)
function mob_class:line_of_sight(pos1, pos2, stepsize)
local line_of_sight = function(self, pos1, pos2, stepsize)
stepsize = stepsize or 1
@ -398,7 +399,7 @@ end
-- check line of sight (by BrunoMine, tweaked by Astrobe)
function mob_class:NEW_line_of_sight(pos1, pos2, stepsize)
local new_line_of_sight = function(self, pos1, pos2, stepsize)
if not pos1 or not pos2 then return end
@ -444,12 +445,49 @@ function mob_class:NEW_line_of_sight(pos1, pos2, stepsize)
return false
end
-- check line of sight using raycasting (thanks Astrobe)
local ray_line_of_sight = function(self, pos1, pos2)
local ray = minetest.raycast(pos1, pos2, true, false)
local thing = ray:next()
while thing do
if thing.type == "object"
and thing.ref ~= self.object
and not thing.ref:is_player() then return false end
if thing.type == "node" then
local name = minetest.get_node(thing.under).name
if minetest.registered_items[name].walkable then return false end
end
thing = ray:next()
end
return true
end
-- detect if using minetest 5.0 by searching for permafrost node
local is_50 = minetest.registered_nodes["default:permafrost"]
function mob_class:line_of_sight(pos1, pos2, stepsize)
if is_50 then -- only use if minetest 5.0 is detected
return ray_line_of_sight(self, pos1, pos2)
end
return line_of_sight(self, pos1, pos2, stepsize)
end
-- global function
function mobs:line_of_sight(entity, pos1, pos2, stepsize)
return mob_class.line_of_sight(entity, pos1, pos2, stepsize)
return entity:line_of_sight(pos1, pos2, stepsize)
end
function mob_class:attempt_flight_correction()
if self:flight_check() then return true end
@ -464,8 +502,8 @@ function mob_class:attempt_flight_correction()
end
local flyable_nodes = minetest.find_nodes_in_area(
{x = pos.x - r, y = pos.y - r, z = pos.z - r},
{x = pos.x + r, y = pos.y + r, z = pos.z + r},
{x = pos.x - 1, y = pos.y - 1, z = pos.z - 1},
{x = pos.x + 1, y = pos.y + 1, z = pos.z + 1},
searchnodes)
if #flyable_nodes < 1 then
@ -481,6 +519,7 @@ function mob_class:attempt_flight_correction()
return true
end
-- are we flying in what we are suppose to? (taikedz)
function mob_class:flight_check()
@ -1573,7 +1612,7 @@ function mob_class:smart_mobs(s, p, dist, dtime)
self.path.stuck_timer = stuck_timeout - 2
-- frustration! cant find the damn path :(
self:mob_sound(self.sounds.random)
--self:mob_sound(self.sounds.random)
else
-- yay i found path
self:mob_sound(self.sounds.war_cry)
@ -2068,11 +2107,11 @@ function mob_class:do_states(dtime)
if self.facing_fence == true
or temp_is_cliff
or random(1, 100) <= 30 then
or random(1, 100) <= self.stand_chance then
self:set_velocity(0)
self.state = "stand"
self:set_animation("stand")
self:set_animation("stand", true)
else
self:set_velocity(self.walk_velocity)
@ -2231,7 +2270,7 @@ function mob_class:do_states(dtime)
minetest.sound_play(self.sounds.explode, {
pos = pos,
gain = 1.0,
max_hear_distance = self.sounds.distance or 16
max_hear_distance = self.sounds.distance or 32
})
entity_physics(pos, entity_damage_radius)
@ -3272,11 +3311,12 @@ minetest.register_entity(name, setmetatable({
follow = def.follow,
jump = def.jump,
walk_chance = def.walk_chance,
stand_chance = def.stand_chance,
attack_chance = def.attack_chance,
passive = def.passive,
knock_back = def.knock_back,
blood_amount = def.blood_amount or 5,
blood_texture = def.blood_texture or "mobs_blood.png",
blood_amount = def.blood_amount,
blood_texture = def.blood_texture,
shoot_offset = def.shoot_offset,
floats = def.floats,
replace_rate = def.replace_rate,
@ -3728,14 +3768,14 @@ function mobs:register_egg(mob, desc, background, addegg, no_creative)
local invimg = background
if addegg == 1 then
invimg = "mobs_chicken_egg.png^(" .. invimg ..
"^[mask:mobs_chicken_egg_overlay.png)"
invimg = "(" .. invimg ..
"^[mask:mobs_egg_overlay.png)"
end
-- register new spawn egg containing mob information
minetest.register_craftitem(mob .. "_set", {
description = "@1 (Tamed)", desc,
description = desc.." (Tamed)",
inventory_image = invimg,
groups = {spawn_egg = 2, not_in_creative_inventory = 1},
stack_max = 1,
@ -3905,7 +3945,7 @@ function mobs:capture_mob(self, clicker, chance_hand, chance_net, chance_lasso,
if self.owner ~= name
and force_take == false then
minetest.chat_send_player(name, "@1 is owner!", self.owner)
minetest.chat_send_player(name, self.owner.." is owner!")
return false
end
@ -4063,8 +4103,8 @@ function mobs:feed_tame(self, clicker, feed_count, breed, tame)
if self.htimer < 1 then
minetest.chat_send_player(clicker:get_player_name(),
"@1 at full health (@2)",
self.name:split(":")[2], tostring(self.health))
self.name:split(":")[2]
.. " at full health (" .. tostring(self.health) .. ")")
self.htimer = 5
end
@ -4097,8 +4137,8 @@ function mobs:feed_tame(self, clicker, feed_count, breed, tame)
if self.tamed == false then
minetest.chat_send_player(clicker:get_player_name(),
"@1 has been tamed!",
self.name:split(":")[2])
self.name:split(":")[2]
.. " has been tamed!")
end
self.tamed = true
@ -4132,7 +4172,7 @@ function mobs:feed_tame(self, clicker, feed_count, breed, tame)
minetest.show_formspec(name, "mobs_nametag", "size[8,4]"
.. "field[0.5,1;7.5,0;name;"
.. minetest.formspec_escape("Enter name:") .. ";" .. tag .. "]"
.. "button_exit[2.5,3.5;3,1;mob_rename;"
.. "button_exit[2.5,3.5;3,1;mob_rename;"
.. minetest.formspec_escape("Rename") .. "]")
end

Binary file not shown.

Before

Width:  |  Height:  |  Size: 120 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 B

View File

@ -1,4 +1,4 @@
-- MultiCraft mod: player
-- MultiCraft game mod: player
-- See README.txt for licensing and other information.
player_api = {}

View File

@ -1,7 +1,9 @@
PlayerPlus mod for minetest
MultiCraft game mod: PlayerPlus
Removed POVA, monoids support, knock-back, glitch.
This mod lets the player move faster when walking on ice, slows down the player
when walking on snow or in water, and makes touching a cactus hurt... enjoy!
when walking on snow, makes touching a cactus hurt and suffocates player when
their head is inside a solid node... enjoy!
https://forum.minetest.net/viewtopic.php?t=10090&p=153667
@ -12,7 +14,12 @@ https://forum.minetest.net/viewtopic.php?t=10090&p=153667
- 0.5 - Slow down when walking in water
- 0.6 - Code tidy and tweak, increased damage by cactus and suffocation
- 0.7 - Added global 'playerplus' table to hold node names gathered around player
- 0.8 - Player knock-back added
- 0.9 - 'on_walk_over' function support added for nodes
- 1.0 - Update to newer functions, requires Minetest 0.4.16 and above to run
- 1.1 - Added support for player_monoids mod (thanks tacotexmex)
- 1.2 - Added POVA support, tweaked code slightly
- 1.3 - Add setting under Advances to enable older sneak glitch movement
API:

View File

@ -2,7 +2,7 @@
walking on ice makes player walk faster,
stepping through snow or water slows player down,
touching a cactus hurts player,
and if head stuck inside a solid node suffocates player.
and suffocation when head is inside solid node,.
PlayerPlus by TenPlus1
]]
@ -25,7 +25,7 @@ end
local armor_mod = minetest.get_modpath("3d_armor")
local def = {}
--local def = {}
local time = 0
@ -82,18 +82,42 @@ minetest.register_globalstep(function(dtime)
end
-- are we standing on any nodes that speed player up?
--nfast = nil
nfast = nil
if playerplus[name].nod_stand == "default:ice" then
def.speed = def.speed + 0.4
nfast = true
end
-- are we standing on any nodes that slow player down?
--nslow = nil
nslow = nil
if playerplus[name].nod_stand == "default:snow"
or playerplus[name].nod_stand == "default:snowblock"
-- wading in water? if so walk slower
-- The probable cause of the bug when swimming under water on the server!
or minetest.registered_nodes[ playerplus[name].nod_feet ].groups.water then
nslow = true
end
-- apply speed changes
if nfast and not playerplus[name].nfast then
def.speed = def.speed + 0.4
playerplus[name].nfast = true
elseif not nfast and playerplus[name].nfast then
def.speed = def.speed - 0.4
playerplus[name].nfast = nil
end
-- apply slowdown changes
if nslow and not playerplus[name].nslow then
def.speed = def.speed - 0.3
playerplus[name].nslow = true
elseif not nslow and playerplus[name].nslow then
def.speed = def.speed + 0.3
playerplus[name].nslow = nil
end
-- set player physics

View File

@ -4,6 +4,7 @@ sfinv = {
contexts = {},
enabled = true,
gui_bg = "bgcolor[#08080880;true]",
listcolors = "listcolors[#9990;#FFF7;#FFF0;#160816;#D4D2FF]",
gui_bg_img = "",
gui_slots = "",
}

View File

@ -487,7 +487,8 @@ stairs.register_all("steelblock", "default:steelblock",
{cracky = 1, level = 2},
{"default_steel_block.png"},
"Steel",
stairs.stone)
stairs.metal)
minetest.register_alias("stairs:steel", "stairs:steelblock")
@ -498,6 +499,7 @@ stairs.register_all("goldblock", "default:goldblock",
stairs.metal)
minetest.register_alias("stairs:gold", "stairs:goldblock")
minetest.register_alias("stairs:corner_gold", "stairs:goldblock")
stairs.register_all("diamondblock", "default:diamondblock",
{cracky = 1, level=3},
@ -541,12 +543,6 @@ stairs.register_all("ice", "default:ice",
default.node_sound_glass_defaults())
stairs.register_all("glass", "default:glass",
{cracky = 3, oddly_breakable_by_hand = 3},
{"default_glass.png"},
"Glass",
stairs.glass)
local colours = {
{"black", "Black", "#000000b0"},
{"blue", "Blue", "#015dbb70"},

View File

@ -1,23 +1,16 @@
=== THROWING-MOD for multicraft-C55 ===
MultiCraft game mod: throwing
by PilzAdam
Inroduction:
This mod adds bows and arrows to minetest.
This mod adds bows and arrows to Minetest.
How to install:
Unzip the archive an place it in multicraft-base-directory/mods/multicraft/
if you have a windows client or a linux run-in-place client. If you have
a linux system-wide instalation place it in ~/.multicraft/mods/multicraft/.
If you want to install this mod only in one world create the folder
worldmods/ in your worlddirectory.
For further information or help see:
http://wiki.minetest.com/wiki/Installing_Mods
How to use the mod:
Craft a bow with the strings from the farming mod:
wood string
wood string
wood string
stick string
stick string
stick string
Craft arrows with:
flint
stick

View File

@ -1,7 +1,6 @@
minetest.register_craftitem("throwing:arrow", {
description = "Arrow",
inventory_image = "throwing_arrow_inv.png",
groups = {combat = 1},
})
minetest.register_node("throwing:arrow_box", {
@ -34,9 +33,8 @@ local THROWING_ARROW_ENTITY={
physical = false,
timer=0,
visual = "wielditem",
visual_size = {x=0.4, y=0.4},
--textures = {"throwing:arrow_box"},
textures = {"throwing_arrow_back.png"},
visual_size = {x=0.3, y=0.3},
textures = {"throwing:arrow_box"},
lastpos={},
collisionbox = {0,0,0,0,0,0},
}

View File

@ -1,15 +1,15 @@
dofile(minetest.get_modpath("throwing").."/arrow.lua")
arrows = {
{"throwing:arrow", "throwing:arrow_entity"},
}
local creative = minetest.settings:get_bool("creative_mode")
local throwing_shoot_arrow = function(itemstack, player)
for _,arrow in ipairs(arrows) do
if player:get_inventory():get_stack("main", player:get_wield_index()+1):get_name() == arrow[1] then
if not creative then
player:get_inventory():remove_item("main", arrow[1])
end
local playerpos = player:get_pos()
local obj = minetest.add_entity({x=playerpos.x,y=playerpos.y+1.5,z=playerpos.z}, arrow[2])
local dir = player:get_look_dir()
@ -31,7 +31,6 @@ minetest.register_tool("throwing:bow", {
description = "Bow",
inventory_image = "throwing_bow.png",
stack_max = 1,
groups = {combat = 1},
on_place = function(itemstack, placer, pointed_thing)
wear = itemstack:get_wear()
itemstack:replace("throwing:bow_0")
@ -42,7 +41,7 @@ minetest.register_tool("throwing:bow", {
wear = itemstack:get_wear()
itemstack:add_wear(wear)
if throwing_shoot_arrow(itemstack, user, pointed_thing) then
if not minetest.setting_getbool("creative_mode") then
if not creative then
itemstack:add_wear(65535/385)
end
end
@ -65,7 +64,7 @@ minetest.register_tool("throwing:bow_0", {
wear = itemstack:get_wear()
itemstack:add_wear(wear)
if throwing_shoot_arrow(itemstack, user, pointed_thing) then
if not minetest.setting_getbool("creative_mode") then
if not creative then
itemstack:add_wear(65535/385)
end
end
@ -88,7 +87,7 @@ minetest.register_tool("throwing:bow_1", {
wear = itemstack:get_wear()
itemstack:add_wear(wear)
if throwing_shoot_arrow(itemstack, user, pointed_thing) then
if not minetest.setting_getbool("creative_mode") then
if not creative then
itemstack:add_wear(65535/385)
end
end
@ -106,7 +105,7 @@ minetest.register_tool("throwing:bow_2", {
itemstack:replace("throwing:bow")
itemstack:add_wear(wear)
if throwing_shoot_arrow(itemstack, user, pointed_thing) then
if not minetest.setting_getbool("creative_mode") then
if not creative then
itemstack:add_wear(65535/385)
end
end
@ -123,3 +122,4 @@ minetest.register_craft({
}
})
dofile(minetest.get_modpath("throwing").."/arrow.lua")

View File

@ -1,359 +0,0 @@
xof 0303txt 0032
Frame Root {
FrameTransformMatrix {
1.000000, 0.000000, 0.000000, 0.000000,
0.000000,-0.000000, 1.000000, 0.000000,
0.000000, 1.000000, 0.000000, 0.000000,
0.000000, 0.000000, 0.000000, 1.000000;;
}
Frame Cube {
FrameTransformMatrix {
0.056399, 0.000000, 0.000000, 0.000000,
0.000000, 0.056399, 0.000000, 0.000000,
0.000000, 0.000000, 0.056399, 0.000000,
0.000000, 0.000000, 0.000000, 1.000000;;
}
Mesh { // Cube mesh
104;
-1.000000; 0.314103;-1.000000;,
-1.000000;-0.314103;-1.000000;,
-1.000000;-0.242418;-0.242418;,
-1.000000; 0.242418;-0.242418;,
-1.000000;-0.242418; 0.242418;,
-1.000000; 0.242418; 0.242418;,
-16.233685; 0.242418; 0.242418;,
-16.233686;-0.242418; 0.242418;,
-1.000000; 0.314103; 1.000000;,
-1.000000; 0.314103;-1.000000;,
-1.000000; 0.242418;-0.242418;,
-1.000000; 0.242418; 0.242418;,
-1.000000;-0.314103; 1.000000;,
-1.000000; 0.314103; 1.000000;,
-1.000000; 0.242418; 0.242418;,
-1.000000;-0.242418; 0.242418;,
-1.000000;-0.314103;-1.000000;,
-1.000000;-0.314103; 1.000000;,
-1.000000;-0.242418; 0.242418;,
-1.000000;-0.242418;-0.242418;,
-16.233685; 0.242418;-0.242418;,
-16.233685;-0.242418;-0.242418;,
-16.233685;-0.289522;-0.521628;,
-16.233685; 0.289522;-0.521628;,
-1.000000; 0.242418; 0.242418;,
-1.000000; 0.242418;-0.242418;,
-16.233685; 0.242418;-0.242418;,
-16.233685; 0.242418; 0.242418;,
-1.000000;-0.242418;-0.242418;,
-1.000000;-0.242418; 0.242418;,
-16.233686;-0.242418; 0.242418;,
-16.233685;-0.242418;-0.242418;,
-1.000000; 0.242418;-0.242418;,
-1.000000;-0.242418;-0.242418;,
-16.233685;-0.242418;-0.242418;,
-16.233685; 0.242418;-0.242418;,
-16.233686;-0.242418; 0.242418;,
-16.233685; 0.242418; 0.242418;,
-16.233685; 0.289522; 0.521628;,
-16.233688;-0.289522; 0.521628;,
-16.233685; 0.242418; 0.242418;,
-16.233685; 0.242418;-0.242418;,
-16.233685; 0.289522;-0.521628;,
-16.233685; 0.289522; 0.521628;,
-16.233685;-0.242418;-0.242418;,
-16.233686;-0.242418; 0.242418;,
-16.233688;-0.289522; 0.521628;,
-16.233685;-0.289522;-0.521628;,
-16.233685; 0.289522; 0.521628;,
-16.233685; 0.289522;-0.521628;,
-17.729048; 0.000000;-0.768652;,
-17.729050; 0.000000; 0.768652;,
-16.233685;-0.289522;-0.521628;,
-16.233688;-0.289522; 0.521628;,
-17.729050; 0.000000; 0.768652;,
-17.729048; 0.000000;-0.768652;,
-16.233688;-0.289522; 0.521628;,
-16.233685; 0.289522; 0.521628;,
-17.729050; 0.000000; 0.768652;,
-16.233685; 0.289522;-0.521628;,
-16.233685;-0.289522;-0.521628;,
-17.729048; 0.000000;-0.768652;,
-16.233685; 0.242418; 0.242418;,
-16.233685; 0.242418;-0.242418;,
-16.233685; 0.521628;-0.289522;,
-16.233685; 0.521628; 0.289522;,
-16.233686;-0.242418;-0.242418;,
-16.233685;-0.242418; 0.242418;,
-16.233685;-0.521628; 0.289522;,
-16.233688;-0.521628;-0.289522;,
-16.233685;-0.242418; 0.242418;,
-16.233685; 0.242418; 0.242418;,
-16.233685; 0.521628; 0.289522;,
-16.233685;-0.521628; 0.289522;,
-16.233685; 0.242418;-0.242418;,
-16.233686;-0.242418;-0.242418;,
-16.233688;-0.521628;-0.289522;,
-16.233685; 0.521628;-0.289522;,
-16.233685;-0.521628; 0.289522;,
-16.233685; 0.521628; 0.289522;,
-17.729048; 0.768652; 0.000000;,
-17.729050;-0.768652;-0.000000;,
-16.233685; 0.521628;-0.289522;,
-16.233688;-0.521628;-0.289522;,
-17.729050;-0.768652;-0.000000;,
-17.729048; 0.768652; 0.000000;,
-16.233688;-0.521628;-0.289522;,
-16.233685;-0.521628; 0.289522;,
-17.729050;-0.768652;-0.000000;,
-16.233685; 0.521628; 0.289522;,
-16.233685; 0.521628;-0.289522;,
-17.729048; 0.768652; 0.000000;,
1.000000;-0.000000; 0.000000;,
-1.000000;-0.314103;-1.000000;,
-1.000000; 0.314103;-1.000000;,
1.000000;-0.000000; 0.000000;,
-1.000000; 0.314103; 1.000000;,
-1.000000;-0.314103; 1.000000;,
1.000000;-0.000000; 0.000000;,
-1.000000;-0.314103; 1.000000;,
-1.000000;-0.314103;-1.000000;,
1.000000;-0.000000; 0.000000;,
-1.000000; 0.314103;-1.000000;,
-1.000000; 0.314103; 1.000000;;
28;
4;3,2,1,0;,
4;7,6,5,4;,
4;11,10,9,8;,
4;15,14,13,12;,
4;19,18,17,16;,
4;23,22,21,20;,
4;27,26,25,24;,
4;31,30,29,28;,
4;35,34,33,32;,
4;39,38,37,36;,
4;43,42,41,40;,
4;47,46,45,44;,
4;51,50,49,48;,
4;55,54,53,52;,
3;58,57,56;,
3;61,60,59;,
4;65,64,63,62;,
4;69,68,67,66;,
4;73,72,71,70;,
4;77,76,75,74;,
4;81,80,79,78;,
4;85,84,83,82;,
3;88,87,86;,
3;91,90,89;,
3;94,93,92;,
3;97,96,95;,
3;100,99,98;,
3;103,102,101;;
MeshNormals { // Cube normals
28;
-1.000000; 0.000001;-0.000000;,
-0.000000; 0.000000; 1.000000;,
-1.000000; 0.000002;-0.000000;,
-1.000000; 0.000000;-0.000000;,
-1.000000; 0.000002;-0.000000;,
1.000000; 0.000000;-0.000000;,
0.000000; 1.000000; 0.000000;,
0.000000;-1.000000; 0.000000;,
0.000000; 0.000000;-1.000000;,
1.000000;-0.000005; 0.000003;,
1.000000; 0.000000; 0.000000;,
1.000000;-0.000020; 0.000004;,
-0.190083; 0.981768;-0.000000;,
-0.190083;-0.981768;-0.000000;,
0.162984;-0.000001; 0.986629;,
0.162984; 0.000000;-0.986629;,
1.000000; 0.000000; 0.000000;,
1.000000;-0.000003;-0.000005;,
1.000000; 0.000000; 0.000000;,
1.000000;-0.000004;-0.000020;,
-0.190083; 0.000000; 0.981768;,
-0.190083; 0.000000;-0.981768;,
0.162984;-0.986629;-0.000001;,
0.162984; 0.986629; 0.000000;,
0.447214;-0.000000;-0.894427;,
0.447214;-0.000000; 0.894427;,
0.155150;-0.987891; 0.000000;,
0.155150; 0.987891; 0.000000;;
28;
4;0,0,0,0;,
4;1,1,1,1;,
4;2,2,2,2;,
4;3,3,3,3;,
4;4,4,4,4;,
4;5,5,5,5;,
4;6,6,6,6;,
4;7,7,7,7;,
4;8,8,8,8;,
4;9,9,9,9;,
4;10,10,10,10;,
4;11,11,11,11;,
4;12,12,12,12;,
4;13,13,13,13;,
3;14,14,14;,
3;15,15,15;,
4;16,16,16,16;,
4;17,17,17,17;,
4;18,18,18,18;,
4;19,19,19,19;,
4;20,20,20,20;,
4;21,21,21,21;,
3;22,22,22;,
3;23,23,23;,
3;24,24,24;,
3;25,25,25;,
3;26,26,26;,
3;27,27,27;;
} // End of Cube normals
MeshTextureCoords { // Cube UV coordinates
104;
0.369363; 0.189428;,
0.319790; 0.189428;,
0.325447; 0.129647;,
0.363706; 0.129647;,
1.000000; 0.531250;,
1.000000; 0.500000;,
0.000000; 0.500000;,
0.000000; 0.531250;,
0.369363; 0.031606;,
0.369363; 0.189428;,
0.363706; 0.129647;,
0.363706; 0.091387;,
0.319790; 0.031606;,
0.369363; 0.031606;,
0.363706; 0.091387;,
0.325447; 0.091387;,
0.319790; 0.189428;,
0.319790; 0.031606;,
0.325447; 0.091387;,
0.325447; 0.129647;,
0.129567; 0.130972;,
0.087434; 0.130972;,
0.083340; 0.155236;,
0.133660; 0.155236;,
1.000000; 0.531250;,
1.000000; 0.500000;,
0.000000; 0.500000;,
0.000000; 0.531250;,
1.000000; 0.500000;,
1.000000; 0.468750;,
0.000000; 0.468750;,
0.000000; 0.500000;,
1.000000; 0.500000;,
1.000000; 0.531250;,
0.000000; 0.531250;,
0.000000; 0.500000;,
0.087434; 0.088839;,
0.129567; 0.088839;,
0.133660; 0.064576;,
0.083340; 0.064576;,
0.129567; 0.088839;,
0.129567; 0.130972;,
0.133660; 0.155236;,
0.133660; 0.064576;,
0.087434; 0.130972;,
0.087434; 0.088839;,
0.083340; 0.064576;,
0.083340; 0.155236;,
0.133660; 0.064576;,
0.133660; 0.155236;,
0.108500; 0.176703;,
0.108500; 0.043109;,
0.083340; 0.155236;,
0.083340; 0.064576;,
0.108500; 0.043109;,
0.108500; 0.176703;,
0.083340; 0.064576;,
0.133660; 0.064576;,
0.108500; 0.043109;,
0.133660; 0.155236;,
0.083340; 0.155236;,
0.108500; 0.176703;,
0.129567; 0.088839;,
0.129567; 0.130972;,
0.153830; 0.135065;,
0.153830; 0.084746;,
0.087434; 0.130972;,
0.087434; 0.088839;,
0.063170; 0.084746;,
0.063170; 0.135065;,
0.087434; 0.088839;,
0.129567; 0.088839;,
0.153830; 0.084746;,
0.063170; 0.084746;,
0.129567; 0.130972;,
0.087434; 0.130972;,
0.063170; 0.135065;,
0.153830; 0.135065;,
0.063170; 0.084746;,
0.153830; 0.084746;,
0.175297; 0.109906;,
0.041704; 0.109906;,
0.153830; 0.135065;,
0.063170; 0.135065;,
0.041704; 0.109906;,
0.175297; 0.109906;,
0.063170; 0.135065;,
0.063170; 0.084746;,
0.041704; 0.109906;,
0.153830; 0.084746;,
0.153830; 0.135065;,
0.175297; 0.109906;,
0.490842; 0.110144;,
0.317628; 0.180029;,
0.317709; 0.182778;,
0.490842; 0.110144;,
0.316335; 0.034761;,
0.314880; 0.036135;,
0.495482; 0.109968;,
0.312500; 0.031250;,
0.312500; 0.187500;,
0.495482; 0.109968;,
0.312500; 0.187500;,
0.312500; 0.031250;;
} // End of Cube UV coordinates
MeshMaterialList { // Cube material list
1;
28;
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0;;
Material Material {
0.640000; 0.640000; 0.640000; 1.000000;;
96.078431;
0.500000; 0.500000; 0.500000;;
0.000000; 0.000000; 0.000000;;
}
} // End of Cube material list
} // End of Cube mesh
} // End of Cube
} // End of Root

Binary file not shown.

Before

Width:  |  Height:  |  Size: 110 B

View File

@ -1,4 +1,4 @@
MultiCraft mod: wool
MultiCraft game mod: wool
=======================
See license.txt for license information.
Authors of source code

View File

@ -124,7 +124,7 @@ local formspecs = {
image[0,1.52;1,1;workbench_anvil.png]
list[context;tool;1.195,1.505;1,1;]
image[4.04,1.55;1,1;hammer_layout.png]
list[context;hammer;4.065,1.505;1,1;] ]],
list[context;hammer;4.06,1.50;1,1;] ]],
}
local split_inv = minetest.create_detached_inventory("split", {
@ -170,10 +170,10 @@ end
function workbench:set_formspec(meta, id)
meta:set_string("formspec", "size[9,8.75;]"..
"bgcolor[#08080880;true]" ..
"background[-0.2,-0.26;9.41,9.49;formspec_workbench.png]" ..
"background[-0.2,-0.26;9.41,9.49;formspec_inventory.png]" ..
sfinv.gui_bg..
sfinv.listcolors..
"image_button_exit[8.4,-0.1;0.75,0.75;close.png;exit;;true;true;]" ..
"listcolors[#9990;#FFF7;#FFF0;#160816;#D4D2FF]" ..
"list[detached:split;main;8,3.14;1,1;]"..
"list[current_player;main;0.01,4.51;9,3;9]"..
"list[current_player;main;0.01,7.75;9,1;]"..

Binary file not shown.

Before

Width:  |  Height:  |  Size: 258 B

After

Width:  |  Height:  |  Size: 256 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 259 B

After

Width:  |  Height:  |  Size: 258 B