Giter Site home page Giter Site logo

jukeboxapi's Introduction

JukeboxAPI Build Status

Java API and plugin for Jukebox, my web based music player.

Usage

Please see the SpigotMC resource for more information.

Support

If you need any assistance please email [email protected] or join our discord: discord.gg/N3TMTCH.

Maven Repository

If you use JukeboxAPI as a dependency for your plugin you can add it directly with the latest Jar file from the releases page or as a Maven dependency.

First you need to add the GitHub Packages repository:

<repositories>
    <repository>
        <id>github</id>
        <url>https://maven.pkg.github.com/oliverdunk/JukeboxAPI</url>
    </repository>
</repositories>

Then you need to add the dependency, with the latest version from the packages listing.

<dependency>
    <groupId>com.oliverdunk.MCJukebox-plugin</groupId>
    <artifactId>mcjukebox-plugin</artifactId>
    <version>VERSION</version>
</dependency>

jukeboxapi's People

Contributors

alainlardinois avatar mariadeanton avatar moutard3 avatar njb-said avatar oliverdunk avatar timvango avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jukeboxapi's Issues

Volume per Region

Volume per region should be added. And in conjunction with my previous feature request.
Like if you change region but not the url. The volume should update.

Compatiblility with IE, Opera, Edge

Not sure if issues with the web portion of this service should be posted here...

Using Internet Explorer 11 results in the website saying "Connecting..." but nothing ever happens. IE does not indicate that the page is loading, so I'm assuming some background element is failing to run. http://i.imgur.com/IrpkaUx.png

Using Opera, no sound is heard. It connects fine, getting the player's head, showing the volume controls and triggers a ClientConnectEvent. Just no sound is ever heard.

It works fine on Edge, albeit it looks like you still haven't got around to fixing the volume control visual (the invisible slider is draggable, though). http://i.imgur.com/F19jLz6.png

PlayerJoinEvent error

Hello,
I have just install MCJukebox and worldguard 7.0.0 and i have that in my console :

[11:36:23] [Server thread/ERROR]: Could not pass event PlayerJoinEvent to MCJukebox v2.5.3
org.bukkit.event.EventException: null
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:308) ~[spigot-1.13.1.jar:git-Spigot-0ede7d0-c88ae6b]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot-1.13.1.jar:git-Spigot-0ede7d0-c88ae6b]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:500) [spigot-1.13.1.jar:git-Spigot-0ede7d0-c88ae6b]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:485) [spigot-1.13.1.jar:git-Spigot-0ede7d0-c88ae6b]
at net.minecraft.server.v1_13_R2.PlayerList.onPlayerJoin(PlayerList.java:343) [spigot-1.13.1.jar:git-Spigot-0ede7d0-c88ae6b]
at net.minecraft.server.v1_13_R2.PlayerList.a(PlayerList.java:163) [spigot-1.13.1.jar:git-Spigot-0ede7d0-c88ae6b]
at net.minecraft.server.v1_13_R2.LoginListener.b(LoginListener.java:150) [spigot-1.13.1.jar:git-Spigot-0ede7d0-c88ae6b]
at net.minecraft.server.v1_13_R2.LoginListener.Y_(LoginListener.java:54) [spigot-1.13.1.jar:git-Spigot-0ede7d0-c88ae6b]
at net.minecraft.server.v1_13_R2.NetworkManager.a(NetworkManager.java:231) [spigot-1.13.1.jar:git-Spigot-0ede7d0-c88ae6b]
at net.minecraft.server.v1_13_R2.ServerConnection.c(ServerConnection.java:120) [spigot-1.13.1.jar:git-Spigot-0ede7d0-c88ae6b]
at net.minecraft.server.v1_13_R2.MinecraftServer.b(MinecraftServer.java:994) [spigot-1.13.1.jar:git-Spigot-0ede7d0-c88ae6b]
at net.minecraft.server.v1_13_R2.DedicatedServer.b(DedicatedServer.java:411) [spigot-1.13.1.jar:git-Spigot-0ede7d0-c88ae6b]
at net.minecraft.server.v1_13_R2.MinecraftServer.a(MinecraftServer.java:831) [spigot-1.13.1.jar:git-Spigot-0ede7d0-c88ae6b]
at net.minecraft.server.v1_13_R2.MinecraftServer.run(MinecraftServer.java:729) [spigot-1.13.1.jar:git-Spigot-0ede7d0-c88ae6b]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_91]
Caused by: java.lang.NoClassDefFoundError: com/sk89q/worldguard/bukkit/WGBukkit
at net.mcjukebox.plugin.bukkit.listeners.RegionListener.onMove(RegionListener.java:59) ~[?:?]
at net.mcjukebox.plugin.bukkit.listeners.RegionListener.onJoin(RegionListener.java:38) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_91]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_91]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_91]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_91]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:304) ~[spigot-1.13.1.jar:git-Spigot-0ede7d0-c88ae6b]
... 14 more

