mirror of
https://github.com/Wurst-Imperium/Wurst7.git
synced 2024-09-20 09:16:20 +02:00
Fix EditBlockListScreen
This commit is contained in:
parent
ca1117f673
commit
bfc666550a
@ -12,6 +12,8 @@ import java.util.List;
|
||||
import org.lwjgl.glfw.GLFW;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.mojang.blaze3d.systems.RenderSystem;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
@ -27,6 +29,7 @@ import net.minecraft.text.LiteralText;
|
||||
import net.wurstclient.settings.BlockListSetting;
|
||||
import net.wurstclient.util.BlockUtils;
|
||||
import net.wurstclient.util.ListWidget;
|
||||
import net.wurstclient.util.MathUtils;
|
||||
|
||||
public final class EditBlockListScreen extends Screen
|
||||
{
|
||||
@ -144,7 +147,13 @@ public final class EditBlockListScreen extends Screen
|
||||
{
|
||||
blockNameField.tick();
|
||||
|
||||
blockToAdd = BlockUtils.getBlockFromName(blockNameField.getText());
|
||||
String nameOrId = blockNameField.getText();
|
||||
if(MathUtils.isInteger(nameOrId))
|
||||
blockToAdd =
|
||||
Block.getStateFromRawId(Integer.parseInt(nameOrId)).getBlock();
|
||||
else
|
||||
blockToAdd = BlockUtils.getBlockFromName(nameOrId);
|
||||
|
||||
addButton.active = blockToAdd != null;
|
||||
|
||||
removeButton.active =
|
||||
@ -155,7 +164,6 @@ public final class EditBlockListScreen extends Screen
|
||||
public void render(MatrixStack matrixStack, int mouseX, int mouseY,
|
||||
float partialTicks)
|
||||
{
|
||||
renderBackground(matrixStack);
|
||||
listGui.render(matrixStack, mouseX, mouseY, partialTicks);
|
||||
|
||||
drawCenteredString(matrixStack, client.textRenderer,
|
||||
@ -174,19 +182,23 @@ public final class EditBlockListScreen extends Screen
|
||||
drawStringWithShadow(matrixStack, client.textRenderer,
|
||||
"block name or ID", 68, height - 50, 0x808080);
|
||||
|
||||
fill(matrixStack, 48, height - 56, 64, height - 36, 0xffa0a0a0);
|
||||
fill(matrixStack, 49, height - 55, 64, height - 37, 0xff000000);
|
||||
fill(matrixStack, 214, height - 56, 244, height - 55, 0xffa0a0a0);
|
||||
fill(matrixStack, 214, height - 37, 244, height - 36, 0xffa0a0a0);
|
||||
fill(matrixStack, 244, height - 56, 246, height - 36, 0xffa0a0a0);
|
||||
fill(matrixStack, 214, height - 55, 243, height - 52, 0xff000000);
|
||||
fill(matrixStack, 214, height - 40, 243, height - 37, 0xff000000);
|
||||
fill(matrixStack, 214, height - 55, 216, height - 37, 0xff000000);
|
||||
fill(matrixStack, 242, height - 55, 245, height - 37, 0xff000000);
|
||||
listGui.renderIconAndGetName(matrixStack, new ItemStack(blockToAdd), 52,
|
||||
height - 52, false);
|
||||
int border = blockNameField.isFocused() ? 0xffffffff : 0xffa0a0a0;
|
||||
int black = 0xff000000;
|
||||
|
||||
fill(matrixStack, 48, height - 56, 64, height - 36, border);
|
||||
fill(matrixStack, 49, height - 55, 64, height - 37, black);
|
||||
fill(matrixStack, 214, height - 56, 244, height - 55, border);
|
||||
fill(matrixStack, 214, height - 37, 244, height - 36, border);
|
||||
fill(matrixStack, 244, height - 56, 246, height - 36, border);
|
||||
fill(matrixStack, 214, height - 55, 243, height - 52, black);
|
||||
fill(matrixStack, 214, height - 40, 243, height - 37, black);
|
||||
fill(matrixStack, 214, height - 55, 216, height - 37, black);
|
||||
fill(matrixStack, 242, height - 55, 245, height - 37, black);
|
||||
|
||||
matrixStack.pop();
|
||||
|
||||
listGui.renderIconAndGetName(matrixStack, new ItemStack(blockToAdd),
|
||||
width / 2 - 164, height - 52, false);
|
||||
}
|
||||
|
||||
private static class ListGui extends ListWidget
|
||||
@ -236,14 +248,16 @@ public final class EditBlockListScreen extends Screen
|
||||
int y, int var4, int var5, int var6, float partialTicks)
|
||||
{
|
||||
String name = list.get(index);
|
||||
ItemStack stack = new ItemStack(BlockUtils.getBlockFromName(name));
|
||||
Block block = BlockUtils.getBlockFromName(name);
|
||||
ItemStack stack = new ItemStack(block);
|
||||
TextRenderer fr = mc.textRenderer;
|
||||
|
||||
String displayName =
|
||||
renderIconAndGetName(matrixStack, stack, x + 1, y + 1, true);
|
||||
fr.draw(matrixStack, displayName, x + 28, y, 0xf0f0f0);
|
||||
fr.draw(matrixStack, name, x + 28, y + 9, 0xa0a0a0);
|
||||
fr.draw(matrixStack, "ID: " + BlockUtils.getBlockFromName(name),
|
||||
fr.draw(matrixStack,
|
||||
"ID: " + Block.getRawIdFromState(block.getDefaultState()),
|
||||
x + 28, y + 18, 0xa0a0a0);
|
||||
}
|
||||
|
||||
@ -252,18 +266,21 @@ public final class EditBlockListScreen extends Screen
|
||||
{
|
||||
if(stack.isEmpty())
|
||||
{
|
||||
matrixStack.push();
|
||||
matrixStack.translate(x, y, 0);
|
||||
MatrixStack modelViewStack = RenderSystem.getModelViewStack();
|
||||
modelViewStack.push();
|
||||
modelViewStack.translate(x, y, 0);
|
||||
if(large)
|
||||
matrixStack.scale(1.5F, 1.5F, 1.5F);
|
||||
modelViewStack.scale(1.5F, 1.5F, 1.5F);
|
||||
else
|
||||
matrixStack.scale(0.75F, 0.75F, 0.75F);
|
||||
modelViewStack.scale(0.75F, 0.75F, 0.75F);
|
||||
|
||||
DiffuseLighting.enableGuiDepthLighting();
|
||||
mc.getItemRenderer().renderInGuiWithOverrides(
|
||||
new ItemStack(Blocks.GRASS_BLOCK), 0, 0);
|
||||
DiffuseLighting.disableGuiDepthLighting();
|
||||
matrixStack.pop();
|
||||
|
||||
modelViewStack.pop();
|
||||
RenderSystem.applyModelViewMatrix();
|
||||
|
||||
matrixStack.push();
|
||||
matrixStack.translate(x, y, 0);
|
||||
@ -279,18 +296,20 @@ public final class EditBlockListScreen extends Screen
|
||||
|
||||
}else
|
||||
{
|
||||
matrixStack.push();
|
||||
matrixStack.translate(x, y, 0);
|
||||
MatrixStack modelViewStack = RenderSystem.getModelViewStack();
|
||||
modelViewStack.push();
|
||||
modelViewStack.translate(x, y, 0);
|
||||
if(large)
|
||||
matrixStack.scale(1.5F, 1.5F, 1.5F);
|
||||
modelViewStack.scale(1.5F, 1.5F, 1.5F);
|
||||
else
|
||||
matrixStack.scale(0.75F, 0.75F, 0.75F);
|
||||
modelViewStack.scale(0.75F, 0.75F, 0.75F);
|
||||
|
||||
DiffuseLighting.enableGuiDepthLighting();
|
||||
mc.getItemRenderer().renderInGuiWithOverrides(stack, 0, 0);
|
||||
DiffuseLighting.disableGuiDepthLighting();
|
||||
|
||||
matrixStack.pop();
|
||||
modelViewStack.pop();
|
||||
RenderSystem.applyModelViewMatrix();
|
||||
|
||||
return stack.getName().getString();
|
||||
}
|
||||
|
@ -19,6 +19,7 @@ import net.minecraft.client.gui.Drawable;
|
||||
import net.minecraft.client.gui.DrawableHelper;
|
||||
import net.minecraft.client.gui.Element;
|
||||
import net.minecraft.client.render.BufferBuilder;
|
||||
import net.minecraft.client.render.GameRenderer;
|
||||
import net.minecraft.client.render.Tessellator;
|
||||
import net.minecraft.client.render.VertexFormat;
|
||||
import net.minecraft.client.render.VertexFormats;
|
||||
@ -143,6 +144,7 @@ public abstract class ListWidget extends AbstractParentElement
|
||||
RenderSystem.setShaderTexture(0,
|
||||
DrawableHelper.OPTIONS_BACKGROUND_TEXTURE);
|
||||
RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
RenderSystem.setShader(GameRenderer::getPositionTexColorShader);
|
||||
bufferBuilder.begin(VertexFormat.DrawMode.QUADS,
|
||||
VertexFormats.POSITION_TEXTURE_COLOR);
|
||||
bufferBuilder.vertex(left, bottom, 0.0D)
|
||||
@ -174,6 +176,7 @@ public abstract class ListWidget extends AbstractParentElement
|
||||
// RenderSystem.disableAlphaTest();
|
||||
// RenderSystem.shadeModel(7425);
|
||||
RenderSystem.disableTexture();
|
||||
RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
bufferBuilder.begin(VertexFormat.DrawMode.QUADS,
|
||||
VertexFormats.POSITION_TEXTURE_COLOR);
|
||||
bufferBuilder.vertex(left, top + 4, 0.0D).texture(0.0F, 1.0F)
|
||||
@ -206,38 +209,37 @@ public abstract class ListWidget extends AbstractParentElement
|
||||
if(p < top)
|
||||
p = top;
|
||||
|
||||
RenderSystem.setShader(GameRenderer::getPositionColorShader);
|
||||
bufferBuilder.begin(VertexFormat.DrawMode.QUADS,
|
||||
VertexFormats.POSITION_TEXTURE_COLOR);
|
||||
bufferBuilder.vertex(i, bottom, 0.0D).texture(0.0F, 1.0F)
|
||||
.color(0, 0, 0, 255).next();
|
||||
bufferBuilder.vertex(j, bottom, 0.0D).texture(1.0F, 1.0F)
|
||||
.color(0, 0, 0, 255).next();
|
||||
bufferBuilder.vertex(j, top, 0.0D).texture(1.0F, 0.0F)
|
||||
.color(0, 0, 0, 255).next();
|
||||
bufferBuilder.vertex(i, top, 0.0D).texture(0.0F, 0.0F)
|
||||
.color(0, 0, 0, 255).next();
|
||||
VertexFormats.POSITION_COLOR);
|
||||
bufferBuilder.vertex(i, bottom, 0.0D).color(0, 0, 0, 255)
|
||||
.next();
|
||||
bufferBuilder.vertex(j, bottom, 0.0D).color(0, 0, 0, 255)
|
||||
.next();
|
||||
bufferBuilder.vertex(j, top, 0.0D).color(0, 0, 0, 255).next();
|
||||
bufferBuilder.vertex(i, top, 0.0D).color(0, 0, 0, 255).next();
|
||||
tessellator.draw();
|
||||
bufferBuilder.begin(VertexFormat.DrawMode.QUADS,
|
||||
VertexFormats.POSITION_TEXTURE_COLOR);
|
||||
bufferBuilder.vertex(i, p + o, 0.0D).texture(0.0F, 1.0F)
|
||||
.color(128, 128, 128, 255).next();
|
||||
bufferBuilder.vertex(j, p + o, 0.0D).texture(1.0F, 1.0F)
|
||||
.color(128, 128, 128, 255).next();
|
||||
bufferBuilder.vertex(j, p, 0.0D).texture(1.0F, 0.0F)
|
||||
.color(128, 128, 128, 255).next();
|
||||
bufferBuilder.vertex(i, p, 0.0D).texture(0.0F, 0.0F)
|
||||
.color(128, 128, 128, 255).next();
|
||||
VertexFormats.POSITION_COLOR);
|
||||
bufferBuilder.vertex(i, p + o, 0.0D).color(128, 128, 128, 255)
|
||||
.next();
|
||||
bufferBuilder.vertex(j, p + o, 0.0D).color(128, 128, 128, 255)
|
||||
.next();
|
||||
bufferBuilder.vertex(j, p, 0.0D).color(128, 128, 128, 255)
|
||||
.next();
|
||||
bufferBuilder.vertex(i, p, 0.0D).color(128, 128, 128, 255)
|
||||
.next();
|
||||
tessellator.draw();
|
||||
bufferBuilder.begin(VertexFormat.DrawMode.QUADS,
|
||||
VertexFormats.POSITION_TEXTURE_COLOR);
|
||||
bufferBuilder.vertex(i, p + o - 1, 0.0D).texture(0.0F, 1.0F)
|
||||
VertexFormats.POSITION_COLOR);
|
||||
bufferBuilder.vertex(i, p + o - 1, 0.0D)
|
||||
.color(192, 192, 192, 255).next();
|
||||
bufferBuilder.vertex(j - 1, p + o - 1, 0.0D).texture(1.0F, 1.0F)
|
||||
.color(192, 192, 192, 255).next();
|
||||
bufferBuilder.vertex(j - 1, p, 0.0D).texture(1.0F, 0.0F)
|
||||
.color(192, 192, 192, 255).next();
|
||||
bufferBuilder.vertex(i, p, 0.0D).texture(0.0F, 0.0F)
|
||||
bufferBuilder.vertex(j - 1, p + o - 1, 0.0D)
|
||||
.color(192, 192, 192, 255).next();
|
||||
bufferBuilder.vertex(j - 1, p, 0.0D).color(192, 192, 192, 255)
|
||||
.next();
|
||||
bufferBuilder.vertex(i, p, 0.0D).color(192, 192, 192, 255)
|
||||
.next();
|
||||
tessellator.draw();
|
||||
}
|
||||
|
||||
@ -438,6 +440,7 @@ public abstract class ListWidget extends AbstractParentElement
|
||||
RenderSystem.setShaderTexture(0,
|
||||
DrawableHelper.OPTIONS_BACKGROUND_TEXTURE);
|
||||
RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
RenderSystem.setShader(GameRenderer::getPositionTexColorShader);
|
||||
bufferBuilder.begin(VertexFormat.DrawMode.QUADS,
|
||||
VertexFormats.POSITION_TEXTURE_COLOR);
|
||||
bufferBuilder.vertex(left, bottom, 0.0D).texture(0.0F, bottom / 32.0F)
|
||||
|
Loading…
Reference in New Issue
Block a user