function realchess.init(pos)
local meta = minetest.get_meta(pos)
local inv = meta:get_inventory()
- local slots = "listcolors[#00000000;#00000000;#00000000;#30434C;#FFF]"
- local formspec
inv:set_size("board", 64)
+
+ local formspec = [[ size[8,8.6;]
+ bgcolor[#080808BB;true]
+ background[0,0;8,8;chess_bg.png]
+ button[3.1,7.8;2,2;new;New game]
+ list[context;board;0,0;8,8;]
+ listcolors[#00000000;#00000000;#00000000;#30434C;#FFF] ]]
- meta:set_string("formspec",
- "size[8,8.6;]"..
- "bgcolor[#080808BB;true]"..
- "background[0,0;8,8;chess_bg.png]"..
- "button[3.1,7.8;2,2;new;New game]"..
- "list[context;board;0,0;8,8;]"..
- slots)
+ meta:set_string("formspec", formspec)
meta:set_string("infotext", "Chess Board")
meta:set_string("playerBlack", "")
if meta:get_string("lastMove") == "black" then
minetest.chat_send_player(playerWhite, "["..os.date("%H:%M:%S").."] "..
- playerName.." has moved a "..pieceFrom:match("%a+:(%a+)")..", it's now your turn.")
+ playerName.." has moved a "..pieceFrom:match(":(.-)%_")..", it's now your turn.")
elseif meta:get_string("lastMove") == "white" then
minetest.chat_send_player(playerBlack, "["..os.date("%H:%M:%S").."] "..
- playerName.." has moved a "..pieceFrom:match("%a+:(%a+)")..", it's now your turn.")
+ playerName.." has moved a "..pieceFrom:match(":(.-)%_")..", it's now your turn.")
end
if pieceTo:find("king") then
return false
end
-function realchess.take(pos, listname, index, stack, player)
- return 0
-end
-
minetest.register_node(":realchess:chessboard", {
description = "Chess Board",
drawtype = "nodebox",
paramtype2 = "facedir",
inventory_image = "chessboard_top.png",
wield_image = "chessboard_top.png",
- tiles = {"chessboard_top.png", "chessboard_top.png",
- "chessboard_sides.png", "chessboard_sides.png",
- "chessboard_top.png", "chessboard_top.png"},
+ tiles = {"chessboard_top.png", "chessboard_top.png", "chessboard_sides.png"},
groups = {choppy=3, oddly_breakable_by_hand=2, flammable=3},
sounds = default.node_sound_wood_defaults(),
- node_box = {type = "fixed", fixed = {-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5}},
+ node_box = {type = "fixed", fixed = {-.375, -.5, -.375, .375, -.4375, .375}},
sunlight_propagates = true,
on_rotate = screwdriver.rotate_simple,
can_dig = realchess.dig,
on_receive_fields = realchess.fields,
allow_metadata_inventory_move = realchess.move,
on_metadata_inventory_move = realchess.on_move,
- allow_metadata_inventory_take = realchess.take
+ allow_metadata_inventory_take = function() return 0 end
})
local function register_piece(name, count)
register_piece("queen")
register_piece("king")
-minetest.register_craft({
- output = "realchess:chessboard",
- recipe = {
- {"dye:black", "dye:white", "dye:black"},
- {"stairs:slab_wood", "stairs:slab_wood", "stairs:slab_wood"}
- }
-})
-