mirror of
https://github.com/TeamMidnightDust/PictureSign.git
synced 2025-12-16 14:15:10 +01:00
PictureSign 2.0.0-beta.2 - 1.20.2
- Ported to 1.20.2 - Updated MidnightLib & VideoLib - No more crashes when VLC is not installed - Video now gets properly cleared on disconnect - Fixed the helper screen not saving changes permanently
This commit is contained in:
@@ -1,12 +1,12 @@
|
||||
package eu.midnightdust.picturesign.mixin;
|
||||
|
||||
import eu.midnightdust.lib.util.screen.TexturedOverlayButtonWidget;
|
||||
import eu.midnightdust.picturesign.PictureSignClient;
|
||||
import eu.midnightdust.picturesign.config.PictureSignConfig;
|
||||
import eu.midnightdust.picturesign.screen.PictureSignHelperScreen;
|
||||
import net.minecraft.block.entity.SignBlockEntity;
|
||||
import net.minecraft.client.gui.screen.Screen;
|
||||
import net.minecraft.client.gui.screen.ingame.AbstractSignEditScreen;
|
||||
import net.minecraft.client.gui.widget.TextIconButtonWidget;
|
||||
import net.minecraft.text.Text;
|
||||
import net.minecraft.util.Identifier;
|
||||
import org.spongepowered.asm.mixin.Final;
|
||||
@@ -22,9 +22,9 @@ import static eu.midnightdust.picturesign.PictureSignClient.MOD_ID;
|
||||
|
||||
@Mixin(AbstractSignEditScreen.class)
|
||||
public abstract class MixinSignEditScreen extends Screen {
|
||||
private static final Identifier PICTURESIGN_ICON_TEXTURE = new Identifier(MOD_ID,"textures/gui/picturesign_button.png");
|
||||
private static final Identifier CLIPBOARD_ICON_TEXTURE = new Identifier(MOD_ID,"textures/gui/clipboard_button.png");
|
||||
private static final Identifier TRASHBIN_ICON_TEXTURE = new Identifier(MOD_ID,"textures/gui/trashbin_button.png");
|
||||
private static final Identifier PICTURESIGN_ICON_TEXTURE = new Identifier(MOD_ID,"icon/picturesign");
|
||||
private static final Identifier CLIPBOARD_ICON_TEXTURE = new Identifier(MOD_ID,"icon/clipboard");
|
||||
private static final Identifier TRASHBIN_ICON_TEXTURE = new Identifier(MOD_ID,"icon/trashbin");
|
||||
@Shadow @Final private SignBlockEntity blockEntity;
|
||||
|
||||
@Shadow @Final private String[] messages;
|
||||
@@ -38,27 +38,35 @@ public abstract class MixinSignEditScreen extends Screen {
|
||||
|
||||
@Inject(at = @At("TAIL"),method = "init")
|
||||
private void picturesign$init(CallbackInfo ci) {
|
||||
if (PictureSignClient.clipboard != null && PictureSignClient.clipboard[0] != null)
|
||||
this.addDrawableChild(new TexturedOverlayButtonWidget(this.width - 84, this.height - 40, 20, 20, 0, 0, 20, CLIPBOARD_ICON_TEXTURE, 32, 64, (buttonWidget) -> {
|
||||
if (PictureSignClient.clipboard != null && PictureSignClient.clipboard[0] != null) {
|
||||
TextIconButtonWidget clipboardBuilder = TextIconButtonWidget.builder(Text.empty(), (buttonWidget) -> {
|
||||
for (int i = 0; i < 4; i++) {
|
||||
messages[i] = PictureSignClient.clipboard[i];
|
||||
int finalI = i;
|
||||
blockEntity.changeText(changer -> changer.withMessage(finalI, Text.of(messages[finalI])), front);
|
||||
}
|
||||
}, Text.empty()));
|
||||
if (PictureSignConfig.helperUi)
|
||||
this.addDrawableChild(new TexturedOverlayButtonWidget(this.width - 62, this.height - 40, 20, 20, 0, 0, 20, TRASHBIN_ICON_TEXTURE, 32, 64, (buttonWidget) -> {
|
||||
}, true).texture(CLIPBOARD_ICON_TEXTURE, 16, 16).dimension(20, 20).build();
|
||||
clipboardBuilder.setPosition(this.width - 84, this.height - 40);
|
||||
this.addDrawableChild(clipboardBuilder);
|
||||
}
|
||||
if (PictureSignConfig.helperUi) {
|
||||
TextIconButtonWidget trashbinBuilder = TextIconButtonWidget.builder(Text.empty(), (buttonWidget) -> {
|
||||
for (int i = 0; i < 4; i++) {
|
||||
messages[i] = "";
|
||||
int finalI = i;
|
||||
blockEntity.changeText(changer -> changer.withMessage(finalI, Text.empty()), front);
|
||||
}
|
||||
}, Text.empty()));
|
||||
if (PictureSignConfig.helperUi)
|
||||
this.addDrawableChild(new TexturedOverlayButtonWidget(this.width - 40, this.height - 40, 20, 20, 0, 0, 20, PICTURESIGN_ICON_TEXTURE, 32, 64, (buttonWidget) -> {
|
||||
}, true).texture(TRASHBIN_ICON_TEXTURE, 16, 16).dimension(20, 20).build();
|
||||
trashbinBuilder.setPosition(this.width - 62, this.height - 40);
|
||||
this.addDrawableChild(trashbinBuilder);
|
||||
|
||||
TextIconButtonWidget picturesignBuilder = TextIconButtonWidget.builder(Text.empty(), (buttonWidget) -> {
|
||||
switchScreen = true;
|
||||
Objects.requireNonNull(client).setScreen(new PictureSignHelperScreen(this.blockEntity, front, false));
|
||||
}, Text.empty()));
|
||||
}, true).texture(PICTURESIGN_ICON_TEXTURE, 16, 16).dimension(20, 20).build();
|
||||
picturesignBuilder.setPosition(this.width - 40, this.height - 40);
|
||||
this.addDrawableChild(picturesignBuilder);
|
||||
}
|
||||
}
|
||||
@Inject(at = @At("HEAD"), method = "removed", cancellable = true)
|
||||
private void picturesign$removed(CallbackInfo ci) {
|
||||
|
||||
Reference in New Issue
Block a user