Skip to content

Commit 3f897d3

Browse files
feat: ported to 1.21.2
1 parent d1fda1e commit 3f897d3

File tree

11 files changed

+168
-145
lines changed

11 files changed

+168
-145
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ plugins {
22
id 'idea'
33
id 'java-library'
44
id 'maven-publish'
5-
id 'net.neoforged.gradle.userdev' version '7.0.142'
5+
id 'net.neoforged.gradle.userdev' version '7.0.171'
66
id "me.modmuss50.mod-publish-plugin" version "0.5.1"
77
}
88

gradle.properties

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ neogradle.subsystems.parchment.mappingsVersion=2024.06.02
88

99

1010
mod_id=xray
11-
mod_version=21.0.1
12-
minecraft_version=1.21
13-
minecraft_version_range=[%base],1.21.1
11+
mod_version=21.2.0
12+
minecraft_version=1.21.2
13+
minecraft_version_range=[%base],1.21.3
1414

1515
# Forge
16-
forge_version=21.0.8-beta
17-
forge_version_range=21.0.8-beta
16+
forge_version=21.2.1-beta
17+
forge_version_range=21.2.0-beta
1818
curse_id=256256

gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip
44
networkTimeout=10000
55
validateDistributionUrl=true
66
zipStoreBase=GRADLE_USER_HOME

src/main/java/pro/mikey/xray/Utils.java

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,29 @@ public static Component safeItemStackName(ItemStack stack) {
2626
return displayName;
2727
}
2828

29-
return Component.translatable(stack.getDescriptionId());
29+
return Component.translatable(stack.getItem().getDescriptionId());
3030
} catch (Exception e) {
3131
return Component.literal("Unknown...");
3232
}
3333
}
34+
35+
private static int packColorWithAlpha(int red, int green, int blue, int alpha) {
36+
return (red << 24) | (green << 16) | (blue << 8) | alpha;
37+
}
38+
39+
private static int packColor(int red, int green, int blue) {
40+
return packColorWithAlpha(red, green, blue, 255);
41+
}
42+
43+
public static int packColorWithAlpha(float red, float green, float blue, float alpha) {
44+
return packColorWithAlpha((int) (red * 255), (int) (green * 255), (int) (blue * 255), (int) (alpha * 255));
45+
}
46+
47+
public static int packColor(float red, float green, float blue) {
48+
return packColorWithAlpha(red, green, blue, 1.0f);
49+
}
50+
51+
public static int addAlphaToPackedColor(int packedColor, float alpha) {
52+
return (packedColor & 0x00FFFFFF) | ((int) (alpha * 255) << 24);
53+
}
3454
}

src/main/java/pro/mikey/xray/gui/GuiOverlay.java

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
package pro.mikey.xray.gui;
22

3+
import com.mojang.blaze3d.platform.GlDebug;
34
import com.mojang.blaze3d.systems.RenderSystem;
45
import net.minecraft.client.Minecraft;
56
import net.minecraft.client.gui.GuiGraphics;
7+
import net.minecraft.client.renderer.RenderType;
68
import net.minecraft.client.resources.language.I18n;
79
import net.minecraft.resources.ResourceLocation;
810
import net.neoforged.api.distmarker.Dist;
@@ -27,14 +29,19 @@ public static void RenderGameOverlayEvent(RenderGuiEvent.Post event) {
2729
if(!Controller.isXRayActive() || !Configuration.general.showOverlay.get())
2830
return;
2931

30-
RenderSystem.setShaderColor(0, 1F, 0, 1F);
31-
RenderSystem.setShaderTexture(0, CIRCLE);
3232
GuiGraphics guiGraphics = event.getGuiGraphics();
33-
guiGraphics.blit(CIRCLE, 5, 5, 0f, 0f, 5, 5, 5, 5);
3433

35-
guiGraphics.drawString(Minecraft.getInstance().font, I18n.get("xray.overlay"), 15, 4, 0xffffffff);
34+
boolean renderDebug = GlDebug.isDebugEnabled();
3635

37-
// Reset color
38-
RenderSystem.setShaderColor(1F, 1F, 1F, 1F);
36+
int x = 5, y = 5;
37+
if (renderDebug) {
38+
x = Minecraft.getInstance().getWindow().getGuiScaledWidth() - 10;
39+
y = Minecraft.getInstance().getWindow().getGuiScaledHeight() - 10;
40+
}
41+
42+
guiGraphics.blit(RenderType::guiTextured, CIRCLE, x, y, 0f, 0f, 5, 5, 5, 5, 0xFF00FF00);
43+
44+
int width = Minecraft.getInstance().font.width(I18n.get("xray.overlay"));
45+
guiGraphics.drawString(Minecraft.getInstance().font, I18n.get("xray.overlay"), x + (!renderDebug ? 10 : -width - 5), y - (!renderDebug ? 1 : 2), 0xff00ff00);
3946
}
4047
}

