Bow Spleef

Bow Spleef

1M Downloads

Any builds for the latest version (compatible with 1.14.4)?

jozsefsallai opened this issue ยท 5 comments

commented

Sorry for bumping a seemingly archived project, but the latest release of this plugin on Bukkit is from 2016. Do you have a more recent build that includes the changes required for the plugin to work on 1.14 servers (built from the current master branch)? The version from 2016 works fine but there are a few issues, the biggest issue being that the game can't end.

When you die in a spleef game, the game teleports you to the lobby and throws this error in the console (the game doesn't acknowledge that the player died, so the player count is still stuck at 2 and will forever be, even if all players died):

[22:32:32 ERROR]: Could not pass event PlayerMoveEvent to BowSpleef v1.4.1
java.lang.IllegalArgumentException: Size for custom inventory must be a multiple of 9 between 9 and 54 slots (got 41)
at org.apache.commons.lang.Validate.isTrue(Validate.java:136) ~[patched_1.14.4.jar:git-Paper-226]
at org.bukkit.craftbukkit.v1_14_R1.CraftServer.createInventory(CraftServer.java:1620) ~[patched_1.14.4.jar:git-Paper-226]
at me.elliottolson.bowspleef.manager.PlayerManager.retrieveInventory(PlayerManager.java:62) ~[?:?]
at me.elliottolson.bowspleef.game.Game.removePlayer(Game.java:247) ~[?:?]
at me.elliottolson.bowspleef.listeners.GameListener.onMove(GameListener.java:129) ~[?:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor31.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.14.4.jar:git-Paper-226]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[patched_1.14.4.jar:git-Paper-226]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.14.4.jar:git-Paper-226]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:545) ~[patched_1.14.4.jar:git-Paper-226]
at net.minecraft.server.v1_14_R1.PlayerConnection.a(PlayerConnection.java:1103) ~[patched_1.14.4.jar:git-Paper-226]
at net.minecraft.server.v1_14_R1.PacketPlayInFlying.a(SourceFile:126) ~[patched_1.14.4.jar:git-Paper-226]
at net.minecraft.server.v1_14_R1.PacketPlayInFlying$PacketPlayInPosition.a(SourceFile:57) ~[patched_1.14.4.jar:git-Paper-226]
at net.minecraft.server.v1_14_R1.PlayerConnectionUtils.lambda$ensureMainThread$0(PlayerConnectionUtils.java:23) ~[patched_1.14.4.jar:git-Paper-226]
at net.minecraft.server.v1_14_R1.TickTask.run(SourceFile:18) ~[patched_1.14.4.jar:git-Paper-226]
at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:136) ~[patched_1.14.4.jar:git-Paper-226]
at net.minecraft.server.v1_14_R1.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) ~[patched_1.14.4.jar:git-Paper-226]
at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:109) ~[patched_1.14.4.jar:git-Paper-226]
at net.minecraft.server.v1_14_R1.MinecraftServer.aX(MinecraftServer.java:1029) ~[patched_1.14.4.jar:git-Paper-226]
at net.minecraft.server.v1_14_R1.MinecraftServer.executeNext(MinecraftServer.java:1022) ~[patched_1.14.4.jar:git-Paper-226]
at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:119) ~[patched_1.14.4.jar:git-Paper-226]
at net.minecraft.server.v1_14_R1.MinecraftServer.sleepForTick(MinecraftServer.java:1006) ~[patched_1.14.4.jar:git-Paper-226]
at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:929) ~[patched_1.14.4.jar:git-Paper-226]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_212]

Other issues include not being able to use kits (throws an error but I guess it's not important since you removed kits anyway), the Leave item in the hotbar does nothing (and doesn't throw an error), /bs leave doesn't work, throws error:

