diff --git a/SpigotCore_12/build.gradle b/SpigotCore_12/build.gradle index 571fa60..bcb1529 100644 --- a/SpigotCore_12/build.gradle +++ b/SpigotCore_12/build.gradle @@ -43,6 +43,7 @@ sourceSets { } dependencies { + compileOnly project(':CommonCore') compileOnly project(":SpigotCore_Main") compileOnly swdep("Spigot-1.12") diff --git a/SpigotCore_12/src/de/steamwar/core/LocaleChangeWrapper12.java b/SpigotCore_12/src/de/steamwar/core/LocaleChangeWrapper12.java new file mode 100644 index 0000000..152751c --- /dev/null +++ b/SpigotCore_12/src/de/steamwar/core/LocaleChangeWrapper12.java @@ -0,0 +1,34 @@ +/* + * This file is a part of the SteamWar software. + * + * Copyright (C) 2023 SteamWar.de-Serverteam + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package de.steamwar.core; + +import de.steamwar.sql.SteamwarUser; +import org.bukkit.event.EventHandler; +import org.bukkit.event.player.PlayerLocaleChangeEvent; + +import java.util.Locale; + +public class LocaleChangeWrapper12 implements LocaleChangeWrapper { + + @EventHandler + private void onLocale(PlayerLocaleChangeEvent event) { + SteamwarUser.get(event.getPlayer().getUniqueId()).setLocale(Locale.forLanguageTag(event.getLocale()), false); + } +} diff --git a/SpigotCore_8/src/de/steamwar/core/LocaleChangeWrapper8.java b/SpigotCore_8/src/de/steamwar/core/LocaleChangeWrapper8.java new file mode 100644 index 0000000..ddee9c6 --- /dev/null +++ b/SpigotCore_8/src/de/steamwar/core/LocaleChangeWrapper8.java @@ -0,0 +1,24 @@ +/* + * This file is a part of the SteamWar software. + * + * Copyright (C) 2023 SteamWar.de-Serverteam + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package de.steamwar.core; + +public class LocaleChangeWrapper8 implements LocaleChangeWrapper { + // Event not available in 1.8-1.10 +} diff --git a/SpigotCore_Main/src/de/steamwar/core/Core.java b/SpigotCore_Main/src/de/steamwar/core/Core.java index 7c76ebc..bc7e957 100644 --- a/SpigotCore_Main/src/de/steamwar/core/Core.java +++ b/SpigotCore_Main/src/de/steamwar/core/Core.java @@ -110,6 +110,9 @@ public class Core extends JavaPlugin{ Bukkit.getPluginManager().registerEvents(new PlayerJoinedEvent(), this); Bukkit.getPluginManager().registerEvents(new ChattingEvent(), this); Bukkit.getPluginManager().registerEvents(new WorldLoadEvent(), this); + if(!Statement.productionDatabase()) { + Bukkit.getPluginManager().registerEvents(LocaleChangeWrapper.impl, this); + } getServer().getMessenger().registerIncomingPluginChannel(this, "sw:bridge", new NetworkReceiver()); getServer().getMessenger().registerOutgoingPluginChannel(this, "sw:bridge"); if(Core.getVersion() < 19) diff --git a/SpigotCore_Main/src/de/steamwar/core/LocaleChangeWrapper.java b/SpigotCore_Main/src/de/steamwar/core/LocaleChangeWrapper.java new file mode 100644 index 0000000..6db67b7 --- /dev/null +++ b/SpigotCore_Main/src/de/steamwar/core/LocaleChangeWrapper.java @@ -0,0 +1,26 @@ +/* + * This file is a part of the SteamWar software. + * + * Copyright (C) 2023 SteamWar.de-Serverteam + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package de.steamwar.core; + +import org.bukkit.event.Listener; + +public interface LocaleChangeWrapper extends Listener { + LocaleChangeWrapper impl = VersionDependent.getVersionImpl(Core.getInstance()); +} diff --git a/SpigotCore_Main/src/de/steamwar/core/events/PlayerJoinedEvent.java b/SpigotCore_Main/src/de/steamwar/core/events/PlayerJoinedEvent.java index 4d0f776..aae2000 100644 --- a/SpigotCore_Main/src/de/steamwar/core/events/PlayerJoinedEvent.java +++ b/SpigotCore_Main/src/de/steamwar/core/events/PlayerJoinedEvent.java @@ -27,11 +27,8 @@ import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerLocaleChangeEvent; import org.bukkit.event.player.PlayerQuitEvent; -import java.util.Locale; - public class PlayerJoinedEvent implements Listener{ @@ -51,13 +48,6 @@ public class PlayerJoinedEvent implements Listener{ event.setJoinMessage("§a§l» §r" + player.getDisplayName()); } - - @EventHandler - private void onLocale(PlayerLocaleChangeEvent event) { - if(!Statement.productionDatabase()) { - SteamwarUser.get(event.getPlayer().getUniqueId()).setLocale(Locale.forLanguageTag(event.getLocale()), false); - } - } @EventHandler private void onQuit(PlayerQuitEvent event) {