mirror of
https://github.com/TeamMidnightDust/PictureSign.git
synced 2025-12-13 12:55:09 +01:00
Neoforge support
This commit is contained in:
@@ -2,6 +2,7 @@ package eu.midnightdust.picturesign;
|
||||
|
||||
import eu.midnightdust.lib.util.PlatformFunctions;
|
||||
import eu.midnightdust.picturesign.config.PictureSignConfig;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.client.option.KeyBinding;
|
||||
import net.minecraft.client.util.InputUtil;
|
||||
import net.minecraft.util.Identifier;
|
||||
@@ -11,9 +12,10 @@ import org.lwjgl.glfw.GLFW;
|
||||
|
||||
public class PictureSignClient {
|
||||
public static Logger LOGGER = LogManager.getLogger("PictureSign");
|
||||
public static String MOD_ID = "picturesign";
|
||||
public static final String MOD_ID = "picturesign";
|
||||
public static final boolean hasWaterMedia = PlatformFunctions.isModLoaded("watermedia");
|
||||
public static String[] clipboard = new String[4];
|
||||
public static final MinecraftClient client = MinecraftClient.getInstance();
|
||||
public static final KeyBinding BINDING_COPY_SIGN = new KeyBinding("key."+MOD_ID+".copy_sign",
|
||||
InputUtil.Type.KEYSYM, GLFW.GLFW_KEY_U, "key.categories."+MOD_ID);
|
||||
|
||||
|
||||
@@ -17,7 +17,6 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
|
||||
@Mixin(HangingSignBlockEntityRenderer.class)
|
||||
public abstract class MixinHangingSignBlockEntityRenderer implements BlockEntityRenderer<SignBlockEntity> {
|
||||
@Unique private static final MinecraftClient client = MinecraftClient.getInstance();
|
||||
@Unique PictureSignRenderer psRenderer = new PictureSignRenderer();
|
||||
|
||||
@Inject(at = @At("HEAD"), method = "render")
|
||||
|
||||
@@ -4,7 +4,6 @@ import eu.midnightdust.picturesign.config.PictureSignConfig;
|
||||
import eu.midnightdust.picturesign.render.PictureSignRenderer;
|
||||
import eu.midnightdust.picturesign.util.PictureSignType;
|
||||
import net.minecraft.block.entity.SignBlockEntity;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.client.render.*;
|
||||
import net.minecraft.client.render.block.entity.BlockEntityRenderer;
|
||||
import net.minecraft.client.render.block.entity.BlockEntityRendererFactory;
|
||||
@@ -18,9 +17,10 @@ import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||
|
||||
import static eu.midnightdust.picturesign.PictureSignClient.client;
|
||||
|
||||
@Mixin(SignBlockEntityRenderer.class)
|
||||
public abstract class MixinSignBlockEntityRenderer implements BlockEntityRenderer<SignBlockEntity> {
|
||||
@Unique private static final MinecraftClient client = MinecraftClient.getInstance();
|
||||
@Unique private PictureSignRenderer psRenderer;
|
||||
|
||||
@Inject(at = @At("TAIL"), method = "<init>")
|
||||
|
||||
@@ -2,6 +2,7 @@ package eu.midnightdust.picturesign.screen;
|
||||
|
||||
import eu.midnightdust.picturesign.PictureSignClient;
|
||||
import eu.midnightdust.picturesign.config.PictureSignConfig;
|
||||
import eu.midnightdust.picturesign.util.NetworkUtil;
|
||||
import eu.midnightdust.picturesign.util.PictureSignType;
|
||||
import eu.midnightdust.picturesign.util.PictureURLUtils;
|
||||
import net.minecraft.block.*;
|
||||
@@ -229,14 +230,11 @@ public class PictureSignHelperScreen extends Screen {
|
||||
}
|
||||
public void removed() {
|
||||
if (this.client == null || switchScreen) return;
|
||||
ClientPlayNetworkHandler clientPlayNetworkHandler = this.client.getNetworkHandler();
|
||||
for (int i = 0; i < 4; i++) {
|
||||
int finalI = i;
|
||||
sign.changeText(changer -> changer.withMessage(finalI, Text.of(text[finalI])), front);
|
||||
}
|
||||
if (clientPlayNetworkHandler != null) {
|
||||
clientPlayNetworkHandler.sendPacket(new UpdateSignC2SPacket(this.sign.getPos(), front, this.text[0], this.text[1], this.text[2], this.text[3]));
|
||||
}
|
||||
NetworkUtil.sendPacket(new UpdateSignC2SPacket(this.sign.getPos(), front, this.text[0], this.text[1], this.text[2], this.text[3]));
|
||||
}
|
||||
|
||||
private String[] breakLink(String prefix, String link) {
|
||||
|
||||
@@ -11,13 +11,14 @@ import java.net.MalformedURLException;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import static eu.midnightdust.picturesign.PictureSignClient.client;
|
||||
|
||||
public class GIFHandler {
|
||||
public static Map<Identifier, GIFHandler> gifPlayers = new HashMap<>();
|
||||
|
||||
public final Identifier id;
|
||||
public boolean playbackStarted;
|
||||
private ImageCache player;
|
||||
private static final MinecraftClient client = MinecraftClient.getInstance();
|
||||
private long tick = 0L;
|
||||
|
||||
private GIFHandler(Identifier id) {
|
||||
@@ -59,7 +60,7 @@ public class GIFHandler {
|
||||
}
|
||||
public int getTexture() {
|
||||
return player.getRenderer().texture(tick,
|
||||
(MathAPI.tickToMs(GIFHandler.client.getRenderTickCounter().getTickDelta(true))), true);
|
||||
(MathAPI.tickToMs(client.getRenderTickCounter().getTickDelta(true))), true);
|
||||
}
|
||||
public boolean isWorking() {
|
||||
if (player != null && player.getException() != null) player.getException().fillInStackTrace();
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
package eu.midnightdust.picturesign.util;
|
||||
|
||||
import dev.architectury.injectables.annotations.ExpectPlatform;
|
||||
import net.minecraft.network.packet.Packet;
|
||||
|
||||
public class NetworkUtil {
|
||||
@ExpectPlatform
|
||||
public static void sendPacket(Packet<?> packet) {
|
||||
throw new AssertionError();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user