[22:36:07 ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'bs' in plugin BowSpleef v1.4.1
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:47) ~[patched_1.14.4.jar:git-Paper-226]
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:159) ~[patched_1.14.4.jar:git-Paper-226]
at org.bukkit.craftbukkit.v1_14_R1.CraftServer.dispatchCommand(CraftServer.java:739) ~[patched_1.14.4.jar:git-Paper-226]
at net.minecraft.server.v1_14_R1.PlayerConnection.handleCommand(PlayerConnection.java:1800) ~[patched_1.14.4.jar:git-Paper-226]
at net.minecraft.server.v1_14_R1.PlayerConnection.a(PlayerConnection.java:1608) ~[patched_1.14.4.jar:git-Paper-226]
at net.minecraft.server.v1_14_R1.PacketPlayInChat.a(PacketPlayInChat.java:47) ~[patched_1.14.4.jar:git-Paper-226]
at net.minecraft.server.v1_14_R1.PacketPlayInChat.a(PacketPlayInChat.java:5) ~[patched_1.14.4.jar:git-Paper-226]
at net.minecraft.server.v1_14_R1.PlayerConnectionUtils.lambda$ensureMainThread$0(PlayerConnectionUtils.java:23) ~[patched_1.14.4.jar:git-Paper-226]
at net.minecraft.server.v1_14_R1.TickTask.run(SourceFile:18) ~[patched_1.14.4.jar:git-Paper-226]
at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:136) ~[patched_1.14.4.jar:git-Paper-226]
at net.minecraft.server.v1_14_R1.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) ~[patched_1.14.4.jar:git-Paper-226]
at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:109) ~[patched_1.14.4.jar:git-Paper-226]
at net.minecraft.server.v1_14_R1.MinecraftServer.aX(MinecraftServer.java:1029) ~[patched_1.14.4.jar:git-Paper-226]
at net.minecraft.server.v1_14_R1.MinecraftServer.executeNext(MinecraftServer.java:1022) ~[patched_1.14.4.jar:git-Paper-226]
at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:119) ~[patched_1.14.4.jar:git-Paper-226]
at net.minecraft.server.v1_14_R1.MinecraftServer.sleepForTick(MinecraftServer.java:1006) ~[patched_1.14.4.jar:git-Paper-226]
at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:929) ~[patched_1.14.4.jar:git-Paper-226]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_212]
Caused by: java.lang.IllegalArgumentException: Size for custom inventory must be a multiple of 9 between 9 and 54 slots (got 41)
at org.apache.commons.lang.Validate.isTrue(Validate.java:136) ~[patched_1.14.4.jar:git-Paper-226]
at org.bukkit.craftbukkit.v1_14_R1.CraftServer.createInventory(CraftServer.java:1620) ~[patched_1.14.4.jar:git-Paper-226]
at me.elliottolson.bowspleef.manager.PlayerManager.retrieveInventory(PlayerManager.java:62) ~[?:?]
at me.elliottolson.bowspleef.game.Game.removePlayer(Game.java:247) ~[?:?]
at me.elliottolson.bowspleef.commands.LeaveCommand.execute(LeaveCommand.java:35) ~[?:?]
at me.elliottolson.bowspleef.commands.Command.run(Command.java:52) ~[?:?]
at me.elliottolson.bowspleef.commands.CommandProcessor.onCommand(CommandProcessor.java:29) ~[?:?]
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[patched_1.14.4.jar:git-Paper-226]
... 17 more

Compiling it from source with spigot-1.14.4.jar and JDK 13.0.2 results in the following error:

[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] /D:/Work/Bow-Spleef/src/main/java/me/elliottolson/bowspleef/manager/PlayerManager.java:[13,18] cannot find symbol
  symbol:   class NamespacedKey
  location: package org.bukkit
[ERROR] /D:/Work/Bow-Spleef/src/main/java/me/elliottolson/bowspleef/game/Game.java:[109,57] cannot find symbol
  symbol:   variable RED_BED
  location: class org.bukkit.Material
[ERROR] /D:/Work/Bow-Spleef/src/main/java/me/elliottolson/bowspleef/game/Game.java:[178,61] cannot find symbol
  symbol:   variable RED_BED
  location: class org.bukkit.Material
[ERROR] /D:/Work/Bow-Spleef/src/main/java/me/elliottolson/bowspleef/listeners/GameListener.java:[32,51] cannot find symbol
  symbol:   variable RED_BED
  location: class org.bukkit.Material
