diff --git a/gradle.properties b/gradle.properties index 7bb54f7..45cc927 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,13 +3,13 @@ org.gradle.jvmargs=-Xmx1G # Fabric Properties # check these on https://fabricmc.net/use - minecraft_version=1.19.3 - yarn_mappings=1.19.3+build.5 - loader_version=0.14.13 + minecraft_version=1.20.1 + yarn_mappings=1.20.1+build.10 + loader_version=0.14.22 # Mod Properties - mod_version = 1.2.6 + mod_version = 1.2.7 maven_group = net.entityoutliner archives_base_name = entity-outliner @@ -17,5 +17,5 @@ org.gradle.jvmargs=-Xmx1G # Dependencies # currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api - fabric_version=0.73.0+1.19.3 - modmenu_version=5.0.2 + fabric_version=0.87.0+1.20.1 + modmenu_version=7.2.1 diff --git a/src/main/java/net/entityoutliner/ui/ColorWidget.java b/src/main/java/net/entityoutliner/ui/ColorWidget.java index 6652977..64281c7 100644 --- a/src/main/java/net/entityoutliner/ui/ColorWidget.java +++ b/src/main/java/net/entityoutliner/ui/ColorWidget.java @@ -8,9 +8,9 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gui.DrawContext; import net.minecraft.client.gui.screen.narration.NarrationMessageBuilder; import net.minecraft.client.gui.widget.PressableWidget; -import net.minecraft.client.util.math.MatrixStack; import net.minecraft.entity.EntityType; import net.minecraft.entity.SpawnGroup; import net.minecraft.text.Text; @@ -43,7 +43,7 @@ public void onPress() { EntitySelector.outlinedEntityTypes.put(this.entityType, this.color); } - public void renderButton(MatrixStack matrices, int mouseX, int mouseY, float delta) { + public void renderButton(DrawContext context, int mouseX, int mouseY, float delta) { MinecraftClient minecraftClient = MinecraftClient.getInstance(); RenderSystem.setShaderTexture(0, TEXTURE); RenderSystem.enableDepthTest(); @@ -51,8 +51,8 @@ public void renderButton(MatrixStack matrices, int mouseX, int mouseY, float del RenderSystem.enableBlend(); RenderSystem.defaultBlendFunc(); RenderSystem.blendFunc(GlStateManager.SrcFactor.SRC_ALPHA, GlStateManager.DstFactor.ONE_MINUS_SRC_ALPHA); - drawTexture(matrices, this.getX(), this.getY(), this.isFocused() ? 20.0F : 0.0F, this.color.ordinal() * 20, 20, 20, 40, 180); - this.renderBackground(matrices, minecraftClient, mouseX, mouseY); + drawTexture(context, TEXTURE, this.getX(), this.getY(), this.isFocused() ? 20 : 0, this.color.ordinal() * 20, 20, 20, 40, 180, 1); + //this.renderBackground(matrices, minecraftClient, mouseX, mouseY); } public enum Color { diff --git a/src/main/java/net/entityoutliner/ui/EntityListWidget.java b/src/main/java/net/entityoutliner/ui/EntityListWidget.java index 9a8d31e..3b410a3 100644 --- a/src/main/java/net/entityoutliner/ui/EntityListWidget.java +++ b/src/main/java/net/entityoutliner/ui/EntityListWidget.java @@ -10,13 +10,12 @@ import net.fabricmc.api.Environment; import net.minecraft.client.MinecraftClient; import net.minecraft.client.font.TextRenderer; -import net.minecraft.client.gui.DrawableHelper; +import net.minecraft.client.gui.DrawContext; import net.minecraft.client.gui.Element; import net.minecraft.client.gui.Selectable; import net.minecraft.client.gui.widget.CheckboxWidget; import net.minecraft.client.gui.widget.ElementListWidget; import net.minecraft.client.gui.widget.PressableWidget; -import net.minecraft.client.util.math.MatrixStack; import net.minecraft.entity.EntityType; import net.minecraft.entity.SpawnGroup; import net.minecraft.util.Language; @@ -24,11 +23,11 @@ @Environment(EnvType.CLIENT) public class EntityListWidget extends ElementListWidget { - public EntityListWidget(MinecraftClient client, int width, int height, int top, int bottom, int itemHeight) { + public EntityListWidget(MinecraftClient client, int width, int height, int top, int bottom, int itemHeight) { super(client, width, height, top, bottom, itemHeight); this.centerListVertically = false; } - + public void addListEntry(EntityListWidget.Entry entry) { super.addEntry(entry); } @@ -62,7 +61,7 @@ private EntityEntry(CheckboxWidget checkbox, ColorWidget color, EntityType en this.color = color; this.children.add(checkbox); - if (EntitySelector.outlinedEntityTypes.containsKey(entityType)) + if (EntitySelector.outlinedEntityTypes.containsKey(entityType)) this.children.add(color); } @@ -74,13 +73,13 @@ public static EntityListWidget.EntityEntry create(EntityType entityType, int ); } - public void render(MatrixStack matrices, int i, int j, int k, int l, int m, int n, int o, boolean bl, float f) { - this.checkbox.setY(j); - this.checkbox.render(matrices, n, o, f); + public void render(DrawContext context, int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean hovered, float tickDelta) { + this.checkbox.setY(y); + this.checkbox.render(context, mouseX, mouseY, tickDelta); if (this.children.contains(this.color)) { - this.color.setY(j); - this.color.render(matrices, n, o, f); + this.color.setY(y); + this.color.render(context, mouseX, mouseY, tickDelta); } } @@ -103,7 +102,7 @@ public boolean mouseClicked(double mouseX, double mouseY, int button) { } return true; - } + } public List children() { return this.children; @@ -144,15 +143,15 @@ private HeaderEntry(SpawnGroup category, TextRenderer font, int width, int heigh } else { this.title = Language.getInstance().get("gui.entity-outliner.no_results"); } - + } public static EntityListWidget.HeaderEntry create(SpawnGroup category, TextRenderer font, int width, int height) { return new EntityListWidget.HeaderEntry(category, font, width, height); } - public void render(MatrixStack matrices, int i, int j, int k, int l, int m, int n, int o, boolean bl, float f) { - DrawableHelper.drawCenteredText(matrices, this.font, this.title, this.width / 2, j + (this.height / 2) - (this.font.fontHeight / 2), 16777215); + public void render(DrawContext context, int i, int j, int k, int l, int m, int n, int o, boolean bl, float f) { + context.drawCenteredTextWithShadow(this.font, this.title, this.width / 2, j + (this.height / 2) - (this.font.fontHeight / 2), 16777215); } public List children() { diff --git a/src/main/java/net/entityoutliner/ui/EntitySelector.java b/src/main/java/net/entityoutliner/ui/EntitySelector.java index f6eb31a..be40c33 100644 --- a/src/main/java/net/entityoutliner/ui/EntitySelector.java +++ b/src/main/java/net/entityoutliner/ui/EntitySelector.java @@ -7,15 +7,14 @@ import net.entityoutliner.EntityOutliner; import net.entityoutliner.ui.ColorWidget.Color; +import net.minecraft.client.gui.DrawContext; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.widget.ButtonWidget; import net.minecraft.client.gui.widget.TextFieldWidget; -import net.minecraft.client.util.math.MatrixStack; import net.minecraft.entity.SpawnGroup; import net.minecraft.entity.EntityType; import net.minecraft.text.Text; -// import net.minecraft.util.registry.Registry; import net.minecraft.registry.Registries; public class EntitySelector extends Screen { @@ -238,20 +237,20 @@ public void tick() { this.searchField.tick(); } - public void render(MatrixStack matrices, int mouseX, int mouseY, float delta) { + public void render(DrawContext context, int mouseX, int mouseY, float delta) { // Render dirt background - this.renderBackground(matrices); + this.renderBackground(context); // Render scrolling list - this.list.render(matrices, mouseX, mouseY, delta); + this.list.render(context, mouseX, mouseY, delta); // Render our search bar this.setFocused(this.searchField); - this.searchField.setTextFieldFocused(true); - this.searchField.render(matrices, mouseX, mouseY, delta); + //this.searchField.setTextFieldFocused(true); + this.searchField.render(context, mouseX, mouseY, delta); // Render buttons - super.render(matrices, mouseX, mouseY, delta); + super.render(context, mouseX, mouseY, delta); } // Sends mouseDragged event to the scrolling list