1.13.2+: fix TallGrassVariant block state offsets (#468)
Fixes tallgrass showing up as dead bushes and also ferns. The flattened IDs are in a different order than the pre-flattening data values, as observed by enabling the commented-out block state logging.
This commit is contained in:
parent
ac63ee5ece
commit
63716499f2
|
@ -419,9 +419,9 @@ macro_rules! define_blocks {
|
||||||
let id = *flat_id + offset;
|
let id = *flat_id + offset;
|
||||||
/*
|
/*
|
||||||
if let Some(vanilla_id) = vanilla_id {
|
if let Some(vanilla_id) = vanilla_id {
|
||||||
debug!("{} block state = {:?} hierarchical {}:{} offset={}", id, block, vanilla_id >> 4, vanilla_id & 0xF, offset);
|
println!("{} block state = {:?} hierarchical {}:{} offset={}", id, block, vanilla_id >> 4, vanilla_id & 0xF, offset);
|
||||||
} else {
|
} else {
|
||||||
debug!("{} block state = {:?} hierarchical none, offset={}", id, block, offset);
|
println!("{} block state = {:?} hierarchical none, offset={}", id, block, offset);
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
if offset as isize > last_offset {
|
if offset as isize > last_offset {
|
||||||
|
@ -446,7 +446,7 @@ macro_rules! define_blocks {
|
||||||
if let Some(vanilla_id) = vanilla_id {
|
if let Some(vanilla_id) = vanilla_id {
|
||||||
/*
|
/*
|
||||||
if offset.is_none() {
|
if offset.is_none() {
|
||||||
debug!("(no flat) block state = {:?} hierarchical {}:{}", block, vanilla_id >> 4, vanilla_id & 0xF);
|
println!("(no flat) block state = {:?} hierarchical {}:{}", block, vanilla_id >> 4, vanilla_id & 0xF);
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -968,6 +968,7 @@ define_blocks! {
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
data Some(variant.data()),
|
data Some(variant.data()),
|
||||||
|
offset Some(variant.offset()),
|
||||||
material material::NON_SOLID,
|
material material::NON_SOLID,
|
||||||
model { ("minecraft", variant.as_string() ) },
|
model { ("minecraft", variant.as_string() ) },
|
||||||
tint TintType::Grass,
|
tint TintType::Grass,
|
||||||
|
@ -7289,6 +7290,14 @@ impl TallGrassVariant {
|
||||||
TallGrassVariant::Fern => 2,
|
TallGrassVariant::Fern => 2,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn offset(self) -> usize {
|
||||||
|
match self {
|
||||||
|
TallGrassVariant::TallGrass => 0,
|
||||||
|
TallGrassVariant::Fern => 1,
|
||||||
|
TallGrassVariant::DeadBush => 2,
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
|
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
|
||||||
|
|
Loading…
Reference in New Issue