Skip to content

MinecraftMediaLibrary/EzMediaCore

Repository files navigation

Build Status Code Coverage Dependency Status Documentation Status Discord Language

Rewrite Progress

The library is currently being rewritten! I am rewriting each package of code slowly and then formulating it all together. Stay tuned for updates!


EzMediaCore is a Bukkit library written in Java with the purpose of providing a simple and easy way to render media on a Minecraft server. One of the most fascinating features of EzMediaCore is the ability to render videos on a Bukkit server.

In order to maintain fast processing speeds, external video playback libraries such as FFmpeg or VLC Media Player are used to aid in frame rendering. Other complicated algorithms, like dithering algorithms, are included in the library to provide a smooth and high-quality video playback experience in-game. With the power of these tools, we're able to play not just standard Youtube videos, but live-streams, screen-shares, webcams, and other input devices, reaching extremely high frame rates with limited bandwidth constraints.

Here is an example of a video showcasing the power of EzMediaCore:

example-playback.mp4

This library is capable of playing media in many sorts of outputs, such as maps, entities, chat, scoreboards, debug markers and more. It is also capable of providing audio through a resourcepack, website, and Discord bot, so developers can implement many ways of playing media in their server.


Prerequisites

  • Java 21
  • Minecraft versions 1.21.X supported.

Add the following to your gradle configuration:

repositories {  
    maven("https://pulsebeat02.jfrog.io/artifactory/minecraftmedialibrary/")
}  
dependencies {  
    implementation("io.github.pulsebeat02:EzMediaCore:v1.0.0")
}  

Take a look at this module for examples on how to use the library. It is the plugin I used that displayed the video.


Building Locally

  1. Run BuildTools for versions 1.18.2 and 1.19.
  2. Clone the repository by using the following Git link: https://github.com/MinecraftMediaLibrary/EzMediaCore.git
  3. Run gradlew build on the parent project to build a jar for the plugin.

Partnerships

BisectHosting

I'd like to also thank BisectHosting for sponsoring open-source projects such as this one as well. Use code pulse on your next purchase to get 25% off your next server!


Contributors / Acknowledgements

Developer Contribution
BananaPuncher714 Created the original MinecraftVideo plugin
Jetp250 Developed Floyd Steinberg dithering
Emilyy Assisted with implementation and testing
Conclure Assisted with Maven to Gradle migration
itxfrosty Developed a Discord bot for music integration
Rouge_Ram Developed a Discord bot used in Pulse Development!
Sponsor Donation
Vijay Pondini $10.00
Matthew Holden $6.00

Projects that use EzMediaCore Code

Project Description
MakiDesktop Controlling VNC through Minecraft Maps
MakiScreen Streaming OBS onto Minecraft Maps