Regnum 3.5.0 upload

Game-5.4.x
Der1248 2020-05-06 23:03:05 +02:00
parent 11b035cf82
commit 5cf82131a9
220 changed files with 6966 additions and 3731 deletions

Binary file not shown.

View File

@ -7,7 +7,7 @@ minetest.register_tool("3d_armor:helmet_admin", {
wield_image = "3d_armor_inv_helmet_admin.png",
groups = {armor_head=20, armor_heal=20, armor_use=0, armor_fire=1, armor_water=0.2},
wear = 0,
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:helmet_admin2")
@ -22,7 +22,7 @@ minetest.register_tool("3d_armor:helmet_admin2", {
wield_image = "3d_armor_inv_helmet_admin.png",
groups = {armor_head=20, armor_heal=20, armor_use=0, armor_fire=1, physics_speed=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:helmet_admin3")
@ -37,7 +37,7 @@ minetest.register_tool("3d_armor:helmet_admin3", {
wield_image = "3d_armor_inv_helmet_admin.png",
groups = {armor_head=20, armor_heal=20, armor_use=0, armor_fire=1, physics_jump=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:helmet_admin4")
@ -52,7 +52,7 @@ minetest.register_tool("3d_armor:helmet_admin4", {
wield_image = "3d_armor_inv_helmet_admin.png",
groups = {armor_head=20, armor_heal=20, armor_use=0, armor_fire=1, physics_jump=0.25, physics_speed=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:helmet_admin")
@ -67,7 +67,7 @@ minetest.register_tool("3d_armor:chestplate_admin", {
wield_image = "3d_armor_inv_chestplate_admin.png",
groups = {armor_torso=20, armor_heal=20, armor_use=0, armor_fire=1, armor_water=0.2},
wear = 0,
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:chestplate_admin2")
@ -82,7 +82,7 @@ minetest.register_tool("3d_armor:chestplate_admin2", {
wield_image = "3d_armor_inv_chestplate_admin.png",
groups = {armor_torso=20, armor_heal=20, armor_use=0, armor_fire=1, physics_speed=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:chestplate_admin3")
@ -96,7 +96,7 @@ minetest.register_tool("3d_armor:chestplate_admin3", {
wield_image = "3d_armor_inv_chestplate_admin.png",
groups = {armor_torso=20, armor_heal=20, armor_use=0, armor_fire=1, physics_jump=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:chestplate_admin4")
@ -110,7 +110,7 @@ minetest.register_tool("3d_armor:chestplate_admin4", {
wield_image = "3d_armor_inv_chestplate_admin.png",
groups = {armor_torso=20, armor_heal=20, armor_use=0, armor_fire=1, physics_jump=0.25, physics_speed=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:chestplate_admin")
@ -124,7 +124,7 @@ minetest.register_tool("3d_armor:leggings_admin", {
inventory_image = "3d_armor_inv_leggings_admin.png^technic_tool_mode1.png",
groups = {armor_legs=20, armor_heal=20, armor_use=0, armor_fire=1, armor_water=0.2},
wear = 0,
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:leggings_admin2")
@ -139,7 +139,7 @@ minetest.register_tool("3d_armor:leggings_admin2", {
inventory_image = "3d_armor_inv_leggings_admin.png^technic_tool_mode2.png",
groups = {armor_legs=20, armor_heal=20, armor_use=0, armor_fire=1, physics_speed=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:leggings_admin3")
@ -154,7 +154,7 @@ minetest.register_tool("3d_armor:leggings_admin3", {
inventory_image = "3d_armor_inv_leggings_admin.png^technic_tool_mode3.png",
groups = {armor_legs=20, armor_heal=20, armor_use=0, armor_fire=1, physics_jump=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:leggings_admin4")
@ -169,7 +169,7 @@ minetest.register_tool("3d_armor:leggings_admin4", {
wield_image = "3d_armor_inv_leggings_admin.png",
groups = {armor_legs=20, armor_heal=20, armor_use=0, armor_fire=1, physics_jump=0.25, physics_speed=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:leggings_admin")
@ -186,7 +186,7 @@ minetest.register_tool("3d_armor:boots_admin", {
wield_image = "3d_armor_inv_boots_admin.png",
groups = {armor_feet=20, armor_heal=20, armor_use=0, armor_fire=1, armor_water=0.2},
wear = 0,
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:boots_admin2")
@ -201,7 +201,7 @@ minetest.register_tool("3d_armor:boots_admin2", {
wield_image = "3d_armor_inv_boots_admin.png",
groups = {armor_feet=20, armor_heal=20, armor_use=0, armor_fire=1, physics_speed=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:boots_admin3")
@ -216,7 +216,7 @@ minetest.register_tool("3d_armor:boots_admin3", {
wield_image = "3d_armor_inv_boots_admin.png",
groups = {armor_feet=20, armor_heal=20, armor_use=0, armor_fire=1, physics_jump=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:boots_admin4")
@ -231,7 +231,7 @@ minetest.register_tool("3d_armor:boots_admin4", {
wield_image = "3d_armor_inv_boots_admin.png",
groups = {armor_feet=20, armor_heal=20, armor_use=0, armor_fire=1, physics_jump=0.25, physics_speed=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:boots_admin")

View File

@ -342,7 +342,7 @@ minetest.register_tool("3d_armor:superlegendenboots", {
groups = {armor_feet=12.2, armor_heal=12, armor_use=0,armor_fire=0.61, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
wield_image = "3d_armor_inv_superlegendenboots.png",
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:superlegendenboots2")
@ -356,7 +356,7 @@ minetest.register_tool("3d_armor:superlegendenboots2", {
groups = {armor_feet=12.2, armor_heal=12, armor_use=0,armor_fire=0.61, physics_speed=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
wield_image = "3d_armor_inv_superlegendenboots.png",
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:superlegendenboots3")
@ -370,7 +370,7 @@ minetest.register_tool("3d_armor:superlegendenboots3", {
groups = {armor_feet=12.2, armor_heal=12, armor_use=0,armor_fire=0.61, physics_jump=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
wield_image = "3d_armor_inv_superlegendenboots.png",
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:superlegendenboots4")
@ -384,7 +384,7 @@ minetest.register_tool("3d_armor:superlegendenboots4", {
groups = {armor_feet=12.2, armor_heal=12, armor_use=0,armor_fire=0.61, physics_jump=0.25, physics_speed=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
wield_image = "3d_armor_inv_superlegendenboots.png",
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:superlegendenboots")
@ -399,7 +399,7 @@ minetest.register_tool("3d_armor:superlegendenchestplate", {
groups = {armor_torso=12.2, armor_heal=12, armor_use=0, armor_fire=0.61, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
wield_image = "3d_armor_inv_superlegendenchestplate.png",
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:superlegendenchestplate2")
@ -413,7 +413,7 @@ minetest.register_tool("3d_armor:superlegendenchestplate2", {
groups = {armor_torso=12.2, armor_heal=12, armor_use=0, armor_fire=0.61, physics_speed=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
wield_image = "3d_armor_inv_superlegendenchestplate.png",
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:superlegendenchestplate3")
@ -427,7 +427,7 @@ minetest.register_tool("3d_armor:superlegendenchestplate3", {
groups = {armor_torso=12.2, armor_heal=12, armor_use=0, armor_fire=0.61, physics_jump=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
wield_image = "3d_armor_inv_superlegendenchestplate.png",
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:superlegendenchestplate4")
@ -441,7 +441,7 @@ minetest.register_tool("3d_armor:superlegendenchestplate4", {
groups = {armor_torso=12.2, armor_heal=12, armor_use=0, armor_fire=0.61, physics_jump=0.25, physics_speed=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
wield_image = "3d_armor_inv_superlegendenchestplate.png",
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:superlegendenchestplate")
@ -456,7 +456,7 @@ minetest.register_tool("3d_armor:superlegendenhelmet", {
groups = {armor_head=12.2, armor_heal=12, armor_use=0,armor_fire=0.61, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
wield_image = "3d_armor_inv_superlegendenhelmet.png",
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:superlegendenhelmet2")
@ -470,7 +470,7 @@ minetest.register_tool("3d_armor:superlegendenhelmet2", {
groups = {armor_head=12.2, armor_heal=12, armor_use=0,armor_fire=0.61, physics_speed=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
wield_image = "3d_armor_inv_superlegendenhelmet.png",
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:superlegendenhelmet3")
@ -484,7 +484,7 @@ minetest.register_tool("3d_armor:superlegendenhelmet3", {
groups = {armor_head=12.2, armor_heal=12, armor_use=0,armor_fire=0.61, physics_jump=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
wield_image = "3d_armor_inv_superlegendenhelmet.png",
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:superlegendenhelmet4")
@ -498,7 +498,7 @@ minetest.register_tool("3d_armor:superlegendenhelmet4", {
groups = {armor_head=12.2, armor_heal=12, armor_use=0,armor_fire=0.61, physics_jump=0.25, physics_speed=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
wield_image = "3d_armor_inv_superlegendenhelmet.png",
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:superlegendenhelmet")
@ -513,7 +513,7 @@ minetest.register_tool("3d_armor:superlegendenleggings", {
groups = {armor_legs=12.2, armor_heal=12, armor_use=0,armor_fire=0.61, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
wield_image = "3d_armor_inv_superlegendenleggings.png",
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:superlegendenleggings2")
@ -527,7 +527,7 @@ minetest.register_tool("3d_armor:superlegendenleggings2", {
groups = {armor_legs=12.2, armor_heal=12, armor_use=0,armor_fire=0.61, physics_speed=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
wield_image = "3d_armor_inv_superlegendenleggings.png",
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:superlegendenleggings3")
@ -541,7 +541,7 @@ minetest.register_tool("3d_armor:superlegendenleggings3", {
groups = {armor_legs=12.2, armor_heal=12, armor_use=0,armor_fire=0.61, physics_jump=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
wield_image = "3d_armor_inv_superlegendenleggings.png",
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:superlegendenleggings4")
@ -555,7 +555,7 @@ minetest.register_tool("3d_armor:superlegendenleggings4", {
groups = {armor_legs=12.2, armor_heal=12, armor_use=0,armor_fire=0.61, physics_jump=0.25, physics_speed=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
wield_image = "3d_armor_inv_superlegendenleggings.png",
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:superlegendenleggings")
@ -571,7 +571,7 @@ minetest.register_tool("3d_armor:regnumboots", {
groups = {armor_feet=15.0, armor_heal=13, armor_use=0,armor_fire=1, armor_water=0.2},
wear = 0,
wield_image = "3d_armor_inv_regnumboots.png",
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:regnumboots2")
@ -585,7 +585,7 @@ minetest.register_tool("3d_armor:regnumboots2", {
groups = {armor_feet=15.0, armor_heal=13, armor_use=0,armor_fire=1, physics_speed=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
wield_image = "3d_armor_inv_regnumboots.png",
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:regnumboots3")
@ -599,7 +599,7 @@ minetest.register_tool("3d_armor:regnumboots3", {
groups = {armor_feet=15.0, armor_heal=13, armor_use=0,armor_fire=1, physics_jump=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
wield_image = "3d_armor_inv_regnumboots.png",
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:regnumboots4")
@ -613,7 +613,7 @@ minetest.register_tool("3d_armor:regnumboots4", {
groups = {armor_feet=15.0, armor_heal=13, armor_use=0,armor_fire=1, physics_jump=0.25, physics_speed=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
wield_image = "3d_armor_inv_regnumboots.png",
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:regnumboots")
@ -628,7 +628,7 @@ minetest.register_tool("3d_armor:regnumchestplate", {
groups = {armor_torso=15.0, armor_heal=13, armor_use=0, armor_fire=1, armor_water=0.2},
wear = 0,
wield_image = "3d_armor_inv_regnumchestplate.png",
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:regnumchestplate2")
@ -642,7 +642,7 @@ minetest.register_tool("3d_armor:regnumchestplate2", {
groups = {armor_torso=15.0, armor_heal=13, armor_use=0, armor_fire=1, physics_speed=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
wield_image = "3d_armor_inv_regnumchestplate.png",
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:regnumchestplate3")
@ -656,7 +656,7 @@ minetest.register_tool("3d_armor:regnumchestplate3", {
groups = {armor_torso=15.0, armor_heal=13, armor_use=0, armor_fire=1, physics_jump=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
wield_image = "3d_armor_inv_regnumchestplate.png",
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:regnumchestplate4")
@ -670,7 +670,7 @@ minetest.register_tool("3d_armor:regnumchestplate4", {
groups = {armor_torso=15.0, armor_heal=13, armor_use=0, armor_fire=1, physics_jump=0.25, physics_speed=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
wield_image = "3d_armor_inv_regnumchestplate.png",
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:regnumchestplate")
@ -685,7 +685,7 @@ minetest.register_tool("3d_armor:regnumhelmet", {
groups = {armor_head=15.0, armor_heal=13, armor_use=0,armor_fire=1, armor_water=0.2},
wear = 0,
wield_image = "3d_armor_inv_regnumhelmet.png",
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:regnumhelmet2")
@ -699,7 +699,7 @@ minetest.register_tool("3d_armor:regnumhelmet2", {
groups = {armor_head=15.0, armor_heal=13, armor_use=0,armor_fire=1, physics_speed=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
wield_image = "3d_armor_inv_regnumhelmet.png",
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:regnumhelmet3")
@ -713,7 +713,7 @@ minetest.register_tool("3d_armor:regnumhelmet3", {
groups = {armor_head=15.0, armor_heal=13, armor_use=0,armor_fire=1, physics_jump=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
wield_image = "3d_armor_inv_regnumhelmet.png",
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:regnumhelmet4")
@ -727,7 +727,7 @@ minetest.register_tool("3d_armor:regnumhelmet4", {
groups = {armor_head=15.0, armor_heal=13, armor_use=0,armor_fire=1, physics_jump=0.25, physics_speed=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
wield_image = "3d_armor_inv_regnumhelmet.png",
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:regnumhelmet")
@ -742,7 +742,7 @@ minetest.register_tool("3d_armor:regnumleggings", {
groups = {armor_legs=15.0, armor_heal=13, armor_use=0,armor_fire=1, armor_water=0.2},
wear = 0,
wield_image = "3d_armor_inv_regnumleggings.png",
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:regnumleggings2")
@ -756,7 +756,7 @@ minetest.register_tool("3d_armor:regnumleggings2", {
groups = {armor_legs=15.0, armor_heal=13, armor_use=0,armor_fire=1, physics_speed=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
wield_image = "3d_armor_inv_regnumleggings.png",
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:regnumleggings3")
@ -770,7 +770,7 @@ minetest.register_tool("3d_armor:regnumleggings3", {
groups = {armor_legs=15.0, armor_heal=13, armor_use=0,armor_fire=1, physics_jump=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
wield_image = "3d_armor_inv_regnumleggings.png",
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:regnumleggings4")
@ -784,7 +784,7 @@ minetest.register_tool("3d_armor:regnumleggings4", {
groups = {armor_legs=15.0, armor_heal=13, armor_use=0,armor_fire=1, physics_jump=0.25, physics_speed=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
wield_image = "3d_armor_inv_regnumleggings.png",
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("3d_armor:regnumleggings")

View File

@ -3625,3 +3625,126 @@ minetest.register_craft({
{'', '', 'tutorial:regnum', '', ''},
}
})
minetest.register_craft({
output = '3d_armor:regnumboots2',
recipe = {
{'', '', 'tutorial:regnum', '', ''},
{'', '', 'tutorial:bottleSS', '', ''},
{'tutorial:regnum', 'tutorial:bottleSS', '3d_armor:superlegendenboots2', 'tutorial:bottleSS', 'tutorial:regnum'},
{'', '', 'tutorial:bottleSS', '', ''},
{'', '', 'tutorial:regnum', '', ''},
}
})
minetest.register_craft({
output = '3d_armor:regnumchestplate2',
recipe = {
{'', '', 'tutorial:regnum', '', ''},
{'', '', 'tutorial:bottleSS', '', ''},
{'tutorial:regnum', 'tutorial:bottleSS', '3d_armor:superlegendenchestplate2', 'tutorial:bottleSS', 'tutorial:regnum'},
{'', '', 'tutorial:bottleSS', '', ''},
{'', '', 'tutorial:regnum', '', ''},
}
})
minetest.register_craft({
output = '3d_armor:regnumhelmet2',
recipe = {
{'', '', 'tutorial:regnum', '', ''},
{'', '', 'tutorial:bottleSS', '', ''},
{'tutorial:regnum', 'tutorial:bottleSS', '3d_armor:superlegendenhelmet2', 'tutorial:bottleSS', 'tutorial:regnum'},
{'', '', 'tutorial:bottleSS', '', ''},
{'', '', 'tutorial:regnum', '', ''},
}
})
minetest.register_craft({
output = '3d_armor:regnumleggings2',
recipe = {
{'', '', 'tutorial:regnum', '', ''},
{'', '', 'tutorial:bottleSS', '', ''},
{'tutorial:regnum', 'tutorial:bottleSS', '3d_armor:superlegendenleggings2', 'tutorial:bottleSS', 'tutorial:regnum'},
{'', '', 'tutorial:bottleSS', '', ''},
{'', '', 'tutorial:regnum', '', ''},
}
})
minetest.register_craft({
output = '3d_armor:regnumboots3',
recipe = {
{'', '', 'tutorial:regnum', '', ''},
{'', '', 'tutorial:bottleSS', '', ''},
{'tutorial:regnum', 'tutorial:bottleSS', '3d_armor:superlegendenboots3', 'tutorial:bottleSS', 'tutorial:regnum'},
{'', '', 'tutorial:bottleSS', '', ''},
{'', '', 'tutorial:regnum', '', ''},
}
})
minetest.register_craft({
output = '3d_armor:regnumchestplate3',
recipe = {
{'', '', 'tutorial:regnum', '', ''},
{'', '', 'tutorial:bottleSS', '', ''},
{'tutorial:regnum', 'tutorial:bottleSS', '3d_armor:superlegendenchestplate3', 'tutorial:bottleSS', 'tutorial:regnum'},
{'', '', 'tutorial:bottleSS', '', ''},
{'', '', 'tutorial:regnum', '', ''},
}
})
minetest.register_craft({
output = '3d_armor:regnumhelmet3',
recipe = {
{'', '', 'tutorial:regnum', '', ''},
{'', '', 'tutorial:bottleSS', '', ''},
{'tutorial:regnum', 'tutorial:bottleSS', '3d_armor:superlegendenhelmet3', 'tutorial:bottleSS', 'tutorial:regnum'},
{'', '', 'tutorial:bottleSS', '', ''},
{'', '', 'tutorial:regnum', '', ''},
}
})
minetest.register_craft({
output = '3d_armor:regnumleggings3',
recipe = {
{'', '', 'tutorial:regnum', '', ''},
{'', '', 'tutorial:bottleSS', '', ''},
{'tutorial:regnum', 'tutorial:bottleSS', '3d_armor:superlegendenleggings3', 'tutorial:bottleSS', 'tutorial:regnum'},
{'', '', 'tutorial:bottleSS', '', ''},
{'', '', 'tutorial:regnum', '', ''},
}
})
minetest.register_craft({
output = '3d_armor:regnumboots4',
recipe = {
{'', '', 'tutorial:regnum', '', ''},
{'', '', 'tutorial:bottleSS', '', ''},
{'tutorial:regnum', 'tutorial:bottleSS', '3d_armor:superlegendenboots4', 'tutorial:bottleSS', 'tutorial:regnum'},
{'', '', 'tutorial:bottleSS', '', ''},
{'', '', 'tutorial:regnum', '', ''},
}
})
minetest.register_craft({
output = '3d_armor:regnumchestplate4',
recipe = {
{'', '', 'tutorial:regnum', '', ''},
{'', '', 'tutorial:bottleSS', '', ''},
{'tutorial:regnum', 'tutorial:bottleSS', '3d_armor:superlegendenchestplate4', 'tutorial:bottleSS', 'tutorial:regnum'},
{'', '', 'tutorial:bottleSS', '', ''},
{'', '', 'tutorial:regnum', '', ''},
}
})
minetest.register_craft({
output = '3d_armor:regnumhelmet4',
recipe = {
{'', '', 'tutorial:regnum', '', ''},
{'', '', 'tutorial:bottleSS', '', ''},
{'tutorial:regnum', 'tutorial:bottleSS', '3d_armor:superlegendenhelmet4', 'tutorial:bottleSS', 'tutorial:regnum'},
{'', '', 'tutorial:bottleSS', '', ''},
{'', '', 'tutorial:regnum', '', ''},
}
})
minetest.register_craft({
output = '3d_armor:regnumleggings4',
recipe = {
{'', '', 'tutorial:regnum', '', ''},
{'', '', 'tutorial:bottleSS', '', ''},
{'tutorial:regnum', 'tutorial:bottleSS', '3d_armor:superlegendenleggings4', 'tutorial:bottleSS', 'tutorial:regnum'},
{'', '', 'tutorial:bottleSS', '', ''},
{'', '', 'tutorial:regnum', '', ''},
}
})

View File

@ -31,7 +31,7 @@ minetest.register_tool("shields:shield_admin", {
wield_image = "shields_inv_shield_admin.png",
groups = {armor_shield=20, armor_heal=20, armor_use=0, armor_fire=1, armor_water=0.2},
wear = 0,
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("shields:shield_admin2")
@ -46,7 +46,7 @@ minetest.register_tool("shields:shield_admin2", {
wield_image = "shields_inv_shield_admin.png",
groups = {armor_shield=20, armor_heal=20, armor_use=0, armor_fire=1, physics_speed=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("shields:shield_admin3")
@ -61,7 +61,7 @@ minetest.register_tool("shields:shield_admin3", {
wield_image = "shields_inv_shield_admin.png",
groups = {armor_shield=20, armor_heal=20, armor_use=0, armor_fire=1, physics_jump=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("shields:shield_admin4")
@ -76,7 +76,7 @@ minetest.register_tool("shields:shield_admin4", {
wield_image = "shields_inv_shield_admin.png",
groups = {armor_shield=20, armor_heal=20, armor_use=0, armor_fire=1, physics_jump=0.25, physics_speed=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("shields:shield_admin")

View File

@ -104,7 +104,7 @@ minetest.register_tool("shields:superlegendenshield", {
groups = {armor_shield=12.2, armor_heal=12, armor_use=0,armor_fire=0.61, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
wield_image = "shields_inv_superlegendenshield.png",
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("shields:superlegendenshield2")
@ -118,7 +118,7 @@ minetest.register_tool("shields:superlegendenshield2", {
groups = {armor_shield=12.2, armor_heal=12, armor_use=0,armor_fire=0.61, physics_speed=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
wield_image = "shields_inv_superlegendenshield.png",
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("shields:superlegendenshield3")
@ -132,7 +132,7 @@ minetest.register_tool("shields:superlegendenshield3", {
groups = {armor_shield=12.2, armor_heal=12, armor_use=0,armor_fire=0.61, physics_jump=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
wield_image = "shields_inv_superlegendenshield.png",
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("shields:superlegendenshield4")
@ -146,7 +146,7 @@ minetest.register_tool("shields:superlegendenshield4", {
groups = {armor_shield=12.2, armor_heal=12, armor_use=0,armor_fire=0.61, physics_jump=0.25, physics_speed=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
wield_image = "shields_inv_superlegendenshield.png",
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("shields:superlegendenshield")
@ -161,7 +161,7 @@ minetest.register_tool("shields:regnumshield", {
groups = {armor_shield=15.0, armor_heal=13, armor_use=0,armor_fire=1, armor_water=0.2},
wear = 0,
wield_image = "shields_inv_regnumshield.png",
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("shields:regnumshield2")
@ -175,7 +175,7 @@ minetest.register_tool("shields:regnumshield2", {
groups = {armor_shield=15.0, armor_heal=13, armor_use=0,armor_fire=1, physics_speed=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
wield_image = "shields_inv_regnumshield.png",
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("shields:regnumshield3")
@ -189,7 +189,7 @@ minetest.register_tool("shields:regnumshield3", {
groups = {armor_shield=15.0, armor_heal=13, armor_use=0,armor_fire=1, physics_jump=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
wield_image = "shields_inv_regnumshield.png",
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("shields:regnumshield4")
@ -203,7 +203,7 @@ minetest.register_tool("shields:regnumshield4", {
groups = {armor_shield=15.0, armor_heal=13, armor_use=0,armor_fire=1, physics_jump=0.25, physics_speed=0.25, armor_water=0.2, not_in_creative_inventory=1},
wear = 0,
wield_image = "shields_inv_regnumshield.png",
on_use = function(itemstack, user, pointed_thing)
on_secondary_use = function(itemstack, user, pointed_thing)
local keys = user:get_player_control()
if keys["sneak"] == true then
itemstack:set_name("shields:regnumshield")
@ -212,13 +212,4 @@ minetest.register_tool("shields:regnumshield4", {
end,
})
minetest.register_craft({
output = 'shields:regnumshield',
recipe = {
{'', '', 'tutorial:regnum', '', ''},
{'', '', 'tutorial:bottleSS', '', ''},
{'tutorial:regnum', 'tutorial:bottleSS', 'shields:superlegendenshield', 'tutorial:bottleSS', 'tutorial:regnum'},
{'', '', 'tutorial:bottleSS', '', ''},
{'', '', 'tutorial:regnum', '', ''},
}
})

View File

@ -891,4 +891,48 @@ minetest.register_craft({
recipe = {
{'tutorial:lilabattleaxe2', 'shields:legendenshield6'},
}
})
minetest.register_craft({
output = 'shields:regnumshield',
recipe = {
{'', '', 'tutorial:regnum', '', ''},
{'', '', 'tutorial:bottleSS', '', ''},
{'tutorial:regnum', 'tutorial:bottleSS', 'shields:superlegendenshield', 'tutorial:bottleSS', 'tutorial:regnum'},
{'', '', 'tutorial:bottleSS', '', ''},
{'', '', 'tutorial:regnum', '', ''},
}
})
minetest.register_craft({
output = 'shields:regnumshield2',
recipe = {
{'', '', 'tutorial:regnum', '', ''},
{'', '', 'tutorial:bottleSS', '', ''},
{'tutorial:regnum', 'tutorial:bottleSS', 'shields:superlegendenshield2', 'tutorial:bottleSS', 'tutorial:regnum'},
{'', '', 'tutorial:bottleSS', '', ''},
{'', '', 'tutorial:regnum', '', ''},
}
})
minetest.register_craft({
output = 'shields:regnumshield3',
recipe = {
{'', '', 'tutorial:regnum', '', ''},
{'', '', 'tutorial:bottleSS', '', ''},
{'tutorial:regnum', 'tutorial:bottleSS', 'shields:superlegendenshield3', 'tutorial:bottleSS', 'tutorial:regnum'},
{'', '', 'tutorial:bottleSS', '', ''},
{'', '', 'tutorial:regnum', '', ''},
}
})
minetest.register_craft({
output = 'shields:regnumshield4',
recipe = {
{'', '', 'tutorial:regnum', '', ''},
{'', '', 'tutorial:bottleSS', '', ''},
{'tutorial:regnum', 'tutorial:bottleSS', 'shields:superlegendenshield4', 'tutorial:bottleSS', 'tutorial:regnum'},
{'', '', 'tutorial:bottleSS', '', ''},
{'', '', 'tutorial:regnum', '', ''},
}
})

View File

@ -7,17 +7,16 @@ dofile(minetest.get_modpath("ban_hammer").."/settings.txt")
-----------------------------------------------------------------------------------------------
local mode_text = {
{"Ban punched player."},
{"Kick punched player."},
{"Remove shout privilege of punched player."},
{"Remove fly privilege of punched player."},
{"Remove noclip privilege of punched player."},
{"ban punched player"},
{"kick punched player"},
{"remove shout privilege of punched player"},
{"remove fly privilege of punched player"},
{"remove noclip privilege of punched player"},
}
local function ban_hammer_setmode(user, itemstack, mode, keys)
local puncher = user:get_player_name()
if keys["sneak"] == false and mode == 0 then
minetest.chat_send_player(puncher, "Hold shift and use to change ban hammer modes.")
return
end
if keys["sneak"] == true then
@ -25,7 +24,6 @@ local function ban_hammer_setmode(user, itemstack, mode, keys)
if mode == 6 then
mode = 1
end
minetest.chat_send_player(puncher, "Ban hammer mode : "..mode.." - "..mode_text[mode][1] )
end
itemstack:set_name("ban_hammer:hammer"..mode)
itemstack:set_metadata(mode)
@ -92,7 +90,12 @@ end
minetest.register_craftitem("ban_hammer:hammer", {
description = "Admin tool 1: Ban Hammer",
inventory_image = "ban_hammer.png",
groups = {not_in_creative_inventory=1},
on_secondary_use = function(itemstack, user, pointed_thing)
local mode = 0
ban_hammer_handler(itemstack, user, pointed_thing, mode)
return itemstack
end,
on_use = function(itemstack, user, pointed_thing)
local mode = 0
ban_hammer_handler(itemstack, user, pointed_thing, mode)
@ -100,20 +103,31 @@ minetest.register_craftitem("ban_hammer:hammer", {
end,
})
for i = 1, 5 do
for i = 2, 5 do
minetest.register_craftitem("ban_hammer:hammer"..i, {
description = "Admin tool 1: Ban Hammer in Mode "..i,
description = "Admin tool 1: Ban Hammer Mode "..i.." ("..mode_text[i][1]..")",
inventory_image = "ban_hammer.png^technic_tool_mode"..i..".png",
wield_image = "ban_hammer.png",
groups = {not_in_creative_inventory=1},
stack_max = 1,
on_use = function(itemstack, user, pointed_thing)
stack_max = 1,
on_secondary_use = function(itemstack, user, pointed_thing)
local mode = i
ban_hammer_handler(itemstack, user, pointed_thing, mode)
return itemstack
end,
})
})
end
minetest.register_craftitem("ban_hammer:hammer1", {
description = "Admin tool 1: Ban Hammer Mode 1 ("..mode_text[1][1]..")",
inventory_image = "ban_hammer.png^technic_tool_mode1.png",
wield_image = "ban_hammer.png",
stack_max = 1,
on_secondary_use = function(itemstack, user, pointed_thing)
ban_hammer_handler(itemstack, user, pointed_thing, 1)
return itemstack
end,
})
-----------------------------------------------------------------------------------------------
print("[Mod] "..title.." ["..version.."] ["..mname.."] Loaded...")
-----------------------------------------------------------------------------------------------

View File

@ -17,6 +17,8 @@ local function destruct_bed(pos, n)
reverse = not reverse
minetest.remove_node(other)
minetest.check_for_falling(other)
beds.remove_spawns_at(pos)
beds.remove_spawns_at(other)
else
reverse = not reverse
end

View File

@ -79,10 +79,10 @@ beds.register_bed("beds:bed", {
}
},
nodebox = {
bottom = {-0.5, -0.5, -0.5, 0.5, 0.06, 0.5},
top = {-0.5, -0.5, -0.5, 0.5, 0.06, 0.5},
bottom = {-0.5, -0.5, -0.5, 0.5, 0.0625, 0.5},
top = {-0.5, -0.5, -0.5, 0.5, 0.0625, 0.5},
},
selectionbox = {-0.5, -0.5, -0.5, 0.5, 0.06, 1.5},
selectionbox = {-0.5, -0.5, -0.5, 0.5, 0.0625, 1.5},
recipe = {
{"wool:white", "wool:white", "wool:white"},
{"group:wood", "group:wood", "group:wood"}

View File

@ -90,7 +90,13 @@ local function lay_down(player, pos, bed_pos, state, skip)
local yaw, param2 = get_look_yaw(bed_pos)
player:set_look_horizontal(yaw)
local dir = minetest.facedir_to_dir(param2)
local p = {x = bed_pos.x + dir.x / 2, y = bed_pos.y, z = bed_pos.z + dir.z / 2}
-- p.y is just above the nodebox height of the 'Simple Bed' (the highest bed),
-- to avoid sinking down through the bed.
local p = {
x = bed_pos.x + dir.x / 2,
y = bed_pos.y + 0.07,
z = bed_pos.z + dir.z / 2
}
player:set_physics_override(0, 0, 0)
player:set_pos(p)
default.player_attached[name] = true

View File

@ -2,7 +2,7 @@
-- Load support for MT game translation.
local S = minetest.get_translator("beds")
local esc = minetest.formspec_escape
beds = {}
beds.player = {}
@ -14,7 +14,7 @@ beds.get_translator = S
beds.formspec = "size[8,11;true]" ..
"no_prepend[]" ..
"bgcolor[#080808BB;true]" ..
"button_exit[2,10;4,0.75;leave;" .. S("Leave Bed") .. "]"
"button_exit[2,10;4,0.75;leave;" .. esc(S("Leave Bed")) .. "]"
local modpath = minetest.get_modpath("beds")

View File

@ -0,0 +1,8 @@
# textdomain: beds
Fancy Bed=Katil Beragam
Simple Bed=Katil Biasa
Leave Bed=Bangun
Good morning.=Selamat pagi.
@1 of @2 players are in bed=@1 daripada @2 pemain sedang tidur
Force night skip=Paksa langkau malam
You can only sleep at night.=Anda hanya boleh tidur pada waktu malam.

View File

@ -0,0 +1,8 @@
# textdomain: beds
Fancy Bed=Детализированная Кровать
Simple Bed=Обычная Кровать
Leave Bed=Встать с кровати
Good morning.=Доброе утро.
@1 of @2 players are in bed=@1 из @2 игроков в кровати
Force night skip=Пропустить ночь
You can only sleep at night.=Вы можете спать только ночью.

View File

@ -0,0 +1,8 @@
# textdomain: beds
Fancy Bed=Fin säng
Simple Bed=Enkel Säng
Leave Bed=Lämna Säng
Good morning.= God morgon.
@1 of @2 players are in bed=@1 av @2 spelar försöker sover.
Force night skip=Tvinga över natten
You can only sleep at night.=Du kan bara sova på natten.

View File

@ -0,0 +1,8 @@
# textdomain: beds
Fancy Bed=花式床
Simple Bed=简易床
Leave Bed=离开床
Good morning.=早安!
@1 of @2 players are in bed=@2位玩家中的@1位在床上
Force night skip=强制跳过夜晚
You can only sleep at night.=你只能在晚上睡觉。

View File

@ -0,0 +1,9 @@
# textdomain: beds
Fancy Bed=花式床
Simple Bed=簡易床
Leave Bed=離開床
Good morning.=早安!
@1 of @2 players are in bed=@2位玩家中的@1位在床上
Force night skip=強制跳過夜晚
You can only sleep at night.=你只能在晚上睡覺。

View File

@ -61,3 +61,12 @@ function beds.set_spawns()
end
beds.save_spawns()
end
function beds.remove_spawns_at(pos)
for name, p in pairs(beds.spawn) do
if vector.equals(vector.round(p), pos) then
beds.spawn[name] = nil
end
end
beds.save_spawns()
end

View File

@ -0,0 +1,3 @@
# textdomain: binoculars
Binoculars=Binokular
Use with 'Zoom' key=Guna dengan kekunci 'Zum'

View File

@ -0,0 +1,3 @@
# textdomain: binoculars
Binoculars=Бинокль
Use with 'Zoom' key=Используется с привилегией 'Zoom'

View File

@ -0,0 +1,3 @@
# textdomain: binoculars
Binoculars=Kikare
Use with 'Zoom' key=Används med 'Zoom' knappen

View File

@ -0,0 +1,3 @@
# textdomain: binoculars
Binoculars=望远镜
Use with 'Zoom' key=与“缩放”键一起使用

View File

@ -0,0 +1,3 @@
# textdomain: binoculars
Binoculars=望遠鏡
Use with 'Zoom' key=與“縮放”鍵一起使用

View File

@ -13,15 +13,6 @@ local function is_water(pos)
end
local function get_sign(i)
if i == 0 then
return 0
else
return i / math.abs(i)
end
end
local function get_velocity(v, yaw, y)
local x = -math.sin(yaw) * v
local z = math.cos(yaw) * v
@ -146,7 +137,7 @@ end
function boat.on_step(self, dtime)
self.v = get_v(self.object:get_velocity()) * get_sign(self.v)
self.v = get_v(self.object:get_velocity()) * math.sign(self.v)
if self.driver then
local driver_objref = minetest.get_player_by_name(self.driver)
if driver_objref then
@ -157,13 +148,13 @@ function boat.on_step(self, dtime)
minetest.chat_send_player(self.driver, S("Boat cruise mode on"))
end
elseif ctrl.down then
self.v = self.v - dtime * 1.8
self.v = self.v - dtime * 2.0
if self.auto then
self.auto = false
minetest.chat_send_player(self.driver, S("Boat cruise mode off"))
end
elseif ctrl.up or self.auto then
self.v = self.v + dtime * 1.8
self.v = self.v + dtime * 2.0
end
if ctrl.left then
if self.v < -0.001 then
@ -185,15 +176,14 @@ function boat.on_step(self, dtime)
self.object:set_pos(self.object:get_pos())
return
end
local s = get_sign(self.v)
self.v = self.v - dtime * 0.6 * s
if s ~= get_sign(self.v) then
self.object:set_velocity({x = 0, y = 0, z = 0})
-- We need to preserve velocity sign to properly apply drag force
-- while moving backward
local drag = dtime * math.sign(self.v) * (0.01 + 0.0796 * self.v * self.v)
-- If drag is larger than velocity, then stop horizontal movement
if math.abs(self.v) <= math.abs(drag) then
self.v = 0
return
end
if math.abs(self.v) > 5 then
self.v = 5 * get_sign(self.v)
else
self.v = self.v - drag
end
local p = self.object:get_pos()

View File

@ -0,0 +1,4 @@
# textdomain: boats
Boat cruise mode on=Mod bot layar makan angin dibolehkan
Boat cruise mode off=Mod bot layar makan angin dilumpuhkan
Boat=Bot

View File

@ -0,0 +1,4 @@
# textdomain: boats
Boat cruise mode on=Режим путешествия на лодке включен
Boat cruise mode off=Режим путешествия на лодке выключен
Boat=Лодка

View File

@ -0,0 +1,4 @@
# textdomain: boats
Boat cruise mode on=Båtkryssningsläge på
Boat cruise mode off=Båtkryssningsläge av
Boat=Båt

View File

@ -0,0 +1,4 @@
# textdomain: boats
Boat cruise mode on=巡航模式开启
Boat cruise mode off=巡航模式关闭
Boat=船

View File

@ -0,0 +1,4 @@
# textdomain: boats
Boat cruise mode on=巡航模式開啟
Boat cruise mode off=巡航模式關閉
Boat=船

View File

@ -0,0 +1,8 @@
# textdomain: bones
Bones=Tulang
@1's old bones=Tulang lama @1
@1 died at @2.=@1 mati di @2.
@1 died at @2, and dropped their inventory.=@1 mati di @2, dan menjatuhkan inventorinya.
@1 died at @2, and bones were placed.=@1 mati di @2, dan tulang diletakkan.
@1's fresh bones=Tulang segar @1
@1's bones=Tulang @1

View File

@ -0,0 +1,8 @@
# textdomain: bones
Bones=Кости
@1's old bones=Старые кости @1
@1 died at @2.=@1 умер в @2.
@1 died at @2, and dropped their inventory.=@1 умер в @2 и потерял содержимое своего инвентаря.
@1 died at @2, and bones were placed.=@1 умер в @2, помещены кости.
@1's fresh bones=новые кости @1
@1's bones=кости @1

View File

@ -0,0 +1,8 @@
# textdomain: bones
Bones=Ben
@1's old bones=@1s Gamla ben
@1 died at @2.=@1 dog på @a.
@1 died at @2, and dropped their inventory.=@1 dog på @a, och tappade deras saker.
@1 died at @2, and bones were placed.=@1 dog på @2, och deras ben var placerade.
@1's fresh bones=@1s färska ben
@1's bones=@1s ben

View File

@ -0,0 +1,8 @@
# textdomain: bones
Bones=骨骸
@1's old bones=@1的旧骨骸
@1 died at @2.=@1在@2死亡。
@1 died at @2, and dropped their inventory.=@1在@2死亡丢掉了物品栏。
@1 died at @2, and bones were placed.=@1在@2死亡骨骸被放置。
@1's fresh bones=@1的新鲜骨骸
@1's bones=@1的骨骸

View File

@ -0,0 +1,8 @@
# textdomain: bones
Bones=骨骸
@1's old bones=@1的舊骨骸
@1 died at @2.=@1在@2死亡。
@1 died at @2, and dropped their inventory.=@1在@2死亡丟掉了物品欄。
@1 died at @2, and bones were placed.=@1在@2死亡骨骸被放置。
@1's fresh bones=@1的新鮮骨骸
@1's bones=@1的骨骸

View File

@ -225,3 +225,16 @@ minetest.register_craft({
replacements = {{"bucket:bucket_lava", "bucket:bucket_empty"}},
})
-- Register buckets as dungeon loot
if minetest.global_exists("dungeon_loot") then
dungeon_loot.register({
{name = "bucket:bucket_empty", chance = 0.55},
-- water in deserts/ice or above ground, lava otherwise
{name = "bucket:bucket_water", chance = 0.45,
types = {"sandstone", "desert", "ice"}},
{name = "bucket:bucket_water", chance = 0.45, y = {0, 32768},
types = {"normal"}},
{name = "bucket:bucket_lava", chance = 0.45, y = {-32768, -1},
types = {"normal"}},
})
end

View File

@ -0,0 +1,5 @@
# textdomain: bucket
Empty Bucket=Baldi Kosong
Water Bucket=Baldi Air
River Water Bucket=Baldi Air Sungai
Lava Bucket=Baldi Lava

View File

@ -0,0 +1,5 @@
# textdomain: bucket
Empty Bucket=Пустое Ведро
Water Bucket=Ведро с Водой
River Water Bucket=Ведро с Речной Водой
Lava Bucket=Ведро с Лавой

View File

@ -0,0 +1,5 @@
# textdomain: bucket
Empty Bucket=Tom hink
Water Bucket=Vatten hink
River Water Bucket=Flodvatten hink
Lava Bucket=Lava hink

View File

@ -0,0 +1,5 @@
# textdomain: bucket
Empty Bucket=空桶
Water Bucket=水桶
River Water Bucket=河水桶
Lava Bucket=岩浆桶

View File

@ -0,0 +1,5 @@
# textdomain: bucket
Empty Bucket=空桶
Water Bucket=水桶
River Water Bucket=河水桶
Lava Bucket=岩漿桶

View File

@ -1,3 +1,4 @@
name = bucket
description = Minetest Game mod: bucket
depends = default
optional_depends = dungeon_loot

View File

@ -102,7 +102,7 @@ minetest.register_decoration({
place_offset_y = 2,
sidelen = 80,
fill_ratio = 0.005,
biomes = {"grassland", "deciduous_forest", "floatland_grassland"},
biomes = {"grassland", "deciduous_forest"},
y_max = 31000,
y_min = 1,
decoration = {

View File

@ -0,0 +1,4 @@
# textdomain: butterflies
White Butterfly=Rama-Rama Putih
Red Butterfly=Rama-Rama Merah
Violet Butterfly=Rama-Rama Ungu

View File

@ -0,0 +1,4 @@
# textdomain: butterflies
White Butterfly=Белая Бабочка
Red Butterfly=Красная Бабочка
Violet Butterfly=Фиолетовая Бабочка

View File

@ -0,0 +1,4 @@
# textdomain: butterflies
White Butterfly=Vit fjäril
Red Butterfly=Röd fjäril
Violet Butterfly=Violett fjäril

View File

@ -0,0 +1,4 @@
# textdomain: butterflies
White Butterfly=白蝴蝶
Red Butterfly=红蝴蝶
Violet Butterfly=紫蝴蝶

View File

@ -0,0 +1,4 @@
# textdomain: butterflies
White Butterfly=白蝴蝶
Red Butterfly=紅蝴蝶
Violet Butterfly=紫蝴蝶

View File

@ -414,7 +414,7 @@ minetest.register_craftitem("carts:cart", {
end
minetest.sound_play({name = "default_place_node_metal", gain = 0.5},
{pos = pointed_thing.above})
{pos = pointed_thing.above}, true)
if not (creative and creative.is_enabled_for
and creative.is_enabled_for(placer:get_player_name())) then

View File

@ -19,3 +19,10 @@ carts.path_distance_max = 3
dofile(carts.modpath.."/functions.lua")
dofile(carts.modpath.."/rails.lua")
dofile(carts.modpath.."/cart_entity.lua")
-- Register rails as dungeon loot
if minetest.global_exists("dungeon_loot") then
dungeon_loot.register({
name = "carts:rail", chance = 0.35, count = {1, 6}
})
end

View File

@ -0,0 +1,6 @@
# textdomain: carts
Cart=Pedati
(Sneak+Click to pick up)=(Selinap+Klik untuk ambil balik)
Rail=Landasan
Powered Rail=Landasan Berkuasa
Brake Rail=Landasan Brek

View File

@ -0,0 +1,6 @@
# textdomain: carts
Cart=Вагонетка
(Sneak+Click to pick up)=(Пригнитесь и кликните по вагонетке, чтобы забрать)
Rail=Рельса
Powered Rail=Механизированная Рельса
Brake Rail=Рельса с тормозом

View File

@ -0,0 +1,6 @@
# textdomain: carts
Cart=Vagn
(Sneak+Click to pick up)=(Shift+Klicka för att plocka upp)
Rail=Räls
Powered Rail=Aktiverad räls
Brake Rail=Broms räls

View File

@ -0,0 +1,6 @@
# textdomain: carts
Cart=矿车
(Sneak+Click to pick up)=(潜行+单击以捡起)
Rail=铁轨
Powered Rail=动力铁轨
Brake Rail=制动铁轨

View File

@ -0,0 +1,6 @@
# textdomain: carts
Cart=礦車
(Sneak+Click to pick up)=(潛行+單擊以撿起)
Rail=鐵軌
Powered Rail=動力鐵軌
Brake Rail=制動鐵軌

View File

@ -1,3 +1,4 @@
name = carts
description = Carts (formerly boost_cart)
depends = default, player_api
optional_depends = dungeon_loot

View File

@ -25,7 +25,9 @@ function creative.init_creative_inventory(player)
player_inventory[player_name] = {
size = 0,
filter = "",
start_i = 0
start_i = 0,
old_filter = nil, -- use only for caching in update_creative_inventory
old_content = nil
}
minetest.create_detached_inventory("creative_" .. player_name, {
@ -59,22 +61,42 @@ function creative.init_creative_inventory(player)
return player_inventory[player_name]
end
local function match(s, filter)
if filter == "" then
return 0
end
if s:lower():find(filter, 1, true) then
return #s - #filter
end
return nil
end
function creative.update_creative_inventory(player_name, tab_content)
local creative_list = {}
local inv = player_inventory[player_name] or
creative.init_creative_inventory(minetest.get_player_by_name(player_name))
local player_inv = minetest.get_inventory({type = "detached", name = "creative_" .. player_name})
if inv.filter == inv.old_filter and tab_content == inv.old_content then
return
end
inv.old_filter = inv.filter
inv.old_content = tab_content
local items = inventory_cache[tab_content] or init_creative_cache(tab_content)
local creative_list = {}
local order = {}
for name, def in pairs(items) do
if def.name:find(inv.filter, 1, true) or
def.description:lower():find(inv.filter, 1, true) then
local m = match(def.description, inv.filter) or match(def.name, inv.filter)
if m then
creative_list[#creative_list+1] = name
-- Sort by description length first so closer matches appear earlier
order[name] = string.format("%02d", m) .. name
end
end
table.sort(creative_list)
table.sort(creative_list, function(a, b) return order[a] < order[b] end)
player_inv:set_size("main", #creative_list)
player_inv:set_list("main", creative_list)
inv.size = #creative_list
@ -105,21 +127,20 @@ function creative.register_tab(name, title, items)
local player_name = player:get_player_name()
creative.update_creative_inventory(player_name, items)
local inv = player_inventory[player_name]
local start_i = inv.start_i or 0
local pagenum = math.floor(start_i / (3*8) + 1)
local pagemax = math.ceil(inv.size / (3*8))
local pagenum = math.floor(inv.start_i / (4*8) + 1)
local pagemax = math.ceil(inv.size / (4*8))
local esc = minetest.formspec_escape
return sfinv.make_formspec(player, context,
"label[6.2,3.35;" .. minetest.colorize("#FFFF00", tostring(pagenum)) .. " / " .. tostring(pagemax) .. "]" ..
"label[5.8,4.15;" .. minetest.colorize("#FFFF00", tostring(pagenum)) .. " / " .. tostring(pagemax) .. "]" ..
[[
image[4.06,3.4;0.8,0.8;creative_trash_icon.png]
image[4.08,4.2;0.8,0.8;creative_trash_icon.png]
listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]
list[detached:creative_trash;main;4,3.3;1,1;]
list[detached:creative_trash;main;4.02,4.1;1,1;]
listring[]
image_button[5.4,3.25;0.8,0.8;creative_prev_icon.png;creative_prev;]
image_button[7.2,3.25;0.8,0.8;creative_next_icon.png;creative_next;]
image_button[2.1,3.25;0.8,0.8;creative_search_icon.png;creative_search;]
image_button[2.75,3.25;0.8,0.8;creative_clear_icon.png;creative_clear;]
image_button[5,4.05;0.8,0.8;creative_prev_icon.png;creative_prev;]
image_button[7.2,4.05;0.8,0.8;creative_next_icon.png;creative_next;]
image_button[2.63,4.05;0.8,0.8;creative_search_icon.png;creative_search;]
image_button[3.25,4.05;0.8,0.8;creative_clear_icon.png;creative_clear;]
]] ..
"tooltip[creative_search;" .. esc(S("Search")) .. "]" ..
"tooltip[creative_clear;" .. esc(S("Reset")) .. "]" ..
@ -127,9 +148,9 @@ function creative.register_tab(name, title, items)
"tooltip[creative_next;" .. esc(S("Next page")) .. "]" ..
"listring[current_player;main]" ..
"field_close_on_enter[creative_filter;false]" ..
"field[0.3,3.5;2.2,1;creative_filter;;" .. esc(inv.filter) .. "]" ..
"field[0.3,4.2;2.8,1.2;creative_filter;;" .. esc(inv.filter) .. "]" ..
"listring[detached:creative_" .. player_name .. ";main]" ..
"list[detached:creative_" .. player_name .. ";main;0,0;8,3;" .. tostring(start_i) .. "]" ..
"list[detached:creative_" .. player_name .. ";main;0,0;8,4;" .. tostring(inv.start_i) .. "]" ..
creative.formspec_add, true)
end,
on_enter = function(self, player, context)
@ -147,27 +168,25 @@ function creative.register_tab(name, title, items)
if fields.creative_clear then
inv.start_i = 0
inv.filter = ""
creative.update_creative_inventory(player_name, items)
sfinv.set_player_inventory_formspec(player, context)
elseif fields.creative_search or
fields.key_enter_field == "creative_filter" then
inv.start_i = 0
inv.filter = fields.creative_filter:lower()
creative.update_creative_inventory(player_name, items)
sfinv.set_player_inventory_formspec(player, context)
elseif not fields.quit then
local start_i = inv.start_i or 0
if fields.creative_prev then
start_i = start_i - 3*8
start_i = start_i - 4*8
if start_i < 0 then
start_i = inv.size - (inv.size % (3*8))
start_i = inv.size - (inv.size % (4*8))
if inv.size == start_i then
start_i = math.max(0, inv.size - (3*8))
start_i = math.max(0, inv.size - (4*8))
end
end
elseif fields.creative_next then
start_i = start_i + 3*8
start_i = start_i + 4*8
if start_i >= inv.size then
start_i = 0
end

View File

@ -0,0 +1,10 @@
# textdomain: creative
Allow player to use creative inventory=Benarkan pemain menggunakan inventori kreatif
Search=Cari
Reset=Set semula
Previous page=Halaman sebelumnya
Next page=Halaman seterusnya
All=Semua
Nodes=Nod
Tools=Alatan
Items=Item

View File

@ -0,0 +1,10 @@
# textdomain: creative
Allow player to use creative inventory=Разрешить игроку использовать творческий инвентарь
Search=Поиск
Reset=Сброс
Previous page=Предыдущая страница
Next page=Следующая страница
All=Всё
Nodes=Ноды
Tools=Инструменты
Items=Предметы

View File

@ -0,0 +1,10 @@
# textdomain: creative
Allow player to use creative inventory=Tilllåt spelare att används kreativa saker
Search=Sök
Reset=Återställ
Previous page=Förra sidan
Next page=Nästa sidan
All=Alla
Nodes=Noder
Tools=Verktyg
Items=Saker

View File

@ -0,0 +1,10 @@
# textdomain: creative
Allow player to use creative inventory=允许玩家使用创造模式物品栏
Search=搜索
Reset=重置
Previous page=上一页
Next page=下一页
All=所有
Nodes=节点
Tools=工具
Items=物品

View File

@ -0,0 +1,10 @@
# textdomain: creative
Allow player to use creative inventory=允許玩家使用創造模式物品欄
Search=搜索
Reset=重置
Previous page=上一頁
Next page=下一頁
All=所有
Nodes=節點
Tools=工具
Items=物品

View File

@ -123,6 +123,8 @@ paramat (CC BY-SA 3.0):
default_fence_rail_junglewood
default_fence_rail_pine_wood
default_fence_rail_wood -- Derived from a texture by BlockMen (CC BY-SA 3.0)
gui_hotbar.png
gui_hotbar_selected.png
TumeniNodes (CC BY-SA 3.0):
default_desert_cobble.png -- Derived from a texture by brunob.santos (CC BY-SA 3.0)
@ -150,7 +152,10 @@ BlockMen (CC BY-SA 3.0):
default_mineral_mese.png
default_meselamp.png
bubble.png
gui_*.png
gui_formbg.png
gui_furnace_arrow_bg.png
gui_furnace_arrow_fg.png
gui_hb_bg.png
sofar (CC BY-SA 3.0):
default_aspen_sapling
@ -330,6 +335,10 @@ http://freesound.org/people/Ryding/sounds/94337/
Ferk (CC0 1.0):
default_item_smoke.ogg, based on a sound by http://opengameart.org/users/bart
sonictechtonic (CC BY 3.0):
https://www.freesound.org/people/sonictechtonic/sounds/241872/
player_damage.ogg
Models
------

View File

@ -46,7 +46,8 @@ function default.chest.chest_lid_close(pn)
local node = minetest.get_node(pos)
minetest.after(0.2, minetest.swap_node, pos, { name = "default:" .. swap,
param2 = node.param2 })
minetest.sound_play(sound, {gain = 0.3, pos = pos, max_hear_distance = 10})
minetest.sound_play(sound, {gain = 0.3, pos = pos,
max_hear_distance = 10}, true)
end
default.chest.open_chests = {}
@ -128,7 +129,7 @@ function default.chest.register_chest(name, d)
end
minetest.sound_play(def.sound_open, {gain = 0.3,
pos = pos, max_hear_distance = 10})
pos = pos, max_hear_distance = 10}, true)
if not default.chest.chest_lid_obstructed(pos) then
minetest.swap_node(pos,
{ name = "default:" .. name .. "_open",
@ -199,7 +200,7 @@ function default.chest.register_chest(name, d)
end
def.on_rightclick = function(pos, node, clicker)
minetest.sound_play(def.sound_open, {gain = 0.3, pos = pos,
max_hear_distance = 10})
max_hear_distance = 10}, true)
if not default.chest.chest_lid_obstructed(pos) then
minetest.swap_node(pos, {
name = "default:" .. name .. "_open",
@ -318,3 +319,39 @@ default.chest.register_chest("chest_locked", {
groups = {choppy = 2, oddly_breakable_by_hand = 2},
protected = true,
})
minetest.register_craft({
output = "default:chest",
recipe = {
{"group:wood", "group:wood", "group:wood"},
{"group:wood", "", "group:wood"},
{"group:wood", "group:wood", "group:wood"},
}
})
minetest.register_craft({
output = "default:chest_locked",
recipe = {
{"group:wood", "group:wood", "group:wood"},
{"group:wood", "default:steel_ingot", "group:wood"},
{"group:wood", "group:wood", "group:wood"},
}
})
minetest.register_craft( {
type = "shapeless",
output = "default:chest_locked",
recipe = {"default:chest", "default:steel_ingot"},
})
minetest.register_craft({
type = "fuel",
recipe = "default:chest",
burntime = 30,
})
minetest.register_craft({
type = "fuel",
recipe = "default:chest_locked",
burntime = 30,
})

View File

@ -56,13 +56,6 @@ minetest.register_craft({
}
})
minetest.register_craft({
output = "default:stick 4",
recipe = {
{"group:wood"},
}
})
minetest.register_craft({
output = "default:sign_wall_steel 3",
recipe = {
@ -81,273 +74,6 @@ minetest.register_craft({
}
})
minetest.register_craft({
output = "default:torch 4",
recipe = {
{"default:coal_lump"},
{"group:stick"},
}
})
minetest.register_craft({
output = "default:pick_wood",
recipe = {
{"group:wood", "group:wood", "group:wood"},
{"", "group:stick", ""},
{"", "group:stick", ""},
}
})
minetest.register_craft({
output = "default:pick_stone",
recipe = {
{"group:stone", "group:stone", "group:stone"},
{"", "group:stick", ""},
{"", "group:stick", ""},
}
})
minetest.register_craft({
output = "default:pick_steel",
recipe = {
{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"},
{"", "group:stick", ""},
{"", "group:stick", ""},
}
})
minetest.register_craft({
output = "default:pick_bronze",
recipe = {
{"default:bronze_ingot", "default:bronze_ingot", "default:bronze_ingot"},
{"", "group:stick", ""},
{"", "group:stick", ""},
}
})
minetest.register_craft({
output = "default:pick_mese",
recipe = {
{"default:mese_crystal", "default:mese_crystal", "default:mese_crystal"},
{"", "group:stick", ""},
{"", "group:stick", ""},
}
})
minetest.register_craft({
output = "default:pick_diamond",
recipe = {
{"default:diamond", "default:diamond", "default:diamond"},
{"", "group:stick", ""},
{"", "group:stick", ""},
}
})
minetest.register_craft({
output = "default:shovel_wood",
recipe = {
{"group:wood"},
{"group:stick"},
{"group:stick"},
}
})
minetest.register_craft({
output = "default:shovel_stone",
recipe = {
{"group:stone"},
{"group:stick"},
{"group:stick"},
}
})
minetest.register_craft({
output = "default:shovel_steel",
recipe = {
{"default:steel_ingot"},
{"group:stick"},
{"group:stick"},
}
})
minetest.register_craft({
output = "default:shovel_bronze",
recipe = {
{"default:bronze_ingot"},
{"group:stick"},
{"group:stick"},
}
})
minetest.register_craft({
output = "default:shovel_mese",
recipe = {
{"default:mese_crystal"},
{"group:stick"},
{"group:stick"},
}
})
minetest.register_craft({
output = "default:shovel_diamond",
recipe = {
{"default:diamond"},
{"group:stick"},
{"group:stick"},
}
})
-- Axes
-- Recipes face left to match appearence in textures and inventory
minetest.register_craft({
output = "default:axe_wood",
recipe = {
{"group:wood", "group:wood"},
{"group:wood", "group:stick"},
{"", "group:stick"},
}
})
minetest.register_craft({
output = "default:axe_stone",
recipe = {
{"group:stone", "group:stone"},
{"group:stone", "group:stick"},
{"", "group:stick"},
}
})
minetest.register_craft({
output = "default:axe_steel",
recipe = {
{"default:steel_ingot", "default:steel_ingot"},
{"default:steel_ingot", "group:stick"},
{"", "group:stick"},
}
})
minetest.register_craft({
output = "default:axe_bronze",
recipe = {
{"default:bronze_ingot", "default:bronze_ingot"},
{"default:bronze_ingot", "group:stick"},
{"", "group:stick"},
}
})
minetest.register_craft({
output = "default:axe_mese",
recipe = {
{"default:mese_crystal", "default:mese_crystal"},
{"default:mese_crystal", "group:stick"},
{"", "group:stick"},
}
})
minetest.register_craft({
output = "default:axe_diamond",
recipe = {
{"default:diamond", "default:diamond"},
{"default:diamond", "group:stick"},
{"", "group:stick"},
}
})
minetest.register_craft({
output = "default:sword_wood",
recipe = {
{"group:wood"},
{"group:wood"},
{"group:stick"},
}
})
minetest.register_craft({
output = "default:sword_stone",
recipe = {
{"group:stone"},
{"group:stone"},
{"group:stick"},
}
})
minetest.register_craft({
output = "default:sword_steel",
recipe = {
{"default:steel_ingot"},
{"default:steel_ingot"},
{"group:stick"},
}
})
minetest.register_craft({
output = "default:sword_bronze",
recipe = {
{"default:bronze_ingot"},
{"default:bronze_ingot"},
{"group:stick"},
}
})
minetest.register_craft({
output = "default:sword_mese",
recipe = {
{"default:mese_crystal"},
{"default:mese_crystal"},
{"group:stick"},
}
})
minetest.register_craft({
output = "default:sword_diamond",
recipe = {
{"default:diamond"},
{"default:diamond"},
{"group:stick"},
}
})
minetest.register_craft({
output = "default:skeleton_key",
recipe = {
{"default:gold_ingot"},
}
})
minetest.register_craft({
output = "default:chest",
recipe = {
{"group:wood", "group:wood", "group:wood"},
{"group:wood", "", "group:wood"},
{"group:wood", "group:wood", "group:wood"},
}
})
minetest.register_craft({
output = "default:chest_locked",
recipe = {
{"group:wood", "group:wood", "group:wood"},
{"group:wood", "default:steel_ingot", "group:wood"},
{"group:wood", "group:wood", "group:wood"},
}
})
minetest.register_craft( {
type = "shapeless",
output = "default:chest_locked",
recipe = {"default:chest", "default:steel_ingot"},
})
minetest.register_craft({
output = "default:furnace",
recipe = {
{"group:stone", "group:stone", "group:stone"},
{"group:stone", "", "group:stone"},
{"group:stone", "group:stone", "group:stone"},
}
})
minetest.register_craft({
output = "default:coalblock",
recipe = {
@ -357,13 +83,6 @@ minetest.register_craft({
}
})
minetest.register_craft({
output = "default:coal_lump 9",
recipe = {
{"default:coalblock"},
}
})
minetest.register_craft({
output = "default:steelblock",
recipe = {
@ -373,13 +92,6 @@ minetest.register_craft({
}
})
minetest.register_craft({
output = "default:steel_ingot 9",
recipe = {
{"default:steelblock"},
}
})
minetest.register_craft({
output = "default:copperblock",
recipe = {
@ -389,13 +101,6 @@ minetest.register_craft({
}
})
minetest.register_craft({
output = "default:copper_ingot 9",
recipe = {
{"default:copperblock"},
}
})
minetest.register_craft({
output = "default:tinblock",
recipe = {
@ -405,22 +110,6 @@ minetest.register_craft({
}
})
minetest.register_craft({
output = "default:tin_ingot 9",
recipe = {
{"default:tinblock"},
}
})
minetest.register_craft({
output = "default:bronze_ingot 9",
recipe = {
{"default:copper_ingot", "default:copper_ingot", "default:copper_ingot"},
{"default:copper_ingot", "default:tin_ingot", "default:copper_ingot"},
{"default:copper_ingot", "default:copper_ingot", "default:copper_ingot"},
}
})
minetest.register_craft({
output = "default:bronzeblock",
recipe = {
@ -446,13 +135,6 @@ minetest.register_craft({
}
})
minetest.register_craft({
output = "default:gold_ingot 9",
recipe = {
{"default:goldblock"},
}
})
minetest.register_craft({
output = "default:diamondblock",
recipe = {
@ -462,13 +144,6 @@ minetest.register_craft({
}
})
minetest.register_craft({
output = "default:diamond 9",
recipe = {
{"default:diamondblock"},
}
})
minetest.register_craft({
output = "default:sandstone",
recipe = {
@ -573,13 +248,6 @@ minetest.register_craft({
}
})
minetest.register_craft({
output = "default:clay_lump 4",
recipe = {
{"default:clay"},
}
})
minetest.register_craft({
output = "default:brick",
recipe = {
@ -588,29 +256,6 @@ minetest.register_craft({
}
})
minetest.register_craft({
output = "default:clay_brick 4",
recipe = {
{"default:brick"},
}
})
minetest.register_craft({
output = "default:paper",
recipe = {
{"default:papyrus", "default:papyrus", "default:papyrus"},
}
})
minetest.register_craft({
output = "default:book",
recipe = {
{"default:paper"},
{"default:paper"},
{"default:paper"},
}
})
minetest.register_craft({
output = "default:bookshelf",
recipe = {
@ -647,29 +292,6 @@ minetest.register_craft({
}
})
minetest.register_craft({
output = "default:mese_crystal 9",
recipe = {
{"default:mese"},
}
})
minetest.register_craft({
output = "default:mese_crystal_fragment 9",
recipe = {
{"default:mese_crystal"},
}
})
minetest.register_craft({
output = "default:mese_crystal",
recipe = {
{"default:mese_crystal_fragment", "default:mese_crystal_fragment", "default:mese_crystal_fragment"},
{"default:mese_crystal_fragment", "default:mese_crystal_fragment", "default:mese_crystal_fragment"},
{"default:mese_crystal_fragment", "default:mese_crystal_fragment", "default:mese_crystal_fragment"},
}
})
minetest.register_craft({
output = "default:meselamp",
recipe = {
@ -687,13 +309,6 @@ minetest.register_craft({
}
})
minetest.register_craft({
output = "default:obsidian_shard 9",
recipe = {
{"default:obsidian"}
}
})
minetest.register_craft({
output = "default:obsidian",
recipe = {
@ -833,50 +448,6 @@ minetest.register_craft({
recipe = "default:desert_cobble",
})
minetest.register_craft({
type = "cooking",
output = "default:steel_ingot",
recipe = "default:iron_lump",
})
minetest.register_craft({
type = "cooking",
output = "default:copper_ingot",
recipe = "default:copper_lump",
})
minetest.register_craft({
type = "cooking",
output = "default:tin_ingot",
recipe = "default:tin_lump",
})
minetest.register_craft({
type = "cooking",
output = "default:gold_ingot",
recipe = "default:gold_lump",
})
minetest.register_craft({
type = "cooking",
output = "default:clay_brick",
recipe = "default:clay_lump",
})
minetest.register_craft({
type = "cooking",
output = "default:gold_ingot",
recipe = "default:skeleton_key",
cooktime = 5,
})
minetest.register_craft({
type = "cooking",
output = "default:gold_ingot",
recipe = "default:key",
cooktime = 5,
})
--
-- Fuels
@ -1005,7 +576,6 @@ minetest.register_craft({
burntime = 7,
})
minetest.register_craft({
type = "fuel",
recipe = "default:fence_aspen_wood",
@ -1067,7 +637,6 @@ minetest.register_craft({
burntime = 7,
})
minetest.register_craft({
type = "fuel",
recipe = "default:bush_stem",
@ -1134,36 +703,12 @@ minetest.register_craft({
burntime = 60,
})
minetest.register_craft({
type = "fuel",
recipe = "default:torch",
burntime = 4,
})
minetest.register_craft({
type = "fuel",
recipe = "default:sign_wall_wood",
burntime = 10,
})
minetest.register_craft({
type = "fuel",
recipe = "default:chest",
burntime = 30,
})
minetest.register_craft({
type = "fuel",
recipe = "default:chest_locked",
burntime = 30,
})
minetest.register_craft({
type = "fuel",
recipe = "default:coal_lump",
burntime = 40,
})
minetest.register_craft({
type = "fuel",
recipe = "default:coalblock",
@ -1194,57 +739,8 @@ minetest.register_craft({
burntime = 2,
})
minetest.register_craft({
type = "fuel",
recipe = "default:paper",
burntime = 1,
})
minetest.register_craft({
type = "fuel",
recipe = "default:book",
burntime = 3,
})
minetest.register_craft({
type = "fuel",
recipe = "default:book_written",
burntime = 3,
})
minetest.register_craft({
type = "fuel",
recipe = "default:dry_shrub",
burntime = 2,
})
minetest.register_craft({
type = "fuel",
recipe = "group:stick",
burntime = 1,
})
minetest.register_craft({
type = "fuel",
recipe = "default:pick_wood",
burntime = 6,
})
minetest.register_craft({
type = "fuel",
recipe = "default:shovel_wood",
burntime = 4,
})
minetest.register_craft({
type = "fuel",
recipe = "default:axe_wood",
burntime = 6,
})
minetest.register_craft({
type = "fuel",
recipe = "default:sword_wood",
burntime = 5,
})

View File

@ -3,19 +3,6 @@
-- support for MT game translation.
local S = default.get_translator
minetest.register_craftitem("default:stick", {
description = S("Stick"),
inventory_image = "default_stick.png",
groups = {stick = 1, flammable = 2},
})
minetest.register_craftitem("default:paper", {
description = S("Paper"),
inventory_image = "default_paper.png",
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()
@ -158,54 +145,9 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
player:set_wielded_item(stack)
end)
minetest.register_craftitem("default:book", {
description = S("Book"),
inventory_image = "default_book.png",
groups = {book = 1, flammable = 3},
on_use = book_on_use,
})
minetest.register_craftitem("default:book_written", {
description = S("Book with Text"),
inventory_image = "default_book_written.png",
groups = {book = 1, not_in_creative_inventory = 1, flammable = 3},
stack_max = 1,
on_use = book_on_use,
})
minetest.register_craft({
type = "shapeless",
output = "default:book_written",
recipe = {"default:book", "default:book_written"}
})
minetest.register_on_craft(function(itemstack, player, old_craft_grid, craft_inv)
if itemstack:get_name() ~= "default:book_written" then
return
end
local original
local index
for i = 1, player:get_inventory():get_size("craft") do
if old_craft_grid[i]:get_name() == "default:book_written" then
original = old_craft_grid[i]
index = i
end
end
if not original then
return
end
local copymeta = original:get_meta():to_table()
-- copy of the book held by player's mouse cursor
itemstack:get_meta():from_table(copymeta)
-- put the book with metadata back in the craft grid
craft_inv:set_stack("craft", index, original)
end)
minetest.register_craftitem("default:skeleton_key", {
description = S("Skeleton Key"),
inventory_image = "default_key_skeleton.png",
groups = {key = 1},
on_use = function(itemstack, user, pointed_thing)
if pointed_thing.type ~= "node" then
return itemstack
@ -258,91 +200,9 @@ minetest.register_craftitem("default:skeleton_key", {
end
})
minetest.register_craftitem("default:coal_lump", {
description = S("Coal Lump"),
inventory_image = "default_coal_lump.png",
groups = {coal = 1, flammable = 1}
})
minetest.register_craftitem("default:iron_lump", {
description = S("Iron Lump"),
inventory_image = "default_iron_lump.png"
})
minetest.register_craftitem("default:copper_lump", {
description = S("Copper Lump"),
inventory_image = "default_copper_lump.png"
})
minetest.register_craftitem("default:tin_lump", {
description = S("Tin Lump"),
inventory_image = "default_tin_lump.png"
})
minetest.register_craftitem("default:mese_crystal", {
description = S("Mese Crystal"),
inventory_image = "default_mese_crystal.png",
})
minetest.register_craftitem("default:gold_lump", {
description = S("Gold Lump"),
inventory_image = "default_gold_lump.png"
})
minetest.register_craftitem("default:diamond", {
description = S("Diamond"),
inventory_image = "default_diamond.png",
})
minetest.register_craftitem("default:clay_lump", {
description = S("Clay Lump"),
inventory_image = "default_clay_lump.png",
})
minetest.register_craftitem("default:steel_ingot", {
description = S("Steel Ingot"),
inventory_image = "default_steel_ingot.png"
})
minetest.register_craftitem("default:copper_ingot", {
description = S("Copper Ingot"),
inventory_image = "default_copper_ingot.png"
})
minetest.register_craftitem("default:tin_ingot", {
description = S("Tin Ingot"),
inventory_image = "default_tin_ingot.png"
})
minetest.register_craftitem("default:bronze_ingot", {
description = S("Bronze Ingot"),
inventory_image = "default_bronze_ingot.png"
})
minetest.register_craftitem("default:gold_ingot", {
description = S("Gold Ingot"),
inventory_image = "default_gold_ingot.png"
})
minetest.register_craftitem("default:mese_crystal_fragment", {
description = S("Mese Crystal Fragment"),
inventory_image = "default_mese_crystal_fragment.png",
})
minetest.register_craftitem("default:clay_brick", {
description = S("Clay Brick"),
inventory_image = "default_clay_brick.png",
})
minetest.register_craftitem("default:obsidian_shard", {
description = S("Obsidian Shard"),
inventory_image = "default_obsidian_shard.png",
})
minetest.register_craftitem("default:flint", {
description = S("Flint"),
inventory_image = "default_flint.png"
})
--
-- Craftitem registry
--
minetest.register_craftitem("default:blueberries", {
description = S("Blueberries"),
@ -350,3 +210,329 @@ minetest.register_craftitem("default:blueberries", {
groups = {food_blueberries = 1, food_berry = 1},
on_use = minetest.item_eat(2),
})
minetest.register_craftitem("default:book", {
description = S("Book"),
inventory_image = "default_book.png",
groups = {book = 1, flammable = 3},
on_use = book_on_use,
})
minetest.register_craftitem("default:book_written", {
description = S("Book with Text"),
inventory_image = "default_book_written.png",
groups = {book = 1, not_in_creative_inventory = 1, flammable = 3},
stack_max = 1,
on_use = book_on_use,
})
minetest.register_craftitem("default:bronze_ingot", {
description = S("Bronze Ingot"),
inventory_image = "default_bronze_ingot.png"
})
minetest.register_craftitem("default:clay_brick", {
description = S("Clay Brick"),
inventory_image = "default_clay_brick.png",
})
minetest.register_craftitem("default:clay_lump", {
description = S("Clay Lump"),
inventory_image = "default_clay_lump.png",
})
minetest.register_craftitem("default:coal_lump", {
description = S("Coal Lump"),
inventory_image = "default_coal_lump.png",
groups = {coal = 1, flammable = 1}
})
minetest.register_craftitem("default:copper_ingot", {
description = S("Copper Ingot"),
inventory_image = "default_copper_ingot.png"
})
minetest.register_craftitem("default:copper_lump", {
description = S("Copper Lump"),
inventory_image = "default_copper_lump.png"
})
minetest.register_craftitem("default:diamond", {
description = S("Diamond"),
inventory_image = "default_diamond.png",
})
minetest.register_craftitem("default:flint", {
description = S("Flint"),
inventory_image = "default_flint.png"
})
minetest.register_craftitem("default:gold_ingot", {
description = S("Gold Ingot"),
inventory_image = "default_gold_ingot.png"
})
minetest.register_craftitem("default:gold_lump", {
description = S("Gold Lump"),
inventory_image = "default_gold_lump.png"
})
minetest.register_craftitem("default:iron_lump", {
description = S("Iron Lump"),
inventory_image = "default_iron_lump.png"
})
minetest.register_craftitem("default:mese_crystal", {
description = S("Mese Crystal"),
inventory_image = "default_mese_crystal.png",
})
minetest.register_craftitem("default:mese_crystal_fragment", {
description = S("Mese Crystal Fragment"),
inventory_image = "default_mese_crystal_fragment.png",
})
minetest.register_craftitem("default:obsidian_shard", {
description = S("Obsidian Shard"),
inventory_image = "default_obsidian_shard.png",
})
minetest.register_craftitem("default:paper", {
description = S("Paper"),
inventory_image = "default_paper.png",
groups = {flammable = 3},
})
minetest.register_craftitem("default:steel_ingot", {
description = S("Steel Ingot"),
inventory_image = "default_steel_ingot.png"
})
minetest.register_craftitem("default:stick", {
description = S("Stick"),
inventory_image = "default_stick.png",
groups = {stick = 1, flammable = 2},
})
minetest.register_craftitem("default:tin_ingot", {
description = S("Tin Ingot"),
inventory_image = "default_tin_ingot.png"
})
minetest.register_craftitem("default:tin_lump", {
description = S("Tin Lump"),
inventory_image = "default_tin_lump.png"
})
--
-- Crafting recipes
--
minetest.register_craft({
output = "default:book",
recipe = {
{"default:paper"},
{"default:paper"},
{"default:paper"},
}
})
default.register_craft_metadata_copy("default:book", "default:book_written")
minetest.register_craft({
output = "default:bronze_ingot 9",
recipe = {
{"default:copper_ingot", "default:copper_ingot", "default:copper_ingot"},
{"default:copper_ingot", "default:tin_ingot", "default:copper_ingot"},
{"default:copper_ingot", "default:copper_ingot", "default:copper_ingot"},
}
})
minetest.register_craft({
output = "default:clay_brick 4",
recipe = {
{"default:brick"},
}
})
minetest.register_craft({
output = "default:clay_lump 4",
recipe = {
{"default:clay"},
}
})
minetest.register_craft({
output = "default:coal_lump 9",
recipe = {
{"default:coalblock"},
}
})
minetest.register_craft({
output = "default:copper_ingot 9",
recipe = {
{"default:copperblock"},
}
})
minetest.register_craft({
output = "default:diamond 9",
recipe = {
{"default:diamondblock"},
}
})
minetest.register_craft({
output = "default:gold_ingot 9",
recipe = {
{"default:goldblock"},
}
})
minetest.register_craft({
output = "default:mese_crystal",
recipe = {
{"default:mese_crystal_fragment", "default:mese_crystal_fragment", "default:mese_crystal_fragment"},
{"default:mese_crystal_fragment", "default:mese_crystal_fragment", "default:mese_crystal_fragment"},
{"default:mese_crystal_fragment", "default:mese_crystal_fragment", "default:mese_crystal_fragment"},
}
})
minetest.register_craft({
output = "default:mese_crystal 9",
recipe = {
{"default:mese"},
}
})
minetest.register_craft({
output = "default:mese_crystal_fragment 9",
recipe = {
{"default:mese_crystal"},
}
})
minetest.register_craft({
output = "default:obsidian_shard 9",
recipe = {
{"default:obsidian"}
}
})
minetest.register_craft({
output = "default:paper",
recipe = {
{"default:papyrus", "default:papyrus", "default:papyrus"},
}
})
minetest.register_craft({
output = "default:skeleton_key",
recipe = {
{"default:gold_ingot"},
}
})
minetest.register_craft({
output = "default:steel_ingot 9",
recipe = {
{"default:steelblock"},
}
})
minetest.register_craft({
output = "default:stick 4",
recipe = {
{"group:wood"},
}
})
minetest.register_craft({
output = "default:tin_ingot 9",
recipe = {
{"default:tinblock"},
}
})
--
-- Cooking recipes
--
minetest.register_craft({
type = "cooking",
output = "default:clay_brick",
recipe = "default:clay_lump",
})
minetest.register_craft({
type = "cooking",
output = "default:copper_ingot",
recipe = "default:copper_lump",
})
minetest.register_craft({
type = "cooking",
output = "default:gold_ingot",
recipe = "default:gold_lump",
})
minetest.register_craft({
type = "cooking",
output = "default:gold_ingot",
recipe = "default:key",
cooktime = 5,
})
minetest.register_craft({
type = "cooking",
output = "default:gold_ingot",
recipe = "default:skeleton_key",
cooktime = 5,
})
minetest.register_craft({
type = "cooking",
output = "default:steel_ingot",
recipe = "default:iron_lump",
})
minetest.register_craft({
type = "cooking",
output = "default:tin_ingot",
recipe = "default:tin_lump",
})
--
-- Fuels
--
minetest.register_craft({
type = "fuel",
recipe = "default:book",
burntime = 3,
})
minetest.register_craft({
type = "fuel",
recipe = "default:book_written",
burntime = 3,
})
minetest.register_craft({
type = "fuel",
recipe = "default:coal_lump",
burntime = 40,
})
minetest.register_craft({
type = "fuel",
recipe = "default:paper",
burntime = 1,
})
minetest.register_craft({
type = "fuel",
recipe = "group:stick",
burntime = 1,
})

View File

@ -141,7 +141,7 @@ default.cool_lava = function(pos, node)
minetest.set_node(pos, {name = "default:stone"})
end
minetest.sound_play("default_cool_lava",
{pos = pos, max_hear_distance = 16, gain = 0.25})
{pos = pos, max_hear_distance = 16, gain = 0.25}, true)
end
if minetest.settings:get_bool("enable_lavacooling") ~= false then
@ -581,6 +581,40 @@ minetest.register_abm({
end
})
--
-- Register a craft to copy the metadata of items
--
function default.register_craft_metadata_copy(ingredient, result)
minetest.register_craft({
type = "shapeless",
output = result,
recipe = {ingredient, result}
})
minetest.register_on_craft(function(itemstack, player, old_craft_grid, craft_inv)
if itemstack:get_name() ~= result then
return
end
local original
local index
for i = 1, #old_craft_grid do
if old_craft_grid[i]:get_name() == result then
original = old_craft_grid[i]
index = i
end
end
if not original then
return
end
local copymeta = original:get_meta():to_table()
itemstack:get_meta():from_table(copymeta)
-- put the book with metadata back in the craft grid
craft_inv:set_stack("craft", index, original)
end)
end
--
-- NOTICE: This method is not an official part of the API yet.
@ -605,7 +639,7 @@ function default.can_interact_with_node(player, pos)
-- Is player wielding the right key?
local item = player:get_wielded_item()
if item:get_name() == "default:key" then
if minetest.get_item_group(item:get_name(), "key") == 1 then
local key_meta = item:get_meta()
if key_meta:get_string("secret") == "" then

View File

@ -352,3 +352,12 @@ minetest.register_node("default:furnace_active", {
allow_metadata_inventory_move = allow_metadata_inventory_move,
allow_metadata_inventory_take = allow_metadata_inventory_take,
})
minetest.register_craft({
output = "default:furnace",
recipe = {
{"group:stone", "group:stone", "group:stone"},
{"group:stone", "", "group:stone"},
{"group:stone", "group:stone", "group:stone"},
}
})

View File

@ -14,11 +14,22 @@ default.get_translator = S
-- GUI related stuff
minetest.register_on_joinplayer(function(player)
player:set_formspec_prepend([[
-- Set formspec prepend
local formspec = [[
bgcolor[#080808BB;true]
background[5,5;1,1;gui_formbg.png;true]
background9[5,5;1,1;gui_formbg.png;true;10]
listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF] ]])
listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF] ]]
local name = player:get_player_name()
local info = minetest.get_player_information(name)
if info.formspec_version > 1 then
formspec = formspec .. "background9[5,5;1,1;gui_formbg.png;true;10]"
else
formspec = formspec .. "background[5,5;1,1;gui_formbg.png;true]"
end
player:set_formspec_prepend(formspec)
-- Set hotbar textures
player:hud_set_hotbar_image("gui_hotbar.png")
player:hud_set_hotbar_selected_image("gui_hotbar_selected.png")
end)
function default.get_hotbar_bg(x,y)

View File

@ -20,7 +20,7 @@ local item = {
minetest.sound_play("default_item_smoke", {
pos = p,
max_hear_distance = 8,
})
}, true)
minetest.add_particlespawner({
amount = 3,
time = 0.1,

View File

@ -0,0 +1,211 @@
# textdomain: default
Locked Chest=Peti Berkunci
Locked Chest (owned by @1)=Peti Berkunci (milik @1)
You do not own this chest.=Ini bukan peti milik anda.
a locked chest=peti berkunci
Chest=Peti
Stick=Serpihan Kayu
Paper=Kertas
"@1" by @2="@1" oleh @2
Book=Buku
Book with Text=Buku Bertulisan
Skeleton Key=Kunci Induk
Key to @1's @2=Kunci @2 milik @1
Coal Lump=Longgokan Batu Arang
Iron Lump=Longgokan Besi
Copper Lump=Longgokan Tembaga
Tin Lump=Longgokan Timah
Mese Crystal=Kristal Mese
Gold Lump=Longgokan Emas
Diamond=Berlian
Clay Lump=Longgokan Tanah Liat
Steel Ingot=Jongkong Keluli
Copper Ingot=Jongkong Tembaga
Tin Ingot=Jongkong Timah
Bronze Ingot=Jongkong Gangsa
Gold Ingot=Jongkong Emas
Mese Crystal Fragment=Serpihan Mese
Clay Brick=Bata Tanah Liat
Obsidian Shard=Serpihan Obsidia
Flint=Batu Api
Blueberries=Beri Biru
Furnace is empty=Relau masih kosong
100% (output full)=100% (keluaran penuh)
@1%=@1%
Empty=Kosong
Not cookable=Tidak boleh dimasak
Furnace active=Relau aktif
Furnace inactive=Relau tidak aktif
(Item: @1; Fuel: @2)=(Item: @1; Bahan api: @2)
Furnace=Relau
Stone=Batu
Cobblestone=Batu Buntar
Stone Brick=Bata Batu
Stone Block=Bongkah Batu
Mossy Cobblestone=Batu Buntar Berlumut
Desert Stone=Batu Gurun
Desert Cobblestone=Batu Buntar Gurun
Desert Stone Brick=Bata Batu Gurun
Desert Stone Block=Bongkah Batu Gurun
Sandstone=Batu Pasir
Sandstone Brick=Bata Batu Pasir
Sandstone Block=Bongkah Batu Pasir
Desert Sandstone=Batu Pasir Gurun
Desert Sandstone Brick=Bata Batu Pasir Gurun
Desert Sandstone Block=Bongkah Batu Pasir Gurun
Silver Sandstone=Batu Pasir Perak
Silver Sandstone Brick=Bata Batu Pasir Perak
Silver Sandstone Block=Bongkah Batu Pasir Perak
Obsidian=Obsidia
Obsidian Brick=Bata Obsidia
Obsidian Block=Bongkah Obsidia
Dirt=Tanah
Dirt with Grass=Tanah Berumput
Dirt with Grass and Footsteps=Tanah Berumput dan Tapak Kaki
Dirt with Dry Grass=Tanah Berumput Kering
Dirt with Snow=Tanah Bersalji
Dirt with Rainforest Litter=Tanah Bersarap Hutan Hujan
Dirt with Coniferous Litter=Tanah Bersarap Hutan Konifer
Dry Dirt=Tanah Kering
Dry Dirt with Dry Grass=Tanah Kering Berumput Kering
Permafrost=Ibun Abadi
Permafrost with Stones=Ibun Abadi Berbatu
Permafrost with Moss=Ibun Abadi Berlumut
Sand=Pasir
Desert Sand=Pasir Gurun
Silver Sand=Pasir Perak
Gravel=Kelikir
Clay=Tanah Liat
Snow=Salji
Snow Block=Bongkah Salji
Ice=Ais
Cave Ice=Ais Gua
Apple Tree=Kayu Pokok Epal
Apple Wood Planks=Papan Kayu Epal
Apple Tree Sapling=Anak Pokok Epal
Apple Tree Leaves=Daun Pokok Epal
Apple=Epal
Apple Marker=Penanda Epal
Jungle Tree=Kayu Pokok Hutan
Jungle Wood Planks=Papan Kayu Hutan
Jungle Tree Leaves=Daun Pokok Hutan
Jungle Tree Sapling=Anak Pokok Hutan
Emergent Jungle Tree Sapling=Anak Pokok Hutan Kembang
Pine Tree=Kayu Pokok Pain
Pine Wood Planks=Papan Kayu Pain
Pine Needles=Daun Pokok Pain
Pine Tree Sapling=Anak Pokok Pain
Acacia Tree=Kayu Pokok Akasia
Acacia Wood Planks=Papan Kayu Akasia
Acacia Tree Leaves=Daun Pokok Akasia
Acacia Tree Sapling=Anak Pokok Akasia
Aspen Tree=Kayu Pokok Aspen
Aspen Wood Planks=Papan Kayu Aspen
Aspen Tree Leaves=Daun Pokok Aspen
Aspen Tree Sapling=Anak Pokok Aspen
Coal Ore=Bijih Batu Arang
Coal Block=Bongkah Batu Arang
Iron Ore=Bijih Besi
Steel Block=Bongkah Keluli
Copper Ore=Bijih Tembaga
Copper Block=Bongkah Tembaga
Tin Ore=Bijih Timah
Tin Block=Bongkah Timah
Bronze Block=Bongkah Gangsa
Mese Ore=Bijih Mese
Mese Block=Bongkah Mese
Gold Ore=Bijih Emas
Gold Block=Bongkah Emas
Diamond Ore=Bijih Intan
Diamond Block=Bongkah Intan
Cactus=Kaktus
Large Cactus Seedling=Benih Kaktus Besar
Papyrus=Papirus
Dry Shrub=Pokok Renek Kering
Jungle Grass=Rumput Hutan
Grass=Rumput
Dry Grass=Rumput Kering
Fern=Paku Pakis
Marram Grass=Rumput Maram
Bush Stem=Batang Belukar
Bush Leaves=Daun Belukar
Bush Sapling=Anak Belukar
Blueberry Bush Leaves with Berries=Daun Belukar Beri Biru Berberi
Blueberry Bush Leaves=Daun Belukar Beri Biru
Blueberry Bush Sapling=Anak Belukar Beri Biru
Acacia Bush Stem=Batang Belukar Akasia
Acacia Bush Leaves=Daun Belukar Akasia
Acacia Bush Sapling=Anak Belukar Akasia
Pine Bush Stem=Batang Belukar Pain
Pine Bush Needles=Daun Belukar Pain
Pine Bush Sapling=Anak Belukar Pain
Kelp=Kelpa
Green Coral=Batu Karang Hijau
Pink Coral=Batu Karang Merah Jambu
Cyan Coral=Batu Karang Biru Kehijauan
Brown Coral=Batu Karang Perang
Orange Coral=Batu Karang Jingga
Coral Skeleton= Rangka Karang
Water Source=Sumber Air
Flowing Water=Air Mengalir
River Water Source=Sumber Air Sungai
Flowing River Water=Air Sungai Mengalir
Lava Source=Sumber Lava
Flowing Lava=Lava Mengalir
Empty Bookshelf=Rak Buku Kosong
Bookshelf (@1 written, @2 empty books)=Rak Buku (@1 buku bertulis, @2 buku kosong)
Bookshelf=Rak Buku
Text too long=Tulisan terlalu panjang
Wooden Sign=Papan Tanda Kayu
Steel Sign=Papan Tanda Keluli
Wooden Ladder=Tangga Panjat Kayu
Steel Ladder=Tangga Panjat Keluli
Apple Wood Fence=Pagar Kayu Epal
Acacia Wood Fence=Pagar Kayu Akasia
Jungle Wood Fence=Pagar Kayu Hutan
Pine Wood Fence=Pagar Kayu Pain
Aspen Wood Fence=Pagar Kayu Aspen
Apple Wood Fence Rail=Pagar Rel Kayu Epal
Acacia Wood Fence Rail=Pagar Rel Kayu Akasia
Jungle Wood Fence Rail=Pagar Rel Kayu Hutan
Pine Wood Fence Rail=Pagar Rel Kayu Pain
Aspen Wood Fence Rail=Pagar Rel Kayu Aspen
Glass=Kaca
Obsidian Glass=Kaca Obsidia
Brick Block=Bongkah Bata
Mese Lamp=Lampu Mese
Mese Post Light=Lampu Tiang Mese
Cloud=Awan
Wooden Pickaxe=Beliung Kayu
Stone Pickaxe=Beliung Batu
Bronze Pickaxe=Beliung Gangsa
Steel Pickaxe=Beliung Keluli
Mese Pickaxe=Beliung Mese
Diamond Pickaxe=Beliung Intan
Wooden Shovel=Penyodok Kayu
Stone Shovel=Penyodok Batu
Bronze Shovel=Penyodok Gangsa
Steel Shovel=Penyodok Keluli
Mese Shovel=Penyodok Mese
Diamond Shovel=Penyodok Intan
Wooden Axe=Kapak Kayu
Stone Axe=Kapak Batu
Bronze Axe=Kapak Gangsa
Steel Axe=Kapak Keluli
Mese Axe=Kapak Mese
Diamond Axe=Kapak Intan
Wooden Sword=Pedang Kayu
Stone Sword=Pedang Batu
Bronze Sword=Pedang Gangsa
Steel Sword=Pedang Keluli
Mese Sword=Pedang Mese
Diamond Sword=Pedang Intan
Key=Kunci
Torch=Obor
@1 will intersect protection on growth.=@1 akan masuk kawasan perlindungan lain apabila ia tumbuh.
Title:=Tajuk:
Contents:=Kandungan:
Save=Simpan
by @1=oleh @1
Page @1 of @2=Ms. @1 / @2
"@1"="@1"

View File

@ -0,0 +1,211 @@
# textdomain: default
Locked Chest=Заблокированный Сундук
Locked Chest (owned by @1)=Заблокированный Сундук (владелец: @1)
You do not own this chest.=Вы не владелец этого сундука.
a locked chest=заблокированный сундук
Chest=Сундук
Stick=Палка
Paper=Бумага
"@1" by @2="@1" @2
Book=Книга
Book with Text=Книга с Текстом
Skeleton Key=Ключ Скелета
Key to @1's @2=Ключ к @2 от @1
Coal Lump=Кусок Угля
Iron Lump=Кусок Железа
Copper Lump=Кусок Меди
Tin Lump=Кусок Олова
Mese Crystal=Кристалл Месе
Gold Lump=Кусок Золота
Diamond=Алмаз
Clay Lump=Ком Глины
Steel Ingot=Железный Брусок
Copper Ingot=Медный Брусок
Tin Ingot=Оловянный Брусок
Bronze Ingot=Бронзовый Брусок
Gold Ingot=Золотой Брусок
Mese Crystal Fragment=Осколок Кристалла Месе
Clay Brick=Глиняный Кирпич
Obsidian Shard=Обсидиановый Осколок
Flint=Огниво
Blueberries=Черника
Furnace is empty=Печь пустая
100% (output full)=100% (полное приготовление)
@1%=@1%
Empty=Пустое
Not cookable=Не может быть приготовлено
Furnace active=Печь зажжена
Furnace inactive=Печь не зажжена
(Item: @1; Fuel: @2)=(Предмет: @1; Топливо: @2)
Furnace=Печь
Stone=Камень
Cobblestone=Булыжник
Stone Brick=Каменный Кирпич
Stone Block=Каменный Блок
Mossy Cobblestone=Мшистый Булыжник
Desert Stone=Пустынный Камень
Desert Cobblestone=Пустынный Булыжник
Desert Stone Brick=Пустынный Каменный Кирпич
Desert Stone Block=Пустынный Каменный Блок
Sandstone=Песчаник
Sandstone Brick=Песчаниковый Кирпич
Sandstone Block=Песчаниковый Блок
Desert Sandstone=Пустынный Песчаник
Desert Sandstone Brick=Пустынный Песчаниковый Кирпич
Desert Sandstone Block=Пустынный Песчаниковый Блок
Silver Sandstone=Серебряный Песчаник
Silver Sandstone Brick=Серебряный Песчаниковый Кирпич
Silver Sandstone Block=Серебряный Песчаниковый Блок
Obsidian=Обсидиан
Obsidian Brick=Обсидиановый Кирпич
Obsidian Block=Обсидиановый Блок
Dirt=Земля
Dirt with Grass=Земля с Травой
Dirt with Grass and Footsteps=Земля с Травой и Следами
Dirt with Dry Grass=Земля с Сухой Травой
Dirt with Snow=Земля Со Снегом
Dirt with Rainforest Litter=Земля с Тропической Подстилкой
Dirt with Coniferous Litter=Земля с Сосновой Подстилкой
Dry Dirt=Сухая Земля
Dry Dirt with Dry Grass=Сухая Земля с Сухой Травой
Permafrost=Замороженная Почва
Permafrost with Stones=Замороженная Почва с Камнями
Permafrost with Moss=Замороженная Почва с Мхом
Sand=Песок
Desert Sand=Пустынный Песок
Silver Sand=Серебряный Песок
Gravel=Гравий
Clay=Глиняный Блок
Snow=Снег
Snow Block=Снежный Блок
Ice=Лёд
Cave Ice=Пещерный Лёд
Apple Tree=Яблоневый Ствол
Apple Wood Planks=Яблоневые Деревянные Доски
Apple Tree Sapling=Яблоневый Саженец
Apple Tree Leaves=Яблоневая Листва
Apple=Яблоко
Apple Marker=Яблочная Метка
Jungle Tree=Ствол Тропического Дерева
Jungle Wood Planks=Деревянные Доски Тропического Дерева
Jungle Tree Leaves=Листва Тропического Дерева
Jungle Tree Sapling=Саженец Тропического Дерева
Emergent Jungle Tree Sapling=Выросший Саженец Тропического Дерева
Pine Tree=Сосновый Ствол
Pine Wood Planks=Сосновые Деревянные Доски
Pine Needles=Сосновая Хвоя
Pine Tree Sapling=Сосновый Саженец
Acacia Tree=Ствол Акации
Acacia Wood Planks=Деревянные Доски Акации
Acacia Tree Leaves=Листва Акации
Acacia Tree Sapling=Саженец Акации
Aspen Tree=Осиновый Ствол
Aspen Wood Planks=Осиновые Деревянные Доски
Aspen Tree Leaves=Осиновая Листва
Aspen Tree Sapling=Осиновый Саженец
Coal Ore=Уголь
Coal Block=Угольный Блок
Iron Ore=Железная Руда
Steel Block=Стальной Блок
Copper Ore=Медная Руда
Copper Block=Медный Блок
Tin Ore=Оловянная Руда
Tin Block=Оловянный Блок
Bronze Block=Бронзовый Блок
Mese Ore=Месевая Руда
Mese Block=Месевый Блок
Gold Ore=Золотая Руда
Gold Block=Золотой Блок
Diamond Ore=Алмаз
Diamond Block=Алмазный Блок
Cactus=Кактус
Large Cactus Seedling=Кактусовый Саженец
Papyrus=Папирус
Dry Shrub=Сухой Куст
Jungle Grass=Тропическая Трава
Grass=Трава
Dry Grass=Сухая Трава
Fern=Папоротник
Marram Grass=Песколюб
Bush Stem=Ствол Яблочного Деревца
Bush Leaves=Листья Яблочного Деревца
Bush Sapling=Саженца яблочного деревца
Blueberry Bush Leaves with Berries=Куст Черники с Ягодами
Blueberry Bush Leaves=Куст Черники
Blueberry Bush Sapling=Саженца Куста Черники
Acacia Bush Stem=Ствол Деревца Акации
Acacia Bush Leaves=Листья Деревца Акации
Acacia Bush Sapling=Саженца Деревца Акации
Pine Bush Stem=Сосновое Деревце
Pine Bush Needles=Хвоя Соснового Деревца
Pine Bush Sapling=Саженца Соснового Деревца
Kelp=Ламинария
Green Coral=Зеленый Коралл
Pink Coral=Розовый Коралл
Cyan Coral=Голубой Коралл
Brown Coral=Бурый Коралл
Orange Coral=Оранжевый Коралл
Coral Skeleton=Коралловый Остов
Water Source=Водный Источник
Flowing Water=Текущая Вода
River Water Source=Речной Водный Источник
Flowing River Water=Текущая Речная Вода
Lava Source=Лавовый Источник
Flowing Lava=Текущая Лава
Empty Bookshelf=Пустая Книжная Полка
Bookshelf (@1 written, @2 empty books)=Книжная Полка (@1 написано, @2 чистые книги)
Bookshelf=Книжная Полка
Text too long=Текст слишком длинный
Wooden Sign=Деревянная Табличка
Steel Sign=Стальная Табличка
Wooden Ladder=Деревянная Лестница
Steel Ladder=Стальная Лестница
Apple Wood Fence=Яблоневый Деревянный Забор
Acacia Wood Fence=Деревянный Забор Из Акации
Jungle Wood Fence=Деревянный Забор Из Тропического Дерева
Pine Wood Fence=Сосновый Деревянный Забор
Aspen Wood Fence=Осиновый Деревянный Забор
Apple Wood Fence Rail=Яблоневый Деревянный Реечный Забор
Acacia Wood Fence Rail=Деревянный Реечный Забор Из Акации
Jungle Wood Fence Rail=Деревянный Реечный Забор Из Тропического Дерева
Pine Wood Fence Rail=Сосновый Деревянный Реечный Забор
Aspen Wood Fence Rail=Осиновый Деревянный Реечный Забор
Glass=Стекло
Obsidian Glass=Обсидиановое Стекло
Brick Block=Кирпичный Блок
Mese Lamp=Месе Лампа
Mese Post Light=Столб с Месе Фонарем
Cloud=Облако
Wooden Pickaxe=Деревянная Кирка
Stone Pickaxe=Каменная Кирка
Bronze Pickaxe=Бронзовая Кирка
Steel Pickaxe=Стальная Кирка
Mese Pickaxe=Месе Кирка
Diamond Pickaxe=Алмазная Кирка
Wooden Shovel=Деревянная Лопата
Stone Shovel=Каменная Лопата
Bronze Shovel=Бронзовая Лопата
Steel Shovel=Стальная Лопата
Mese Shovel=Месе Лопата
Diamond Shovel=Алмазная Лопата
Wooden Axe=Деревянный Топор
Stone Axe=Каменный Топор
Bronze Axe=Бронзовый Топор
Steel Axe=Стальной Топор
Mese Axe=Месе Топор
Diamond Axe=Алмазный Топор
Wooden Sword=Деревянный Меч
Stone Sword=Каменный Меч
Bronze Sword=Бронзовый Меч
Steel Sword=Стальной Меч
Mese Sword=Месе Меч
Diamond Sword=Алмазный Меч
Key=Ключ
Torch=Факел
@1 will intersect protection on growth.=@1 пересечёт защиту по росту.
Title:=Заголовок:
Contents:=Содержимое:
Save=Сохранить
by @1=@1
Page @1 of @2=Страница @1 из @2
"@1"="@1"

View File

@ -0,0 +1,211 @@
## textdomain: default
Locked Chest=Låst kista
Locked Chest (owned by @1)=Låst kista (Ägd av @1)
You do not own this chest.=Du äger inte denna kistan.
a locked chest=en låst kista
Chest=Kista
Stick=Pinne
Paper=Papper
"@1" by @2="@1" av @2
Book=Bok
Book with Text=Bok med text
Skeleton Key=Skelett Nyckel
Key to @1's @2=Nyckel till @1s @2
Coal Lump=Kol Klumo
Iron Lump=Järn Klump
Copper Lump=Koppar Klump
Tin Lump=Tenn Klump
Mese Crystal=Mese Kristall
Gold Lump=Guld Klump
Diamond=Diamant
Clay Lump=Lerklump
Steel Ingot=Stål tacka
Copper Ingot=Koppar tacka
Tin Ingot=Tenn tacka
Bronze Ingot=Brons tacka
Gold Ingot=Guld tacka
Mese Crystal Fragment=Mese Kristall Fragment
Clay Brick=Tegelsten
Obsidian Shard=Obsidian Skärva
Flint=Flinta
Blueberries=Blåbär
Furnace is empty=Ugnen är tom
100% (output full)=100% (utgången full)
@1%=@1%
Empty=Tom
Not cookable=Inte kokbar
Furnace active=Ugn aktiv
Furnace inactive=Ugn inaktiv
(Item: @1; Fuel: @2)=(Sak: @1; Bränsle: @2)
Furnace=Ugn
Stone=Sten
Cobblestone=Kullersten
Stone Brick=Stentegel
Stone Block=Sten block
Mossy Cobblestone=Mossig kullersten
Desert Stone=Öken sten
Desert Cobblestone=Öken kullersten
Desert Stone Brick=Öken stentegel
Desert Stone Block=Öken sten block
Sandstone=Sandsten
Sandstone Brick=Sandstenstegel
Sandstone Block=Sandsten block
Desert Sandstone=Öken sandsten
Desert Sandstone Brick=Öken Sandstenstegel
Desert Sandstone Block=Öken sandsten block
Silver Sandstone=Silver sandsten
Silver Sandstone Brick=Silver Sandstenstegel
Silver Sandstone Block=Silver sandsten block
Obsidian=Obsidian
Obsidian Brick=Obsidiantegel
Obsidian Block=Obsidian block
Dirt=Jord
Dirt with Grass=Jord med gräs
Dirt with Grass and Footsteps=Jord med gräs och fotsteg
Dirt with Dry Grass=Jord med torrt gräs
Dirt with Snow=Jord med snö
Dirt with Rainforest Litter=Jord med regnskogströ
Dirt with Coniferous Litter=Jord med Barrträd
Dry Dirt=Torr jord
Dry Dirt with Dry Grass=Torr jord med torrt gräs
Permafrost=Permafrost
Permafrost with Stones=Permafrost med sten
Permafrost with Moss=Permafrost med mossa
Sand=Sand
Desert Sand=Öken sand
Silver Sand=Silver sand
Gravel=Grus
Clay=Lera
Snow=Snö
Snow Block=Snö block
Ice=Is
Cave Ice=Grott Is
Apple Tree=Äpple Träd
Apple Wood Planks=Äpple Plankor
Apple Tree Sapling=Äpple Planta
Apple Tree Leaves=Äpple Löv
Apple=Äpple
Apple Marker=Äpple Markör
Jungle Tree=Djungel Träd
Jungle Wood Planks=Djungel Plankor
Jungle Tree Leaves=Djungel Löv
Jungle Tree Sapling=Djungel Planta
Emergent Jungle Tree Sapling=Nybliven Djungel Planta
Pine Tree=Tall
Pine Wood Planks= Tall Plankor
Pine Needles=Granbarr
Pine Tree Sapling=Tall Planta
Acacia Tree=Akacia Träd
Acacia Wood Planks=Akacia Plankor
Acacia Tree Leaves=Akacia Löv
Acacia Tree Sapling=Akacia Planta
Aspen Tree=Asp
Aspen Wood Planks=Asp Plankor
Aspen Tree Leaves=Asp Löv
Aspen Tree Sapling=Asp Planta
Coal Ore=Kol Malm
Coal Block=Kol Block
Iron Ore=Järn Malm
Steel Block=Stål Block
Copper Ore=Koppar Malm
Copper Block=Koppar Block
Tin Ore=Tenn Malm
Tin Block=Tenn Block
Bronze Block=Brons Block
Mese Ore=Mese Malm
Mese Block=Mese Block
Gold Ore=Guld Malm
Gold Block=Guld Block
Diamond Ore=Diamant Malm
Diamond Block=Diamant Block
Cactus=Kaktus
Large Cactus Seedling=Stor kaktusplanta
Papyrus=Papyrus
Dry Shrub=Torr Buske
Jungle Grass=Djungel Gräs
Grass=Gräs
Dry Grass=Torrt Gräs
Fern=Ormbunke
Marram Grass=Marram Gräs
Bush Stem=Busk Stam
Bush Leaves=Busk Löv
Bush Sapling=Busk Planta
Blueberry Bush Leaves with Berries=Blåbärsbusks Löv med Bär
Blueberry Bush Leaves=Blåbärsbusks Löv
Blueberry Bush Sapling=Blåbärsbusks Plantga
Acacia Bush Stem=Akacia Busks Stam
Acacia Bush Leaves=Akacia Busks Löv
Acacia Bush Sapling=Akacia Busks Planta
Pine Bush Stem=Tall Busks Stam
Pine Bush Needles=Tall Busks Granbarr
Pine Bush Sapling=Tall Busks Planta
Kelp=Brunalg
Green Coral=Grön Korall
Pink Coral=Rosa Korall
Cyan Coral=Cyan Korall
Brown Coral=Brun Korall
Orange Coral=Orange Korall
Coral Skeleton=Korall Skelett
Water Source=Vattenkälla
Flowing Water=Flödande Vatten
River Water Source=Flodvattenkälla
Flowing River Water=Flödande Flodvatten
Lava Source=Lavakälla
Flowing Lava=Flödande Lava
Empty Bookshelf=Tom Bokhylla
Bookshelf (@1 written, @2 empty books)=Bokhylla (@1 skriva, @2 tomma böcker)
Bookshelf=Bokhylla
Text too long=Text för lång
Wooden Sign=Trä Skylt
Steel Sign=Stål Skylt
Wooden Ladder=Trä Stege
Steel Ladder=Stål Stege
Apple Wood Fence=Äpple Trä Staket
Acacia Wood Fence=Akacia Trä Staket
Jungle Wood Fence=Djungel Trä Staket
Pine Wood Fence=Tall Trä Staket
Aspen Wood Fence=Asp Trä Staket
Apple Wood Fence Rail=Äpple Trä Staket Pinne
Acacia Wood Fence Rail=Akacia Trä Staket Pinne
Jungle Wood Fence Rail=Djungel Trä Staket Pinne
Pine Wood Fence Rail=Tall Trä Staket Pinne
Aspen Wood Fence Rail=Asp Trä Staket Pinne
Glass=Glas
Obsidian Glass=Obsidian Glas
Brick Block=Tegelstens Block
Mese Lamp=Mese Lampa
Mese Post Light=Mese Postljus
Cloud=Moln
Wooden Pickaxe=Trä Hacka
Stone Pickaxe=Sten Hacka
Bronze Pickaxe=Brons Hacka
Steel Pickaxe=Stål Hacka
Mese Pickaxe=Mese Hacka
Diamond Pickaxe=Diamant Hacka
Wooden Shovel=Trä Spade
Stone Shovel=Sten Spade
Bronze Shovel=Brons Spade
Steel Shovel=Stål Spade
Mese Shovel=Mese Spade
Diamond Shovel=Diamant Spade
Wooden Axe=Trä Yxa
Stone Axe=Sten Yxa
Bronze Axe=Brons Yxa
Steel Axe=Stål Yxa
Mese Axe=Mese Yxa
Diamond Axe=Diamant Yxa
Wooden Sword=Trä Svärd
Stone Sword=Sten Svärd
Bronze Sword=Brons Svärd
Steel Sword=Stål Svärd
Mese Sword=Mese Svärd
Diamond Sword=Diamant Svärd
Key=Nyckel
Torch=Fakla
@1 will intersect protection on growth.=@1 kommer korsa skyddet mot tillväxt.
Title:=Titel:
Contents:=Innehåll:
Save=Spara
by @1=av @1
Page @1 of @2=Sida @1 av @2
"@1"="@1"

View File

@ -0,0 +1,211 @@
# textdomain: default
Locked Chest=已上锁的箱子
Locked Chest (owned by @1)=已上锁的箱子(属于@1所有
You do not own this chest.=这个箱子不属于你所有。
a locked chest=一个已上锁的箱子
Chest=箱子
Stick=棒
Paper=纸
"@1" by @2="@1" by @2
Book=书
Book with Text=带文字的书
Skeleton Key=万能钥匙
Key to @1's @2=@1的@2的钥匙
Coal Lump=煤块
Iron Lump=铁块
Copper Lump=铜块
Tin Lump=锡块
Mese Crystal=黄石晶体
Gold Lump=金块
Diamond=钻石
Clay Lump=粘土块
Steel Ingot=铁锭
Copper Ingot=铜锭
Tin Ingot=锡锭
Bronze Ingot=青铜锭
Gold Ingot=金锭
Mese Crystal Fragment=黄石晶体碎片
Clay Brick=粘土砖
Obsidian Shard=黑曜石碎片
Flint=燧石
Blueberries=蓝莓
Furnace is empty=熔炉是空的
100% (output full)=100输出已满
@1%=@1%
Empty=空
Not cookable=不可烹饪
Furnace active=熔炉正在运转
Furnace inactive=熔炉未使用
(Item: @1; Fuel: @2)=(项目:@1;燃料:@2
Furnace=熔炉
Stone=石
Cobblestone=鹅卵石
Stone Brick=石砖
Stone Block=石方块
Mossy Cobblestone=苔藓覆盖的鹅卵石
Desert Stone=沙漠石
Desert Cobblestone=沙漠鹅卵石
Desert Stone Brick=沙漠鹅卵石砖
Desert Stone Block=沙漠鹅卵石方块
Sandstone=砂岩
Sandstone Brick=砂岩砖
Sandstone Block=砂岩方块
Desert Sandstone=沙漠砂岩
Desert Sandstone Brick=沙漠砂岩砖
Desert Sandstone Block=沙漠砂岩方块
Silver Sandstone=银砂岩
Silver Sandstone Brick=银砂岩砖
Silver Sandstone Block=银砂岩方块
Obsidian=黑曜石
Obsidian Brick=黑曜石砖
Obsidian Block=黑曜石方块
Dirt=土
Dirt with Grass=带草的土
Dirt with Grass and Footsteps=带草的土及脚印
Dirt with Dry Grass=带干草的土
Dirt with Snow=带雪的土
Dirt with Rainforest Litter=雨林腐土
Dirt with Coniferous Litter=针叶林腐土
Dry Dirt=干土
Dry Dirt with Dry Grass=干土和干草
Permafrost=多年冻土
Permafrost with Stones=带石头的多年冻土
Permafrost with Moss=生苔的多年冻土
Sand=沙
Desert Sand=沙漠沙
Silver Sand=银沙
Gravel=沙砾
Clay=粘土
Snow=雪
Snow Block=雪方块
Ice=冰
Cave Ice=洞穴冰
Apple Tree=苹果树
Apple Wood Planks=苹果树木板
Apple Tree Sapling=苹果树苗
Apple Tree Leaves=苹果树叶
Apple=苹果
Apple Marker=苹果标记
Jungle Tree=丛林树
Jungle Wood Planks=丛林树木板
Jungle Tree Leaves=丛林树叶
Jungle Tree Sapling=丛林树苗
Emergent Jungle Tree Sapling=应急丛林树苗
Pine Tree=松树
Pine Wood Planks=松树木板
Pine Needles=松针
Pine Tree Sapling=松树树苗
Acacia Tree=相思树
Acacia Wood Planks=相思树木板
Acacia Tree Leaves=相思树叶
Acacia Tree Sapling=相思树树苗
Aspen Tree=白杨树
Aspen Wood Planks=白杨树木板
Aspen Tree Leaves=白杨树叶
Aspen Tree Sapling=白杨树树苗
Coal Ore=煤炭矿石
Coal Block=煤炭方块
Iron Ore=铁矿石
Steel Block=钢方块
Copper Ore=铜矿石
Copper Block=铜方块
Tin Ore=锡矿石
Tin Block=锡方块
Bronze Block=青铜方块
Mese Ore=黄石矿石
Mese Block=黄石方块
Gold Ore=金矿石
Gold Block=金方块
Diamond Ore=钻石矿石
Diamond Block=钻石方块
Cactus=仙人掌
Large Cactus Seedling=大仙人掌苗
Papyrus=莎草纸
Dry Shrub=干灌木
Jungle Grass=丛林草
Grass=草
Dry Grass=干草
Fern=蕨
Marram Grass=滨草
Bush Stem=灌木
Bush Leaves=灌木叶
Bush Sapling=灌木苗
Blueberry Bush Leaves with Berries=蓝莓灌木叶与浆果
Blueberry Bush Leaves=蓝莓灌木叶
Blueberry Bush Sapling=蓝莓灌木苗
Acacia Bush Stem=相思灌木
Acacia Bush Leaves=相思灌木叶
Acacia Bush Sapling=相思灌木苗
Pine Bush Stem=松树灌木
Pine Bush Needles=松树灌木针
Pine Bush Sapling=松树灌木苗
Kelp=海带
Green Coral=绿珊瑚
Pink Coral=淡红珊瑚
Cyan Coral=青珊瑚
Brown Coral=棕珊瑚
Orange Coral=橙珊瑚
Coral Skeleton=珊瑚骨架
Water Source=水方块
Flowing Water=流动的水
River Water Source=河水方块
Flowing River Water=流动的河水
Lava Source=岩浆方块
Flowing Lava=流动的岩浆
Empty Bookshelf=空书架
Bookshelf (@1 written, @2 empty books)=书架(@1本有字的书@2本空书
Bookshelf=书架
Text too long=文字太长
Wooden Sign=木牌
Steel Sign=铁牌
Wooden Ladder=木梯子
Steel Ladder=铁梯子
Apple Wood Fence=苹果木栅栏
Acacia Wood Fence=相思木栅栏
Jungle Wood Fence=丛林木栅栏
Pine Wood Fence=松木栅栏
Aspen Wood Fence=白杨木栅栏
Apple Wood Fence Rail=苹果木栏杆
Acacia Wood Fence Rail=相思木栏杆
Jungle Wood Fence Rail=丛林木栏杆
Pine Wood Fence Rail=松木栏杆
Aspen Wood Fence Rail=白杨木栏杆
Glass=玻璃
Obsidian Glass=黑曜石玻璃
Brick Block=砖方块
Mese Lamp=黄石灯
Mese Post Light=黄石柱灯
Cloud=云
Wooden Pickaxe=木镐
Stone Pickaxe=石镐
Bronze Pickaxe=青铜镐
Steel Pickaxe=铁镐
Mese Pickaxe=黄石镐
Diamond Pickaxe=钻石镐
Wooden Shovel=木铲
Stone Shovel=石铲
Bronze Shovel=青铜铲
Steel Shovel=铁铲
Mese Shovel=黄石铲
Diamond Shovel=钻石铲
Wooden Axe=木斧
Stone Axe=石斧
Bronze Axe=青铜斧
Steel Axe=铁斧
Mese Axe=黄石斧
Diamond Axe=钻石斧
Wooden Sword=木剑
Stone Sword=石剑
Bronze Sword=青铜剑
Steel Sword=铁剑
Mese Sword=黄石剑
Diamond Sword=钻石剑
Key=钥匙
Torch=火把
@1 will intersect protection on growth.=@1将与增长的保护相交。
Title:=标题:
Contents:=内容:
Save=保存
by @1=由@1
Page @1 of @2=第@1页共@2页。
"@1"="@1"

View File

@ -0,0 +1,211 @@
# textdomain: default
Locked Chest=已上鎖的箱子
Locked Chest (owned by @1)=已上鎖的箱子(屬於@1所有
You do not own this chest.=這個箱子不屬於你所有。
a locked chest=一個已上鎖的箱子
Chest=箱子
Stick=棒
Paper=紙
"@1" by @2="@1" by @2
Book=書
Book with Text=帶文字的書
Skeleton Key=萬能鑰匙
Key to @1's @2=@1的@2的鑰匙
Coal Lump=煤塊
Iron Lump=鐵塊
Copper Lump=銅塊
Tin Lump=錫塊
Mese Crystal=黃石晶體
Gold Lump=金塊
Diamond=鑽石
Clay Lump=粘土塊
Steel Ingot=鐵錠
Copper Ingot=銅錠
Tin Ingot=錫錠
Bronze Ingot=青銅錠
Gold Ingot=金錠
Mese Crystal Fragment=黃石晶體碎片
Clay Brick=粘土磚
Obsidian Shard=黑曜石碎片
Flint=燧石
Blueberries=藍莓
Furnace is empty=熔爐是空的
100% (output full)=100輸出已滿
@1%=@1%
Empty=空
Not cookable=不可烹飪
Furnace active=熔爐正在運轉
Furnace inactive=熔爐未使用
(Item: @1; Fuel: @2)=(項目:@1;燃料:@2
Furnace=熔爐
Stone=石
Cobblestone=鵝卵石
Stone Brick=石磚
Stone Block=石方塊
Mossy Cobblestone=苔蘚覆蓋的鵝卵石
Desert Stone=沙漠石
Desert Cobblestone=沙漠鵝卵石
Desert Stone Brick=沙漠鵝卵石磚
Desert Stone Block=沙漠鵝卵石方塊
Sandstone=砂岩
Sandstone Brick=砂岩磚
Sandstone Block=砂岩方塊
Desert Sandstone=沙漠砂岩
Desert Sandstone Brick=沙漠砂岩磚
Desert Sandstone Block=沙漠砂岩方塊
Silver Sandstone=銀砂岩
Silver Sandstone Brick=銀砂岩磚
Silver Sandstone Block=銀砂岩方塊
Obsidian=黑曜石
Obsidian Brick=黑曜石磚
Obsidian Block=黑曜石方塊
Dirt=土
Dirt with Grass=帶草的土
Dirt with Grass and Footsteps=帶草的土及腳印
Dirt with Dry Grass=帶乾草的土
Dirt with Snow=帶雪的土
Dirt with Rainforest Litter=雨林腐土
Dirt with Coniferous Litter=針葉林腐土
Dry Dirt=乾土
Dry Dirt with Dry Grass=乾土和乾草
Permafrost=多年凍土
Permafrost with Stones=帶石頭的多年凍土
Permafrost with Moss=生苔的多年凍土
Sand=沙
Desert Sand=沙漠沙
Silver Sand=銀沙
Gravel=沙礫
Clay=粘土
Snow=雪
Snow Block=雪方塊
Ice=冰
Cave Ice=洞穴冰
Apple Tree=蘋果樹
Apple Wood Planks=蘋果樹木板
Apple Tree Sapling=蘋果樹苗
Apple Tree Leaves=蘋果樹葉
Apple=蘋果
Apple Marker=蘋果標記
Jungle Tree=叢林樹
Jungle Wood Planks=叢林樹木板
Jungle Tree Leaves=叢林樹葉
Jungle Tree Sapling=叢林樹苗
Emergent Jungle Tree Sapling=應急叢林樹苗
Pine Tree=松樹
Pine Wood Planks=松樹木板
Pine Needles=松針
Pine Tree Sapling=松樹樹苗
Acacia Tree=相思樹
Acacia Wood Planks=相思樹木板
Acacia Tree Leaves=相思樹葉
Acacia Tree Sapling=相思樹樹苗
Aspen Tree=白楊樹
Aspen Wood Planks=白楊樹木板
Aspen Tree Leaves=白楊樹葉
Aspen Tree Sapling=白楊樹樹苗
Coal Ore=煤炭礦石
Coal Block=煤炭方塊
Iron Ore=鐵礦石
Steel Block=鋼方塊
Copper Ore=銅礦石
Copper Block=銅方塊
Tin Ore=錫礦石
Tin Block=錫方塊
Bronze Block=青銅方塊
Mese Ore=黃石礦石
Mese Block=黃石方塊
Gold Ore=金礦石
Gold Block=金方塊
Diamond Ore=鑽石礦石
Diamond Block=鑽石方塊
Cactus=仙人掌
Large Cactus Seedling=大仙人掌苗
Papyrus=莎草紙
Dry Shrub=幹灌木
Jungle Grass=叢林草
Grass=草
Dry Grass=乾草
Fern=蕨
Marram Grass=濱草
Bush Stem=灌木
Bush Leaves=灌木葉
Bush Sapling=灌木苗
Blueberry Bush Leaves with Berries=藍莓灌木葉與漿果
Blueberry Bush Leaves=藍莓灌木葉
Blueberry Bush Sapling=藍莓灌木苗
Acacia Bush Stem=相思灌木
Acacia Bush Leaves=相思灌木葉
Acacia Bush Sapling=相思灌木苗
Pine Bush Stem=松樹灌木
Pine Bush Needles=松樹灌木針
Pine Bush Sapling=松樹灌木苗
Kelp=海帶
Green Coral=綠珊瑚
Pink Coral=淡紅珊瑚
Cyan Coral=青珊瑚
Brown Coral=棕珊瑚
Orange Coral=橙珊瑚
Coral Skeleton=珊瑚骨架
Water Source=水方塊
Flowing Water=流動的水
River Water Source=河水方塊
Flowing River Water=流動的河水
Lava Source=岩漿方塊
Flowing Lava=流動的岩漿
Empty Bookshelf=空書架
Bookshelf (@1 written, @2 empty books)=書架(@1本有字的書@2本空書
Bookshelf=書架
Text too long=文字太長
Wooden Sign=木牌
Steel Sign=鐵牌
Wooden Ladder=木梯子
Steel Ladder=鐵梯子
Apple Wood Fence=蘋果木柵欄
Acacia Wood Fence=相思木柵欄
Jungle Wood Fence=叢林木柵欄
Pine Wood Fence=松木柵欄
Aspen Wood Fence=白楊木柵欄
Apple Wood Fence Rail=蘋果木欄杆
Acacia Wood Fence Rail=相思木欄杆
Jungle Wood Fence Rail=叢林木欄杆
Pine Wood Fence Rail=松木欄杆
Aspen Wood Fence Rail=白楊木欄杆
Glass=玻璃
Obsidian Glass=黑曜石玻璃
Brick Block=磚方塊
Mese Lamp=黃石燈
Mese Post Light=黃石柱燈
Cloud=雲
Wooden Pickaxe=木鎬
Stone Pickaxe=石鎬
Bronze Pickaxe=青銅鎬
Steel Pickaxe=鐵鎬
Mese Pickaxe=黃石鎬
Diamond Pickaxe=鑽石鎬
Wooden Shovel=木鏟
Stone Shovel=石鏟
Bronze Shovel=青銅鏟
Steel Shovel=鐵鏟
Mese Shovel=黃石鏟
Diamond Shovel=鑽石鏟
Wooden Axe=木斧
Stone Axe=石斧
Bronze Axe=青銅斧
Steel Axe=鐵斧
Mese Axe=黃石斧
Diamond Axe=鑽石斧
Wooden Sword=木劍
Stone Sword=石劍
Bronze Sword=青銅劍
Steel Sword=鐵劍
Mese Sword=黃石劍
Diamond Sword=鑽石劍
Key=鑰匙
Torch=火把
@1 will intersect protection on growth.=@1將與增長的保護相交。
Title:=標題:
Contents:=內容:
Save=保存
by @1=由@1
Page @1 of @2=第@1頁共@2頁。
"@1"="@1"

View File

@ -576,7 +576,7 @@ function default.register_ores()
-- Only where default:dirt is present as surface material
biomes = {"taiga", "snowy_grassland", "grassland", "coniferous_forest",
"deciduous_forest", "deciduous_forest_shore", "rainforest",
"rainforest_swamp", "floatland_coniferous_forest"}
"rainforest_swamp"}
})
-- Gravel
@ -890,7 +890,7 @@ end
-- All mapgens except mgv6
function default.register_biomes(upper_limit)
function default.register_biomes()
-- Icesheet
@ -909,7 +909,7 @@ function default.register_biomes(upper_limit)
depth_riverbed = 2,
node_dungeon = "default:ice",
node_dungeon_stair = "stairs:stair_ice",
y_max = upper_limit,
y_max = 31000,
y_min = -8,
heat_point = 0,
humidity_point = 73,
@ -956,7 +956,7 @@ function default.register_biomes(upper_limit)
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = upper_limit,
y_max = 31000,
y_min = 47,
heat_point = 0,
humidity_point = 40,
@ -1043,7 +1043,7 @@ function default.register_biomes(upper_limit)
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = upper_limit,
y_max = 31000,
y_min = 4,
heat_point = 25,
humidity_point = 70,
@ -1095,7 +1095,7 @@ function default.register_biomes(upper_limit)
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = upper_limit,
y_max = 31000,
y_min = 4,
heat_point = 20,
humidity_point = 35,
@ -1146,7 +1146,7 @@ function default.register_biomes(upper_limit)
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = upper_limit,
y_max = 31000,
y_min = 6,
heat_point = 50,
humidity_point = 35,
@ -1213,7 +1213,7 @@ function default.register_biomes(upper_limit)
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = upper_limit,
y_max = 31000,
y_min = 6,
heat_point = 45,
humidity_point = 70,
@ -1280,7 +1280,7 @@ function default.register_biomes(upper_limit)
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = upper_limit,
y_max = 31000,
y_min = 1,
heat_point = 60,
humidity_point = 68,
@ -1347,7 +1347,7 @@ function default.register_biomes(upper_limit)
depth_riverbed = 2,
node_dungeon = "default:desert_stone",
node_dungeon_stair = "stairs:stair_desert_stone",
y_max = upper_limit,
y_max = 31000,
y_min = 4,
heat_point = 92,
humidity_point = 16,
@ -1397,7 +1397,7 @@ function default.register_biomes(upper_limit)
depth_riverbed = 2,
node_dungeon = "default:sandstonebrick",
node_dungeon_stair = "stairs:stair_sandstone_block",
y_max = upper_limit,
y_max = 31000,
y_min = 4,
heat_point = 60,
humidity_point = 0,
@ -1446,7 +1446,7 @@ function default.register_biomes(upper_limit)
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = upper_limit,
y_max = 31000,
y_min = 4,
heat_point = 40,
humidity_point = 0,
@ -1496,7 +1496,7 @@ function default.register_biomes(upper_limit)
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = upper_limit,
y_max = 31000,
y_min = 1,
heat_point = 89,
humidity_point = 42,
@ -1563,7 +1563,7 @@ function default.register_biomes(upper_limit)
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = upper_limit,
y_max = 31000,
y_min = 1,
heat_point = 86,
humidity_point = 65,
@ -1619,59 +1619,6 @@ function default.register_biomes(upper_limit)
end
-- Biomes for floatlands
-- TODO Temporary simple biomes to be replaced by special floatland biomes later.
function default.register_floatland_biomes(floatland_level, shadow_limit)
minetest.register_biome({
name = "floatland_grassland",
node_top = "default:dirt_with_grass",
depth_top = 1,
node_filler = "default:dirt",
depth_filler = 1,
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = 31000,
y_min = floatland_level + 2,
heat_point = 50,
humidity_point = 25,
})
minetest.register_biome({
name = "floatland_coniferous_forest",
node_top = "default:dirt_with_coniferous_litter",
depth_top = 1,
node_filler = "default:dirt",
depth_filler = 3,
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = 31000,
y_min = floatland_level + 2,
heat_point = 50,
humidity_point = 75,
})
minetest.register_biome({
name = "floatland_ocean",
node_top = "default:sand",
depth_top = 1,
node_filler = "default:sand",
depth_filler = 3,
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = floatland_level + 1,
y_min = shadow_limit,
heat_point = 50,
humidity_point = 50,
})
end
--
-- Register decorations
--
@ -1787,7 +1734,7 @@ local function register_grass_decoration(offset, scale, length)
octaves = 3,
persist = 0.6
},
biomes = {"grassland", "deciduous_forest", "floatland_grassland"},
biomes = {"grassland", "deciduous_forest"},
y_max = 31000,
y_min = 1,
decoration = "default:grass_" .. length,
@ -1829,7 +1776,7 @@ local function register_fern_decoration(seed, length)
octaves = 3,
persist = 0.7
},
biomes = {"coniferous_forest", "floatland_coniferous_forest"},
biomes = {"coniferous_forest"},
y_max = 31000,
y_min = 6,
decoration = "default:fern_" .. length,
@ -1944,11 +1891,35 @@ function default.register_decorations()
minetest.register_decoration({
name = "default:jungle_tree",
deco_type = "schematic",
place_on = {"default:dirt_with_rainforest_litter", "default:dirt"},
place_on = {"default:dirt_with_rainforest_litter"},
sidelen = 80,
fill_ratio = 0.1,
biomes = {"rainforest", "rainforest_swamp"},
biomes = {"rainforest"},
y_max = 31000,
y_min = 1,
schematic = minetest.get_modpath("default") .. "/schematics/jungle_tree.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
-- Swamp jungle trees
minetest.register_decoration({
name = "default:jungle_tree(swamp)",
deco_type = "schematic",
place_on = {"default:dirt"},
sidelen = 16,
-- Noise tuned to place swamp trees where papyrus is absent
noise_params = {
offset = 0.0,
scale = -0.1,
spread = {x = 200, y = 200, z = 200},
seed = 354,
octaves = 1,
persist = 0.5
},
biomes = {"rainforest_swamp"},
y_max = 0,
y_min = -1,
schematic = minetest.get_modpath("default") .. "/schematics/jungle_tree.mts",
flags = "place_center_x, place_center_z",
@ -1962,7 +1933,7 @@ function default.register_decorations()
place_offset_y = 1,
sidelen = 80,
fill_ratio = 0.005,
biomes = {"rainforest", "rainforest_swamp"},
biomes = {"rainforest"},
y_max = 31000,
y_min = 1,
schematic = minetest.get_modpath("default") .. "/schematics/jungle_log.mts",
@ -1987,7 +1958,7 @@ function default.register_decorations()
octaves = 3,
persist = 0.66
},
biomes = {"taiga", "coniferous_forest", "floatland_coniferous_forest"},
biomes = {"taiga", "coniferous_forest"},
y_max = 31000,
y_min = 4,
schematic = minetest.get_modpath("default") .. "/schematics/pine_tree.mts",
@ -2007,7 +1978,7 @@ function default.register_decorations()
octaves = 3,
persist = 0.66
},
biomes = {"taiga", "coniferous_forest", "floatland_coniferous_forest"},
biomes = {"taiga", "coniferous_forest"},
y_max = 31000,
y_min = 4,
schematic = minetest.get_modpath("default") .. "/schematics/small_pine_tree.mts",
@ -2021,7 +1992,7 @@ function default.register_decorations()
place_offset_y = 1,
sidelen = 80,
fill_ratio = 0.0018,
biomes = {"taiga", "coniferous_forest", "floatland_coniferous_forest"},
biomes = {"taiga", "coniferous_forest"},
y_max = 31000,
y_min = 4,
schematic = minetest.get_modpath("default") .. "/schematics/pine_log.mts",
@ -2172,8 +2143,10 @@ function default.register_decorations()
-- Papyrus
-- Dirt version for rainforest swamp
minetest.register_decoration({
name = "default:papyrus",
name = "default:papyrus_on_dirt",
deco_type = "schematic",
place_on = {"default:dirt"},
sidelen = 16,
@ -2185,10 +2158,32 @@ function default.register_decorations()
octaves = 3,
persist = 0.7
},
biomes = {"rainforest_swamp"},
y_max = 0,
y_min = 0,
schematic = minetest.get_modpath("default") .. "/schematics/papyrus_on_dirt.mts",
})
-- Dry dirt version for savanna shore
minetest.register_decoration({
name = "default:papyrus_on_dry_dirt",
deco_type = "schematic",
place_on = {"default:dry_dirt"},
sidelen = 16,
noise_params = {
offset = -0.3,
scale = 0.7,
spread = {x = 200, y = 200, z = 200},
seed = 354,
octaves = 3,
persist = 0.7
},
biomes = {"savanna_shore"},
y_max = 0,
y_min = 0,
schematic = minetest.get_modpath("default") .. "/schematics/papyrus.mts",
schematic = minetest.get_modpath("default") ..
"/schematics/papyrus_on_dry_dirt.mts",
})
-- Bush
@ -2206,8 +2201,7 @@ function default.register_decorations()
octaves = 3,
persist = 0.7,
},
biomes = {"grassland", "deciduous_forest",
"floatland_grassland"},
biomes = {"grassland", "deciduous_forest"},
y_max = 31000,
y_min = 1,
schematic = minetest.get_modpath("default") .. "/schematics/bush.mts",
@ -2479,22 +2473,9 @@ end
--
-- Detect mapgen, flags and parameters to select functions
-- Detect mapgen to select functions
--
-- Get setting or default
local mgv7_spflags = minetest.get_mapgen_setting("mgv7_spflags") or
"mountains, ridges, nofloatlands, caverns"
local captures_float = string.match(mgv7_spflags, "floatlands")
local captures_nofloat = string.match(mgv7_spflags, "nofloatlands")
-- Get setting or default
-- Make global for mods to use to register floatland biomes
default.mgv7_floatland_level =
minetest.get_mapgen_setting("mgv7_floatland_level") or 1280
default.mgv7_shadow_limit =
minetest.get_mapgen_setting("mgv7_shadow_limit") or 1024
minetest.clear_registered_biomes()
minetest.clear_registered_ores()
minetest.clear_registered_decorations()
@ -2504,19 +2485,8 @@ local mg_name = minetest.get_mapgen_setting("mg_name")
if mg_name == "v6" then
default.register_mgv6_ores()
default.register_mgv6_decorations()
-- Need to check for 'nofloatlands' because that contains
-- 'floatlands' which makes the second condition true.
elseif mg_name == "v7" and
captures_float == "floatlands" and
captures_nofloat ~= "nofloatlands" then
-- Mgv7 with floatlands and floatland biomes
default.register_biomes(default.mgv7_shadow_limit - 1)
default.register_floatland_biomes(
default.mgv7_floatland_level, default.mgv7_shadow_limit)
default.register_ores()
default.register_decorations()
else
default.register_biomes(31000)
default.register_biomes()
default.register_ores()
default.register_decorations()
end

View File

@ -2031,7 +2031,7 @@ local function coral_on_place(itemstack, placer, pointed_thing)
local def_under = minetest.registered_nodes[node_under.name]
if def_under and def_under.on_rightclick and not placer:get_player_control().sneak then
return def_under.on_rightclick(pos_under, node_under.name,
return def_under.on_rightclick(pos_under, node_under,
placer, itemstack, pointed_thing) or itemstack
end
@ -2203,7 +2203,7 @@ minetest.register_node("default:water_source", {
},
},
},
alpha = 160,
alpha = 191,
paramtype = "light",
walkable = false,
pointable = false,
@ -2234,7 +2234,7 @@ minetest.register_node("default:water_flowing", {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 0.8,
length = 0.5,
},
},
{
@ -2244,11 +2244,11 @@ minetest.register_node("default:water_flowing", {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 0.8,
length = 0.5,
},
},
},
alpha = 160,
alpha = 191,
paramtype = "light",
paramtype2 = "flowingliquid",
walkable = false,
@ -2330,7 +2330,7 @@ minetest.register_node("default:river_water_flowing", {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 0.8,
length = 0.5,
},
},
{
@ -2340,7 +2340,7 @@ minetest.register_node("default:river_water_flowing", {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 0.8,
length = 0.5,
},
},
},

Binary file not shown.

View File

Before

Width:  |  Height:  |  Size: 411 B

After

Width:  |  Height:  |  Size: 411 B

View File

Before

Width:  |  Height:  |  Size: 175 B

After

Width:  |  Height:  |  Size: 175 B

View File

@ -402,6 +402,57 @@ minetest.register_tool("default:sword_diamond", {
groups = {sword = 1}
})
--
-- Register Craft Recipies
--
local craft_ingreds = {
wood = "group:wood",
stone = "group:stone",
steel = "default:steel_ingot",
bronze = "default:bronze_ingot",
mese = "default:mese_crystal",
diamond = "default:diamond"
}
for name, mat in pairs(craft_ingreds) do
minetest.register_craft({
output = "default:pick_".. name,
recipe = {
{mat, mat, mat},
{"", "group:stick", ""},
{"", "group:stick", ""}
}
})
minetest.register_craft({
output = "default:shovel_".. name,
recipe = {
{mat},
{"group:stick"},
{"group:stick"}
}
})
minetest.register_craft({
output = "default:axe_".. name,
recipe = {
{mat, mat},
{mat, "group:stick"},
{"", "group:stick"}
}
})
minetest.register_craft({
output = "default:sword_".. name,
recipe = {
{mat},
{mat},
{"group:stick"}
}
})
end
minetest.register_tool("default:key", {
description = S("Key"),
inventory_image = "default_key.png",
@ -441,3 +492,27 @@ minetest.register_tool("default:key", {
return nil
end
})
minetest.register_craft({
type = "fuel",
recipe = "default:pick_wood",
burntime = 6,
})
minetest.register_craft({
type = "fuel",
recipe = "default:shovel_wood",
burntime = 4,
})
minetest.register_craft({
type = "fuel",
recipe = "default:axe_wood",
burntime = 6,
})
minetest.register_craft({
type = "fuel",
recipe = "default:sword_wood",
burntime = 5,
})

View File

@ -11,7 +11,8 @@ local function on_flood(pos, oldnode, newnode)
nodedef.groups.igniter and nodedef.groups.igniter > 0) then
minetest.sound_play(
"default_cool_lava",
{pos = pos, max_hear_distance = 16, gain = 0.1}
{pos = pos, max_hear_distance = 16, gain = 0.1},
true
)
end
-- Remove the torch node
@ -70,6 +71,7 @@ minetest.register_node("default:torch", {
end,
floodable = true,
on_flood = on_flood,
on_rotate = false
})
minetest.register_node("default:torch_wall", {
@ -93,6 +95,7 @@ minetest.register_node("default:torch_wall", {
sounds = default.node_sound_wood_defaults(),
floodable = true,
on_flood = on_flood,
on_rotate = false
})
minetest.register_node("default:torch_ceiling", {
@ -116,6 +119,7 @@ minetest.register_node("default:torch_ceiling", {
sounds = default.node_sound_wood_defaults(),
floodable = true,
on_flood = on_flood,
on_rotate = false
})
minetest.register_lbm({
@ -134,3 +138,17 @@ minetest.register_lbm({
end
end
})
minetest.register_craft({
output = "default:torch 4",
recipe = {
{"default:coal_lump"},
{"group:stick"},
}
})
minetest.register_craft({
type = "fuel",
recipe = "default:torch",
burntime = 4,
})

View File

@ -176,10 +176,10 @@ function doors.door_toggle(pos, node, clicker)
if state % 2 == 0 then
minetest.sound_play(def.door.sounds[1],
{pos = pos, gain = 0.3, max_hear_distance = 10})
{pos = pos, gain = 0.3, max_hear_distance = 10}, true)
else
minetest.sound_play(def.door.sounds[2],
{pos = pos, gain = 0.3, max_hear_distance = 10})
{pos = pos, gain = 0.3, max_hear_distance = 10}, true)
end
minetest.swap_node(pos, {
@ -340,7 +340,7 @@ function doors.register(name, def)
itemstack:take_item()
end
minetest.sound_play(def.sounds.place, {pos = pos})
minetest.sound_play(def.sounds.place, {pos = pos}, true)
on_place_node(pos, minetest.get_node(pos),
placer, node, itemstack, pointed_thing)
@ -550,12 +550,12 @@ function doors.trapdoor_toggle(pos, node, clicker)
if string.sub(node.name, -5) == "_open" then
minetest.sound_play(def.sound_close,
{pos = pos, gain = 0.3, max_hear_distance = 10})
{pos = pos, gain = 0.3, max_hear_distance = 10}, true)
minetest.swap_node(pos, {name = string.sub(node.name, 1,
string.len(node.name) - 5), param1 = node.param1, param2 = node.param2})
else
minetest.sound_play(def.sound_open,
{pos = pos, gain = 0.3, max_hear_distance = 10})
{pos = pos, gain = 0.3, max_hear_distance = 10}, true)
minetest.swap_node(pos, {name = node.name .. "_open",
param1 = node.param1, param2 = node.param2})
end
@ -744,7 +744,7 @@ function doors.register_fencegate(name, def)
local node_def = minetest.registered_nodes[node.name]
minetest.swap_node(pos, {name = node_def.gate, param2 = node.param2})
minetest.sound_play(node_def.sound, {pos = pos, gain = 0.3,
max_hear_distance = 8})
max_hear_distance = 8}, true)
return itemstack
end,
selection_box = {

View File

@ -0,0 +1,18 @@
# textdomain: doors
Hidden Door Segment=Segmen Pintu Tersembunyi
Owned by @1=Milik @1
You do not own this locked door.=Anda bukan pemilik pintu berkunci ini.
a locked door=pintu berkunci
Wooden Door=Pintu Kayu
Steel Door=Pintu Keluli
Glass Door=Pintu Kaca
Obsidian Glass Door=Pintu Kaca Obsidia
You do not own this trapdoor.=Anda bukan pemilik pintu kolong ini.
a locked trapdoor=pintu kolong berkunci
Wooden Trapdoor=Pintu Kolong Kayu
Steel Trapdoor=Pintu Kolong Keluli
Apple Wood Fence Gate=Pintu Pagar Kayu Epal
Acacia Wood Fence Gate=Pintu Pagar Kayu Akasia
Jungle Wood Fence Gate=Pintu Pagar Kayu Hutan
Pine Wood Fence Gate=Pintu Pagar Kayu Pain
Aspen Wood Fence Gate=Pintu Pagar Kayu Aspen

View File

@ -0,0 +1,18 @@
# textdomain: doors
Hidden Door Segment=Спрятанная Часть Двери
Owned by @1=Владелец: @1
You do not own this locked door.=Вы не владелец этой заблокированной двери.
a locked door=заблокированная дверь
Wooden Door=Деревянная Дверь
Steel Door=Стальная Дверь
Glass Door=Стеклянная Дверь
Obsidian Glass Door=Дверь Из Обсидианового Стекла
You do not own this trapdoor.=Вы не владелец этого люка.
a locked trapdoor=заблокированный люк
Wooden Trapdoor=Деревянный Люк
Steel Trapdoor=Стальной Люк
Apple Wood Fence Gate=Яблоневая Деревянная Калитка
Acacia Wood Fence Gate=Деревянная Калитка Из Акации
Jungle Wood Fence Gate=Деревянная Калитка Из Тропического Дерева
Pine Wood Fence Gate=Сосновая Деревянная Калитка
Aspen Wood Fence Gate=Осиновая Деревянная Калитка

View File

@ -0,0 +1,19 @@
# textdomain: doors
Hidden Door Segment=Dold dörrsegment
Owned by @1=Ägd av @1
You do not own this locked door.=Du äger inte denna låsta dörr.
a locked door=en låst dörr
Wooden Door=Trä Dörr
Steel Door=Stål Dörr
Glass Door=Glas Dörr
Obsidian Glass Door=Obsidian Glas Dörr
Owned by @1=Ägd av @1
You do not own this trapdoor.=Du äger inte denna fallucka
a locked trapdoor=en låst fallucka
Wooden Trapdoor=Trä Fallucka
Steel Trapdoor=Stål Fallucka
Apple Wood Fence Gate=Äpple Trä Fallucka
Acacia Wood Fence Gate=Akacia Trä Fallucka
Jungle Wood Fence Gate=Djungel Trä Fallucka
Pine Wood Fence Gate=Tall Trä Fallucka
Aspen Wood Fence Gate=Asp Trä Fallucka

View File

@ -0,0 +1,18 @@
# textdomain: doors
Hidden Door Segment=隐藏门段
Owned by @1=由@1拥有
You do not own this locked door.=这个门不属于你所有。
a locked door=一扇已上锁的门
Wooden Door=木门
Steel Door=铁门
Glass Door=玻璃门
Obsidian Glass Door=黑曜石玻璃门
You do not own this trapdoor.=这个活板门不属于你所有。
a locked trapdoor=一扇已上锁的活板门
Wooden Trapdoor=木活板门
Steel Trapdoor=铁活板门
Apple Wood Fence Gate=用苹果树做的木栅栏门
Acacia Wood Fence Gate=相思木栅栏门
Jungle Wood Fence Gate=丛林木栅栏门
Pine Wood Fence Gate=松木栅栏门
Aspen Wood Fence Gate=白杨木栅栏门

View File

@ -0,0 +1,18 @@
# textdomain: doors
Hidden Door Segment=隱藏門段
Owned by @1=由@1擁有
You do not own this locked door.=這個門不屬於你所有。
a locked door=一扇已上鎖的門
Wooden Door=木門
Steel Door=鐵門
Glass Door=玻璃門
Obsidian Glass Door=黑曜石玻璃門
You do not own this trapdoor.=這個活板門不屬於你所有。
a locked trapdoor=一扇已上鎖的活板門
Wooden Trapdoor=木活板門
Steel Trapdoor=鐵活板門
Apple Wood Fence Gate=用蘋果樹做的木柵欄門
Acacia Wood Fence Gate=相思木柵欄門
Jungle Wood Fence Gate=叢林木柵欄門
Pine Wood Fence Gate=松木柵欄門
Aspen Wood Fence Gate=白楊木柵欄門

View File

@ -1,26 +1,13 @@
dungeon_loot.registered_loot = {
-- buckets
{name = "bucket:bucket_empty", chance = 0.55},
-- water in deserts/ice or above ground, lava otherwise
{name = "bucket:bucket_water", chance = 0.45,
types = {"sandstone", "desert", "ice"}},
{name = "bucket:bucket_water", chance = 0.45, y = {0, 32768},
types = {"normal"}},
{name = "bucket:bucket_lava", chance = 0.45, y = {-32768, -1},
types = {"normal"}},
-- Loot from the `default` mod is registered here,
-- with the rest being registered in the respective mods
dungeon_loot.registered_loot = {
-- various items
{name = "default:stick", chance = 0.6, count = {3, 6}},
{name = "default:flint", chance = 0.4, count = {1, 3}},
{name = "vessels:glass_fragments", chance = 0.35, count = {1, 4}},
{name = "carts:rail", chance = 0.35, count = {1, 6}},
-- farming / consumable
{name = "farming:string", chance = 0.5, count = {1, 8}},
{name = "farming:wheat", chance = 0.5, count = {2, 5}},
{name = "default:apple", chance = 0.4, count = {1, 4}},
{name = "farming:seed_cotton", chance = 0.4, count = {1, 4},
types = {"normal"}},
{name = "default:cactus", chance = 0.4, count = {1, 4},
types = {"sandstone", "desert"}},

View File

@ -89,20 +89,20 @@ local function populate_chest(pos, rand, dungeontype)
amount = rand:next(loot.count[1], loot.count[2])
end
if itemdef then
if itemdef.tool_capabilities then
for n = 1, amount do
local wear = rand:next(0.20 * 65535, 0.75 * 65535) -- 20% to 75% wear
table.insert(items, ItemStack({name = loot.name, wear = wear}))
end
elseif itemdef.stack_max == 1 then
-- not stackable, add separately
for n = 1, amount do
table.insert(items, loot.name)
end
else
table.insert(items, ItemStack({name = loot.name, count = amount}))
if not itemdef then
minetest.log("warning", "Registered loot item " .. loot.name .. " does not exist")
elseif itemdef.tool_capabilities then
for n = 1, amount do
local wear = rand:next(0.20 * 65535, 0.75 * 65535) -- 20% to 75% wear
table.insert(items, ItemStack({name = loot.name, wear = wear}))
end
elseif itemdef.stack_max == 1 then
-- not stackable, add separately
for n = 1, amount do
table.insert(items, loot.name)
end
else
table.insert(items, ItemStack({name = loot.name, count = amount}))
end
end
end

16
mods/dye/locale/dye.ms.tr Normal file
View File

@ -0,0 +1,16 @@
# textdomain: dye
White Dye=Pewarna Putih
Grey Dye=Pewarna Kelabu
Dark Grey Dye=Pewarna Kelabu Gelap
Black Dye=Pewarna Hitam
Violet Dye=Pewarna Ungu
Blue Dye=Pewarna Biru
Cyan Dye=Pewarna Biru Kehijauan
Dark Green Dye=Pewarna Hijau Gelap
Green Dye=Pewarna Hijau
Yellow Dye=Pewarna Kuning
Brown Dye=Pewarna Perang
Orange Dye=Pewarna Jingga
Red Dye=Pewarna Merah
Magenta Dye=Pewarna Merah Lembayung
Pink Dye=Pewarna Merah Jambu

16
mods/dye/locale/dye.ru.tr Normal file
View File

@ -0,0 +1,16 @@
# textdomain: dye
White Dye=Белая Краска
Grey Dye=Серая Краска
Dark Grey Dye=Тёмно-Серая Краска
Black Dye=Черная Краска
Violet Dye=Фиолетовая Краска
Blue Dye=Синяя Краска
Cyan Dye=Голубая Краска
Dark Green Dye=Тёмно-Зелёная Краска
Green Dye=Зелёная Краска
Yellow Dye=Жёлтая Краска
Brown Dye=Бурая Краска
Orange Dye=Оранжевая Краска
Red Dye=Красная Краска
Magenta Dye=Пурпурная Краска
Pink Dye=Розовая Краска

16
mods/dye/locale/dye.se.tr Normal file
View File

@ -0,0 +1,16 @@
# textdomain: dye
White Dye=Vit Färg
Grey Dye=Grå Färg
Dark Grey Dye=Mörk Grå Färg
Black Dye=Svart Färg
Violet Dye=Violett Färg
Blue Dye=Blå Färg
Cyan Dye=Cyan Färg
Dark Green Dye=Mörk Grön Färg
Green Dye=Grön Färg
Yellow Dye=Gul Färg
Brown Dye=Brun Färg
Orange Dye=Orange Färg
Red Dye=Röd Färg
Magenta Dye=Magenta Färg
Pink Dye=Rosa Färg

View File

@ -0,0 +1,16 @@
# textdomain: dye
White Dye=白染料
Grey Dye=灰染料
Dark Grey Dye=暗灰染料
Black Dye=黑染料
Violet Dye=紫染料
Blue Dye=蓝染料
Cyan Dye=青染料
Dark Green Dye=暗绿染料
Green Dye=绿染料
Yellow Dye=黄染料
Brown Dye=棕染料
Orange Dye=橙染料
Red Dye=红染料
Magenta Dye=品红染料
Pink Dye=粉红染料

View File

@ -0,0 +1,16 @@
# textdomain: dye
White Dye=白染料
Grey Dye=灰染料
Dark Grey Dye=暗灰染料
Black Dye=黑染料
Violet Dye=紫染料
Blue Dye=藍染料
Cyan Dye=青染料
Dark Green Dye=暗綠染料
Green Dye=綠染料
Yellow Dye=黃染料
Brown Dye=棕染料
Orange Dye=橙染料
Red Dye=紅染料
Magenta Dye=品紅染料
Pink Dye=粉紅染料

View File

@ -59,7 +59,7 @@ farming.hoe_on_use = function(itemstack, user, pointed_thing, uses)
minetest.sound_play("default_dig_crumbly", {
pos = pt.under,
gain = 0.5,
})
}, true)
if not (creative and creative.is_enabled_for
and creative.is_enabled_for(user:get_player_name())) then
@ -68,7 +68,8 @@ farming.hoe_on_use = function(itemstack, user, pointed_thing, uses)
itemstack:add_wear(65535/(uses-1))
-- tool break sound
if itemstack:get_count() == 0 and wdef.sound and wdef.sound.breaks then
minetest.sound_play(wdef.sound.breaks, {pos = pt.above, gain = 0.5})
minetest.sound_play(wdef.sound.breaks, {pos = pt.above,
gain = 0.5}, true)
end
end
return itemstack
@ -176,6 +177,8 @@ farming.place_seed = function(itemstack, placer, pointed_thing, plantname)
end
-- add the node and remove 1 item from the itemstack
minetest.log("action", player_name .. " places node " .. plantname .. " at " ..
minetest.pos_to_string(pt.above))
minetest.add_node(pt.above, {name = plantname, param2 = 1})
tick(pt.above)
if not (creative and creative.is_enabled_for

Some files were not shown because too many files have changed in this diff Show More