-
Notifications
You must be signed in to change notification settings - Fork 60
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
1.14-1.16.4: tall grass is fire, need per-version block states #467
Comments
1041 block state = TallGrass { variant: DeadBush } hierarchical 31:0 offset=0 vs https://github.com/PrismarineJS/minecraft-data/blob/master/data/pc/1.13/blocks.json#L2936
all these block states need to be double-checked... From #468 (comment):
so the fire issue was introduced with the 1042 -> 1342 block state shift |
Block changes according to https://github.com/PrismarineJS/minecraft-data:
a quick and dirty script to compare block state ranges: #!/usr/local/bin/python3
import json
versions=('1.13','1.13.2','1.14.4','1.15.2','1.16.1','1.16.2')
block2versions={}
for v in versions:
blocks=json.load(open('data/pc/'+v+'/blocks.json'))
for block in blocks:
#block['id']
#print(v,block['displayName'], block['minStateId'], block['maxStateId'])
name=block['displayName']
if name not in block2versions: block2versions[name] = {}
block2versions[name][v] = range(block['minStateId'], block['maxStateId'])
print('\t'.join(['name']+list(versions)))
for name in sorted(block2versions.keys()):
s=name+'\t'
prev_range=None
for v in versions:
if v in block2versions[name]:
#s+=str(block2versions[name][v])
r=block2versions[name][v]
s+='%d-%d'%(r.start,r.stop)
if r!=prev_range and prev_range is not None:s+='**'
prev_range=block2versions[name][v]
else:
s+='(N/A)'
s+='\t'
print(s) output: https://gist.github.com/iceiix/784c0a4b129a5a4494829c81c707705c
and that's only the beginning, full changed list: https://gist.github.com/iceiix/69e39eefebbdc8968ac8a1a555fd0cac, many frequent changes First step to get this right, verify all of 1.13, programmatically |
Connecting to a 1.14 or later server (tested on 1.16.4), the tall grass (as opposed to the grass block) is shown as fire:
Here's how it looks officially:
with the "targeted block" = minecraft:grass. This is misinterpreted as fire, due to block state shifts in the 1.14 updates after the 1.13 Flattening.
Noted in #453
in blocks/src/lib.rs:
https://minecraft.gamepedia.com/Grass
https://wiki.vg/Chunk_Format#Full_chunk
Block states:
https://wiki.vg/Data_Generators#Blocks_report
https://github.com/PrismarineJS/minecraft-data/blob/master/data/pc/1.13/blocks.json#L2936
The text was updated successfully, but these errors were encountered: