9
0
mirror of https://github.com/VolmitSoftware/Iris.git synced 2025-12-27 19:19:07 +00:00

Attempt to deal with adventure api failing now... until it gets fixed.

This commit is contained in:
cyberpwn
2021-09-08 06:34:34 -04:00
parent 6c116e261d
commit 621155f06f
4 changed files with 98 additions and 5 deletions

View File

@@ -54,6 +54,8 @@ import com.volmit.iris.util.scheduling.J;
import com.volmit.iris.util.scheduling.Queue;
import com.volmit.iris.util.scheduling.ShurikenQueue;
import io.papermc.lib.PaperLib;
import net.kyori.adventure.audience.Audience;
import net.kyori.adventure.key.Key;
import net.kyori.adventure.platform.bukkit.BukkitAudiences;
import net.kyori.adventure.text.serializer.ComponentSerializer;
import org.bukkit.Bukkit;
@@ -67,12 +69,15 @@ import org.bukkit.event.HandlerList;
import org.bukkit.event.Listener;
import org.bukkit.generator.ChunkGenerator;
import org.bukkit.plugin.Plugin;
import org.jetbrains.annotations.NotNull;
import java.io.*;
import java.lang.annotation.Annotation;
import java.net.URL;
import java.util.Date;
import java.util.Map;
import java.util.UUID;
import java.util.function.Predicate;
@SuppressWarnings("CanBeFinal")
public class Iris extends VolmitPlugin implements Listener {
@@ -103,7 +108,7 @@ public class Iris extends VolmitPlugin implements Listener {
}
private void enable() {
audiences = BukkitAudiences.create(this);
setupAudience();
sender = new VolmitSender(Bukkit.getConsoleSender());
sender.setTag(getTag());
instance = this;
@@ -116,6 +121,78 @@ public class Iris extends VolmitPlugin implements Listener {
services.values().forEach(this::registerListener);
}
private void setupAudience() {
try
{
audiences = BukkitAudiences.create(this);
}
catch(Throwable e)
{
e.printStackTrace();
Audience dummy = new Audience() {};
IrisSettings.get().getGeneral().setUseConsoleCustomColors(false);
IrisSettings.get().getGeneral().setUseCustomColorsIngame(false);
Iris.error("Failed to setup Adventure API... No custom colors :(");
audiences = new BukkitAudiences() {
@Override
public @NotNull Audience sender(@NotNull CommandSender sender) {
return dummy;
}
@Override
public @NotNull Audience player(@NotNull Player player) {
return dummy;
}
@Override
public @NotNull Audience filter(@NotNull Predicate<CommandSender> filter) {
return dummy;
}
@Override
public @NotNull Audience all() {
return dummy;
}
@Override
public @NotNull Audience console() {
return dummy;
}
@Override
public @NotNull Audience players() {
return dummy;
}
@Override
public @NotNull Audience player(@NotNull UUID playerId) {
return dummy;
}
@Override
public @NotNull Audience permission(@NotNull String permission) {
return dummy;
}
@Override
public @NotNull Audience world(@NotNull Key world) {
return dummy;
}
@Override
public @NotNull Audience server(@NotNull String serverName) {
return dummy;
}
@Override
public void close() {
}
};
}
}
public void postShutdown(Runnable r) {
postShutdown.add(r);
}

View File

@@ -31,6 +31,7 @@ import com.volmit.iris.engine.actuator.IrisTerrainNormalActuator;
import com.volmit.iris.engine.data.cache.AtomicCache;
import com.volmit.iris.engine.framework.*;
import com.volmit.iris.engine.mantle.EngineMantle;
import com.volmit.iris.engine.modifier.IrisBodyModifier;
import com.volmit.iris.engine.modifier.IrisCarveModifier;
import com.volmit.iris.engine.modifier.IrisDepositModifier;
import com.volmit.iris.engine.modifier.IrisPostModifier;
@@ -184,12 +185,14 @@ public class IrisEngine implements Engine {
var cave = new IrisCarveModifier(this);
var post = new IrisPostModifier(this);
var deposit = new IrisDepositModifier(this);
var bodies = new IrisBodyModifier(this);
registerStage((x, z, k, p, m) -> getMantle().generateMatter(x >> 4, z >> 4, m));
registerStage((x, z, k, p, m) -> terrain.actuate(x, z, k, m));
registerStage((x, z, k, p, m) -> biome.actuate(x, z, p, m));
registerStage((x, z, k, p, m) -> decorant.actuate(x, z, k, m));
registerStage((x, z, k, p, m) -> cave.modify(x >> 4, z >> 4, k, m));
registerStage((x, z, k, p, m) -> bodies.modify(x >> 4, z >> 4, k, m));
registerStage((x, z, k, p, m) -> decorant.actuate(x, z, k, m));
registerStage((x, z, k, p, m) -> post.modify(x, z, k, m));
registerStage((x, z, k, p, m) -> deposit.modify(x, z, k, m));
registerStage((x, z, K, p, m) -> getMantle().insertMatter(x >> 4, z >> 4, BlockData.class, K, m));

View File

@@ -37,6 +37,7 @@ import net.kyori.adventure.title.Title;
import org.bukkit.Server;
import org.bukkit.Sound;
import org.bukkit.command.CommandSender;
import org.bukkit.command.ConsoleCommandSender;
import org.bukkit.entity.Player;
import org.bukkit.permissions.Permission;
import org.bukkit.permissions.PermissionAttachment;
@@ -315,8 +316,14 @@ public class VolmitSender implements CommandSender {
return;
}
if((!IrisSettings.get().getGeneral().isUseCustomColorsIngame() && s instanceof Player) || !IrisSettings.get().getGeneral().isUseConsoleCustomColors())
{
s.sendMessage(C.translateAlternateColorCodes('&', getTag() + message));
return;
}
if (message.contains("<NOMINI>")) {
s.sendMessage(message.replaceAll("\\Q<NOMINI>\\E", ""));
s.sendMessage(C.translateAlternateColorCodes('&', getTag() + message.replaceAll("\\Q<NOMINI>\\E", "")));
return;
}
@@ -340,6 +347,12 @@ public class VolmitSender implements CommandSender {
return;
}
if((!IrisSettings.get().getGeneral().isUseCustomColorsIngame() && s instanceof Player) || !IrisSettings.get().getGeneral().isUseConsoleCustomColors())
{
s.sendMessage(C.translateAlternateColorCodes('&', message));
return;
}
if (message.contains("<NOMINI>")) {
s.sendMessage(message.replaceAll("\\Q<NOMINI>\\E", ""));
return;