feat(mappings): start mapping rework
This commit is contained in:
parent
144245fc5a
commit
b7be5ad54e
108 changed files with 293 additions and 1568 deletions
|
@ -8,6 +8,11 @@
|
||||||
<option name="modules">
|
<option name="modules">
|
||||||
<set>
|
<set>
|
||||||
<option value="$PROJECT_DIR$" />
|
<option value="$PROJECT_DIR$" />
|
||||||
|
<option value="$PROJECT_DIR$/api" />
|
||||||
|
<option value="$PROJECT_DIR$/common" />
|
||||||
|
<option value="$PROJECT_DIR$/mappings" />
|
||||||
|
<option value="$PROJECT_DIR$/mappings/v1_20" />
|
||||||
|
<option value="$PROJECT_DIR$/v1_20" />
|
||||||
</set>
|
</set>
|
||||||
</option>
|
</option>
|
||||||
</GradleProjectSettings>
|
</GradleProjectSettings>
|
||||||
|
|
11
api/build.gradle.kts
Normal file
11
api/build.gradle.kts
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
plugins {
|
||||||
|
id("java")
|
||||||
|
}
|
||||||
|
|
||||||
|
java {
|
||||||
|
sourceCompatibility = JavaVersion.VERSION_21
|
||||||
|
targetCompatibility = JavaVersion.VERSION_21
|
||||||
|
toolchain {
|
||||||
|
languageVersion = JavaLanguageVersion.of(21)
|
||||||
|
}
|
||||||
|
}
|
4
api/src/main/java/xyz/ineanto/nicko/api/NickoAPI.java
Normal file
4
api/src/main/java/xyz/ineanto/nicko/api/NickoAPI.java
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
package xyz.ineanto.nicko.api;
|
||||||
|
|
||||||
|
public class NickoAPI {
|
||||||
|
}
|
130
build.gradle.kts
130
build.gradle.kts
|
@ -1,12 +1,8 @@
|
||||||
plugins {
|
plugins {
|
||||||
id("java")
|
id("java")
|
||||||
id("io.github.goooler.shadow") version "8.1.7"
|
id("io.github.goooler.shadow") version "8.1.7"
|
||||||
id("xyz.jpenilla.run-paper") version "2.3.0"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
group = "xyz.ineanto"
|
|
||||||
version = "1.1.8"
|
|
||||||
|
|
||||||
java {
|
java {
|
||||||
sourceCompatibility = JavaVersion.VERSION_21
|
sourceCompatibility = JavaVersion.VERSION_21
|
||||||
targetCompatibility = JavaVersion.VERSION_21
|
targetCompatibility = JavaVersion.VERSION_21
|
||||||
|
@ -15,127 +11,7 @@ java {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
repositories {
|
allprojects {
|
||||||
mavenCentral()
|
group = "xyz.ineanto.nicko"
|
||||||
mavenLocal()
|
version = "1.2.0"
|
||||||
maven { url = uri("https://jitpack.io") }
|
|
||||||
maven {
|
|
||||||
name = "xenondevs"
|
|
||||||
url = uri("https://repo.xenondevs.xyz/releases")
|
|
||||||
}
|
|
||||||
maven {
|
|
||||||
name = "papermc"
|
|
||||||
url = uri("https://repo.papermc.io/repository/maven-public/")
|
|
||||||
}
|
|
||||||
maven {
|
|
||||||
name = "codemc"
|
|
||||||
url = uri("https://repo.codemc.io/repository/maven-snapshots/")
|
|
||||||
}
|
|
||||||
maven {
|
|
||||||
name = "placeholderapi"
|
|
||||||
url = uri("https://repo.extendedclip.com/content/repositories/placeholderapi/")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
dependencies {
|
|
||||||
// Nicko
|
|
||||||
compileOnly("io.papermc.paper:paper-api:1.20.4-R0.1-SNAPSHOT")
|
|
||||||
compileOnly("com.github.dmulloy2:ProtocolLib:master-SNAPSHOT")
|
|
||||||
compileOnly("me.clip:placeholderapi:2.11.5")
|
|
||||||
compileOnly("net.kyori:adventure-api:4.17.0")
|
|
||||||
|
|
||||||
implementation("xyz.xenondevs.invui:invui:1.35")
|
|
||||||
implementation("net.wesjd:anvilgui:1.10.1-SNAPSHOT")
|
|
||||||
implementation("com.github.jsixface:yamlconfig:1.2")
|
|
||||||
implementation("com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.15.2")
|
|
||||||
implementation("com.fasterxml.jackson.core:jackson-core:2.15.2")
|
|
||||||
implementation("com.mysql:mysql-connector-j:8.2.0")
|
|
||||||
implementation("org.mariadb.jdbc:mariadb-java-client:3.3.1")
|
|
||||||
implementation("redis.clients:jedis:5.1.2")
|
|
||||||
implementation("com.google.code.gson:gson:2.10.1")
|
|
||||||
implementation("org.bstats:bstats-bukkit:3.0.2")
|
|
||||||
|
|
||||||
testImplementation("com.github.MockBukkit:MockBukkit:v3.99.1")
|
|
||||||
testImplementation("org.junit.jupiter:junit-jupiter-api:5.10.2")
|
|
||||||
testImplementation("org.junit.jupiter:junit-jupiter-engine:5.10.2")
|
|
||||||
testImplementation("org.junit.jupiter:junit-jupiter:5.10.2")
|
|
||||||
}
|
|
||||||
|
|
||||||
tasks {
|
|
||||||
processResources {
|
|
||||||
from("src/main/resources")
|
|
||||||
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
|
|
||||||
filesMatching("*.yml") {
|
|
||||||
expand("version" to version)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
shadowJar {
|
|
||||||
// NAMING
|
|
||||||
archiveBaseName.set("nicko")
|
|
||||||
archiveVersion.set(version.toString())
|
|
||||||
archiveAppendix.set("")
|
|
||||||
archiveClassifier.set("")
|
|
||||||
|
|
||||||
// RELOCATIONS
|
|
||||||
relocate("xyz.xenondevs", "xyz.ineanto.nicko.libs.invui")
|
|
||||||
relocate("me.clip", "xyz.ineanto.nicko.libs.placeholderapi")
|
|
||||||
relocate("net.wesjd", "xyz.ineanto.nicko.libs.anvilgui")
|
|
||||||
relocate("com.github.jsixface", "xyz.ineanto.nicko.libs.yaml")
|
|
||||||
relocate("com.fasterxml.jackson.dataformat", "xyz.ineanto.nicko.libs.jackson.yaml")
|
|
||||||
relocate("com.fasterxml.jackson.core", "xyz.ineanto.nicko.libs.jackson.core")
|
|
||||||
relocate("com.mysql", "xyz.ineanto.nicko.libs.mysql")
|
|
||||||
relocate("org.mariadb.jdbc", "xyz.ineanto.nicko.libs.mariadb")
|
|
||||||
relocate("redis.clients", "xyz.ineanto.nicko.libs.redis")
|
|
||||||
relocate("com.google.gson", "xyz.ineanto.nicko.libs.gson")
|
|
||||||
relocate("org.apache.commons.pool2", "xyz.ineanto.nicko.libs.pool2")
|
|
||||||
relocate("org.bstats", "xyz.ineanto.nicko.libs.bstats")
|
|
||||||
|
|
||||||
// EXCLUSIONS
|
|
||||||
exclude("colors.bin")
|
|
||||||
exclude("waffle/**")
|
|
||||||
exclude("com/sun/**")
|
|
||||||
exclude("com/google/protobuf/**")
|
|
||||||
exclude("com/google/errorprone/**")
|
|
||||||
exclude("org/apache/commons/logging/**")
|
|
||||||
exclude("org/jetbrains/**")
|
|
||||||
exclude("org/intellij/**")
|
|
||||||
exclude("org/checkerframework/**")
|
|
||||||
exclude("org/json/**")
|
|
||||||
exclude("org/slf4j/**")
|
|
||||||
exclude("org/yaml/**")
|
|
||||||
exclude("google/protobuf/**")
|
|
||||||
exclude("net/kyori/**")
|
|
||||||
|
|
||||||
// MINIFY
|
|
||||||
minimize {
|
|
||||||
exclude(dependency("xyz.xenondevs.invui:.*"))
|
|
||||||
exclude(dependency("net.wesjd:.*"))
|
|
||||||
exclude(dependency("org.bstats:.*"))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
jar {
|
|
||||||
enabled = false
|
|
||||||
}
|
|
||||||
|
|
||||||
test {
|
|
||||||
useJUnitPlatform()
|
|
||||||
}
|
|
||||||
|
|
||||||
runServer {
|
|
||||||
dependsOn(shadowJar)
|
|
||||||
|
|
||||||
downloadPlugins {
|
|
||||||
url("https://download.luckperms.net/1554/bukkit/loader/LuckPerms-Bukkit-5.4.139.jar")
|
|
||||||
|
|
||||||
// 1.20 - 1.20.4 testing
|
|
||||||
//url("https://github.com/dmulloy2/ProtocolLib/releases/download/5.2.0/ProtocolLib.jar")
|
|
||||||
|
|
||||||
// 1.20.5 - latest testing
|
|
||||||
url("https://ci.dmulloy2.net/job/ProtocolLib/lastSuccessfulBuild/artifact/build/libs/ProtocolLib.jar")
|
|
||||||
}
|
|
||||||
|
|
||||||
minecraftVersion("1.21.1")
|
|
||||||
}
|
|
||||||
}
|
}
|
108
common/build.gradle.kts
Normal file
108
common/build.gradle.kts
Normal file
|
@ -0,0 +1,108 @@
|
||||||
|
plugins {
|
||||||
|
id("java")
|
||||||
|
id("xyz.jpenilla.run-paper") version "2.3.0"
|
||||||
|
id("io.github.goooler.shadow") version "8.1.7"
|
||||||
|
}
|
||||||
|
|
||||||
|
java {
|
||||||
|
sourceCompatibility = JavaVersion.VERSION_21
|
||||||
|
targetCompatibility = JavaVersion.VERSION_21
|
||||||
|
toolchain {
|
||||||
|
languageVersion = JavaLanguageVersion.of(21)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
compileOnly("io.papermc.paper:paper-api:1.21.1-R0.1-SNAPSHOT")
|
||||||
|
compileOnly("com.github.dmulloy2:ProtocolLib:master-SNAPSHOT")
|
||||||
|
compileOnly("me.clip:placeholderapi:2.11.5")
|
||||||
|
compileOnly("net.kyori:adventure-api:4.17.0")
|
||||||
|
|
||||||
|
rootProject.subprojects.forEach {
|
||||||
|
if (!it.name.startsWith("v")) return@forEach
|
||||||
|
|
||||||
|
compileOnly(project(":mappings:${it.name}"))
|
||||||
|
}
|
||||||
|
|
||||||
|
implementation("xyz.xenondevs.invui:invui:1.35")
|
||||||
|
implementation("net.wesjd:anvilgui:1.10.1-SNAPSHOT")
|
||||||
|
implementation("com.github.jsixface:yamlconfig:1.2")
|
||||||
|
implementation("com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.15.2")
|
||||||
|
implementation("com.fasterxml.jackson.core:jackson-core:2.15.2")
|
||||||
|
implementation("com.mysql:mysql-connector-j:8.2.0")
|
||||||
|
implementation("org.mariadb.jdbc:mariadb-java-client:3.3.1")
|
||||||
|
implementation("redis.clients:jedis:5.1.2")
|
||||||
|
implementation("com.google.code.gson:gson:2.10.1")
|
||||||
|
implementation("org.bstats:bstats-bukkit:3.0.2")
|
||||||
|
}
|
||||||
|
|
||||||
|
tasks {
|
||||||
|
processResources {
|
||||||
|
from("src/main/resources")
|
||||||
|
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
|
||||||
|
filesMatching("*.yml") {
|
||||||
|
expand("version" to version)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
shadowJar {
|
||||||
|
// NAMING
|
||||||
|
archiveBaseName.set("nicko")
|
||||||
|
archiveVersion.set(version.toString())
|
||||||
|
archiveAppendix.set("")
|
||||||
|
archiveClassifier.set("")
|
||||||
|
|
||||||
|
// RELOCATIONS
|
||||||
|
relocate("xyz.xenondevs", "xyz.ineanto.nicko.libs.invui")
|
||||||
|
relocate("me.clip", "xyz.ineanto.nicko.libs.placeholderapi")
|
||||||
|
relocate("net.wesjd", "xyz.ineanto.nicko.libs.anvilgui")
|
||||||
|
relocate("com.github.jsixface", "xyz.ineanto.nicko.libs.yaml")
|
||||||
|
relocate("com.fasterxml.jackson.dataformat", "xyz.ineanto.nicko.libs.jackson.yaml")
|
||||||
|
relocate("com.fasterxml.jackson.core", "xyz.ineanto.nicko.libs.jackson.core")
|
||||||
|
relocate("com.mysql", "xyz.ineanto.nicko.libs.mysql")
|
||||||
|
relocate("org.mariadb.jdbc", "xyz.ineanto.nicko.libs.mariadb")
|
||||||
|
relocate("redis.clients", "xyz.ineanto.nicko.libs.redis")
|
||||||
|
relocate("com.google.gson", "xyz.ineanto.nicko.libs.gson")
|
||||||
|
relocate("org.apache.commons.pool2", "xyz.ineanto.nicko.libs.pool2")
|
||||||
|
relocate("org.bstats", "xyz.ineanto.nicko.libs.bstats")
|
||||||
|
|
||||||
|
// EXCLUSIONS
|
||||||
|
exclude("colors.bin")
|
||||||
|
exclude("waffle/**")
|
||||||
|
exclude("com/sun/**")
|
||||||
|
exclude("com/google/protobuf/**")
|
||||||
|
exclude("com/google/errorprone/**")
|
||||||
|
exclude("org/apache/commons/logging/**")
|
||||||
|
exclude("org/jetbrains/**")
|
||||||
|
exclude("org/intellij/**")
|
||||||
|
exclude("org/checkerframework/**")
|
||||||
|
exclude("org/json/**")
|
||||||
|
exclude("org/slf4j/**")
|
||||||
|
exclude("org/yaml/**")
|
||||||
|
exclude("google/protobuf/**")
|
||||||
|
exclude("net/kyori/**")
|
||||||
|
|
||||||
|
// MINIFY
|
||||||
|
minimize {
|
||||||
|
exclude(dependency("xyz.xenondevs.invui:.*"))
|
||||||
|
exclude(dependency("net.wesjd:.*"))
|
||||||
|
exclude(dependency("org.bstats:.*"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
runServer {
|
||||||
|
dependsOn(shadowJar)
|
||||||
|
|
||||||
|
downloadPlugins {
|
||||||
|
url("https://download.luckperms.net/1554/bukkit/loader/LuckPerms-Bukkit-5.4.139.jar")
|
||||||
|
|
||||||
|
// 1.20 - 1.20.4 testing
|
||||||
|
//url("https://github.com/dmulloy2/ProtocolLib/releases/download/5.2.0/ProtocolLib.jar")
|
||||||
|
|
||||||
|
// 1.20.5 - latest testing
|
||||||
|
url("https://ci.dmulloy2.net/job/ProtocolLib/lastSuccessfulBuild/artifact/build/libs/ProtocolLib.jar")
|
||||||
|
}
|
||||||
|
|
||||||
|
minecraftVersion("1.21.1")
|
||||||
|
}
|
||||||
|
}
|
18
common/src/main/java/xyz/ineanto/nicko/mapping/Mapping.java
Normal file
18
common/src/main/java/xyz/ineanto/nicko/mapping/Mapping.java
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
package xyz.ineanto.nicko.mapping;
|
||||||
|
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import xyz.ineanto.nicko.Nicko;
|
||||||
|
import xyz.ineanto.nicko.storage.PlayerDataStore;
|
||||||
|
import xyz.ineanto.nicko.storage.name.PlayerNameStore;
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
public abstract class Mapping {
|
||||||
|
private final Nicko instance = Nicko.getInstance();
|
||||||
|
private final PlayerDataStore dataStore = instance.getDataStore();
|
||||||
|
private final PlayerNameStore nameStore = instance.getNameStore();
|
||||||
|
|
||||||
|
public abstract void respawn(Player player);
|
||||||
|
|
||||||
|
public abstract Set<String> supportedVersions();
|
||||||
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
package xyz.ineanto.nicko.mapping;
|
||||||
|
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.Server;
|
||||||
|
import xyz.ineanto.nicko.mapping.v1_20.Mapping1_20;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
public class MappingManager {
|
||||||
|
private final List<Mapping> mappings = List.of(
|
||||||
|
new Mapping1_20()
|
||||||
|
);
|
||||||
|
|
||||||
|
public Optional<Mapping> getMappingFor(Server server) {
|
||||||
|
return mappings.stream()
|
||||||
|
.filter(mapping -> mapping.supportedVersions().contains(Bukkit.getMinecraftVersion()))
|
||||||
|
.findFirst();
|
||||||
|
}
|
||||||
|
}
|
9
mappings/v1_20/build.gradle.kts
Normal file
9
mappings/v1_20/build.gradle.kts
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
plugins {
|
||||||
|
id("java")
|
||||||
|
id("io.papermc.paperweight.userdev") version "1.7.2"
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
paperweight.paperDevBundle("1.20-R0.1-SNAPSHOT")
|
||||||
|
implementation(project(":common"))
|
||||||
|
}
|
|
@ -0,0 +1,83 @@
|
||||||
|
package xyz.ineanto.nicko.mapping.v1_20;
|
||||||
|
|
||||||
|
import net.minecraft.network.protocol.game.ClientboundPlayerInfoRemovePacket;
|
||||||
|
import net.minecraft.network.protocol.game.ClientboundPlayerInfoUpdatePacket;
|
||||||
|
import net.minecraft.network.protocol.game.ClientboundRespawnPacket;
|
||||||
|
import net.minecraft.network.protocol.game.ClientboundUpdateMobEffectPacket;
|
||||||
|
import net.minecraft.server.level.ServerLevel;
|
||||||
|
import net.minecraft.server.level.ServerPlayer;
|
||||||
|
import net.minecraft.server.level.ServerPlayerGameMode;
|
||||||
|
import net.minecraft.server.players.PlayerList;
|
||||||
|
import net.minecraft.world.effect.MobEffectInstance;
|
||||||
|
import net.minecraft.world.level.biome.BiomeManager;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import xyz.ineanto.nicko.mapping.Mapping;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
public class Mapping1_20 extends Mapping {
|
||||||
|
@Override
|
||||||
|
public void respawn(Player player) {
|
||||||
|
final ServerPlayer entityPlayer = (ServerPlayer) player;
|
||||||
|
|
||||||
|
final ServerLevel world = entityPlayer.serverLevel();
|
||||||
|
final ServerPlayerGameMode gameMode = entityPlayer.gameMode;
|
||||||
|
|
||||||
|
// Really Mojang...? (also applies to Bukkit/Spigot maintainers)
|
||||||
|
// I'll have to do this everytime I want to update Nicko for the foreseeable future.
|
||||||
|
// (until ProtocolLib has reworked its API to be more maintainable that said)
|
||||||
|
|
||||||
|
// I already when through this hassle with NickReloaded back in 2017,
|
||||||
|
// when mappings were not included by default, mind you.
|
||||||
|
|
||||||
|
// I had to rework the entire project structure and build process just for... you.
|
||||||
|
|
||||||
|
// I can't be bothered with fighting your game anymore.
|
||||||
|
// We need an easy and reliable way to send packets across multiple server versions.
|
||||||
|
// And I know that this is easier said than done, the game protocol needs
|
||||||
|
// to evolve and be updated, I get it. But I think you can at least try.
|
||||||
|
|
||||||
|
// You made a step forward by providing the mappings for Java, this I can agree with.
|
||||||
|
// (and still stripped them from Bedrock against community feedback, haha f*ck you.)
|
||||||
|
// However, we still need a stable and reliable Packet API (and so much more!) one day.
|
||||||
|
|
||||||
|
final ClientboundRespawnPacket respawn = new ClientboundRespawnPacket(
|
||||||
|
world.dimensionTypeId(),
|
||||||
|
world.dimension(),
|
||||||
|
BiomeManager.obfuscateSeed(world.getSeed()),
|
||||||
|
gameMode.getGameModeForPlayer(),
|
||||||
|
gameMode.getPreviousGameModeForPlayer(),
|
||||||
|
world.isDebug(),
|
||||||
|
world.isFlat(),
|
||||||
|
ClientboundRespawnPacket.KEEP_ALL_DATA,
|
||||||
|
entityPlayer.getLastDeathLocation(),
|
||||||
|
entityPlayer.getPortalCooldown()
|
||||||
|
);
|
||||||
|
|
||||||
|
entityPlayer.connection.send(new ClientboundPlayerInfoRemovePacket(List.of(player.getUniqueId())));
|
||||||
|
entityPlayer.connection.send(ClientboundPlayerInfoUpdatePacket.createPlayerInitializing(List.of(entityPlayer)));
|
||||||
|
|
||||||
|
entityPlayer.connection.send(respawn);
|
||||||
|
|
||||||
|
entityPlayer.onUpdateAbilities();
|
||||||
|
entityPlayer.connection.teleport(player.getLocation());
|
||||||
|
|
||||||
|
entityPlayer.resetSentInfo();
|
||||||
|
|
||||||
|
final PlayerList playerList = entityPlayer.server.getPlayerList();
|
||||||
|
playerList.sendPlayerPermissionLevel(entityPlayer);
|
||||||
|
playerList.sendLevelInfo(entityPlayer, world);
|
||||||
|
playerList.sendAllPlayerInfo(entityPlayer);
|
||||||
|
|
||||||
|
// Resend their effects
|
||||||
|
for (MobEffectInstance effect : entityPlayer.getActiveEffects()) {
|
||||||
|
entityPlayer.connection.send(new ClientboundUpdateMobEffectPacket(entityPlayer.getId(), effect));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Set<String> supportedVersions() {
|
||||||
|
return Set.of("1.20", "1.20.1");
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,2 +1,34 @@
|
||||||
rootProject.name = "nicko"
|
rootProject.name = "nicko"
|
||||||
|
|
||||||
|
setOf(
|
||||||
|
"1_20"
|
||||||
|
).forEach {
|
||||||
|
include("mappings:v$it")
|
||||||
|
}
|
||||||
|
|
||||||
|
include("common", "api")
|
||||||
|
|
||||||
|
dependencyResolutionManagement {
|
||||||
|
repositories {
|
||||||
|
mavenCentral()
|
||||||
|
mavenLocal()
|
||||||
|
maven { url = uri("https://jitpack.io") }
|
||||||
|
maven {
|
||||||
|
name = "xenondevs"
|
||||||
|
url = uri("https://repo.xenondevs.xyz/releases")
|
||||||
|
}
|
||||||
|
maven {
|
||||||
|
name = "papermc"
|
||||||
|
url = uri("https://repo.papermc.io/repository/maven-public/")
|
||||||
|
}
|
||||||
|
maven {
|
||||||
|
name = "codemc"
|
||||||
|
url = uri("https://repo.codemc.io/repository/maven-snapshots/")
|
||||||
|
}
|
||||||
|
maven {
|
||||||
|
name = "placeholderapi"
|
||||||
|
url = uri("https://repo.extendedclip.com/content/repositories/placeholderapi/")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
include("v1_20")
|
||||||
|
|
|
@ -1,60 +0,0 @@
|
||||||
# Nicko ${version} - Config:
|
|
||||||
|
|
||||||
# Specifies the configuration version, don't change.
|
|
||||||
version: "1.0.9"
|
|
||||||
|
|
||||||
#
|
|
||||||
# Language
|
|
||||||
#
|
|
||||||
|
|
||||||
# Nicko will copy the English locale as "lang.yml"
|
|
||||||
# and will use the translations in that file when "Server Custom"
|
|
||||||
# is selected as the player's locale.
|
|
||||||
# Accepted values: false (Disabled), true (Enabled)
|
|
||||||
customLocale: false
|
|
||||||
|
|
||||||
#
|
|
||||||
# Storage
|
|
||||||
#
|
|
||||||
|
|
||||||
sql:
|
|
||||||
# Indicates wherever the data will be stored locally
|
|
||||||
# inside a .json file or in an SQL database.
|
|
||||||
# Accepted values: false (Disabled), true (Enabled)
|
|
||||||
enabled: false
|
|
||||||
# Toggles between the MariaDB and MySQL drivers.
|
|
||||||
# If you use the MySQL database engine, switch this to off.
|
|
||||||
# Accepted values: false (Disabled), true (Enabled)
|
|
||||||
mariadb: true
|
|
||||||
# SQL database's address
|
|
||||||
# Accepted values: valid IP address (e.g. localhost, 127.0.0.1)
|
|
||||||
address: "localhost"
|
|
||||||
# SQL database's port
|
|
||||||
# Accepted values: valid integer (e.g. 3306, 25565)
|
|
||||||
port: 3306
|
|
||||||
# SQL database's username.
|
|
||||||
# Accepted values: any string
|
|
||||||
username: "username"
|
|
||||||
# SQL database's password.
|
|
||||||
# Accepted values: any string
|
|
||||||
password: "password"
|
|
||||||
|
|
||||||
# This configuration section manages Redis (enabled BungeeCord support).
|
|
||||||
# It is used to transfer data between multiple servers.
|
|
||||||
redis:
|
|
||||||
# Indicates wherever the data will be stored through
|
|
||||||
# Redis to transfer whenever a player switches server.
|
|
||||||
# Accepted values: false (Disabled), true (Enabled)
|
|
||||||
enabled: false
|
|
||||||
# Redis server's address
|
|
||||||
# Accepted values: valid IP address (e.g.: localhost, 127.0.0.1)
|
|
||||||
address: "localhost"
|
|
||||||
# Redis server's port
|
|
||||||
# Accepted values: valid integer (e.g. 3306, 25565)
|
|
||||||
port: 6379
|
|
||||||
# Redis server's username
|
|
||||||
# Accepted values: any string
|
|
||||||
username: "username"
|
|
||||||
# Redis server's password
|
|
||||||
# Accepted values: any string
|
|
||||||
password: "password"
|
|
|
@ -1,153 +0,0 @@
|
||||||
# Nicko ${version} - Language File:
|
|
||||||
|
|
||||||
# Specifies the configuration version, don't change.
|
|
||||||
version: "1.1.4"
|
|
||||||
|
|
||||||
prefix: "<b><gradient:#01a97c:#8ffd54>NICKO</gradient></b>"
|
|
||||||
whoosh: "<b><gradient:#01a97c:#8ffd54>WHOOSH!</gradient></b>"
|
|
||||||
oops: "<b><color:#ff4640>OOPS!</color></b>"
|
|
||||||
|
|
||||||
error:
|
|
||||||
permission: "<gray>You're missing the permission to do that.</gray>"
|
|
||||||
invalid_username: "<gray>This is an invalid Minecraft username.</gray>"
|
|
||||||
mojang_name: "<gray>There's is not Minecraft account with this username.</gray>"
|
|
||||||
mojang_skin: "<gray>This Minecraft account has no skin.</gray>"
|
|
||||||
cache: "<gray>Unable to get data from the cache.</gray>"
|
|
||||||
|
|
||||||
event:
|
|
||||||
settings:
|
|
||||||
error: "<gray>Wasn''t able to update your settings! ({0})</gray>"
|
|
||||||
appearance:
|
|
||||||
set:
|
|
||||||
error: "<gray>Wasn''t able to apply your disguise! ({0})</gray>"
|
|
||||||
ok: "<gray>You're now disguised.</gray>"
|
|
||||||
restore:
|
|
||||||
error: "<gray>Wasn''t able to apply the previous disguise! ({0})</gray>"
|
|
||||||
ok: "<gray>Disguise restored from last time.</gray>"
|
|
||||||
remove:
|
|
||||||
error: "<gray>Wasn''t able to remove your disguise!.</gray>"
|
|
||||||
missing: "<gray>You''re not currently disguised.</gray>"
|
|
||||||
ok: "<gray>Undisguised successfully.</gray>"
|
|
||||||
admin:
|
|
||||||
cache:
|
|
||||||
invalidate_cache: "<gray>Cache purged.</gray>"
|
|
||||||
invalidate_entry: "<gray>{0} was purged.</gray>"
|
|
||||||
check:
|
|
||||||
remove_skin: "<gray>Skin removed from player.</gray>"
|
|
||||||
|
|
||||||
gui:
|
|
||||||
title:
|
|
||||||
home: "Nicko - Home"
|
|
||||||
settings: "Settings"
|
|
||||||
admin: "Administration"
|
|
||||||
check: "Player Management"
|
|
||||||
confirm: "Are you sure?"
|
|
||||||
cache: "Cache Management"
|
|
||||||
invalidate_skin: "Purge cache..."
|
|
||||||
|
|
||||||
exit:
|
|
||||||
name: "Exit"
|
|
||||||
go_back:
|
|
||||||
name: "Back"
|
|
||||||
unavailable:
|
|
||||||
name: "Unavailable"
|
|
||||||
lore:
|
|
||||||
- "<gray><i>This button is disabled.</i></gray>"
|
|
||||||
error:
|
|
||||||
name: "Error!"
|
|
||||||
lore:
|
|
||||||
- "<gray>The item failed to load, but it might still work.</gray>"
|
|
||||||
loading:
|
|
||||||
name: "<gray><i>Loading...</i></gray>"
|
|
||||||
choice:
|
|
||||||
confirm:
|
|
||||||
name: "<green>Confirm</green>"
|
|
||||||
choose:
|
|
||||||
name: "<gold><i>Choose an option...</i></gold>"
|
|
||||||
cancel:
|
|
||||||
name: "<red>Cancel</red>"
|
|
||||||
scroll_up:
|
|
||||||
name: "Scroll up"
|
|
||||||
lore:
|
|
||||||
- "<dark_gray><i>(You can't scroll any higher.)</i></dark_gray>"
|
|
||||||
scroll_down:
|
|
||||||
name: "Scroll down"
|
|
||||||
lore:
|
|
||||||
- "<dark_gray><i>(You can't scroll any further down.)</i></dark_gray>"
|
|
||||||
new_skin:
|
|
||||||
name: "New skin..."
|
|
||||||
new_name:
|
|
||||||
name: "New name..."
|
|
||||||
home:
|
|
||||||
admin:
|
|
||||||
name: "Administration panel"
|
|
||||||
lore:
|
|
||||||
- "<gray>Configure and manage Nicko.</gray>"
|
|
||||||
settings:
|
|
||||||
name: "Settings"
|
|
||||||
lore:
|
|
||||||
- "<gray>Fine tune your experience with Nicko.</gray>"
|
|
||||||
change_name:
|
|
||||||
name: "Change your <gold>nickname</gold>"
|
|
||||||
change_skin:
|
|
||||||
name: "Change your <gold>skin</gold>"
|
|
||||||
change_both:
|
|
||||||
name: "Change <gold>both</gold>"
|
|
||||||
random_skin:
|
|
||||||
name: "<rainbow>Get a random appearance!</rainbow>"
|
|
||||||
reset:
|
|
||||||
name: "Reset appearance"
|
|
||||||
lore:
|
|
||||||
- "<gray>Completely remove your disguise.</gray>"
|
|
||||||
admin:
|
|
||||||
manage_cache:
|
|
||||||
name: "Manage the <gold>skin</gold> cache..."
|
|
||||||
lore:
|
|
||||||
- "<gray>View and manage the skin cache.</gray>"
|
|
||||||
manage_player:
|
|
||||||
name: "Inspect a player..."
|
|
||||||
lore:
|
|
||||||
- "<gray>See players' disguise information.</gray>"
|
|
||||||
check:
|
|
||||||
name: "<gold>{0}</gold>"
|
|
||||||
lore:
|
|
||||||
- "<red>Nicked:</red> {1}"
|
|
||||||
- "<red>Name:</red> <gold>{2}</gold>"
|
|
||||||
- "<red>Skin:</red> <gold>{3}</gold>"
|
|
||||||
- " "
|
|
||||||
- "<gray><i>Click to remove skin!</i></gray>"
|
|
||||||
cache:
|
|
||||||
statistics:
|
|
||||||
name: "Statistics"
|
|
||||||
lore:
|
|
||||||
- "Request count: <aqua>{0}</aqua>"
|
|
||||||
- "Number of skin cached: <aqua>{1}</aqua>"
|
|
||||||
- "<dark_gray><i>Cache is cleared every 24 hours.</i></dark_gray>"
|
|
||||||
invalidate_cache:
|
|
||||||
name: "Invalidate cache"
|
|
||||||
lore:
|
|
||||||
- "<red><i>NOT RECOMMENDED</i></red>"
|
|
||||||
- "<gray>Invalidate the entirety of the skin cache.</gray>"
|
|
||||||
- "<gray>This doesn't reset player's disguises.</gray>"
|
|
||||||
invalidate_skin:
|
|
||||||
name: "Invalidate a skin..."
|
|
||||||
lore:
|
|
||||||
- "<gray>Select a specific skin to invalidate.</gray>"
|
|
||||||
- "<gray>Useful if a skin has been recently updated.</gray>"
|
|
||||||
entry:
|
|
||||||
name: "<gold>{0}</gold>"
|
|
||||||
lore:
|
|
||||||
- "<gray>Click to invalidate...</gray>"
|
|
||||||
settings:
|
|
||||||
toggleable_button:
|
|
||||||
lore:
|
|
||||||
- "{0} Disabled"
|
|
||||||
- "{1} Enabled"
|
|
||||||
cycling_choices:
|
|
||||||
lore:
|
|
||||||
- "<gray><i>Cycle through the values</i></gray>"
|
|
||||||
- "<gray><i>by left or right clicking.</i></gray>"
|
|
||||||
language:
|
|
||||||
name: "Language"
|
|
||||||
random_skin:
|
|
||||||
name: "Random skin on login"
|
|
|
@ -1,155 +0,0 @@
|
||||||
# Nicko ${version} - Fichier de langue:
|
|
||||||
|
|
||||||
# Précise la version de la configuration, ne pas changer.
|
|
||||||
version: "1.1.4"
|
|
||||||
|
|
||||||
prefix: "<b><gradient:#01a97c:#8ffd54>NICKO</gradient></b>"
|
|
||||||
whoosh: "<b><gradient:#01a97c:#8ffd54>WHOOSH!</gradient></b>"
|
|
||||||
oops: "<b><color:#ff4640>OOPS!</color></b>"
|
|
||||||
|
|
||||||
error:
|
|
||||||
permission: "<gray>Vous n'avez pas la permission de faire cela.<gray>"
|
|
||||||
invalid_username: "<gray>Nom d'utilisateur Minecraft invalide.<gray>"
|
|
||||||
mojang_name: "<gray>Aucun compte Minecraft associé à ce nom d'utilisateur.<gray>"
|
|
||||||
mojang_skin: "<gray>Ce compte Minecraft n'a pas de skin.<gray>"
|
|
||||||
cache: "<gray>Impossible de récupérer les données depuis le cache.<gray>"
|
|
||||||
|
|
||||||
event:
|
|
||||||
settings:
|
|
||||||
error: "<gray>Impossible de mettre à jour vos paramètres ! ({0})</gray>"
|
|
||||||
appearance:
|
|
||||||
set:
|
|
||||||
error: "<gray>Impossible d''appliquer votre déguisement ! ({0})</gray>"
|
|
||||||
ok: "<gray>Déguisement appliqué avec succès.</gray>"
|
|
||||||
restore:
|
|
||||||
error: "<gray>Impossible d''appliquer le précédent déguisement ! ({0})</gray>"
|
|
||||||
ok: "<gray>Votre précédent déguisement a été appliqué.<gray>"
|
|
||||||
remove:
|
|
||||||
error: "<gray>Impossible de retirer votre déguisement.</gray>"
|
|
||||||
missing: "<gray>Vous n''avez pas de déguisement.</gray>"
|
|
||||||
ok: "<gray>Déguisement retiré.</gray>"
|
|
||||||
admin:
|
|
||||||
cache:
|
|
||||||
invalidate_cache: "<gray>Cache complet invalidé.</gray>"
|
|
||||||
invalidate_entry: "<gray>{0} a été invalidé.</gray>"
|
|
||||||
check:
|
|
||||||
remove_skin: "<gray>Déguisement retiré au joueur.</gray>"
|
|
||||||
|
|
||||||
gui:
|
|
||||||
title:
|
|
||||||
home: "Nicko - Accueil"
|
|
||||||
settings: "Paramètres"
|
|
||||||
admin: "Administration"
|
|
||||||
check: "Gestion des Joueurs"
|
|
||||||
confirm: "Êtes-vous sûr ?"
|
|
||||||
cache: "Gestion du Cache"
|
|
||||||
invalidate_skin: "Purge du cache..."
|
|
||||||
|
|
||||||
exit:
|
|
||||||
name: "Quitter"
|
|
||||||
go_back:
|
|
||||||
name: "Retour"
|
|
||||||
unavailable:
|
|
||||||
name: "Indisponible"
|
|
||||||
lore:
|
|
||||||
- "<gray><i>Ce boutton est désactivé.</i></gray>"
|
|
||||||
error:
|
|
||||||
name: "Erreur !"
|
|
||||||
lore:
|
|
||||||
- "<gray>La texture de l'objet n'a pas chargé</gray>"
|
|
||||||
- "<gray>correctement mais il fonctionne encore.</gray>"
|
|
||||||
loading:
|
|
||||||
name: "<gray><i>Chargement...</i></gray>"
|
|
||||||
choice:
|
|
||||||
confirm:
|
|
||||||
name: "<green>Confirmer</green>"
|
|
||||||
choose:
|
|
||||||
name: "<gold><i>Choisissez une option...</i></gold>"
|
|
||||||
cancel:
|
|
||||||
name: "<red>Annuler</red>"
|
|
||||||
scroll_up:
|
|
||||||
name: "Défiler vers le haut"
|
|
||||||
lore:
|
|
||||||
- "<dark_gray><i>(Impossible de défiler plus haut.)</i></dark_gray>"
|
|
||||||
scroll_down:
|
|
||||||
name: "Défiler vers le bas"
|
|
||||||
lore:
|
|
||||||
- "<dark_gray><i>(Impossible de défiler plus bas.)</i></dark_gray>"
|
|
||||||
new_skin:
|
|
||||||
name: "Nouveau skin..."
|
|
||||||
new_name:
|
|
||||||
name: "Nouveau nom..."
|
|
||||||
home:
|
|
||||||
admin:
|
|
||||||
name: "Panel d'administration"
|
|
||||||
lore:
|
|
||||||
- "<gray>Configurez et gérez Nicko.</gray>"
|
|
||||||
settings:
|
|
||||||
name: "Paramètres"
|
|
||||||
lore:
|
|
||||||
- "<gray>Gérez votre expérience avec Nicko.</gray>"
|
|
||||||
change_name:
|
|
||||||
name: "Changer le <gold>pseudo</gold>"
|
|
||||||
change_skin:
|
|
||||||
name: "Changer le <gold>skin</gold>"
|
|
||||||
change_both:
|
|
||||||
name: "Changer les <gold>deux</gold>"
|
|
||||||
random_skin:
|
|
||||||
name: "<rainbow>Obtenir une apparence aléatoire !</rainbow>"
|
|
||||||
reset:
|
|
||||||
name: "Réinitialiser l'apparence"
|
|
||||||
lore:
|
|
||||||
- "<gray>Supprime complètement votre déguisement.</gray>"
|
|
||||||
admin:
|
|
||||||
manage_cache:
|
|
||||||
name: "Gérer le cache de <gold>skin...</gold>"
|
|
||||||
lore:
|
|
||||||
- "<gray>Consultez et gérez le cache de skin.</gray>"
|
|
||||||
manage_player:
|
|
||||||
name: "Vérifier un joueur..."
|
|
||||||
lore:
|
|
||||||
- "<gray>Vérifiez les informations de déguisement d'un joueur.</gray>"
|
|
||||||
check:
|
|
||||||
name: "<gold>{0}</gold>"
|
|
||||||
lore:
|
|
||||||
- "<red>Déguisé:</red> {1}"
|
|
||||||
- "<red>Nom:</red> <gold>{2}</gold>"
|
|
||||||
- "<red>Skin:</red> <gold>{3}</gold>"
|
|
||||||
- " "
|
|
||||||
- "<gray><i>Cliquez pour retirer le skin !</i></gray>"
|
|
||||||
cache:
|
|
||||||
statistics:
|
|
||||||
name: "Statistiques"
|
|
||||||
lore:
|
|
||||||
- "Nombre de requêtes: <aqua>{0}</aqua>"
|
|
||||||
- "Nb. de skin dans le cache: <aqua>{1}</aqua>"
|
|
||||||
- "<dark_gray><i>Le cache est vidé toutes les 24 heures.</i></dark_gray>"
|
|
||||||
invalidate_cache:
|
|
||||||
name: "Purger le cache"
|
|
||||||
lore:
|
|
||||||
- "<red><i>DÉCONSEILLÉ</i></red>"
|
|
||||||
- "<gray>Purge l'entièreté du cache des skin.</gray>"
|
|
||||||
- "<gray>Ne retire pas les déguisements des joueurs.</gray>"
|
|
||||||
invalidate_skin:
|
|
||||||
name: "Invalider un skin..."
|
|
||||||
lore:
|
|
||||||
- "<gray>Sélectionnez une apparence spécifique à</gray>"
|
|
||||||
- "<gray>invalider. Utile dans le cas où un skin</gray>"
|
|
||||||
- "<gray>a récemment été mis à jour.</gray>"
|
|
||||||
entry:
|
|
||||||
name: "<gold>{0}</gold>"
|
|
||||||
lore:
|
|
||||||
- "<gray>Cliquez pour invalider...</gray>"
|
|
||||||
settings:
|
|
||||||
toggleable_button:
|
|
||||||
lore:
|
|
||||||
- "{0} Désactivé"
|
|
||||||
- "{1} Activé"
|
|
||||||
cycling_choices:
|
|
||||||
lore:
|
|
||||||
- "<gray><i>Parcourez les valeurs</i></gray>"
|
|
||||||
- "<gray><i>avec un clique gauche/droit.</i></gray>"
|
|
||||||
language:
|
|
||||||
name: "Langage"
|
|
||||||
random_skin:
|
|
||||||
name: "Apparence aléatoire à la connexion"
|
|
|
@ -1,490 +0,0 @@
|
||||||
w4nderlost
|
|
||||||
TooParanoids
|
|
||||||
Der_OG_31er
|
|
||||||
9xxDaRkShAdOwxx9
|
|
||||||
giiiaan_
|
|
||||||
Jqstinnn
|
|
||||||
Tillysboy92
|
|
||||||
AlwaysCello
|
|
||||||
SyndrexG0D
|
|
||||||
Peypeycake
|
|
||||||
ThePerjurer
|
|
||||||
Tioe
|
|
||||||
Elternbaum
|
|
||||||
BarkersRover_16
|
|
||||||
pebsso
|
|
||||||
cyrus6950
|
|
||||||
Bigest_guy
|
|
||||||
RV0REU
|
|
||||||
R379
|
|
||||||
Shetell
|
|
||||||
_HEAPASS_
|
|
||||||
Iamaloner21
|
|
||||||
TheFardoxGamerHD
|
|
||||||
Flyboi43
|
|
||||||
Cha0smusik
|
|
||||||
kat00
|
|
||||||
Infreat
|
|
||||||
Crummymoofin
|
|
||||||
MijnVriend
|
|
||||||
momsrightkidney
|
|
||||||
dmacrado
|
|
||||||
Elephantman321
|
|
||||||
ii_hamoudi_YT
|
|
||||||
FaurePavane
|
|
||||||
ambiezzz
|
|
||||||
XD_Bandit695_XD
|
|
||||||
Nabingo
|
|
||||||
Cyl0re
|
|
||||||
ku5
|
|
||||||
SrAragon
|
|
||||||
StarlightDream9
|
|
||||||
CJ5370
|
|
||||||
rainbees
|
|
||||||
KeroTheWolf
|
|
||||||
Andrews9722
|
|
||||||
cursed_Assyrian
|
|
||||||
yamateni
|
|
||||||
ProgramEXE
|
|
||||||
exprso
|
|
||||||
harrypanda
|
|
||||||
LookerMD
|
|
||||||
migykins
|
|
||||||
Wintrous
|
|
||||||
ZzGaBi
|
|
||||||
Flayber
|
|
||||||
Grenixal
|
|
||||||
maeve_wells
|
|
||||||
Creeper10fr
|
|
||||||
10Chairs
|
|
||||||
2525lock
|
|
||||||
Shqipe
|
|
||||||
XenitsuZen
|
|
||||||
Berno17_
|
|
||||||
wolle1313
|
|
||||||
HalfDogHalfCat1
|
|
||||||
NachoGarcia
|
|
||||||
popsicoal
|
|
||||||
NemesiSevil2006
|
|
||||||
AnywayOj
|
|
||||||
Tanko12345
|
|
||||||
Samdweck
|
|
||||||
LYRECODE123
|
|
||||||
Resulten
|
|
||||||
SirBastii
|
|
||||||
Maku056
|
|
||||||
ItzArnizzz
|
|
||||||
Brsh3620
|
|
||||||
Masonita
|
|
||||||
kapplanium
|
|
||||||
shoezo
|
|
||||||
Mansur203
|
|
||||||
Waterboy15217
|
|
||||||
redragonne
|
|
||||||
ghko325
|
|
||||||
HopePVP_tw7
|
|
||||||
xtka
|
|
||||||
NimwenxZ
|
|
||||||
Hiro0408
|
|
||||||
PanderaWz
|
|
||||||
Shesu
|
|
||||||
_Aniste_NY_
|
|
||||||
Besceste
|
|
||||||
3ee3
|
|
||||||
ArcticGalaxy123
|
|
||||||
snooze_mingo
|
|
||||||
LizzyLomnh
|
|
||||||
FaZeChulupa
|
|
||||||
LineZeeK
|
|
||||||
liabilaty
|
|
||||||
BlackSheep1610
|
|
||||||
Simif69
|
|
||||||
Aficionado
|
|
||||||
riekin
|
|
||||||
XLuggas
|
|
||||||
MathExams
|
|
||||||
6fq
|
|
||||||
Marveel
|
|
||||||
lolme51
|
|
||||||
TaioSayUwU
|
|
||||||
Fonklift
|
|
||||||
blvw
|
|
||||||
Po1204
|
|
||||||
Pierre_Rabbit
|
|
||||||
mifimasters
|
|
||||||
MrRidge1
|
|
||||||
arnqen
|
|
||||||
Nick_cage102
|
|
||||||
Geo_9918
|
|
||||||
SSShudder
|
|
||||||
Nicolas_Mom
|
|
||||||
WolfMatrix101
|
|
||||||
frictionless_
|
|
||||||
Gughik
|
|
||||||
gold_dragon_4
|
|
||||||
nealxero
|
|
||||||
ClonedPickle
|
|
||||||
SourWatermelonxX
|
|
||||||
devilunion
|
|
||||||
Daryifuny
|
|
||||||
joaomarcos11
|
|
||||||
Dekeef
|
|
||||||
PadfootTheDog
|
|
||||||
DarkScopez80
|
|
||||||
flowers220
|
|
||||||
Gaiiya
|
|
||||||
The_Yeet_
|
|
||||||
juuuuwu
|
|
||||||
MrMafioz
|
|
||||||
Surpasses
|
|
||||||
TypicalOwen
|
|
||||||
0lober
|
|
||||||
Zerfixy
|
|
||||||
Sunny3803b
|
|
||||||
neostanley
|
|
||||||
Creeper_Kart
|
|
||||||
minestin
|
|
||||||
Goldenfredster
|
|
||||||
Vju
|
|
||||||
MrArchI_YT
|
|
||||||
Casper1709
|
|
||||||
Backiii_
|
|
||||||
DrCreate
|
|
||||||
Nova_Lux1
|
|
||||||
Jayvin_Blanco
|
|
||||||
ShadowMan1770
|
|
||||||
0KOPO40K
|
|
||||||
Silk_Altermann69
|
|
||||||
Alu____
|
|
||||||
Honey_MilkExe112
|
|
||||||
T0XEI
|
|
||||||
CB_13
|
|
||||||
Paragorn
|
|
||||||
HaGiang
|
|
||||||
Shivendra8i
|
|
||||||
Mayflower47
|
|
||||||
Not_Someguy
|
|
||||||
raxx111bg
|
|
||||||
IceyGlaceon
|
|
||||||
grasseffect
|
|
||||||
PoopTNTpvp
|
|
||||||
codecyber
|
|
||||||
Shrumpkin13
|
|
||||||
Shqdown
|
|
||||||
Cmartin82
|
|
||||||
KTCXD_5p0tty
|
|
||||||
rockesalt
|
|
||||||
goldjeong
|
|
||||||
TheRealAKD
|
|
||||||
NamiSwaaan
|
|
||||||
yaaratol
|
|
||||||
Dikiy_Flexer
|
|
||||||
PoLecker24
|
|
||||||
_SakuraTree
|
|
||||||
PikkOgP0rno
|
|
||||||
HawksFang
|
|
||||||
BlueWinterWolf
|
|
||||||
hskmerk
|
|
||||||
gurmaw
|
|
||||||
Lunggor
|
|
||||||
clashfield
|
|
||||||
Zelaste
|
|
||||||
ACommonMouse
|
|
||||||
TJ_Mystery
|
|
||||||
Dizzy3312
|
|
||||||
Raindropsss
|
|
||||||
minecraftxiaoju
|
|
||||||
sachilovebbh
|
|
||||||
Celina_LaZyCxt
|
|
||||||
firered6
|
|
||||||
55000000
|
|
||||||
Illunarnati
|
|
||||||
Jedidiah2003
|
|
||||||
setomz1
|
|
||||||
basically_e
|
|
||||||
TommyGreif02
|
|
||||||
Bongrip42069
|
|
||||||
Coco_Keopi
|
|
||||||
Lt_Colt
|
|
||||||
Kuurotta
|
|
||||||
GqmeKnight
|
|
||||||
WinCo_Foods
|
|
||||||
FKDLZ
|
|
||||||
IanPumpkin
|
|
||||||
tastywtf
|
|
||||||
natedawg0
|
|
||||||
ZQLFenyx
|
|
||||||
GamerMaster110
|
|
||||||
papajobi9
|
|
||||||
Yucaroon
|
|
||||||
Xion_69
|
|
||||||
AirJaw
|
|
||||||
funfun321234
|
|
||||||
khalleesii
|
|
||||||
Pozisch
|
|
||||||
thorso15
|
|
||||||
kyumisoup
|
|
||||||
Leonqrd
|
|
||||||
BmwDreamer
|
|
||||||
TehRos
|
|
||||||
pitplayer69
|
|
||||||
_ve0
|
|
||||||
Miss_Yuka
|
|
||||||
I_am_a_Bucket
|
|
||||||
nicolas_bean
|
|
||||||
xHorizonGC
|
|
||||||
RTX3060_
|
|
||||||
Borec188
|
|
||||||
c8to
|
|
||||||
megan3groCENG
|
|
||||||
ventriloquize
|
|
||||||
galczin
|
|
||||||
Scorch3dEarth3d
|
|
||||||
nightstarLP
|
|
||||||
VittyGam3r
|
|
||||||
GLaDOS__
|
|
||||||
hydrelo
|
|
||||||
JustACarter
|
|
||||||
MikeDropperPlay
|
|
||||||
NorthernWest
|
|
||||||
_Skelesam_
|
|
||||||
ZX_Style
|
|
||||||
Tamas_Boi
|
|
||||||
taylub
|
|
||||||
VyacheslavO_O
|
|
||||||
trippyaubs
|
|
||||||
udtpic
|
|
||||||
Lunarglow
|
|
||||||
Stoolman
|
|
||||||
legendary_meow
|
|
||||||
Loganii
|
|
||||||
CaptainStain56
|
|
||||||
FoofieGeto
|
|
||||||
Judgeavapl
|
|
||||||
OneBigDigger
|
|
||||||
Sorem13
|
|
||||||
Raisonneur
|
|
||||||
IlkoalI
|
|
||||||
Naxa
|
|
||||||
craigbabyonebay
|
|
||||||
NicholasG04
|
|
||||||
UtopianCrisi
|
|
||||||
CalamarPasGenti
|
|
||||||
ryluh_
|
|
||||||
Aceslimz
|
|
||||||
Howardygh99927
|
|
||||||
brandon257
|
|
||||||
MarcoswildHD
|
|
||||||
x_XSkylerX_x
|
|
||||||
Bronco09
|
|
||||||
That_Kookie_
|
|
||||||
Danigtz
|
|
||||||
Ricky_lol
|
|
||||||
999keyt
|
|
||||||
Thilow15
|
|
||||||
Difesito
|
|
||||||
ostehovl
|
|
||||||
isacano_12
|
|
||||||
big_esra
|
|
||||||
secretbaguette
|
|
||||||
MrCommunism
|
|
||||||
Jekube
|
|
||||||
GrandeMaster
|
|
||||||
DrGrip
|
|
||||||
TheArnek
|
|
||||||
JacsMars
|
|
||||||
Lliam14
|
|
||||||
MrGameandWatch84
|
|
||||||
Rinzap
|
|
||||||
XrazzeD
|
|
||||||
ukknown
|
|
||||||
ZohanPrent
|
|
||||||
Naspo
|
|
||||||
Rajem
|
|
||||||
VepiGHG
|
|
||||||
matoureal
|
|
||||||
BrianChen87
|
|
||||||
Jrocky
|
|
||||||
stivo999
|
|
||||||
Des_cole
|
|
||||||
ReqGames
|
|
||||||
Kingja1912
|
|
||||||
issssyy
|
|
||||||
Apache424
|
|
||||||
Nick_Zockt_
|
|
||||||
Mr_Haider_10
|
|
||||||
ValentineBun
|
|
||||||
fedorPro228
|
|
||||||
xTilz
|
|
||||||
blockbuster02k
|
|
||||||
4ck
|
|
||||||
FrostedTree
|
|
||||||
VegasTortoise
|
|
||||||
ZBellaV12121
|
|
||||||
paypales
|
|
||||||
qDread
|
|
||||||
itsRiven
|
|
||||||
i8oreo
|
|
||||||
_kimcream_
|
|
||||||
Phisuss
|
|
||||||
Oscargray
|
|
||||||
Elsiff
|
|
||||||
callofdutydog00
|
|
||||||
BruhTheMoment
|
|
||||||
Pazmaa
|
|
||||||
MythicalOak
|
|
||||||
komuchi33
|
|
||||||
awf4
|
|
||||||
Jacobsaurus21
|
|
||||||
itsjohannaa
|
|
||||||
Jello12
|
|
||||||
Adrien183
|
|
||||||
jajazzywazzy
|
|
||||||
Jorjie22
|
|
||||||
SuperBrawlr5788
|
|
||||||
KaraageV
|
|
||||||
_Hanime_tv
|
|
||||||
Padilhao
|
|
||||||
Tikkas
|
|
||||||
ordinaryducky
|
|
||||||
Mothytix95
|
|
||||||
renopotouwu
|
|
||||||
1000voices
|
|
||||||
niclas05
|
|
||||||
Felipstein
|
|
||||||
DoutorBauer
|
|
||||||
FireballPlaysMC
|
|
||||||
vapelordsheep
|
|
||||||
Aboain
|
|
||||||
ImGrexy
|
|
||||||
Aivokolo
|
|
||||||
SuperAmazing101
|
|
||||||
va75a77a
|
|
||||||
_DawYans_
|
|
||||||
AceT1223
|
|
||||||
Livvyboo7
|
|
||||||
Saaaaaaaaaaaaans
|
|
||||||
okaychill
|
|
||||||
AwesomeBro1122
|
|
||||||
absolutesnek
|
|
||||||
jogie5000
|
|
||||||
curtainSenpai
|
|
||||||
gabbyisaloser
|
|
||||||
gamergurl6969
|
|
||||||
ZeusDk
|
|
||||||
FranaRibas
|
|
||||||
Discoboss
|
|
||||||
SYZ_1
|
|
||||||
Nakoe
|
|
||||||
FIU_Captive
|
|
||||||
xSiFan_
|
|
||||||
ilyDeathxz
|
|
||||||
da_fipsi
|
|
||||||
Lochy
|
|
||||||
The_Lavie37
|
|
||||||
Tonion
|
|
||||||
vnvrchy
|
|
||||||
xX0meg4Xx
|
|
||||||
haohxtheone
|
|
||||||
VtTronic
|
|
||||||
xDaniGum
|
|
||||||
tikkelill
|
|
||||||
DatYoshi
|
|
||||||
eyehamstewpit
|
|
||||||
nicholas460_
|
|
||||||
Memsly445
|
|
||||||
nugunugu
|
|
||||||
AndreSlayz
|
|
||||||
jashik1
|
|
||||||
Qweenoftheocean
|
|
||||||
Coltable
|
|
||||||
treblaclef
|
|
||||||
Kisaxx
|
|
||||||
69Dxddy69
|
|
||||||
RaulCuh
|
|
||||||
3Wheat
|
|
||||||
_OscarTheGrouch
|
|
||||||
oIsqk
|
|
||||||
Blockbusterweng
|
|
||||||
AntoineDegauss
|
|
||||||
ValeIsTheBest
|
|
||||||
SwaggyCrabby
|
|
||||||
DieOfSanity
|
|
||||||
SirenMC
|
|
||||||
Jade_Jewel
|
|
||||||
Tropic44
|
|
||||||
666splendor
|
|
||||||
TallnessTallness
|
|
||||||
breadgang9827
|
|
||||||
Muffin_Worlds
|
|
||||||
DedicatedVeggie
|
|
||||||
Gonzalox_7
|
|
||||||
datrandomasian
|
|
||||||
Chasemon01
|
|
||||||
Nyavix
|
|
||||||
Lonely_Summers
|
|
||||||
_RoveN
|
|
||||||
ok_kyro
|
|
||||||
LN_hunter
|
|
||||||
saharsabz
|
|
||||||
Roselilianna
|
|
||||||
Gadx
|
|
||||||
xtytan
|
|
||||||
RoRo_levosgien88
|
|
||||||
Bowsesqe_21
|
|
||||||
Bennett528
|
|
||||||
TheShipSailsWest
|
|
||||||
KaiserGaming
|
|
||||||
Layna_Shinozaki
|
|
||||||
OP_greatly
|
|
||||||
D3rpTaco
|
|
||||||
Loufink
|
|
||||||
Jorlmungus
|
|
||||||
Snichol1801
|
|
||||||
Ludixeo
|
|
||||||
Imoeto
|
|
||||||
MarshallNebunu
|
|
||||||
crazycrystals
|
|
||||||
Parapatus
|
|
||||||
HahaDani
|
|
||||||
MrQuaring
|
|
||||||
DonTurnt
|
|
||||||
SailorRoberts101
|
|
||||||
FluffieBear
|
|
||||||
TripleThick
|
|
||||||
KingSparta
|
|
||||||
MummysHome
|
|
||||||
Cooga3
|
|
||||||
Technosista
|
|
||||||
Youmerstudios
|
|
||||||
SkyyRaine
|
|
||||||
criss102
|
|
||||||
mrfailt
|
|
||||||
CraftingBasic
|
|
||||||
qnxkdifh
|
|
||||||
Igorex2k20
|
|
||||||
LaLisette
|
|
||||||
ReBoredGamer
|
|
||||||
warlordwest
|
|
||||||
ExoTemporal
|
|
||||||
KingLonmc
|
|
||||||
666Horus
|
|
||||||
IslandCity2
|
|
||||||
TheBigSavage1
|
|
||||||
Trishke2003
|
|
||||||
skyrowin
|
|
||||||
Krissy3D
|
|
||||||
AntonWTobias
|
|
||||||
SaddyWasTaken
|
|
||||||
Ahoy_Peko_Hao_Yo
|
|
||||||
T4nTr1Ss
|
|
||||||
aleciolike
|
|
||||||
ninja_shenley
|
|
||||||
Lordmord1337
|
|
||||||
eatmypoopfather
|
|
||||||
Ktanner
|
|
||||||
The42OWeedGOD
|
|
||||||
CooperBee
|
|
||||||
_MikuMiku_
|
|
||||||
althume
|
|
||||||
Tr3bba93
|
|
|
@ -1,21 +0,0 @@
|
||||||
name: Nicko
|
|
||||||
main: xyz.ineanto.nicko.Nicko
|
|
||||||
version: ${version}
|
|
||||||
author: Ineanto
|
|
||||||
description: "The feature packed, next generation disguise plugin for Minecraft."
|
|
||||||
api-version: 1.20
|
|
||||||
softdepend: [ PlaceholderAPI ]
|
|
||||||
depend:
|
|
||||||
- ProtocolLib
|
|
||||||
load: POSTWORLD
|
|
||||||
commands:
|
|
||||||
nicko:
|
|
||||||
description: "Opens Nicko's GUI."
|
|
||||||
permission: nicko.use
|
|
||||||
permissions:
|
|
||||||
nicko.*:
|
|
||||||
default: op
|
|
||||||
children:
|
|
||||||
- nicko.use
|
|
||||||
nicko.use:
|
|
||||||
default: false
|
|
|
@ -1,33 +0,0 @@
|
||||||
package xyz.ineanto.nicko.test;
|
|
||||||
|
|
||||||
import be.seeseemelk.mockbukkit.MockBukkit;
|
|
||||||
import org.junit.jupiter.api.AfterAll;
|
|
||||||
import org.junit.jupiter.api.BeforeAll;
|
|
||||||
import org.junit.jupiter.api.DisplayName;
|
|
||||||
import org.junit.jupiter.api.Test;
|
|
||||||
import xyz.ineanto.nicko.Nicko;
|
|
||||||
import xyz.ineanto.nicko.config.Configuration;
|
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
|
||||||
|
|
||||||
public class NickoPluginTest {
|
|
||||||
private static Nicko plugin;
|
|
||||||
|
|
||||||
@BeforeAll
|
|
||||||
public static void setup() {
|
|
||||||
final Configuration config = Configuration.DEFAULT;
|
|
||||||
MockBukkit.mock();
|
|
||||||
plugin = MockBukkit.load(Nicko.class, config);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
@DisplayName("Plugin Initialization")
|
|
||||||
public void initializePlugin() {
|
|
||||||
assertNotNull(plugin);
|
|
||||||
}
|
|
||||||
|
|
||||||
@AfterAll
|
|
||||||
public static void shutdown() {
|
|
||||||
MockBukkit.unmock();
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,38 +0,0 @@
|
||||||
package xyz.ineanto.nicko.test.appearance;
|
|
||||||
|
|
||||||
import be.seeseemelk.mockbukkit.MockBukkit;
|
|
||||||
import org.junit.jupiter.api.AfterAll;
|
|
||||||
import org.junit.jupiter.api.BeforeAll;
|
|
||||||
import org.junit.jupiter.api.DisplayName;
|
|
||||||
import org.junit.jupiter.api.Test;
|
|
||||||
import xyz.ineanto.nicko.Nicko;
|
|
||||||
import xyz.ineanto.nicko.appearance.random.RandomNameFetcher;
|
|
||||||
import xyz.ineanto.nicko.config.Configuration;
|
|
||||||
import xyz.ineanto.nicko.mojang.MojangUtils;
|
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.*;
|
|
||||||
|
|
||||||
public class RandomNameTest {
|
|
||||||
private static Nicko plugin;
|
|
||||||
|
|
||||||
@BeforeAll
|
|
||||||
public static void setup() {
|
|
||||||
final Configuration config = Configuration.DEFAULT;
|
|
||||||
MockBukkit.mock();
|
|
||||||
plugin = MockBukkit.load(Nicko.class, config);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
@DisplayName("Get random name")
|
|
||||||
public void getRandomName() {
|
|
||||||
final RandomNameFetcher randomNameFetcher = new RandomNameFetcher(plugin);
|
|
||||||
final String username = randomNameFetcher.getRandomUsername();
|
|
||||||
assertNotNull(username);
|
|
||||||
assertFalse(MojangUtils.isUsernameInvalid(username));
|
|
||||||
}
|
|
||||||
|
|
||||||
@AfterAll
|
|
||||||
public static void shutdown() {
|
|
||||||
MockBukkit.unmock();
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,35 +0,0 @@
|
||||||
package xyz.ineanto.nicko.test.config;
|
|
||||||
|
|
||||||
import be.seeseemelk.mockbukkit.MockBukkit;
|
|
||||||
import org.junit.jupiter.api.AfterAll;
|
|
||||||
import org.junit.jupiter.api.BeforeAll;
|
|
||||||
import org.junit.jupiter.api.DisplayName;
|
|
||||||
import org.junit.jupiter.api.Test;
|
|
||||||
import xyz.ineanto.nicko.Nicko;
|
|
||||||
import xyz.ineanto.nicko.config.Configuration;
|
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
|
||||||
|
|
||||||
public class ConfigurationTest {
|
|
||||||
private static Nicko plugin;
|
|
||||||
|
|
||||||
@BeforeAll
|
|
||||||
public static void setup() {
|
|
||||||
MockBukkit.mock();
|
|
||||||
final Configuration config = Configuration.DEFAULT;
|
|
||||||
plugin = MockBukkit.load(Nicko.class, config);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
@DisplayName("Read configuration")
|
|
||||||
public void readConfiguration() {
|
|
||||||
final Configuration configuration = plugin.getNickoConfig();
|
|
||||||
assertFalse(configuration.getSqlConfiguration().isEnabled());
|
|
||||||
assertFalse(configuration.getRedisConfiguration().isEnabled());
|
|
||||||
}
|
|
||||||
|
|
||||||
@AfterAll
|
|
||||||
public static void shutdown() {
|
|
||||||
MockBukkit.unmock();
|
|
||||||
}
|
|
||||||
}
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue