Fix crash
This commit is contained in:
parent
bfd93753eb
commit
8ad2147c42
4 changed files with 20 additions and 8 deletions
|
@ -70,7 +70,7 @@ public class CheckBoxElement extends ElementBase {
|
||||||
sprite = checkBoxSprite.ticked();
|
sprite = checkBoxSprite.ticked();
|
||||||
}
|
}
|
||||||
drawSprite(drawContext, gui, sprite, getX(), getY() );
|
drawSprite(drawContext, gui, sprite, getX(), getY() );
|
||||||
drawText(drawContext, gui, label, getX() + getWidth() + 5, ((getY() + getHeight() / 2) - (gui.getTextRenderer().fontHeight / 2)), 0xFFFFFFFF);
|
drawText(drawContext, gui, label, getX() + 18, ((getY() + getHeight() / 2) - (gui.getTextRenderer().fontHeight / 2)), 0xFFFFFFFF);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,6 +26,7 @@ package reborncore.client.gui.builder.slot.elements;
|
||||||
|
|
||||||
import net.minecraft.client.gui.DrawContext;
|
import net.minecraft.client.gui.DrawContext;
|
||||||
import net.minecraft.client.gui.screen.Screen;
|
import net.minecraft.client.gui.screen.Screen;
|
||||||
|
import net.minecraft.client.texture.Sprite;
|
||||||
import net.minecraft.client.util.SpriteIdentifier;
|
import net.minecraft.client.util.SpriteIdentifier;
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
import reborncore.client.gui.builder.GuiBase;
|
import reborncore.client.gui.builder.GuiBase;
|
||||||
|
@ -59,11 +60,11 @@ public class ElementBase {
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getWidth() {
|
public int getWidth() {
|
||||||
return sprite.getSprite().getContents().getWidth();
|
return getGuiSprite(sprite).getContents().getWidth();
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getHeight() {
|
public int getHeight() {
|
||||||
return sprite.getSprite().getContents().getHeight();
|
return getGuiSprite(sprite).getContents().getHeight();
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean onClick(GuiBase<?> gui, double mouseX, double mouseY) {
|
public boolean onClick(GuiBase<?> gui, double mouseX, double mouseY) {
|
||||||
|
@ -92,8 +93,17 @@ public class ElementBase {
|
||||||
drawContext.drawText(gui.getTextRenderer(), text, x, y, color, false);
|
drawContext.drawText(gui.getTextRenderer(), text, x, y, color, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void drawSprite(DrawContext drawContext, GuiBase<?> gui, SpriteIdentifier sprite, int x, int y) {
|
public void drawSprite(DrawContext drawContext, GuiBase<?> gui, SpriteIdentifier spriteIdentifier, int x, int y) {
|
||||||
drawContext.drawSprite(x + gui.getGuiLeft(), y + gui.getGuiTop(), 0, getWidth(), getHeight(), sprite.getSprite());
|
final Sprite sprite = getGuiSprite(spriteIdentifier);
|
||||||
|
|
||||||
|
drawContext.drawSprite(
|
||||||
|
x + gui.getGuiLeft(),
|
||||||
|
y + gui.getGuiTop(),
|
||||||
|
0,
|
||||||
|
sprite.getContents().getWidth(),
|
||||||
|
sprite.getContents().getHeight(),
|
||||||
|
sprite
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void drawDefaultBackground(DrawContext drawContext, Screen gui, int x, int y, int width, int height) {
|
public void drawDefaultBackground(DrawContext drawContext, Screen gui, int x, int y, int width, int height) {
|
||||||
|
@ -102,4 +112,8 @@ public class ElementBase {
|
||||||
drawContext.drawTexture(GuiBuilder.defaultTextureSheet, x, y + height / 2, 0, 150 - height / 2, width / 2, height / 2);
|
drawContext.drawTexture(GuiBuilder.defaultTextureSheet, x, y + height / 2, 0, 150 - height / 2, width / 2, height / 2);
|
||||||
drawContext.drawTexture(GuiBuilder.defaultTextureSheet, x + width / 2, y + height / 2, 150 - width / 2, 150 - height / 2, width / 2, height / 2);
|
drawContext.drawTexture(GuiBuilder.defaultTextureSheet, x + width / 2, y + height / 2, 150 - width / 2, 150 - height / 2, width / 2, height / 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Sprite getGuiSprite(SpriteIdentifier spriteIdentifier) {
|
||||||
|
return GuiSpriteAtlasHolder.INSTANCE.getSprite(sprite.getTextureId());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,10 +28,8 @@ import net.minecraft.client.texture.Sprite;
|
||||||
import net.minecraft.client.texture.SpriteAtlasHolder;
|
import net.minecraft.client.texture.SpriteAtlasHolder;
|
||||||
import net.minecraft.client.texture.TextureManager;
|
import net.minecraft.client.texture.TextureManager;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
import org.jetbrains.annotations.Nullable;
|
|
||||||
|
|
||||||
public class GuiSpriteAtlasHolder extends SpriteAtlasHolder {
|
public class GuiSpriteAtlasHolder extends SpriteAtlasHolder {
|
||||||
@Nullable
|
|
||||||
public static GuiSpriteAtlasHolder INSTANCE;
|
public static GuiSpriteAtlasHolder INSTANCE;
|
||||||
|
|
||||||
public static final Identifier ATLAS_ID = new Identifier("reborncore", "textures/atlas/gui.png");
|
public static final Identifier ATLAS_ID = new Identifier("reborncore", "textures/atlas/gui.png");
|
||||||
|
|
|
@ -48,7 +48,7 @@ public class MixinMinecraftClient {
|
||||||
@Inject(method = "<init>", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/texture/PaintingManager;<init>(Lnet/minecraft/client/texture/TextureManager;)V"))
|
@Inject(method = "<init>", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/texture/PaintingManager;<init>(Lnet/minecraft/client/texture/TextureManager;)V"))
|
||||||
private void init(RunArgs args, CallbackInfo ci) {
|
private void init(RunArgs args, CallbackInfo ci) {
|
||||||
GuiSpriteAtlasHolder.INSTANCE = new GuiSpriteAtlasHolder(this.textureManager);
|
GuiSpriteAtlasHolder.INSTANCE = new GuiSpriteAtlasHolder(this.textureManager);
|
||||||
this.resourceManager.registerReloader(GuiSpriteAtlasHolder.INSTANCE );
|
this.resourceManager.registerReloader(GuiSpriteAtlasHolder.INSTANCE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Inject(method = "close", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/texture/PaintingManager;close()V"))
|
@Inject(method = "close", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/texture/PaintingManager;close()V"))
|
||||||
|
|
Loading…
Reference in a new issue