Skip to content

Commit 45253cc

Browse files
committed
Paper API migration
1 parent ef8984e commit 45253cc

File tree

9 files changed

+60
-63
lines changed

9 files changed

+60
-63
lines changed

.deepsource.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@ name = "java"
55
enabled = true
66

77
[analyzers.meta]
8-
runtime_version = "8"
8+
runtime_version = "21"

.github/workflows/maven.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# This workflow will build a Java project with Maven
2+
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
3+
4+
name: Build with Maven
5+
6+
on:
7+
push:
8+
branches: [ master ]
9+
pull_request:
10+
branches: [ master ]
11+
12+
jobs:
13+
build:
14+
15+
runs-on: ubuntu-latest
16+
17+
steps:
18+
- uses: actions/checkout@v4
19+
- name: Set up JDK 21
20+
uses: actions/setup-java@v4
21+
with:
22+
distribution: temurin
23+
java-version: 21
24+
- name: Build with Maven
25+
run: mvn -B package --file pom.xml

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
<h1 align="center">TimeBar</h1>
22

33
<p align="center">
4-
<img src="https://img.shields.io/badge/Minecraft-1.19--1.20.6-orange" alt="Minecraft versions">
4+
<img src="https://img.shields.io/badge/Minecraft-1.21--1.21.4-orange" alt="Minecraft versions">
55
<img src="https://img.shields.io/github/v/release/hyperdefined/TimeBar" alt="GitHub release (latest by date)">
66
<a href="https://github.com/hyperdefined/TimeBar/releases"><img src="https://img.shields.io/github/downloads/hyperdefined/TimeBar/total?logo=github" alt="Downloads"></a>
77
<a href="https://ko-fi.com/hyperdefined"><img src="https://img.shields.io/badge/Donate-Ko--fi-red" alt="Donate via Ko-fi"></a>
8+
<img alt="Discord" src="https://img.shields.io/discord/1267600843356639413?style=flat&logo=discord&label=Discord">
89
<a href="https://www.gnu.org/licenses/gpl-3.0"><img src="https://img.shields.io/badge/License-GPLv3-blue.svg" alt="License: GPL v3"></a>
910
</p>
1011

pom.xml

Lines changed: 8 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
<name>TimeBar</name>
3030

3131
<properties>
32-
<java.version>17</java.version>
32+
<java.version>21</java.version>
3333
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
3434
</properties>
3535

@@ -67,10 +67,6 @@
6767
<pattern>org.bstats</pattern>
6868
<shadedPattern>lol.hyper.timebar.bstats</shadedPattern>
6969
</relocation>
70-
<relocation>
71-
<pattern>net.kyori</pattern>
72-
<shadedPattern>lol.hyper.timebar.adventure</shadedPattern>
73-
</relocation>
7470
<relocation>
7571
<pattern>lol.hyper.githubreleaseapi</pattern>
7672
<shadedPattern>lol.hyper.timebar.updater</shadedPattern>
@@ -97,8 +93,8 @@
9793

9894
<repositories>
9995
<repository>
100-
<id>spigotmc-repo</id>
101-
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
96+
<id>papermc</id>
97+
<url>https://repo.papermc.io/repository/maven-public/</url>
10298
</repository>
10399
<repository>
104100
<id>placeholderapi</id>
@@ -108,9 +104,9 @@
108104

109105
<dependencies>
110106
<dependency>
111-
<groupId>org.spigotmc</groupId>
112-
<artifactId>spigot-api</artifactId>
113-
<version>1.19.4-R0.1-SNAPSHOT</version>
107+
<groupId>io.papermc.paper</groupId>
108+
<artifactId>paper-api</artifactId>
109+
<version>1.21.4-R0.1-SNAPSHOT</version>
114110
<scope>provided</scope>
115111
</dependency>
116112
<dependency>
@@ -125,22 +121,12 @@
125121
<version>1.0.5</version>
126122
<scope>compile</scope>
127123
</dependency>
128-
<dependency>
129-
<groupId>net.kyori</groupId>
130-
<artifactId>adventure-text-minimessage</artifactId>
131-
<version>4.17.0</version>
132-
</dependency>
133-
<dependency>
134-
<groupId>net.kyori</groupId>
135-
<artifactId>adventure-platform-bukkit</artifactId>
136-
<version>4.3.4</version>
137-
</dependency>
138124
<dependency>
139125
<groupId>me.casperge.realisticseasons</groupId>
140126
<artifactId>RealisticSeasons</artifactId>
141-
<version>10.5.1</version>
127+
<version>11.5.2</version>
142128
<scope>system</scope>
143-
<systemPath>${project.basedir}/RealisticSeasons-10.5.1.jar</systemPath>
129+
<systemPath>${project.basedir}/RealisticSeasons-11.5.2.jar</systemPath>
144130
</dependency>
145131
<dependency>
146132
<groupId>net.advancedplugins</groupId>

