Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
23 changes: 14 additions & 9 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
name: Build RandomSpawnPlus5
name: Build RandomSpawnPlus

on: [ push ]
on:
push:
branches: [ "feat/nextgen" ]
pull_request:
branches: [ "master" ]

jobs:
build:
Expand All @@ -9,22 +13,23 @@ jobs:
if: "github.actor != 'dependabot[bot]'"
steps:
- uses: actions/checkout@main
- name: Set up JDK 17
- name: Set up JDK 21
uses: actions/setup-java@main
with:
java-version: 17
distribution: temurin
java-version: 21
distribution: zulu

- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Build
run: ./gradlew clean build

- name: Release RandomSpawnPlus5
- name: Release RandomSpawnPlus
if: github.event_name != 'pull_request'
uses: marvinpinto/action-automatic-releases@master
with:
title: "RandomSpawnPlus5 v5.1.0-SNAPSHOT"
automatic_release_tag: "5.1.0-SNAPSHOT"
title: "RandomSpawnPlus"
automatic_release_tag: "6.0.0-SNAPSHOT"
repo_token: "${{ secrets.GITHUB_TOKEN }}"
files: "build/libs/*.jar"
files: "Common/build/libs/*.jar"
prerelease: true
54 changes: 54 additions & 0 deletions Common/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
plugins {
id("cn.dreeam.rsp.wrapper")
id("com.gradleup.shadow") version "8.3.5"
}

val adventureVersion = "4.17.0"

dependencies {
compileOnly("org.spigotmc:spigot-api:1.21.5-R0.1-SNAPSHOT")

implementation(project(":Platform:Abstraction"))
implementation(project(":Platform:Folia"))
implementation(project(":Platform:Paper"))
implementation(project(":Platform:Spigot"))

compileOnly("org.apache.logging.log4j:log4j-api:2.24.1")
compileOnly("it.unimi.dsi:fastutil:8.5.15")
implementation("org.bstats:bstats-bukkit:3.1.0")
api("co.aikar:acf-paper:0.5.1-SNAPSHOT") // Remove
implementation("com.github.technicallycoded:FoliaLib:0.4.3")
implementation("com.github.thatsmusic99:ConfigurationMaster-API:v2.0.0-rc.3")

compileOnly("net.essentialsx:EssentialsX:2.20.1")
compileOnly("net.luckperms:api:5.4")
compileOnly("com.github.MilkBowl:VaultAPI:1.7.1")

api("net.kyori:adventure-platform-bukkit:4.3.4")
api("net.kyori:adventure-api:$adventureVersion")
api("net.kyori:adventure-text-serializer-legacy:$adventureVersion")
}

tasks {
build.configure {
dependsOn(shadowJar)
}

shadowJar {
archiveFileName = "${rootProject.name}-${project.version}.${archiveExtension.get()}"
exclude("META-INF/**") // Dreeam - Avoid to include META-INF/maven in Jar
minimize {
exclude(dependency("com.tcoded.folialib:.*:.*"))
}
relocate("net.kyori", "${project.group}.libs.kyori")
relocate("io.github.thatsmusic99.configurationmaster", "${project.group}.libs.configurationmaster")
relocate("org.bstats", "${project.group}.libs.bstats")
relocate("com.tcoded.folialib", "${project.group}.libs.folialib")
}
}

