EzMediaCore is a library written in Java using the Bukkit API and NMS classes to provide a helpful tool for other media plugins to take advantage of. One of the most fascinating features include the ability to render videos on a Spigot server. It uses optimized dithering algorithms, hardware acceleration, and native code to speed up the process. The library takes advantage of VLC Media Player, a speedy, universal program that plays all sorts of media for users.
example-playback.mp4
Frame rates may reach up to 35, at times with extremely great quality. As a comparison, a smooth animation is approximately 25 frames. The library is capable of playing media in all sorts of ways, such as maps, entities, chat, scoreboards, debug markers.
- Java 16
- Minecraft versions 1.16.5 and 1.17 supported
Add the following to your build.gradle configuration:
repositories {
maven {
url 'https://jitpack.io'
}
}
dependencies {
implementation 'com.github.MinecraftMediaLibrary:EzMediaCore:master-SNAPSHOT'
}
Take a look at this module for examples on how to use the library. It is the plugin I used that displayed the video.
- Run BuildTools for versions 1.16.5 and 1.17.1.
- Clone the repository by using the
following Git link:
https://github.com/MinecraftMediaLibrary/EzMediaCore.git
- Run
gradlew shadowJar
on the parent project to build a jar for the plugin.
Thanks to Mishal321, they freely gave us a public test server. Join our Discord server and you are able to access the IP to the testing server!
- BananaPuncher714 for creating MinecraftVideo, leading the spark, and also providing a Floyd Steinberg dithering implementation.
- Jetp250 for a fast dithering table class.
- Emilyy for helping me with asynchronous tasks and implementation.
- Conclure for helping me migrate from maven to gradle and overall big API improvements.
- itxfrosty for helping me develop a Discord bot to play music.
- Rouge_Ram for developing a Discord bot to use in the Pulse Development Server.
- Mishal321, for allowing us to use his testing server.
- Yugi for helping me setup Slimjar.
- And also developers of the most important libraries I use, including: