Skip to content

Commit c200bbd

Browse files
committed
Paper 1.21.10 support and upgrade dependencies
- Upgrade to Gradle 9.2.1 - Upgrade to Paper 1.21.10 API - Upgrade Gradle shadow plugin to 9.2.2 - Upgrade scoreboard-library to 2.4.3 - Upgrade Adventure to 4.25.0 - Remove unneeded Mojang authlib dependency - Upgrade PlaceholderAPI to 2.11.7 - Upgrade XSeries to 13.5.1 - Upgrade NoteblockAPI to 1.6.3 - Include relocated XSeries in the JAR file - Fix "NoteblockAPI not installed" warning not showing because module code does not run - SongPlayerManager: Enable Stereo mode with MonoStereo mode as fallback to improve song playback - Fix wrong song directory name in configuration file comment - Protect all new 1.21.9 interactable blocks
1 parent ed7cc81 commit c200bbd

File tree

9 files changed

+70
-23
lines changed

9 files changed

+70
-23
lines changed

build.gradle.kts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
plugins {
22
java
3-
id("com.gradleup.shadow") version ("8.3.8")
4-
id("io.papermc.paperweight.userdev") version ("2.0.0-beta.18")
3+
id("com.gradleup.shadow") version ("9.2.2")
4+
id("io.papermc.paperweight.userdev") version ("2.0.0-beta.19")
55
}
66

77
group = "team.devblook"
@@ -23,23 +23,22 @@ repositories {
2323
}
2424

2525
dependencies {
26-
paperweight.paperDevBundle("1.21.8-R0.1-SNAPSHOT")
26+
paperweight.paperDevBundle("1.21.10-R0.1-SNAPSHOT")
2727

2828
implementation("javax.inject:javax.inject:1")
2929

30-
implementation("net.megavex:scoreboard-library-api:2.4.1")
31-
runtimeOnly("net.megavex:scoreboard-library-implementation:2.4.1")
32-
runtimeOnly("net.megavex:scoreboard-library-modern:2.4.1:mojmap")
30+
implementation("net.megavex:scoreboard-library-api:2.4.3")
31+
runtimeOnly("net.megavex:scoreboard-library-implementation:2.4.3")
32+
runtimeOnly("net.megavex:scoreboard-library-modern:2.4.3:mojmap")
3333

34-
compileOnly("net.kyori:adventure-text-minimessage:4.23.0")
35-
compileOnly("net.kyori:adventure-api:4.23.0")
34+
compileOnly("net.kyori:adventure-text-minimessage:4.25.0")
35+
compileOnly("net.kyori:adventure-api:4.25.0")
3636

37-
compileOnly("com.mojang:authlib:1.5.25")
38-
compileOnly("me.clip:placeholderapi:2.11.6")
37+
compileOnly("me.clip:placeholderapi:2.11.7")
3938
compileOnly("com.arcaniax:HeadDatabase-API:1.3.2")
40-
compileOnly("com.github.cryptomorin:XSeries:13.3.3")
39+
implementation("com.github.cryptomorin:XSeries:13.5.1")
4140
compileOnly("io.github.miniplaceholders:miniplaceholders-api:3.1.0")
42-
compileOnly("com.github.koca2000:NoteBlockAPI:1.6.2")
41+
compileOnly("com.github.koca2000:NoteBlockAPI:1.6.3")
4342
}
4443

4544
configurations.implementation {
@@ -62,6 +61,7 @@ tasks {
6261
}
6362

6463
relocate("net.megavex.scoreboardlibrary", "${libsPackage}.scoreboardlibrary")
64+
relocate("com.cryptomorin.xseries", "${libsPackage}.xseries")
6565
}
6666

