Skip to content
Open
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
3 changes: 2 additions & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
pluginName=FancyTags
version=unspecified
version=0.1.0-SNAPSHOT
org.gradle.java.home=C:/Program Files/Eclipse Adoptium/jdk-21.0.2.13-hotspot
5 changes: 5 additions & 0 deletions paper/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,15 @@ repositories {
name = "papermc-repo"
url = "https://repo.papermc.io/repository/maven-public/"
}
maven {
name = "arim-mvn-lgpl3"
url = "https://mvn-repo.arim.space/lesser-gpl3/"
}
}

dependencies {
compileOnly("io.papermc.paper:paper-api:1.21.11-R0.1-SNAPSHOT")
implementation("space.arim.morepaperlib:morepaperlib:0.4.3")
implementation("org.bstats:bstats-bukkit:3.0.2")
implementation(project(":common"))
implementation(project(":plugin"))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,8 @@

package dev.vatten.baserad;

import org.bukkit.scheduler.BukkitTask;

public class BukkitScheduledTask extends ScheduledTask<BukkitTask> {
public BukkitScheduledTask(BukkitTask task) {
public class BukkitScheduledTask extends ScheduledTask<space.arim.morepaperlib.scheduling.ScheduledTask> {
public BukkitScheduledTask(space.arim.morepaperlib.scheduling.ScheduledTask task) {
super(task);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ public boolean persist() {
@Override
public @Nullable String onPlaceholderRequest(Player player, @NotNull String params) {
if(plugin.getTagStore().getTagNames().contains(params)) {
return plugin.getMiniMessage().serialize(plugin.getTagStore().getTag(params).asComponent());
return plugin.getTagStore().getTag(params).asMiniMessage();
}
return null;
}
Expand Down
16 changes: 12 additions & 4 deletions paper/src/main/java/dev/vatten/baserad/PaperVattenPlatform.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,16 +30,18 @@
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scheduler.BukkitTask;
import org.jspecify.annotations.Nullable;
import space.arim.morepaperlib.MorePaperLib;

import java.util.Collection;

public class PaperVattenPlatform extends JavaPlugin implements VattenPlatform<Player, BukkitTask>, Listener {
public class PaperVattenPlatform extends JavaPlugin implements VattenPlatform<Player, space.arim.morepaperlib.scheduling.ScheduledTask>, Listener {
private VattenPlugin plugin;
private MorePaperLib morePaperLib;

@Override
public void onEnable() {
this.morePaperLib = new MorePaperLib(this);
this.plugin = new Plugin(
this,
VattenPlugin.Type.SERVER,
Expand All @@ -62,12 +64,14 @@ public void onEnable() {

@Override
public BukkitScheduledTask scheduleTask(Runnable runnable, int delay) {
return new BukkitScheduledTask(getServer().getScheduler().runTaskLater(this, runnable, delay/50));
long initialDelayTicks = Math.max(1L, delay / 50L);
return new BukkitScheduledTask(morePaperLib.scheduling().globalRegionalScheduler().runDelayed(runnable, initialDelayTicks));
}

@Override
public BukkitScheduledTask scheduleRepeatingTask(Runnable runnable, int delay, int period) {
return new BukkitScheduledTask(getServer().getScheduler().runTaskTimer(this, runnable, delay/50, period/50));
long initialDelayTicks = Math.max(1L, delay / 50L);
return new BukkitScheduledTask(morePaperLib.scheduling().globalRegionalScheduler().runAtFixedRate(runnable, initialDelayTicks, period / 50L));
}

@Override
Expand Down Expand Up @@ -111,4 +115,8 @@ public void onPlayerLeave(PlayerQuitEvent event) {
public void onPlayerLoadedIn(PlayerClientLoadedWorldEvent event) {
plugin.getEventHandler().dispatchEvent(new PlayerLoadInEvent(wrapPlayer(event.getPlayer())));
}

public VattenPlugin getPlugin() {
return this.plugin;
}
}
1 change: 1 addition & 0 deletions paper/src/main/resources/paper-plugin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ name: "${pluginName}"
version: "${version}"
main: "dev.vatten.baserad.PaperVattenPlatform"
api-version: '1.21.11'
folia-supported: true

dependencies:
server:
Expand Down
13 changes: 11 additions & 2 deletions plugin/src/main/java/dev/vatten/baserad/Plugin.java
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
import java.util.function.Consumer;

public class Plugin extends VattenPlugin {
private MiniMessage MINIMESSAGE = null;
private MiniMessage MINIMESSAGE;
private ConfigInstance<PluginConfig> PLUGIN_CONFIG;
private ConfigInstance<TagsConfig> TAGS_CONFIG;
@Getter
Expand Down Expand Up @@ -75,7 +75,7 @@ protected void onEnable() {

getEventHandler().registerEventHandler(PlayerLoadInEvent.class, this::onPlayerLoadIn);

MINIMESSAGE = MiniMessage.builder().tags(TagResolver.builder().resolver(StandardTags.defaults()).resolver(TagResolver.resolver("fancytags", (ArgumentQueue queue, Context ctx) -> Tag.selfClosingInserting(getTagStore().getTag(queue.pop().value()).asComponent()))).resolver(TagResolver.resolver("fancytags_internal", (ArgumentQueue queue, Context ctx) -> Tag.selfClosingInserting(getInternalTagStore().getTag(queue.pop().value()).asComponent()))).build()).build();
getMiniMessage();
}

@Override
Expand Down Expand Up @@ -128,6 +128,15 @@ TagsConfig getTagsConfig() {
}

public MiniMessage getMiniMessage() {
if(MINIMESSAGE == null) {
MINIMESSAGE = MiniMessage.builder()
.tags(TagResolver.builder()
.resolver(StandardTags.defaults())
.resolver(TagResolver.resolver("fancytags", (ArgumentQueue queue, Context ctx) -> Tag.selfClosingInserting(getTagStore().getTag(queue.pop().value()).asComponent())))
.resolver(TagResolver.resolver("fancytags_internal", (ArgumentQueue queue, Context ctx) -> Tag.selfClosingInserting(getInternalTagStore().getTag(queue.pop().value()).asComponent())))
.build()
).build();
}
return MINIMESSAGE;
}

Expand Down
4 changes: 3 additions & 1 deletion plugin/src/main/java/dev/vatten/baserad/Tag.java
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,13 @@ public Tag(List<Symbol> symbols) {

Component serialize(MiniMessage miniMessage) {
TextComponent.Builder componentBuilder = Component.text();
StringBuilder minimessageBuilder = new StringBuilder();
for(Symbol symbol : symbols) {
componentBuilder.append(symbol.serialize());
minimessageBuilder.append(symbol.serializeMiniMessage());
}
this.component = componentBuilder.build();
this.miniMessage = miniMessage.serialize(this.component);
this.miniMessage = minimessageBuilder.toString();
return this.component;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,4 +37,9 @@ public AtlasSymbol(String atlas, String sprite) {
public Component serialize() {
return Component.object(ObjectContents.sprite(Key.key(this.atlas), Key.key(this.sprite)));
}

@Override
public String serializeMiniMessage() {
return "<sprite:" + this.atlas + ":" + this.sprite + ">";
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -37,4 +37,9 @@ public PlayerSymbol(String value, String signature) {
public Component serialize() {
return Component.object(ObjectContents.playerHead().profileProperty(PlayerHeadObjectContents.property("textures", this.value, this.signature)).build());
}

@Override
public String serializeMiniMessage() {
return "<signed_head:" + this.value + ":" + this.signature + ">";
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,5 @@
@Configuration
public abstract class Symbol {
public abstract Component serialize();
public abstract String serializeMiniMessage();
}