Convert iron doors, other wood type doors.
All wood type doors are converted to "oak" doors.
This commit is contained in:
parent
00382166de
commit
651c651be0
21
block.py
21
block.py
@ -226,6 +226,9 @@ class MTBlock:
|
||||
param1[i] = max(blocklight[i], skylight[i])|(blocklight[i]<<4)
|
||||
mcblockidentifier[i] = str(blocks[i]) + ':' + str(data[i])
|
||||
|
||||
def isdoor(b):
|
||||
return b == 64 or b == 71 or (b >= 193 and b <= 197)
|
||||
|
||||
# pressure plates - append mesecons node timer
|
||||
if blocks[i] == 70 or blocks[i] == 72:
|
||||
self.timers.append(((i&0xf)|((i>>4)&0xf)<<8|((i>>8)&0xf)<<4, 100, 0))
|
||||
@ -236,30 +239,36 @@ class MTBlock:
|
||||
elif blocks[i] == 31 and data[i] == 1:
|
||||
content[i], param2[i] = conversion_table[931][random.randint(0,4)]
|
||||
# fix doors based on top/bottom bits
|
||||
elif blocks[i] == 64 and data[i] < 8:
|
||||
elif isdoor(blocks[i]) and data[i] < 8:
|
||||
above = i + 256
|
||||
if (above >= 4096):
|
||||
print('Unable to fix door - top part is across block boundary!')
|
||||
elif blocks[above] == 64 and data[above] < 7:
|
||||
elif isdoor(blocks[above]) and data[above] < 7:
|
||||
print('Unable to fix door - bottom part on top of bottom part!')
|
||||
else:
|
||||
d_right = data[above] & 1 # 0 - left, 1 - right
|
||||
d_open = data[i] & 4 # 0 - closed, 1 - open
|
||||
d_face = data[i] & 3 # n,e,s,w orientation
|
||||
content[i], param2[i] = conversion_table[964][d_face|d_open|(d_right<<3)]
|
||||
alt = 964
|
||||
if blocks[i] == 71:
|
||||
alt = 966
|
||||
content[i], param2[i] = conversion_table[alt][d_face|d_open|(d_right<<3)]
|
||||
if d_right == 1:
|
||||
self.metadata[(i & 0xf, (i>>8) & 0xf, (i>>4) & 0xf)] = ({ "right": "1" }, {})
|
||||
elif blocks[i] == 64 and data[i] >= 8:
|
||||
elif isdoor(blocks[i]) and data[i] >= 8:
|
||||
below = i - 256
|
||||
if (below < 0):
|
||||
print('Unable to fix door - bottom part is across block boundary!')
|
||||
elif blocks[below] == 64 and data[below] >= 8:
|
||||
elif isdoor(blocks[below]) and data[below] >= 8:
|
||||
print('Unable to fix door - top part below top part!')
|
||||
else:
|
||||
d_right = data[i] & 1 # 0 - left, 1 - right
|
||||
d_open = data[below] & 4 # 0 - closed, 1 - open
|
||||
d_face = data[below] & 3 # n,e,s,w orientation
|
||||
content[i], param2[i] = conversion_table[965][d_face|d_open|(d_right<<3)]
|
||||
alt = 965
|
||||
if blocks[i] == 71:
|
||||
alt = 967
|
||||
content[i], param2[i] = conversion_table[alt][d_face|d_open|(d_right<<3)]
|
||||
if d_right == 1:
|
||||
self.metadata[(i & 0xf, (i>>8) & 0xf, (i>>4) & 0xf)] = ({ "right": "1" }, {})
|
||||
|
||||
|
@ -321,14 +321,7 @@
|
||||
|
||||
70 mesecons_pressureplates:pressure_plate_stone_off
|
||||
|
||||
71 0,4 doors:door_steel_b_1 0 //FIXME: doors fix themselves after open/close
|
||||
71 1,5 doors:door_steel_b_1 1
|
||||
71 2,6 doors:door_steel_b_1 2
|
||||
71 3,7 doors:door_steel_b_1 3
|
||||
71 8 doors:door_steel_t_1
|
||||
71 9 doors:door_steel_t_1
|
||||
71 10 doors:door_steel_t_1
|
||||
71 11 doors:door_steel_t_1
|
||||
71 air // door parts get fixed up in code
|
||||
|
||||
72 mesecons_pressureplates:pressure_plate_wood_off
|
||||
|
||||
@ -649,6 +642,12 @@
|
||||
182 8 stairs:slab_desert_stone 22
|
||||
182 stairs:slab_desert_stone
|
||||
|
||||
193 air // door parts get fixed up in code
|
||||
194 air // door parts get fixed up in code
|
||||
195 air // door parts get fixed up in code
|
||||
196 air // door parts get fixed up in code
|
||||
197 air // door parts get fixed up in code
|
||||
|
||||
324 0,4 doors:door_wood_b_1 0
|
||||
324 1,5 doors:door_wood_b_1 1
|
||||
324 2,6 doors:door_wood_b_1 2
|
||||
@ -727,3 +726,37 @@
|
||||
965 14 doors:door_wood_t_1 0
|
||||
965 15 doors:door_wood_t_1 1
|
||||
|
||||
966 0 doors:door_steel_b_1 3
|
||||
966 1 doors:door_steel_b_1 0
|
||||
966 2 doors:door_steel_b_1 1
|
||||
966 3 doors:door_steel_b_1 2
|
||||
966 4 doors:door_steel_b_2 0
|
||||
966 5 doors:door_steel_b_2 1
|
||||
966 6 doors:door_steel_b_2 2
|
||||
966 7 doors:door_steel_b_2 3
|
||||
966 8 doors:door_steel_b_2 3
|
||||
966 9 doors:door_steel_b_2 0
|
||||
966 10 doors:door_steel_b_2 1
|
||||
966 11 doors:door_steel_b_2 2
|
||||
966 12 doors:door_steel_b_1 2
|
||||
966 13 doors:door_steel_b_1 3
|
||||
966 14 doors:door_steel_b_1 0
|
||||
966 15 doors:door_steel_b_1 1
|
||||
|
||||
967 0 doors:door_steel_t_1 3
|
||||
967 1 doors:door_steel_t_1 0
|
||||
967 2 doors:door_steel_t_1 1
|
||||
967 3 doors:door_steel_t_1 2
|
||||
967 4 doors:door_steel_t_2 0
|
||||
967 5 doors:door_steel_t_2 1
|
||||
967 6 doors:door_steel_t_2 2
|
||||
967 7 doors:door_steel_t_2 3
|
||||
967 8 doors:door_steel_t_2 3
|
||||
967 9 doors:door_steel_t_2 0
|
||||
967 10 doors:door_steel_t_2 1
|
||||
967 11 doors:door_steel_t_2 2
|
||||
967 12 doors:door_steel_t_1 2
|
||||
967 13 doors:door_steel_t_1 3
|
||||
967 14 doors:door_steel_t_1 0
|
||||
967 15 doors:door_steel_t_1 1
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user