Skip to content

Commit

Permalink
NPCs and sidebar!
Browse files Browse the repository at this point in the history
  • Loading branch information
RedstoneWizard08 committed Sep 4, 2023
1 parent 0ac44fd commit 784f92f
Show file tree
Hide file tree
Showing 35 changed files with 303 additions and 197 deletions.
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -118,5 +118,5 @@ run/
!gradle-wrapper.jar

.vscode
/run/
/run-proxy/
run
run-proxy
39 changes: 25 additions & 14 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,31 @@ repositories {
name = "jitpack"
url = uri("https://jitpack.io/")
}

maven {
name = "alessiodp"
url = uri("https://repo.alessiodp.com/releases/")
}

maven {
name = "PlaceholderAPI"
url = uri("https://repo.extendedclip.com/content/repositories/placeholderapi/")
}

maven {
name = "SimonStators-Repo"
url = uri("https://simonsator.de/repo/")
}

maven {
name = "CodeMC"
url = uri("https://repo.codemc.org/repository/maven-public/")
}

maven {
name = "Citizens"
url = uri("https://maven.citizensnpcs.co/repo")
}
}

dependencies {
Expand All @@ -56,17 +81,3 @@ java {
tasks.named("build") {
dependsOn(tasks.shadowJar)
}

tasks.create("getLoginFromEnv") {
doLast {
val key = System.getenv("JB_SPACE_CLIENT_ID")
val secret = System.getenv("JB_SPACE_CLIENT_SECRET")

if (key == null || secret == null) {
throw GradleException("spaceUsername and/or spacePassword are not defined environment variables")
}

System.setProperty("space.username", key)
System.setProperty("space.password", secret)
}
}
5 changes: 4 additions & 1 deletion flow-common/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,13 @@ repositories {
}

dependencies {
compileOnly("net.luckperms:api:5.3")
compileOnly("net.luckperms:api:5.4")

implementation("org.mongodb:mongo-java-driver:2.12.3")
implementation("com.google.guava:guava:31.0.1-jre")
implementation("net.kyori:adventure-api:4.14.0")
implementation("net.kyori:adventure-text-serializer-plain:4.14.0")
implementation("net.kyori:adventure-text-serializer-legacy:4.14.0")
}

java {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package net.nosadnile.flow.velocity.util;
package net.nosadnile.flow.api.util;

import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;
Expand Down
33 changes: 18 additions & 15 deletions flow-purpur/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ plugins {
id("java-library")
id("maven-publish")
id("com.github.johnrengelman.shadow") version "7.1.2"
id("net.nosadnile.gradle.serverhelper") version "1.5.0"
id("net.nosadnile.gradle.serverhelper") version "1.6.0"
}

repositories {
Expand Down Expand Up @@ -70,21 +70,22 @@ repositories {
}

dependencies {
annotationProcessor("dev.jorel:commandapi-annotations:9.0.0")
annotationProcessor("dev.jorel:commandapi-annotations:9.1.0")

compileOnly(dependencyNotation = "org.purpurmc.purpur:purpur-api:1.19.4-R0.1-SNAPSHOT")
compileOnly("io.papermc.paper:paper-api:1.19.4-R0.1-SNAPSHOT")
compileOnly("org.spigotmc:spigot-api:1.19.4-R0.1-SNAPSHOT")
compileOnly(dependencyNotation = "org.spigotmc:spigot:1.19.4-R0.1-SNAPSHOT")
compileOnly(dependencyNotation = "org.purpurmc.purpur:purpur-api:1.20.1-R0.1-SNAPSHOT")
compileOnly("io.papermc.paper:paper-api:1.20.1-R0.1-SNAPSHOT")
compileOnly("org.spigotmc:spigot-api:1.20.1-R0.1-SNAPSHOT")
compileOnly(dependencyNotation = "org.spigotmc:spigot:1.20-R0.1-SNAPSHOT")

compileOnly("net.luckperms:api:5.3")
compileOnly("com.comphenix.protocol:ProtocolLib:4.8.0")
compileOnly("net.luckperms:api:5.4")
compileOnly("com.comphenix.protocol:ProtocolLib:5.1.0")
compileOnly("net.citizensnpcs:citizens-main:2.0.32-SNAPSHOT")

implementation("net.citizensnpcs:citizens-main:2.0.30-SNAPSHOT")
implementation("dev.jorel:commandapi-bukkit-shade:9.0.0")
implementation("dev.jorel:commandapi-annotations:9.0.0")
implementation("dev.jorel:commandapi-bukkit-shade:9.1.0")
implementation("dev.jorel:commandapi-annotations:9.1.0")
implementation("org.mongodb:mongo-java-driver:2.12.3")
implementation("com.google.guava:guava:31.0.1-jre")
implementation("me.catcoder:bukkit-sidebar:6.2.3-SNAPSHOT")

implementation(project(":flow-common"))
}
Expand All @@ -98,8 +99,10 @@ tasks.named("build") {
}

serverHelper {
getEula().set(true)
getServerType().set(ServerType.PURPUR)
getServerDirectory().set(project.rootDir.resolve("run"))
getMinecraftVersion().set("1.19.4")
eula.set(true)
jvmArgs.add("-Dfile.encoding=UTF-8")
serverArgs.add("-o true")
serverType.set(ServerType.PURPUR)
serverDirectory.set(project.rootDir.resolve("run"))
minecraftVersion.set("1.20.1")
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import net.nosadnile.flow.purpur.commands.NPCCommand;
import net.nosadnile.flow.purpur.events.PlayerLoginListener;
import net.nosadnile.flow.purpur.events.PlayerLogoutListener;
import net.nosadnile.flow.purpur.sidebar.SidebarManager;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.plugin.java.JavaPlugin;
Expand Down Expand Up @@ -35,6 +36,7 @@ public void onEnable() {
FlowPurpur.random = new Random();

NPCCommand.register();
SidebarManager.createSidebar();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
package net.nosadnile.flow.purpur.arena;

import java.util.List;

import net.nosadnile.flow.purpur.team.Team;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.entity.ArmorStand;
import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType;

import net.nosadnile.flow.purpur.team.Team;
import java.util.List;

@SuppressWarnings("deprecation")
public class Arena {
Expand All @@ -27,12 +26,11 @@ public void spawn() {
public void spawnShopNPC(ShopData data) {
switch (data.type) {
case ITEM_SHOP:
// TODO: Spawn NPC
// TODO: Spawn NPCHelper
return;

case TEAM_SHOP:
// TODO: Spawn NPC
return;
// TODO: Spawn NPCHelper
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,27 @@

import dev.jorel.commandapi.CommandAPICommand;
import dev.jorel.commandapi.arguments.GreedyStringArgument;
import dev.jorel.commandapi.arguments.StringArgument;
import dev.jorel.commandapi.executors.CommandArguments;
import net.nosadnile.flow.purpur.npc.NPC;
import org.bukkit.Bukkit;
import net.nosadnile.flow.purpur.npc.NPCHelper;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

import java.util.Objects;

public class NPCCommand {
public static void register() {
new CommandAPICommand("npc")
new CommandAPICommand("createnpc")
.withArguments(new StringArgument("skin"))
.withArguments(new GreedyStringArgument("name"))
.executes(NPCCommand::execute).register();
}

public static void execute(CommandSender sender, CommandArguments args) {
String name = (String) args.get("name");
String skin = (String) args.get("skin");

if (name == null) return;

String uuid = Objects.requireNonNull(Bukkit.getPlayer(name)).getUniqueId().toString();

NPC npc = new NPC(uuid, name, ((Player) sender).getLocation());
NPCHelper npc = new NPCHelper(skin, name, ((Player) sender).getLocation());

npc.spawn();
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package net.nosadnile.flow.purpur.events;

import net.nosadnile.flow.purpur.sidebar.SidebarManager;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
Expand All @@ -9,5 +10,7 @@ public class PlayerLoginListener implements Listener {
@SuppressWarnings("deprecation")
public void onLogin(PlayerJoinEvent e) {
e.setJoinMessage("");

SidebarManager.SIDEBAR.addViewer(e.getPlayer());
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package net.nosadnile.flow.purpur.events;

import net.nosadnile.flow.purpur.sidebar.SidebarManager;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerQuitEvent;
Expand All @@ -9,5 +10,7 @@ public class PlayerLogoutListener implements Listener {
@SuppressWarnings("deprecation")
public void onLogout(PlayerQuitEvent e) {
e.setQuitMessage("");

SidebarManager.SIDEBAR.removeViewer(e.getPlayer());
}
}
Original file line number Diff line number Diff line change
@@ -1,16 +1,14 @@
package net.nosadnile.flow.purpur.npc;

import org.bukkit.Bukkit;
import org.bukkit.World;

import org.bukkit.craftbukkit.v1_19_R3.CraftServer;
import org.bukkit.craftbukkit.v1_19_R3.CraftWorld;
import org.bukkit.craftbukkit.v1_19_R3.entity.CraftPlayer;
import org.bukkit.entity.Player;

import net.minecraft.server.MinecraftServer;
import net.minecraft.server.level.WorldServer;
import net.minecraft.server.network.PlayerConnection;
import org.bukkit.Bukkit;
import org.bukkit.World;
import org.bukkit.craftbukkit.v1_20_R1.CraftServer;
import org.bukkit.craftbukkit.v1_20_R1.CraftWorld;
import org.bukkit.craftbukkit.v1_20_R1.entity.CraftPlayer;
import org.bukkit.entity.Player;

public class NMSHandler {
public static MinecraftServer getServer() {
Expand All @@ -22,6 +20,6 @@ public static WorldServer getWorld(World world) {
}

public static PlayerConnection getConnection(Player player) {
return ((CraftPlayer) player).getHandle().b;
return ((CraftPlayer) player).getHandle().c;
}
}
80 changes: 0 additions & 80 deletions flow-purpur/src/main/java/net/nosadnile/flow/purpur/npc/NPC.java

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package net.nosadnile.flow.purpur.npc;

import net.citizensnpcs.api.CitizensAPI;
import net.citizensnpcs.api.npc.NPC;
import net.citizensnpcs.trait.SkinTrait;
import org.bukkit.Location;
import org.bukkit.entity.EntityType;

public class NPCHelper {
public Location position;
public String skin;
public String name;

public NPCHelper(String skin, String name, Location position) {
this.name = name;
this.skin = skin;
this.position = position;
}

public void spawn() {
NPC npc = CitizensAPI.getNPCRegistry().createNPC(EntityType.PLAYER, name);

npc.spawn(position);
npc.getOrAddTrait(SkinTrait.class).setSkinName(skin);
}
}

This file was deleted.

Loading

0 comments on commit 784f92f

Please sign in to comment.