[ERROR] /D:/Work/Bow-Spleef/src/main/java/me/elliottolson/bowspleef/manager/PlayerManager.java:[48,69] cannot find symbol
  symbol:   method getKey()
  location: class org.bukkit.enchantments.Enchantment
[ERROR] /D:/Work/Bow-Spleef/src/main/java/me/elliottolson/bowspleef/manager/PlayerManager.java:[88,60] cannot find symbol
  symbol:   variable NamespacedKey
  location: class me.elliottolson.bowspleef.manager.PlayerManager
[INFO] 6 errors 
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  4.318 s
[INFO] Finished at: 2020-03-09T22:40:23+02:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project BowSpleef: Compilation failure: Compilation failure: 
[ERROR] /D:/Work/Bow-Spleef/src/main/java/me/elliottolson/bowspleef/manager/PlayerManager.java:[13,18] cannot find symbol
[ERROR]   symbol:   class NamespacedKey
[ERROR]   location: package org.bukkit
[ERROR] /D:/Work/Bow-Spleef/src/main/java/me/elliottolson/bowspleef/game/Game.java:[109,57] cannot find symbol
[ERROR]   symbol:   variable RED_BED
[ERROR]   location: class org.bukkit.Material
[ERROR] /D:/Work/Bow-Spleef/src/main/java/me/elliottolson/bowspleef/game/Game.java:[178,61] cannot find symbol
[ERROR]   symbol:   variable RED_BED
[ERROR]   location: class org.bukkit.Material
[ERROR] /D:/Work/Bow-Spleef/src/main/java/me/elliottolson/bowspleef/listeners/GameListener.java:[32,51] cannot find symbol
[ERROR]   symbol:   variable RED_BED
[ERROR]   location: class org.bukkit.Material
[ERROR] /D:/Work/Bow-Spleef/src/main/java/me/elliottolson/bowspleef/manager/PlayerManager.java:[48,69] cannot find symbol
[ERROR]   symbol:   method getKey()
[ERROR]   location: class org.bukkit.enchantments.Enchantment
[ERROR] /D:/Work/Bow-Spleef/src/main/java/me/elliottolson/bowspleef/manager/PlayerManager.java:[88,60] cannot find symbol
[ERROR]   symbol:   variable NamespacedKey
[ERROR]   location: class me.elliottolson.bowspleef.manager.PlayerManager
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

(maybe I'm doing something wrong here?)

Edit: If you're not interested in this project anymore, may I fork it and rewrite some stuff (and perhaps maintain it further)? I'll give you full credit for the original code, of course.

Edit 2: I just noticed that there's another repo (https://github.com/elliottolson/bowspleef), so I might have misplaced my issue. Sorry! The link on Bukkit lead to this repo.

commented

Hi! Sorry for the delay in getting back to you. I was actually planning on recoding the entire plugin this week, so I'll make sure to address these issues for the 1.14 release.

commented

Neat! In the meantime, I made a fork that addresses these issues and more. Still not perfect and kind of WIP but it works. You can have a look if you want, maybe it can be helpful! It's based on the 1.4.0 version of the plugin that's available for download.

There's a pretty annoying issue that I couldn't get my head around: every time I restart the server, the plugin jar becomes a 0 byte file. I'd have to copy the plugin again and start the server again for it to work. If I remember correctly, this happened with the plugin jar I've downloaded from the website too.

commented

That's definitely a weird bug that I haven't encountered before. I'll take a look into that and make sure that it isn't in the next release.

Thank you so much for all your help! I'll take a look at your fork and see what modifications you've made ๐Ÿ‘

commented

That's definitely a weird bug that I haven't encountered before

The bug has to do with the automatic updater. I haven't had enough time to dive into it and figure out the actual problem, but I added an option in commit 26401a4 that allows you to disable automatic updates, as a workaround.

commented

I see you've been making a lot of progress in the past few days. Congrats, you're cool! :) I've recently upgraded my server to 1.15 and my fork seems to work fine, with smaller issues that I'll eventually fix. Can't wait to try your rewritten version though! If you need any help with testing or anything else, just lemme know here or on discord (infinitesplits#5293). Thank you for working on this!