added Bedrock player warning in joinEvent method to handle potential compatibility issues
This commit is contained in:
@@ -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.Main;
|
||||||
import eu.mhsl.craftattack.spawn.core.api.client.ReqResp;
|
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.craftattack.api.repositories.EventRepository;
|
||||||
import eu.mhsl.craftattack.spawn.core.api.server.HttpServer;
|
import eu.mhsl.craftattack.spawn.core.api.server.HttpServer;
|
||||||
import eu.mhsl.craftattack.spawn.core.appliance.Appliance;
|
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.event.Listener;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.inventory.meta.ItemMeta;
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
|
import org.geysermc.cumulus.form.SimpleForm;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
@@ -94,6 +96,10 @@ public class Event extends Appliance {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void joinEvent(Player p) {
|
public void joinEvent(Player p) {
|
||||||
|
this.joinEvent(p, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void joinEvent(Player p, boolean ignoreBedrock) {
|
||||||
if(!this.isOpen) {
|
if(!this.isOpen) {
|
||||||
p.sendMessage(Component.text("Zurzeit ist kein Event geöffnet.", NamedTextColor.RED));
|
p.sendMessage(Component.text("Zurzeit ist kein Event geöffnet.", NamedTextColor.RED));
|
||||||
return;
|
return;
|
||||||
@@ -109,6 +115,23 @@ public class Event extends Appliance {
|
|||||||
return;
|
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());
|
Main.instance().getLogger().info("Verbinde mit eventserver: " + p.getName());
|
||||||
p.sendMessage(Component.text("Authentifiziere...", NamedTextColor.GREEN));
|
p.sendMessage(Component.text("Authentifiziere...", NamedTextColor.GREEN));
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user