Could you fix that ? Thank you

Could not pass event PlayerMoveEvent

Whenever a player moves, this error gets thrown:

[Server thread/ERROR]: Could not pass event PlayerMoveEvent to MCJukebox v2.6.2
org.bukkit.event.EventException: null
       at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:320) ~[spigot-1.14.3.jar:git-Spigot-5e4e7f3-2349feb]
       at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[spigot-1.14.3.jar:git-Spigot-5e4e7f3-2349feb]
       at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:529) ~[spigot-1.14.3.jar:git-Spigot-5e4e7f3-2349feb]
       at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:514) ~[spigot-1.14.3.jar:git-Spigot-5e4e7f3-2349feb]
       at net.minecraft.server.v1_14_R1.PlayerConnection.a(PlayerConnection.java:985) ~[spigot-1.14.3.jar:git-Spigot-5e4e7f3-2349feb]
       at net.minecraft.server.v1_14_R1.PacketPlayInFlying.a(SourceFile:126) ~[spigot-1.14.3.jar:git-Spigot-5e4e7f3-2349feb]
       at net.minecraft.server.v1_14_R1.PacketPlayInFlying$PacketPlayInPosition.a(SourceFile:57) ~[spigot-1.14.3.jar:git-Spigot-5e4e7f3-2349feb]
       at net.minecraft.server.v1_14_R1.PlayerConnectionUtils.lambda$0(PlayerConnectionUtils.java:13) ~[spigot-1.14.3.jar:git-Spigot-5e4e7f3-2349feb]
       at net.minecraft.server.v1_14_R1.TickTask.run(SourceFile:18) [spigot-1.14.3.jar:git-Spigot-5e4e7f3-2349feb]
       at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.executeTask(SourceFile:135) [spigot-1.14.3.jar:git-Spigot-5e4e7f3-2349feb]
       at net.minecraft.server.v1_14_R1.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) [spigot-1.14.3.jar:git-Spigot-5e4e7f3-2349feb]
       at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.executeNext(SourceFile:114) [spigot-1.14.3.jar:git-Spigot-5e4e7f3-2349feb]
       at net.minecraft.server.v1_14_R1.MinecraftServer.aW(MinecraftServer.java:898) [spigot-1.14.3.jar:git-Spigot-5e4e7f3-2349feb]
       at net.minecraft.server.v1_14_R1.MinecraftServer.executeNext(MinecraftServer.java:891) [spigot-1.14.3.jar:git-Spigot-5e4e7f3-2349feb]
       at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.awaitTasks(SourceFile:123) [spigot-1.14.3.jar:git-Spigot-5e4e7f3-2349feb]
       at net.minecraft.server.v1_14_R1.MinecraftServer.sleepForTick(MinecraftServer.java:875) [spigot-1.14.3.jar:git-Spigot-5e4e7f3-2349feb]
       at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:808) [spigot-1.14.3.jar:git-Spigot-5e4e7f3-2349feb]
       at java.lang.Thread.run(Unknown Source) [?:?]
Caused by: java.lang.NullPointerException
       at net.mcjukebox.shared.wg7.RegionProvider.getApplicableRegions(RegionProvider.java:28) ~[?:?]
       at net.mcjukebox.plugin.bukkit.listeners.RegionListener.onMove(RegionListener.java:59) ~[?:?]
       at jdk.internal.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) ~[?:?]
       at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
       at java.lang.reflect.Method.invoke(Unknown Source) ~[?:?]
       at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:316) ~[spigot-1.14.3.jar:git-Spigot-5e4e7f3-2349feb]
       ... 17 more

