From 8953a19400f415dc1899a863fe40bbd8d16ad791 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Elias=20M=C3=BCller?= Date: Tue, 23 Dec 2025 19:52:17 +0100 Subject: [PATCH] added Bedrock player warning in `joinEvent` method to handle potential compatibility issues --- .../appliances/metaGameplay/event/Event.java | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/event/Event.java b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/event/Event.java index 4c37244..01853fd 100644 --- a/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/event/Event.java +++ b/craftattack/src/main/java/eu/mhsl/craftattack/spawn/craftattack/appliances/metaGameplay/event/Event.java @@ -2,6 +2,7 @@ package eu.mhsl.craftattack.spawn.craftattack.appliances.metaGameplay.event; import eu.mhsl.craftattack.spawn.core.Main; import eu.mhsl.craftattack.spawn.core.api.client.ReqResp; +import eu.mhsl.craftattack.spawn.core.util.server.Floodgate; import eu.mhsl.craftattack.spawn.craftattack.api.repositories.EventRepository; import eu.mhsl.craftattack.spawn.core.api.server.HttpServer; import eu.mhsl.craftattack.spawn.core.appliance.Appliance; @@ -26,6 +27,7 @@ import org.bukkit.entity.Villager; import org.bukkit.event.Listener; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; +import org.geysermc.cumulus.form.SimpleForm; import org.jetbrains.annotations.NotNull; import java.util.*; @@ -94,6 +96,10 @@ public class Event extends Appliance { } public void joinEvent(Player p) { + this.joinEvent(p, false); + } + + public void joinEvent(Player p, boolean ignoreBedrock) { if(!this.isOpen) { p.sendMessage(Component.text("Zurzeit ist kein Event geöffnet.", NamedTextColor.RED)); return; @@ -109,6 +115,23 @@ public class Event extends Appliance { return; } + if(!ignoreBedrock && Floodgate.isBedrock(p)) { + Floodgate.getBedrockPlayer(p).sendForm( + SimpleForm.builder() + .title("Achtung!") + .content("Je nach deiner Minecraft-Bedrock-Version kann dein Minecraft in den Events abstürzen. " + + "Ggf. ist also für dich ein Mitspielen auf der Bedrock-Edition nicht möglich.") + .button("Ok, lass es uns versuchen") + .button("Abbrechen") + .validResultHandler(simpleFormResponse -> { + if(simpleFormResponse.clickedButtonId() != 0) return; + this.joinEvent(p, true); + }) + .build() + ); + return; + } + Main.instance().getLogger().info("Verbinde mit eventserver: " + p.getName()); p.sendMessage(Component.text("Authentifiziere...", NamedTextColor.GREEN));