From 513ce330fc9fd11f63e9ae4941fc3a6c9a18469a Mon Sep 17 00:00:00 2001 From: Auke Kok Date: Sat, 21 Nov 2015 21:48:40 -0800 Subject: [PATCH] Grass random height, lilypads rotate random. A few other minor tweaks as well - start of paintings - always make mesecon wires work (but ugly) --- block.py | 8 +++++++- map_content.txt | 19 ++++++++++++++++--- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/block.py b/block.py index 20e875d..0e65070 100644 --- a/block.py +++ b/block.py @@ -1,6 +1,7 @@ import os import zlib import nbt +import random from io import BytesIO import sqlite3 from serialize import * @@ -226,8 +227,13 @@ class MTBlock: mcblockidentifier[i] = str(blocks[i]) + ':' + str(data[i]) if content[i]==0 and param2[i]==0 and not (blocks[i]==0): print('Unknown Minecraft Block:' + str(mcblockidentifier[i])) # This is the minecraft ID#/data as listed in map_content.txt - if mcblockidentifier[i] == "70:0" or mcblockidentifier[i] == "72:0": + + if blocks[i] == 70 or blocks[i] == 72: self.timers.append(((i&0xf)|((i>>4)&0xf)<<8|((i>>8)&0xf)<<4, 100, 0)) + elif blocks[i] == 111: + param2[i] = random.randint(0,3) + elif blocks[i] == 31 and data[i] == 1: + content[i], param2[i] = conversion_table[931][random.randint(0,4)] for te in mcblock.tile_entities: id = te["id"] diff --git a/map_content.txt b/map_content.txt index 93224aa..6d0a2c4 100644 --- a/map_content.txt +++ b/map_content.txt @@ -115,7 +115,8 @@ 30 homedecor:cobweb_plantlike // FIXME homedecor test 31 0 default:dry_shrub 31 2 ferns:tree_fern_leaves -31 1 default:grass_5 // FIXME change randomly to grass_1/2/3/4/5 + +31 1 default:grass_5 // code randomly changes height 32 default:dry_shrub 33 0 mesecons_pistons:piston_down_normal_off @@ -233,7 +234,7 @@ 54 4 default:chest 1 54 5 default:chest 3 -55 mesecons:wire_00000000_off // FIXME: this one gets complex +55 mesecons:wire_11111111_off // FIXME: manually fit wires based on neighbors 56 default:stone_with_diamond 57 default:diamondblock @@ -466,7 +467,7 @@ 110 default:dirt_with_grass // Mycelium -111 flowers:waterlily // FIXME randomly rotate +111 flowers:waterlily // rotation done in code randomly #if NETHER 112 nether:brick @@ -662,6 +663,8 @@ 182 8 stairs:slab_desert_stone 22 182 stairs:slab_desert_stone +321 homedecor:painting_1 // FIXME random 1-20 + 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 @@ -671,3 +674,13 @@ 324 10 doors:door_wood_t_1 324 11 doors:door_wood_t_1 +// Below here are non-MC blocks. We need to put these blocks in the +// table to make translation a bit easier + +// random pick for 31:1 grass +931 0 default:grass_1 // the 8+ entries are used +931 1 default:grass_2 // internally to vary grass +931 2 default:grass_3 // height randomly +931 3 default:grass_4 +931 4 default:grass_5 +