0

Added crimson and warped wood

This commit is contained in:
Lieuwe Westra
2020-08-14 14:53:59 +02:00
parent 629b43370e
commit 113a3a6f09
6 changed files with 120 additions and 25 deletions

View File

@@ -74,6 +74,8 @@ const mc_block_t block_class_stair[] = {
block_spruce_stairs, block_spruce_stairs,
block_birch_stairs, block_birch_stairs,
block_jungle_stairs, block_jungle_stairs,
block_crimson_stairs,
block_warped_stairs,
block_quartz_stairs, block_quartz_stairs,
block_acacia_stairs, block_acacia_stairs,
block_dark_oak_stairs, block_dark_oak_stairs,
@@ -109,7 +111,9 @@ const mc_block_t block_class_door[] = {
block_birch_door, block_birch_door,
block_jungle_door, block_jungle_door,
block_acacia_door, block_acacia_door,
block_dark_oak_door}; block_dark_oak_door,
block_crimson_door,
block_warped_door};
const size_t block_class_door_len = COUNT_OF(block_class_door); const size_t block_class_door_len = COUNT_OF(block_class_door);
const mc_block_t block_class_fence[] = { const mc_block_t block_class_fence[] = {
@@ -119,6 +123,8 @@ const mc_block_t block_class_fence[] = {
block_birch_fence, block_birch_fence,
block_jungle_fence, block_jungle_fence,
block_dark_oak_fence, block_dark_oak_fence,
block_crimson_fence,
block_warped_fence,
block_acacia_fence}; block_acacia_fence};
const size_t block_class_fence_len = COUNT_OF(block_class_fence); const size_t block_class_fence_len = COUNT_OF(block_class_fence);
@@ -128,7 +134,9 @@ const mc_block_t block_class_fence_gate[] = {
block_birch_fence_gate, block_birch_fence_gate,
block_jungle_fence_gate, block_jungle_fence_gate,
block_dark_oak_fence_gate, block_dark_oak_fence_gate,
block_acacia_fence_gate}; block_acacia_fence_gate,
block_crimson_fence_gate,
block_warped_fence_gate};
const size_t block_class_fence_gate_len = COUNT_OF(block_class_fence_gate); const size_t block_class_fence_gate_len = COUNT_OF(block_class_fence_gate);
const mc_block_t block_class_ancil[] = { const mc_block_t block_class_ancil[] = {
@@ -139,6 +147,8 @@ const mc_block_t block_class_ancil[] = {
block_jungle_door, block_jungle_door,
block_acacia_door, block_acacia_door,
block_dark_oak_door, block_dark_oak_door,
block_dark_oak_door,
block_crimson_door,
block_oak_stairs, block_oak_stairs,
block_brick_stairs, block_brick_stairs,
block_stone_brick_stairs, block_stone_brick_stairs,
@@ -150,6 +160,8 @@ const mc_block_t block_class_ancil[] = {
block_quartz_stairs, block_quartz_stairs,
block_acacia_stairs, block_acacia_stairs,
block_dark_oak_stairs, block_dark_oak_stairs,
block_crimson_stairs,
block_warped_stairs,
block_red_sandstone_stairs, block_red_sandstone_stairs,
block_smooth_red_sandstone_stairs, block_smooth_red_sandstone_stairs,
block_purpur_stairs, block_purpur_stairs,
@@ -209,6 +221,8 @@ const mc_block_t block_class_ancil[] = {
block_birch_fence, block_birch_fence,
block_jungle_fence, block_jungle_fence,
block_dark_oak_fence, block_dark_oak_fence,
block_crimson_fence,
block_warped_fence,
block_acacia_fence}; block_acacia_fence};
const size_t block_class_ancil_len = COUNT_OF(block_class_ancil); const size_t block_class_ancil_len = COUNT_OF(block_class_ancil);
@@ -223,8 +237,11 @@ const mc_block_t block_class_alt_height[] = {
block_birch_stairs, block_birch_stairs,
block_jungle_stairs, block_jungle_stairs,
block_quartz_stairs, block_quartz_stairs,
block_quartz_stairs,
block_acacia_stairs, block_acacia_stairs,
block_dark_oak_stairs, block_dark_oak_stairs,
block_crimson_stairs,
block_warped_stairs,
block_red_sandstone_stairs, block_red_sandstone_stairs,
block_smooth_red_sandstone_stairs, block_smooth_red_sandstone_stairs,
block_prismarine_stairs, block_prismarine_stairs,

View File

@@ -280,7 +280,8 @@ generate_pseudo_data(RenderState* state, uint16_t ancilData) {
/* check for fences AND fence gates */ /* check for fences AND fence gates */
return check_adjacent_blocks(state, x, y, z, state->block) | check_adjacent_blocks(state, x, y, z, block_fence_gate) | return check_adjacent_blocks(state, x, y, z, state->block) | check_adjacent_blocks(state, x, y, z, block_fence_gate) |
check_adjacent_blocks(state, x, y, z, block_fence_gate) | check_adjacent_blocks(state, x, y, z, block_birch_fence_gate) | check_adjacent_blocks(state, x, y, z, block_jungle_fence_gate) | check_adjacent_blocks(state, x, y, z, block_fence_gate) | check_adjacent_blocks(state, x, y, z, block_birch_fence_gate) | check_adjacent_blocks(state, x, y, z, block_jungle_fence_gate) |
check_adjacent_blocks(state, x, y, z, block_dark_oak_fence_gate) | check_adjacent_blocks(state, x, y, z, block_acacia_fence_gate); check_adjacent_blocks(state, x, y, z, block_dark_oak_fence_gate) | check_adjacent_blocks(state, x, y, z, block_acacia_fence_gate)
| check_adjacent_blocks(state, x, y, z, block_crimson_fence_gate) | check_adjacent_blocks(state, x, y, z, block_warped_fence_gate);
} else if (state->block == block_redstone_wire) { /* redstone */ } else if (state->block == block_redstone_wire) { /* redstone */
/* three addiotional bit are added, one for on/off state, and /* three addiotional bit are added, one for on/off state, and

View File

@@ -168,6 +168,8 @@ enum mc_block_id {
block_log2 = 162, block_log2 = 162,
block_acacia_stairs = 163, block_acacia_stairs = 163,
block_dark_oak_stairs = 164, block_dark_oak_stairs = 164,
block_crimson_stairs = 509,
block_warped_stairs = 510,
block_slime = 165, block_slime = 165,
block_barrier = 166, block_barrier = 166,
block_iron_trapdoor = 167, block_iron_trapdoor = 167,
@@ -192,15 +194,21 @@ enum mc_block_id {
block_jungle_fence_gate = 185, block_jungle_fence_gate = 185,
block_dark_oak_fence_gate = 186, block_dark_oak_fence_gate = 186,
block_acacia_fence_gate = 187, block_acacia_fence_gate = 187,
block_crimson_fence_gate = 513,
block_warped_fence_gate = 514,
block_spruce_fence = 188, block_spruce_fence = 188,
block_birch_fence = 189, block_birch_fence = 189,
block_jungle_fence = 190, block_jungle_fence = 190,
block_dark_oak_fence = 191, block_dark_oak_fence = 191,
block_acacia_fence = 192, block_acacia_fence = 192,
block_crimson_fence = 511,
block_warped_fence = 512,
block_spruce_door = 193, block_spruce_door = 193,
block_birch_door = 194, block_birch_door = 194,
block_jungle_door = 195, block_jungle_door = 195,
block_acacia_door = 196, block_acacia_door = 196,
block_crimson_door = 499,
block_warped_door = 500,
block_dark_oak_door = 197, block_dark_oak_door = 197,
block_end_rod = 198, block_end_rod = 198,
block_chorus_plant = 199, block_chorus_plant = 199,
@@ -380,12 +388,16 @@ enum mc_block_id {
block_jungle_sign = 11404, block_jungle_sign = 11404,
block_acacia_sign = 11405, block_acacia_sign = 11405,
block_dark_oak_sign = 11406, block_dark_oak_sign = 11406,
block_crimson_sign = 12505,
block_warped_sign = 12506,
block_oak_wall_sign = 11407, block_oak_wall_sign = 11407,
block_spruce_wall_sign = 11408, block_spruce_wall_sign = 11408,
block_birch_wall_sign = 11409, block_birch_wall_sign = 11409,
block_jungle_wall_sign = 11410, block_jungle_wall_sign = 11410,
block_acacia_wall_sign = 11411, block_acacia_wall_sign = 11411,
block_dark_oak_wall_sign = 11412, block_dark_oak_wall_sign = 11412,
block_crimson_wall_sign = 12507,
block_warped_wall_sign = 12508,
block_bamboo_sapling = 11413, block_bamboo_sapling = 11413,
block_scaffolding = 11414, block_scaffolding = 11414,
block_bamboo = 11416, block_bamboo = 11416,
@@ -579,6 +591,8 @@ enum mc_item_id {
item_jungle_door = 429, item_jungle_door = 429,
item_acacia_door = 430, item_acacia_door = 430,
item_dark_oak_door = 431, item_dark_oak_door = 431,
item_crimson_door = 755,
item_warped_door = 756,
item_chorus_fruit = 432, item_chorus_fruit = 432,
item_popped_chorus_fruit = 433, item_popped_chorus_fruit = 433,
item_beetroot = 434, item_beetroot = 434,
@@ -611,7 +625,7 @@ enum mc_item_id {
item_record_strad = 2264, item_record_strad = 2264,
item_record_ward = 2265, item_record_ward = 2265,
item_record_11 = 2266, item_record_11 = 2266,
item_record_wait = 2267 item_record_wait = 2267,
}; };
typedef uint16_t mc_item_t; typedef uint16_t mc_item_t;

View File

@@ -31,7 +31,7 @@
// increment this value if you've made a change to the c extension // increment this value if you've made a change to the c extension
// and want to force users to rebuild // and want to force users to rebuild
#define OVERVIEWER_EXTENSION_VERSION 92 #define OVERVIEWER_EXTENSION_VERSION 93
#include <stdbool.h> #include <stdbool.h>
#include <stdint.h> #include <stdint.h>

View File

@@ -964,7 +964,7 @@ def dirt_blocks(self, blockid, data):
block(blockid=4, top_image="assets/minecraft/textures/block/cobblestone.png") block(blockid=4, top_image="assets/minecraft/textures/block/cobblestone.png")
# wooden planks # wooden planks
@material(blockid=5, data=list(range(6)), solid=True) @material(blockid=5, data=list(range(8)), solid=True)
def wooden_planks(self, blockid, data): def wooden_planks(self, blockid, data):
if data == 0: # normal if data == 0: # normal
return self.build_block(self.load_image_texture("assets/minecraft/textures/block/oak_planks.png"), self.load_image_texture("assets/minecraft/textures/block/oak_planks.png")) return self.build_block(self.load_image_texture("assets/minecraft/textures/block/oak_planks.png"), self.load_image_texture("assets/minecraft/textures/block/oak_planks.png"))
@@ -978,6 +978,10 @@ def wooden_planks(self, blockid, data):
return self.build_block(self.load_image_texture("assets/minecraft/textures/block/acacia_planks.png"),self.load_image_texture("assets/minecraft/textures/block/acacia_planks.png")) return self.build_block(self.load_image_texture("assets/minecraft/textures/block/acacia_planks.png"),self.load_image_texture("assets/minecraft/textures/block/acacia_planks.png"))
if data == 5: # dark oak if data == 5: # dark oak
return self.build_block(self.load_image_texture("assets/minecraft/textures/block/dark_oak_planks.png"),self.load_image_texture("assets/minecraft/textures/block/dark_oak_planks.png")) return self.build_block(self.load_image_texture("assets/minecraft/textures/block/dark_oak_planks.png"),self.load_image_texture("assets/minecraft/textures/block/dark_oak_planks.png"))
if data == 6: # crimson
return self.build_block(self.load_image_texture("assets/minecraft/textures/block/crimson_planks.png"),self.load_image_texture("assets/minecraft/textures/block/crimson_planks.png"))
if data == 7: # warped
return self.build_block(self.load_image_texture("assets/minecraft/textures/block/warped_planks.png"),self.load_image_texture("assets/minecraft/textures/block/warped_planks.png"))
@material(blockid=6, data=list(range(16)), transparent=True) @material(blockid=6, data=list(range(16)), transparent=True)
def saplings(self, blockid, data): def saplings(self, blockid, data):
@@ -1768,11 +1772,11 @@ def slabs(self, blockid, data):
top = self.load_image_texture("assets/minecraft/textures/block/smooth_stone.png").copy() top = self.load_image_texture("assets/minecraft/textures/block/smooth_stone.png").copy()
side = self.load_image_texture("assets/minecraft/textures/block/smooth_stone_slab_side.png").copy() side = self.load_image_texture("assets/minecraft/textures/block/smooth_stone_slab_side.png").copy()
elif blockid == 1027: # blackstone_slab elif blockid == 1027: # blackstone_slab
top = side = self.load_image_texture("assets/minecraft/textures/block/blackstone.png").copy() top = side = self.load_image_texture("assets/minecraft/textures/block/blackstone.png").copy()
elif blockid == 1028: # polished_blackstone_slab elif blockid == 1028: # polished_blackstone_slab
top = side = self.load_image_texture("assets/minecraft/textures/block/polished_blackstone.png").copy() top = side = self.load_image_texture("assets/minecraft/textures/block/polished_blackstone.png").copy()
elif blockid == 1029: # polished_blackstone_brick_slab elif blockid == 1029: # polished_blackstone_brick_slab
top = side = self.load_image_texture("assets/minecraft/textures/block/polished_blackstone_bricks.png").copy() top = side = self.load_image_texture("assets/minecraft/textures/block/polished_blackstone_bricks.png").copy()
if blockid == 43 or blockid == 181 or blockid == 204: # double slab if blockid == 43 or blockid == 181 or blockid == 204: # double slab
return self.build_block(top, side) return self.build_block(top, side)
@@ -2021,12 +2025,13 @@ def fire(self, blockid, data):
block(blockid=52, top_image="assets/minecraft/textures/block/spawner.png", transparent=True) block(blockid=52, top_image="assets/minecraft/textures/block/spawner.png", transparent=True)
# wooden, cobblestone, red brick, stone brick, netherbrick, sandstone, spruce, birch, # wooden, cobblestone, red brick, stone brick, netherbrick, sandstone, spruce, birch,
# jungle, quartz, red sandstone, (dark) prismarine, mossy brick and mossy cobblestone, stone smooth_quartz # jungle, quartz, red sandstone, purper_stairs, crimson_stairs, warped_stairs, (dark) prismarine,
# mossy brick and mossy cobblestone, stone smooth_quartz
# polished_granite polished_andesite polished_diorite granite diorite andesite end_stone_bricks red_nether_brick stairs # polished_granite polished_andesite polished_diorite granite diorite andesite end_stone_bricks red_nether_brick stairs
# smooth_red_sandstone blackstone polished_blackstone polished_blackstone_brick # smooth_red_sandstone blackstone polished_blackstone polished_blackstone_brick
@material(blockid=[53, 67, 108, 109, 114, 128, 134, 135, 136, 156, 163, 164, 180, 203, 11337, 11338, 11339, @material(blockid=[53, 67, 108, 109, 114, 128, 134, 135, 136, 156, 163, 164, 180, 203, 509, 510, 11337, 11338, 11339,
11370, 11371, 11374, 11375, 11376, 11377, 11378, 11379, 11380, 11381, 11382, 11383, 11384, 11415, 11370, 11371, 11374, 11375, 11376, 11377, 11378, 11379, 11380, 11381, 11382, 11383, 11384, 11415,
1030, 1031, 1032], 1030, 1031, 1032],
data=list(range(128)), transparent=True, solid=True, nospawn=True) data=list(range(128)), transparent=True, solid=True, nospawn=True)
def stairs(self, blockid, data): def stairs(self, blockid, data):
# preserve the upside-down bit # preserve the upside-down bit
@@ -2055,6 +2060,8 @@ def stairs(self, blockid, data):
164: "assets/minecraft/textures/block/dark_oak_planks.png", 164: "assets/minecraft/textures/block/dark_oak_planks.png",
180: "assets/minecraft/textures/block/red_sandstone.png", 180: "assets/minecraft/textures/block/red_sandstone.png",
203: "assets/minecraft/textures/block/purpur_block.png", 203: "assets/minecraft/textures/block/purpur_block.png",
509: "assets/minecraft/textures/block/crimson_planks.png",
510: "assets/minecraft/textures/block/warped_planks.png",
11337: "assets/minecraft/textures/block/prismarine.png", 11337: "assets/minecraft/textures/block/prismarine.png",
11338: "assets/minecraft/textures/block/dark_prismarine.png", 11338: "assets/minecraft/textures/block/dark_prismarine.png",
11339: "assets/minecraft/textures/block/prismarine_bricks.png", 11339: "assets/minecraft/textures/block/prismarine_bricks.png",
@@ -2819,7 +2826,7 @@ def farmland(self, blockid, data):
# signposts # signposts
@material(blockid=[63,11401,11402,11403,11404,11405,11406], data=list(range(16)), transparent=True) @material(blockid=[63,11401,11402,11403,11404,11405,11406,12505,12506], data=list(range(16)), transparent=True)
def signpost(self, blockid, data): def signpost(self, blockid, data):
# first rotations # first rotations
@@ -2839,6 +2846,8 @@ def signpost(self, blockid, data):
11404: ("jungle_planks.png", "jungle_log.png"), 11404: ("jungle_planks.png", "jungle_log.png"),
11405: ("acacia_planks.png", "acacia_log.png"), 11405: ("acacia_planks.png", "acacia_log.png"),
11406: ("dark_oak_planks.png", "dark_oak_log.png"), 11406: ("dark_oak_planks.png", "dark_oak_log.png"),
12505: ("crimson_planks.png", "crimson_stem.png"),
12506: ("warped_planks.png", "warped_stem.png"),
} }
texture_path, texture_stick_path = ["assets/minecraft/textures/block/" + x for x in sign_texture[blockid]] texture_path, texture_stick_path = ["assets/minecraft/textures/block/" + x for x in sign_texture[blockid]]
@@ -2886,7 +2895,7 @@ def signpost(self, blockid, data):
# wooden and iron door # wooden and iron door
# uses pseudo-ancildata found in iterate.c # uses pseudo-ancildata found in iterate.c
@material(blockid=[64,71,193,194,195,196,197], data=list(range(32)), transparent=True) @material(blockid=[64,71,193,194,195,196,197, 499, 500], data=list(range(32)), transparent=True)
def door(self, blockid, data): def door(self, blockid, data):
#Masked to not clobber block top/bottom & swung info #Masked to not clobber block top/bottom & swung info
if self.rotation == 1: if self.rotation == 1:
@@ -2920,6 +2929,10 @@ def door(self, blockid, data):
raw_door = self.load_image_texture("assets/minecraft/textures/block/acacia_door_top.png") raw_door = self.load_image_texture("assets/minecraft/textures/block/acacia_door_top.png")
elif blockid == 197: # dark_oak door elif blockid == 197: # dark_oak door
raw_door = self.load_image_texture("assets/minecraft/textures/block/dark_oak_door_top.png") raw_door = self.load_image_texture("assets/minecraft/textures/block/dark_oak_door_top.png")
elif blockid == 499: # crimson door
raw_door = self.load_image_texture("assets/minecraft/textures/block/crimson_door_top.png")
elif blockid == 500: # warped door
raw_door = self.load_image_texture("assets/minecraft/textures/block/warped_door_top.png")
else: # bottom of the door else: # bottom of the door
if blockid == 64: if blockid == 64:
raw_door = self.load_image_texture("assets/minecraft/textures/block/oak_door_bottom.png") raw_door = self.load_image_texture("assets/minecraft/textures/block/oak_door_bottom.png")
@@ -2935,7 +2948,11 @@ def door(self, blockid, data):
raw_door = self.load_image_texture("assets/minecraft/textures/block/acacia_door_bottom.png") raw_door = self.load_image_texture("assets/minecraft/textures/block/acacia_door_bottom.png")
elif blockid == 197: # dark_oak door elif blockid == 197: # dark_oak door
raw_door = self.load_image_texture("assets/minecraft/textures/block/dark_oak_door_bottom.png") raw_door = self.load_image_texture("assets/minecraft/textures/block/dark_oak_door_bottom.png")
elif blockid == 499: # crimson door
raw_door = self.load_image_texture("assets/minecraft/textures/block/crimson_door_bottom.png")
elif blockid == 500: # warped door
raw_door = self.load_image_texture("assets/minecraft/textures/block/warped_door_bottom.png")
# if you want to render all doors as closed, then force # if you want to render all doors as closed, then force
# force closed to be True # force closed to be True
if data & 0x4 == 0x4: if data & 0x4 == 0x4:
@@ -3078,7 +3095,7 @@ def ladder(self, blockid, data):
# wall signs # wall signs
@material(blockid=[68,11407,11408,11409,11410,11411,11412], data=[2, 3, 4, 5], transparent=True) @material(blockid=[68,11407,11408,11409,11410,11411,11412,12507,12508], data=[2, 3, 4, 5], transparent=True)
def wall_sign(self, blockid, data): # wall sign def wall_sign(self, blockid, data): # wall sign
# first rotations # first rotations
@@ -3106,6 +3123,8 @@ def wall_sign(self, blockid, data): # wall sign
11410: "jungle_planks.png", 11410: "jungle_planks.png",
11411: "acacia_planks.png", 11411: "acacia_planks.png",
11412: "dark_oak_planks.png", 11412: "dark_oak_planks.png",
12507: "crimson_planks.png",
12508: "warped_planks.png",
} }
texture_path = "assets/minecraft/textures/block/" + sign_texture[blockid] texture_path = "assets/minecraft/textures/block/" + sign_texture[blockid]
texture = self.load_image_texture(texture_path).copy() texture = self.load_image_texture(texture_path).copy()
@@ -3288,7 +3307,7 @@ def levers(self, blockid, data):
return img return img
# wooden and stone pressure plates, and weighted pressure plates # wooden and stone pressure plates, and weighted pressure plates
@material(blockid=[70, 72,147,148,11301,11302,11303,11304,11305, 1033], data=[0,1], transparent=True) @material(blockid=[70, 72,147,148,11301,11302,11303,11304,11305, 1033,11517,11518], data=[0,1], transparent=True)
def pressure_plate(self, blockid, data): def pressure_plate(self, blockid, data):
texture_name = {70:"assets/minecraft/textures/block/stone.png", # stone texture_name = {70:"assets/minecraft/textures/block/stone.png", # stone
72:"assets/minecraft/textures/block/oak_planks.png", # oak 72:"assets/minecraft/textures/block/oak_planks.png", # oak
@@ -3297,6 +3316,8 @@ def pressure_plate(self, blockid, data):
11303:"assets/minecraft/textures/block/jungle_planks.png", # jungle 11303:"assets/minecraft/textures/block/jungle_planks.png", # jungle
11304:"assets/minecraft/textures/block/acacia_planks.png", # acacia 11304:"assets/minecraft/textures/block/acacia_planks.png", # acacia
11305:"assets/minecraft/textures/block/dark_oak_planks.png", # dark oak 11305:"assets/minecraft/textures/block/dark_oak_planks.png", # dark oak
11517:"assets/minecraft/textures/block/crimson_planks.png", # crimson
11518:"assets/minecraft/textures/block/warped_planks.png", # warped
147:"assets/minecraft/textures/block/gold_block.png", # light golden 147:"assets/minecraft/textures/block/gold_block.png", # light golden
148:"assets/minecraft/textures/block/iron_block.png", # heavy iron 148:"assets/minecraft/textures/block/iron_block.png", # heavy iron
1033:"assets/minecraft/textures/block/polished_blackstone.png" 1033:"assets/minecraft/textures/block/polished_blackstone.png"
@@ -3330,7 +3351,7 @@ def pressure_plate(self, blockid, data):
block(blockid=[73, 74], top_image="assets/minecraft/textures/block/redstone_ore.png") block(blockid=[73, 74], top_image="assets/minecraft/textures/block/redstone_ore.png")
# stone and wood buttons # stone and wood buttons
@material(blockid=(77, 143, 11326, 11327, 11328, 11329, 11330, 1034), data=list(range(16)), transparent=True) @material(blockid=(77,143,11326,11327,11328,11329,11330,1034,11515,11516), data=list(range(16)), transparent=True)
def buttons(self, blockid, data): def buttons(self, blockid, data):
# 0x8 is set if the button is pressed mask this info and render # 0x8 is set if the button is pressed mask this info and render
@@ -3364,7 +3385,9 @@ def buttons(self, blockid, data):
11328:"assets/minecraft/textures/block/jungle_planks.png", 11328:"assets/minecraft/textures/block/jungle_planks.png",
11329:"assets/minecraft/textures/block/acacia_planks.png", 11329:"assets/minecraft/textures/block/acacia_planks.png",
11330:"assets/minecraft/textures/block/dark_oak_planks.png", 11330:"assets/minecraft/textures/block/dark_oak_planks.png",
1034:"assets/minecraft/textures/block/polished_blackstone.png" 1034:"assets/minecraft/textures/block/polished_blackstone.png",
11515:"assets/minecraft/textures/block/crimson_planks.png",
11516:"assets/minecraft/textures/block/warped_planks.png"
}[blockid] }[blockid]
t = self.load_image_texture(texturepath).copy() t = self.load_image_texture(texturepath).copy()
@@ -3495,7 +3518,7 @@ def jukebox(self, blockid, data):
# nether and normal fences # nether and normal fences
# uses pseudo-ancildata found in iterate.c # uses pseudo-ancildata found in iterate.c
@material(blockid=[85, 188, 189, 190, 191, 192, 113], data=list(range(16)), transparent=True, nospawn=True) @material(blockid=[85, 188, 189, 190, 191, 192, 113, 511, 512], data=list(range(16)), transparent=True, nospawn=True)
def fence(self, blockid, data): def fence(self, blockid, data):
# no need for rotations, it uses pseudo data. # no need for rotations, it uses pseudo data.
# create needed images for Big stick fence # create needed images for Big stick fence
@@ -3519,10 +3542,18 @@ def fence(self, blockid, data):
fence_top = self.load_image_texture("assets/minecraft/textures/block/dark_oak_planks.png").copy() fence_top = self.load_image_texture("assets/minecraft/textures/block/dark_oak_planks.png").copy()
fence_side = self.load_image_texture("assets/minecraft/textures/block/dark_oak_planks.png").copy() fence_side = self.load_image_texture("assets/minecraft/textures/block/dark_oak_planks.png").copy()
fence_small_side = self.load_image_texture("assets/minecraft/textures/block/dark_oak_planks.png").copy() fence_small_side = self.load_image_texture("assets/minecraft/textures/block/dark_oak_planks.png").copy()
elif blockid == 192: # acacia oak fence elif blockid == 192: # acacia fence
fence_top = self.load_image_texture("assets/minecraft/textures/block/acacia_planks.png").copy() fence_top = self.load_image_texture("assets/minecraft/textures/block/acacia_planks.png").copy()
fence_side = self.load_image_texture("assets/minecraft/textures/block/acacia_planks.png").copy() fence_side = self.load_image_texture("assets/minecraft/textures/block/acacia_planks.png").copy()
fence_small_side = self.load_image_texture("assets/minecraft/textures/block/acacia_planks.png").copy() fence_small_side = self.load_image_texture("assets/minecraft/textures/block/acacia_planks.png").copy()
elif blockid == 511: # crimson_fence
fence_top = self.load_image_texture("assets/minecraft/textures/block/crimson_planks.png").copy()
fence_side = self.load_image_texture("assets/minecraft/textures/block/crimson_planks.png").copy()
fence_small_side = self.load_image_texture("assets/minecraft/textures/block/crimson_planks.png").copy()
elif blockid == 512: # warped fence
fence_top = self.load_image_texture("assets/minecraft/textures/block/warped_planks.png").copy()
fence_side = self.load_image_texture("assets/minecraft/textures/block/warped_planks.png").copy()
fence_small_side = self.load_image_texture("assets/minecraft/textures/block/warped_planks.png").copy()
else: # netherbrick fence else: # netherbrick fence
fence_top = self.load_image_texture("assets/minecraft/textures/block/nether_bricks.png").copy() fence_top = self.load_image_texture("assets/minecraft/textures/block/nether_bricks.png").copy()
fence_side = self.load_image_texture("assets/minecraft/textures/block/nether_bricks.png").copy() fence_side = self.load_image_texture("assets/minecraft/textures/block/nether_bricks.png").copy()
@@ -4021,7 +4052,7 @@ def comparator(self, blockid, data):
# trapdoor # trapdoor
# the trapdoor is looks like a sprite when opened, that's not good # the trapdoor is looks like a sprite when opened, that's not good
@material(blockid=[96,167,11332,11333,11334,11335,11336], data=list(range(16)), transparent=True, nospawn=True) @material(blockid=[96,167,11332,11333,11334,11335,11336,12501,12502], data=list(range(16)), transparent=True, nospawn=True)
def trapdoor(self, blockid, data): def trapdoor(self, blockid, data):
# rotation # rotation
@@ -4049,7 +4080,9 @@ def trapdoor(self, blockid, data):
11333:"assets/minecraft/textures/block/birch_trapdoor.png", 11333:"assets/minecraft/textures/block/birch_trapdoor.png",
11334:"assets/minecraft/textures/block/jungle_trapdoor.png", 11334:"assets/minecraft/textures/block/jungle_trapdoor.png",
11335:"assets/minecraft/textures/block/acacia_trapdoor.png", 11335:"assets/minecraft/textures/block/acacia_trapdoor.png",
11336:"assets/minecraft/textures/block/dark_oak_trapdoor.png" 11336:"assets/minecraft/textures/block/dark_oak_trapdoor.png",
12501:"assets/minecraft/textures/block/crimson_trapdoor.png",
12502:"assets/minecraft/textures/block/warped_trapdoor.png",
}[blockid] }[blockid]
if data & 0x4 == 0x4: # opened trapdoor if data & 0x4 == 0x4: # opened trapdoor
@@ -4260,7 +4293,7 @@ def vines(self, blockid, data):
# fence gates # fence gates
@material(blockid=[107, 183, 184, 185, 186, 187], data=list(range(8)), transparent=True, nospawn=True) @material(blockid=[107, 183, 184, 185, 186, 187, 513, 514], data=list(range(8)), transparent=True, nospawn=True)
def fence_gate(self, blockid, data): def fence_gate(self, blockid, data):
# rotation # rotation
@@ -4299,6 +4332,10 @@ def fence_gate(self, blockid, data):
gate_side = self.load_image_texture("assets/minecraft/textures/block/dark_oak_planks.png").copy() gate_side = self.load_image_texture("assets/minecraft/textures/block/dark_oak_planks.png").copy()
elif blockid == 187: # Acacia elif blockid == 187: # Acacia
gate_side = self.load_image_texture("assets/minecraft/textures/block/acacia_planks.png").copy() gate_side = self.load_image_texture("assets/minecraft/textures/block/acacia_planks.png").copy()
elif blockid == 513: # Crimson
gate_side = self.load_image_texture("assets/minecraft/textures/block/crimson_planks.png").copy()
elif blockid == 514: # Warped
gate_side = self.load_image_texture("assets/minecraft/textures/block/warped_planks.png").copy()
else: else:
return None return None
@@ -4558,6 +4595,10 @@ def wooden_slabs(self, blockid, data):
top = side = self.load_image_texture("assets/minecraft/textures/block/acacia_planks.png") top = side = self.load_image_texture("assets/minecraft/textures/block/acacia_planks.png")
elif texture== 5: # dark wood elif texture== 5: # dark wood
top = side = self.load_image_texture("assets/minecraft/textures/block/dark_oak_planks.png") top = side = self.load_image_texture("assets/minecraft/textures/block/dark_oak_planks.png")
elif texture== 6: # crimson
top = side = self.load_image_texture("assets/minecraft/textures/block/crimson_planks.png")
elif texture== 7: # warped
top = side = self.load_image_texture("assets/minecraft/textures/block/warped_planks.png")
else: else:
return None return None

View File

@@ -319,6 +319,8 @@ class RegionSet(object):
'minecraft:jungle_planks': (5, 3), 'minecraft:jungle_planks': (5, 3),
'minecraft:acacia_planks': (5, 4), 'minecraft:acacia_planks': (5, 4),
'minecraft:dark_oak_planks': (5, 5), 'minecraft:dark_oak_planks': (5, 5),
'minecraft:crimson_planks': (5, 6),
'minecraft:warped_planks': (5, 7),
'minecraft:sapling': (6, 0), 'minecraft:sapling': (6, 0),
'minecraft:bedrock': (7, 0), 'minecraft:bedrock': (7, 0),
'minecraft:water': (8, 0), 'minecraft:water': (8, 0),
@@ -411,6 +413,8 @@ class RegionSet(object):
'minecraft:fire': (51, 0), 'minecraft:fire': (51, 0),
'minecraft:spawner': (52, 0), 'minecraft:spawner': (52, 0),
'minecraft:oak_stairs': (53, 0), 'minecraft:oak_stairs': (53, 0),
'minecraft:crimson_stairs': (509, 0),
'minecraft:warped_stairs': (510, 0),
'minecraft:chest': (54, 0), 'minecraft:chest': (54, 0),
'minecraft:redstone_wire': (55, 0), 'minecraft:redstone_wire': (55, 0),
'minecraft:diamond_ore': (56, 0), 'minecraft:diamond_ore': (56, 0),
@@ -426,6 +430,8 @@ class RegionSet(object):
'minecraft:jungle_sign': (11404, 0), 'minecraft:jungle_sign': (11404, 0),
'minecraft:acacia_sign': (11405, 0), 'minecraft:acacia_sign': (11405, 0),
'minecraft:dark_oak_sign': (11406, 0), 'minecraft:dark_oak_sign': (11406, 0),
'minecraft:crimson_sign': (12505, 0),
'minecraft:warped_sign': (12506, 0),
'minecraft:oak_door': (64, 0), 'minecraft:oak_door': (64, 0),
'minecraft:ladder': (65, 0), 'minecraft:ladder': (65, 0),
'minecraft:rail': (66, 0), 'minecraft:rail': (66, 0),
@@ -437,6 +443,8 @@ class RegionSet(object):
'minecraft:jungle_wall_sign': (11410, 0), 'minecraft:jungle_wall_sign': (11410, 0),
'minecraft:acacia_wall_sign': (11411, 0), 'minecraft:acacia_wall_sign': (11411, 0),
'minecraft:dark_oak_wall_sign': (11412, 0), 'minecraft:dark_oak_wall_sign': (11412, 0),
'minecraft:crimson_wall_sign': (12507, 0),
'minecraft:warped_wall_sign': (12508, 0),
'minecraft:lever': (69, 0), 'minecraft:lever': (69, 0),
'minecraft:stone_pressure_plate': (70, 0), 'minecraft:stone_pressure_plate': (70, 0),
'minecraft:iron_door': (71, 0), 'minecraft:iron_door': (71, 0),
@@ -504,6 +512,8 @@ class RegionSet(object):
'minecraft:jungle_slab': (126, 3), 'minecraft:jungle_slab': (126, 3),
'minecraft:acacia_slab': (126, 4), 'minecraft:acacia_slab': (126, 4),
'minecraft:dark_oak_slab': (126, 5), 'minecraft:dark_oak_slab': (126, 5),
'minecraft:crimson_slab': (126, 6),
'minecraft:warped_slab': (126, 7),
'minecraft:cocoa': (127, 0), 'minecraft:cocoa': (127, 0),
'minecraft:sandstone_stairs': (128, 0), 'minecraft:sandstone_stairs': (128, 0),
'minecraft:emerald_ore': (129, 0), 'minecraft:emerald_ore': (129, 0),
@@ -630,16 +640,22 @@ class RegionSet(object):
'minecraft:jungle_fence_gate': (185, 0), 'minecraft:jungle_fence_gate': (185, 0),
'minecraft:dark_oak_fence_gate': (186, 0), 'minecraft:dark_oak_fence_gate': (186, 0),
'minecraft:acacia_fence_gate': (187, 0), 'minecraft:acacia_fence_gate': (187, 0),
'minecraft:crimson_fence_gate': (513, 0),
'minecraft:warped_fence_gate': (514, 0),
'minecraft:spruce_fence': (188, 0), 'minecraft:spruce_fence': (188, 0),
'minecraft:birch_fence': (189, 0), 'minecraft:birch_fence': (189, 0),
'minecraft:jungle_fence': (190, 0), 'minecraft:jungle_fence': (190, 0),
'minecraft:dark_oak_fence': (191, 0), 'minecraft:dark_oak_fence': (191, 0),
'minecraft:acacia_fence': (192, 0), 'minecraft:acacia_fence': (192, 0),
'minecraft:crimson_fence': (511, 0),
'minecraft:warped_fence': (512, 0),
'minecraft:spruce_door': (193, 0), 'minecraft:spruce_door': (193, 0),
'minecraft:birch_door': (194, 0), 'minecraft:birch_door': (194, 0),
'minecraft:jungle_door': (195, 0), 'minecraft:jungle_door': (195, 0),
'minecraft:acacia_door': (196, 0), 'minecraft:acacia_door': (196, 0),
'minecraft:dark_oak_door': (197, 0), 'minecraft:dark_oak_door': (197, 0),
'minecraft:crimson_door': (499, 0),
'minecraft:warped_door': (500, 0),
'minecraft:end_rod': (198, 0), # not rendering 'minecraft:end_rod': (198, 0), # not rendering
'minecraft:chorus_plant': (199, 0), 'minecraft:chorus_plant': (199, 0),
'minecraft:chorus_flower': (200, 0), 'minecraft:chorus_flower': (200, 0),
@@ -746,6 +762,8 @@ class RegionSet(object):
'minecraft:jungle_pressure_plate': (11303, 0), 'minecraft:jungle_pressure_plate': (11303, 0),
'minecraft:acacia_pressure_plate': (11304, 0), 'minecraft:acacia_pressure_plate': (11304, 0),
'minecraft:dark_oak_pressure_plate': (11305, 0), 'minecraft:dark_oak_pressure_plate': (11305, 0),
'minecraft:crimson_pressure_plate': (11517, 0),
'minecraft:warped_pressure_plate': (11518, 0),
'minecraft:stripped_oak_log': (11306, 0), 'minecraft:stripped_oak_log': (11306, 0),
'minecraft:stripped_spruce_log': (11306, 1), 'minecraft:stripped_spruce_log': (11306, 1),
'minecraft:stripped_birch_log': (11306, 2), 'minecraft:stripped_birch_log': (11306, 2),
@@ -783,12 +801,16 @@ class RegionSet(object):
'minecraft:jungle_button': (11328,0), 'minecraft:jungle_button': (11328,0),
'minecraft:acacia_button': (11329,0), 'minecraft:acacia_button': (11329,0),
'minecraft:dark_oak_button': (11330,0), 'minecraft:dark_oak_button': (11330,0),
'minecraft:crimson_button': (11515,0),
'minecraft:warped_button': (11516,0),
'minecraft:dried_kelp_block': (11331,0), 'minecraft:dried_kelp_block': (11331,0),
'minecraft:spruce_trapdoor': (11332, 0), 'minecraft:spruce_trapdoor': (11332, 0),
'minecraft:birch_trapdoor': (11333, 0), 'minecraft:birch_trapdoor': (11333, 0),
'minecraft:jungle_trapdoor': (11334, 0), 'minecraft:jungle_trapdoor': (11334, 0),
'minecraft:acacia_trapdoor': (11335, 0), 'minecraft:acacia_trapdoor': (11335, 0),
'minecraft:dark_oak_trapdoor': (11336, 0), 'minecraft:dark_oak_trapdoor': (11336, 0),
'minecraft:crimson_trapdoor': (12501, 0),
'minecraft:warped_trapdoor': (12502, 0),
'minecraft:petrified_oak_slab': (126, 0), 'minecraft:petrified_oak_slab': (126, 0),
'minecraft:prismarine_stairs': (11337, 0), 'minecraft:prismarine_stairs': (11337, 0),
'minecraft:dark_prismarine_stairs': (11338, 0), 'minecraft:dark_prismarine_stairs': (11338, 0),
@@ -903,7 +925,7 @@ class RegionSet(object):
def _get_block(self, palette_entry): def _get_block(self, palette_entry):
wood_slabs = ('minecraft:oak_slab','minecraft:spruce_slab','minecraft:birch_slab','minecraft:jungle_slab', wood_slabs = ('minecraft:oak_slab','minecraft:spruce_slab','minecraft:birch_slab','minecraft:jungle_slab',
'minecraft:acacia_slab','minecraft:dark_oak_slab','minecraft:petrified_oak_slab') 'minecraft:acacia_slab','minecraft:dark_oak_slab','minecraft:petrified_oak_slab', 'minecraft:crimson_slab', 'minecraft:warped_slab')
stone_slabs = ('minecraft:stone_slab', 'minecraft:sandstone_slab','minecraft:red_sandstone_slab', stone_slabs = ('minecraft:stone_slab', 'minecraft:sandstone_slab','minecraft:red_sandstone_slab',
'minecraft:cobblestone_slab', 'minecraft:brick_slab','minecraft:purpur_slab', 'minecraft:cobblestone_slab', 'minecraft:brick_slab','minecraft:purpur_slab',
'minecraft:stone_brick_slab', 'minecraft:nether_brick_slab', 'minecraft:stone_brick_slab', 'minecraft:nether_brick_slab',