diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100644 index 26d3352..0000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml diff --git a/.idea/compiler.xml b/.idea/compiler.xml deleted file mode 100644 index 3ed9adb..0000000 --- a/.idea/compiler.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml deleted file mode 100644 index aa00ffa..0000000 --- a/.idea/encodings.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml deleted file mode 100644 index 611e7c8..0000000 --- a/.idea/gradle.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml deleted file mode 100644 index 813f91d..0000000 --- a/.idea/jarRepositories.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index a0ceb9d..0000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml deleted file mode 100644 index e96534f..0000000 --- a/.idea/uiDesigner.xml +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 94a25f7..0000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/build.gradle b/build.gradle index 44826cd..3231bb8 100644 --- a/build.gradle +++ b/build.gradle @@ -20,8 +20,9 @@ repositories { } dependencies { + implementation 'org.projectlombok:lombok:1.18.28' compileOnly "org.spigotmc:spigot:1.8-R0.1-SNAPSHOT" - compileOnly 'me.map:ultimatekingdom:1.10.0-BETA' + compileOnly 'me.map:ultimatekingdom:2.4.0.0-BETA' } diff --git a/src/main/java/me/map/example/Demo.java b/src/main/java/me/map/example/Demo.java new file mode 100644 index 0000000..50b22a0 --- /dev/null +++ b/src/main/java/me/map/example/Demo.java @@ -0,0 +1,11 @@ +package me.map.example; + +import lombok.Data; + +@Data +public class Demo { + + private String name; + private String food; + +} diff --git a/src/main/java/me/map/example/Example.java b/src/main/java/me/map/example/Example.java index d679727..87a75fe 100644 --- a/src/main/java/me/map/example/Example.java +++ b/src/main/java/me/map/example/Example.java @@ -1,22 +1,21 @@ package me.map.example; -import jdk.incubator.vector.VectorOperators; import me.map.example.command.TestCommand; import me.map.example.listener.Luisteraar; -import me.map.example.placeholder.OwnPlaceHolder; import me.map.ultimatekingdom.API.UltimateKingdom; -import me.map.ultimatekingdom.API.objects.Kingdom; import me.map.ultimatekingdom.API.objects.KingdomPlayer; +import me.map.ultimatekingdom.API.objects.MapBuilder; import org.bukkit.Bukkit; -import org.bukkit.entity.Player; import org.bukkit.event.HandlerList; import org.bukkit.plugin.java.JavaPlugin; import java.util.UUID; +import static me.map.example.nl_lang.Lang.eat_food; + public class Example extends JavaPlugin { @@ -26,29 +25,30 @@ public class Example extends JavaPlugin { @Override public void onEnable() { + Bukkit.getServer().getPluginManager().registerEvents(new Luisteraar() ,this); - //fake player !!! - Player player = Bukkit.getServer().getPlayer(UUID.randomUUID()); - //kingdomplayer object - KingdomPlayer kingdomPlayer = UltimateKingdom.Players().getPlayer(player); + UltimateKingdom.getKingdomServer().Messages().I18n().registerLocaleConfig(new nl_lang()); //toevoegen teksten in een bepaalde taal.// . + + UltimateKingdom.getKingdomServer().Messages().getPlaceHolders().registerPlaceholders(new OwnPlaceHolderPack()); //eigen placeholder toevoegen. - //kingdom object - Kingdom kingdom = kingdomPlayer.getKingdom(); //toevoegen nieuwe commando new TestCommand(); // of als er geen register() in commando is -> new TestCommand().register(); - //vertaling toevoegen - UltimateKingdom.getKingdomServer().Messages().addTranslations("test_command" ,"^&adit is kingdom: &f{0} &aen player ^&f{1}"); + KingdomPlayer player = KingdomPlayer.get(UUID.randomUUID()); - //vertaling ophalen/gebruiken - String string = UltimateKingdom.translate("test_command",kingdom.getDisplayName(),kingdomPlayer.getName()); - - //register placeholder zodat deze door de hele plugin gebruikt kan worden. - UltimateKingdom.getKingdomServer().PlaceHolders().PlayerPlaceHolders().register(new OwnPlaceHolder()); + //Zie ownPlaceholderPack + Demo demo = new Demo(); + demo.setFood("pizza"); + demo.setName("Jan"); + player.send(false,eat_food,new MapBuilder() + .put("kingdomplayer",player) + .put("demo",demo) + .build() + ); } } diff --git a/src/main/java/me/map/example/OwnPlaceHolderPack.java b/src/main/java/me/map/example/OwnPlaceHolderPack.java new file mode 100644 index 0000000..b0b0c68 --- /dev/null +++ b/src/main/java/me/map/example/OwnPlaceHolderPack.java @@ -0,0 +1,13 @@ +package me.map.example; + +import me.map.ultimatekingdom.libs.eu.okaeri.placeholders.PlaceholderPack; +import me.map.ultimatekingdom.libs.eu.okaeri.placeholders.Placeholders; + +public class OwnPlaceHolderPack implements PlaceholderPack { + @Override + public void register(Placeholders placeholders) { + + placeholders.registerPlaceholder(Demo.class ,"name",(e, p, o) -> e.getName()); + placeholders.registerPlaceholder(Demo.class ,"food",(e, p, o) -> e.getFood()); + } +} diff --git a/src/main/java/me/map/example/command/TestCommand.java b/src/main/java/me/map/example/command/TestCommand.java index c100791..8053e7c 100644 --- a/src/main/java/me/map/example/command/TestCommand.java +++ b/src/main/java/me/map/example/command/TestCommand.java @@ -1,8 +1,7 @@ package me.map.example.command; -import me.map.mojangbrigadier.Command; -import me.map.mojangbrigadier.context.CommandContext; + import me.map.ultimatekingdom.API.UltimateKingdom; import me.map.ultimatekingdom.API.cmd.AbstractCommand; @@ -10,16 +9,19 @@ import me.map.ultimatekingdom.API.cmd.CommandSource; import me.map.ultimatekingdom.API.cmd.KingdomCommand; import me.map.ultimatekingdom.API.cmd.args.plugin.KingdomPlayerArgumentType; import me.map.ultimatekingdom.API.objects.KingdomPlayer; +import me.map.ultimatekingdom.API.objects.MapBuilder; +import me.map.ultimatekingdom.libs.com.mojang.brigadier.Command; +import java.util.Map; +import static me.map.example.nl_lang.Lang.*; public class TestCommand extends AbstractCommand { - public TestCommand() { super("testcommand"); - setDescription(UltimateKingdom.translate(false, "test_command")); - setPermission("kingdom.admin"); //optional + setDescription(demo_description); + setExtendedDescription(demo_extendedDescription); //Enum ivm vertalingen setShowUsageOnFail(true); //optional setPlayerOnly(true); //optional register(); //optional @@ -27,25 +29,20 @@ public class TestCommand extends AbstractCommand { @Override - protected void createCommand(KingdomCommand command) { + public void createCommand(KingdomCommand command) { command .then(argument("player", KingdomPlayerArgumentType.kingdomplayer()) .executes(c -> { final KingdomPlayer kingdomPlayer = c.getArgument("player",KingdomPlayer.class); - - + Map fields = new MapBuilder() + .put("kingdomplayer",kingdomPlayer) + .build(); + c.getSource().send(false,stupid_command,fields); return Command.SINGLE_SUCCESS; }) ); } - - @Override - public void onCommandComplete(CommandContext commandContext, boolean b, int i) { - - } - - } diff --git a/src/main/java/me/map/example/listener/Luisteraar.java b/src/main/java/me/map/example/listener/Luisteraar.java index 67e9cf3..082e26a 100644 --- a/src/main/java/me/map/example/listener/Luisteraar.java +++ b/src/main/java/me/map/example/listener/Luisteraar.java @@ -1,17 +1,29 @@ package me.map.example.listener; - - +import me.map.ultimatekingdom.API.UltimateKingdom; +import me.map.ultimatekingdom.API.objects.KingdomPlayer; +import me.map.ultimatekingdom.API.objects.MapBuilder; import me.map.ultimatekingdom.gameplay.events.actions.KingdomBuildEvent; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; +import org.go.libs.U; + +import java.util.Map; + +import static me.map.example.nl_lang.Lang.break_block; public class Luisteraar implements Listener { @EventHandler(priority = EventPriority.LOWEST) public void onJoin(KingdomBuildEvent event) { - } + KingdomPlayer player = KingdomPlayer.get(event.getPlayer()); + UltimateKingdom.Messages().send(player,break_block,new MapBuilder() + .put("kingdomplayer",player) + .put("block",event.getBlock()) + .build()); + + } } diff --git a/src/main/java/me/map/example/metadata.java b/src/main/java/me/map/example/metadata.java index 6c1f5a1..84e16ba 100644 --- a/src/main/java/me/map/example/metadata.java +++ b/src/main/java/me/map/example/metadata.java @@ -1,6 +1,7 @@ package me.map.example; +import me.map.ultimatekingdom.API.metadata.*; import me.map.ultimatekingdom.API.objects.Kingdom; -import me.map.ultimatekingdom.API.objects.metadata.*; + import java.util.ArrayList; import java.util.HashMap; @@ -17,7 +18,7 @@ public class metadata { //check for existing data if (kingdom.hasMeta("customMetaName")) { - MetaData data = kingdom.getMetaData("customMetaName"); + MetaData data = kingdom.getMeta("customMetaName"); //get value (List) metaArrayList = (List) data.getValue(); @@ -26,7 +27,7 @@ public class metadata { String label = data.getLabel(); //or just use this one - metaArrayList = (List) kingdom.getMetaData("customMetaName").getValue(); + metaArrayList = (List) kingdom.getMeta("customMetaName").getValue(); } @@ -39,7 +40,7 @@ public class metadata { MetaData myMetaData2 = new ListField("customMetaName", metaArrayList,"ExtraLabel" ); //savedata - kingdom.addMetaData(myMetaData,(result) -> { + kingdom.addMeta(myMetaData,(result,kingdom1) -> { if (result.isOk()) { //do something } else { @@ -54,7 +55,7 @@ public class metadata { List metaArrayList = new ArrayList<>(); if (kingdom.hasMeta("customMetaName")) { - metaArrayList = (List) kingdom.getMetaData("customMetaName").getValue(); + metaArrayList = (List) kingdom.getMeta("customMetaName").getValue(); } //remove value @@ -67,7 +68,7 @@ public class metadata { MetaData myMetaData2 = new ListField("customMetaName", metaArrayList,"ExtraLabel" ); - kingdom.addMetaData(myMetaData, (result) ->{ + kingdom.addMeta(myMetaData, (result,kingdom1) ->{ if (result.isOk()) { //do somehting } else { @@ -79,7 +80,7 @@ public class metadata { //remove all values - kingdom.removeMetaData(myMetaData,(result) ->{ + kingdom.deleteMeta(myMetaData,(result,kingdom1) ->{ if (result.isOk()) { //do somehting } else { diff --git a/src/main/java/me/map/example/nl_lang.java b/src/main/java/me/map/example/nl_lang.java new file mode 100644 index 0000000..0f328e9 --- /dev/null +++ b/src/main/java/me/map/example/nl_lang.java @@ -0,0 +1,104 @@ +package me.map.example; + +import me.map.ultimatekingdom.API.languages.LanguageManager; +import org.bukkit.Bukkit; +import org.bukkit.configuration.file.YamlConfiguration; +import org.jetbrains.annotations.NotNull; + +import java.io.File; +import java.util.Locale; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + + +public class nl_lang implements LanguageManager { + + private final String fileName = "NL.yml"; + private final String version = "1"; + private final Locale locale = Locale.forLanguageTag("nl"); + + /** + * Load the configuration file and check for missing keys + * + * @param file to load + * @param silent keep it silent + * @return return YamlConfiguration object + */ + @Override + public YamlConfiguration getYamlConfiguration(@NotNull File file, boolean silent) { + final YamlConfiguration conf = YamlConfiguration.loadConfiguration(file); + + for (final Lang item : Lang.values()) { + if (conf.getString(item.toString()) == null) { + conf.set(item.toString(), item.getValue()); + + if (!silent) { + Bukkit.getServer().getConsoleSender().sendMessage( + "[UltimateKingdom] Add Missing Key: " + item); + } + } + // always set version + conf.set("version", this.version); + } + + return conf; + } + + public Locale getLocale() { + return locale; + } + + /** + * Get a map with all values + * + * @return HashMap with strings,strings + */ + @Override + public Map getMapWithValues() { + Map tmp = new ConcurrentHashMap(); + for (final Lang item : Lang.values()) { + tmp.put(item.name(), item.getValue()); + } + return tmp; + } + + /** + * Getter for filename + * + * @return filename + */ + @Override + public String getFileName() { + return this.fileName; + } + + /** + * Translations + */ + public enum Lang { + + demo_description("Dit is een demo command"), + demo_extendedDescription("dit is een demo commando, en doet verder niets"), + break_block("{green}{kingdomplayer.displayname} doet iets met block : {block.type.name}"), + stupid_command("{green}hehhh...{white}{kingdomplayer.displayname} is lid van {red} {kingdomplayer.kingdom.displayname|niets}"), + eat_food("{kingdomplayer.displayname} heeft de {demo.food} van {demo.name} opgegeten"); + + private final String def; + + /** + * @param def set def + */ + Lang(String def) { + this.def = def; + } + + /** + * Get the Stringt value of the path. + * + * @return The default value of the path. + */ + public String getValue() { + return this.def; + } + } +} diff --git a/src/main/java/me/map/example/placeholder/OwnPlaceHolder.java b/src/main/java/me/map/example/placeholder/OwnPlaceHolder.java deleted file mode 100644 index ce69a34..0000000 --- a/src/main/java/me/map/example/placeholder/OwnPlaceHolder.java +++ /dev/null @@ -1,37 +0,0 @@ -package me.map.example.placeholder; - - - -import me.map.ultimatekingdom.API.objects.KingdomPlayer; -import me.map.ultimatekingdom.API.placeholders.PlayerPlaceHolderExpansion; -import org.jetbrains.annotations.NotNull; - -public class OwnPlaceHolder extends PlayerPlaceHolderExpansion { - - @Override - public @NotNull - String getIdentifier() { - return "kingdomplayer"; - } - - @Override - public @NotNull - String getAuthor() { - return "recorehosting"; - } - - @Override - public @NotNull - String getVersion() { - return "1.0"; - } - - @Override - public String onRequest(KingdomPlayer user, String params) { - - if (params.equalsIgnoreCase("test")) { - return "test"; - } - return ""; - } -}