Server: Spigot 1.14.3
Plugins: WorldEdit, WorldGuard

Hope this helps fixing the problems for 1.14.*.

Volume and Panning

It would be very helpful to be able to adjust the volume and panning of an audio file when I play it.

Something like this:

JukeboxAPI.play(player, Media.builder().url(“test”).volume(0.6f).pan(-1f).build());

Trouble importing from Github Packages

Cannot resolve com.oliverdunk.MCJukebox-plugin:mcjukebox-plugin:2.6.8-RELEASE whenever I attempt to use mvn install

pom.xml contains the following:

        <repository>
            <id>github</id>
            <url>https://maven.pkg.github.com/oliverdunk/JukeboxAPI</url>
        </repository>
        <dependency>
            <groupId>com.oliverdunk.MCJukebox-plugin</groupId>
            <artifactId>mcjukebox-plugin</artifactId>
            <version>2.6.8-RELEASE</version>
        </dependency>

During the installation of dependencies, this error (only for JukeboxAPI) is shown:

Could not find artifact com.oliverdunk.MCJukebox-plugin:mcjukebox-plugin:jar:2.6.8-RELEASE in
central (https://repo1.maven.org/maven2) -> [Help 1]

unable to start sound track with command_block

Hi,

i have upgraded my world to 1.13.1 and i'm no longer able to play audio tracks that starts from a command_block

a manual start works perfectly with the same command.

version info
CraftBukkit version git-Spigot-f6a273b-8ab46ff (MC: 1.13.1) (Implementing API version 1.13.1-R0.1-SNAPSHOT)
MCJukebox version 2.5.3

i hope that this can be fixed

Support for playlists

Can you please add the option to set playlists where songs play one after another?

Support Cauldron

We try to use the net/md_5/bungee/api/chat/BaseComponent class which is not available in Cauldron.

Synchronization causes media files to not play at all in a show

Sorry for all the updates, very difficult to get to the bottom of this....

I've now tested with the /jukebox show command, and I think I can confidently say that this is an issue with synchronization. Using the command, most of the time, only Edge would be able to play the media instantly. Sometimes reloading the firefox page caused the one in Edge to pause momentarily (or completely at one point). Getting debug info would be nice, but it looks like for now I'll have to implement my own sort of "show" manager.


I tested and observed the following with just Firefox - but then I decided to do the tests while having both Firefox and Edge open. If the song wasn't playing in either of the two browsers, refreshing one of the browsers caused both songs to start playing through both web browsers. So it very likely is the "synchronization" that's taking a tad too long to sync up. Perhaps you could add a field to set a show to not care so much about "exact" synchronization (and instead just send the song over and hope for the best?)

Also, the ability to get "debug" info on the client would be helpful to determine these issues. Sometimes it was the case that Edge always started playing the media file instantly while Firefox took several seconds to start playing the same file (it was in sync with Edge though) if I quickly teleported away and to the designated world (i.e. while the previous song was playing).


It seems if I simultaneously add a new player to a show, and play a new media file in the show, the player does not hear the media until they either are re-added to the show or refresh the web client. The song is about 1MB, so I don't think bandwidth is the concern here.

I've waited for at least a full minute or more for the song to play, in case it's trying to "synchronize" (albeit I'm the only one on the server testing it.)

Code for reference: https://github.com/MLG-Fortress/MountainDewritoes/tree/3c4808dc20929faf9c117226a65de9172e7a98e7/src/main/java/me/robomwm/MountainDewritoes/Music

In short:

Decide how to approach events in 1.14

⚠️ If you're reading this because MCJukebox doesn't work on your 1.14 server, we're working on it! Technical details follow, you have been warned...


In 1.14, the Event class has a constructor that indicates if the event is called asynchronously or not.

For 1.14 compatibility, we need to either:

  • Keep our events as they are but start calling them synchronously, by running a task on the main thread.
  • Decide our events are intentionally asynchronous and specify it.

ClassNotFoundException ...worldedit.math.BlockVector3

Hey there,

Do you know what could possibly be causing these exceptions during startup on my server?

This appears a lot: "java.lang.ClassNotFoundException: com.sk89q.worldedit.math.BlockVector3".

Running:

  • Paper build 486.
  • Citizens version 2.0.24-SNAPSHOT (build 1605)
  • FastAsyncWorldEdit version 1.0 (FAWE-1.13, build 125, 24 Dec 2018)
  • WorldGuard version 7.0.0-SNAPSHOT;0dc5781
  • MCJukebox version 2.6.0

My problems started when I added the MCJukebox update for 1.13.2. I previously had MCJukebox disabled.

Thank you


[09:21:06 INFO]: [MCJukebox] Key accepted and connection to MCJukebox established.
[09:21:07 INFO]: [MCJukebox] Predicted time offset: 19042ms.
[09:21:07 INFO]: [MCJukebox] This will be silently updated every 30 seconds.

Then,

[09:21:07 ERROR]: Could not pass event PlayerTeleportEvent to MCJukebox v2.6.0
java.lang.NoClassDefFoundError: com/sk89q/worldedit/math/BlockVector3
at net.mcjukebox.shared.wg7.RegionProvider.getApplicableRegions(RegionProvider.java:30) ~[?:?]
at net.mcjukebox.plugin.bukkit.listeners.RegionListener.onMove(RegionListener.java:59) ~[?:?]
at net.mcjukebox.plugin.bukkit.listeners.RegionListener.onTeleport(RegionListener.java:42) ~[?:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor382.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:70) ~[patched_1.13.2.jar:git-Paper-486]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:78) ~[patched_1.13.2.jar:git-Paper-486]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[patched_1.13.2.jar:git-Paper-486]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:513) ~[patched_1.13.2.jar:git-Paper-486]
at org.bukkit.craftbukkit.v1_13_R2.entity.CraftPlayer.teleport(CraftPlayer.java:723) ~[patched_1.13.2.jar:git-Paper-486]
at org.bukkit.craftbukkit.v1_13_R2.entity.CraftEntity.teleport(CraftEntity.java:334) ~[patched_1.13.2.jar:git-Paper-486]
at net.citizensnpcs.npc.CitizensNPC.spawn(CitizensNPC.java:233) ~[?:?]
at net.citizensnpcs.npc.CitizensNPC.load(CitizensNPC.java:143) ~[?:?]
at net.citizensnpcs.api.npc.SimpleNPCDataStore.loadInto(SimpleNPCDataStore.java:59) ~[?:?]
at net.citizensnpcs.Citizens$2.run(Citizens.java:306) ~[?:?]
at org.bukkit.craftbukkit.v1_13_R2.scheduler.CraftTask.run(CraftTask.java:82) ~[patched_1.13.2.jar:git-Paper-486]
at org.bukkit.craftbukkit.v1_13_R2.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:448) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.MinecraftServer.b(MinecraftServer.java:1008) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.DedicatedServer.b(DedicatedServer.java:439) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.MinecraftServer.a(MinecraftServer.java:943) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.MinecraftServer.run(MinecraftServer.java:841) ~[patched_1.13.2.jar:git-Paper-486]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_161]
Caused by: java.lang.ClassNotFoundException: com.sk89q.worldedit.math.BlockVector3
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[?:1.8.0_161]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:158) ~[patched_1.13.2.jar:git-Paper-486]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:104) ~[patched_1.13.2.jar:git-Paper-486]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_161]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_161]
... 21 more