6767
withType<JavaCompile> {

gradle/wrapper/gradle-wrapper.jar

1.83 KB
Binary file not shown.

gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.2-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.1-bin.zip
44
networkTimeout=10000
55
validateDistributionUrl=true
66
zipStoreBase=GRADLE_USER_HOME

gradlew

Lines changed: 1 addition & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

gradlew.bat

Lines changed: 1 addition & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/main/java/me/zetastormy/akropolis/module/ModuleManager.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,8 @@ public void loadModules(AkropolisPlugin plugin) {
107107

108108
if (plugin.getHookManager().isHookEnabled("NOTEBLOCK_API"))
109109
registerModule(new SongPlayerManager(plugin), "song_player.enabled");
110+
else
111+
plugin.getLogger().warning("NoteBlockAPI is not installed and enabled! The songs module won't be enabled.");
110112

111113
for (Module module : modules.values()) {
112114
try {

src/main/java/me/zetastormy/akropolis/module/modules/world/SongPlayerManager.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@
3939
import com.xxmicloxx.NoteBlockAPI.model.FadeType;
4040
import com.xxmicloxx.NoteBlockAPI.model.Playlist;
4141
import com.xxmicloxx.NoteBlockAPI.model.RepeatMode;
42+
import com.xxmicloxx.NoteBlockAPI.model.playmode.MonoStereoMode;
43+
import com.xxmicloxx.NoteBlockAPI.model.playmode.StereoMode;
4244
import com.xxmicloxx.NoteBlockAPI.model.Song;
4345
import com.xxmicloxx.NoteBlockAPI.songplayer.Fade;
4446
import com.xxmicloxx.NoteBlockAPI.songplayer.PositionSongPlayer;
@@ -140,17 +142,25 @@ private Playlist loadSongs() {
140142
return new Playlist(songs.toArray(new Song[0]));
141143
}
142144

145+
private RadioSongPlayer createRadioSongPlayer(Playlist playlist) {
146+
RadioSongPlayer radioSongPlayer = new RadioSongPlayer(playlist);
147+
StereoMode stereoMode = new StereoMode();
148+
stereoMode.setFallbackChannelMode(new MonoStereoMode());
149+
radioSongPlayer.setChannelMode(stereoMode);
150+
return radioSongPlayer;
151+
}
152+
143153
private SongPlayer createSongPlayer(Playlist playlist, String type, int distance) {
144154
if (type.equalsIgnoreCase("RADIO")) {
145-
return new RadioSongPlayer(playlist);
155+
return createRadioSongPlayer(playlist);
146156
}
147157

148158
Location songLocation = dataConfig.get().getLocation("song_player.location");
149159

150160
if (songLocation == null) {
151161
getPlugin().getLogger().warning("Couldn't get song player location! Using radio song player instead.");
152162

153-
return new RadioSongPlayer(playlist);
163+
return createRadioSongPlayer(playlist);
154164
}
155165

156166
PositionSongPlayer songPlayer = new PositionSongPlayer(playlist);

src/main/java/me/zetastormy/akropolis/module/modules/world/WorldProtect.java

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,46 @@ public class WorldProtect extends Module implements LifeCycle {
179179
XMaterial.WARPED_SIGN.get(), XMaterial.WARPED_WALL_HANGING_SIGN.get(),
180180
XMaterial.WARPED_WALL_SIGN.get(), XMaterial.PALE_OAK_HANGING_SIGN.get(),
181181
XMaterial.PALE_OAK_SIGN.get(), XMaterial.PALE_OAK_WALL_HANGING_SIGN.get(),
182-
XMaterial.PALE_OAK_WALL_SIGN.get());
182+
XMaterial.PALE_OAK_WALL_SIGN.get(), XMaterial.COPPER_CHEST.get(),
183+
XMaterial.EXPOSED_COPPER_CHEST.get(), XMaterial.WEATHERED_COPPER_CHEST.get(),
184+
XMaterial.OXIDIZED_COPPER_CHEST.get(), XMaterial.WAXED_COPPER_CHEST.get(),
185+
XMaterial.WAXED_EXPOSED_COPPER_CHEST.get(),
186+
XMaterial.WAXED_WEATHERED_COPPER_CHEST.get(),
187+
XMaterial.WAXED_OXIDIZED_COPPER_CHEST.get(), XMaterial.OAK_SHELF.get(),
188+
XMaterial.BIRCH_SHELF.get(), XMaterial.SPRUCE_SHELF.get(),
189+
XMaterial.JUNGLE_SHELF.get(), XMaterial.ACACIA_SHELF.get(),
190+
XMaterial.DARK_OAK_SHELF.get(), XMaterial.CRIMSON_SHELF.get(),
191+
XMaterial.WARPED_SHELF.get(), XMaterial.MANGROVE_SHELF.get(),
192+
XMaterial.BAMBOO_SHELF.get(), XMaterial.CHERRY_SHELF.get(),
193+
XMaterial.PALE_OAK_SHELF.get(), XMaterial.COPPER_GOLEM_STATUE.get(),
194+
XMaterial.EXPOSED_COPPER_GOLEM_STATUE.get(),
195+
XMaterial.WEATHERED_COPPER_GOLEM_STATUE.get(),
196+
XMaterial.OXIDIZED_COPPER_GOLEM_STATUE.get(),
197+
XMaterial.WAXED_COPPER_GOLEM_STATUE.get(),
198+
XMaterial.WAXED_EXPOSED_COPPER_GOLEM_STATUE.get(),
199+
XMaterial.WAXED_WEATHERED_COPPER_GOLEM_STATUE.get(),
200+
XMaterial.WAXED_OXIDIZED_COPPER_GOLEM_STATUE.get(),
201+
XMaterial.EXPOSED_LIGHTNING_ROD.get(), XMaterial.WEATHERED_LIGHTNING_ROD.get(),
202+
XMaterial.OXIDIZED_LIGHTNING_ROD.get(), XMaterial.WAXED_LIGHTNING_ROD.get(),
203+
XMaterial.WAXED_EXPOSED_LIGHTNING_ROD.get(),
204+
XMaterial.WAXED_WEATHERED_LIGHTNING_ROD.get(),
205+
XMaterial.WAXED_OXIDIZED_LIGHTNING_ROD.get(), XMaterial.COPPER_LANTERN.get(),
206+
XMaterial.EXPOSED_COPPER_LANTERN.get(), XMaterial.WEATHERED_COPPER_LANTERN.get(),
207+
XMaterial.OXIDIZED_COPPER_LANTERN.get(), XMaterial.WAXED_COPPER_LANTERN.get(),
208+
XMaterial.WAXED_EXPOSED_COPPER_LANTERN.get(),
209+
XMaterial.WAXED_WEATHERED_COPPER_LANTERN.get(),
210+
XMaterial.WAXED_OXIDIZED_COPPER_LANTERN.get(),
211+
XMaterial.COPPER_BARS.get(), XMaterial.EXPOSED_COPPER_BARS.get(),
212+
XMaterial.WEATHERED_COPPER_BARS.get(), XMaterial.OXIDIZED_COPPER_BARS.get(),
213+
XMaterial.WAXED_COPPER_BARS.get(), XMaterial.WAXED_EXPOSED_COPPER_BARS.get(),
214+
XMaterial.WAXED_WEATHERED_COPPER_BARS.get(),
215+
XMaterial.WAXED_OXIDIZED_COPPER_BARS.get(),
216+
XMaterial.COPPER_CHAIN.get(), XMaterial.EXPOSED_COPPER_CHAIN.get(),
217+
XMaterial.WEATHERED_COPPER_CHAIN.get(), XMaterial.OXIDIZED_COPPER_CHAIN.get(),
218+
XMaterial.WAXED_COPPER_CHAIN.get(), XMaterial.WAXED_EXPOSED_COPPER_CHAIN.get(),
219+
XMaterial.WAXED_WEATHERED_COPPER_CHAIN.get(),
220+
XMaterial.WAXED_OXIDIZED_COPPER_CHAIN.get()
221+
);
183222

184223
INTERACTABLE = rawInteractable.stream().filter(Objects::nonNull).collect(Collectors.toUnmodifiableSet());
185224
}

src/main/resources/config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ anti_wdl:
8383
# | SONG PLAYER |
8484
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
8585

86-
# Plays music through noteblocks using NoteBlock API. Music files are stored in nbs format inside "Akropolis/music"
86+
# Plays music through noteblocks using NoteBlock API. Music files are stored in nbs format inside "Akropolis/songs"
8787
# directory.
8888
song_player:
8989
# Should we play music in the lobby?

0 commit comments

Comments
 (0)