src/main/java/lol/hyper/timebar/TimeBar.java

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
import lol.hyper.timebar.papi.TimeBarExpansion;
2626
import lol.hyper.timebar.tracker.WorldTimeTracker;
2727
import net.kyori.adventure.bossbar.BossBar;
28-
import net.kyori.adventure.platform.bukkit.BukkitAudiences;
2928
import net.kyori.adventure.text.minimessage.MiniMessage;
3029
import org.bstats.bukkit.Metrics;
3130
import org.bukkit.Bukkit;
@@ -54,7 +53,6 @@ public final class TimeBar extends JavaPlugin {
5453
public final List<WorldTimeTracker> worldTimeTrackers = new ArrayList<>();
5554

5655
public final MiniMessage miniMessage = MiniMessage.miniMessage();
57-
private BukkitAudiences adventure;
5856

5957
public PlayerJoinLeave playerJoinLeave;
6058
public WorldChange worldChange;
@@ -67,8 +65,6 @@ public final class TimeBar extends JavaPlugin {
6765

6866
@Override
6967
public void onEnable() {
70-
adventure = BukkitAudiences.create(this);
71-
7268
if (Bukkit.getPluginManager().getPlugin("PlaceholderAPI") != null) {
7369
papiSupport = true;
7470
logger.info("PlaceholderAPI is detected! Enabling support.");
@@ -200,7 +196,7 @@ public void checkForUpdates() {
200196
e.printStackTrace();
201197
return;
202198
}
203-
GitHubRelease current = api.getReleaseByTag(this.getDescription().getVersion());
199+
GitHubRelease current = api.getReleaseByTag(this.getPluginMeta().getVersion());
204200
GitHubRelease latest = api.getLatestVersion();
205201
if (current == null) {
206202
logger.warning("You are running a version that does not exist on GitHub. If you are in a dev environment, you can ignore this. Otherwise, this is a bug!");
@@ -214,13 +210,6 @@ public void checkForUpdates() {
214210
}
215211
}
216212

217-
public BukkitAudiences getAdventure() {
218-
if (this.adventure == null) {
219-
throw new IllegalStateException("Tried to access Adventure when the plugin was disabled!");
220-
}
221-
return this.adventure;
222-
}
223-
224213
public WorldTimeTracker getPlayerTracker(Player player) {
225214
return worldTimeTrackers.stream().filter(worldTimeTracker -> worldTimeTracker.worldGroup().contains(player.getWorld())).findFirst().orElse(null);
226215
}

src/main/java/lol/hyper/timebar/commands/CommandTimeBar.java

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919

2020
import lol.hyper.timebar.TimeBar;
2121
import lol.hyper.timebar.tracker.WorldTimeTracker;
22-
import net.kyori.adventure.platform.bukkit.BukkitAudiences;
2322
import net.kyori.adventure.text.Component;
2423
import net.kyori.adventure.text.format.NamedTextColor;
2524
import org.bukkit.Bukkit;
@@ -36,23 +35,21 @@
3635

3736
public class CommandTimeBar implements TabExecutor {
3837

39-
private final TimeBar timeBar;
40-
private final BukkitAudiences audiences;
38+
private final TimeBar timeBar;;
4139

4240
public CommandTimeBar(TimeBar timeBar) {
4341
this.timeBar = timeBar;
44-
this.audiences = timeBar.getAdventure();
4542
}
4643

4744
@Override
4845
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, String[] args) {
4946
if (args.length == 0) {
50-
audiences.sender(sender).sendMessage(Component.text("TimeBar version " + timeBar.getDescription().getVersion() + ". Created by hyperdefined.", NamedTextColor.GREEN));
47+
sender.sendMessage(Component.text("TimeBar version " + timeBar.getDescription().getVersion() + ". Created by hyperdefined.", NamedTextColor.GREEN));
5148
return true;
5249
}
5350

5451
if (!sender.hasPermission("timebar.command")) {
55-
audiences.sender(sender).sendMessage(Component.text("You do not have permission for this command.", NamedTextColor.RED));
52+
sender.sendMessage(Component.text("You do not have permission for this command.", NamedTextColor.RED));
5653
return true;
5754
}
5855

@@ -74,23 +71,23 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command
7471
for (WorldTimeTracker worldTimeTracker : timeBar.worldTimeTrackers) {
7572
worldTimeTracker.startTimer();
7673
}
77-
audiences.sender(sender).sendMessage(Component.text("Configuration reloaded!", NamedTextColor.GREEN));
74+
sender.sendMessage(Component.text("Configuration reloaded!", NamedTextColor.GREEN));
7875
} else {
79-
audiences.sender(sender).sendMessage(Component.text("You do not have permission for this command.", NamedTextColor.RED));
76+
sender.sendMessage(Component.text("You do not have permission for this command.", NamedTextColor.RED));
8077
}
8178
return true;
8279
}
8380
case "on" -> {
8481
if (sender instanceof ConsoleCommandSender) {
85-
audiences.sender(sender).sendMessage(Component.text("You must be a player for this command.", NamedTextColor.RED));
82+
sender.sendMessage(Component.text("You must be a player for this command.", NamedTextColor.RED));
8683
return true;
8784
}
8885
if (!sender.hasPermission("timebar.enable")) {
89-
audiences.sender(sender).sendMessage(Component.text("You do not have permission for this command.", NamedTextColor.RED));
86+
sender.sendMessage(Component.text("You do not have permission for this command.", NamedTextColor.RED));
9087
return true;
9188
}
9289
if (timeBar.config.getBoolean("hold-clock-to-show")) {
93-
audiences.sender(sender).sendMessage(Component.text("You must be holding a clock to show/hide the TimeBar.", NamedTextColor.RED));
90+
sender.sendMessage(Component.text("You must be holding a clock to show/hide the TimeBar.", NamedTextColor.RED));
9491
return true;
9592
}
9693
Player player = (Player) sender;
@@ -104,20 +101,20 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command
104101
} else {
105102
timeBar.enabledBossBar.add(player);
106103
}
107-
audiences.player(player).sendMessage(Component.text("TimeBar is now enabled.", NamedTextColor.GREEN));
104+
player.sendMessage(Component.text("TimeBar is now enabled.", NamedTextColor.GREEN));
108105
return true;
109106
}
110107
case "off" -> {
111108
if (sender instanceof ConsoleCommandSender) {
112-
audiences.sender(sender).sendMessage(Component.text("You must be a player for this command.", NamedTextColor.RED));
109+
sender.sendMessage(Component.text("You must be a player for this command.", NamedTextColor.RED));
113110
return true;
114111
}
115112
if (!sender.hasPermission("timebar.disable")) {
116-
audiences.sender(sender).sendMessage(Component.text("You do not have permission for this command.", NamedTextColor.RED));
113+
sender.sendMessage(Component.text("You do not have permission for this command.", NamedTextColor.RED));
117114
return true;
118115
}
119116
if (timeBar.config.getBoolean("hold-clock-to-show")) {
120-
audiences.sender(sender).sendMessage(Component.text("You must be holding a clock to show/hide the TimeBar.", NamedTextColor.RED));
117+
sender.sendMessage(Component.text("You must be holding a clock to show/hide the TimeBar.", NamedTextColor.RED));
121118
return true;
122119
}
123120
Player player = (Player) sender;
@@ -131,10 +128,10 @@ public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command
131128
} else {
132129
timeBar.enabledBossBar.remove(player);
133130
}
134-
audiences.player(player).sendMessage(Component.text("TimeBar is now disabled.", NamedTextColor.GREEN));
131+
player.sendMessage(Component.text("TimeBar is now disabled.", NamedTextColor.GREEN));
135132
return true;
136133
}
137-
default -> audiences.sender(sender).sendMessage(Component.text("Invalid sub-command. Valid options are: reload, on, off.", NamedTextColor.RED));
134+
default -> sender.sendMessage(Component.text("Invalid sub-command. Valid options are: reload, on, off.", NamedTextColor.RED));
138135
}
139136
return true;
140137
}