and

[09:21:11 ERROR]: Could not pass event PlayerTeleportEvent to MCJukebox v2.6.0
java.lang.NoClassDefFoundError: com/sk89q/worldedit/math/BlockVector3
at net.mcjukebox.shared.wg7.RegionProvider.getApplicableRegions(RegionProvider.java:30) ~[?:?]
at net.mcjukebox.plugin.bukkit.listeners.RegionListener.onMove(RegionListener.java:59) ~[?:?]
at net.mcjukebox.plugin.bukkit.listeners.RegionListener.onTeleport(RegionListener.java:42) ~[?:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor382.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:70) ~[patched_1.13.2.jar:git-Paper-486]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:78) ~[patched_1.13.2.jar:git-Paper-486]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[patched_1.13.2.jar:git-Paper-486]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:513) ~[patched_1.13.2.jar:git-Paper-486]
at org.bukkit.craftbukkit.v1_13_R2.entity.CraftPlayer.teleport(CraftPlayer.java:723) ~[patched_1.13.2.jar:git-Paper-486]
at org.bukkit.craftbukkit.v1_13_R2.entity.CraftEntity.teleport(CraftEntity.java:334) ~[patched_1.13.2.jar:git-Paper-486]
at net.citizensnpcs.npc.CitizensNPC.spawn(CitizensNPC.java:233) ~[?:?]
at net.citizensnpcs.npc.CitizensNPC.spawn(CitizensNPC.java:190) ~[?:?]
at net.citizensnpcs.EventListen.spawn(EventListen.java:608) ~[?:?]
at net.citizensnpcs.EventListen.respawnAllFromCoord(EventListen.java:578) ~[?:?]
at net.citizensnpcs.EventListen.onChunkLoad(EventListen.java:144) ~[?:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor167.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:70) ~[patched_1.13.2.jar:git-Paper-486]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:78) ~[patched_1.13.2.jar:git-Paper-486]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[patched_1.13.2.jar:git-Paper-486]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:513) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.Chunk.addEntities(Chunk.java:991) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.PaperAsyncChunkProvider$PendingChunk.postChunk(PaperAsyncChunkProvider.java:533) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.PaperAsyncChunkProvider$PendingChunk.postChunkToMain(PaperAsyncChunkProvider.java:485) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.PaperAsyncChunkProvider$PendingChunk.loadFinished(PaperAsyncChunkProvider.java:434) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.PaperAsyncChunkProvider$PendingChunk.run(PaperAsyncChunkProvider.java:576) ~[patched_1.13.2.jar:git-Paper-486]
at com.destroystokyo.paper.util.PriorityQueuedExecutor.lambda$createPendingTask$1(PriorityQueuedExecutor.java:133) ~[patched_1.13.2.jar:git-Paper-486]
at com.destroystokyo.paper.util.PriorityQueuedExecutor$PendingTask.run(PriorityQueuedExecutor.java:273) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.PaperAsyncChunkProvider.requestChunk(PaperAsyncChunkProvider.java:197) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.PaperAsyncChunkProvider.loadOrGenerateChunk(PaperAsyncChunkProvider.java:154) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.PaperAsyncChunkProvider.getChunkAt(PaperAsyncChunkProvider.java:150) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:112) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.PaperAsyncChunkProvider.getChunkAt(PaperAsyncChunkProvider.java:136) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.World.getChunkAt(World.java:389) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.World.getChunkAtWorldCoords(World.java:385) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.World.getType(World.java:805) ~[patched_1.13.2.jar:git-Paper-486]
at org.bukkit.craftbukkit.v1_13_R2.block.CraftBlock.getType(CraftBlock.java:181) ~[patched_1.13.2.jar:git-Paper-486]
at net.citizensnpcs.nms.v1_13_R2.entity.MobEntityController.createEntity(MobEntityController.java:33) ~[?:?]
at net.citizensnpcs.npc.AbstractEntityController.spawn(AbstractEntityController.java:41) ~[?:?]
at net.citizensnpcs.npc.CitizensNPC.spawn(CitizensNPC.java:209) ~[?:?]
at net.citizensnpcs.npc.CitizensNPC.load(CitizensNPC.java:143) ~[?:?]
at net.citizensnpcs.api.npc.SimpleNPCDataStore.loadInto(SimpleNPCDataStore.java:59) ~[?:?]
at net.citizensnpcs.Citizens$2.run(Citizens.java:306) ~[?:?]
at org.bukkit.craftbukkit.v1_13_R2.scheduler.CraftTask.run(CraftTask.java:82) ~[patched_1.13.2.jar:git-Paper-486]
at org.bukkit.craftbukkit.v1_13_R2.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:448) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.MinecraftServer.b(MinecraftServer.java:1008) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.DedicatedServer.b(DedicatedServer.java:439) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.MinecraftServer.a(MinecraftServer.java:943) ~[patched_1.13.2.jar:git-Paper-486]
at net.minecraft.server.v1_13_R2.MinecraftServer.run(MinecraftServer.java:841) ~[patched_1.13.2.jar:git-Paper-486]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_161]

