Implement Linkage for Teamserver

This commit is contained in:
2025-10-03 13:46:39 +02:00
parent 383604ec9f
commit d75c82dca5
12 changed files with 35 additions and 23 deletions
@@ -26,6 +26,8 @@ tasks.compileJava {
}
dependencies {
compileOnly(libs.classindex)
annotationProcessor(libs.classindex)
compileOnly(project(":CommonCore", "default"))
compileOnly(project(":CommandFramework", "default"))
compileOnly(project(":SpigotCore:CRIUDummy", "default"))
+2
View File
@@ -22,6 +22,8 @@ plugins {
}
dependencies {
compileOnly(libs.classindex)
annotationProcessor(libs.classindex)
compileOnly(project(":SpigotCore", "default"))
compileOnly(libs.spigotapi)
@@ -19,14 +19,10 @@
package de.steamwar.teamserver;
import de.steamwar.core.Core;
import de.steamwar.core.WorldEditRendererCUIEditor;
import de.steamwar.linkage.AbstractLinker;
import de.steamwar.linkage.SpigotLinker;
import de.steamwar.message.Message;
import de.steamwar.teamserver.command.*;
import de.steamwar.teamserver.listener.AxiomHandshakeListener;
import de.steamwar.teamserver.listener.FreezeListener;
import de.steamwar.teamserver.listener.PlayerChange;
import de.steamwar.teamserver.listener.SelectAdjacent;
import org.bukkit.Bukkit;
import org.bukkit.GameRule;
import org.bukkit.plugin.java.JavaPlugin;
@@ -45,27 +41,17 @@ public final class Builder extends JavaPlugin {
MESSAGE = new Message("de.steamwar.teamserver.Teamserver", getClassLoader());
new GamemodeCommand();
new SpeedCommand();
new FreezeCommand();
new ArenaconfigCommand();
if (Bukkit.getPluginManager().getPlugin("AxiomPaper") != null) {
Bukkit.getPluginManager().registerEvents(new AxiomHandshakeListener(), this);
SpigotLinker spigotLinker = new SpigotLinker(this, MESSAGE);
try {
spigotLinker.link();
} catch (AbstractLinker.LinkException e) {
e.printStackTrace();
Bukkit.shutdown();
return;
}
Bukkit.getPluginManager().registerEvents(new PlayerChange(), this);
Bukkit.getPluginManager().registerEvents(new FreezeListener(), this);
MaterialCommand materialCommand = new MaterialCommand();
Bukkit.getPluginManager().registerEvents(materialCommand, this);
Bukkit.getWorlds().get(0).setGameRule(GameRule.REDUCED_DEBUG_INFO, false);
new WorldEditRendererCUIEditor();
if (Core.getVersion() >= 20) {
Bukkit.getPluginManager().registerEvents(new SelectAdjacent(), this);
}
}
@Override
@@ -26,6 +26,7 @@ import com.sk89q.worldedit.math.BlockVector3;
import com.sk89q.worldedit.regions.CuboidRegion;
import com.sk89q.worldedit.regions.RegionSelector;
import de.steamwar.command.SWCommand;
import de.steamwar.linkage.Linked;
import de.steamwar.teamserver.Builder;
import org.bukkit.Bukkit;
import org.bukkit.configuration.file.YamlConfiguration;
@@ -34,6 +35,7 @@ import org.bukkit.entity.Player;
import java.io.File;
import java.io.IOException;
@Linked
public class ArenaconfigCommand extends SWCommand {
public ArenaconfigCommand() {
@@ -20,12 +20,14 @@
package de.steamwar.teamserver.command;
import de.steamwar.command.SWCommand;
import de.steamwar.linkage.Linked;
import de.steamwar.teamserver.Builder;
import de.steamwar.teamserver.listener.FreezeListener;
import net.md_5.bungee.api.ChatMessageType;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
@Linked
public class FreezeCommand extends SWCommand {
public FreezeCommand() {
@@ -20,9 +20,11 @@
package de.steamwar.teamserver.command;
import de.steamwar.command.SWCommand;
import de.steamwar.linkage.Linked;
import org.bukkit.GameMode;
import org.bukkit.entity.Player;
@Linked
public class GamemodeCommand extends SWCommand {
public GamemodeCommand() {
@@ -25,6 +25,7 @@ import de.steamwar.inventory.SWAnvilInv;
import de.steamwar.inventory.SWInventory;
import de.steamwar.inventory.SWItem;
import de.steamwar.inventory.SWListInv;
import de.steamwar.linkage.Linked;
import de.steamwar.teamserver.Builder;
import org.bukkit.Material;
import org.bukkit.block.data.BlockData;
@@ -41,6 +42,7 @@ import java.util.List;
import java.util.Map;
import java.util.regex.Pattern;
@Linked
public class MaterialCommand extends SWCommand implements Listener {
public MaterialCommand() {
@@ -20,8 +20,10 @@
package de.steamwar.teamserver.command;
import de.steamwar.command.SWCommand;
import de.steamwar.linkage.Linked;
import org.bukkit.entity.Player;
@Linked
public class SpeedCommand extends SWCommand {
public SpeedCommand() {
@@ -20,9 +20,13 @@
package de.steamwar.teamserver.listener;
import com.moulberry.axiom.event.AxiomHandshakeEvent;
import de.steamwar.linkage.Linked;
import de.steamwar.linkage.PluginCheck;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
@Linked
@PluginCheck("AxiomPaper")
public class AxiomHandshakeListener implements Listener {
@EventHandler
@@ -21,6 +21,7 @@ package de.steamwar.teamserver.listener;
import de.steamwar.core.Core;
import de.steamwar.core.TrickyTrialsWrapper;
import de.steamwar.linkage.Linked;
import de.steamwar.teamserver.Builder;
import net.md_5.bungee.api.ChatMessageType;
import net.md_5.bungee.api.chat.BaseComponent;
@@ -39,6 +40,7 @@ import org.bukkit.event.entity.EntitySpawnEvent;
import org.bukkit.event.inventory.InventoryMoveItemEvent;
import org.bukkit.event.player.PlayerInteractEvent;
@Linked
public class FreezeListener implements Listener {
public static boolean freeze = true;
@@ -19,12 +19,14 @@
package de.steamwar.teamserver.listener;
import de.steamwar.linkage.Linked;
import org.bukkit.Bukkit;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerQuitEvent;
@Linked
public class PlayerChange implements Listener {
@EventHandler
@@ -25,6 +25,8 @@ import com.sk89q.worldedit.math.BlockVector3;
import com.sk89q.worldedit.regions.selector.CuboidRegionSelector;
import com.sk89q.worldedit.world.World;
import de.steamwar.core.WorldEditRenderer;
import de.steamwar.linkage.Linked;
import de.steamwar.linkage.MinVersion;
import de.steamwar.teamserver.Builder;
import org.bukkit.Bukkit;
import org.bukkit.Location;
@@ -43,6 +45,8 @@ import org.bukkit.util.Vector;
import java.util.*;
import java.util.function.Predicate;
@Linked
@MinVersion(20)
public class SelectAdjacent implements Listener {
private Vector[] FACES = {