From 20fde52236a64380ac1c714621447f1cd4329b9f Mon Sep 17 00:00:00 2001 From: InrcedibleHolg Date: Tue, 20 Aug 2019 21:15:34 +0200 Subject: [PATCH] add new stone walls --- overviewer_core/src/block_class.c | 26 +++++++++++++++++++++++- overviewer_core/src/mc_id.h | 18 +++++++++++++++-- overviewer_core/textures.py | 33 ++++++++++++++++++------------- overviewer_core/world.py | 19 +++++++++++++++--- 4 files changed, 76 insertions(+), 20 deletions(-) diff --git a/overviewer_core/src/block_class.c b/overviewer_core/src/block_class.c index 82775d2..5645f0c 100644 --- a/overviewer_core/src/block_class.c +++ b/overviewer_core/src/block_class.c @@ -171,8 +171,20 @@ const mc_block_t block_class_ancil[] = { block_glass_pane, block_waterlily, block_nether_brick_fence, + block_andesite_wall, + block_brick_wall, block_cobblestone_wall, + block_diorite_wall, + block_end_stone_brick_wall, + block_granite_wall, + block_mossy_cobblestone_wall, block_mossy_stone_brick_wall, + block_nether_brick_wall, + block_prismarine_wall, + block_red_nether_brick_wall, + block_red_sandstone_wall, + block_sandstone_wall, + block_stone_brick_wall, block_double_plant, block_stained_glass_pane, block_stained_glass, @@ -241,6 +253,18 @@ const mc_block_t block_class_alt_height[] = { const size_t block_class_alt_height_len = COUNT_OF(block_class_alt_height); const mc_block_t block_class_wall[] = { + block_andesite_wall, + block_brick_wall, block_cobblestone_wall, - block_mossy_stone_brick_wall}; + block_diorite_wall, + block_end_stone_brick_wall, + block_granite_wall, + block_mossy_cobblestone_wall, + block_mossy_stone_brick_wall, + block_nether_brick_wall, + block_prismarine_wall, + block_red_nether_brick_wall, + block_red_sandstone_wall, + block_sandstone_wall, + block_stone_brick_wall}; const size_t block_class_wall_len = COUNT_OF(block_class_wall); diff --git a/overviewer_core/src/mc_id.h b/overviewer_core/src/mc_id.h index c95c159..b4b093b 100644 --- a/overviewer_core/src/mc_id.h +++ b/overviewer_core/src/mc_id.h @@ -142,7 +142,6 @@ enum mc_block_id { block_jungle_stairs = 136, block_command_block = 137, block_beacon = 138, - block_cobblestone_wall = 139, block_flower_pot = 140, block_carrots = 141, block_potatoes = 142, @@ -292,7 +291,6 @@ enum mc_block_id { block_grindstone = 11369, block_mossy_stone_brick_stairs = 11370, block_mossy_cobblestone_stairs = 11371, - block_mossy_stone_brick_wall = 11372, block_lantern = 11373, block_smooth_sandstone_stairs = 11374, block_smooth_quartz_stairs = 11375, @@ -324,6 +322,22 @@ enum mc_block_id { block_acacia_wall_sign = 11411, block_dark_oak_wall_sign = 11412, block_bamboo_sapling = 11413, + // adding a gap in the numbering of walls to keep them all + // in one numbering block starting at 21000 + block_andesite_wall = 21000, + block_brick_wall = 21001, + block_cobblestone_wall = 21002, + block_diorite_wall = 21003, + block_end_stone_brick_wall = 21004, + block_granite_wall = 21005, + block_mossy_cobblestone_wall = 21006, + block_mossy_stone_brick_wall = 21007, + block_nether_brick_wall = 21008, + block_prismarine_wall = 21009, + block_red_nether_brick_wall = 21010, + block_red_sandstone_wall = 21011, + block_sandstone_wall = 21012, + block_stone_brick_wall = 21013 }; typedef uint16_t mc_block_t; diff --git a/overviewer_core/textures.py b/overviewer_core/textures.py index f2b428f..1cf05b5 100644 --- a/overviewer_core/textures.py +++ b/overviewer_core/textures.py @@ -4407,21 +4407,26 @@ def beacon(self, blockid, data): # cobblestone and mossy cobblestone walls, chorus plants, mossy stone brick walls # one additional bit of data value added for mossy and cobblestone -@material(blockid=[139, 199, 11372], data=list(range(32)), transparent=True, nospawn=True) +@material(blockid=[199, *range(21000,21013+1)], data=list(range(32)), transparent=True, nospawn=True) def cobblestone_wall(self, blockid, data): - # chorus plants - if blockid == 199: - t = self.load_image_texture("assets/minecraft/textures/block/chorus_plant.png").copy() - # mossy stone bricks - elif blockid == 11372: - t = self.load_image_texture("assets/minecraft/textures/block/mossy_stone_bricks.png").copy() - # no rotation, uses pseudo data - elif data & 0b10000 == 0: - # cobblestone - t = self.load_image_texture("assets/minecraft/textures/block/cobblestone.png").copy() - else: - # mossy cobblestone - t = self.load_image_texture("assets/minecraft/textures/block/mossy_cobblestone.png").copy() + walls_id_to_tex = { + 199: "assets/minecraft/textures/block/chorus_plant.png", # chorus plants + 21000: "assets/minecraft/textures/block/andesite.png", + 21001: "assets/minecraft/textures/block/bricks.png", + 21002: "assets/minecraft/textures/block/cobblestone.png", + 21003: "assets/minecraft/textures/block/diorite.png", + 21004: "assets/minecraft/textures/block/end_stone_bricks.png", + 21005: "assets/minecraft/textures/block/granite.png", + 21006: "assets/minecraft/textures/block/mossy_cobblestone.png", + 21007: "assets/minecraft/textures/block/mossy_stone_bricks.png", + 21008: "assets/minecraft/textures/block/nether_bricks.png", + 21009: "assets/minecraft/textures/block/prismarine.png", + 21010: "assets/minecraft/textures/block/red_nether_bricks.png", + 21011: "assets/minecraft/textures/block/red_sandstone.png", + 21012: "assets/minecraft/textures/block/sandstone.png", + 21013: "assets/minecraft/textures/block/stone_bricks.png" + } + t = self.load_image_texture(walls_id_to_tex[blockid]).copy() wall_pole_top = t.copy() wall_pole_side = t.copy() diff --git a/overviewer_core/world.py b/overviewer_core/world.py index bc4ef6d..71dc8c1 100644 --- a/overviewer_core/world.py +++ b/overviewer_core/world.py @@ -524,8 +524,6 @@ class RegionSet(object): 'minecraft:jungle_stairs': (136, 0), 'minecraft:command_block': (137, 0), 'minecraft:beacon': (138, 0), - 'minecraft:cobblestone_wall': (139, 0), - 'minecraft:mossy_cobblestone_wall': (139, 1), 'minecraft:flower_pot': (140, 0), 'minecraft:potted_poppy': (140, 0), # Pots not rendering 'minecraft:potted_blue_orchid': (140, 0), @@ -813,7 +811,6 @@ class RegionSet(object): "minecraft:grindstone": (11369, 0), "minecraft:mossy_stone_brick_stairs": (11370, 0), "minecraft:mossy_cobblestone_stairs": (11371, 0), - "minecraft:mossy_stone_brick_wall": (11372, 0), "minecraft:lantern": (11373, 0), "minecraft:smooth_sandstone_stairs": (11374, 0), 'minecraft:smooth_quartz_stairs': (11375, 0), @@ -833,6 +830,22 @@ class RegionSet(object): 'minecraft:acacia_sapling': (11389, 0), 'minecraft:dark_oak_sapling': (11390, 0), 'minecraft:bamboo_sapling': (11413, 0), + # adding a gap in the numbering of walls to keep them all + # in one numbering block starting at 21000 + 'minecraft:andesite_wall': (21000, 0), + 'minecraft:brick_wall': (21001, 0), + 'minecraft:cobblestone_wall': (21002, 0), + 'minecraft:diorite_wall': (21003, 0), + 'minecraft:end_stone_brick_wall': (21004, 0), + 'minecraft:granite_wall': (21005, 0), + 'minecraft:mossy_cobblestone_wall': (21006, 0), + 'minecraft:mossy_stone_brick_wall': (21007, 0), + 'minecraft:nether_brick_wall': (21008, 0), + 'minecraft:prismarine_wall': (21009, 0), + 'minecraft:red_nether_brick_wall': (21010, 0), + 'minecraft:red_sandstone_wall': (21011, 0), + 'minecraft:sandstone_wall': (21012, 0), + 'minecraft:stone_brick_wall': (21013, 0), } colors = [ 'white', 'orange', 'magenta', 'light_blue',