src/main/java/pro/mikey/xray/gui/GuiSelectionScreen.java

Lines changed: 16 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@
22

33
import com.mojang.blaze3d.platform.GlStateManager;
44
import com.mojang.blaze3d.systems.RenderSystem;
5+
import com.mojang.blaze3d.vertex.PoseStack;
56
import net.minecraft.client.Minecraft;
67
import net.minecraft.client.gui.Font;
78
import net.minecraft.client.gui.GuiGraphics;
89
import net.minecraft.client.gui.components.Button;
910
import net.minecraft.client.gui.components.EditBox;
1011
import net.minecraft.client.gui.components.ObjectSelectionList;
12+
import net.minecraft.client.renderer.RenderType;
1113
import net.minecraft.client.renderer.entity.ItemRenderer;
1214
import net.minecraft.client.resources.language.I18n;
1315
import net.minecraft.locale.Language;
@@ -87,6 +89,7 @@ public void init() {
8789

8890
this.search = new EditBox(getFontRender(), getWidth() / 2 - 137, getHeight() / 2 - 105, 202, 18, Component.empty());
8991
this.search.setCanLoseFocus(true);
92+
addRenderableWidget(this.search);
9093

9194
// side bar buttons
9295
addRenderableWidget(new SupportButtonInner((getWidth() / 2) + 79, getHeight() / 2 - 60, 120, 20, I18n.get("xray.input.add"), "xray.tooltips.add_block", button -> {
@@ -222,11 +225,17 @@ public boolean mouseClicked(double x, double y, int mouse) {
222225

223226
@Override
224227
public void renderExtra(GuiGraphics graphics, int x, int y, float partialTicks) {
225-
this.search.render(graphics, x, y, partialTicks);
226-
this.scrollList.render(graphics, x, y, partialTicks);
227-
228228
if (!search.isFocused() && search.getValue().equals(""))
229229
graphics.drawString(getFontRender(), I18n.get("xray.single.search"), getWidth() / 2 - 130, getHeight() / 2 - 101, Color.GRAY.getRGB());
230+
231+
PoseStack pose = graphics.pose();
232+
pose.pushPose();
233+
pose.translate(this.getWidth() / 2f - 140, ((this.getHeight() / 2f) - 3) + 120, 0);
234+
pose.scale(0.75f, 0.75f, 0.75f);
235+
graphics.drawString(this.font, Component.translatable("xray.tooltips.edit1"), 0, 0, Color.GRAY.getRGB());
236+
pose.translate(0, 12, 0);
237+
graphics.drawString(this.font, Component.translatable("xray.tooltips.edit2"), 0, 0, Color.GRAY.getRGB());
238+
pose.popPose();
230239
}
231240

232241
@Override
@@ -310,27 +319,15 @@ public void render(GuiGraphics guiGraphics, int entryIdx, int top, int left, int
310319
guiGraphics.renderItem(blockData.getItemStack(), left, top + 7);
311320
guiGraphics.renderItemDecorations(font, blockData.getItemStack(), left, top + 7); // TODO: verify
312321

313-
if (mouseX > left && mouseX < (left + entryWidth) && mouseY > top && mouseY < (top + entryHeight) && mouseY < (this.parent.getY() + this.parent.getHeight()) && mouseY > this.parent.getY()) {
314-
guiGraphics.renderTooltip(
315-
font,
316-
Language.getInstance().getVisualOrder(Arrays.asList(Component.translatable("xray.tooltips.edit1"), Component.translatable("xray.tooltips.edit2"))),
317-
left + 15,
318-
(entryIdx == this.parent.children().size() - 1 ? (top - (entryHeight - 20)) : (top + (entryHeight + 15)))
319-
);
320-
}
321-
322-
Color color = new Color(blockData.getColor());
323-
324322
var stack = guiGraphics.pose();
325323
stack.pushPose();
326324
RenderSystem.enableBlend();
327325
RenderSystem.blendFunc(
328326
GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA);
329-
RenderSystem.setShaderColor(0, 0, 0, .5f);
330-
guiGraphics.blit(GuiSelectionScreen.CIRCLE, (left + entryWidth) - 23, (int) (top + (entryHeight / 2f) - 9), 0, 0, 14, 14, 14, 14);
331-
RenderSystem.setShaderColor(color.getRed() / 255f, color.getGreen() / 255f, color.getBlue() / 255f, 1);
332-
guiGraphics.blit(GuiSelectionScreen.CIRCLE, (left + entryWidth) - 21, (int) (top + (entryHeight / 2f) - 7), 0, 0, 10, 10, 10, 10);
333-
RenderSystem.setShaderColor(1F, 1F, 1F, 1F);
327+
328+
guiGraphics.blit(RenderType::guiTextured, GuiSelectionScreen.CIRCLE, (left + entryWidth) - 23, (int) (top + (entryHeight / 2f) - 9), 0, 0, 14, 14, 14, 14, 0x7F000000);
329+
guiGraphics.blit(RenderType::guiTextured, GuiSelectionScreen.CIRCLE, (left + entryWidth) - 21, (int) (top + (entryHeight / 2f) - 7), 0, 0, 10, 10, 10, 10, 0xFF000000 | blockData.getColor());
330+
334331
RenderSystem.disableBlend();
335332
stack.popPose();
336333
}

src/main/java/pro/mikey/xray/gui/manage/BlockListScreen.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ public void render(GuiGraphics graphics, int entryIdx, int top, int left, int en
151151
Font font = this.parent.minecraft.font;
152152

153153
ResourceLocation resource = BuiltInRegistries.ITEM.getKey(this.block.getItemStack().getItem());
154-
graphics.drawString(font, this.block.getItemStack().getItem().getDescription().getString(), left + 25, top + 7, Color.WHITE.getRGB());
154+
graphics.drawString(font, this.block.getItemStack().getItem().getName().getString(), left + 25, top + 7, Color.WHITE.getRGB());
155155
graphics.drawString(font, resource != null ? resource.getNamespace() : "", left + 25, top + 17, Color.GRAY.getRGB());
156156

157157
graphics.renderItem(this.block.getItemStack(), left, top + 7);

src/main/java/pro/mikey/xray/gui/utils/GuiBase.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import net.minecraft.client.gui.components.Renderable;
66
import net.minecraft.client.gui.components.events.GuiEventListener;
77
import net.minecraft.client.gui.screens.Screen;
8+
import net.minecraft.client.renderer.RenderType;
89
import net.minecraft.locale.Language;
910
import net.minecraft.network.chat.Component;
1011
import net.minecraft.resources.ResourceLocation;
@@ -44,15 +45,15 @@ public void render(GuiGraphics guiGraphics, int x, int y, float partialTicks) {
4445
int width = this.width;
4546
int height = this.height;
4647
if (this.hasSide) {
47-
guiGraphics.blit(getBackground(), width / 2 + 60, height / 2 - 180 / 2, 0, 0, 150, 180, 150, 180);
48-
guiGraphics.blit(getBackground(), width / 2 - 150, height / 2 - 118, 0, 0, this.backgroundWidth, this.backgroundHeight, this.backgroundWidth, this.backgroundHeight);
48+
guiGraphics.blit(RenderType::guiTextured, getBackground(), width / 2 + 60, height / 2 - 180 / 2, 0, 0, 150, 180, 150, 180);
49+
guiGraphics.blit(RenderType::guiTextured, getBackground(), width / 2 - 150, height / 2 - 118, 0, 0, this.backgroundWidth, this.backgroundHeight, this.backgroundWidth, this.backgroundHeight);
4950

5051
if (hasSideTitle())
5152
guiGraphics.drawString(getFontRender(), this.sideTitle, width / 2 + 80, height / 2 - 77, 0xffff00);
5253
}
5354

5455
if (!this.hasSide)
55-
guiGraphics.blit(getBackground(), width / 2 - this.backgroundWidth / 2 + 1, height / 2 - this.backgroundHeight / 2, 0, 0, this.backgroundWidth, this.backgroundHeight, this.backgroundWidth, this.backgroundHeight);
56+
guiGraphics.blit(RenderType::guiTextured, getBackground(), width / 2 - this.backgroundWidth / 2 + 1, height / 2 - this.backgroundHeight / 2, 0, 0, this.backgroundWidth, this.backgroundHeight, this.backgroundWidth, this.backgroundHeight);
5657

5758
if (hasTitle()) {
5859
if (this.hasSide)

src/main/java/pro/mikey/xray/store/BlockStore.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,7 @@ public static ArrayList<BlockData> getFromSimpleBlockList(List<BlockData.Seriali
8585
if( location == null )
8686
continue;
8787

88-
Block block = BuiltInRegistries.BLOCK.get(location);
89-
if( block == null )
90-
continue;
88+
Block block = BuiltInRegistries.BLOCK.getValue(location);
9189

9290
blockData.add(
9391
new BlockData(

src/main/java/pro/mikey/xray/xray/Render.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
package pro.mikey.xray.xray;
22

3+
import com.mojang.blaze3d.buffers.BufferUsage;
34
import com.mojang.blaze3d.systems.RenderSystem;
45
import com.mojang.blaze3d.vertex.*;
56
import net.minecraft.client.Camera;
67
import net.minecraft.client.Minecraft;
8+
import net.minecraft.client.renderer.CoreShaders;
79
import net.minecraft.client.renderer.GameRenderer;
810
import net.minecraft.world.phys.Vec3;
911
import net.neoforged.bus.api.SubscribeEvent;
@@ -22,7 +24,7 @@ public class Render {
2224
static void renderBlocks(RenderLevelStageEvent event) {
2325
if (vertexBuffer == null || requestedRefresh) {
2426
requestedRefresh = false;
25-
vertexBuffer = new VertexBuffer(VertexBuffer.Usage.STATIC);
27+
vertexBuffer = new VertexBuffer(BufferUsage.STATIC_WRITE);
2628

2729
Tesselator tessellator = Tesselator.getInstance();
2830
BufferBuilder buffer = tessellator.begin(VertexFormat.Mode.DEBUG_LINES, DefaultVertexFormat.POSITION_COLOR);
@@ -98,8 +100,7 @@ static void renderBlocks(RenderLevelStageEvent event) {
98100
PoseStack poseStack = event.getPoseStack();
99101
poseStack.pushPose();
100102

101-
RenderSystem.setShader(GameRenderer::getPositionColorShader);
102-
RenderSystem.applyModelViewMatrix();
103+
RenderSystem.setShader(CoreShaders.POSITION_COLOR);
103104
RenderSystem.depthFunc(GL11.GL_ALWAYS);
104105

105106
poseStack.mulPose(event.getModelViewMatrix());
@@ -111,7 +112,6 @@ static void renderBlocks(RenderLevelStageEvent event) {
111112
RenderSystem.depthFunc(GL11.GL_LEQUAL);
112113

113114
poseStack.popPose();
114-
RenderSystem.applyModelViewMatrix();
115115
}
116116
}
117117
}

0 commit comments

Comments
 (0)