diff options
| author | shedaniel <daniel@shedaniel.me> | 2023-03-04 22:00:07 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2023-03-04 22:00:07 +0800 |
| commit | d405e2c9489890f9f28113af3cf07259484b9827 (patch) | |
| tree | 74b022a06e9d8b9a8e7a8b73d626fc57f7cb4c2b /runtime/src/main/java/me | |
| parent | 70924ee791821c254f8f4c5b4e79503b0bc10c94 (diff) | |
| download | RoughlyEnoughItems-d405e2c9489890f9f28113af3cf07259484b9827.tar.gz RoughlyEnoughItems-d405e2c9489890f9f28113af3cf07259484b9827.tar.bz2 RoughlyEnoughItems-d405e2c9489890f9f28113af3cf07259484b9827.zip | |
Initial Port to 1.19.4-pre3
Diffstat (limited to 'runtime/src/main/java/me')
38 files changed, 164 insertions, 317 deletions
diff --git a/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCoreClient.java b/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCoreClient.java index f1b1110e8..b2d326148 100644 --- a/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCoreClient.java +++ b/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCoreClient.java @@ -150,7 +150,7 @@ public class RoughlyEnoughItemsCoreClient { String type = object.getString(FavoriteEntry.TYPE_KEY); ResourceLocation id = new ResourceLocation(type); FavoriteEntryType<FavoriteEntry> entryType = FavoriteEntryType.registry().get(id); - if (entryType == null) return DataResult.error("Unknown favorite type: " + id + ", json: " + object); + if (entryType == null) return DataResult.error(() -> "Unknown favorite type: " + id + ", json: " + object); return entryType.read(object); }, "favoriteEntryFromJson"); ClientInternals.attachInstance((BiFunction<@Nullable Point, Collection<Tooltip.Entry>, Tooltip>) QueuedTooltip::impl, "tooltipProvider"); diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/addon/ConfigAddonsScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/addon/ConfigAddonsScreen.java index 8acdc7937..c98745dcd 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/addon/ConfigAddonsScreen.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/addon/ConfigAddonsScreen.java @@ -30,14 +30,17 @@ import me.shedaniel.rei.api.client.config.addon.ConfigAddon; import me.shedaniel.rei.api.client.config.addon.ConfigAddonRegistry; import me.shedaniel.rei.impl.client.gui.InternalTextures; import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.ComponentPath; import net.minecraft.client.gui.components.Button; import net.minecraft.client.gui.components.events.GuiEventListener; import net.minecraft.client.gui.narration.NarratableEntry; +import net.minecraft.client.gui.navigation.FocusNavigationEvent; import net.minecraft.client.gui.screens.Screen; import net.minecraft.locale.Language; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.FormattedText; import net.minecraft.resources.ResourceLocation; +import org.jetbrains.annotations.Nullable; import java.util.Collections; import java.util.List; @@ -83,22 +86,6 @@ public class ConfigAddonsScreen extends Screen { } @Override - public boolean changeFocus(boolean lookForwards) { - if (!this.inFocus && this.getItemCount() == 0) { - return false; - } else { - this.inFocus = !this.inFocus; - if (this.inFocus && this.getSelectedItem() == null && this.getItemCount() > 0) { - this.moveSelection(1); - } else if (this.inFocus && this.getSelectedItem() != null) { - this.getSelectedItem(); - } - - return this.inFocus; - } - } - - @Override protected boolean isSelected(int index) { return false; } @@ -126,8 +113,9 @@ public class ConfigAddonsScreen extends Screen { } @Override - public boolean changeFocus(boolean lookForwards) { - return false; + @Nullable + public ComponentPath nextFocusPath(FocusNavigationEvent focusNavigationEvent) { + return null; } } @@ -141,8 +129,8 @@ public class ConfigAddonsScreen extends Screen { Minecraft.getInstance().setScreen(this.addon.createScreen(Minecraft.getInstance().screen)); }, Supplier::get) { @Override - protected void renderBg(PoseStack matrices, Minecraft client, int mouseX, int mouseY) { - super.renderBg(matrices, client, mouseX, mouseY); + public void render(PoseStack matrices, int mouseX, int mouseY, float delta) { + super.render(matrices, mouseX, mouseY, delta); RenderSystem.setShaderTexture(0, InternalTextures.CHEST_GUI_TEXTURE); blit(matrices, getX() + 3, getY() + 3, 0, 0, 14, 14); } diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringAddRuleScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringAddRuleScreen.java index 5288ad476..36bd45546 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringAddRuleScreen.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringAddRuleScreen.java @@ -87,22 +87,6 @@ public class FilteringAddRuleScreen extends Screen { } @Override - public boolean changeFocus(boolean lookForwards) { - if (!this.inFocus && this.getItemCount() == 0) { - return false; - } else { - this.inFocus = !this.inFocus; - if (this.inFocus && this.getSelectedItem() == null && this.getItemCount() > 0) { - this.moveSelection(1); - } else if (this.inFocus && this.getSelectedItem() != null) { - this.getSelectedItem(); - } - - return this.inFocus; - } - } - - @Override protected boolean isSelected(int index) { return Objects.equals(this.getSelectedItem(), this.children().get(index)); } @@ -138,11 +122,6 @@ public class FilteringAddRuleScreen extends Screen { public int getItemHeight() { return 26; } - - @Override - public boolean changeFocus(boolean lookForwards) { - return false; - } } public static class DefaultRuleEntry extends RuleEntry { diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringCategoriesScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringCategoriesScreen.java index e73314289..2344e3d41 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringCategoriesScreen.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringCategoriesScreen.java @@ -85,22 +85,6 @@ public class FilteringCategoriesScreen extends Screen { } @Override - public boolean changeFocus(boolean lookForwards) { - if (!this.inFocus && this.getItemCount() == 0) { - return false; - } else { - this.inFocus = !this.inFocus; - if (this.inFocus && this.getSelectedItem() == null && this.getItemCount() > 0) { - this.moveSelection(1); - } else if (this.inFocus && this.getSelectedItem() != null) { - this.getSelectedItem(); - } - - return this.inFocus; - } - } - - @Override protected boolean isSelected(int index) { return false; } @@ -146,11 +130,6 @@ public class FilteringCategoriesScreen extends Screen { public int getItemHeight() { return 35; } - - @Override - public boolean changeFocus(boolean lookForwards) { - return false; - } } private class DefaultListEntry extends ListEntry { diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRuleOptionsScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRuleOptionsScreen.java index 9f57d2890..bde57a088 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRuleOptionsScreen.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRuleOptionsScreen.java @@ -29,10 +29,12 @@ import me.shedaniel.clothconfig2.gui.widget.DynamicElementListWidget; import me.shedaniel.math.Rectangle; import me.shedaniel.rei.api.client.entry.filtering.FilteringRule; import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.ComponentPath; import net.minecraft.client.gui.components.Button; import net.minecraft.client.gui.components.EditBox; import net.minecraft.client.gui.components.events.GuiEventListener; import net.minecraft.client.gui.narration.NarratableEntry; +import net.minecraft.client.gui.navigation.FocusNavigationEvent; import net.minecraft.client.gui.screens.Screen; import net.minecraft.client.resources.sounds.SimpleSoundInstance; import net.minecraft.network.chat.Component; @@ -40,6 +42,7 @@ import net.minecraft.network.chat.FormattedText; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvents; import net.minecraft.util.FormattedCharSequence; +import org.jetbrains.annotations.Nullable; import java.util.ArrayList; import java.util.Collections; @@ -373,6 +376,21 @@ public abstract class FilteringRuleOptionsScreen<T extends FilteringRule<?>> ext return false; } } + + @Nullable + @Override + public ComponentPath nextFocusPath(FocusNavigationEvent event) { + return null; + } + + @Override + public void setFocused(boolean bl) { + } + + @Override + public boolean isFocused() { + return false; + } } } } diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRulesScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRulesScreen.java index 127dfd54b..d3275419c 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRulesScreen.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRulesScreen.java @@ -114,22 +114,6 @@ public class FilteringRulesScreen extends Screen { } @Override - public boolean changeFocus(boolean lookForwards) { - if (!this.inFocus && this.getItemCount() == 0) { - return false; - } else { - this.inFocus = !this.inFocus; - if (this.inFocus && this.getSelectedItem() == null && this.getItemCount() > 0) { - this.moveSelection(1); - } else if (this.inFocus && this.getSelectedItem() != null) { - this.getSelectedItem(); - } - - return this.inFocus; - } - } - - @Override protected boolean isSelected(int index) { return Objects.equals(this.getSelectedItem(), this.children().get(index)); } @@ -180,11 +164,6 @@ public class FilteringRulesScreen extends Screen { public int getItemHeight() { return 26; } - - @Override - public boolean changeFocus(boolean lookForwards) { - return false; - } } public static class DefaultRuleEntry extends RuleEntry { @@ -200,8 +179,8 @@ public class FilteringRulesScreen extends Screen { Minecraft.getInstance().setScreen(this.screenFunction.apply(Minecraft.getInstance().screen)); }, Supplier::get) { @Override - protected void renderBg(PoseStack matrices, Minecraft client, int mouseX, int mouseY) { - super.renderBg(matrices, client, mouseX, mouseY); + public void render(PoseStack matrices, int mouseX, int mouseY, float delta) { + super.render(matrices, mouseX, mouseY, delta); RenderSystem.setShaderTexture(0, InternalTextures.CHEST_GUI_TEXTURE); blit(matrices, getX() + 3, getY() + 3, 0, 0, 14, 14); } diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringScreen.java index a82f907e3..3c9837db0 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringScreen.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringScreen.java @@ -260,7 +260,6 @@ public class FilteringScreen extends Screen { BufferBuilder buffer = tesselator.getBuilder(); RenderSystem.enableBlend(); RenderSystem.blendFuncSeparate(770, 771, 0, 1); - RenderSystem.disableTexture(); RenderSystem.setShader(GameRenderer::getPositionTexColorShader); Matrix4f matrix = matrices.last().pose(); buffer.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX_COLOR); @@ -269,7 +268,6 @@ public class FilteringScreen extends Screen { buffer.vertex(matrix, width, bounds.y, 0.0F).uv(1.0F, 0.0F).color(0, 0, 0, 255).endVertex(); buffer.vertex(matrix, 0, bounds.y, 0.0F).uv(0.0F, 0.0F).color(0, 0, 0, 255).endVertex(); tesselator.end(); - RenderSystem.enableTexture(); RenderSystem.disableBlend(); renderHoleBackground(matrices, 0, bounds.y, 64, 255, 255); @@ -429,13 +427,6 @@ public class FilteringScreen extends Screen { if (keyCode == 256 && this.shouldCloseOnEsc()) { this.backButton.onPress(); return true; - } else if (keyCode == 258) { - boolean bl = !hasShiftDown(); - if (!this.changeFocus(bl)) { - this.changeFocus(bl); - } - - return true; } return false; } diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/ScreenOverlayImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/ScreenOverlayImpl.java index 85751f649..abe307c9c 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/ScreenOverlayImpl.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/ScreenOverlayImpl.java @@ -306,9 +306,10 @@ public abstract class ScreenOverlayImpl extends ScreenOverlay { menuHolder.lateRender(matrices, mouseX, mouseY, delta); matrices.popPose(); if (choosePageWidget != null) { - setBlitOffset(500); - this.fillGradient(matrices, 0, 0, window.getGuiScaledWidth(), window.getGuiScaledHeight(), -1072689136, -804253680); - setBlitOffset(0); + matrices.pushPose(); + matrices.translate(0, 0, 500); + fillGradient(matrices, 0, 0, window.getGuiScaledWidth(), window.getGuiScaledHeight(), -1072689136, -804253680); + matrices.popPose(); choosePageWidget.render(matrices, mouseX, mouseY, delta); } } diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/credits/CreditsEntryListWidget.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/credits/CreditsEntryListWidget.java index f814dcfeb..0ccd1b04a 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/credits/CreditsEntryListWidget.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/credits/CreditsEntryListWidget.java @@ -50,22 +50,6 @@ public class CreditsEntryListWidget extends DynamicSmoothScrollingEntryListWidge super(client, width, height, startY, endY, GuiComponent.BACKGROUND_LOCATION); } - @Override - public boolean changeFocus(boolean boolean_1) { - if (!this.inFocus && this.getItemCount() == 0) { - return false; - } else { - this.inFocus = !this.inFocus; - if (this.inFocus && this.getFocused() == null && this.getItemCount() > 0) { - this.moveSelection(1); - } else if (this.inFocus && this.getFocused() != null) { - this.moveSelection(0); - } - - return this.inFocus; - } - } - public void creditsClearEntries() { clearItems(); } @@ -93,6 +77,15 @@ public class CreditsEntryListWidget extends DynamicSmoothScrollingEntryListWidge public List<? extends NarratableEntry> narratables() { return Collections.emptyList(); } + + @Override + public void setFocused(boolean bl) { + } + + @Override + public boolean isFocused() { + return false; + } } public static class TextCreditsItem extends CreditsItem { @@ -111,11 +104,6 @@ public class CreditsEntryListWidget extends DynamicSmoothScrollingEntryListWidge public int getItemHeight() { return 12; } - - @Override - public boolean changeFocus(boolean boolean_1) { - return false; - } } public static class TranslationCreditsItem extends CreditsItem { @@ -143,11 +131,6 @@ public class CreditsEntryListWidget extends DynamicSmoothScrollingEntryListWidge public int getItemHeight() { return 12 * translators.size(); } - - @Override - public boolean changeFocus(boolean boolean_1) { - return false; - } } public static class LinkItem extends CreditsItem { @@ -194,11 +177,6 @@ public class CreditsEntryListWidget extends DynamicSmoothScrollingEntryListWidge } @Override - public boolean changeFocus(boolean boolean_1) { - return false; - } - - @Override public boolean mouseClicked(double mouseX, double mouseY, int button) { if (contains && button == 0) { Minecraft.getInstance().getSoundManager().play(SimpleSoundInstance.forUI(SoundEvents.UI_BUTTON_CLICK, 1.0F)); diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/credits/CreditsScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/credits/CreditsScreen.java index 107d907fe..fca1b4075 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/credits/CreditsScreen.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/credits/CreditsScreen.java @@ -153,7 +153,7 @@ public class CreditsScreen extends Screen { @Override public void render(PoseStack matrices, int mouseX, int mouseY, float delta) { - this.renderDirtBackground(0); + this.renderDirtBackground(matrices); this.entryListWidget.render(matrices, mouseX, mouseY, delta); drawCenteredString(matrices, this.font, I18n.get("text.rei.credits"), this.width / 2, 16, 16777215); super.render(matrices, mouseX, mouseY, delta); diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/error/ErrorsEntryListWidget.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/error/ErrorsEntryListWidget.java index b965f1ad9..ad91b1f51 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/error/ErrorsEntryListWidget.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/error/ErrorsEntryListWidget.java @@ -64,22 +64,6 @@ public class ErrorsEntryListWidget extends DynamicSmoothScrollingEntryListWidget super(client, width, height, startY, endY, GuiComponent.BACKGROUND_LOCATION); } - @Override - public boolean changeFocus(boolean boolean_1) { - if (!this.inFocus && this.getItemCount() == 0) { - return false; - } else { - this.inFocus = !this.inFocus; - if (this.inFocus && this.getFocused() == null && this.getItemCount() > 0) { - this.moveSelection(1); - } else if (this.inFocus && this.getFocused() != null) { - this.moveSelection(0); - } - - return this.inFocus; - } - } - public void _clearItems() { clearItems(); } @@ -107,6 +91,15 @@ public class ErrorsEntryListWidget extends DynamicSmoothScrollingEntryListWidget public List<? extends NarratableEntry> narratables() { return Collections.emptyList(); } + + @Override + public void setFocused(boolean bl) { + } + + @Override + public boolean isFocused() { + return false; + } } public static class EmptyEntry extends Entry { @@ -337,11 +330,6 @@ public class ErrorsEntryListWidget extends DynamicSmoothScrollingEntryListWidget } @Override - public boolean changeFocus(boolean boolean_1) { - return false; - } - - @Override public boolean mouseClicked(double mouseX, double mouseY, int button) { if (button == 0) { Style style = this.getTextAt(mouseX, mouseY); @@ -399,11 +387,6 @@ public class ErrorsEntryListWidget extends DynamicSmoothScrollingEntryListWidget |
