mirror of
https://github.com/GeyserMC/Geyser.git
synced 2024-12-22 14:34:59 +01:00
Temporary bad fix for command crashing (#4490)
Signed-off-by: Joshua Castle <26531652+Kas-tle@users.noreply.github.com>
This commit is contained in:
parent
7e4d97f6e1
commit
a9467cf150
2 changed files with 15 additions and 0 deletions
|
@ -602,6 +602,13 @@ public class GeyserSession implements GeyserConnection, GeyserCommandSource {
|
|||
@Setter
|
||||
private @Nullable ItemData currentBook = null;
|
||||
|
||||
/**
|
||||
* Stores if we've sent AvailibleCommandsPacket to the client due to it crashing if sent twice on 1.20.70/71
|
||||
* Hopefully bedrock will have a hotfix so we can remove this
|
||||
*/
|
||||
@Setter
|
||||
private boolean sentAvailibleCommands = false;
|
||||
|
||||
private final GeyserCameraData cameraData;
|
||||
|
||||
private final GeyserEntityData entityData;
|
||||
|
|
|
@ -46,6 +46,7 @@ import org.geysermc.geyser.GeyserImpl;
|
|||
import org.geysermc.geyser.api.event.java.ServerDefineCommandsEvent;
|
||||
import org.geysermc.geyser.command.GeyserCommandManager;
|
||||
import org.geysermc.geyser.inventory.item.Enchantment;
|
||||
import org.geysermc.geyser.network.GameProtocol;
|
||||
import org.geysermc.geyser.registry.BlockRegistries;
|
||||
import org.geysermc.geyser.registry.Registries;
|
||||
import org.geysermc.geyser.session.GeyserSession;
|
||||
|
@ -115,6 +116,12 @@ public class JavaCommandsTranslator extends PacketTranslator<ClientboundCommands
|
|||
return;
|
||||
}
|
||||
|
||||
// Don't send command suggestions if they are already sent and the client is 1.20.70 or higher due to crash bug
|
||||
// TODO: Remove this check when the crash bug is fixed
|
||||
if (session.isSentAvailibleCommands() && !GameProtocol.isPre1_20_70(session)) {
|
||||
return;
|
||||
}
|
||||
|
||||
GeyserCommandManager manager = session.getGeyser().commandManager();
|
||||
CommandNode[] nodes = packet.getNodes();
|
||||
List<CommandData> commandData = new ArrayList<>();
|
||||
|
@ -191,6 +198,7 @@ public class JavaCommandsTranslator extends PacketTranslator<ClientboundCommands
|
|||
|
||||
// Finally, send the commands to the client
|
||||
session.sendUpstreamPacket(availableCommandsPacket);
|
||||
session.setSentAvailibleCommands(true);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in a new issue