WATERMeDIA (WATERMeDIA)
WATERMeDIA是一个强大的API,用于为任何模组提供多媒体支持。使用VideoLan播放器处理所有视频和音频输入,并使用VLCJ将其与JAVA绑定。其中包括重要的库,如Java-Youtube-Downloader,MP3agic和LavaPlayer。
MODS USING WATERMeDIA
- WATERFrAMES (by SrRapero720)
- VideoPlayer (by NGoedix)
- LittlePictureFrames (by CreativeMD)
- FancyMenu: Video Extension (By Keksuccino - Maintained by SrRapero720)
FEATURES
- 支持来自YouTube(不再卡顿)、Twitch、Kick.com、GoogleDrive(文件超过100mb)、Twitter、OneDrive、Dropbox和TikTok的URL
- 支持手动启用的“特殊页面”的URL,需依赖模组开发者手动启用
- 包含Windows的VLC二进制文件。iMac和Linux用户必须安装VLC,并且模组可检测到
- 使用VLC 3(Windows用户无需手动安装)
- 适用于Forge和Fabric以及使用Java 15+的任何Minecraft版本
- 所有依赖模组相互兼容
- 视频和音乐的播放器API
VLC版本 - 安装
下载最新版本的VLC 3
MODPACK CREATORS
此模组仅限客户端使用。如果此模组存在于服务器上则会导致崩溃
原因:此模组在服务器端无用,因此严格意义上说,当此模组存在于服务器上时会导致崩溃。在开发者环境中不会崩溃,请查阅WIKI/文档。
FAQ
- 对于iMac和Linux,需要手动安装VLC 3
- 不支持VLC 4(夜间版)
- 无法与FancyVideo-API或任何其他VLC API模组共存(您必须将其移除)
DISCORD AND SUPPORT
如果您遇到问题,有疑问或需要更多信息,您可以加入我的DISCORD服务器或使用GITHUB问题跟踪器。
支持我们,并获得15% OFF - 代码:WATERMoDS
来自Modrinth
WM/2.1.23
watermedia-2.1.23.jar下载2.1.23#Release
watermedia-2.1.23-sources.jar下载2.1.23#Release
# 📦 UPDATE 2.1.23
- 🛠️ Added a file check in `/config/watermedia/enable_optifine.txt` to skip optifine crash.
- 🛠️ Delegate to VLC malformed URLs (usually not supported protocols).
- 🛠️ Added a file check in `/config/watermedia/enable_optifine.txt` to skip optifine crash.
- 🛠️ Delegate to VLC malformed URLs (usually not supported protocols).
展开
版本: 2.1.23
支持游戏: 1.16.5, 1.18.2, 1.19.2, 1.20.1, 1.21.1, 1.21.4
类型: Fabric
Forge
NeoForge
Release
下载次数: 12,930
WM/2.1.22
watermedia-2.1.22.jar下载2.1.22#Release
watermedia-2.1.22-sources.jar下载2.1.22#Release
# 📦 UPDATE 2.1.22
- ✨ Added support for "mediafire.com"
- 🛠️ Removed OneDrive support
- 🐛 Fixed Twitter (x) support
- 🐛 Fixed [orange page] support
- ✨ Added support for "mediafire.com"
- 🛠️ Removed OneDrive support
- 🐛 Fixed Twitter (x) support
- 🐛 Fixed [orange page] support
展开
版本: 2.1.22
支持游戏: 1.16.5, 1.18.2, 1.19.2, 1.20.1, 1.21.1, 1.21.4
类型: Fabric
Forge
NeoForge
Release
下载次数: 6,701
WM/2.1.21
watermedia-2.1.21.jar下载2.1.21#Release
watermedia-2.1.21-sources.jar下载2.1.21#Release
# 📦 UPDATE 2.1.21
- 🐛 Fixed crashes caused by bad imports
- 🐛 Fixed crashes caused by bad imports
展开
版本: 2.1.21
支持游戏: 1.16.5, 1.18.2, 1.19.2, 1.20.1, 1.21.1, 1.21.4
类型: Fabric
Forge
NeoForge
Release
下载次数: 6,129
WM/2.1.20
watermedia-2.1.20.jar下载2.1.20#Release
watermedia-2.1.20-sources.jar下载2.1.20#Release
# 📦 UPDATE 2.1.20
- 🛠️ Marked Optifine as incompatible (causes odd untrackable crashes)
- 🛠️ Marked Optifine as incompatible (causes odd untrackable crashes)
展开
版本: 2.1.20
支持游戏: 1.16.5, 1.18.2, 1.19.2, 1.20.1, 1.21.1, 1.21.4
类型: Fabric
Forge
NeoForge
Release
下载次数: 152
WM/2.1.19
watermedia-2.1.19.jar下载2.1.19#Release
watermedia-2.1.19-sources.jar下载2.1.19#Release
# 📦 UPDATE 2.1.19
- 🛠️ Enhanced desynchronization logging and error handling about it
- 🐛 Fixed lower FPS caused by higher FPS
- 🛠️ Enhanced desynchronization logging and error handling about it
- 🐛 Fixed lower FPS caused by higher FPS
展开
版本: 2.1.19
支持游戏: 1.16.5, 1.18.2, 1.19.2, 1.20.1, 1.21.1, 1.21.4
类型: Fabric
Forge
NeoForge
Release
下载次数: 13,349
WM/2.1.18
watermedia-2.1.18.jar下载2.1.18#Release
watermedia-2.1.18-sources.jar下载2.1.18#Release
# 📦 UPDATE 2.1.18
- 🛠️ Speed up Youtube first media loading time
- 🛠️ Added isWaiting() method on ``BasePlayer``
- 🐛 Fixed deadlocks removing or changing media (introduced in 2.1.14)
- 🐛 Fixed IllegalMemoryAccess issues (introduced in 2.1.17)
- 🛠️ Speed up Youtube first media loading time
- 🛠️ Added isWaiting() method on ``BasePlayer``
- 🐛 Fixed deadlocks removing or changing media (introduced in 2.1.14)
- 🐛 Fixed IllegalMemoryAccess issues (introduced in 2.1.17)
展开
版本: 2.1.18
支持游戏: 1.16.5, 1.18.2, 1.19.2, 1.20.1, 1.21.1, 1.21.4
类型: Fabric
Forge
NeoForge
Release
下载次数: 3,336
WM/2.1.17
watermedia-2.1.17.jar下载2.1.17#Release
watermedia-2.1.17-sources.jar下载2.1.17#Release
# 📦 UPDATE 2.1.17
- 🛠️ Removed MemoryAlloc class (breaking change but doesn't affect any mod)
- 🐛 Fixed fallback system for google drive doesn't get called
- 🐛 Fixed a very VERY rare race condition
- 🛠️ Removed MemoryAlloc class (breaking change but doesn't affect any mod)
- 🐛 Fixed fallback system for google drive doesn't get called
- 🐛 Fixed a very VERY rare race condition
展开
版本: 2.1.17
支持游戏: 1.16.5, 1.18.2, 1.19.2, 1.20.1, 1.21.1, 1.21.4
类型: Fabric
Forge
NeoForge
Release
下载次数: 3,715
WM/2.1.16
watermedia-2.1.16.jar下载2.1.16#Release
watermedia-2.1.16-sources.jar下载2.1.16#Release
# 📦 UPDATE 2.1.16
- 🐛 Fixed imagefetch remains fetching forever
- 🐛 Fixed imagefetch remains fetching forever
展开
版本: 2.1.16
支持游戏: 1.16.5, 1.18.2, 1.19.2, 1.20.1, 1.21.1, 1.21.4
类型: Fabric
Forge
NeoForge
Release
下载次数: 13,283
WM/2.1.15
watermedia-2.1.15.jar下载2.1.15#Release
watermedia-2.1.15-sources.jar下载2.1.15#Release
# 📦 UPDATE 2.1.15
- 🐛 Fixed crashes caused by wrong method call
- 🐛 Fixed crashes caused by wrong method call
展开
版本: 2.1.15
支持游戏: 1.16.5, 1.18.2, 1.19.2, 1.20.1, 1.21.1, 1.21.4
类型: Fabric
Forge
NeoForge
Release
下载次数: 462
WM/2.1.14
watermedia-2.1.14.jar下载2.1.14#Release
watermedia-2.1.14-sources.jar下载2.1.14#Release
# 📦 UPDATE 2.1.14
- ✨ Added fallback method for failed patches
- ✨ Enhanced Google Drive support and speed
- ✨ Added fallback method, fallback is slow but _works_
- 🛠️ Bruteforce all Youtube clients before give up
- 🛠️ Will take A LOT (or not) the first time you load a YT video, once it gets loaded the rest loads faster
- 🛠️ Added better synchronization on `MediaPlayer#start()` and `MediaPlayer#release()`
- 🐛 Relocate properly fastjson (fixes crashes with other mods)
- 🐛 Fixed custom_vlc_path.txt wasn't created on clean installations
- ✨ Added fallback method for failed patches
- ✨ Enhanced Google Drive support and speed
- ✨ Added fallback method, fallback is slow but _works_
- 🛠️ Bruteforce all Youtube clients before give up
- 🛠️ Will take A LOT (or not) the first time you load a YT video, once it gets loaded the rest loads faster
- 🛠️ Added better synchronization on `MediaPlayer#start()` and `MediaPlayer#release()`
- 🐛 Relocate properly fastjson (fixes crashes with other mods)
- 🐛 Fixed custom_vlc_path.txt wasn't created on clean installations
展开
版本: 2.1.14
支持游戏: 1.16.5, 1.18.2, 1.19.2, 1.20.1, 1.21.1, 1.21.4
类型: Fabric
Forge
NeoForge
Release
下载次数: 450
WM/2.1.13
watermedia-2.1.13.jar下载2.1.13#Release
watermedia-2.1.13-sources.jar下载2.1.13#Release
# # 📦 UPDATE 2.1.13
- 🐛 Added audio as a valid "video" source
- 🐛 Added audio as a valid "video" source
展开
版本: 2.1.13
支持游戏: 1.16.5, 1.18.2, 1.19.2, 1.20.1, 1.21.1
类型: Fabric
Forge
NeoForge
Release
下载次数: 4,898
WM/2.1.12
watermedia-2.1.12.jar下载2.1.12#Release
watermedia-2.1.12-sources.jar下载2.1.12#Release
# 📦 UPDATE 2.1.11
- ✨ Re-created Google Drive support
- 🛠️ Must work 100%, please report issues of it
- ✨ Re-created Google Drive support
- 🛠️ Must work 100%, please report issues of it
展开
版本: 2.1.12
支持游戏: 1.16.5, 1.18.2, 1.19.2, 1.20.1, 1.21.1
类型: Fabric
Forge
NeoForge
Release
下载次数: 3,507
WM/2.1.11
watermedia-2.1.11.jar下载2.1.11#Release
watermedia-2.1.11-sources.jar下载2.1.11#Release
# 📦 UPDATE 2.1.11
- ✨ Re-created Google Drive support
- 🛠️ Must work 100%, please report issues of it
- ✨ Re-created Google Drive support
- 🛠️ Must work 100%, please report issues of it
展开
版本: 2.1.11
支持游戏: 1.16.5, 1.18.2, 1.19.2, 1.20.1, 1.21.1
类型: Fabric
Forge
NeoForge
Release
下载次数: 573
WM/2.1.10
watermedia-2.1.10.jar下载2.1.10#Release
watermedia-2.1.10-sources.jar下载2.1.10#Release
# 📦 UPDATE 2.1.10
- ✨ ImageAPI: added methods to get images from jars
- ✨ BasePlayer: added state name getter
- ✨ ImageAPI: added methods to get images from jars
- ✨ BasePlayer: added state name getter
展开
版本: 2.1.10
支持游戏: 1.16.5, 1.18.2, 1.19.2, 1.20.1, 1.21.1
类型: Fabric
Forge
NeoForge
Release
下载次数: 3,025
WATERMeDIA/2.1.9
watermedia-2.1.9.jar下载2.1.9#Release
watermedia-2.1.9-sources.jar下载2.1.9#Release
# 📦 UPDATE 2.1.9
- ✨ Added broken VLC installation detector
- 🐛 Fixed crashes caused by 7z extractions
- 🛠️ This increases Jar size
- 🛠️ Bumped vlc extraction version
- 🛠️ Better logging messages
- 🛠️ Loading WaterMedia on 32-bit systems throws an exception
- 🛠️ Deprecated MemoryAlloc with no replacement
- 🛠️ Deprecated BasePlayer#raw() method and field with no replacements
- 🛠️ Cut changelog from CurseForge per release
- 🛠️ Removed Herobrine
- ✨ Added broken VLC installation detector
- 🐛 Fixed crashes caused by 7z extractions
- 🛠️ This increases Jar size
- 🛠️ Bumped vlc extraction version
- 🛠️ Better logging messages
- 🛠️ Loading WaterMedia on 32-bit systems throws an exception
- 🛠️ Deprecated MemoryAlloc with no replacement
- 🛠️ Deprecated BasePlayer#raw() method and field with no replacements
- 🛠️ Cut changelog from CurseForge per release
- 🛠️ Removed Herobrine
展开
版本: 2.1.9
支持游戏: 1.16.5, 1.18.2, 1.19.2, 1.20.1, 1.21.1
类型: Fabric
Forge
NeoForge
Release
下载次数: 1,602
WATERMeDIA/2.1.8
watermedia-2.1.8.jar下载2.1.8#Release
watermedia-2.1.8-sources.jar下载2.1.8#Release
# 📦 UPDATE 2.1.8
- 🐛 Fixed broken apache import
- 🐛 Fixed broken apache import
展开
版本: 2.1.8
支持游戏: 1.16.5, 1.18.2, 1.19.2, 1.20.1, 1.21.1
类型: Fabric
Forge
NeoForge
Release
下载次数: 7,517
WATERMeDIA/2.1.7
watermedia-2.1.7.jar下载2.1.7#Release
watermedia-2.1.7-sources.jar下载2.1.7#Release
# 📦 UPDATE 2.1.7
- 🐛 Fixed some streams urls causes rendering issues when it increases quality
- 🐛 Use kick v2 api
- 🐛 Fixed some streams urls causes rendering issues when it increases quality
- 🐛 Use kick v2 api
展开
版本: 2.1.7
支持游戏: 1.16.5, 1.18.2, 1.19.2, 1.20.1, 1.21.1
类型: Fabric
Forge
NeoForge
Release
下载次数: 2,488
WATERMeDIA/2.1.6
watermedia-2.1.6.jar下载2.1.6#Release
watermedia-2.1.6-sources.jar下载2.1.6#Release
# 📦 UPDATE 2.1.6
- ⚖️ Licensed WaterMedia under [Polyform Strict v1.0.0](https://github.com/WaterMediaTeam/watermedia/blob/2.1.x/LICENSE.md).
- ⚖️ Licensed the shaded VLCJ and VLCJ-natives version under the [Commercial license for vlcj](https://www.capricasoftware.co.uk/docs/Caprica%20Software%20vlcj%20Commercial%20License%20Standard%20Offer.pdf)
donated by [Caprica Software Limited](https://www.capricasoftware.co.uk/)
- ✨ Removed commons-io and its dependencies, replaced with `sevenzipjbinding`
- ✨ Reduced jar size
- ⚖️ Licensed WaterMedia under [Polyform Strict v1.0.0](https://github.com/WaterMediaTeam/watermedia/blob/2.1.x/LICENSE.md).
- ⚖️ Licensed the shaded VLCJ and VLCJ-natives version under the [Commercial license for vlcj](https://www.capricasoftware.co.uk/docs/Caprica%20Software%20vlcj%20Commercial%20License%20Standard%20Offer.pdf)
donated by [Caprica Software Limited](https://www.capricasoftware.co.uk/)
- ✨ Removed commons-io and its dependencies, replaced with `sevenzipjbinding`
- ✨ Reduced jar size
展开
版本: 2.1.6
支持游戏: 1.16.5, 1.18.2, 1.19.2, 1.20.1, 1.21.1
类型: Fabric
Forge
NeoForge
Release
下载次数: 5,112
WATERMeDIA/2.1.5
watermedia-2.1.5.jar下载2.1.5#Release
watermedia-2.1.5-sources.jar下载2.1.5#Release
# 📦 UPDATE 2.1.5
- 🐛 Fixed NPE issues while loading VLC on some OS
- 🐛 Fixed NPE issues while loading VLC on some OS
展开
版本: 2.1.5
支持游戏: 1.16.5, 1.18.2, 1.19.2, 1.20.1, 1.21.1
类型: Fabric
Forge
NeoForge
Release
下载次数: 3,120
WATERMeDIA/2.1.4
watermedia-2.1.4.jar下载2.1.4#Release
watermedia-2.1.4-sources.jar下载2.1.4#Release
# 📦 UPDATE 2.1.4
**NOTE: this contains breaking changes on WaterMedia internals
if you're using the API you have nothing to worry about**
- ✨ Added option to define custom VLC folder (`config/watermedia/custom_vlc_path.txt`)
- ✨ Added back JVM argument `Dwatermedia.userDiscoveryPath=/path/` to define custom VLC folder
- ✨ Detected `application/vnd.apple.mpegurl` and `application/x-mpegurl` as playable video mimetypes (suggested by rlishchyshyn)
- 🛠️ Removed `Dwatermedia.disableMacOsWorkarrounds`
- 🛠️ Discovery now search recursively on folders which contains "VLC" in the name
- 🛠️ Discovery won't be searching after a completed-failed search
- 🛠️ Discovery will continue searching using the current provider when it has more folders instead of skip to the next provider
- 🛠️ Default folder providers are re-priorized from "high/highest" to "normal/low"
- 🛠️ `PlayerAPI#registerFactory` is now synchronized
- 🛠️ Disabled VLC key and mouse input handling
**NOTE: this contains breaking changes on WaterMedia internals
if you're using the API you have nothing to worry about**
- ✨ Added option to define custom VLC folder (`config/watermedia/custom_vlc_path.txt`)
- ✨ Added back JVM argument `Dwatermedia.userDiscoveryPath=/path/` to define custom VLC folder
- ✨ Detected `application/vnd.apple.mpegurl` and `application/x-mpegurl` as playable video mimetypes (suggested by rlishchyshyn)
- 🛠️ Removed `Dwatermedia.disableMacOsWorkarrounds`
- 🛠️ Discovery now search recursively on folders which contains "VLC" in the name
- 🛠️ Discovery won't be searching after a completed-failed search
- 🛠️ Discovery will continue searching using the current provider when it has more folders instead of skip to the next provider
- 🛠️ Default folder providers are re-priorized from "high/highest" to "normal/low"
- 🛠️ `PlayerAPI#registerFactory` is now synchronized
- 🛠️ Disabled VLC key and mouse input handling
展开
版本: 2.1.4
支持游戏: 1.16.5, 1.18.2, 1.19.2, 1.20.1, 1.21.1
类型: Fabric
Forge
NeoForge
Release
下载次数: 569
WATERMeDIA/2.1.3
watermedia-2.1.3.jar下载2.1.3#Release
watermedia-2.1.3-sources.jar下载2.1.3#Release
# 📦 UPDATE 2.1.3
- 🐛 Fixed MacOS workarrounds aren't applied when ``Dvideolan4j.disableMacOsWorkarrounds`` argument is not present
- 🛠️ Added minimal VLC bindings for version and instance testing (no more dumb crashes when VLC 4 is installed)
- 🐛 Fixed MacOS workarrounds aren't applied when ``Dvideolan4j.disableMacOsWorkarrounds`` argument is not present
- 🛠️ Added minimal VLC bindings for version and instance testing (no more dumb crashes when VLC 4 is installed)
展开
版本: 2.1.3
支持游戏: 1.16.5, 1.18.2, 1.19.2, 1.20.1, 1.21.1
类型: Fabric
Forge
NeoForge
Release
下载次数: 4,512
WATERMeDIA/2.1.2
watermedia-2.1.2.jar下载2.1.2#Release
watermedia-2.1.2-sources.jar下载2.1.2#Release
# 📦 UPDATE 2.1.2
- 🐛 Added stub for server-side fabric because fabric still doesn't add sided dependencies but likes breaks things
- 🐛 Added stub for server-side fabric because fabric still doesn't add sided dependencies but likes breaks things
展开
版本: 2.1.2
支持游戏: 1.16.5, 1.18.2, 1.19.2, 1.20.1, 1.21.1
类型: Fabric
Forge
NeoForge
Release
下载次数: 3,440
WATERMeDIA/2.1.1
watermedia-2.1.1.jar下载2.1.1#Release
watermedia-2.1.1-sources.jar下载2.1.1#Release
# 📦 BREAKING UPDATE 2.1.1
### IMPORTANT: THIS IS (YET AGAIN) A BREAKING UPDATE! DEPENDENT MODS WILL NOT WORK IF THEY DIDN'T RELEASE A COMPATIBILITY UPDATE
**WHY ANOTHER BREAKING UPDATE?**
Release 2.1.0 has some critical stuff to begin addressed, we do a internal breaking change as a critical update
Sorry for all devs already working on v2.1.0, no much changes are done
- 🛠️ Changed the return type of `MathAPI#tickToMs(float): long` to `MathAPI#tickToMs(float): int`
- 🛠️ Removed deprecated variant `MathAPI#tickToMs(int): long`
- 🛠️ Removed deprecated method `WaterMediaAPI#math_colorARGB()`
- ✨ Added `ImageCache` instances for the default resources in `ImageAPI`
- ✨ Added `-Dwatermedia.disableVLC=<true/false>` to prevent VLC begin loaded/extracted by WATERMeDIA
- Overhaul all other arguments, making `-Dwatermedia.slavist=<true/false>` overrideable
- 🐛 Fixed critical `EXCEPTION_ACCESS_VIOLATION` looping media on VLC
- Removed VLCJ videosurface argument in replace of a _custom-made_ callback interface for pre-buffers release
- 🐛 Fixed Kick.com support (again)
### IMPORTANT: THIS IS (YET AGAIN) A BREAKING UPDATE! DEPENDENT MODS WILL NOT WORK IF THEY DIDN'T RELEASE A COMPATIBILITY UPDATE
**WHY ANOTHER BREAKING UPDATE?**
Release 2.1.0 has some critical stuff to begin addressed, we do a internal breaking change as a critical update
Sorry for all devs already working on v2.1.0, no much changes are done
- 🛠️ Changed the return type of `MathAPI#tickToMs(float): long` to `MathAPI#tickToMs(float): int`
- 🛠️ Removed deprecated variant `MathAPI#tickToMs(int): long`
- 🛠️ Removed deprecated method `WaterMediaAPI#math_colorARGB()`
- ✨ Added `ImageCache` instances for the default resources in `ImageAPI`
- ✨ Added `-Dwatermedia.disableVLC=<true/false>` to prevent VLC begin loaded/extracted by WATERMeDIA
- Overhaul all other arguments, making `-Dwatermedia.slavist=<true/false>` overrideable
- 🐛 Fixed critical `EXCEPTION_ACCESS_VIOLATION` looping media on VLC
- Removed VLCJ videosurface argument in replace of a _custom-made_ callback interface for pre-buffers release
- 🐛 Fixed Kick.com support (again)
展开
版本: 2.1.1
支持游戏: 1.16.5, 1.18.2, 1.19.2, 1.20.1, 1.21.1
类型: Fabric
Forge
NeoForge
Release
下载次数: 1,071
WATERMeDIA/2.1.0
watermedia-2.1.0.jar下载2.1.0#Release
watermedia-2.1.0-sources.jar下载2.1.0#Release
# 📦 BREAKING UPDATE 2.1.0
### IMPORTANT: THIS UPDATE IS A BREAKING UPDATE! DEPENDENT MODS WILL NOT WORK IF THEY DIDN'T RELEASE A COMPATIBILITY UPDATE
**WHY UPDATE IS SMALL?**<br>
This update is focused on fix critical problems on v2 which requires breaking changes, we didn't put much
effort on this update to entirely focus on v3 development with way many and better features.<br>
Consider get hyped, this update helps me a lot on how to enhance performance on v3 and how to do SoundPhysics (i made OpenAL works)
- ✨ Fixed and enhanced URI handling
- All usages of `java.net.URL` has been replaced with `java.net.URI`
- `local://<path>` was replaced with `water://local/<path>`
- Uris created via `NetworkAPI#createURI()` has direct paths compatibility like `C:\Users\ME\Downloads` (no more `file:///`)
- Non-HTTP protocols (supported by Java) are now supported (back again)
- Fixed some URL's capable to be loaded in VLC aren't loaded by WATERMeDIA
- ✨ General enhancing to media loading
- Rewritten ImageFetch utility
- Image loading is way faster
- Enhanced image loading stability and debugging (no more image loading deadlocks)
- ✨ Reduced memory allocation rate while playing videos
- ✨ Lock video buffers to prevent windows (or unix) sore memory on disk
- ✨ Removed unnecessary loading.gif extraction (instead detects if its present to override default)
- ✨ Updated default loading gif (now we use a square gif)
- ✨ Enhanced VLC discovery to be more recursive
- 🛠️ Relocated ``me.srrapero720`` package to `org.watermedia` (part of the v3 refactor)
- 🛠️ Renamed `SyncMediaPlayer` to `MediaPlayer` and all its downclasses
- 🛠️ Renamed `rendering.RenderAPI` to `render.RenderAPI`
- 🛠️ Renamed methods similar to `getUrl()` to `getUri()`
- 🛠️ Removed deprecated methods
- 🛠️ Added JVM argument `-Dwatermedia.slavist=<true/false>` (enables HD videos from YT)
### IMPORTANT: THIS UPDATE IS A BREAKING UPDATE! DEPENDENT MODS WILL NOT WORK IF THEY DIDN'T RELEASE A COMPATIBILITY UPDATE
**WHY UPDATE IS SMALL?**<br>
This update is focused on fix critical problems on v2 which requires breaking changes, we didn't put much
effort on this update to entirely focus on v3 development with way many and better features.<br>
Consider get hyped, this update helps me a lot on how to enhance performance on v3 and how to do SoundPhysics (i made OpenAL works)
- ✨ Fixed and enhanced URI handling
- All usages of `java.net.URL` has been replaced with `java.net.URI`
- `local://<path>` was replaced with `water://local/<path>`
- Uris created via `NetworkAPI#createURI()` has direct paths compatibility like `C:\Users\ME\Downloads` (no more `file:///`)
- Non-HTTP protocols (supported by Java) are now supported (back again)
- Fixed some URL's capable to be loaded in VLC aren't loaded by WATERMeDIA
- ✨ General enhancing to media loading
- Rewritten ImageFetch utility
- Image loading is way faster
- Enhanced image loading stability and debugging (no more image loading deadlocks)
- ✨ Reduced memory allocation rate while playing videos
- ✨ Lock video buffers to prevent windows (or unix) sore memory on disk
- ✨ Removed unnecessary loading.gif extraction (instead detects if its present to override default)
- ✨ Updated default loading gif (now we use a square gif)
- ✨ Enhanced VLC discovery to be more recursive
- 🛠️ Relocated ``me.srrapero720`` package to `org.watermedia` (part of the v3 refactor)
- 🛠️ Renamed `SyncMediaPlayer` to `MediaPlayer` and all its downclasses
- 🛠️ Renamed `rendering.RenderAPI` to `render.RenderAPI`
- 🛠️ Renamed methods similar to `getUrl()` to `getUri()`
- 🛠️ Removed deprecated methods
- 🛠️ Added JVM argument `-Dwatermedia.slavist=<true/false>` (enables HD videos from YT)
展开
版本: 2.1.0
支持游戏: 1.16.5, 1.18.2, 1.19.2, 1.20.1, 1.21.1
类型: Fabric
Forge
NeoForge
Release
下载次数: 1,610
WATERMeDIA/2.1.0-beta.4
watermedia-2.1.0-beta.4.jar下载2.1.0-beta.4#Beta
watermedia-2.1.0-beta.4-sources.jar下载2.1.0-beta.4#Beta
展开
版本: 2.1.0-beta.4
支持游戏: 1.16.5, 1.18.2, 1.19.2, 1.20.1, 1.21.1
类型: Fabric
Forge
NeoForge
Beta
下载次数: 219
WATERMeDIA/2.1.0-beta.3
watermedia-2.1.0-beta.3.jar下载2.1.0-beta.3#Beta
watermedia-2.1.0-beta.3-sources.jar下载2.1.0-beta.3#Beta
展开
版本: 2.1.0-beta.3
支持游戏: 1.16.5, 1.18.2, 1.19.2, 1.20.1, 1.21.1
类型: Fabric
Forge
NeoForge
Beta
下载次数: 46
WATERMeDIA/2.1.0-beta.2
watermedia-2.1.0-beta.2.jar下载2.1.0-beta.2#Beta
watermedia-2.1.0-beta.2-sources.jar下载2.1.0-beta.2#Beta
展开
版本: 2.1.0-beta.2
支持游戏: 1.16.5, 1.18.2, 1.19.2, 1.20.1, 1.21.1
类型: Fabric
Forge
NeoForge
Beta
下载次数: 295
WATERMeDIA/2.1.0-beta.1
watermedia-2.1.0-beta.1.jar下载2.1.0-beta.1#Beta
watermedia-2.1.0-beta.1-sources.jar下载2.1.0-beta.1#Beta
展开
版本: 2.1.0-beta.1
支持游戏: 1.16.5, 1.18.2, 1.19.2, 1.20.1, 1.21.1
类型: Fabric
Forge
NeoForge
Beta
下载次数: 205
WATERMeDIA/2.1.0-alpha.5
watermedia-2.1.0-alpha.5.jar下载2.1.0-alpha.5#Alpha
watermedia-2.1.0-alpha.5-sources.jar下载2.1.0-alpha.5#Alpha
展开
版本: 2.1.0-alpha.5
支持游戏: 1.16.5, 1.18.2, 1.19.2, 1.20.1, 1.21.1
类型: Fabric
Forge
NeoForge
Alpha
下载次数: 383
WATERMeDIA/2.1.0-alpha.4
watermedia-2.1.0-alpha.4.jar下载2.1.0-alpha.4#Alpha
watermedia-2.1.0-alpha.4-sources.jar下载2.1.0-alpha.4#Alpha
# UPDATE 2.0.75
- Added Ligthshot (prnt.sc) support
- Added Ligthshot (prnt.sc) support
展开
版本: 2.1.0-alpha.4
支持游戏: 1.16.5, 1.18.2, 1.19.2, 1.20.1, 1.21.1
类型: Fabric
Forge
NeoForge
Alpha
下载次数: 601
WATERMeDIA/2.1.0-alpha.3
watermedia-2.1.0-alpha.3.jar下载2.1.0-alpha.3#Alpha
watermedia-2.1.0-alpha.3-sources.jar下载2.1.0-alpha.3#Alpha
# UPDATE 2.0.75
- Added Ligthshot (prnt.sc) support
- Added Ligthshot (prnt.sc) support
展开
版本: 2.1.0-alpha.3
支持游戏: 1.16.5, 1.18.2, 1.19.2, 1.20.1, 1.21.1
类型: Fabric
Forge
NeoForge
Alpha
下载次数: 191
WATERMeDIA/2.1.0-alpha.2
watermedia-2.1.0-alpha.2.jar下载2.1.0-alpha.2#Alpha
watermedia-2.1.0-alpha.2-sources.jar下载2.1.0-alpha.2#Alpha
# UPDATE 2.0.75
- Added Ligthshot (prnt.sc) support
- Added Ligthshot (prnt.sc) support
展开
版本: 2.1.0-alpha.2
支持游戏: 1.16.5, 1.18.2, 1.19.2, 1.20.1, 1.21.1
类型: Fabric
Forge
NeoForge
Alpha
下载次数: 45
WATERMeDIA/2.1.0-alpha.1
watermedia-2.1.0-alpha.1.jar下载2.1.0-alpha.1#Alpha
watermedia-2.1.0-alpha.1-sources.jar下载2.1.0-alpha.1#Alpha
# UPDATE 2.0.75
- Added Ligthshot (prnt.sc) support
- Added Ligthshot (prnt.sc) support
展开
版本: 2.1.0-alpha.1
支持游戏: 1.16.5, 1.18.2, 1.19.2, 1.20.1, 1.21.1
类型: Fabric
Forge
NeoForge
Alpha
下载次数: 89
WATERMeDIA/2.0.75
watermedia-2.0.75.jar下载2.0.75#Release
watermedia-2.0.75-sources.jar下载2.0.75#Release
# UPDATE 2.0.75
- Added Ligthshot (prnt.sc) support
- Added Ligthshot (prnt.sc) support
展开
版本: 2.0.75
支持游戏: 1.16.5, 1.18.2, 1.19.2, 1.20.1, 1.21.1
类型: Fabric
Forge
NeoForge
Release
下载次数: 13,144
WATERMeDIA/2.0.74
watermedia-2.0.74.jar下载2.0.74#Release
watermedia-2.0.74-sources.jar下载2.0.74#Release
# UPDATE 2.0.74
- Fixed kick.com support
- Fixed kick.com support
展开
版本: 2.0.74
支持游戏: 1.16.5, 1.18.2, 1.19.2, 1.20.1, 1.21.1
类型: Fabric
Forge
NeoForge
Release
下载次数: 2,965
WATERMeDIA/2.0.73
watermedia-2.0.73.jar下载2.0.73#Release
watermedia-2.0.73-sources.jar下载2.0.73#Release
# UPDATE 2.0.73
- Updated Youtube extractor library (must fix 90% of youtube links issues)
- Fixed Twitter support (backported from dev v3)
- Updated Youtube extractor library (must fix 90% of youtube links issues)
- Fixed Twitter support (backported from dev v3)
展开
版本: 2.0.73
支持游戏: 1.16.5, 1.18.2, 1.19.2, 1.20.1, 1.21.1
类型: Fabric
Forge
NeoForge
Release
下载次数: 601
WATERMeDIA/2.0.72
watermedia-2.0.72.jar下载2.0.72#Release
watermedia-2.0.72-sources.jar下载2.0.72#Release
# UPDATE 2.0.72
- Fixed youtube links was broken (thanks to blake and fuck you youtube)
- Added streamable support
- Enhanced Youtube Fixer code
# UPDATE 2.0.71
- Removed old TLauncher detector
# UPDATE 2.0.70
- Added getUsages on ImageCache
- Added onReleaseListeners on ImageCache (when WaterMedia is about to release renderers)
- Fixed GPU memory leak, textures never got released.
# UPDATE 2.0.69
- Fixed package string being shadowed
# UPDATE 2.0.68
- Fixed KevenTLauncher triggers the TLauncher detector (on fabric)
# UPDATE 2.0.67
- Fixed WaterMedia name appears as "build" on NeoForge dev environments (thanks jitpack)
- Fixed KevenTLauncher triggers the TLauncher detector
- Made all info of mods.toml match
# UPDATE 2.0.66
- Reverted patch on setVolume for macOS users (breaks modern users)
- Added special handling for exceptions on MacOS workarrounds
- Added a simple filecheck toggling MacOS workarrounds
# UPDATE 2.0.65
- Disabled async play on MacOS (may cause FPS Drops on playing videos)
# UPDATE 2.0.64
- Reverted the revert for the removal of wrapped MacOS binaries (again removed)
- Removed VLC argument missing on some OS
- Added extra loggers to give more context about DT
- Patched "setVolume" for MacOS to prevent it set the volume until player is ready (fixed bad memory access)
# UPDATE 2.0.63
- Reverted removal of wrapped MacOS binaries
- Fixed crashes trying to load VLC on MacOS
# UPDATE 2.0.62
- Fixed WM is not properly loading on NeoForge
# UPDATE 2.0.61
- Fixed VLC is not loading on the pre-defined temp path
- Removed MacOS binaries (fixes crashes attemping to load our broken VLC)
- Added NeoForge support
- Fixed crash-reports are not obtained via DT
- Fixed game crashes when fails to create a new VLC instance
# UPDATE 2.0.60
- Fixed MacOS + Fabric causes a black screen when WATERMeDIA is installed
- Stop scanning runtime dir for VLC binaries
- [BETA] DIAGNOSIS TOOL: Click on WATERMeDIA's JAR will open our new Diagnosis Tool to help us to provide faster support
# UPDATE 2.0.58
- Removed broken VLC argument (prevents proper loading)
- Fixed videos are not working and the constant ERROR LOG SPAM of OpenGL
# UPDATE 2.0.57
- Use hardware acceleration whenever it is possible
- Use DirectX xor OpenGL for video output (better performance for users)
- Added SRT support
- Fixed VLC binaries for MacOS
# UPDATE 2.0.56
- Fixed image is not rendering
# UPDATE 2.0.55
- Fixed crashes due to non-reset flushed state
- Deleted FML mockers (moved to modloaders dependency)
# UPDATE 2.0.54
- Fixed PNGs aren't able to load correctly (and instead calls VLC for it)
- Fixed ImageAPI wasn't able to load images due to no specify it wants an image on headers
- [VLCJ] Fixed cannot find VLC directory if the root search folder is a symlink
- [VLCJ] Increased subfolders max number of entries to allow begin scanned
- Removed VLC binaries for Linux x64 (apparently linux is stupid enough to require VLC begin registered as a "dynamic library")
- ImageAPI: ``ImageRenderer`` now process buffers off-thread and stores the pixels instead of the BufferedImage
- ImageAPI: Added `flush` method on ``ImageCache`` to safety flush the picture from VRAM to RAM
- RenderAPI: deprecated `applyBuffer` methods, use instead `getRawImageBuffer` and `uploadBufferTexture
- PlayerAPI: Added `getFactorySoundOnly()`. It returns a variant of the default factory with no video output
# UPDATE 2.0.53
- Fixed crashes on minecraft versions above 1.16.5
# UPDATE 2.0.52
- Fixed the cursed crashes when embeddium is installed
- Fixed sometimes videos aren't correctly played
- Fixed Forge 1.16.5 crashes trying to set the DisplayTest for WATERMeDIA
- Crashes are now more descriptive (with the real cause)
# UPDATE 2.0.51
- Fixed online URLs aren't working
- [VLCJ]\: Changed mrl type from String to URL all `prepare` methods and its usages
- Devs: If you use the WATERMeDIA API and not the direct VLCJ you have nothing to care about :)
# UPDATE 2.0.50
- Fixed missing dependencies classes (the annoying crashes on 1.16.5)
- Added back ``math_colorARGB`` on `WaterMediaAPI` (stops crashes on VideoPlayer and outdated versions of some mods)
- Fixed VLC isn't extracted (regression on backport the new bootstrap)
- Fixed `local://` and `file:/// `wasn't working properly
- `SyncVideoPlayer`: Added getter for RenderLock
- `SyncVideoPlayer`: Fixed memoryleaks and some spam allocations on multiple buffers
- RenderAPI: removed useless checks (done for 1.12.2 compatibility)
- RenderAPI: use MemoryAllocator method to store image buffers
- ImageAPI: added ``createCache`` method: custom image wrapper, is not cached internally
- New experimental player class: ``VideoPlayer``
- It uses a PBO implementation (not approved by ZenoArrow yet)
# UPDATE 2.0.44
- removed experimental memory dealloc (crashes)
# UPDATE 2.0.43
- Fixed VLC discovery and optimize the lookup
# UPDATE 2.0.42
- Reduced impact of GLTexture, increases loading times and FPS (by zFERDQFREZrzfq and J-RAP)
- Release memory when videoplayers got released (experimental, report issues)
- Added back missing methods on MathAPI by the reverts
- Backported 3.0.0 MathAPI (not backported ease methods)
- Fixed Twiiter(X) fixers.
- Fixed Twitch Vods support (by NGoedix)
- Added back Kick.com fixers (by NGoedix)
- Make VLCJ scan folders recursively and evaluate symlinks
# UPDATE 2.0.41
- Added back ``Dwatermedia.disableBoot`` jvm argument (deleted accidentally in 2.0.40)
- Fixed VLC binaries never got extracted (WM attempts to extract the .7z as a .zip)
- Fixed 7zip extraction fails due to a missing commons-io class
- Reverted whole PBO implementation due to artifacts and FPS drops
- Downgrade VLC binaries for macOS to 3.0.18 (fix crashes by VLC)
- Fixed PlayerAPI can't extract VLC binaries for macOS due to a wrong file name.
- Added Fallback system on windows when VLC installation path is missing in the Windows Registries
- Do a proper cleanup when VLC is about to (re)extract
- Rid off BufferedImage allocation from RAM when the picture is alredy in VRAM
# UPDATE 2.0.40 (ARCHIVED)
WACHOUT! BREAKING CHANGES
- Removed Deprecated methods from WaterMediaAPI
- Backported v3.0 bootstrap
- Removed some lib720 libraries
- Fixed caching failure when URL is too long by Kaze (#61) (#62)
- Enhanced ImageRenderer using PBO for gifs and pictures (by ZenoArrows) [reduces VRAM usage]
- Reverted Youtube-downloader version to the original version (skipping our fork)
# UPDATE 2.0.32 (UNRELEASED)
- Fixed memoryleak reading strings
- Reduce ClassLoader usage and impact
- Optimized picture GPU upload (suggested by Zeno)
# UPDATE 2.0.31 (ARCHIVED)
- Disabled Kick.com and Imgur fixers (Temporally)
- Removed transitive dependencies and any other not essential dependency (retrofit, jackson databind and others)
- switch to fork version of yt-downloader
- disable VLC file logging (also deletes log folders if was founded)
# UPDATE 2.0.30 (UNRELEASED)
- Update dev SETUP
# UPDATE 2.0.29 (UNRELEASED)
- Bump VLC version.cfg (solve MacOS binaries didn't get extracted)
# UPDATE 2.0.28 (ARCHIVED)
- Store classloader on instances instead of static scope
- May solve issues in 1.12.2 related to security exceptions
- Fixed MacOS binaries aren't getting extracted
# UPDATE 2.0.27 (ARCHIVED)
- Removed mixins
- Player API: added ``getBuffer`` and `getBufferLock` in order to get current buffer
- 1.12.2 boot is not longer async (may reduce booting times)
- MemoryAlloc is no longer static (may solve rendering issues on MacOS + fabric)
- Added MacOS binaries
- Experimental: may bindings not work, please report if your OS doesn't work with it
- Added ``local://`` support, you can load videos and pictures from your game folder using a relative path
# UPDATE 2.0.26 (UNRELEASED)
- Added ``-Dwatermedia.disableBoot=<boolean>`` argument
- When enabled, Disables boot completely, useful for not boot in on DataGen
# UPDATE 2.0.25 (CHECKPOINT)
- Added ease mathematical methods to animate positioning
- Added scaleTempo methods to calculate in range time scale
- Rid off DirectSound outside windows
- Disabled cache on ImageAPI fetch
# UPDATE 2.0.24 (ARCHIVED)
- Fixed wrong DisplayTest, causing WATERMeDIA to be required on server by FORGE
# UPDATE 2.0.23 (ARCHIVED)
- Removed DisplayTest on 1.18.2
- Removed server-only pair system of DisplayTest (fixes crashes on 1.16.5)
# UPDATE 2.0.22 (ARCHIVED)
- Fixed crash on 1.16.5
# UPDATE 2.0.21 (ARCHIVED)
- Fixed pictures are infinite loading
- For some reason, IOUtils soft-crashes ImageFetch without throwing any error, it just
stops working.
- IOUtils was replaced with our byte reader. doing that fixes loading, idk why it happens but yeah finally a freaking fix
# UPDATE 2.0.20 (ARCHIVED)
- Reverted all changes related through UrlAPI
- This fixes all issues on WATERFrAMES and VideoPlayer with loading local/online resources
- Mods needs to do some special handling arround ``file:///path/to/file.mp4`` until a real solution was implemented on UrlAPI
- Addressed ``file:///`` protocol on PlayerAPI (VLC wasn't able to understand it)
# UPDATE 2.0.12 (ARCHIVED)
- Fixed: crash on Linux by JPanel natives (again)
- Fixed: Online files aren't loaded by ImageFetch
# UPDATE 2.0.11 (ARCHIVED)
**IMPORTANT ADVICE:** This version contains a lot of potential breaking changes, if mod or any dependent mod
crashes consider downgrading to 2.0.10 (and report it quickly to the authors of the mod)
- Fixed: UrlAPI cannot load local file sources (workaround)
- Fixed: crash on Linux by JPanel
- Fixed: Bootstrap was unintentional ASYNC
- If you notice sometimes first booting is buggy or broken states of the API; well that isn't normal
- By accident, all bootstrap methods become ASYNC; that means off-thread, that means a lot of bugs
- This update may reduce booting times for the first time, after that booting times are "exact same"
- Feature: Reduced build size by 50%
- Compressed picture resources by ~60%
- Compressed pre-installed binaries to ~40%
- RenderAPI: Added methods to create and resize DirectByteBuffers
- SyncVideoPlayer now internally uses a ByteBuffer instead of a ported IntBuffer
- Feature: Boostrap on 1.12.2 is now ASYNC (leading in a fast loading times)
# UPDATE 2.0.10 (ARCHIVED)
- Fixed: buildJar doesn't include VLC binaries.
- Updated VLC failed pictures with a brand-new gif
# UPDATE 2.0.9 ([ARCHIVED](https://discord.com/channels/256109634769780737/1164746686019670097))
- Fixed VLC is not loaded on ArchLinux using pacman (added /bin/ directory)
- Fixed sourceJar includes a copy of VLC binaries (only built jar contains it)
- Fixed warnings on old versions attempting to load environment first time
- Fixed RusticLoader doesn't show what MC version is (broken mocked)
- Improved loggers on NativeDiscovery
- PlayerAPI: deprecated SyncVideoPlayer#preRender() and SyncVideoPlayer#getTexture()
- UrlAPI: added support for file paths
# UPDATE 2.0.8 (ARCHIVED)
- Feature: added tickToMs variant for Float (partial ticks)
# UPDATE 2.0.7 (ARCHIVED)
NOTE: Support for NeoForge 1.20.2 is not planned until they got into a more stable build
- Fixed [#26](https://github.com/SrRapero720/watermedia/issues/23): Crash on startup trying to get OS (from archived version 2.0.6)
- Fixed: new instances of MediaPlayerFactory doesn't log from where it is loaded
- Breaking Change: Renamed URLApi to UrlAPI
- Change: Deprecated entire WaterMediaAPI class (all replacements are documented in class methods)
- Change: Deprecated SyncMediaPlayer constructors
- Change: Enhanced JavaDoc for IEnvLoader
- Change: Reduced Thread priority to SyncBasePlayer#start()
- Feature: RenderAPI - Provides a cross-version rendering tool for OpenGL (from WaterMediaAPI) ``[EXPERIMENTAL]``
- Includes a basic MemoryTracker for ByteBuffers
- Deprecates BufferHelper argument on SyncVideoPlayer
- Feature: MathAPI - Provides shortcuts for any special calculation (from WaterMediaAPI)
- Feature: PlayerAPI - Provides all tools for MediaPlayer management (from WaterMediaAPI)
- Feature: isMute() added to SyncBasePlayer
- Feature: added URLFixer for Imgur.com. Now supports Imgur galleries and tag galleries using
browser url
# UPDATE 2.0.6 - ([ARCHIVED](https://github.com/SrRapero720/watermedia/issues/23))
- Fixed "missing vlc binaries" logger message is always thrown even if binaries are included
- Fixed "cannot create directories" for custom loading gif API
# UPDATE 2.0.5 (ARCHIVED)
- Fixed NPE trying to access to url var in some dependent mods
# UPDATE 2.0.4 (ARCHIVED)
- API: Mitosis on ImageAPI#imageRenderer() and renamed to renderer()
- Reduced MediaPlayer#release priority
- Renamed MediaPlayer#enableSpecialFixer()
- Fixed audio resets to 100% after loop
- Removed IMediaLoader#classLoader() from bootstrap
- Deprecated WaterMediaAPI#url_isValid()
# UPDATE 2.0.3 (ARCHIVED)
- Fixed NPE when url is null or empty
- Reduced arguments for VLC and make console output quiet
# UPDATE 2.0.2 (ARCHIVED)
- Added loggers for mod version and missing pre-installation of VLC
- Reduced async priority of image loading (slow loading, more fps)
- Fixed some stun lag loading images if url is null or empty
- Fixed Audio tracks get cut a few seconds before reaching the track end
- API: Deprecated BasePlayer (use SyncBasePlayer)
- API: Downgrade and re-patched VLCJ library to 4.7.x
- API: Deprecated IMediaLoader#classLoader() method
- API: Deprecated WaterMediaAPI#url_registerFixer()
- API: Deprecated entire ImageAPI inside WaterMediaAPI
- API: Deprecated entire URLApi inside WaterMediaAPI
- API: Fixed custom loading gif API is broken in deprecated API
- API: Now can be released ImageCache (please don't) even if it wasn't ready
- API: Added SyncMusicPlayer
# UPDATE 2.0.1 (ARCHIVED)
- Removed mod features (now can start on forge 1.19+)
# BREAKING UPDATE 2.0.0
This update breaks dependency mods,
only update when all mods depending on it releases a compatibility update
## FEATURES
- Code ported to JAVA 8
- Extended support of old versions of Minecraft (Now supported versions are on MinecraftForge 1.12.2 ~ 1.20.x AND FABRIC 1.16.5 ~ 1.20.x)
- FABRIC support is back (but this time 100%)
- Enhanced Bootstrap
## API: FEATURES
- Rewrite of ImageAPI
- ImageCache: friendly cache system for already loaded pictures.
- ImageFetch: Async class to fetch pictures from internet. now uses ExecutorServices to avoid any kind of sync bug
- ImageRenderer: container of a picture, can be a gif or just a picture.
- Rewrite of PlayerAPI
- BasePlayer: VLC Player base. all methods can be used in other threads (do not expect to be 100% stable)
- VideoPlayer: Extends BasePlayer; includes GL rendering tools to process IntBuffers
- SyncBasePlayer: A synchro base. all methods should be executed on the instance thread or player thread. Can be executed async task using "submit()"
- SyncVideoPlayer: Extends SyncBasePlayer; includes GL rendering tools to process IntBuffers
- WaterMediaAPI: Renamed all methods. Now all starts with category_action(arguments)
- Removed special VLC failed pictures for Windows users
- URLApi: Added Special Fixers
- Special Fixers are "nothing special." These are disabled by default in our API, and other modders should add the capability to enable it by the end user
- Special Fixers can be enabled on PlayerAPI but are restricted on ImageAPI
- These fixers add compatibility to pages with not much acceptance by the people. BE AWARE
## CHANGES
- Added more VLC binaries
- This fixes issues with OGG and MP3 compatibility
## BUG FIXES
- Fixed URLFixer for Twitch, TwitterX.
- Fixed logger doesn't gzip last log session file of VLC on Bootstrap
- Check your tmp directory (watermedia/logs/latest.log) and delete it
- The Current record is 2GB
- F for QSMP members
## DEVELOPMENT CHANGES
- Dropped Non-LTS versions
- LTS versions (for us) are versions with a big player base (1.12.2, 1.16.5, 1.18.2, 1.19.2, 1.20.x)
- Technically API can be loaded in ANY version of Minecraft (in range of 1.12.2~1.20.x)
- This was decided just to prevent dependent modders being bugged with "why it doesn't exist for 1.17.x ". They can just blame us :)
## OTHER CHANGES
I made more stuff internally, but I forgot what features were added who added and (whatever)
just enjoy the rewrite
- Fixed youtube links was broken (thanks to blake and fuck you youtube)
- Added streamable support
- Enhanced Youtube Fixer code
# UPDATE 2.0.71
- Removed old TLauncher detector
# UPDATE 2.0.70
- Added getUsages on ImageCache
- Added onReleaseListeners on ImageCache (when WaterMedia is about to release renderers)
- Fixed GPU memory leak, textures never got released.
# UPDATE 2.0.69
- Fixed package string being shadowed
# UPDATE 2.0.68
- Fixed KevenTLauncher triggers the TLauncher detector (on fabric)
# UPDATE 2.0.67
- Fixed WaterMedia name appears as "build" on NeoForge dev environments (thanks jitpack)
- Fixed KevenTLauncher triggers the TLauncher detector
- Made all info of mods.toml match
# UPDATE 2.0.66
- Reverted patch on setVolume for macOS users (breaks modern users)
- Added special handling for exceptions on MacOS workarrounds
- Added a simple filecheck toggling MacOS workarrounds
# UPDATE 2.0.65
- Disabled async play on MacOS (may cause FPS Drops on playing videos)
# UPDATE 2.0.64
- Reverted the revert for the removal of wrapped MacOS binaries (again removed)
- Removed VLC argument missing on some OS
- Added extra loggers to give more context about DT
- Patched "setVolume" for MacOS to prevent it set the volume until player is ready (fixed bad memory access)
# UPDATE 2.0.63
- Reverted removal of wrapped MacOS binaries
- Fixed crashes trying to load VLC on MacOS
# UPDATE 2.0.62
- Fixed WM is not properly loading on NeoForge
# UPDATE 2.0.61
- Fixed VLC is not loading on the pre-defined temp path
- Removed MacOS binaries (fixes crashes attemping to load our broken VLC)
- Added NeoForge support
- Fixed crash-reports are not obtained via DT
- Fixed game crashes when fails to create a new VLC instance
# UPDATE 2.0.60
- Fixed MacOS + Fabric causes a black screen when WATERMeDIA is installed
- Stop scanning runtime dir for VLC binaries
- [BETA] DIAGNOSIS TOOL: Click on WATERMeDIA's JAR will open our new Diagnosis Tool to help us to provide faster support
# UPDATE 2.0.58
- Removed broken VLC argument (prevents proper loading)
- Fixed videos are not working and the constant ERROR LOG SPAM of OpenGL
# UPDATE 2.0.57
- Use hardware acceleration whenever it is possible
- Use DirectX xor OpenGL for video output (better performance for users)
- Added SRT support
- Fixed VLC binaries for MacOS
# UPDATE 2.0.56
- Fixed image is not rendering
# UPDATE 2.0.55
- Fixed crashes due to non-reset flushed state
- Deleted FML mockers (moved to modloaders dependency)
# UPDATE 2.0.54
- Fixed PNGs aren't able to load correctly (and instead calls VLC for it)
- Fixed ImageAPI wasn't able to load images due to no specify it wants an image on headers
- [VLCJ] Fixed cannot find VLC directory if the root search folder is a symlink
- [VLCJ] Increased subfolders max number of entries to allow begin scanned
- Removed VLC binaries for Linux x64 (apparently linux is stupid enough to require VLC begin registered as a "dynamic library")
- ImageAPI: ``ImageRenderer`` now process buffers off-thread and stores the pixels instead of the BufferedImage
- ImageAPI: Added `flush` method on ``ImageCache`` to safety flush the picture from VRAM to RAM
- RenderAPI: deprecated `applyBuffer` methods, use instead `getRawImageBuffer` and `uploadBufferTexture
- PlayerAPI: Added `getFactorySoundOnly()`. It returns a variant of the default factory with no video output
# UPDATE 2.0.53
- Fixed crashes on minecraft versions above 1.16.5
# UPDATE 2.0.52
- Fixed the cursed crashes when embeddium is installed
- Fixed sometimes videos aren't correctly played
- Fixed Forge 1.16.5 crashes trying to set the DisplayTest for WATERMeDIA
- Crashes are now more descriptive (with the real cause)
# UPDATE 2.0.51
- Fixed online URLs aren't working
- [VLCJ]\: Changed mrl type from String to URL all `prepare` methods and its usages
- Devs: If you use the WATERMeDIA API and not the direct VLCJ you have nothing to care about :)
# UPDATE 2.0.50
- Fixed missing dependencies classes (the annoying crashes on 1.16.5)
- Added back ``math_colorARGB`` on `WaterMediaAPI` (stops crashes on VideoPlayer and outdated versions of some mods)
- Fixed VLC isn't extracted (regression on backport the new bootstrap)
- Fixed `local://` and `file:/// `wasn't working properly
- `SyncVideoPlayer`: Added getter for RenderLock
- `SyncVideoPlayer`: Fixed memoryleaks and some spam allocations on multiple buffers
- RenderAPI: removed useless checks (done for 1.12.2 compatibility)
- RenderAPI: use MemoryAllocator method to store image buffers
- ImageAPI: added ``createCache`` method: custom image wrapper, is not cached internally
- New experimental player class: ``VideoPlayer``
- It uses a PBO implementation (not approved by ZenoArrow yet)
# UPDATE 2.0.44
- removed experimental memory dealloc (crashes)
# UPDATE 2.0.43
- Fixed VLC discovery and optimize the lookup
# UPDATE 2.0.42
- Reduced impact of GLTexture, increases loading times and FPS (by zFERDQFREZrzfq and J-RAP)
- Release memory when videoplayers got released (experimental, report issues)
- Added back missing methods on MathAPI by the reverts
- Backported 3.0.0 MathAPI (not backported ease methods)
- Fixed Twiiter(X) fixers.
- Fixed Twitch Vods support (by NGoedix)
- Added back Kick.com fixers (by NGoedix)
- Make VLCJ scan folders recursively and evaluate symlinks
# UPDATE 2.0.41
- Added back ``Dwatermedia.disableBoot`` jvm argument (deleted accidentally in 2.0.40)
- Fixed VLC binaries never got extracted (WM attempts to extract the .7z as a .zip)
- Fixed 7zip extraction fails due to a missing commons-io class
- Reverted whole PBO implementation due to artifacts and FPS drops
- Downgrade VLC binaries for macOS to 3.0.18 (fix crashes by VLC)
- Fixed PlayerAPI can't extract VLC binaries for macOS due to a wrong file name.
- Added Fallback system on windows when VLC installation path is missing in the Windows Registries
- Do a proper cleanup when VLC is about to (re)extract
- Rid off BufferedImage allocation from RAM when the picture is alredy in VRAM
# UPDATE 2.0.40 (ARCHIVED)
WACHOUT! BREAKING CHANGES
- Removed Deprecated methods from WaterMediaAPI
- Backported v3.0 bootstrap
- Removed some lib720 libraries
- Fixed caching failure when URL is too long by Kaze (#61) (#62)
- Enhanced ImageRenderer using PBO for gifs and pictures (by ZenoArrows) [reduces VRAM usage]
- Reverted Youtube-downloader version to the original version (skipping our fork)
# UPDATE 2.0.32 (UNRELEASED)
- Fixed memoryleak reading strings
- Reduce ClassLoader usage and impact
- Optimized picture GPU upload (suggested by Zeno)
# UPDATE 2.0.31 (ARCHIVED)
- Disabled Kick.com and Imgur fixers (Temporally)
- Removed transitive dependencies and any other not essential dependency (retrofit, jackson databind and others)
- switch to fork version of yt-downloader
- disable VLC file logging (also deletes log folders if was founded)
# UPDATE 2.0.30 (UNRELEASED)
- Update dev SETUP
# UPDATE 2.0.29 (UNRELEASED)
- Bump VLC version.cfg (solve MacOS binaries didn't get extracted)
# UPDATE 2.0.28 (ARCHIVED)
- Store classloader on instances instead of static scope
- May solve issues in 1.12.2 related to security exceptions
- Fixed MacOS binaries aren't getting extracted
# UPDATE 2.0.27 (ARCHIVED)
- Removed mixins
- Player API: added ``getBuffer`` and `getBufferLock` in order to get current buffer
- 1.12.2 boot is not longer async (may reduce booting times)
- MemoryAlloc is no longer static (may solve rendering issues on MacOS + fabric)
- Added MacOS binaries
- Experimental: may bindings not work, please report if your OS doesn't work with it
- Added ``local://`` support, you can load videos and pictures from your game folder using a relative path
# UPDATE 2.0.26 (UNRELEASED)
- Added ``-Dwatermedia.disableBoot=<boolean>`` argument
- When enabled, Disables boot completely, useful for not boot in on DataGen
# UPDATE 2.0.25 (CHECKPOINT)
- Added ease mathematical methods to animate positioning
- Added scaleTempo methods to calculate in range time scale
- Rid off DirectSound outside windows
- Disabled cache on ImageAPI fetch
# UPDATE 2.0.24 (ARCHIVED)
- Fixed wrong DisplayTest, causing WATERMeDIA to be required on server by FORGE
# UPDATE 2.0.23 (ARCHIVED)
- Removed DisplayTest on 1.18.2
- Removed server-only pair system of DisplayTest (fixes crashes on 1.16.5)
# UPDATE 2.0.22 (ARCHIVED)
- Fixed crash on 1.16.5
# UPDATE 2.0.21 (ARCHIVED)
- Fixed pictures are infinite loading
- For some reason, IOUtils soft-crashes ImageFetch without throwing any error, it just
stops working.
- IOUtils was replaced with our byte reader. doing that fixes loading, idk why it happens but yeah finally a freaking fix
# UPDATE 2.0.20 (ARCHIVED)
- Reverted all changes related through UrlAPI
- This fixes all issues on WATERFrAMES and VideoPlayer with loading local/online resources
- Mods needs to do some special handling arround ``file:///path/to/file.mp4`` until a real solution was implemented on UrlAPI
- Addressed ``file:///`` protocol on PlayerAPI (VLC wasn't able to understand it)
# UPDATE 2.0.12 (ARCHIVED)
- Fixed: crash on Linux by JPanel natives (again)
- Fixed: Online files aren't loaded by ImageFetch
# UPDATE 2.0.11 (ARCHIVED)
**IMPORTANT ADVICE:** This version contains a lot of potential breaking changes, if mod or any dependent mod
crashes consider downgrading to 2.0.10 (and report it quickly to the authors of the mod)
- Fixed: UrlAPI cannot load local file sources (workaround)
- Fixed: crash on Linux by JPanel
- Fixed: Bootstrap was unintentional ASYNC
- If you notice sometimes first booting is buggy or broken states of the API; well that isn't normal
- By accident, all bootstrap methods become ASYNC; that means off-thread, that means a lot of bugs
- This update may reduce booting times for the first time, after that booting times are "exact same"
- Feature: Reduced build size by 50%
- Compressed picture resources by ~60%
- Compressed pre-installed binaries to ~40%
- RenderAPI: Added methods to create and resize DirectByteBuffers
- SyncVideoPlayer now internally uses a ByteBuffer instead of a ported IntBuffer
- Feature: Boostrap on 1.12.2 is now ASYNC (leading in a fast loading times)
# UPDATE 2.0.10 (ARCHIVED)
- Fixed: buildJar doesn't include VLC binaries.
- Updated VLC failed pictures with a brand-new gif
# UPDATE 2.0.9 ([ARCHIVED](https://discord.com/channels/256109634769780737/1164746686019670097))
- Fixed VLC is not loaded on ArchLinux using pacman (added /bin/ directory)
- Fixed sourceJar includes a copy of VLC binaries (only built jar contains it)
- Fixed warnings on old versions attempting to load environment first time
- Fixed RusticLoader doesn't show what MC version is (broken mocked)
- Improved loggers on NativeDiscovery
- PlayerAPI: deprecated SyncVideoPlayer#preRender() and SyncVideoPlayer#getTexture()
- UrlAPI: added support for file paths
# UPDATE 2.0.8 (ARCHIVED)
- Feature: added tickToMs variant for Float (partial ticks)
# UPDATE 2.0.7 (ARCHIVED)
NOTE: Support for NeoForge 1.20.2 is not planned until they got into a more stable build
- Fixed [#26](https://github.com/SrRapero720/watermedia/issues/23): Crash on startup trying to get OS (from archived version 2.0.6)
- Fixed: new instances of MediaPlayerFactory doesn't log from where it is loaded
- Breaking Change: Renamed URLApi to UrlAPI
- Change: Deprecated entire WaterMediaAPI class (all replacements are documented in class methods)
- Change: Deprecated SyncMediaPlayer constructors
- Change: Enhanced JavaDoc for IEnvLoader
- Change: Reduced Thread priority to SyncBasePlayer#start()
- Feature: RenderAPI - Provides a cross-version rendering tool for OpenGL (from WaterMediaAPI) ``[EXPERIMENTAL]``
- Includes a basic MemoryTracker for ByteBuffers
- Deprecates BufferHelper argument on SyncVideoPlayer
- Feature: MathAPI - Provides shortcuts for any special calculation (from WaterMediaAPI)
- Feature: PlayerAPI - Provides all tools for MediaPlayer management (from WaterMediaAPI)
- Feature: isMute() added to SyncBasePlayer
- Feature: added URLFixer for Imgur.com. Now supports Imgur galleries and tag galleries using
browser url
# UPDATE 2.0.6 - ([ARCHIVED](https://github.com/SrRapero720/watermedia/issues/23))
- Fixed "missing vlc binaries" logger message is always thrown even if binaries are included
- Fixed "cannot create directories" for custom loading gif API
# UPDATE 2.0.5 (ARCHIVED)
- Fixed NPE trying to access to url var in some dependent mods
# UPDATE 2.0.4 (ARCHIVED)
- API: Mitosis on ImageAPI#imageRenderer() and renamed to renderer()
- Reduced MediaPlayer#release priority
- Renamed MediaPlayer#enableSpecialFixer()
- Fixed audio resets to 100% after loop
- Removed IMediaLoader#classLoader() from bootstrap
- Deprecated WaterMediaAPI#url_isValid()
# UPDATE 2.0.3 (ARCHIVED)
- Fixed NPE when url is null or empty
- Reduced arguments for VLC and make console output quiet
# UPDATE 2.0.2 (ARCHIVED)
- Added loggers for mod version and missing pre-installation of VLC
- Reduced async priority of image loading (slow loading, more fps)
- Fixed some stun lag loading images if url is null or empty
- Fixed Audio tracks get cut a few seconds before reaching the track end
- API: Deprecated BasePlayer (use SyncBasePlayer)
- API: Downgrade and re-patched VLCJ library to 4.7.x
- API: Deprecated IMediaLoader#classLoader() method
- API: Deprecated WaterMediaAPI#url_registerFixer()
- API: Deprecated entire ImageAPI inside WaterMediaAPI
- API: Deprecated entire URLApi inside WaterMediaAPI
- API: Fixed custom loading gif API is broken in deprecated API
- API: Now can be released ImageCache (please don't) even if it wasn't ready
- API: Added SyncMusicPlayer
# UPDATE 2.0.1 (ARCHIVED)
- Removed mod features (now can start on forge 1.19+)
# BREAKING UPDATE 2.0.0
This update breaks dependency mods,
only update when all mods depending on it releases a compatibility update
## FEATURES
- Code ported to JAVA 8
- Extended support of old versions of Minecraft (Now supported versions are on MinecraftForge 1.12.2 ~ 1.20.x AND FABRIC 1.16.5 ~ 1.20.x)
- FABRIC support is back (but this time 100%)
- Enhanced Bootstrap
## API: FEATURES
- Rewrite of ImageAPI
- ImageCache: friendly cache system for already loaded pictures.
- ImageFetch: Async class to fetch pictures from internet. now uses ExecutorServices to avoid any kind of sync bug
- ImageRenderer: container of a picture, can be a gif or just a picture.
- Rewrite of PlayerAPI
- BasePlayer: VLC Player base. all methods can be used in other threads (do not expect to be 100% stable)
- VideoPlayer: Extends BasePlayer; includes GL rendering tools to process IntBuffers
- SyncBasePlayer: A synchro base. all methods should be executed on the instance thread or player thread. Can be executed async task using "submit()"
- SyncVideoPlayer: Extends SyncBasePlayer; includes GL rendering tools to process IntBuffers
- WaterMediaAPI: Renamed all methods. Now all starts with category_action(arguments)
- Removed special VLC failed pictures for Windows users
- URLApi: Added Special Fixers
- Special Fixers are "nothing special." These are disabled by default in our API, and other modders should add the capability to enable it by the end user
- Special Fixers can be enabled on PlayerAPI but are restricted on ImageAPI
- These fixers add compatibility to pages with not much acceptance by the people. BE AWARE
## CHANGES
- Added more VLC binaries
- This fixes issues with OGG and MP3 compatibility
## BUG FIXES
- Fixed URLFixer for Twitch, TwitterX.
- Fixed logger doesn't gzip last log session file of VLC on Bootstrap
- Check your tmp directory (watermedia/logs/latest.log) and delete it
- The Current record is 2GB
- F for QSMP members
## DEVELOPMENT CHANGES
- Dropped Non-LTS versions
- LTS versions (for us) are versions with a big player base (1.12.2, 1.16.5, 1.18.2, 1.19.2, 1.20.x)
- Technically API can be loaded in ANY version of Minecraft (in range of 1.12.2~1.20.x)
- This was decided just to prevent dependent modders being bugged with "why it doesn't exist for 1.17.x ". They can just blame us :)
## OTHER CHANGES
I made more stuff internally, but I forgot what features were added who added and (whatever)
just enjoy the rewrite
展开
版本: 2.0.72
支持游戏: 1.16.5, 1.18.2, 1.19.2, 1.20.1, 1.21.1
类型: Fabric
Forge
NeoForge
Release
下载次数: 4,765
WATERMeDIA/1.3.43
watermedia-1.3.43.jar下载1.3.43#Release
# RELEASE 1.3.43
- Backported method "isSafeUse"
- Start/Prepare now synchronize each other
- Release is now safety ASYNC
- Added a warning after create a VideoLANPlayer instance (use instead SafeVideoLANPlayer instance)
- Wait... no... start porting your mod to WATERMeDIA 2.0... don't be lazy dude.
### 1.3.42
- Fixed VLC callbacks throw exceptions on native threads caused by MinecraftForge (crashing VLC)
### 1.3.41
- Fixed loggers don't get GZIP every start (F for QSMP)
- Added missing binaries
### 1.3.40
- Added missing binaries for Audio processing (fix OGG and MP3 playing)
- Backported TwitchFixer from 2.0 (into a URLPatch)
- Backported Fabric support from 2.0
- Deprecated entire API (new 2.0 is menacing)
- Dropped non-LTS versions (LTS are 1.12.2, 1.16.5, 1.18.2, 1.19.2 [1.19.4], 1.20.x)
- Backported method "isSafeUse"
- Start/Prepare now synchronize each other
- Release is now safety ASYNC
- Added a warning after create a VideoLANPlayer instance (use instead SafeVideoLANPlayer instance)
- Wait... no... start porting your mod to WATERMeDIA 2.0... don't be lazy dude.
### 1.3.42
- Fixed VLC callbacks throw exceptions on native threads caused by MinecraftForge (crashing VLC)
### 1.3.41
- Fixed loggers don't get GZIP every start (F for QSMP)
- Added missing binaries
### 1.3.40
- Added missing binaries for Audio processing (fix OGG and MP3 playing)
- Backported TwitchFixer from 2.0 (into a URLPatch)
- Backported Fabric support from 2.0
- Deprecated entire API (new 2.0 is menacing)
- Dropped non-LTS versions (LTS are 1.12.2, 1.16.5, 1.18.2, 1.19.2 [1.19.4], 1.20.x)
展开
版本: 1.3.43
支持游戏: 1.18.2, 1.19.2, 1.20.1
类型: Fabric
Forge
NeoForge
Release
下载次数: 3,963
收录