Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
52ab997
feat: downgrade protocollib to 4.8.0
sysnote8main Jan 24, 2026
a5bc34e
chore: migrating to paper api...
sysnote8main Jan 24, 2026
2607290
temp commit
sysnote8main Jan 24, 2026
e13a813
feat: upgrade to mc 1.15.2
sysnote8main Jan 24, 2026
920231d
fix: forget to update BuildTools target version
sysnote8main Jan 24, 2026
008d451
feat: move sync classes
sysnote8main Jan 24, 2026
c021445
chore: temp commit
sysnote8main Jan 24, 2026
23e569f
feat: add comments in weapon class manager
sysnote8main Jan 24, 2026
eff8a4c
chore: apply format
sysnote8main Jan 24, 2026
cf4b5f2
chore: move color classes
sysnote8main Jan 24, 2026
796447f
feat: change enchant name and move it to api package
sysnote8main Jan 24, 2026
d2e121a
chore: more simple player settings handling
sysnote8main Jan 24, 2026
48d5836
chore: extract to variable of mainWeapon
sysnote8main Jan 24, 2026
84ae24b
feat: split ranking classes
sysnote8main Jan 24, 2026
a9210ae
chore: apply format
sysnote8main Jan 24, 2026
bda94ce
fix(ci): forget to add protocollib download step
sysnote8main Jan 24, 2026
57beb8b
feat: use aikar command framework instead of cloud ones
sysnote8main Jan 24, 2026
c37f2c2
feat: migrate to aikars command framework
sysnote8main Jan 24, 2026
16323d2
chore: format
sysnote8main Jan 24, 2026
17471d5
feat: move some classes
sysnote8main Jan 24, 2026
9f34bef
feat: add SimpleRunnable and use in Blaster.java
sysnote8main Jan 24, 2026
3aae796
chore: fix format
sysnote8main Jan 24, 2026
00add66
fix: runnable parameter
sysnote8main Jan 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,10 @@ jobs:
if: steps.cache.outputs.cache-hit != 'true'
run: |
wget "https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar"
java -jar BuildTools.jar --rev 1.14.4
java -jar BuildTools.jar --rev 1.15.2

- name: Download ProtocolLib
run: wget -O ./libs/ProtocolLib.jar "https://github.com/dmulloy2/ProtocolLib/releases/download/4.8.0/ProtocolLib.jar"

- name: Build with Gradle
run: ./gradlew build
Expand Down
16 changes: 3 additions & 13 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
plugins {
`java-library`
`maven-publish`
alias(libs.plugins.runPaper)
alias(libs.plugins.spotless)
alias(libs.plugins.shadow)
}
Expand All @@ -26,16 +25,15 @@ repositories {
}

dependencies {
compileOnly(libs.spigotApi)
compileOnly(libs.spigot)
compileOnly(libs.bukkit)
compileOnly(libs.noteblockapi)
compileOnly(libs.lunachat)
compileOnly(libs.protocolLib)
// compileOnly(libs.protocolLib)
compileOnly(files("libs/ProtocolLib.jar"))
compileOnly(libs.dadadachecker)
compileOnly(libs.blockstudio)
compileOnly(libs.paperApi)
implementation(libs.cloudPaper)
implementation(libs.acfPaper)
implementation(libs.jspecify)
}

Expand All @@ -54,14 +52,6 @@ java {
}

