Skip to content

Commit c54fc9f

Browse files
committed
Add sound value to example plugin. Update jitpack config.
1 parent 815564b commit c54fc9f

4 files changed

Lines changed: 21 additions & 3 deletions

File tree

.jitpack.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,4 @@
1-
jdk: openjdk11
1+
jdk: openjdk21
2+
before_install:
3+
- sdk install java 21-tem
4+
- sdk use java 21-tem

config-values-bukkit/src/main/java/community/leaf/configvalues/bukkit/YamlAdapters.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,8 @@ public static <V> Adapter<Object, V> ofParsed(Function<String, @NullOr V> parser
8282
@SuppressWarnings({"unchecked", "rawtypes"})
8383
public static final Adapter<Object, Sound> SOUND =
8484
(Enum.class.isAssignableFrom(Sound.class))
85-
? ofEnum((Class<? extends Enum>) Sound.class)
85+
? ofEnum((Class<? extends Enum>) (Class<?>) Sound.class)
86+
// TODO: prefer formal sound keys rather than legacy enum names...
8687
: Adapter.of(
8788
serialized -> {
8889
try {

examples/config-values-example-bukkit/src/main/java/community/leaf/examples/configvalues/bukkit/Config.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import community.leaf.configvalues.bukkit.data.Load;
99
import community.leaf.configvalues.bukkit.data.YamlDataFile;
1010
import community.leaf.configvalues.bukkit.migrations.Migration;
11+
import org.bukkit.Sound;
1112

1213
import java.util.List;
1314

@@ -31,6 +32,9 @@ public class Config extends YamlDataFile {
3132
public static final ExampleYamlValue<String> EXAMPLE_MESSAGE =
3233
YamlValue.ofString("messages.example").example("I only get set once!");
3334

35+
public static final DefaultYamlValue<Sound> JOIN_SOUND =
36+
YamlValue.ofSound("sounds.join").defaults(Sound.ENTITY_PLAYER_LEVELUP);
37+
3438
@AggregatedResult
3539
private static final List<YamlValue<?>> VALUES =
3640
Aggregates.fromThisClass().constantsOfType(YamlValue.type()).toList();

examples/config-values-example-bukkit/src/main/java/community/leaf/examples/configvalues/bukkit/ExampleConfigPlugin.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
package community.leaf.examples.configvalues.bukkit;
22

3+
import org.bukkit.event.EventHandler;
4+
import org.bukkit.event.Listener;
5+
import org.bukkit.event.player.PlayerJoinEvent;
36
import org.bukkit.plugin.java.JavaPlugin;
47
import pl.tlinkowski.annotation.basic.NullOr;
58

69
import java.nio.file.Path;
710

8-
public class ExampleConfigPlugin extends JavaPlugin {
11+
public class ExampleConfigPlugin extends JavaPlugin implements Listener {
912
private @NullOr Path dataDirectory;
1013
private @NullOr Path backupsDirectory;
1114
private @NullOr Config config;
@@ -16,6 +19,8 @@ public void onEnable() {
1619
this.backupsDirectory = dataDirectory.resolve("backups");
1720

1821
this.config = new Config(this);
22+
23+
getServer().getPluginManager().registerEvents(this, this);
1924
}
2025

2126
private <T> T initialized(@NullOr T thing, String name) {
@@ -36,4 +41,9 @@ public Path backups() {
3641
public Config config() {
3742
return initialized(config, "config");
3843
}
44+
45+
@EventHandler
46+
public void onJoin(PlayerJoinEvent event) {
47+
event.getPlayer().playSound(event.getPlayer(), config().getOrDefault(Config.JOIN_SOUND), 1.0F, 1.0F);
48+
}
3949
}

0 commit comments

Comments
 (0)