src/main/java/lol/hyper/timebar/papi/TimeBarExpansion.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,12 @@ public TimeBarExpansion(TimeBar timeBar) {
4141

4242
@Override
4343
public @NotNull String getAuthor() {
44-
return String.join(", ", timeBar.getDescription().getAuthors());
44+
return String.join(", ", timeBar.getPluginMeta().getAuthors());
4545
}
4646

4747
@Override
4848
public @NotNull String getVersion() {
49-
return timeBar.getDescription().getVersion();
49+
return timeBar.getPluginMeta().getVersion();
5050
}
5151

5252
@Override

src/main/java/lol/hyper/timebar/tracker/WorldTimeTracker.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
import lol.hyper.timebar.utils.NumberFormat;
2525
import net.kyori.adventure.bossbar.BossBar;
2626
import net.kyori.adventure.text.Component;
27-
import org.bukkit.Material;
2827
import org.bukkit.World;
2928
import org.bukkit.entity.Player;
3029
import org.bukkit.scheduler.BukkitTask;
@@ -86,7 +85,7 @@ public void addPlayer(Player player) {
8685
if (worldGroup.contains(player.getWorld())) {
8786
// if they have it enabled
8887
if (timeBar.enabledBossBar.contains(player)) {
89-
timeBar.getAdventure().player(player).showBossBar(bossBar);
88+
player.showBossBar(bossBar);
9089
}
9190
}
9291
}
@@ -98,7 +97,7 @@ public void addPlayer(Player player) {
9897
*/
9998
public void removePlayer(Player player) {
10099
BossBar bossBar = bossBars.get(player);
101-
timeBar.getAdventure().player(player).hideBossBar(bossBar);
100+
player.hideBossBar(bossBar);
102101
bossBars.remove(player);
103102
}
104103

@@ -145,7 +144,7 @@ public void hideBossBars() {
145144
continue;
146145
}
147146
BossBar bossBar = entry.getValue();
148-
timeBar.getAdventure().player(player).hideBossBar(bossBar);
147+
player.hideBossBar(bossBar);
149148
}
150149
}
151150