Stop Audio

Currently, there is no way to stop sound effects from playing before they're done, and the only way to stop music from playing is to either send a bad URL or to play silence instead.

It would be helpful to have some official way to stop sounds from the API.

Host Javadocs

We should be hosting the javadocs somewhere publicly accessible.

Cannot remove a region with 2 or more players in it.

If a user tries to remove a region with more than 2 players in it, it fails and a stack trace is displayed in the console, shown below.

[19:14:40 ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'jukebox' in plugin MCJukebox v2.5.2
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot.jar:git-Spigot-eb3d921-b9f1615]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[spigot.jar:git-Spigot-eb3d921-b9f1615]
        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServer.java:648) ~[spigot.jar:git-Spigot-eb3d921-b9f1615]
        at net.minecraft.server.v1_12_R1.PlayerConnection.handleCommand(PlayerConnection.java:1397) [spigot.jar:git-Spigot-eb3d921-b9f1615]
        at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1232) [spigot.jar:git-Spigot-eb3d921-b9f1615]
        at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:45) [spigot.jar:git-Spigot-eb3d921-b9f1615]
        at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:1) [spigot.jar:git-Spigot-eb3d921-b9f1615]
        at net.minecraft.server.v1_12_R1.PlayerConnectionUtils$1.run(SourceFile:13) [spigot.jar:git-Spigot-eb3d921-b9f1615]
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:?]
        at java.util.concurrent.FutureTask.run(Unknown Source) [?:?]
        at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) [spigot.jar:git-Spigot-eb3d921-b9f1615]
        at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:748) [spigot.jar:git-Spigot-eb3d921-b9f1615]
        at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:406) [spigot.jar:git-Spigot-eb3d921-b9f1615]
        at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:679) [spigot.jar:git-Spigot-eb3d921-b9f1615]
        at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:577) [spigot.jar:git-Spigot-eb3d921-b9f1615]
        at java.lang.Thread.run(Unknown Source) [?:?]
