1. Welcome to skUnity!

    Welcome to skUnity! This is a forum where members of the Skript community can communicate and interact. Skript Resource Creators can post their Resources for all to see and use.

    If you haven't done so already, feel free to join our official Discord server to expand your level of interaction with the comminuty!

    Now, what are you waiting for? Join the community now!

Dismiss Notice
This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Initial Initialization error

Discussion in 'Java' started by SeltixSub, Oct 25, 2017.

  1. SeltixSub

    SeltixSub Member

    Joined:
    Jul 2, 2017
    Messages:
    15
    Likes Received:
    1
    Hey, i have some Problems with my Addon 'Coins':
    Its planned to be a simple Coins Plugin with Config.

    It starts normal without any Problems,
    if you (re)load the Skript with the Code it says everything is okay,
    but if you execute the code it says 'An internal error occured while attempting to perfom this command.';
    And the Console says:

    Code (Skript):
    1. [21:56:31 ERROR]: #!#!     at java.lang.reflect.Method.invoke(Method.java:498)
    2. [21:56:31 ERROR]: #!#!     at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306)
    3. [21:56:31 ERROR]: #!#!     at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
    4. [21:56:31 ERROR]: #!#!     at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502)
    5. [21:56:32 ERROR]: #!#!     at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487)
    6. [21:56:32 ERROR]: #!#!     at net.minecraft.server.v1_8_R3.PlayerConnection.handleCommand(PlayerConnection.java:1154)
    7. [21:56:32 ERROR]: #!#!     at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:997)
    8. [21:56:32 ERROR]: #!#!     at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:45)
    9. [21:56:32 ERROR]: #!#!     at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:1)
    10. [21:56:32 ERROR]: #!#!     at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13)
    11. [21:56:32 ERROR]: #!#!     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    12. [21:56:32 ERROR]: #!#!     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    13. [21:56:32 ERROR]: #!#!     at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44)
    14. [21:56:32 ERROR]: #!#!     at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:715)
    15. [21:56:32 ERROR]: #!#!     at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374)
    16. [21:56:32 ERROR]: #!#!     at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654)
    17. [21:56:32 ERROR]: #!#!     at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557)
    18. [21:56:32 ERROR]: #!#!     at java.lang.Thread.run(Thread.java:748)
    19. [21:56:32 ERROR]: #!#! Caused by: java.lang.IllegalStateException: Initial initialization
    20. [21:56:32 ERROR]: #!#!     at org.bukkit.plugin.java.PluginClassLoader.initialize(PluginClassLoader.java:125)
    21. [21:56:32 ERROR]: #!#!     at org.bukkit.plugin.java.JavaPlugin.<init>(JavaPlugin.java:66)
    22. [21:56:32 ERROR]: #!#!     at coins.Main.<init>(Main.java:24)
    23. [21:56:32 ERROR]: #!#!     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    24. [21:56:32 ERROR]: #!#!     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    25. [21:56:32 ERROR]: #!#!     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    26. [21:56:32 ERROR]: #!#!     at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    27. [21:56:32 ERROR]: #!#!     at java.lang.Class.newInstance(Class.java:442)
    28. [21:56:32 ERROR]: #!#!     at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:76)
    29. [21:56:32 ERROR]: #!#!     at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:131)
    30. [21:56:32 ERROR]: #!#!     at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:329)
    31. [21:56:32 ERROR]: #!#!     at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:251)
    32. [21:56:32 ERROR]: #!#!     at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugins(CraftServer.java:292)
    33. [21:56:32 ERROR]: #!#!     at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:198)
    34. [21:56:32 ERROR]: #!#!     at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:525)
    35. [21:56:32 ERROR]: #!#!     at java.lang.Thread.run(Thread.java:748)
    36. [21:56:32 ERROR]: #!#!
    37. [21:56:32 ERROR]: #!#! Version Information:
    38. [21:56:32 ERROR]: #!#!   Skript: 2.1.2
    39. [21:56:32 ERROR]: #!#!   Bukkit: 1.8.8-R0.1-SNAPSHOT
    40. [21:56:32 ERROR]: #!#!   Minecraft: 1.8.8
    41. [21:56:32 ERROR]: #!#!   Java: 1.8.0_144
    42. [21:56:32 ERROR]: #!#!
    43. [21:56:32 ERROR]: #!#! Running CraftBukkit: false
    44. [21:56:32 ERROR]: #!#!
    45. [21:56:32 ERROR]: #!#! Current node: null
    46. [21:56:32 ERROR]: #!#! Current item: set amount of %player% coins to %number%
    47. [21:56:32 ERROR]: #!#!
    48. [21:56:32 ERROR]: #!#! Thread: Server thread
    49. [21:56:32 ERROR]: #!#!
    50. [21:56:32 ERROR]: #!#! End of Error.
    51. [21:56:32 ERROR]: #!#!
    52.  
    The Main class of the Plugin (Written in German):
    Code (Java):
    1. package coins;
    2.  
    3. import java.io.File;
    4. import java.io.IOException;
    5.  
    6. import org.bukkit.Bukkit;
    7. import org.bukkit.OfflinePlayer;
    8. import org.bukkit.command.Command;
    9. import org.bukkit.command.CommandSender;
    10. import org.bukkit.configuration.file.YamlConfiguration;
    11. import org.bukkit.entity.Player;
    12. import org.bukkit.event.Listener;
    13. import org.bukkit.event.player.PlayerJoinEvent;
    14. import org.bukkit.plugin.java.JavaPlugin;
    15.  
    16. import ch.njol.skript.Skript;
    17. import ch.njol.skript.lang.ExpressionType;
    18. import skript.EffRemoveCoins;
    19. import skript.EffResetCoins;
    20. import skript.EffSetCoins;
    21. import skript.ExprGetCoins;
    22.  
    23.  
    24. public class Main extends JavaPlugin implements Listener{
    25.  
    26.     public File coinsFile; // Players
    27.     public YamlConfiguration cfconfig;
    28.    
    29.     public Integer standardamount = 5000;
    30.     public String name = "Coins";
    31.    
    32.     public File configFile; // Some Options
    33.     public YamlConfiguration cfgFile;
    34.    
    35.     @Override
    36.     public void onEnable() {
    37.         Bukkit.getServer().getLogger().info("[Coins] Plugin gestartet!");
    38.        
    39.         checkDir("Coins");
    40.        
    41.         configFile = new File("plugins/Coins/config.yml");
    42.         new YamlConfiguration();
    43.         cfgFile = YamlConfiguration.loadConfiguration(configFile);
    44.        
    45.        
    46.         if(!configFile.exists()) { //Check if your external file exists
    47.             try {
    48.                 configFile.createNewFile(); //if not so, create a new one
    49.                 cfgFile.set("command", "enabled");
    50.                 cfgFile.set("name", "Coins"); //
    51.                
    52.                
    53.                
    54.                
    55.                
    56.                 // LAST EDIT
    57.                
    58.                
    59.                
    60.                
    61.                
    62.                 cfgFile.set("standardamount", 5000);
    63.                 cfgFile.options().copyDefaults(true);
    64.                 cfgFile.save(configFile); //save the configuration of config1 or config2 to your new file
    65.             } catch (IOException e) {
    66.                 System.out.println("[Coins] Couldn't create config.yml!"); //if something goes wrong this is what will be done then
    67.                 System.out.print("[Coins] Error:" + e.toString());
    68.                 this.getPluginLoader().disablePlugin(this);
    69.             }
    70.         }else {
    71.             name = cfgFile.getString("name"); // Loading Name
    72.             standardamount = cfgFile.getInt("standardamount"); // Loading start Capital
    73.         }
    74.        
    75.         coinsFile = new File("plugins/Coins/players.yml");
    76.         new YamlConfiguration();
    77.         cfconfig = YamlConfiguration.loadConfiguration(coinsFile);
    78.        
    79.        
    80.         if(!coinsFile.exists()) { //Check if your external file exists
    81.             try {
    82.                 coinsFile.createNewFile(); //if not so, create a new one
    83.                 cfconfig.options().copyDefaults(true);
    84.                 cfconfig.save(coinsFile); //save the configuration of config1 or config2 to your new file
    85.             } catch (IOException e) {
    86.                 System.out.println("[Coins] Couldn't create players.yml!"); //if something goes wrong this is what will be done then
    87.                 System.out.print("[Coins] Error: " + e.toString());
    88.                 this.getPluginLoader().disablePlugin(this);
    89.             }
    90.         }
    91.        
    92.         if(Bukkit.getPluginManager().getPlugin("Skript") == null) {
    93.             sendMessage("[Coins] Skript nicht gefunden :(");
    94.         }else {
    95.             sendMessage("[Coins] Skript wurde gefunden :)");
    96.             this.registerSkript();
    97.         }
    98.     }
    99.    
    100.     public void registerSkript() {
    101.        
    102.         Skript.registerEffect(EffSetCoins.class, new String[] {"set %player%'[s] coins to %number%"});
    103.         Skript.registerEffect(EffSetCoins.class, new String[] {"add %number% to %player%'[s] coins"});
    104.         Skript.registerEffect(EffRemoveCoins.class, new String[] {"remove %number% of %player%'[s] coins"});
    105.         Skript.registerEffect(EffResetCoins.class, new String[] {"reset %player%'[s] coins"});
    106.         Skript.registerExpression(ExprGetCoins.class, String.class, ExpressionType.SIMPLE, new String[] {"%player%'[s] coins"});
    107.        
    108.     }
    109.    
    110.     private boolean checkDir(String dirName)
    111.     {
    112.         dirName = "plugins/" + dirName;
    113.        
    114.         File stats = new File(dirName);
    115.         if (stats.exists() && stats.isDirectory())    // Überprüfen, ob es den Ordner gibt
    116.         {
    117.             return true;
    118.         }
    119.         else
    120.         {
    121.             if (stats.mkdir())    // Erstellen des Ordners
    122.             {
    123.                 return true;
    124.             }
    125.             else
    126.             {
    127.                 return false;
    128.             }
    129.         }
    130.     }
    131.    
    132.     @Override
    133.     public void onDisable() {
    134.         saveConfig();
    135.         sendMessage("[Coins] Stope Plugin!");
    136.     }
    137.    
    138.     public void onJoin(PlayerJoinEvent e){
    139.         if(cfconfig.contains(e.getPlayer().getUniqueId().toString()) == false) {
    140.             setCoins(e.getPlayer(), 5000);
    141.         }
    142.     }
    143.    
    144.     public void setCoins(Player p, int amount) {
    145.         cfconfig.set(p.getUniqueId().toString(), amount);
    146.         saveconfig();
    147.     }
    148.    
    149.     public void addCoins(Player p, int amount) {
    150.         int money = (int) cfconfig.get(p.getUniqueId().toString()) + amount;
    151.         cfconfig.set(p.getUniqueId().toString(), money);
    152.         saveconfig();
    153.     }
    154.    
    155.     public void removeCoins(Player p, int amount) {
    156.         int currentmoney = (int) cfconfig.get(p.getUniqueId().toString());
    157.         if(currentmoney >= amount) {
    158.             cfconfig.set(p.getUniqueId().toString(), currentmoney - amount);
    159.         }else {
    160.             cfconfig.set(p.getUniqueId().toString(), 0);
    161.         }
    162.         saveconfig();
    163.     }
    164.    
    165.     public void resetCoins(Player p) {
    166.         cfconfig.set(p.getUniqueId().toString(), 0);
    167.         saveconfig();
    168.     }
    169.    
    170.     public Integer getCoins(Player p) {
    171.         return (Integer) Integer.getInteger((String) cfconfig.get(p.getUniqueId().toString())).intValue();
    172.     }
    173.    
    174.     public String prefix() {
    175.         return "§6§l§o" + name + " §7» ";
    176.     }
    177.    
    178.     public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    179.             if (cmd.getName().equalsIgnoreCase("coins")) {
    180.                 if(sender instanceof Player) {
    181.                     Player p = (Player)sender;
    182.                    
    183.                     if(cfconfig.contains(p.getUniqueId().toString()) == false) {
    184.                         cfconfig.set(p.getUniqueId().toString(), 5000);
    185.                         saveconfig();
    186.                     }
    187.                    
    188.                     if(args.length == 0) {
    189.                         p.sendMessage(prefix() + "⛀⛁⛃⛂");
    190.                         p.sendMessage(prefix() + "§7Du hast§e " + cfconfig.get(p.getUniqueId().toString()) + " §7Coins");
    191.                         p.sendMessage(prefix() + "⛀⛁⛃⛂");
    192.                     }else {
    193.                         if(args.length >= 1 && args.length <= 3) {
    194.                             if(args[0].equalsIgnoreCase("help") || args[0].equalsIgnoreCase("?")) {
    195.                                 p.sendMessage(prefix() + "⛀⛁⛃⛂");
    196.                                 p.sendMessage(prefix() + "§aUm deine Coins zu sehen: §7/coins");
    197.                                 p.sendMessage(prefix() + "§aUm Coins anderer Spieler zu sehen: §7/coins §aSpieler");
    198.                                 p.sendMessage(prefix() + "§aUm Spieler etwas von deinen Coins abzugeben: §7/coins give §bSpieler §eBetrag");
    199.                                 if(p.hasPermission("coins.admin")) {
    200.                                     p.sendMessage(prefix() + "§aUm weitere Befehle zu sehen: §7/coins admin");
    201.                                 }
    202.                                 p.sendMessage(prefix() + "⛀⛁⛃⛂");
    203.                             }else if(args[0].equalsIgnoreCase("admin")) {
    204.                                 if(p.hasPermission("coins.admin") || p.hasPermission("coins.*")) {
    205.                                     p.sendMessage(prefix() + "⛀⛁⛃⛂");
    206.                                     p.sendMessage(prefix() + "§aUm einem Spieler Coins hinzuzufügen: §7/coins add §aSpieler §eBetrag");
    207.                                     p.sendMessage(prefix() + "§aUm einem Spieler Coins zu nehmen: §7/coins remove §cSpieler §eBetrag");
    208.                                     p.sendMessage(prefix() + "§aCoins eines Spielers setzen: §7/coins set §bSpieler §eBetrag");
    209.                                     p.sendMessage(prefix() + "§aCoins eines Spielers zurück setzen: §7/coins reset §cSpieler");
    210.                                     p.sendMessage(prefix() + "⛀⛁⛃⛂");
    211.                                 }else {
    212.                                     p.sendMessage(prefix() + "⛀⛁⛃⛂");
    213.                                     p.sendMessage(prefix() + "§7Es tut mir leid, aber du darfst diesen Befehl icht benutzen!");
    214.                                     p.sendMessage(prefix() + "§7Fehlende Permission: §ccoins.admin");
    215.                                     p.sendMessage(prefix() + "⛀⛁⛃⛂");
    216.                                 }
    217.                             }else if(args[0].equalsIgnoreCase("give")) {
    218.                                 if(args.length != 3) {
    219.                                     p.sendMessage(prefix() + "⛀⛁⛃⛂");
    220.                                     p.sendMessage(prefix() + "§7/coins give §aSpieler §eBetrag");
    221.                                     p.sendMessage(prefix() + "§aMit diesem Befehl kannst du anderen Spielern Geld übertragen!");
    222.                                     p.sendMessage(prefix() + "⛀⛁⛃⛂");
    223.                                 }else {
    224.                                     @SuppressWarnings("deprecation")
    225.                                     OfflinePlayer empf = Bukkit.getOfflinePlayer(args[1].toString());
    226.                                     if(empf != null) {
    227.                                         if(isNumeric(args[2])) {
    228.                                             int currentmoney = (int) cfconfig.get(p.getUniqueId().toString());
    229.                                             int amount = Integer.parseInt(args[2]);
    230.                                             if(currentmoney >= amount) {
    231.                                                 removeCoins(p, amount);
    232.                                                 addCoins(empf.getPlayer(), amount);
    233.                                                 p.sendMessage(prefix() + "⛀⛁⛃⛂");
    234.                                                 p.sendMessage(prefix() + "§7Du hast §a" + args[1] + "§e " + args[2] + " §7Coins gegeben!");
    235.                                                 p.sendMessage(prefix() + "⛀⛁⛃⛂");
    236.                                                 if(empf.isOnline()) {
    237.                                                     Player p2 = empf.getPlayer();
    238.                                                     p2.sendMessage(prefix() + "⛀⛁⛃⛂");
    239.                                                     p2.sendMessage(prefix() + "§7Du hast von §a" + args[1] + "§e " + args[2] + " §7Coins bekommen!");
    240.                                                     p2.sendMessage(prefix() + "⛀⛁⛃⛂");
    241.                                                 }
    242.                                             }else {
    243.                                                 p.sendMessage(prefix() + "⛀⛁⛃⛂");
    244.                                                 p.sendMessage(prefix() + "§7Oh, wie es scheint hast du keine §c" + args[2].toString() + " §7Coins!");
    245.                                                 p.sendMessage(prefix() + "⛀⛁⛃⛂");
    246.                                             }
    247.                                         }else {
    248.                                             p.sendMessage(prefix() + "⛀⛁⛃⛂");
    249.                                             p.sendMessage(prefix() + "§7Oh, wie es scheint ist §c" + args[2].toString() + " §7keine ungültige Zahl!");
    250.                                             p.sendMessage(prefix() + "⛀⛁⛃⛂");
    251.                                         }
    252.                                     }else {
    253.                                         p.sendMessage(prefix() + "⛀⛁⛃⛂");
    254.                                         p.sendMessage(prefix() + "§7Oh, wie es scheint existiert der Spieler §c" + args[1].toString() + " §7nicht!");
    255.                                         p.sendMessage(prefix() + "⛀⛁⛃⛂");
    256.                                     }
    257.                                 }
    258.                             }else if(args[0].equalsIgnoreCase("add")) {
    259.                                 if(p.hasPermission("coins.add") || p.hasPermission("coins.*")) {
    260.                                     if(args.length != 3) {
    261.                                         p.sendMessage(prefix() + "⛀⛁⛃⛂");
    262.                                         p.sendMessage(prefix() + "§7/coins add §aSpieler §eBetrag");
    263.                                         p.sendMessage(prefix() + "§aMit diesem Befehl kannst du anderen Spielern Geld hinzufügen!");
    264.                                         p.sendMessage(prefix() + "⛀⛁⛃⛂");
    265.                                     }else {
    266.                                         @SuppressWarnings("deprecation")
    267.                                         OfflinePlayer empf = Bukkit.getOfflinePlayer(args[1].toString());
    268.                                         if(empf != null) {
    269.                                             if(isNumeric(args[2])) {
    270.                                                 int amount = Integer.parseInt(args[2]);
    271.                                                     addCoins(empf.getPlayer(), amount);
    272.                                                     p.sendMessage(prefix() + "⛀⛁⛃⛂");
    273.                                                     p.sendMessage(prefix() + "§7Du hast §a" + args[1] + "§e " + args[2] + " §7Coins hinzugefügt!");
    274.                                                     p.sendMessage(prefix() + "⛀⛁⛃⛂");
    275.                                                     if(empf.isOnline()) {
    276.                                                         Player p2 = empf.getPlayer();
    277.                                                         p2.sendMessage(prefix() + "⛀⛁⛃⛂");
    278.                                                         p2.sendMessage(prefix() + "§7Du hast von §a" + args[1] + "§e " + args[2] + " §7Coins hinzugefügt bekommen!");
    279.                                                         p2.sendMessage(prefix() + "⛀⛁⛃⛂");
    280.                                                     }
    281.                                             }else {
    282.                                                 p.sendMessage(prefix() + "⛀⛁⛃⛂");
    283.                                                 p.sendMessage(prefix() + "§7Oh, wie es scheint ist §c" + args[2].toString() + " §7keine ungültige Zahl!");
    284.                                                 p.sendMessage(prefix() + "⛀⛁⛃⛂");
    285.                                             }
    286.                                         }else {
    287.                                             p.sendMessage(prefix() + "⛀⛁⛃⛂");
    288.                                             p.sendMessage(prefix() + "§7Oh, wie es scheint existiert der Spieler §c" + args[1].toString() + " §7nicht!");
    289.                                             p.sendMessage(prefix() + "⛀⛁⛃⛂");
    290.                                         }
    291.                                     }
    292.                                 }else {
    293.                                     noPermission(p, "coins.add");
    294.                                 }
    295.                             }else if(args[0].equalsIgnoreCase("remove")) {
    296.                                 if(p.hasPermission("coins.remove") || p.hasPermission("coins.*")) {
    297.                                     if(args.length != 3) {
    298.                                         p.sendMessage(prefix() + "⛀⛁⛃⛂");
    299.                                         p.sendMessage(prefix() + "§7/coins remove §aSpieler §eBetrag");
    300.                                         p.sendMessage(prefix() + "§aMit diesem Befehl kannst du anderen Spielern Geld weg nehmen!");
    301.                                         p.sendMessage(prefix() + "⛀⛁⛃⛂");
    302.                                     }else {
    303.                                         @SuppressWarnings("deprecation")
    304.                                         OfflinePlayer empf = Bukkit.getOfflinePlayer(args[1].toString());
    305.                                         if(empf != null) {
    306.                                             if(isNumeric(args[2])) {
    307.                                                 int amount = Integer.parseInt(args[2]);
    308.                                                     removeCoins(empf.getPlayer(), amount);
    309.                                                     p.sendMessage(prefix() + "⛀⛁⛃⛂");
    310.                                                     p.sendMessage(prefix() + "§7Du hast §a" + args[1] + "§e " + args[2] + " §7Coins weg genommen!");
    311.                                                     p.sendMessage(prefix() + "⛀⛁⛃⛂");
    312.                                                     if(empf.isOnline()) {
    313.                                                         Player p2 = empf.getPlayer();
    314.                                                         p2.sendMessage(prefix() + "⛀⛁⛃⛂");
    315.                                                         p2.sendMessage(prefix() + "§7Du hast von §a" + args[1] + "§e " + args[2] + " §7Coins weg genommen bekommen!");
    316.                                                         p2.sendMessage(prefix() + "⛀⛁⛃⛂");
    317.                                                     }
    318.                                             }else {
    319.                                                 p.sendMessage(prefix() + "⛀⛁⛃⛂");
    320.                                                 p.sendMessage(prefix() + "§7Oh, wie es scheint ist §c" + args[2].toString() + " §7keine ungültige Zahl!");
    321.                                                 p.sendMessage(prefix() + "⛀⛁⛃⛂");
    322.                                             }
    323.                                         }else {
    324.                                             p.sendMessage(prefix() + "⛀⛁⛃⛂");
    325.                                             p.sendMessage(prefix() + "§7Oh, wie es scheint existiert der Spieler §c" + args[1].toString() + " §7nicht!");
    326.                                             p.sendMessage(prefix() + "⛀⛁⛃⛂");
    327.                                         }
    328.                                     }
    329.                                 }else {
    330.                                     noPermission(p, "coins.remove");
    331.                                 }
    332.                             }else if(args[0].equalsIgnoreCase("dev")) {
    333.                                 if(args.length == 2) {
    334.                                     @SuppressWarnings("deprecation")
    335.                                     OfflinePlayer p2 = Bukkit.getOfflinePlayer(args[1]);
    336.                                     p.sendMessage("Status for you arg: " + cfconfig.getStringList(p2.getUniqueId().toString()));
    337.                                     p.sendMessage("Status for your arg: " + cfconfig.contains(p2.getUniqueId().toString()));
    338.                                 }
    339.                             }else if(args[0].equalsIgnoreCase("set")) {
    340.                                     if(p.hasPermission("coins.set") || p.hasPermission("coins.*")) {
    341.                                         if(args.length != 3) {
    342.                                             p.sendMessage(prefix() + "⛀⛁⛃⛂");
    343.                                             p.sendMessage(prefix() + "§7/coins set §aSpieler §eBetrag");
    344.                                             p.sendMessage(prefix() + "§aMit diesem Befehl kannst du den Account anderer Spieler auf eine bestimmte Anzahl von Coins setzen!");
    345.                                             p.sendMessage(prefix() + "⛀⛁⛃⛂");
    346.                                         }else {
    347.                                             //@SuppressWarnings("deprecation")
    348.                                             Player empf = Bukkit.getPlayer(args[1].toString());
    349.                                             if(empf != null && empf.hasPlayedBefore()) {
    350.                                                 if(isNumeric(args[2])) {
    351.                                                             int amount = Integer.parseInt(args[2]);
    352.                                                             setCoins(empf.getPlayer(), amount);
    353.                                                             p.sendMessage(prefix() + "⛀⛁⛃⛂");
    354.                                                             p.sendMessage(prefix() + "§7Du hast den Account von §a" + args[1] + "§7 auf §e" + args[2] + " §7gesetzt!");
    355.                                                             p.sendMessage(prefix() + "⛀⛁⛃⛂");
    356.                                                                 if(empf.isOnline()) {
    357.                                                                     Player p2 = empf.getPlayer();
    358.                                                                     p2.sendMessage(prefix() + "⛀⛁⛃⛂");
    359.                                                                     p2.sendMessage(prefix() + "§7Dein Account wurde von §a" + args[1] + "§7 auf §e" + args[2] + " §7Coins gesetzt!!");
    360.                                                                     p2.sendMessage(prefix() + "⛀⛁⛃⛂");
    361.                                                                 }
    362.                                                     }else {
    363.                                                         p.sendMessage(prefix() + "⛀⛁⛃⛂");
    364.                                                         p.sendMessage(prefix() + "§7Oh, wie es scheint ist §c" + args[2].toString() + " §7keine ungültige Zahl!");
    365.                                                         p.sendMessage(prefix() + "⛀⛁⛃⛂");
    366.                                                     }
    367.                                             }else {
    368.                                                 p.sendMessage(prefix() + "⛀⛁⛃⛂");
    369.                                                 p.sendMessage(prefix() + "§7Oh, wie es scheint existiert der Spieler §c" + args[1].toString() + " §7nicht!");
    370.                                                 p.sendMessage(prefix() + "⛀⛁⛃⛂");
    371.                                             }
    372.                                         }
    373.                                     }else {
    374.                                         noPermission(p, "coins.set");
    375.                                     }
    376.                             }else if(args[0].equalsIgnoreCase("reset")) {
    377.                                 if(p.hasPermission("coins.reset") || p.hasPermission("coins.*")) {
    378.                                     if(args.length != 2) {
    379.                                         p.sendMessage(prefix() + "⛀⛁⛃⛂");
    380.                                         p.sendMessage(prefix() + "§7/coins reset §aSpieler");
    381.                                         p.sendMessage(prefix() + "§aMit diesem Befehl kannst du den Account anderer Spieler zurück setzen!");
    382.                                         p.sendMessage(prefix() + "⛀⛁⛃⛂");
    383.                                     }else {
    384.                                         Player empf = Bukkit.getPlayer(args[1].toString());
    385.                                         if(empf != null) {
    386.                                                 resetCoins(empf.getPlayer());
    387.                                                 p.sendMessage(prefix() + "⛀⛁⛃⛂");
    388.                                                 p.sendMessage(prefix() + "§7Du hast den Account von §a" + args[1] + "§7 zurück gesetzt!");
    389.                                                 p.sendMessage(prefix() + "⛀⛁⛃⛂");
    390.                                                 if(empf.isOnline()) {
    391.                                                     Player p2 = empf.getPlayer();
    392.                                                     p2.sendMessage(prefix() + "⛀⛁⛃⛂");
    393.                                                     p2.sendMessage(prefix() + "§7Dein Account wurde von §a" + args[1] + "§7 zurück gesetzt!");
    394.                                                     p2.sendMessage(prefix() + "⛀⛁⛃⛂");
    395.                                                 }
    396.                                         }else {
    397.                                             p.sendMessage(prefix() + "⛀⛁⛃⛂");
    398.                                             p.sendMessage(prefix() + "§7Oh, wie es scheint existiert der Spieler §c" + args[1].toString() + " §7nicht!");
    399.                                             p.sendMessage(prefix() + "⛀⛁⛃⛂");
    400.                                         }
    401.                                     }
    402.                                 }else {
    403.                                     noPermission(p, "coins.reset");
    404.                                 }
    405.                             }else {
    406.                                 @SuppressWarnings("deprecation")
    407.                                 OfflinePlayer p2 = Bukkit.getOfflinePlayer(args[0]);
    408.                                 if(p2 != null) {
    409.                                     if(cfconfig.contains(p2.getUniqueId().toString()) == false) {
    410.                                         cfconfig.set(p2.getUniqueId().toString(), 5000);
    411.                                         saveconfig();
    412.                                     }
    413.                                    
    414.                                     if(cfconfig.contains(p2.getUniqueId().toString())) {
    415.                                         p.sendMessage(prefix() + "⛀⛁⛃⛂");
    416.                                         p.sendMessage(prefix() + "§7Der Spieler §a" + args[0] + "§7 hat §e" + cfconfig.get(p2.getUniqueId().toString()) + " §7Coins!");
    417.                                         p.sendMessage(prefix() + "⛀⛁⛃⛂");
    418.                                     }else {
    419.                                         p.sendMessage(prefix() + "⛀⛁⛃⛂");
    420.                                         p.sendMessage(prefix() + "§7Oh, wie es scheint existiert der Spieler §c" + args[0].toString() + " §7nicht!");
    421.                                         p.sendMessage(prefix() + "⛀⛁⛃⛂");
    422.                                     }
    423.                                 }else {
    424.                                     wrongArgument(p, "§7Oh, wie es aussieht, ist kein Spieler mit dem Namen §c " + args[0] + "§7 online!");
    425.                                 }
    426.                             }
    427.                         }else {
    428.                             p.sendMessage(prefix() + "§cFehler! §aHilfe gibt es bei §e/coins hilfe/?");
    429.                         }
    430.                     }
    431.                 } else
    432.                     sender.sendMessage(prefix() + "§7Du kannst als §cKonsole§7 diesen Befehl nicht benutzen!");
    433.          }
    434.  
    435.  
    436.         return true;
    437.       }
    438.    
    439.     public void sendMessage(String msg) {
    440.          org.bukkit.Bukkit.getServer().getLogger().info(msg);
    441.     }
    442.    
    443.     public void wrongArgument(Player p, String text) {
    444.         p.sendMessage(prefix() + "⛀⛁⛃⛂");
    445.         p.sendMessage(prefix() + text);
    446.         p.sendMessage(prefix() + "⛀⛁⛃⛂");
    447.     }
    448.    
    449.     public void noPermission(Player p,String perm) {
    450.         p.sendMessage(prefix() + "⛀⛁⛃⛂");
    451.         p.sendMessage(prefix() + "§7Es tut mir leid, aber du darfst diesen Befehl icht benutzen!");
    452.         p.sendMessage(prefix() + "§7Fehlende Permission: §c" + perm);
    453.         p.sendMessage(prefix() + "⛀⛁⛃⛂");
    454.     }
    455.    
    456.     public static boolean isNumeric(String str)
    457.     {
    458.       return str.matches("-?\\d+(\\.\\d+)?");  //match a number with optional '-' and decimal.
    459.     }
    460.    
    461.     public void saveconfig() {
    462.        
    463.          try {
    464.              cfconfig.options().copyDefaults(true);
    465.              cfconfig.save(coinsFile);
    466.          }catch(Exception e){
    467.              sendMessage("[Coins] Failed saving config:");
    468.              sendMessage("[Coins] " + e.toString());
    469.          }
    470.        
    471.        
    472.     }
    473.    
    474.    
    475. }
    476.  
    The Skript:

    Code (Skript):
    1. on npc right click:
    2.     if citizen is 0:
    3.         cancel event
    4.         open "CHEST" with 4 rows named "            &7&lHändler" to player
    5.         format slot 10 of player with shears named "&7&lScherre" with lore "&a100 &2Coins" to be unstealable
    6.         format slot 12 of player with iron shovel named "&7&lSchaufel" with lore "&a50 &2Coins" to be unstealable
    7.         format slot 13 of player with iron pickaxe named "&7&lSpitzhacke" with lore "&a150 &2Coins" to be unstealable
    8.         format slot 14 of player with iron axe named "&7&lAxt" with lore "&a150 &2Coins" to be unstealable
    9.         format slot 16 of player with fishing rod named "&7&lAngel" with lore "&a25 &2Coins" to be unstealable
    10.         format slot 19 of player with shears of efficiency 5 and unbreaking 3 named "&7&lScherre" with lore "&a200 &2Coins" to be unstealable
    11.         format slot 21 of player with iron shovel of efficiency 5, silk touch 1 and unbreaking 3 named "&7&lSchaufel" with lore "&a350 &2Coins" to be unstealable
    12.         format slot 22 of player with iron pickaxe of efficiency 5, silk touch 1 and unbreaking 3 named "&7&lSpitzhacke" with lore "&a450 &2Coins" to be unstealable
    13.         format slot 23 of player with iron axe of efficiency 5, silk touch 1 and unbreaking 3 named "&7&lAxt" with lore "&a450 &2Coins" to be unstealable
    14.         format slot 25 of player with fishing rod of efficiency 5 and unbreaking 3 named "&7&lAngel" with lore "&a125 &2Coins" to be unstealable
    15.  
    16. command /buyitems [<player>] [<item>]:
    17.     trigger:
    18.         executor is console:
    19.             send "X"
    20.         else:
    21.             send "&cMaybe you will execute this command, maybe not."
    22.             #add 100 to player's coins
    23.            
    24. command /testcoins [<text>]:
    25.     trigger:
    26.         player is "SeltixSub":
    27.             arg is "1":
    28.                 set player's coins to 1000
    29.             arg is "2":
    30.                 add 1001 to player's coins
    31.             arg is "3":
    32.                 remove 11 of player's coins
    33.             arg is "4":
    34.                 reset player's coins
    35.             arg is "5":
    36.                 send "Coins: %player's coins%"
    If you need more than this, just write it down below.

    Thanks for reading & helping! :emoji_grinning:

    - Daniel
     
  2. ImOfflinezzz

    Addon Developer

    Joined:
    Jan 24, 2017
    Messages:
    73
    Likes Received:
    10
    My apologize is that you are trying to write INT value to config when there's might be STRING
     

Share This Page

Loading...