publishing {
publications.create<MavenPublication>("maven") {
from(components["java"])
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
package systems.kscott.randomspawnplus;

import co.aikar.commands.PaperCommandManager;
import com.tcoded.folialib.FoliaLib;
import net.kyori.adventure.platform.bukkit.BukkitAudiences;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.jetbrains.annotations.NotNull;
import systems.kscott.randomspawnplus.commands.CommandRSP;
import systems.kscott.randomspawnplus.commands.CommandWild;
import systems.kscott.randomspawnplus.config.Config;
import systems.kscott.randomspawnplus.hooks.HookInstance;
import systems.kscott.randomspawnplus.listeners.OnDeath;
import systems.kscott.randomspawnplus.listeners.OnFirstJoin;
import systems.kscott.randomspawnplus.listeners.OnPreLogin;
import systems.kscott.randomspawnplus.spawn.SpawnFinder;
import systems.kscott.randomspawnplus.spawn.SpawnGenerator;
import systems.kscott.randomspawnplus.util.PlatformUtil;
import org.bukkit.plugin.java.JavaPlugin;

public final class RandomSpawnPlus extends JavaPlugin {

private static RandomSpawnPlus INSTANCE;
private static HookInstance hookInstance;
public static final Logger LOGGER = LogManager.getLogger(RandomSpawnPlus.class.getSimpleName());
private BukkitAudiences adventure;
public FoliaLib foliaLib = new FoliaLib(this);

public @NotNull BukkitAudiences adventure() {
if (this.adventure == null) {
throw new IllegalStateException("Tried to access Adventure when the plugin was disabled!");
}

return this.adventure;
}

@Override
public void onEnable() {
INSTANCE = this;
this.adventure = BukkitAudiences.create(this);

Config.loadConfig(INSTANCE);

registerEvents();
registerCommands();
registerHooks();

PlatformUtil.init();
SpawnGenerator.init();
//SpawnCacher.initialize();
}

@Override
public void onDisable() {
if (this.adventure != null) {
this.adventure.close();
this.adventure = null;
}

//SpawnCacher.getInstance().save();
}

private void registerEvents() {
if (!Config.getGlobalConfig().randomSpawnEnabled) return;

getServer().getPluginManager().registerEvents(new OnDeath(), this);
getServer().getPluginManager().registerEvents(new OnPreLogin(), this);
getServer().getPluginManager().registerEvents(new OnFirstJoin(), this);
}

private void registerCommands() {
PaperCommandManager manager = new PaperCommandManager(this);
manager.registerCommand(new CommandRSP());

if (Config.getGlobalConfig().wildEnabled) {
manager.registerCommand(new CommandWild());
}
}

public static RandomSpawnPlus getInstance() {
return INSTANCE;
}

private void registerHooks() {
hookInstance = new HookInstance(this);
}

public static HookInstance getHooks() {
return hookInstance.getInstance();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
package systems.kscott.randomspawnplus.commands;

import co.aikar.commands.BaseCommand;
import co.aikar.commands.annotation.CommandAlias;
import co.aikar.commands.annotation.CommandPermission;
import co.aikar.commands.annotation.Default;
import co.aikar.commands.annotation.Description;
import co.aikar.commands.annotation.Subcommand;
import systems.kscott.randomspawnplus.RandomSpawnPlus;
import systems.kscott.randomspawnplus.platforms.UniversalPlatform;
import systems.kscott.randomspawnplus.util.MessageUtil;
import org.bukkit.command.CommandSender;

@CommandAlias("rsp|randomspawnplus")
@Description("Manage the plugin")
@CommandPermission("randomspawnplus.manage")
public class CommandRSP extends BaseCommand {

@Default
@Subcommand("help|h")
public void _main(CommandSender player) {
MessageUtil.send(player, String.valueOf(UniversalPlatform.isAllSpawnRangeChunksGenerated()));
MessageUtil.send(player, String.valueOf(UniversalPlatform.getPendingGenerateChunksList().size()));
/*
MessageUtil.send(player,
"&8[&3RandomSpawnPlus&8] &7Running &bv" + RandomSpawnPlus.getInstance().getDescription().getVersion() + "&7, made with love &a:^)",
"",
"&b/rsp &8- &7The help menu.",
"&b/rsp reload &8- &7Reload the plugin configuration.",
"&b/wild &8- &7Randomly teleport yourself.",
"&b/wild <other> &8- &7Randomly teleport another player.",
"&7Need help? Check out &bhttps://github.com/Winds-Studio/RandomSpawnPlus&7."
);
*/
}

@Subcommand("reload")
public void _reload(CommandSender player) {
/*
RandomSpawnPlus.getInstance().getConfigManager().reload();
RandomSpawnPlus.getInstance().getLangManager().reload();
RandomSpawnPlus.getInstance().getSpawnsManager().reload();
*/
MessageUtil.send(player, "&8[&3RandomSpawnPlus&8] &7Reloaded &bconfig.yml&7, &blang.yml&7, and &bspawns.yml&7.");
}
}
Loading
Loading