Caused by: java.util.ConcurrentModificationException
        at java.util.HashMap$HashIterator.nextNode(Unknown Source) ~[?:?]
        at java.util.HashMap$EntryIterator.next(Unknown Source) ~[?:?]
        at java.util.HashMap$EntryIterator.next(Unknown Source) ~[?:?]
        at net.mcjukebox.plugin.bukkit.managers.RegionManager.removeRegion(RegionManager.java:65) ~[?:?]
        at net.mcjukebox.plugin.bukkit.commands.JukeboxCommand.onCommand(JukeboxCommand.java:66) ~[?:?]
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot.jar:git-Spigot-eb3d921-b9f1615]
        ... 15 more

Error occurs at the following for loop in RegionManager

https://github.com/oliverdunk/JukeboxAPI/blob/master/src/main/java/net/mcjukebox/plugin/bukkit/managers/RegionManager.java#L65

Tidy JukeboxCommand.java

The file is growing more and more and begin to be hard to read. It's bad for maintaining, that's why I'm suggesting to tidy it.
We may think of a better way to define commands (a file per command?) or have better comments to find easily which code is doing what, and most of all for which command.

Show delays

Whenever I make a show region and players enter the region the music plays fine. But whenever I change the music in the show it takes forever to update the music. Unless someone enters the region after the music change command has been executed, than the music changes almost instantanious.

"Manually" start a music or sound in a region

Could it be (or is it already) possible to manually start a music or sound in a region?

Like, set a region, when one or several player(s) enters it, nothing is played, but when a command block with the command "/jukebox music/sound @A <direct_link> {region_name}" is activated, the player(s) hears it.

Slugish connection

Sevral users including myself have found that the webpage can take up to a minute to fully connect as of a week or two ago

Modular permissions

Make the permissions a bit more modular for commands.

This would allow you to let certain users do certain commands, for example an event host could access show commands but not the setkey command.

Connect to Server Event

It would be very useful to have an event I can use to tell when a user has opened up the Jukebox website so I can know when to start music playing for them.

JukeboxPlayerConnectEvent

Minecart audio regions issue

While in a minecart if your also in a region and then leave it inside the cart, jukebox will not stop playing the regional audio.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.