server: fix getting correct dimension types for logged in world
This commit is contained in:
parent
4eea97520c
commit
ad5beac205
|
@ -1117,10 +1117,30 @@ impl Server {
|
||||||
join: packet::play::clientbound::JoinGame_WorldNames_IsHard_SimDist_HasDeath,
|
join: packet::play::clientbound::JoinGame_WorldNames_IsHard_SimDist_HasDeath,
|
||||||
) {
|
) {
|
||||||
if let Some(nbt::NamedTag(_, nbt::Tag::Compound(registries))) = join.registry_codec {
|
if let Some(nbt::NamedTag(_, nbt::Tag::Compound(registries))) = join.registry_codec {
|
||||||
if let Some(nbt::Tag::Compound(dimension_type)) =
|
if let Some(nbt::Tag::Compound(dimension_types)) =
|
||||||
registries.get("minecraft:dimension_type")
|
registries.get("minecraft:dimension_type")
|
||||||
{
|
{
|
||||||
self.world.load_dimension_type_tags(dimension_type);
|
println!("world_name = {:?}", join.world_name);
|
||||||
|
println!("dimension_types = {:?}", dimension_types);
|
||||||
|
if let Some(nbt::Tag::List(list)) = dimension_types.get("value") {
|
||||||
|
println!("list = {:?}", list);
|
||||||
|
for item in list {
|
||||||
|
if let nbt::Tag::Compound(item) = item {
|
||||||
|
println!("item = {:?}", item);
|
||||||
|
if let Some(nbt::Tag::String(name)) = item.get("name") {
|
||||||
|
println!("name = {:?}", name);
|
||||||
|
if name == &join.world_name {
|
||||||
|
if let Some(nbt::Tag::Compound(dimension_type)) =
|
||||||
|
item.get("element")
|
||||||
|
{
|
||||||
|
self.world.load_dimension_type_tags(dimension_type);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
println!("match? {:?} ", name == &join.world_name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let _biome_registry = registries.get("minecraft:worldgen/biome");
|
let _biome_registry = registries.get("minecraft:worldgen/biome");
|
||||||
|
@ -1997,10 +2017,7 @@ impl Server {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn on_system_chat_message(
|
fn on_system_chat_message(&mut self, m: packet::play::clientbound::SystemChatMessage) {
|
||||||
&mut self,
|
|
||||||
m: packet::play::clientbound::SystemChatMessage,
|
|
||||||
) {
|
|
||||||
// TODO: flag as system message (vs chat message)
|
// TODO: flag as system message (vs chat message)
|
||||||
self.on_servermessage(&m.message, None, None);
|
self.on_servermessage(&m.message, None, None);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue