WIP: Update to Linkage System #212
@ -1 +1 @@
|
||||
Subproject commit a249d66dcf96bb9aef44b700438c81670ad81de7
|
||||
Subproject commit d90938eff2a258d3dbd9b975b9df0fc7fe87b938
|
@ -33,7 +33,7 @@ targetCompatibility = 1.8
|
||||
sourceSets {
|
||||
main {
|
||||
java {
|
||||
srcDirs = ['src/']
|
||||
srcDirs = ['src/', 'build/generated/sources/annotationProcessor/java/main/']
|
||||
}
|
||||
resources {
|
||||
srcDirs = ['src/']
|
||||
@ -65,10 +65,5 @@ dependencies {
|
||||
testImplementation 'org.hamcrest:hamcrest:2.2'
|
||||
|
||||
implementation project(':CommonCore')
|
||||
}
|
||||
|
||||
processResources {
|
||||
from("build/classes/java/main/META-INF/annotations/") {
|
||||
into("de.steamwar.bausystem")
|
||||
}
|
||||
annotationProcessor project(":CommonCore")
|
||||
}
|
||||
|
@ -19,11 +19,13 @@
|
||||
|
||||
package de.steamwar.command;
|
||||
|
||||
import de.steamwar.linkage.Linked;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
|
||||
|
||||
@Linked
|
||||
public class CaseInsensitiveCommandsListener implements Listener {
|
||||
|
||||
@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
|
||||
|
@ -21,11 +21,7 @@ package de.steamwar.core;
|
||||
|
||||
import com.comphenix.tinyprotocol.TinyProtocol;
|
||||
import de.steamwar.command.*;
|
||||
import de.steamwar.core.authlib.AuthlibInjector;
|
||||
import de.steamwar.core.events.ChattingEvent;
|
||||
import de.steamwar.core.events.PartialChunkFixer;
|
||||
import de.steamwar.core.events.PlayerJoinedEvent;
|
||||
import de.steamwar.core.events.WorldLoadEvent;
|
||||
import de.steamwar.spigotcore.linkage.LinkageUtils;
|
||||
import de.steamwar.message.Message;
|
||||
import de.steamwar.network.NetworkReceiver;
|
||||
import de.steamwar.sql.Statement;
|
||||
@ -115,22 +111,12 @@ public class Core extends JavaPlugin{
|
||||
}
|
||||
});
|
||||
Bukkit.getScheduler().runTaskTimer(this, TabCompletionCache::invalidateOldEntries, 20, 20);
|
||||
Bukkit.getPluginManager().registerEvents(new CaseInsensitiveCommandsListener(), this);
|
||||
|
||||
Bukkit.getPluginManager().registerEvents(new PlayerJoinedEvent(), this);
|
||||
Bukkit.getPluginManager().registerEvents(new ChattingEvent(), this);
|
||||
Bukkit.getPluginManager().registerEvents(new WorldLoadEvent(), this);
|
||||
getServer().getMessenger().registerIncomingPluginChannel(this, "sw:bridge", new NetworkReceiver());
|
||||
getServer().getMessenger().registerOutgoingPluginChannel(this, "sw:bridge");
|
||||
if(Core.getVersion() < 19)
|
||||
AuthlibInjector.inject();
|
||||
|
||||
TinyProtocol.init();
|
||||
|
||||
if(Core.getVersion() < 17 && Bukkit.getPluginManager().getPlugin("ViaVersion") != null)
|
||||
new PartialChunkFixer();
|
||||
|
||||
if(Core.getVersion() >= 19)
|
||||
//new ServerDataHandler();
|
||||
LinkageUtils.link();
|
||||
|
||||
try {
|
||||
getLogger().log(Level.INFO, "Running on: " + new BufferedReader(new InputStreamReader(Runtime.getRuntime().exec("hostname").getInputStream())).readLine());
|
||||
|
@ -22,11 +22,16 @@ package de.steamwar.core.authlib;
|
||||
import com.comphenix.tinyprotocol.Reflection;
|
||||
import com.mojang.authlib.GameProfileRepository;
|
||||
import com.mojang.authlib.yggdrasil.YggdrasilGameProfileRepository;
|
||||
import de.steamwar.linkage.Linked;
|
||||
import de.steamwar.linkage.MaxVersion;
|
||||
import de.steamwar.linkage.api.Enable;
|
||||
|
||||
public class AuthlibInjector {
|
||||
private AuthlibInjector() {}
|
||||
@Linked
|
||||
@MaxVersion(18)
|
||||
public class AuthlibInjector implements Enable {
|
||||
YoyoNow markierte diese Unterhaltung als gelöst
Veraltet
|
||||
|
||||
public static void inject() {
|
||||
@Override
|
||||
public void enable() {
|
||||
Class<?> minecraftServerClass = Reflection.getClass("{nms.server}.MinecraftServer");
|
||||
Reflection.FieldAccessor<GameProfileRepository> gameProfile = Reflection.getField(minecraftServerClass, GameProfileRepository.class, 0);
|
||||
Object minecraftServer = Reflection.getTypedMethod(minecraftServerClass, "getServer", minecraftServerClass).invoke(null);
|
||||
|
@ -20,15 +20,17 @@
|
||||
package de.steamwar.core.events;
|
||||
|
||||
import de.steamwar.core.Core;
|
||||
import de.steamwar.linkage.Linked;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.AsyncPlayerChatEvent;
|
||||
|
||||
@Linked
|
||||
public class ChattingEvent implements Listener {
|
||||
|
||||
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
|
||||
private void onChat(AsyncPlayerChatEvent event) {
|
||||
public void onChat(AsyncPlayerChatEvent event) {
|
||||
event.setCancelled(true);
|
||||
Core.MESSAGE.broadcastPrefixless("LOCAL_CHAT", event.getPlayer().getDisplayName(), event.getMessage());
|
||||
}
|
||||
|
@ -25,6 +25,9 @@ import com.viaversion.viaversion.api.Via;
|
||||
import com.viaversion.viaversion.api.ViaAPI;
|
||||
import de.steamwar.core.Core;
|
||||
import de.steamwar.core.CraftbukkitWrapper;
|
||||
import de.steamwar.linkage.Linked;
|
||||
import de.steamwar.linkage.MaxVersion;
|
||||
import de.steamwar.linkage.PluginCheck;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
@ -35,6 +38,9 @@ import java.util.List;
|
||||
* TinyProtocol can't translate BlockEntities during 1.16 to 1.17 conversions du to removed partial chunk update support. This class cancels PartialChunkUpdates for this players and sends them a complete chunk instead.
|
||||
* This class can only be loaded on 1.9 to 1.15 with active ViaVersion.
|
||||
**/
|
||||
@Linked
|
||||
@MaxVersion(16)
|
||||
@PluginCheck("ViaVersion")
|
||||
YoyoNow markierte diese Unterhaltung als gelöst
Veraltet
Lixfel
hat
Genauso. Genauso.
|
||||
public class PartialChunkFixer {
|
||||
|
||||
private static final int PROTOCOL1_17 = 755;
|
||||
|
@ -19,6 +19,7 @@
|
||||
|
||||
package de.steamwar.core.events;
|
||||
|
||||
import de.steamwar.linkage.Linked;
|
||||
import de.steamwar.sql.SteamwarUser;
|
||||
import de.steamwar.sql.UserGroup;
|
||||
import org.bukkit.entity.Player;
|
||||
@ -28,10 +29,11 @@ import org.bukkit.event.player.PlayerJoinEvent;
|
||||
import org.bukkit.event.player.PlayerQuitEvent;
|
||||
|
||||
|
||||
@Linked
|
||||
public class PlayerJoinedEvent implements Listener{
|
||||
|
||||
@EventHandler
|
||||
private void onJoin(PlayerJoinEvent event) {
|
||||
public void onJoin(PlayerJoinEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
SteamwarUser user = SteamwarUser.get(player.getUniqueId());
|
||||
|
||||
@ -45,7 +47,7 @@ public class PlayerJoinedEvent implements Listener{
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
private void onQuit(PlayerQuitEvent event) {
|
||||
public void onQuit(PlayerQuitEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
|
||||
event.setQuitMessage("§c§l« §r" + player.getDisplayName());
|
||||
|
@ -19,10 +19,12 @@
|
||||
|
||||
package de.steamwar.core.events;
|
||||
|
||||
import de.steamwar.linkage.Linked;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.world.WorldInitEvent;
|
||||
|
||||
@Linked
|
||||
public class WorldLoadEvent implements Listener {
|
||||
|
||||
@EventHandler
|
||||
|
@ -20,9 +20,12 @@
|
||||
package de.steamwar.network;
|
||||
|
||||
import de.steamwar.core.BountifulWrapper;
|
||||
import de.steamwar.network.handlers.InventoryHandler;
|
||||
import de.steamwar.linkage.Linked;
|
||||
import de.steamwar.network.packets.PacketHandler;
|
||||
import de.steamwar.network.packets.server.*;
|
||||
import de.steamwar.network.packets.server.BaumemberUpdatePacket;
|
||||
import de.steamwar.network.packets.server.CloseInventoryPacket;
|
||||
import de.steamwar.network.packets.server.LocaleInvalidationPacket;
|
||||
import de.steamwar.network.packets.server.PingPacket;
|
||||
import de.steamwar.sql.BauweltMember;
|
||||
import de.steamwar.sql.SteamwarUser;
|
||||
import org.bukkit.Bukkit;
|
||||
@ -30,13 +33,9 @@ import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
@Linked
|
||||
public class CoreNetworkHandler extends PacketHandler {
|
||||
|
||||
public CoreNetworkHandler() {
|
||||
super();
|
||||
new InventoryHandler().register();
|
||||
}
|
||||
|
||||
@Handler
|
||||
public void handleBaumemberUpdatePacket(BaumemberUpdatePacket packet) {
|
||||
BauweltMember.clear();
|
||||
@ -50,11 +49,6 @@ public class CoreNetworkHandler extends PacketHandler {
|
||||
}
|
||||
}
|
||||
|
||||
@Handler
|
||||
public void handleInventoryPacket(InventoryPacket packet) {
|
||||
InventoryHandler.handleInventoryPacket(packet);
|
||||
}
|
||||
|
||||
@Handler
|
||||
public void handlePingPacket(PingPacket packet) {
|
||||
UUID uuid = SteamwarUser.get(packet.getId()).getUUID();
|
||||
|
@ -22,6 +22,7 @@ package de.steamwar.network.handlers;
|
||||
import com.google.gson.JsonParser;
|
||||
import de.steamwar.inventory.SWInventory;
|
||||
import de.steamwar.inventory.SWItem;
|
||||
import de.steamwar.linkage.Linked;
|
||||
import de.steamwar.network.NetworkSender;
|
||||
import de.steamwar.network.packets.PacketHandler;
|
||||
import de.steamwar.network.packets.client.InventoryCallbackPacket;
|
||||
@ -34,10 +35,11 @@ import org.bukkit.event.inventory.InventoryType;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@Linked
|
||||
public class InventoryHandler extends PacketHandler {
|
||||
|
||||
@Handler
|
||||
public static void handleInventoryPacket(InventoryPacket packet) {
|
||||
public void handleInventoryPacket(InventoryPacket packet) {
|
||||
Player player = Bukkit.getPlayer(SteamwarUser.get(packet.getPlayer()).getUUID());
|
||||
Map<Integer, SWItem> items = new HashMap<>();
|
||||
packet.getItems().forEach((i, item) -> {
|
||||
|
@ -3,9 +3,11 @@ package de.steamwar.network.handlers;
|
||||
import com.comphenix.tinyprotocol.Reflection;
|
||||
import com.comphenix.tinyprotocol.TinyProtocol;
|
||||
import de.steamwar.core.ChatWrapper;
|
||||
import de.steamwar.core.CraftbukkitWrapper;
|
||||
import de.steamwar.linkage.MinVersion;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
// @Linked
|
||||
@MinVersion(19)
|
||||
public class ServerDataHandler {
|
||||
|
||||
private Class<?> serverDataPacket = Reflection.getClass("{nms.network.protocol.game}.ClientboundServerDataPacket");
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren
Inklusiv oder Exklusiv? Ich finde die exklusive Range hier verwirrend.
Da es bis jetzt diese checks immer exklusiv gemacht wurden, habe ich dies erstmal so übernommen, kann dies aber gerne ändern.
Die Checks wurden immer mit einem Vergleich gemacht, das hier aber als "MaxVersion" zu betiteln, verwirrt.
Gut dann wird das umgebaut.