Simple-ish SkyPvP

Discussion in 'Plugin Requests' started by CroaBeast, May 22, 2021.

  1. Offline

    CroaBeast

    Plugin category: Admin Tools, Fun
    Minecraft version: 1.8 - 1.16 (Mostly 1.16+)
    Java Version: 8+

    Suggested name: Greater SkyPvP

    What I want: A SkyPvP plugin, with those features:
    • Create, delete and equip kits.
    • Temporary Kits: Being able to use a kit in a period of time; and after it expires, your old inventory will be restored.
    • List of Enabled/Disabled worlds.
    • Replace feature: Enabled by default, when you equip a kit, all your inventory will be replaced with that specific kit. Per kit support
    • Equip feature: Enabled by default, the items that are equipped in your armor or your offhand when creating and saving your kit; they can be placed in those same slots. Per kit support
    • Duels: Create arenas (WorldEdit Support) for 1v1 duels using a specific kit. (This feature is completely independent and will not be mandatory to use the kits outside of duels and/or arenas)
    • Placeholders (PAPI support) for kills, deaths, the actual kit the player is using, etc (?:
      • %littleskypvp_deaths%
      • %littleskypvp_kills%
      • %littleskypvp_actualkit%
      • %littleskypvp_kills_<time>% >> it will display the number of kills in a period of time
        Examples: %littleskypvp_kills_2h%, %littleskypvp_kills_1d%, %littleskyp_kills_69m%, etc
      • %littleskypvp_deaths_<time>% >> the same as above
      • %littleskypvp_tempkit% >> it will display the time left for the temporary kit of the player to expire
    • Insta-Void Kill: The void immediately kills you when you touch it instead of keep taking damage when falling. This will be an option per world.
    Ideas for commands: The tag (Console) means that the command can be used in console
    • /skypyp kit create <name of the kit> <equip feature?> <replace feature?>
      Example: /adminkit create testkit true false
    • /skypyp kit delete <name of the kit>
    • (Console) /skypyp setvoidkill <world> <Y number/none>: 'none' means its disabled (Y number not necessary, it can be true/false)
      Examples: /setvoidkill world 30, /setvoidkill hello_world none, /setvoidkill survival -15
    • /skypyp arena create <name of the arena>: You need to have selected a WorldEdit area
    • /skypvp arena <name of the arena> set <0/1/2>: 0 means spawn or waiting lobby, 1 means first spawn of the 'fighter' and 2 means second spawn of the other 'fighter'
    • (Console) /arena <name of the arena> [player]: it will teleport you to the spawn of that arena. [player] means the target player.
    • (Console) /skykit <name of the kit> [player] [time]: It will give you the kit. [time] is optional, the time of expiration for the kit, [player] means the target player.
    • (Console) /skystats [player]: See your stats or the stats of the target player if it doesn't have another argument.
    Ideas for permissions:
    • greaterskypvp.defautl >> access to /kit, /arena but not to use the [player] argument
    • greaterskypvp.admin >> the rest of commands and able to use the [player] argument
    When I'd like it by: 1 week (Or if it's not, as soon as you can)
     
    Last edited: Jun 9, 2021
  2. Offline

    Mathias Eklund

    What version does the server run on that you are gonna be using it for?
     
  3. Offline

    CroaBeast

    1.16+
     
    Last edited: May 23, 2021
  4. Offline

    CroaBeast

    bump, still need help with this
     
  5. Offline

    CroaBeast

    bumping uwu
     
  6. Offline

    CroaBeast

    still bumping owo
     
  7. Offline

    Shqep

    This sounds like some sort of Duels + KitPvP? Have you tried configuring already made plugins? Chance of this being fulfilled is pretty low. I don't know if I can take it on myself either.
     
    davidclue likes this.
  8. Offline

    CroaBeast

    Yes, I already search a bunch of similar plugins (I try also Duels with KitPvP) and change its configs if that's what I wanted, and unfortunally, it doesn't.
    This is why I post this plugin request.

    PD: bumping
     
  9. Offline

    CroaBeast

    bump uwu
     
  10. Offline

    Shqep

    This is a pretty big request. I wouldn't have hopes up if I were you, but if no one has time and effort to take it on, I could try somewhat tomorrow.
    Good luck to anyone who dares to take this request lol.
     
    Xp10d3 likes this.
  11. Offline

    CroaBeast

  12. Offline

    CroaBeast

  13. Offline

    CroaBeast

    bump owo
     
  14. Offline

    Josh9722

    Just wondering, are all (or most) of these requests unpaid?
     
  15. Online

    timtower Administrator Administrator Moderator

    All are as we don't allow money talk on here.
     
    Josh9722 likes this.
  16. Offline

    davidclue

    @CroaBeast Nobody will do your request because you are asking for a complete remake of plugins made for probably 100's of dollars. Either tone down the insane amount of features or find somebody who works on these big projects but they will probably want money for it.
     
  17. Offline

    EzPzStreamz

    Started working on this, not sure how long it will take to get the core of your requests done. The kit feature is complete except for the timers as of right now.

    For the duels/arenas, is there a reason to need a region selection? I was thinking only the spawn points would really be necessary. If the server is already running WorldEdit I'd assume WorldGuard is as well and it would handle region protection.
     
    Shqep likes this.
  18. Offline

    Shqep

    Good luck! Also working on it but no promises I could get it done soon as I'm not entirely focused on the project.
     
    EzPzStreamz likes this.
  19. Offline

    EzPzStreamz

    I have everything you have listed complete with some slight modifications to make things organized/clean. All that's left is to make it more user-friendly with messages. Will probably create a config for those so you can customize them.
     
    Shqep likes this.
  20. Offline

    EzPzStreamz

    Well here it is. Will probably have to do more testing as I am limited on time/resources for that kind of stuff. Most of it was tested but it may just be minor things I missed.

    WorldEdit support was not added as I deemed it unnecessary. No feature is region-relative.
    PlaceholderAPI support was added but only the following placeholders currently exist:
    • %greaterskypvp_kills%
    • %greaterskypvp_deaths%
    • %greaterskypvp_kit%
    • %greaterskypvp_kills_<time>%
    • %greaterskypvp_deaths_<time>%
    Time is set with a number and then d for days, m for minutes, or h for hours. (example: %greaterskypvp_kills_10m%)

    The messages.json file will contain all configurable messages and colors codes are useable. All default messages contain the placeholders valid for per message. If you have any questions or find any bugs just let me know! I probably plan on releasing this if it feels solid enough and I refactor a bit of the lines.
     

    Attached Files:

  21. Offline

    CroaBeast

    Code:
    [10:23:15 ERROR]: Could not load 'plugins\GreaterSkyPvP-1.0-SNAPSHOT.jar' in folder 'plugins'
    org.bukkit.plugin.InvalidPluginException: java.lang.UnsupportedClassVersionError: me/ezpzstreamz/skypvp/GreaterSkyPvpPlugin has been compiled by a more recent version of the Java Runtime (class file version 59.0), this version of the Java Runtime only recognizes class file versions up to 55.0
            at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:151) ~[patched_1.16.5.jar:git-Purpur-1117]
            at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:397) ~[patched_1.16.5.jar:git-Purpur-1117]
            at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:305) ~[patched_1.16.5.jar:git-Purpur-1117]
            at org.bukkit.craftbukkit.v1_16_R3.CraftServer.loadPlugins(CraftServer.java:392) ~[patched_1.16.5.jar:git-Purpur-1117]
            at net.minecraft.server.v1_16_R3.DedicatedServer.init(DedicatedServer.java:264) ~[patched_1.16.5.jar:git-Purpur-1117]
            at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1071) ~[patched_1.16.5.jar:git-Purpur-1117]
            at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:292) ~[patched_1.16.5.jar:git-Purpur-1117]
            at java.lang.Thread.run(Thread.java:834) [?:?]
    Caused by: java.lang.UnsupportedClassVersionError: me/ezpzstreamz/skypvp/GreaterSkyPvpPlugin has been compiled by a more recent version of the Java Runtime (class file version 59.0), this version of the Java Runtime only recognizes class file versions up to 55.0
            at java.lang.ClassLoader.defineClass1(Native Method) ~[?:?]
            at java.lang.ClassLoader.defineClass(ClassLoader.java:1016) ~[?:?]
            at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174) ~[?:?]
            at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:199) ~[patched_1.16.5.jar:git-Purpur-1117]
            at java.lang.ClassLoader.loadClass(ClassLoader.java:588) ~[?:?]
            at org.bukkit.plugin.java.PluginClassLoader.loadClass0(PluginClassLoader.java:119) ~[patched_1.16.5.jar:git-Purpur-1117]
            at org.bukkit.plugin.java.PluginClassLoader.loadClass(PluginClassLoader.java:114) ~[patched_1.16.5.jar:git-Purpur-1117]
            at java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[?:?]
            at java.lang.Class.forName0(Native Method) ~[?:?]
            at java.lang.Class.forName(Class.java:398) ~[?:?]
            at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:82) ~[patched_1.16.5.jar:git-Purpur-1117]
            at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:147) ~[patched_1.16.5.jar:git-Purpur-1117]
            ... 7 more
    Hello, thanks for taking the time to make this, but the plugin doesn't load. u.u
     
  22. Offline

    davidclue

  23. Offline

    KarimAKL

    @CroaBeast To elaborate, your server is running Java 11 while the plugin is compiled with Java 15.
     
  24. Offline

    CroaBeast

    I'm still using Java 11 for compatibility.
    That's why I specify the Java Version in the main post.
     
  25. Online

    timtower Administrator Administrator Moderator

    You only specified 8+ though, this falls under 8+
     
  26. Offline

    CroaBeast

    Ok, I'm using Java 15, and I have this error. @EzPzStreamz
    Code:
    [14:01:38 INFO]: CroaBeast issued server command: /skykit create
    [14:01:38 ERROR]: null
    org.bukkit.command.CommandException: Unhandled exception executing command 'skykit' in plugin GreaterSkyPvP v1.0
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:47) ~[patched_1.16.5.jar:git-Purpur-1117]
            at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:172) ~[patched_1.16.5.jar:git-Purpur-1117]        at org.bukkit.craftbukkit.v1_16_R3.CraftServer.dispatchCommand(CraftServer.java:813) ~[patched_1.16.5.jar:git-Purpur-1117]
            at net.minecraft.server.v1_16_R3.PlayerConnection.handleCommand(PlayerConnection.java:2306) ~[patched_1.16.5.jar:git-Purpur-1117]
            at net.minecraft.server.v1_16_R3.PlayerConnection.c(PlayerConnection.java:2121) ~[patched_1.16.5.jar:git-Purpur-1117]
            at net.minecraft.server.v1_16_R3.PlayerConnection.a(PlayerConnection.java:2074) ~[patched_1.16.5.jar:git-Purpur-1117]
            at net.minecraft.server.v1_16_R3.PacketPlayInChat.a(PacketPlayInChat.java:50) ~[patched_1.16.5.jar:git-Purpur-1117]
            at net.minecraft.server.v1_16_R3.PacketPlayInChat.a(PacketPlayInChat.java:8) ~[patched_1.16.5.jar:git-Purpur-1117]
            at net.minecraft.server.v1_16_R3.PlayerConnectionUtils.lambda$ensureMainThread$1(PlayerConnectionUtils.java:55) ~[patched_1.16.5.jar:git-Purpur-1117]
            at net.minecraft.server.v1_16_R3.TickTask.run(SourceFile:18) ~[patched_1.16.5.jar:git-Purpur-1117]
            at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:136) ~[patched_1.16.5.jar:git-Purpur-1117]
            at net.minecraft.server.v1_16_R3.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) ~[patched_1.16.5.jar:git-Purpur-1117]
            at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:109) ~[patched_1.16.5.jar:git-Purpur-1117]
            at net.minecraft.server.v1_16_R3.MinecraftServer.bb(MinecraftServer.java:1336) ~[patched_1.16.5.jar:git-Purpur-1117]
            at net.minecraft.server.v1_16_R3.MinecraftServer.executeNext(MinecraftServer.java:1329) ~[patched_1.16.5.jar:git-Purpur-1117]
            at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:119) ~[patched_1.16.5.jar:git-Purpur-1117]
            at net.minecraft.server.v1_16_R3.MinecraftServer.sleepForTick(MinecraftServer.java:1305) ~[patched_1.16.5.jar:git-Purpur-1117]
            at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1149) ~[patched_1.16.5.jar:git-Purpur-1117]
            at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:292) ~[patched_1.16.5.jar:git-Purpur-1117]
            at java.lang.Thread.run(Thread.java:832) [?:?]
    Caused by: java.lang.NullPointerException: Cannot invoke "me.ezpzstreamz.skypvp.Kit.getItems()" because the return value of "java.util.Map.get(Object)" is null
            at me.ezpzstreamz.skypvp.managers.KitManager.getKitItems(KitManager.java:106) ~[?:?]
            at me.ezpzstreamz.skypvp.managers.KitManager.giveKit(KitManager.java:146) ~[?:?]
            at me.ezpzstreamz.skypvp.commands.CmdKit.onCommand(CmdKit.java:31) ~[?:?]
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[patched_1.16.5.jar:git-Purpur-1117]
            ... 19 more
     
  27. Offline

    EzPzStreamz

    Apologies, I accidentally uploaded an older version.

    This version will also run on Java 8
     

    Attached Files:

    Last edited: Jun 9, 2021
  28. Offline

    CroaBeast

    Hello, I was testing and have a few errors.
    1. When I give a player a temp kit, after the time expires, it doesn't restore the old inventory and this error appears in the console.
    Code:
    [13:02:44 INFO]: CroaBeast issued server command: /skypvp kit create hello true true
    [13:03:10 INFO]: CroaBeast issued server command: /skykit hello CroaBeast 3
    [13:03:13 WARN]: [GreaterSkyPvP] Task #22 for GreaterSkyPvP v1.0 generated an exception
    java.lang.NullPointerException: Cannot invoke "me.ezpzstreamz.skypvp.Kit.getItems()" because the return value of "java.util.Map.get(Object)" is null
            at me.ezpzstreamz.skypvp.managers.KitManager.getKitItems(KitManager.java:106) ~[?:?]
            at me.ezpzstreamz.skypvp.managers.KitManager.giveKit(KitManager.java:146) ~[?:?]
            at me.ezpzstreamz.skypvp.commands.CmdKit$KitBukkitRunnable.run(CmdKit.java:140) ~[?:?]
            at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftTask.run(CraftTask.java:100) ~[patched_1.16.5.jar:git-Purpur-1117]
            at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:468) ~[patched_1.16.5.jar:git-Purpur-1117]
            at net.minecraft.server.v1_16_R3.MinecraftServer.b(MinecraftServer.java:1500) ~[patched_1.16.5.jar:git-Purpur-1117]
            at net.minecraft.server.v1_16_R3.DedicatedServer.b(DedicatedServer.java:434) ~[patched_1.16.5.jar:git-Purpur-1117]
            at net.minecraft.server.v1_16_R3.MinecraftServer.a(MinecraftServer.java:1413) ~[patched_1.16.5.jar:git-Purpur-1117]
            at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1139) ~[patched_1.16.5.jar:git-Purpur-1117]
            at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:292) ~[patched_1.16.5.jar:git-Purpur-1117]
            at java.lang.Thread.run(Thread.java:832) [?:?]
    2. Also, when I parse %greaterskypvp_kit% after the temp kit expires, it displays the temp kit's name instead of don't display nothing. (Because the player does not have any kit before giving him a temp kit)
    3. I try to tp on an arena and I get this error in the console.
    Code:
    [13:46:52 INFO]: CroaBeast issued server command: /skypvp arena create start
    [13:47:40 INFO]: CroaBeast issued server command: /skypvp arena set start 0
    [13:47:43 INFO]: CroaBeast issued server command: /skypvp arena set start 1
    [13:47:47 INFO]: CroaBeast issued server command: /skypvp arena set start 2
    [13:47:53 INFO]: CroaBeast issued server command: /skyarena start CroaBeast
    [13:47:53 INFO]: Command ran
    [13:47:53 ERROR]: null
    org.bukkit.command.CommandException: Unhandled exception executing command 'skyarena' in plugin GreaterSkyPvP v1.0
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:47) ~[patched_1.16.5.jar:git-Purpur-1117]
            at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:172) ~[patched_1.16.5.jar:git-Purpur-1117]        at org.bukkit.craftbukkit.v1_16_R3.CraftServer.dispatchCommand(CraftServer.java:813) ~[patched_1.16.5.jar:git-Purpur-1117]
            at net.minecraft.server.v1_16_R3.PlayerConnection.handleCommand(PlayerConnection.java:2306) ~[patched_1.16.5.jar:git-Purpur-1117]
            at net.minecraft.server.v1_16_R3.PlayerConnection.c(PlayerConnection.java:2121) ~[patched_1.16.5.jar:git-Purpur-1117]
            at net.minecraft.server.v1_16_R3.PlayerConnection.a(PlayerConnection.java:2074) ~[patched_1.16.5.jar:git-Purpur-1117]
            at net.minecraft.server.v1_16_R3.PacketPlayInChat.a(PacketPlayInChat.java:50) ~[patched_1.16.5.jar:git-Purpur-1117]
            at net.minecraft.server.v1_16_R3.PacketPlayInChat.a(PacketPlayInChat.java:8) ~[patched_1.16.5.jar:git-Purpur-1117]
            at net.minecraft.server.v1_16_R3.PlayerConnectionUtils.lambda$ensureMainThread$1(PlayerConnectionUtils.java:55) ~[patched_1.16.5.jar:git-Purpur-1117]
            at net.minecraft.server.v1_16_R3.TickTask.run(SourceFile:18) ~[patched_1.16.5.jar:git-Purpur-1117]
            at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:136) ~[patched_1.16.5.jar:git-Purpur-1117]
            at net.minecraft.server.v1_16_R3.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) ~[patched_1.16.5.jar:git-Purpur-1117]
            at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:109) ~[patched_1.16.5.jar:git-Purpur-1117]
            at net.minecraft.server.v1_16_R3.MinecraftServer.bb(MinecraftServer.java:1336) ~[patched_1.16.5.jar:git-Purpur-1117]
            at net.minecraft.server.v1_16_R3.MinecraftServer.executeNext(MinecraftServer.java:1329) ~[patched_1.16.5.jar:git-Purpur-1117]
            at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:119) ~[patched_1.16.5.jar:git-Purpur-1117]
            at net.minecraft.server.v1_16_R3.MinecraftServer.sleepForTick(MinecraftServer.java:1305) ~[patched_1.16.5.jar:git-Purpur-1117]
            at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1149) ~[patched_1.16.5.jar:git-Purpur-1117]
            at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:292) ~[patched_1.16.5.jar:git-Purpur-1117]
            at java.lang.Thread.run(Thread.java:832) [?:?]
    Caused by: java.lang.ClassCastException: class java.lang.Float cannot be cast to class java.lang.Double (java.lang.Float and java.lang.Double are in module java.base of loader 'bootstrap')
            at me.ezpzstreamz.skypvp.Arena.getSpawnLocation(Arena.java:41) ~[?:?]
            at me.ezpzstreamz.skypvp.commands.CmdArena.onCommand(CmdArena.java:51) ~[?:?]
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[patched_1.16.5.jar:git-Purpur-1117]
            ... 19 more
     
  29. Offline

    EzPzStreamz

    Ok! Let me fix these, shouldn't be too long. I know the problem for each. The first is when the player did not have a previous kit correct?
     
  30. Offline

    CroaBeast

    Yes
     

Share This Page