Skip to content

Commit cd9bae8

Browse files
committed
Update WATERMeDIA to 2.1.x
1 parent fcdde95 commit cd9bae8

File tree

8 files changed

+37
-22
lines changed

8 files changed

+37
-22
lines changed

common/src/main/java/eu/midnightdust/picturesign/PictureSignClient.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,14 @@
1717
public class PictureSignClient {
1818
public static Logger LOGGER = LogManager.getLogger("PictureSign");
1919
public static final String MOD_ID = "picturesign";
20-
public static final boolean hasWaterMedia = PlatformFunctions.isModLoaded("watermedia");
2120
public static String[] clipboard = new String[4];
2221
public static final MinecraftClient client = MinecraftClient.getInstance();
2322
public static final KeyBinding BINDING_COPY_SIGN = new KeyBinding("key."+MOD_ID+".copy_sign",
2423
InputUtil.Type.KEYSYM, GLFW.GLFW_KEY_U, "key.categories."+MOD_ID);
2524

2625
public static void init() {
2726
PictureSignConfig.init(MOD_ID, PictureSignConfig.class);
28-
if (hasWaterMedia) {
27+
if (PlatformFunctions.isModLoaded("watermedia")) {
2928
MediaHandler.registerHandler(WaterMediaHandler::new);
3029
GIFHandler.registerHandler(WaterGIFHandler::new);
3130
}

common/src/main/java/eu/midnightdust/picturesign/render/PictureRenderer.java

+1
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,7 @@ else if (type == GIF && gifHandler != null) {
159159
texture = data.identifier;
160160
} else if (type.isVideo && mediaHandler != null) {
161161
if (mediaHandler.isWorking()) {
162+
mediaHandler.preRender();
162163
int rawTexture = mediaHandler.getTexture();
163164
if (rawTexture != -1) {
164165
RenderSystem.setShaderTexture(0, rawTexture);

common/src/main/java/eu/midnightdust/picturesign/util/MediaHandler.java

+3
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import net.minecraft.util.math.BlockPos;
66
import net.minecraft.util.math.Vec3d;
77
import org.jetbrains.annotations.ApiStatus;
8+
import org.watermedia.api.player.videolan.VideoPlayer;
89

910
import java.util.ArrayList;
1011
import java.util.HashMap;
@@ -93,6 +94,8 @@ public long getTime() {
9394
}
9495
public void setTime(long value) {
9596
}
97+
public void preRender() {
98+
}
9699
public int getTexture() {
97100
return -1;
98101
}

common/src/main/java/eu/midnightdust/picturesign/util/WaterGIFHandler.java

+7-5
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
package eu.midnightdust.picturesign.util;
22

3-
import me.srrapero720.watermedia.api.image.ImageAPI;
4-
import me.srrapero720.watermedia.api.image.ImageCache;
5-
import me.srrapero720.watermedia.api.math.MathAPI;
63
import net.minecraft.util.Identifier;
4+
import org.watermedia.api.image.ImageAPI;
5+
import org.watermedia.api.image.ImageCache;
6+
import org.watermedia.api.math.MathAPI;
7+
8+
import java.net.URI;
79

810
import static eu.midnightdust.picturesign.PictureSignClient.client;
911

1012
public class WaterGIFHandler extends GIFHandler {
1113
private ImageCache player;
12-
private long tick = 0L;
14+
private int tick = 0;
1315

1416
public WaterGIFHandler(Identifier id) {
1517
super(id);
@@ -29,7 +31,7 @@ public void closePlayer() {
2931

3032
@Override
3133
public void play(String url) {
32-
this.player = ImageAPI.getCache(url, client);
34+
this.player = ImageAPI.getCache(URI.create(url), client);
3335
player.load();
3436
super.play(url);
3537
}

common/src/main/java/eu/midnightdust/picturesign/util/WaterMediaHandler.java

+17-10
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,21 @@
11
package eu.midnightdust.picturesign.util;
22

3-
import me.srrapero720.watermedia.api.player.PlayerAPI;
4-
import me.srrapero720.watermedia.api.player.SyncBasePlayer;
5-
import me.srrapero720.watermedia.api.player.SyncMusicPlayer;
6-
import me.srrapero720.watermedia.api.player.SyncVideoPlayer;
73
import net.minecraft.client.MinecraftClient;
84
import net.minecraft.sound.SoundCategory;
95
import net.minecraft.util.Identifier;
106
import net.minecraft.util.math.BlockPos;
117
import org.lwjgl.opengl.GL11;
8+
import org.watermedia.api.player.PlayerAPI;
9+
import org.watermedia.api.player.videolan.BasePlayer;
10+
import org.watermedia.api.player.videolan.MusicPlayer;
11+
import org.watermedia.api.player.videolan.VideoPlayer;
12+
13+
import java.net.URI;
1214

1315
import static eu.midnightdust.picturesign.PictureSignClient.client;
1416

1517
public class WaterMediaHandler extends MediaHandler {
16-
private SyncBasePlayer player;
18+
private BasePlayer player;
1719

1820
public WaterMediaHandler(Identifier id, BlockPos pos) {
1921
super(id, pos);
@@ -57,10 +59,10 @@ public void restart() {
5759

5860
@Override
5961
public void play(String url, boolean isVideo) {
60-
this.player = isVideo ? new SyncVideoPlayer(client) : new SyncMusicPlayer();
62+
this.player = isVideo ? new VideoPlayer(client) : new MusicPlayer();
6163
mediaHandlers.put(id, this);
6264
if (player.isBroken()) return;
63-
player.start(url);
65+
player.start(URI.create(url));
6466
this.playbackStarted = true;
6567
}
6668
@Override
@@ -80,10 +82,15 @@ public void setTime(long value) {
8082
player.seekTo(value);
8183
}
8284
@Override
85+
public void preRender() {
86+
if (player instanceof VideoPlayer videoPlayer) {
87+
videoPlayer.preRender();
88+
}
89+
}
90+
@Override
8391
public int getTexture() {
84-
if (player instanceof SyncVideoPlayer videoPlayer) {
85-
int tex = videoPlayer.getGlTexture();
86-
if (GL11.glIsTexture(tex)) return tex;
92+
if (player instanceof VideoPlayer videoPlayer) {
93+
return videoPlayer.texture();
8794
}
8895
return -1;
8996
}

fabric/src/main/resources/fabric.mod.json

+3
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,9 @@
3535
"recommends": {
3636
"watermedia": "*"
3737
},
38+
"breaks": {
39+
"watermedia": "<2.1.0"
40+
},
3841
"mixins": [
3942
"picturesign.mixins.json"
4043
]

gradle.properties

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ release_type=release
1111
curseforge_id=533897
1212
modrinth_id=9WP2dmkk
1313

14-
midnightlib_version=1.5.7
15-
watermedia_version=2.0.64
14+
midnightlib_version=1.6.3
15+
watermedia_version=2.1.2
1616

1717
iris_version=1.6.17+1.20.4
1818
# The latest Iris version causes the build to fail, but we don't need that anyway

neoforge/src/main/resources/META-INF/neoforge.mods.toml

+3-3
Original file line numberDiff line numberDiff line change
@@ -16,21 +16,21 @@ Use signs to display custom images and videos completely client-side!
1616
[[mixins]]
1717
config = "picturesign.mixins.json"
1818

19-
[[dependencies.visualoverhaul]]
19+
[[dependencies.picturesign]]
2020
modId = "neoforge"
2121
mandatory = true
2222
versionRange = "[21.0,)"
2323
ordering = "NONE"
2424
side = "BOTH"
2525

26-
[[dependencies.visualoverhaul]]
26+
[[dependencies.picturesign]]
2727
modId = "minecraft"
2828
mandatory = true
2929
versionRange = "[1.21,)"
3030
ordering = "NONE"
3131
side = "BOTH"
3232

33-
[[dependencies.visualoverhaul]]
33+
[[dependencies.picturesign]]
3434
modId = "midnightlib"
3535
mandatory = true
3636
versionRange = "[1.0,)"

0 commit comments

Comments
 (0)