@@ -156,7 +155,7 @@ public void hideBossBars() {
156155
*/
157156
public void hidePlayer(Player player) {
158157
BossBar bossBar = bossBars.get(player);
159-
timeBar.getAdventure().player(player).hideBossBar(bossBar);
158+
player.hideBossBar(bossBar);
160159
if (!timeBar.config.getBoolean("hold-clock-to-show")) {
161160
timeBar.enabledBossBar.remove(player);
162161
}
@@ -172,7 +171,7 @@ public void showPlayer(Player player) {
172171
// they are in a display world, show them timebar
173172
if (worldGroup.contains(player.getWorld())) {
174173
BossBar bossBar = bossBars.get(player);
175-
timeBar.getAdventure().player(player).showBossBar(bossBar);
174+
player.showBossBar(bossBar);
176175
}
177176
if (!timeBar.config.getBoolean("hold-clock-to-show")) {
178177
timeBar.enabledBossBar.add(player);

src/main/resources/plugin.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
name: TimeBar
22
version: ${project.version}
33
main: lol.hyper.timebar.TimeBar
4-
api-version: 1.19
4+
api-version: 1.21
55
author: hyperdefined
6-
website: https://www.spigotmc.org/resources/timebar.90179/
6+
website: https://github.com/hyperdefined/TimeBar
77
description: See the world's time as a bossbar.
88
softdepend: [Multiverse-Core, RealisticSeasons, AdvancedSeasons, PlaceholderAPI]
99
load: POSTWORLD

0 commit comments

Comments
 (0)