tasks {
runServer {
minecraftVersion("1.14.4")
downloadPlugins {
url("https://github.com/ucchyocean/LunaChat/releases/download/v3.0.16/LunaChat.jar") // LunaChat 3.0.16
url("https://github.com/koca2000/NoteBlockAPI/releases/download/1.6.3/NoteBlockAPI-1.6.3.jar") // NoteBlockAPI 1.6.3
url("https://github.com/dmulloy2/ProtocolLib/releases/download/4.6.0/ProtocolLib.jar") // ProtocolLib 4.6.0
}
}

compileJava {
options.encoding = defaultEncoding
Expand Down
18 changes: 5 additions & 13 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,33 +1,25 @@
[versions]
runPaper = "2.3.1" # 3.x.x can't run in Java8
spotless = "6.13.0" # 6.14.0 can't run in Java8
shadow = "8.3.0"
protocolLib = "5.3.0" # 5.4.0 can't run in Java8
paperApi = "1.14.4-R0.1-SNAPSHOT"
paperApi = "1.15.2-R0.1-SNAPSHOT"
blockstudio = "-SNAPSHOT"
dadadachecker = "1.0.0"
noteblockapi = "1.6.3"
lunachat = "3.0.16"
bukkit = "1.14.4-R0.1-SNAPSHOT"
spigot = "1.14.4-R0.1-SNAPSHOT"
spigotApi = "1.14.4-R0.1-SNAPSHOT"
cloudPaper = "2.0.0-beta.10"
spigot = "1.15.2-R0.1-SNAPSHOT"
jspecify = "1.0.0"
acfPaper = "0.5.1-SNAPSHOT"

[plugins]
runPaper = { id = "xyz.jpenilla.run-paper", version.ref = "runPaper" }
spotless = { id = "com.diffplug.spotless", version.ref = "spotless" }
shadow = { id = "com.gradleup.shadow", version.ref = "shadow" }

[libraries]
protocolLib = { module = "net.dmulloy2:ProtocolLib", version.ref = "protocolLib" }
paperApi = { module = "com.destroystokyo.paper:paper-api", version.ref = "paperApi" }
blockstudio = { module = "com.github.Be4rJP:BlockStudio", version.ref = "blockstudio" }
dadadachecker = { module = "com.github.Be4rJP:DADADAChecker", version.ref = "dadadachecker" }
noteblockapi = { module = "com.github.koca2000:NoteBlockAPI", version.ref = "noteblockapi" }
lunachat = { module = "com.github.ucchyocean:LunaChat", version.ref = "lunachat" }
bukkit = { module = "org.bukkit:bukkit", version.ref = "bukkit" }
spigot = { module = "org.spigotmc:spigot", version.ref = "spigot" }
spigotApi = { module = "org.spigotmc:spigot-api", version.ref = "spigotApi" }
cloudPaper = { module = "org.incendo:cloud-paper", version.ref = "cloudPaper" }
jspecify = { module = "org.jspecify:jspecify", version.ref = "jspecify" }
jspecify = { module = "org.jspecify:jspecify", version.ref = "jspecify" }
acfPaper = { module = "co.aikar:acf-paper", version.ref = "acfPaper" }
1 change: 1 addition & 0 deletions libs/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.jar
Empty file added libs/.gitkeep
Empty file.
42 changes: 26 additions & 16 deletions src/main/java/be4rjp/sclat/Sclat.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,15 @@
import be4rjp.sclat.api.ServerType;
import be4rjp.sclat.api.async.AsyncPlayerListener;
import be4rjp.sclat.api.async.AsyncThreadManager;
import be4rjp.sclat.api.color.TeamColorSets;
import be4rjp.sclat.api.config.CustomConfig;
import be4rjp.sclat.api.enchant.GlowEnchant;
import be4rjp.sclat.api.equipment.EquipmentServer;
import be4rjp.sclat.api.holo.PlayerHolograms;
import be4rjp.sclat.api.rank.RankingUpdater;
import be4rjp.sclat.api.status.StatusServer;
import be4rjp.sclat.api.wiremesh.Wiremesh;
import be4rjp.sclat.commands.sclatCommandExecutor;
import be4rjp.sclat.commands.SclatCommand;
import be4rjp.sclat.config.Config;
import be4rjp.sclat.data.DataMgr;
import be4rjp.sclat.data.MapData;
Expand All @@ -21,21 +26,21 @@
import be4rjp.sclat.listener.SquidListener;
import be4rjp.sclat.lunachat.LunaChatListener;
import be4rjp.sclat.manager.ArmorStandMgr;
import be4rjp.sclat.manager.ColorMgr;
import be4rjp.sclat.manager.GameMgr;
import be4rjp.sclat.manager.MainWeaponMgr;
import be4rjp.sclat.manager.MapDataMgr;
import be4rjp.sclat.manager.MatchMgr;
import be4rjp.sclat.manager.NoteBlockAPIMgr;
import be4rjp.sclat.manager.PlayerReturnManager;
import be4rjp.sclat.manager.RankMgr;
import be4rjp.sclat.manager.ServerStatusManager;
import be4rjp.sclat.manager.WeaponClassMgr;
import be4rjp.sclat.protocollib.SclatPacketListener;
import be4rjp.sclat.server.EquipmentServer;
import be4rjp.sclat.server.StatusServer;
import be4rjp.sclat.tutorial.Tutorial;
import be4rjp.sclat.weapon.SnowballListener;
import be4rjp.sclat.weapon.listener.MainWeapon;
import be4rjp.sclat.weapon.listener.SPWeapon;
import be4rjp.sclat.weapon.listener.SnowballListener;
import be4rjp.sclat.weapon.listener.SubWeapon;
import co.aikar.commands.PaperCommandManager;
import com.comphenix.protocol.ProtocolLibrary;
import com.comphenix.protocol.ProtocolManager;
import com.google.common.io.ByteArrayDataInput;
Expand Down Expand Up @@ -63,15 +68,15 @@
* @author Be4rJP
*/
public class Sclat extends JavaPlugin implements PluginMessageListener {
private static final Logger logger = LoggerFactory.getLogger(Sclat.class);
public static final Logger logger = LoggerFactory.getLogger(Sclat.class);

public static Config conf;

private static Sclat plugin;

public static Location lobby;

public static Glow glow;
public static GlowEnchant glowEnchant;

public static List<Player> pdspList;

Expand Down Expand Up @@ -114,10 +119,12 @@ public class Sclat extends JavaPlugin implements PluginMessageListener {

public static final PlayerHolograms playerHolograms = new PlayerHolograms();

private static PaperCommandManager commandManager;

@Override
public void onEnable() {
plugin = this;
glow = new Glow();
glowEnchant = new GlowEnchant();

pdspList = new ArrayList<>();

Expand Down Expand Up @@ -172,9 +179,9 @@ public void onEnable() {
pm.registerEvents(new GameMgr(), this);
pm.registerEvents(new SquidListener(), this);
pm.registerEvents(new ClickListener(), this);
pm.registerEvents(new be4rjp.sclat.weapon.MainWeapon(), this);
pm.registerEvents(new be4rjp.sclat.weapon.SubWeapon(), this);
pm.registerEvents(new be4rjp.sclat.weapon.SPWeapon(), this);
pm.registerEvents(new MainWeapon(), this);
pm.registerEvents(new SubWeapon(), this);
pm.registerEvents(new SPWeapon(), this);
pm.registerEvents(new SnowballListener(), this);
pm.registerEvents(new AsyncPlayerListener(), this);

Expand All @@ -184,13 +191,14 @@ public void onEnable() {

// ------------------------RegisteringCommands------------------------
getLogger().info("Registering Commands...");
getCommand("sclat").setExecutor(new sclatCommandExecutor());
getCommand("sclat").setTabCompleter(new sclatCommandExecutor());
commandManager = new PaperCommandManager(this);
// commandManager.enableUnstableAPI("help");
commandManager.registerCommand(new SclatCommand(this), true);
// -------------------------------------------------------------------

// ------------------------Setup from config--------------------------
getLogger().info("SetupColor...");
ColorMgr.SetupColor();
TeamColorSets.SetupColor();
getLogger().info("SetupMainWeapon...");
MainWeaponMgr.SetupMainWeapon();
getLogger().info("WeaponClassSetup...");
Expand Down Expand Up @@ -332,7 +340,7 @@ public void onEnable() {

// -----------------------Ranking Holograms---------------------------
if (type == ServerType.LOBBY) {
RankMgr.makeRankingTask();
RankingUpdater.makeRankingTask();
}
// -------------------------------------------------------------------

Expand Down Expand Up @@ -388,6 +396,8 @@ public void onDisable() {
e.printStackTrace();
}

commandManager.unregisterCommands();

// -----------------------Tutorial server list------------------------
if (type == ServerType.LOBBY) {
tutorialServers = new CustomConfig(this, "tutorial.yml");
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

package be4rjp.sclat.manager;
package be4rjp.sclat.api;

import be4rjp.sclat.Sclat;
import com.google.common.io.ByteArrayDataOutput;
Expand All @@ -10,7 +10,7 @@
*
* @author Be4rJP
*/
public class BungeeCordMgr {
public class BungeeCordAPI {
public static void PlayerSendServer(Player player, String servername) {
ByteArrayDataOutput out = ByteStreams.newDataOutput();
out.writeUTF("Connect");
Expand Down
4 changes: 3 additions & 1 deletion src/main/java/be4rjp/sclat/api/GlowingAPI.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;

import java.lang.reflect.InvocationTargetException;

public class GlowingAPI {
public static void setGlowing(Entity entity, Player player, boolean flag) {
PacketContainer packet = Sclat.protocolManager.createPacket(PacketType.Play.Server.ENTITY_METADATA);
Expand All @@ -18,7 +20,7 @@ public static void setGlowing(Entity entity, Player player, boolean flag) {
packet.getWatchableCollectionModifier().write(0, watcher.getWatchableObjects());
try {
Sclat.protocolManager.sendServerPacket(player, packet);
} catch (RuntimeException e) {
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/be4rjp/sclat/api/Plugins.java
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ public boolean isLoaded() {
* To support plugman load.
*/
private void resetLoadedState() {
_isLoaded = false;
_isLoaded = null;
}

/**
Expand Down
Loading