diff --git a/src/main/java/dev/hytalemodding/ExamplePlugin.java b/src/main/java/dev/hytalemodding/ExamplePlugin.java index 27de75b..fcee1dc 100644 --- a/src/main/java/dev/hytalemodding/ExamplePlugin.java +++ b/src/main/java/dev/hytalemodding/ExamplePlugin.java @@ -3,20 +3,32 @@ package dev.hytalemodding; import com.hypixel.hytale.server.core.event.events.player.PlayerReadyEvent; import com.hypixel.hytale.server.core.plugin.JavaPlugin; import com.hypixel.hytale.server.core.plugin.JavaPluginInit; +import com.hypixel.hytale.server.core.util.Config; import dev.hytalemodding.commands.ExampleCommand; +import dev.hytalemodding.config.ExampleConfig; import dev.hytalemodding.events.ExampleEvent; import javax.annotation.Nonnull; public class ExamplePlugin extends JavaPlugin { + private static Config config = null; + public ExamplePlugin(@Nonnull JavaPluginInit init) { super(init); + config = this.withConfig("example_config", ExampleConfig.CODEC); } @Override protected void setup() { + config.save(); this.getCommandRegistry().registerCommand(new ExampleCommand("example", "An example command")); - this.getEventRegistry().registerGlobal(PlayerReadyEvent.class, ExampleEvent::onPlayerReady); + if (getConfig().get().isEnabledWelcomeMessage()) { + this.getEventRegistry().registerGlobal(PlayerReadyEvent.class, ExampleEvent::onPlayerReady); + } + } + + public static Config getConfig() { + return config; } } \ No newline at end of file diff --git a/src/main/java/dev/hytalemodding/config/ExampleConfig.java b/src/main/java/dev/hytalemodding/config/ExampleConfig.java new file mode 100644 index 0000000..f83350c --- /dev/null +++ b/src/main/java/dev/hytalemodding/config/ExampleConfig.java @@ -0,0 +1,25 @@ +package dev.hytalemodding.config; + +import com.hypixel.hytale.codec.Codec; +import com.hypixel.hytale.codec.KeyedCodec; +import com.hypixel.hytale.codec.builder.BuilderCodec; + +public class ExampleConfig { + + public static final BuilderCodec CODEC = BuilderCodec.builder(ExampleConfig.class, ExampleConfig::new) + .append( + new KeyedCodec<>("EnableWelcomeMessage", Codec.BOOLEAN), + (exConfig, aBoolean, extraInfo) -> exConfig.enabledWelcomeMessage = aBoolean, + (exConfig, extraInfo) -> exConfig.enabledWelcomeMessage + ) + .add() + .build(); + + private boolean enabledWelcomeMessage; + + private ExampleConfig() {} + + public boolean isEnabledWelcomeMessage() { + return enabledWelcomeMessage; + } +}