Added Doors!
This commit is contained in:
parent
e2b942aecc
commit
35a0eaed5c
@ -22,6 +22,7 @@ Game Changes:
|
||||
- Improved Slabs
|
||||
- Fixed Infinite Liquids
|
||||
- Remove Glowshrooms
|
||||
- Added Doors!
|
||||
|
||||
Code Changes:
|
||||
|
||||
|
417
mods/CORE/pyutest/models/pyutest-door.obj
Normal file
417
mods/CORE/pyutest/models/pyutest-door.obj
Normal file
@ -0,0 +1,417 @@
|
||||
# Made in Blockbench 4.11.1
|
||||
mtllib pyutest-door.mtl
|
||||
|
||||
o cube
|
||||
v 0.5 -0.375 -0.375
|
||||
v 0.5 -0.375 -0.5
|
||||
v 0.5 -0.5 -0.375
|
||||
v 0.5 -0.5 -0.5
|
||||
v -0.5 -0.375 -0.5
|
||||
v -0.5 -0.375 -0.375
|
||||
v -0.5 -0.5 -0.5
|
||||
v -0.5 -0.5 -0.375
|
||||
vt 0 1
|
||||
vt 1 1
|
||||
vt 1 0.875
|
||||
vt 0 0.875
|
||||
vt 0 1
|
||||
vt 0.125 1
|
||||
vt 0.125 0.875
|
||||
vt 0 0.875
|
||||
vt 0 1
|
||||
vt 1 1
|
||||
vt 1 0.875
|
||||
vt 0 0.875
|
||||
vt 0 1
|
||||
vt 0.125 1
|
||||
vt 0.125 0.875
|
||||
vt 0 0.875
|
||||
vt 0 1
|
||||
vt 1 1
|
||||
vt 1 0.875
|
||||
vt 0 0.875
|
||||
vt 0 1
|
||||
vt 1 1
|
||||
vt 1 0.875
|
||||
vt 0 0.875
|
||||
vn 0 0 -1
|
||||
vn 1 0 0
|
||||
vn 0 0 1
|
||||
vn -1 0 0
|
||||
vn 0 1 0
|
||||
vn 0 -1 0
|
||||
usemtl none
|
||||
f 4/4/1 7/3/1 5/2/1 2/1/1
|
||||
f 3/8/2 4/7/2 2/6/2 1/5/2
|
||||
f 8/12/3 3/11/3 1/10/3 6/9/3
|
||||
f 7/16/4 8/15/4 6/14/4 5/13/4
|
||||
f 6/20/5 1/19/5 2/18/5 5/17/5
|
||||
f 7/24/6 4/23/6 3/22/6 8/21/6
|
||||
o cube
|
||||
v 0.5 1.375 -0.375
|
||||
v 0.5 1.375 -0.5
|
||||
v 0.5 -0.375 -0.375
|
||||
v 0.5 -0.375 -0.5
|
||||
v 0.375 1.375 -0.5
|
||||
v 0.375 1.375 -0.375
|
||||
v 0.375 -0.375 -0.5
|
||||
v 0.375 -0.375 -0.375
|
||||
vt 0 1
|
||||
vt 0.125 1
|
||||
vt 0.125 0
|
||||
vt 0 0
|
||||
vt 0 1
|
||||
vt 0.125 1
|
||||
vt 0.125 0
|
||||
vt 0 0
|
||||
vt 0 1
|
||||
vt 0.125 1
|
||||
vt 0.125 0
|
||||
vt 0 0
|
||||
vt 0 1
|
||||
vt 0.125 1
|
||||
vt 0.125 0
|
||||
vt 0 0
|
||||
vt 0 1
|
||||
vt 0.125 1
|
||||
vt 0.125 0.875
|
||||
vt 0 0.875
|
||||
vt 0 1
|
||||
vt 0.125 1
|
||||
vt 0.125 0.875
|
||||
vt 0 0.875
|
||||
vn 0 0 -1
|
||||
vn 1 0 0
|
||||
vn 0 0 1
|
||||
vn -1 0 0
|
||||
vn 0 1 0
|
||||
vn 0 -1 0
|
||||
usemtl none
|
||||
f 12/28/7 15/27/7 13/26/7 10/25/7
|
||||
f 11/32/8 12/31/8 10/30/8 9/29/8
|
||||
f 16/36/9 11/35/9 9/34/9 14/33/9
|
||||
f 15/40/10 16/39/10 14/38/10 13/37/10
|
||||
f 14/44/11 9/43/11 10/42/11 13/41/11
|
||||
f 15/48/12 12/47/12 11/46/12 16/45/12
|
||||
o cube
|
||||
v -0.375 1.375 -0.375
|
||||
v -0.375 1.375 -0.5
|
||||
v -0.375 -0.375 -0.375
|
||||
v -0.375 -0.375 -0.5
|
||||
v -0.5 1.375 -0.5
|
||||
v -0.5 1.375 -0.375
|
||||
v -0.5 -0.375 -0.5
|
||||
v -0.5 -0.375 -0.375
|
||||
vt 0 1
|
||||
vt 0.125 1
|
||||
vt 0.125 0
|
||||
vt 0 0
|
||||
vt 0 1
|
||||
vt 0.125 1
|
||||
vt 0.125 0
|
||||
vt 0 0
|
||||
vt 0 1
|
||||
vt 0.125 1
|
||||
vt 0.125 0
|
||||
vt 0 0
|
||||
vt 0 1
|
||||
vt 0.125 1
|
||||
vt 0.125 0
|
||||
vt 0 0
|
||||
vt 0 1
|
||||
vt 0.125 1
|
||||
vt 0.125 0.875
|
||||
vt 0 0.875
|
||||
vt 0 1
|
||||
vt 0.125 1
|
||||
vt 0.125 0.875
|
||||
vt 0 0.875
|
||||
vn 0 0 -1
|
||||
vn 1 0 0
|
||||
vn 0 0 1
|
||||
vn -1 0 0
|
||||
vn 0 1 0
|
||||
vn 0 -1 0
|
||||
usemtl none
|
||||
f 20/52/13 23/51/13 21/50/13 18/49/13
|
||||
f 19/56/14 20/55/14 18/54/14 17/53/14
|
||||
f 24/60/15 19/59/15 17/58/15 22/57/15
|
||||
f 23/64/16 24/63/16 22/62/16 21/61/16
|
||||
f 22/68/17 17/67/17 18/66/17 21/65/17
|
||||
f 23/72/18 20/71/18 19/70/18 24/69/18
|
||||
o cube
|
||||
v 0.5 1.5 -0.375
|
||||
v 0.5 1.5 -0.5
|
||||
v 0.5 1.375 -0.375
|
||||
v 0.5 1.375 -0.5
|
||||
v -0.5 1.5 -0.5
|
||||
v -0.5 1.5 -0.375
|
||||
v -0.5 1.375 -0.5
|
||||
v -0.5 1.375 -0.375
|
||||
vt 0 1
|
||||
vt 1 1
|
||||
vt 1 0.875
|
||||
vt 0 0.875
|
||||
vt 0 1
|
||||
vt 0.125 1
|
||||
vt 0.125 0.875
|
||||
vt 0 0.875
|
||||
vt 0 1
|
||||
vt 1 1
|
||||
vt 1 0.875
|
||||
vt 0 0.875
|
||||
vt 0 1
|
||||
vt 0.125 1
|
||||
vt 0.125 0.875
|
||||
vt 0 0.875
|
||||
vt 0 1
|
||||
vt 1 1
|
||||
vt 1 0.875
|
||||
vt 0 0.875
|
||||
vt 0 1
|
||||
vt 1 1
|
||||
vt 1 0.875
|
||||
vt 0 0.875
|
||||
vn 0 0 -1
|
||||
vn 1 0 0
|
||||
vn 0 0 1
|
||||
vn -1 0 0
|
||||
vn 0 1 0
|
||||
vn 0 -1 0
|
||||
usemtl none
|
||||
f 28/76/19 31/75/19 29/74/19 26/73/19
|
||||
f 27/80/20 28/79/20 26/78/20 25/77/20
|
||||
f 32/84/21 27/83/21 25/82/21 30/81/21
|
||||
f 31/88/22 32/87/22 30/86/22 29/85/22
|
||||
f 30/92/23 25/91/23 26/90/23 29/89/23
|
||||
f 31/96/24 28/95/24 27/94/24 32/93/24
|
||||
o cube
|
||||
v 0.375 0.875 -0.375
|
||||
v 0.375 0.875 -0.5
|
||||
v 0.375 -0.375 -0.375
|
||||
v 0.375 -0.375 -0.5
|
||||
v -0.375 0.875 -0.5
|
||||
v -0.375 0.875 -0.375
|
||||
v -0.375 -0.375 -0.5
|
||||
v -0.375 -0.375 -0.375
|
||||
vt 0 1
|
||||
vt 0.75 1
|
||||
vt 0.75 0
|
||||
vt 0 0
|
||||
vt 0 1
|
||||
vt 0.125 1
|
||||
vt 0.125 0
|
||||
vt 0 0
|
||||
vt 0 1
|
||||
vt 0.75 1
|
||||
vt 0.75 0
|
||||
vt 0 0
|
||||
vt 0 1
|
||||
vt 0.125 1
|
||||
vt 0.125 0
|
||||
vt 0 0
|
||||
vt 0 1
|
||||
vt 0.75 1
|
||||
vt 0.75 0.875
|
||||
vt 0 0.875
|
||||
vt 0 1
|
||||
vt 0.75 1
|
||||
vt 0.75 0.875
|
||||
vt 0 0.875
|
||||
vn 0 0 -1
|
||||
vn 1 0 0
|
||||
vn 0 0 1
|
||||
vn -1 0 0
|
||||
vn 0 1 0
|
||||
vn 0 -1 0
|
||||
usemtl none
|
||||
f 36/100/25 39/99/25 37/98/25 34/97/25
|
||||
f 35/104/26 36/103/26 34/102/26 33/101/26
|
||||
f 40/108/27 35/107/27 33/106/27 38/105/27
|
||||
f 39/112/28 40/111/28 38/110/28 37/109/28
|
||||
f 38/116/29 33/115/29 34/114/29 37/113/29
|
||||
f 39/120/30 36/119/30 35/118/30 40/117/30
|
||||
o cube
|
||||
v 0.375 1 -0.375
|
||||
v 0.375 1 -0.5
|
||||
v 0.375 0.875 -0.375
|
||||
v 0.375 0.875 -0.5
|
||||
v -0.375 1 -0.5
|
||||
v -0.375 1 -0.375
|
||||
v -0.375 0.875 -0.5
|
||||
v -0.375 0.875 -0.375
|
||||
vt 0 1
|
||||
vt 0.75 1
|
||||
vt 0.75 0.875
|
||||
vt 0 0.875
|
||||
vt 0 1
|
||||
vt 0.125 1
|
||||
vt 0.125 0.875
|
||||
vt 0 0.875
|
||||
vt 0 1
|
||||
vt 0.75 1
|
||||
vt 0.75 0.875
|
||||
vt 0 0.875
|
||||
vt 0 1
|
||||
vt 0.125 1
|
||||
vt 0.125 0.875
|
||||
vt 0 0.875
|
||||
vt 0 1
|
||||
vt 0.75 1
|
||||
vt 0.75 0.875
|
||||
vt 0 0.875
|
||||
vt 0 1
|
||||
vt 0.75 1
|
||||
vt 0.75 0.875
|
||||
vt 0 0.875
|
||||
vn 0 0 -1
|
||||
vn 1 0 0
|
||||
vn 0 0 1
|
||||
vn -1 0 0
|
||||
vn 0 1 0
|
||||
vn 0 -1 0
|
||||
usemtl none
|
||||
f 44/124/31 47/123/31 45/122/31 42/121/31
|
||||
f 43/128/32 44/127/32 42/126/32 41/125/32
|
||||
f 48/132/33 43/131/33 41/130/33 46/129/33
|
||||
f 47/136/34 48/135/34 46/134/34 45/133/34
|
||||
f 46/140/35 41/139/35 42/138/35 45/137/35
|
||||
f 47/144/36 44/143/36 43/142/36 48/141/36
|
||||
o cube
|
||||
v 0.375 1.25 -0.375
|
||||
v 0.375 1.25 -0.5
|
||||
v 0.375 1 -0.375
|
||||
v 0.375 1 -0.5
|
||||
v 0.25 1.25 -0.5
|
||||
v 0.25 1.25 -0.375
|
||||
v 0.25 1 -0.5
|
||||
v 0.25 1 -0.375
|
||||
vt 0 1
|
||||
vt 0.125 1
|
||||
vt 0.125 0.75
|
||||
vt 0 0.75
|
||||
vt 0 1
|
||||
vt 0.125 1
|
||||
vt 0.125 0.75
|
||||
vt 0 0.75
|
||||
vt 0 1
|
||||
vt 0.125 1
|
||||
vt 0.125 0.75
|
||||
vt 0 0.75
|
||||
vt 0 1
|
||||
vt 0.125 1
|
||||
vt 0.125 0.75
|
||||
vt 0 0.75
|
||||
vt 0 1
|
||||
vt 0.125 1
|
||||
vt 0.125 0.875
|
||||
vt 0 0.875
|
||||
vt 0 1
|
||||
vt 0.125 1
|
||||
vt 0.125 0.875
|
||||
vt 0 0.875
|
||||
vn 0 0 -1
|
||||
vn 1 0 0
|
||||
vn 0 0 1
|
||||
vn -1 0 0
|
||||
vn 0 1 0
|
||||
vn 0 -1 0
|
||||
usemtl none
|
||||
f 52/148/37 55/147/37 53/146/37 50/145/37
|
||||
f 51/152/38 52/151/38 50/150/38 49/149/38
|
||||
f 56/156/39 51/155/39 49/154/39 54/153/39
|
||||
f 55/160/40 56/159/40 54/158/40 53/157/40
|
||||
f 54/164/41 49/163/41 50/162/41 53/161/41
|
||||
f 55/168/42 52/167/42 51/166/42 56/165/42
|
||||
o cube
|
||||
v -0.25 1.25 -0.375
|
||||
v -0.25 1.25 -0.5
|
||||
v -0.25 1 -0.375
|
||||
v -0.25 1 -0.5
|
||||
v -0.375 1.25 -0.5
|
||||
v -0.375 1.25 -0.375
|
||||
v -0.375 1 -0.5
|
||||
v -0.375 1 -0.375
|
||||
vt 0 1
|
||||
vt 0.125 1
|
||||
vt 0.125 0.75
|
||||
vt 0 0.75
|
||||
vt 0 1
|
||||
vt 0.125 1
|
||||
vt 0.125 0.75
|
||||
vt 0 0.75
|
||||
vt 0 1
|
||||
vt 0.125 1
|
||||
vt 0.125 0.75
|
||||
vt 0 0.75
|
||||
vt 0 1
|
||||
vt 0.125 1
|
||||
vt 0.125 0.75
|
||||
vt 0 0.75
|
||||
vt 0 1
|
||||
vt 0.125 1
|
||||
vt 0.125 0.875
|
||||
vt 0 0.875
|
||||
vt 0 1
|
||||
vt 0.125 1
|
||||
vt 0.125 0.875
|
||||
vt 0 0.875
|
||||
vn 0 0 -1
|
||||
vn 1 0 0
|
||||
vn 0 0 1
|
||||
vn -1 0 0
|
||||
vn 0 1 0
|
||||
vn 0 -1 0
|
||||
usemtl none
|
||||
f 60/172/43 63/171/43 61/170/43 58/169/43
|
||||
f 59/176/44 60/175/44 58/174/44 57/173/44
|
||||
f 64/180/45 59/179/45 57/178/45 62/177/45
|
||||
f 63/184/46 64/183/46 62/182/46 61/181/46
|
||||
f 62/188/47 57/187/47 58/186/47 61/185/47
|
||||
f 63/192/48 60/191/48 59/190/48 64/189/48
|
||||
o cube
|
||||
v 0.375 1.375 -0.375
|
||||
v 0.375 1.375 -0.5
|
||||
v 0.375 1.25 -0.375
|
||||
v 0.375 1.25 -0.5
|
||||
v -0.375 1.375 -0.5
|
||||
v -0.375 1.375 -0.375
|
||||
v -0.375 1.25 -0.5
|
||||
v -0.375 1.25 -0.375
|
||||
vt 0 1
|
||||
vt 0.75 1
|
||||
vt 0.75 0.875
|
||||
vt 0 0.875
|
||||
vt 0 1
|
||||
vt 0.125 1
|
||||
vt 0.125 0.875
|
||||
vt 0 0.875
|
||||
vt 0 1
|
||||
vt 0.75 1
|
||||
vt 0.75 0.875
|
||||
vt 0 0.875
|
||||
vt 0 1
|
||||
vt 0.125 1
|
||||
vt 0.125 0.875
|
||||
vt 0 0.875
|
||||
vt 0 1
|
||||
vt 0.75 1
|
||||
vt 0.75 0.875
|
||||
vt 0 0.875
|
||||
vt 0 1
|
||||
vt 0.75 1
|
||||
vt 0.75 0.875
|
||||
vt 0 0.875
|
||||
vn 0 0 -1
|
||||
vn 1 0 0
|
||||
vn 0 0 1
|
||||
vn -1 0 0
|
||||
vn 0 1 0
|
||||
vn 0 -1 0
|
||||
usemtl none
|
||||
f 68/196/49 71/195/49 69/194/49 66/193/49
|
||||
f 67/200/50 68/199/50 66/198/50 65/197/50
|
||||
f 72/204/51 67/203/51 65/202/51 70/201/51
|
||||
f 71/208/52 72/207/52 70/206/52 69/205/52
|
||||
f 70/212/53 65/211/53 66/210/53 69/209/53
|
||||
f 71/216/54 68/215/54 67/214/54 72/213/54
|
@ -69,6 +69,7 @@ PyuTest.make_building_blocks = function(name, desc, tex, colortint, cgroups, ext
|
||||
local id_pillar = name .. "_pillar"
|
||||
local id_stairs = name .. "_stairs"
|
||||
local id_fence = name .. "_fence"
|
||||
local id_door = name .. "_door"
|
||||
|
||||
table.insert(PyuTest.building_blocks, {
|
||||
ns = name:split(":")[1],
|
||||
@ -126,7 +127,8 @@ PyuTest.make_building_blocks = function(name, desc, tex, colortint, cgroups, ext
|
||||
sounds = PyuTest.make_node_sounds(),
|
||||
}, econf))
|
||||
|
||||
PyuTest.make_fence(id_fence, Translate(desc .. " Fence"), id_block, tex, groups, econf)
|
||||
PyuTest.make_fence(id_fence, desc .. " Fence", id_block, tex, groups, econf)
|
||||
PyuTest.make_door(id_door, desc .. " Door", id_block, tex, groups, econf)
|
||||
|
||||
core.register_craft({
|
||||
output = id_carpet .. " 2",
|
||||
|
68
mods/ITEMS/pyutest_blocks/api/doors.lua
Normal file
68
mods/ITEMS/pyutest_blocks/api/doors.lua
Normal file
@ -0,0 +1,68 @@
|
||||
PyuTest.DOOR_NODEBOX = {
|
||||
type = "fixed",
|
||||
fixed = { -0.5, -0.5, -0.38, 0.5, 1.5, -0.5 }
|
||||
}
|
||||
|
||||
local function door_toggle_param2(start, current)
|
||||
if start == 3 and current + 1 > start then
|
||||
return start - 1
|
||||
elseif start >= 0 and current > start then
|
||||
return current - 1
|
||||
else
|
||||
return current + 1
|
||||
end
|
||||
end
|
||||
local DOOR_META_PARAM2_NAME = "door_start_param2"
|
||||
|
||||
PyuTest.make_door = function(name, desc, craftitem, texture, groups, extra)
|
||||
local e = extra or {}
|
||||
|
||||
core.register_node(name, PyuTest.util.tableconcat({
|
||||
description = Translate(desc),
|
||||
groups = PyuTest.util.tableconcat(groups, {
|
||||
door = 1
|
||||
}),
|
||||
tiles = texture,
|
||||
sounds = PyuTest.make_node_sounds(),
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
drawtype = "mesh",
|
||||
mesh = "pyutest-door.obj",
|
||||
|
||||
selection_box = PyuTest.DOOR_NODEBOX,
|
||||
collision_box = PyuTest.DOOR_NODEBOX,
|
||||
|
||||
after_place_node = function(pos, placer)
|
||||
local node = core.get_node(pos)
|
||||
local meta = core.get_meta(pos)
|
||||
meta:set_int(DOOR_META_PARAM2_NAME, node.param2)
|
||||
end,
|
||||
|
||||
on_rightclick = function (pos, node, clicker)
|
||||
local meta = core.get_meta(pos)
|
||||
|
||||
core.swap_node(pos, {
|
||||
name = name,
|
||||
param2 = door_toggle_param2(meta:get_int(DOOR_META_PARAM2_NAME), node.param2)
|
||||
})
|
||||
|
||||
core.sound_play({
|
||||
name = "crate_open",
|
||||
gain = 1,
|
||||
pos = pos
|
||||
})
|
||||
end
|
||||
}, e))
|
||||
|
||||
|
||||
if craftitem ~= nil then
|
||||
core.register_craft({
|
||||
output = name,
|
||||
recipe = {
|
||||
{craftitem, craftitem},
|
||||
{craftitem, craftitem},
|
||||
{craftitem, craftitem},
|
||||
}
|
||||
})
|
||||
end
|
||||
end
|
@ -1,6 +1,6 @@
|
||||
PyuTest.make_fence = function(name, desc, craftitem, texture, groups, extra)
|
||||
core.register_node(name, PyuTest.util.tableconcat({
|
||||
description = desc,
|
||||
description = Translate(desc),
|
||||
groups = PyuTest.util.tableconcat(groups, {
|
||||
block = 1,
|
||||
fence = 1,
|
||||
|
@ -2,24 +2,24 @@ PyuTest.make_slab = function(name, desc, craftitem, texture, groups, extra)
|
||||
local e = extra or {}
|
||||
|
||||
core.register_node(name, PyuTest.util.tableconcat({
|
||||
description = Translate(desc),
|
||||
groups = PyuTest.util.tableconcat(groups, {
|
||||
block = 1,
|
||||
slab = 1,
|
||||
}),
|
||||
tiles = texture,
|
||||
sounds = PyuTest.make_node_sounds(),
|
||||
paramtype = "light",
|
||||
paramtype2 = "colorfacedir",
|
||||
description = Translate(desc),
|
||||
groups = PyuTest.util.tableconcat(groups, {
|
||||
block = 1,
|
||||
slab = 1,
|
||||
}),
|
||||
tiles = texture,
|
||||
sounds = PyuTest.make_node_sounds(),
|
||||
paramtype = "light",
|
||||
paramtype2 = "colorfacedir",
|
||||
|
||||
drawtype = "nodebox",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5},
|
||||
},
|
||||
on_place = function (itemstack, placer, pointed_thing)
|
||||
return PyuTest.rotate_and_place(itemstack, placer, pointed_thing)
|
||||
end
|
||||
drawtype = "nodebox",
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5},
|
||||
},
|
||||
on_place = function (itemstack, placer, pointed_thing)
|
||||
return PyuTest.rotate_and_place(itemstack, placer, pointed_thing)
|
||||
end
|
||||
}, e))
|
||||
|
||||
if craftitem ~= nil then
|
||||
|
@ -2,9 +2,9 @@ local modpath = core.get_modpath("pyutest_blocks")
|
||||
|
||||
dofile(modpath .. "/api/fences.lua")
|
||||
dofile(modpath .. "/api/stairs.lua")
|
||||
dofile(modpath .. "/api/doors.lua")
|
||||
dofile(modpath .. "/api.lua")
|
||||
|
||||
|
||||
dofile(modpath .. "/basic.lua")
|
||||
dofile(modpath .. "/liquid.lua")
|
||||
dofile(modpath .. "/special.lua")
|
||||
|
Loading…
x
Reference in New Issue
Block a user