diff options
| author | shedaniel <daniel@shedaniel.me> | 2020-04-23 16:49:33 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2020-04-23 16:49:33 +0800 |
| commit | f701792763abfed441687b27ef91a62ed09abd9d (patch) | |
| tree | c05144da7b9fd0a96e4f7dc5b820ed45d337eb6f /src/main/java/me/shedaniel/rei/plugin | |
| parent | 87aefabb7b9728e84e600624f8d17a8d335b61af (diff) | |
| download | RoughlyEnoughItems-f701792763abfed441687b27ef91a62ed09abd9d.tar.gz RoughlyEnoughItems-f701792763abfed441687b27ef91a62ed09abd9d.tar.bz2 RoughlyEnoughItems-f701792763abfed441687b27ef91a62ed09abd9d.zip | |
Update to 20w17a
Signed-off-by: shedaniel <daniel@shedaniel.me>
Diffstat (limited to 'src/main/java/me/shedaniel/rei/plugin')
11 files changed, 59 insertions, 44 deletions
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java b/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java index b42283d54..f979b199a 100644 --- a/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java +++ b/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java @@ -69,6 +69,7 @@ import net.minecraft.block.entity.AbstractFurnaceBlockEntity; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.screen.ingame.*; import net.minecraft.client.gui.screen.recipebook.RecipeBookProvider; +import net.minecraft.client.util.math.MatrixStack; import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.fluid.Fluid; @@ -76,6 +77,7 @@ import net.minecraft.item.*; import net.minecraft.potion.PotionUtil; import net.minecraft.recipe.*; import net.minecraft.tag.BlockTags; +import net.minecraft.text.LiteralText; import net.minecraft.util.Identifier; import net.minecraft.util.math.MathHelper; import net.minecraft.util.registry.Registry; @@ -164,9 +166,9 @@ public class DefaultPlugin implements REIPluginV0 { private Identifier id = new Identifier("roughlyenoughitems", "textures/gui/kirb.png"); @Override - public void render(Rectangle bounds, int mouseX, int mouseY, float delta) { + public void render(MatrixStack matrices, Rectangle bounds, int mouseX, int mouseY, float delta) { MinecraftClient.getInstance().getTextureManager().bindTexture(id); - drawTexturedQuad(bounds.x, bounds.getMaxX(), bounds.y, bounds.getMaxY(), getZOffset(), 0, 1, 0, 1); + drawTexturedQuad(matrices.peek().getModel(), bounds.x, bounds.getMaxX(), bounds.y, bounds.getMaxY(), getZOffset(), 0, 1, 0, 1); } @Override @@ -176,7 +178,7 @@ public class DefaultPlugin implements REIPluginV0 { @Override public @Nullable Tooltip getTooltip(Point point) { - return Tooltip.create("Kibby"); + return Tooltip.create(new LiteralText("Kibby")); } }); } diff --git a/src/main/java/me/shedaniel/rei/plugin/beacon/DefaultBeaconBaseCategory.java b/src/main/java/me/shedaniel/rei/plugin/beacon/DefaultBeaconBaseCategory.java index 9434d0971..099baac8e 100644 --- a/src/main/java/me/shedaniel/rei/plugin/beacon/DefaultBeaconBaseCategory.java +++ b/src/main/java/me/shedaniel/rei/plugin/beacon/DefaultBeaconBaseCategory.java @@ -42,6 +42,7 @@ import net.minecraft.block.Blocks; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.Element; import net.minecraft.client.resource.language.I18n; +import net.minecraft.client.util.math.MatrixStack; import net.minecraft.util.Identifier; import net.minecraft.util.math.MathHelper; import org.jetbrains.annotations.NotNull; @@ -75,8 +76,8 @@ public class DefaultBeaconBaseCategory implements RecipeCategory<DefaultBeaconBa } @Override - public void render(Rectangle rectangle, int mouseX, int mouseY, float delta) { - MinecraftClient.getInstance().textRenderer.draw(name, rectangle.x + 5, rectangle.y + 6, -1); + public void render(MatrixStack matrices, Rectangle rectangle, int mouseX, int mouseY, float delta) { + MinecraftClient.getInstance().textRenderer.draw(matrices, name, rectangle.x + 5, rectangle.y + 6, -1); } }; } @@ -152,7 +153,7 @@ public class DefaultBeaconBaseCategory implements RecipeCategory<DefaultBeaconBa } @Override - public void render(int mouseX, int mouseY, float delta) { + public void render(MatrixStack matrices, int mouseX, int mouseY, float delta) { scrolling.updatePosition(delta); Rectangle innerBounds = scrolling.getScissorBounds(); ScissorsHandler.INSTANCE.scissor(innerBounds); @@ -163,7 +164,7 @@ public class DefaultBeaconBaseCategory implements RecipeCategory<DefaultBeaconBa break; Slot widget = widgets.get(index); widget.getBounds().setLocation(bounds.x + 1 + x * 18, (int) (bounds.y + 1 + y * 18 - scrolling.scrollAmount)); - widget.render(mouseX, mouseY, delta); + widget.render(matrices, mouseX, mouseY, delta); } } ScissorsHandler.INSTANCE.removeLastScissor(); diff --git a/src/main/java/me/shedaniel/rei/plugin/brewing/DefaultBrewingCategory.java b/src/main/java/me/shedaniel/rei/plugin/brewing/DefaultBrewingCategory.java index 2c5590822..2bf77a796 100644 --- a/src/main/java/me/shedaniel/rei/plugin/brewing/DefaultBrewingCategory.java +++ b/src/main/java/me/shedaniel/rei/plugin/brewing/DefaultBrewingCategory.java @@ -62,11 +62,11 @@ public class DefaultBrewingCategory implements RecipeCategory<DefaultBrewingDisp Point startPoint = new Point(bounds.getCenterX() - 52, bounds.getCenterY() - 29); List<Widget> widgets = Lists.newArrayList(); widgets.add(Widgets.createRecipeBase(bounds)); - widgets.add(Widgets.createDrawableWidget((helper, mouseX, mouseY, delta) -> { + widgets.add(Widgets.createDrawableWidget((helper, matrices, mouseX, mouseY, delta) -> { MinecraftClient.getInstance().getTextureManager().bindTexture(DefaultPlugin.getDisplayTexture()); - helper.drawTexture(startPoint.x, startPoint.y, 0, 108, 103, 59); + helper.drawTexture(matrices, startPoint.x, startPoint.y, 0, 108, 103, 59); int width = MathHelper.ceil(System.currentTimeMillis() / 250d % 18d); - helper.drawTexture(startPoint.x + 44, startPoint.y + 28, 103, 163, width, 4); + helper.drawTexture(matrices, startPoint.x + 44, startPoint.y + 28, 103, 163, width, 4); })); widgets.add(Widgets.createSlot(new Point(startPoint.x + 1, startPoint.y + 1)).entry(EntryStack.create(Items.BLAZE_POWDER)).disableBackground().markInput()); widgets.add(Widgets.createSlot(new Point(startPoint.x + 40, startPoint.y + 1)).entries(display.getInputEntries().get(0)).disableBackground().markInput()); diff --git a/src/main/java/me/shedaniel/rei/plugin/brewing/DefaultBrewingDisplay.java b/src/main/java/me/shedaniel/rei/plugin/brewing/DefaultBrewingDisplay.java index 5a02957e7..22c6392a3 100644 --- a/src/main/java/me/shedaniel/rei/plugin/brewing/DefaultBrewingDisplay.java +++ b/src/main/java/me/shedaniel/rei/plugin/brewing/DefaultBrewingDisplay.java @@ -27,9 +27,9 @@ import com.google.common.collect.Lists; import me.shedaniel.rei.api.EntryStack; import me.shedaniel.rei.api.RecipeDisplay; import me.shedaniel.rei.plugin.DefaultPlugin; -import net.minecraft.client.resource.language.I18n; import net.minecraft.item.ItemStack; import net.minecraft.recipe.Ingredient; +import net.minecraft.text.TranslatableText; import net.minecraft.util.Formatting; import net.minecraft.util.Identifier; @@ -43,14 +43,14 @@ public class DefaultBrewingDisplay implements RecipeDisplay { private List<EntryStack> reactant; public DefaultBrewingDisplay(ItemStack input, Ingredient reactant, ItemStack output) { - this.input = EntryStack.create(input).setting(EntryStack.Settings.TOOLTIP_APPEND_EXTRA, stack -> Collections.singletonList(Formatting.YELLOW.toString() + I18n.translate("category.rei.brewing.input"))); + this.input = EntryStack.create(input).setting(EntryStack.Settings.TOOLTIP_APPEND_EXTRA, stack -> Collections.singletonList(new TranslatableText("category.rei.brewing.input").method_27692(Formatting.YELLOW))); this.reactant = new ArrayList<>(); for (ItemStack stack : reactant.getMatchingStacksClient()) { EntryStack entryStack = EntryStack.create(stack); - entryStack.setting(EntryStack.Settings.TOOLTIP_APPEND_EXTRA, s -> Collections.singletonList(Formatting.YELLOW.toString() + I18n.translate("category.rei.brewing.reactant"))); + entryStack.setting(EntryStack.Settings.TOOLTIP_APPEND_EXTRA, s -> Collections.singletonList(new TranslatableText("category.rei.brewing.reactant").method_27692(Formatting.YELLOW))); this.reactant.add(entryStack); } - this.output = EntryStack.create(output).setting(EntryStack.Settings.TOOLTIP_APPEND_EXTRA, stack -> Collections.singletonList(Formatting.YELLOW.toString() + I18n.translate("category.rei.brewing.result"))); + this.output = EntryStack.create(output).setting(EntryStack.Settings.TOOLTIP_APPEND_EXTRA, stack -> Collections.singletonList(new TranslatableText("category.rei.brewing.result").method_27692(Formatting.YELLOW))); } @Override diff --git a/src/main/java/me/shedaniel/rei/plugin/campfire/DefaultCampfireCategory.java b/src/main/java/me/shedaniel/rei/plugin/campfire/DefaultCampfireCategory.java index 80439cc2c..90472096d 100644 --- a/src/main/java/me/shedaniel/rei/plugin/campfire/DefaultCampfireCategory.java +++ b/src/main/java/me/shedaniel/rei/plugin/campfire/DefaultCampfireCategory.java @@ -33,6 +33,7 @@ import me.shedaniel.rei.gui.widget.Widget; import me.shedaniel.rei.plugin.DefaultPlugin; import net.minecraft.block.Blocks; import net.minecraft.client.resource.language.I18n; +import net.minecraft.text.TranslatableText; import net.minecraft.util.Identifier; import java.text.DecimalFormat; @@ -65,7 +66,7 @@ public class DefaultCampfireCategory implements RecipeCategory<DefaultCampfireDi widgets.add(Widgets.createResultSlotBackground(new Point(startPoint.x + 61, startPoint.y + 9))); widgets.add(Widgets.createBurningFire(new Point(startPoint.x + 1, startPoint.y + 20)).animationDurationMS(10000)); widgets.add(Widgets.createLabel(new Point(bounds.x + bounds.width - 5, bounds.y + 5), - I18n.translate("category.rei.campfire.time", df.format(cookingTime / 20d))).noShadow().rightAligned().color(0xFF404040, 0xFFBBBBBB)); + new TranslatableText("category.rei.campfire.time", df.format(cookingTime / 20d))).noShadow().rightAligned().color(0xFF404040, 0xFFBBBBBB)); widgets.add(Widgets.createArrow(new Point(startPoint.x + 24, startPoint.y + 8)).animationDurationTicks(cookingTime)); widgets.add(Widgets.createSlot(new Point(startPoint.x + 1, startPoint.y + 1)).entries(display.getInputEntries().get(0)).markInput()); widgets.add(Widgets.createSlot(new Point(startPoint.x + 61, startPoint.y + 9)).entries(display.getOutputEntries()).disableBackground().markOutput()); diff --git a/src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingCategory.java b/src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingCategory.java index fa7fe06fd..96a735292 100644 --- a/src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingCategory.java +++ b/src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingCategory.java @@ -36,7 +36,9 @@ import me.shedaniel.rei.plugin.DefaultPlugin; import net.minecraft.block.Blocks; import net.minecraft.client.MinecraftClient; import net.minecraft.client.resource.language.I18n; +import net.minecraft.client.util.math.MatrixStack; import net.minecraft.item.ItemConvertible; +import net.minecraft.text.TranslatableText; import net.minecraft.util.Identifier; import net.minecraft.util.math.MathHelper; @@ -71,8 +73,8 @@ public class DefaultCompostingCategory implements RecipeCategory<DefaultComposti } @Override - public void render(Rectangle rectangle, int mouseX, int mouseY, float delta) { - MinecraftClient.getInstance().textRenderer.draw(I18n.translate("text.rei.composting.page", recipe.getPage() + 1), rectangle.x + 5, rectangle.y + 6, -1); + public void render(MatrixStack matrices, Rectangle rectangle, int mouseX, int mouseY, float delta) { + MinecraftClient.getInstance().textRenderer.method_27528(matrices, new TranslatableText("text.rei.composting.page", recipe.getPage() + 1), rectangle.x + 5, rectangle.y + 6, -1); } }; } @@ -91,7 +93,7 @@ public class DefaultCompostingCategory implements RecipeCategory<DefaultComposti if (entryStack.getType() != EntryStack.Type.EMPTY) for (Map.Entry<ItemConvertible, Float> entry : display.getInputMap().entrySet()) { if (entry.getKey().asItem().equals(entryStack.getItem())) { - entryStack = entryStack.setting(EntryStack.Settings.TOOLTIP_APPEND_EXTRA, s -> Collections.singletonList(I18n.translate("text.rei.composting.chance", MathHelper.fastFloor(entry.getValue() * 100)))); + entryStack = entryStack.setting(EntryStack.Settings.TOOLTIP_APPEND_EXTRA, s -> Collections.singletonList(new TranslatableText("text.rei.composting.chance", MathHelper.fastFloor(entry.getValue() * 100)))); break; } } diff --git a/src/main/java/me/shedaniel/rei/plugin/cooking/DefaultCookingCategory.java b/src/main/java/me/shedaniel/rei/plugin/cooking/DefaultCookingCategory.java index 8d6284b55..34320e7f2 100644 --- a/src/main/java/me/shedaniel/rei/plugin/cooking/DefaultCookingCategory.java +++ b/src/main/java/me/shedaniel/rei/plugin/cooking/DefaultCookingCategory.java @@ -24,7 +24,6 @@ package me.shedaniel.rei.plugin.cooking; import com.google.common.collect.Lists; -import com.mojang.blaze3d.systems.RenderSystem; import it.unimi.dsi.fastutil.ints.IntList; import me.shedaniel.math.Point; import me.shedaniel.math.Rectangle; @@ -36,6 +35,8 @@ import me.shedaniel.rei.gui.entries.SimpleRecipeEntry; import me.shedaniel.rei.gui.widget.Widget; import net.minecraft.client.gui.DrawableHelper; import net.minecraft.client.resource.language.I18n; +import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.text.TranslatableText; import net.minecraft.util.Identifier; import java.text.DecimalFormat; @@ -54,13 +55,14 @@ public class DefaultCookingCategory implements TransferRecipeCategory<DefaultCoo } @Override - public void renderRedSlots(List<Widget> widgets, Rectangle bounds, DefaultCookingDisplay display, IntList redSlots) { + public void renderRedSlots(MatrixStack matrices, List<Widget> widgets, Rectangle bounds, DefaultCookingDisplay display, IntList redSlots) { Point startPoint = new Point(bounds.getCenterX() - 41, bounds.getCenterY() - 27); - RenderSystem.translatef(0, 0, 400); + matrices.push(); + matrices.translate(0, 0, 400); if (redSlots.contains(0)) { - DrawableHelper.fill(startPoint.x + 1, startPoint.y + 1, startPoint.x + 1 + 16, startPoint.y + 1 + 16, 1090453504); + DrawableHelper.fill(matrices, startPoint.x + 1, startPoint.y + 1, startPoint.x + 1 + 16, startPoint.y + 1 + 16, 1090453504); } - RenderSystem.translatef(0, 0, -400); + matrices.pop(); } @Override @@ -73,7 +75,7 @@ public class DefaultCookingCategory implements TransferRecipeCategory<DefaultCoo widgets.add(Widgets.createResultSlotBackground(new Point(startPoint.x + 61, startPoint.y + 9))); widgets.add(Widgets.createBurningFire(new Point(startPoint.x + 1, startPoint.y + 20)).animationDurationMS(10000)); widgets.add(Widgets.createLabel(new Point(bounds.x + bounds.width - 5, bounds.y + 5), - I18n.translate("category.rei.cooking.time&xp", df.format(display.getXp()), df.format(cookingTime / 20d))).noShadow().rightAligned().color(0xFF404040, 0xFFBBBBBB)); + new TranslatableText("category.rei.cooking.time&xp", df.format(display.getXp()), df.format(cookingTime / 20d))).noShadow().rightAligned().color(0xFF404040, 0xFFBBBBBB)); widgets.add(Widgets.createArrow(new Point(startPoint.x + 24, startPoint.y + 8)).animationDurationTicks(cookingTime)); widgets.add(Widgets.createSlot(new Point(startPoint.x + 1, startPoint.y + 1)).entries(display.getInputEntries().get(0)).markInput()); widgets.add(Widgets.createSlot(new Point(startPoint.x + 61, startPoint.y + 9)).entries(display.getOutputEntries()).disableBackground().markOutput()); diff --git a/src/main/java/me/shedaniel/rei/plugin/cooking/DefaultCookingDisplay.java b/src/main/java/me/shedaniel/rei/plugin/cooking/DefaultCookingDisplay.java index 05229347c..fcc9c6d29 100644 --- a/src/main/java/me/shedaniel/rei/plugin/cooking/DefaultCookingDisplay.java +++ b/src/main/java/me/shedaniel/rei/plugin/cooking/DefaultCookingDisplay.java @@ -28,10 +28,10 @@ import me.shedaniel.rei.api.TransferRecipeDisplay; import me.shedaniel.rei.server.ContainerInfo; import me.shedaniel.rei.utils.CollectionUtils; import net.minecraft.block.entity.FurnaceBlockEntity; -import net.minecraft.client.resource.language.I18n; import net.minecraft.item.Item; import net.minecraft.recipe.AbstractCookingRecipe; import net.minecraft.screen.ScreenHandler; +import net.minecraft.text.TranslatableText; import net.minecraft.util.Formatting; import net.minecraft.util.Identifier; import org.jetbrains.annotations.ApiStatus; @@ -45,7 +45,7 @@ public abstract class DefaultCookingDisplay implements TransferRecipeDisplay { private static List<EntryStack> fuel; static { - fuel = FurnaceBlockEntity.createFuelTimeMap().keySet().stream().map(Item::getStackForRender).map(EntryStack::create).map(e -> e.setting(EntryStack.Settings.TOOLTIP_APPEND_EXTRA, stack -> Collections.singletonList(Formatting.YELLOW.toString() + I18n.translate("category.rei.smelting.fuel")))).collect(Collectors.toList()); + fuel = FurnaceBlockEntity.createFuelTimeMap().keySet().stream().map(Item::getStackForRender).map(EntryStack::create).map(e -> e.setting(EntryStack.Settings.TOOLTIP_APPEND_EXTRA, stack -> Collections.singletonList(new TranslatableText("category.rei.smelting.fuel").method_27692(Formatting.YELLOW)))).collect(Collectors.toList()); } private AbstractCookingRecipe recipe; diff --git a/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingCategory.java b/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingCategory.java index 11682747c..b67509891 100644 --- a/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingCategory.java +++ b/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingCategory.java @@ -24,7 +24,6 @@ package me.shedaniel.rei.plugin.crafting; import com.google.common.collect.Lists; -import com.mojang.blaze3d.systems.RenderSystem; import it.unimi.dsi.fastutil.ints.IntList; import me.shedaniel.math.Point; import me.shedaniel.math.Rectangle; @@ -40,6 +39,7 @@ import me.shedaniel.rei.server.ContainerInfoHandler; import net.minecraft.block.Blocks; import net.minecraft.client.gui.DrawableHelper; import net.minecraft.client.resource.language.I18n; +import net.minecraft.client.util.math.MatrixStack; import net.minecraft.screen.ScreenHandler; import net.minecraft.util.Identifier; import net.minecraft.util.math.MathHelper; @@ -94,19 +94,20 @@ public class DefaultCraftingCategory implements TransferRecipeCategory<DefaultCr } @Override - public void renderRedSlots(List<Widget> widgets, Rectangle bounds, DefaultCraftingDisplay display, IntList redSlots) { + public void renderRedSlots(MatrixStack matrices, List<Widget> widgets, Rectangle bounds, DefaultCraftingDisplay display, IntList redSlots) { ContainerInfo<ScreenHandler> info = (ContainerInfo<ScreenHandler>) ContainerInfoHandler.getContainerInfo(getIdentifier(), REIHelper.getInstance().getPreviousHandledScreen().getScreenHandler().getClass()); if (info == null) return; - RenderSystem.translatef(0, 0, 400); + matrices.push(); + matrices.translate(0, 0, 400); Point startPoint = new Point(bounds.getCenterX() - 58, bounds.getCenterY() - 27); int width = info.getCraftingWidth(REIHelper.getInstance().getPreviousHandledScreen().getScreenHandler()); for (Integer slot : redSlots) { int i = slot; int x = i % width; int y = MathHelper.floor(i / (float) width); - DrawableHelper.fill(startPoint.x + 1 + x * 18, startPoint.y + 1 + y * 18, startPoint.x + 1 + x * 18 + 16, startPoint.y + 1 + y * 18 + 16, 0x60ff0000); + DrawableHelper.fill(matrices, startPoint.x + 1 + x * 18, startPoint.y + 1 + y * 18, startPoint.x + 1 + x * 18 + 16, startPoint.y + 1 + y * 18 + 16, 0x60ff0000); } - RenderSystem.translatef(0, 0, -400); + matrices.pop(); } } diff --git a/src/main/java/me/shedaniel/rei/plugin/fuel/DefaultFuelCategory.java b/src/main/java/me/shedaniel/rei/plugin/fuel/DefaultFuelCategory.java index fe376e96a..5e30ff926 100644 --- a/src/main/java/me/shedaniel/rei/plugin/fuel/DefaultFuelCategory.java +++ b/src/main/java/me/shedaniel/rei/plugin/fuel/DefaultFuelCategory.java @@ -36,7 +36,9 @@ import me.shedaniel.rei.gui.widget.Widget; import me.shedaniel.rei.plugin.DefaultPlugin; import net.minecraft.client.MinecraftClient; import net.minecraft.client.resource.language.I18n; +import net.minecraft.client.util.math.MatrixStack; import net.minecraft.item.Items; +import net.minecraft.text.TranslatableText; import net.minecraft.util.Identifier; import org.jetbrains.annotations.Nullable; @@ -73,7 +75,7 @@ public class DefaultFuelCategory implements RecipeCategory<DefaultFuelDisplay> { String burnItems = DECIMAL_FORMAT.format(recipeDisplay.getFuelTime() / 200d); List<Widget> widgets = Lists.newArrayList(); widgets.add(Widgets.createRecipeBase(bounds)); - widgets.add(Widgets.createLabel(new Point(bounds.x + 26, bounds.getMaxY() - 15), I18n.translate("category.rei.fuel.time.items", burnItems)) + widgets.add(Widgets.createLabel(new Point(bounds.x + 26, bounds.getMaxY() - 15), new TranslatableText("category.rei.fuel.time.items", burnItems)) .color(0xFF404040, 0xFFBBBBBB).noShadow().leftAligned()); widgets.add(Widgets.createBurningFire(new Point(bounds.x + 6, startPoint.y + 1)).animationDurationTicks(recipeDisplay.getFuelTime())); widgets.add(Widgets.createSlot(new Point(bounds.x + 6, startPoint.y + 18)).entries(recipeDisplay.getInputEntries().get(0)).markInput()); @@ -99,11 +101,11 @@ public class DefaultFuelCategory implements RecipeCategory<DefaultFuelDisplay> { } @Override - public void render(Rectangle bounds, int mouseX, int mouseY, float delta) { + public void render(MatrixStack matrices, Rectangle bounds, int mouseX, int mouseY, float delta) { slot.setZ(getZ() + 50); slot.getBounds().setLocation(bounds.x + 4, bounds.y + 2); - slot.render(mouseX, mouseY, delta); - MinecraftClient.getInstance().textRenderer.drawWithShadow(I18n.translate("category.rei.fuel.time_short.items", burnItems), bounds.x + 25, bounds.y + 8, -1); + slot.render(matrices, mouseX, mouseY, delta); + MinecraftClient.getInstance().textRenderer.method_27517(matrices, new TranslatableText("category.rei.fuel.time_short.items", burnItems), bounds.x + 25, bounds.y + 8, -1); } }; } diff --git a/src/main/java/me/shedaniel/rei/plugin/information/DefaultInformationCategory.java b/src/main/java/me/shedaniel/rei/plugin/information/DefaultInformationCategory.java index 9e552250f..1b6a529b5 100644 --- a/src/main/java/me/shedaniel/rei/plugin/information/DefaultInformationCategory.java +++ b/src/main/java/me/shedaniel/rei/plugin/information/DefaultInformationCategory.java @@ -47,6 +47,7 @@ import net.minecraft.client.render.Tessellator; import net.minecraft.client.render.VertexFormats; import net.minecraft.client.resource.language.I18n; import net.minecraft.client.util.Texts; +import net.minecraft.client.util.math.MatrixStack; import net.minecraft.text.Text; import net.minecraft.util.Identifier; import net.minecraft.util.math.Matrix4f; @@ -89,8 +90,8 @@ public class DefaultInformationCategory implements RecipeCategory<DefaultInforma } @Override - public void render(Rectangle rectangle, int mouseX, int mouseY, float delta) { - MinecraftClient.getInstance().textRenderer.draw(name.asFormattedString(), rectangle.x + 5, rectangle.y + 6, -1); + public void render(MatrixStack matrices, Rectangle rectangle, int mouseX, int mouseY, float delta) { + MinecraftClient.getInstance().textRenderer.method_27528(matrices, name, rectangle.x + 5, rectangle.y + 6, -1); } }; } @@ -99,10 +100,13 @@ public class DefaultInformationCategory implements RecipeCategory<DefaultInforma public EntryStack getLogo() { return new RenderingEntry() { @Override - public void render(Rectangle bounds, int mouseX, int mouseY, float delta) { + public void render(MatrixStack matrices, Rectangle bounds, int mouseX, int mouseY, float delta) { MinecraftClient.getInstance().getTextureManager().bindTexture(DefaultPlugin.getDisplayTexture()); - Matrix4f matrix4f = Matrix4f.translate(-1.2f, -1, 0); - DefaultInformationCategory.innerBlit(matrix4f, bounds.getCenterX() - 8, bounds.getCenterX() + 8, bounds.getCenterY() - 8, bounds.getCenterY() + 8, 0, 116f / 256f, (116f + 16f) / 256f, 0f, 16f / 256f); + matrices.push(); + matrices.translate(-1.2f, -1, 0); + Matrix4f matrix = matrices.peek().getModel(); + DefaultInformationCategory.innerBlit(matrix, bounds.getCenterX() - 8, bounds.getCenterX() + 8, bounds.getCenterY() - 8, bounds.getCenterY() + 8, 0, 116f / 256f, (116f + 16f) / 256f, 0f, 16f / 256f); + matrices.pop(); } }; } @@ -110,7 +114,7 @@ public class DefaultInformationCategory implements RecipeCategory<DefaultInforma @Override public List<Widget> setupDisplay(DefaultInformationDisplay recipeDisplay, me.shedaniel.math.Rectangle bounds) { List<Widget> widgets = Lists.newArrayList(); - widgets.add(Widgets.createLabel(new Point(bounds.getCenterX(), bounds.y + 3), recipeDisplay.getName().asFormattedString()).noShadow().color(0xFF404040, 0xFFBBBBBB)); + widgets.add(Widgets.createLabel(new Point(bounds.getCenterX(), bounds.y + 3), recipeDisplay.getName()).noShadow().color(0xFF404040, 0xFFBBBBBB)); widgets.add(Widgets.createSlot(new Point(bounds.getCenterX() - 8, bounds.y + 15)).entries(recipeDisplay.getEntryStacks()).markInput()); Rectangle rectangle = new Rectangle(bounds.getCenterX() - (bounds.width / 2), bounds.y + 35, bounds.width, bounds.height - 40); widgets.add(Widgets.createSlotBase(rectangle)); @@ -154,7 +158,7 @@ public class DefaultInformationCategory implements RecipeCategory<DefaultInforma for (Text text : texts) { if (!this.texts.isEmpty()) this.texts.add(null); - this.texts.addAll(Texts.wrapLines(text, bounds.width - 11, MinecraftClient.getInstance().textRenderer, true, false)); + this.texts.addAll(Texts.wrapLines(text, bounds.width - 11, MinecraftClient.getInstance().textRenderer)); } } @@ -188,14 +192,14 @@ public class DefaultInformationCategory implements RecipeCategory<DefaultInforma } @Override - public void render(int mouseX, int mouseY, float delta) { + public void render(MatrixStack matrices, int mouseX, int mouseY, float delta) { scrolling.updatePosition(delta); Rectangle innerBounds = scrolling.getScissorBounds(); ScissorsHandler.INSTANCE.scissor(innerBounds); int currentY = (int) -scrolling.scrollAmount + innerBounds.y; for (Text text : texts) { if (text != null && currentY + font.fontHeight >= innerBounds.y && currentY <= innerBounds.getMaxY()) { - font.draw(text.asFormattedString(), innerBounds.x + 2, currentY + 2, REIHelper.getInstance().isDarkThemeEnabled() ? 0xFFBBBBBB : 0xFF090909); + font.method_27528(matrices, text, innerBounds.x + 2, currentY + 2, REIHelper.getInstance().isDarkThemeEnabled() ? 0xFFBBBBBB : 0xFF090909); } currentY += text == null ? 4 : font.fontHeight; } |
