Skip to content

Commit ce182ff

Browse files
authored
Merge branch 'dev/feature' into feature/pdc_round_2
2 parents 350d220 + 410bb4a commit ce182ff

133 files changed

Lines changed: 7887 additions & 4042 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

build.gradle

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ allprojects {
2727
dependencies {
2828
shadow group: 'io.papermc', name: 'paperlib', version: '1.0.8'
2929
shadow group: 'org.bstats', name: 'bstats-bukkit', version: '3.1.0'
30-
shadow group: 'net.kyori', name: 'adventure-text-serializer-bungeecord', version: '4.4.1'
3130

3231
implementation group: 'io.papermc.paper', name: 'paper-api', version: '1.21.11-R0.1-SNAPSHOT'
3332
implementation group: 'com.google.code.findbugs', name: 'findbugs', version: '3.0.1'
@@ -105,7 +104,6 @@ tasks.withType(ShadowJar).configureEach {
105104
include(dependency('io.papermc:paperlib'))
106105
include(dependency('org.bstats:bstats-bukkit'))
107106
include(dependency('org.bstats:bstats-base'))
108-
include(dependency('net.kyori:adventure-text-serializer-bungeecord'))
109107
}
110108
relocate 'io.papermc.lib', 'ch.njol.skript.paperlib'
111109
relocate 'org.bstats', 'ch.njol.skript.bstats'

src/main/java/ch/njol/skript/ScriptLoader.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
import ch.njol.skript.structures.StructOptions.OptionsData;
1515
import ch.njol.skript.test.runner.TestMode;
1616
import ch.njol.skript.util.ExceptionUtils;
17-
import ch.njol.skript.util.SkriptColor;
1817
import ch.njol.skript.util.Task;
1918
import ch.njol.skript.util.Timespan;
2019
import ch.njol.skript.variables.HintManager;
@@ -24,6 +23,7 @@
2423
import org.jetbrains.annotations.ApiStatus;
2524
import org.jetbrains.annotations.Nullable;
2625
import org.jetbrains.annotations.UnknownNullability;
26+
import org.skriptlang.skript.bukkit.text.TextComponentParser;
2727
import org.skriptlang.skript.lang.script.Script;
2828
import org.skriptlang.skript.lang.script.ScriptWarning;
2929
import org.skriptlang.skript.lang.structure.Structure;
@@ -1036,7 +1036,7 @@ public static ArrayList<TriggerItem> loadItems(SectionNode node) {
10361036
}
10371037

10381038
if (Skript.debug() || subNode.debug())
1039-
Skript.debug(SkriptColor.replaceColorChar(parser.getIndentation() + item.toString(null, true)));
1039+
Skript.debug(TextComponentParser.instance().escape(parser.getIndentation() + item.toString(null, true)));
10401040

10411041
items.add(item);
10421042
} else if (subNode instanceof SectionNode subSection) {
@@ -1089,7 +1089,7 @@ public static ArrayList<TriggerItem> loadItems(SectionNode node) {
10891089
handler.clear();
10901090
handler.printLog();
10911091
if (item != null && (Skript.debug() || subNode.debug()))
1092-
Skript.debug(SkriptColor.replaceColorChar(parser.getIndentation() + item.toString(null, true)));
1092+
Skript.debug(TextComponentParser.instance().escape(parser.getIndentation() + item.toString(null, true)));
10931093
afterParse.printLog();
10941094
}
10951095

src/main/java/ch/njol/skript/Skript.java

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@
2626
import ch.njol.skript.update.ReleaseStatus;
2727
import ch.njol.skript.update.UpdateManifest;
2828
import ch.njol.skript.util.*;
29-
import ch.njol.skript.util.Date;
30-
import ch.njol.skript.util.chat.BungeeConverter;
3129
import ch.njol.skript.util.chat.ChatMessages;
3230
import ch.njol.skript.variables.Variables;
3331
import ch.njol.util.Closeable;
@@ -63,8 +61,10 @@
6361
import org.junit.runner.notification.Failure;
6462
import org.skriptlang.skript.bukkit.BukkitModule;
6563
import org.skriptlang.skript.bukkit.SkriptMetrics;
64+
import org.skriptlang.skript.bukkit.lang.eventvalue.EventValueRegistry;
6665
import org.skriptlang.skript.bukkit.log.runtime.BukkitRuntimeErrorConsumer;
6766
import org.skriptlang.skript.bukkit.registration.BukkitSyntaxInfos;
67+
import org.skriptlang.skript.bukkit.text.TextComponentParser;
6868
import org.skriptlang.skript.common.CommonModule;
6969
import org.skriptlang.skript.docs.Origin;
7070
import org.skriptlang.skript.lang.comparator.Comparator;
@@ -473,6 +473,11 @@ public void onEnable() {
473473
skript.storeRegistry(PropertyRegistry.class, new PropertyRegistry(this));
474474
Property.registerDefaultProperties();
475475

476+
EventValueRegistry eventValueRegistry = EventValueRegistry.empty(this);
477+
skript.storeRegistry(EventValueRegistry.class, eventValueRegistry);
478+
//noinspection removal
479+
EventValues.setEventValueRegistry(eventValueRegistry);
480+
476481
// Load classes which are always safe to use
477482
new JavaClasses(); // These may be needed in configuration
478483

@@ -539,7 +544,7 @@ public void onEnable() {
539544
skriptCommand.setTabCompleter(new SkriptCommandTabCompleter());
540545

541546
// Load Bukkit stuff. It is done after platform check, because something might be missing!
542-
new BukkitEventValues();
547+
BukkitEventValues.register(eventValueRegistry);
543548

544549
new DefaultComparators();
545550
new DefaultConverters();
@@ -798,8 +803,8 @@ public void run() {
798803
return;
799804

800805
Skript.info(player, SkriptUpdater.m_update_available.toString(update.id, Skript.getVersion()));
801-
player.spigot().sendMessage(BungeeConverter.convert(ChatMessages.parseToArray(
802-
"Download it at: <aqua><u><link:" + update.downloadUrl + ">" + update.downloadUrl)));
806+
player.sendMessage(TextComponentParser.instance()
807+
.parse("Download it at: <aqua><underlined><click:open_url:" + update.downloadUrl + ">" + update.downloadUrl));
803808
}
804809
};
805810
}
@@ -2134,7 +2139,7 @@ private static void logCurrentState(@Nullable Thread thread, @Nullable TriggerIt
21342139
}
21352140
logEx("Thread: " + (thread == null ? Thread.currentThread() : thread).getName());
21362141
logEx("Language: " + Language.getName());
2137-
logEx("Link parse mode: " + ChatMessages.linkParseMode);
2142+
logEx("Link parse mode: " + TextComponentParser.instance().linkParseMode());
21382143
}
21392144

21402145
static void logEx() {
@@ -2153,7 +2158,7 @@ public static String getSkriptPrefix() {
21532158
}
21542159

21552160
public static void info(final CommandSender sender, final String info) {
2156-
sender.sendMessage(Utils.replaceEnglishChatStyles(getSkriptPrefix() + info));
2161+
sender.sendMessage(TextComponentParser.instance().parseSafe(getSkriptPrefix() + info));
21572162
}
21582163

21592164
/**
@@ -2162,7 +2167,7 @@ public static void info(final CommandSender sender, final String info) {
21622167
* @see #adminBroadcast(String)
21632168
*/
21642169
public static void broadcast(final String message, final String permission) {
2165-
Bukkit.broadcast(Utils.replaceEnglishChatStyles(getSkriptPrefix() + message), permission);
2170+
Bukkit.broadcast(TextComponentParser.instance().parseSafe(getSkriptPrefix() + message), permission);
21662171
}
21672172

21682173
public static void adminBroadcast(final String message) {
@@ -2176,11 +2181,11 @@ public static void adminBroadcast(final String message) {
21762181
* @param info
21772182
*/
21782183
public static void message(final CommandSender sender, final String info) {
2179-
sender.sendMessage(Utils.replaceEnglishChatStyles(info));
2184+
sender.sendMessage(TextComponentParser.instance().parseSafe(info));
21802185
}
21812186

21822187
public static void error(final CommandSender sender, final String error) {
2183-
sender.sendMessage(Utils.replaceEnglishChatStyles(getSkriptPrefix() + ChatColor.DARK_RED + error));
2188+
sender.sendMessage(TextComponentParser.instance().parseSafe(getSkriptPrefix() + "<dark_red>" + error));
21842189
}
21852190

21862191
/**

src/main/java/ch/njol/skript/SkriptCommand.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ private static void reloading(CommandSender sender, String what, RedirectingLogH
8888

8989
// Log reloading message
9090
String text = Language.format(CONFIG_NODE + ".reload." + "player reload", sender.getName(), what);
91-
logHandler.log(new LogEntry(Level.INFO, Utils.replaceEnglishChatStyles(text)), sender);
91+
logHandler.log(new LogEntry(Level.INFO, text), sender);
9292
}
9393

9494
private static final ArgsMessage m_reloaded = new ArgsMessage(CONFIG_NODE + ".reload.reloaded");
@@ -101,10 +101,10 @@ private static void reloaded(CommandSender sender, RedirectingLogHandler logHand
101101
String message;
102102
if (logHandler.numErrors() == 0) {
103103
message = StringUtils.fixCapitalization(PluralizingArgsMessage.format(m_reloaded.toString(what, timeTaken)));
104-
logHandler.log(new LogEntry(Level.INFO, Utils.replaceEnglishChatStyles(message)));
104+
logHandler.log(new LogEntry(Level.INFO, message));
105105
} else {
106106
message = StringUtils.fixCapitalization(PluralizingArgsMessage.format(m_reload_error.toString(what, logHandler.numErrors(), timeTaken)));
107-
logHandler.log(new LogEntry(Level.SEVERE, Utils.replaceEnglishChatStyles(message)));
107+
logHandler.log(new LogEntry(Level.SEVERE, message));
108108
}
109109
}
110110

src/main/java/ch/njol/skript/SkriptConfig.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,13 @@
1919
import ch.njol.skript.util.FileUtils;
2020
import ch.njol.skript.util.Timespan;
2121
import ch.njol.skript.util.Version;
22-
import ch.njol.skript.util.chat.ChatMessages;
23-
import ch.njol.skript.util.chat.LinkParseMode;
2422
import ch.njol.skript.variables.FlatFileStorage;
2523
import ch.njol.skript.variables.Variables;
2624
import co.aikar.timings.Timings;
2725
import org.bukkit.event.EventPriority;
2826
import org.jetbrains.annotations.Nullable;
27+
import org.skriptlang.skript.bukkit.text.TextComponentParser;
28+
import org.skriptlang.skript.bukkit.text.TextComponentParser.LinkParseMode;
2929
import org.skriptlang.skript.util.event.EventRegistry;
3030

3131
import java.io.File;
@@ -246,17 +246,17 @@ public static String formatDate(final long timestamp) {
246246
switch (t) {
247247
case "false":
248248
case "disabled":
249-
ChatMessages.linkParseMode = LinkParseMode.DISABLED;
249+
TextComponentParser.instance().linkParseMode(LinkParseMode.DISABLED);
250250
break;
251251
case "true":
252252
case "lenient":
253-
ChatMessages.linkParseMode = LinkParseMode.LENIENT;
253+
TextComponentParser.instance().linkParseMode(LinkParseMode.LENIENT);
254254
break;
255255
case "strict":
256-
ChatMessages.linkParseMode = LinkParseMode.STRICT;
256+
TextComponentParser.instance().linkParseMode(LinkParseMode.STRICT);
257257
break;
258258
default:
259-
ChatMessages.linkParseMode = LinkParseMode.DISABLED;
259+
TextComponentParser.instance().linkParseMode(LinkParseMode.DISABLED);
260260
Skript.warning("Unknown link parse mode: " + t + ", please use disabled, strict or lenient");
261261
}
262262
} catch (Error e) {
@@ -273,7 +273,7 @@ public static String formatDate(final long timestamp) {
273273
public static final Option<Boolean> colorResetCodes = new Option<>("color codes reset formatting", true)
274274
.setter(t -> {
275275
try {
276-
ChatMessages.colorResetCodes = t;
276+
TextComponentParser.instance().colorsCauseReset(t);
277277
} catch (Error e) {
278278
// Ignore it, we're on unsupported server platform and class loading failed
279279
}

src/main/java/ch/njol/skript/SkriptUpdater.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@
1313
import ch.njol.skript.update.ReleaseStatus;
1414
import ch.njol.skript.update.UpdateManifest;
1515
import ch.njol.skript.update.Updater;
16-
import ch.njol.skript.util.chat.BungeeConverter;
17-
import ch.njol.skript.util.chat.ChatMessages;
16+
import org.skriptlang.skript.bukkit.text.TextComponentParser;
1817

1918
/**
2019
* Skript's update checker.
@@ -80,8 +79,8 @@ public CompletableFuture<Void> updateCheck(CommandSender sender) {
8079
UpdateManifest update = getUpdateManifest();
8180
assert update != null; // Because we just checked that one is available
8281
Skript.info(sender, "" + m_update_available.toString(update.id, Skript.getVersion()));
83-
sender.spigot().sendMessage(BungeeConverter.convert(ChatMessages.parseToArray(
84-
"Download it at: <aqua><u><link:" + update.downloadUrl + ">" + update.downloadUrl)));
82+
sender.sendMessage(TextComponentParser.instance()
83+
.parse("Download it at: <aqua><underlined><click:open_url:" + update.downloadUrl + ">" + update.downloadUrl));
8584
break;
8685
case UNKNOWN:
8786
if (isEnabled()) {
@@ -130,14 +129,14 @@ public CompletableFuture<Void> changesCheck(CommandSender sender) {
130129
if (issue.length() > 0) {
131130
// TODO get issue tracker URL from manifest or something
132131
processed = processed.replace("#" + issue,
133-
"<aqua><u><link:https://github.com/SkriptLang/Skript/issues/"
132+
"<aqua><underlined><click:open_url:https://github.com/SkriptLang/Skript/issues/"
134133
+ issue + ">#" + issue + "<r>");
135134
}
136135
}
137136
line = processed;
138137

139138
assert line != null;
140-
sender.spigot().sendMessage(BungeeConverter.convert(ChatMessages.parseToArray(line)));
139+
sender.sendMessage(TextComponentParser.instance().parse(line));
141140
}
142141
}
143142
}

src/main/java/ch/njol/skript/aliases/ItemType.java

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import ch.njol.yggdrasil.Fields.FieldContext;
2424
import ch.njol.yggdrasil.YggdrasilSerializable.YggdrasilExtendedSerializable;
2525
import com.google.common.collect.Iterators;
26+
import net.kyori.adventure.text.Component;
2627
import org.bukkit.*;
2728
import org.bukkit.block.Block;
2829
import org.bukkit.block.BlockState;
@@ -38,6 +39,7 @@
3839
import org.bukkit.inventory.meta.SkullMeta;
3940
import org.jetbrains.annotations.NotNull;
4041
import org.jetbrains.annotations.Nullable;
42+
import org.jetbrains.annotations.UnknownNullability;
4143

4244
import java.io.NotSerializableException;
4345
import java.io.StreamCorruptedException;
@@ -1635,6 +1637,12 @@ public ItemType getBaseType() {
16351637
return meta.hasDisplayName() ? meta.getDisplayName() : null;
16361638
}
16371639

1640+
@Override
1641+
public @UnknownNullability Component nameComponent() {
1642+
ItemMeta meta = this.getItemMeta();
1643+
return meta.hasDisplayName() ? meta.displayName() : null;
1644+
}
1645+
16381646
@Override
16391647
public boolean supportsNameChange() {
16401648
return true;
@@ -1647,6 +1655,13 @@ public void setName(String name) {
16471655
this.setItemMeta(meta);
16481656
}
16491657

1658+
@Override
1659+
public void setName(Component name) {
1660+
ItemMeta meta = this.getItemMeta();
1661+
meta.displayName(name);
1662+
this.setItemMeta(meta);
1663+
}
1664+
16501665
@Override
16511666
public @NotNull Number amount() {
16521667
return this.getAmount();
@@ -1658,7 +1673,7 @@ public boolean supportsAmountChange() {
16581673
}
16591674

16601675
@Override
1661-
public void setAmount(@Nullable Number amount) throws UnsupportedOperationException {
1676+
public void setAmount(@Nullable Number amount) {
16621677
this.setAmount(amount != null ? amount.intValue() : 0);
16631678
}
16641679

src/main/java/ch/njol/skript/classes/data/BukkitClasses.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import ch.njol.skript.util.BlockUtils;
1515
import ch.njol.yggdrasil.Fields;
1616
import io.papermc.paper.world.MoonPhase;
17+
import net.kyori.adventure.text.Component;
1718
import org.bukkit.*;
1819
import org.bukkit.World.Environment;
1920
import org.bukkit.attribute.Attribute;
@@ -296,7 +297,7 @@ public String toVariableNameString(final CommandSender s) {
296297
.property(Property.NAME,
297298
"A command sender's name, as text. Cannot be changed.",
298299
Skript.instance(),
299-
ExpressionPropertyHandler.of(CommandSender::getName, String.class)
300+
ExpressionPropertyHandler.of(CommandSender::name, Component.class)
300301
));
301302

302303
Classes.registerClass(new NameableClassInfo());

0 commit comments

Comments
 (0)