Quick Start: Translations
Example plugin
@Translatable @Configurable(file = "tutorial.yml", path = "tutorial-core")
public class PlayerTutorial implements MinorityFeature, Listener {
@TranslationKey(section = "messages", name = "join-message", value = "Welcome to our server! The official language of the server is English, but you can also communicate in your own language!")
private String joinMessage;
@TranslationKey(section = "messages", name = "tree-break-message", value = "On our server, it's considered good form to chop down a whole tree, not just logs! Break the leaves, plant a sapling in the place of the tree, make the world a better place!")
private String treeBreakMessage;
@ConfigurationKey(name = "show-message-chance", type = Type.DOUBLE, value = "0.15", comment = "The chance that a tutorial message will be sent to the player.")
private double chance;
public PlayerTutorial(final MinorityExtension plugin) {
plugin.getConfigurationWizard().generate(this.getClass());
this.init(this, this.getClass(), plugin);
plugin.getServer().getPluginManager().registerEvents(this, plugin);
}
@EventHandler
private void onPlayerJoin(final PlayerJoinEvent event) {
if (chance >= Math.random()) {
event.getPlayer().sendMessage(joinMessage);
}
}
@EventHandler
private void onTreeBreak(final BlockBreakEvent event) {
final Material type = event.getBlock().getType();
if (chance >= Math.random() && type.equals(Material.OAK_LOG)) {
event.getPlayer().sendMessage(treeBreakMessage);
}
}
}Result
Last updated