瀏覽代碼

RIght to Left supported languages

Unknown 6 年之前
父節點
當前提交
17b129785c

+ 3 - 2
src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java

@@ -15,6 +15,7 @@ import net.minecraft.client.render.GuiLighting;
 import net.minecraft.client.resource.language.I18n;
 import net.minecraft.client.util.Window;
 import net.minecraft.item.ItemStack;
+import net.minecraft.text.TranslatableTextComponent;
 import net.minecraft.util.math.MathHelper;
 
 import java.awt.*;
@@ -44,7 +45,7 @@ public class ContainerScreenOverlay extends DrawableContainer {
         widgets.add(this.itemListOverlay = new ItemListOverlay(page));
         this.itemListOverlay.updateList(getItemListArea(), page, searchTerm);
         
-        widgets.add(buttonLeft = new ButtonWidget(rectangle.x, rectangle.y + 5, 16, 16, "<") {
+        widgets.add(buttonLeft = new ButtonWidget(rectangle.x, rectangle.y + 5, 16, 16, new TranslatableTextComponent("text.rei.left_arrow")) {
             @Override
             public void onPressed(int button, double mouseX, double mouseY) {
                 page--;
@@ -53,7 +54,7 @@ public class ContainerScreenOverlay extends DrawableContainer {
                 itemListOverlay.updateList(getItemListArea(), page, searchTerm);
             }
         });
-        widgets.add(buttonRight = new ButtonWidget(rectangle.x + rectangle.width - 18, rectangle.y + 5, 16, 16, ">") {
+        widgets.add(buttonRight = new ButtonWidget(rectangle.x + rectangle.width - 18, rectangle.y + 5, 16, 16, new TranslatableTextComponent("text.rei.right_arrow")) {
             @Override
             public void onPressed(int button, double mouseX, double mouseY) {
                 page++;

+ 11 - 5
src/main/java/me/shedaniel/rei/gui/config/ConfigEntry.java

@@ -4,6 +4,7 @@ import me.shedaniel.rei.client.ClientHelper;
 import me.shedaniel.rei.gui.widget.ButtonWidget;
 import net.minecraft.client.MinecraftClient;
 import net.minecraft.client.audio.PositionedSoundInstance;
+import net.minecraft.client.font.FontRenderer;
 import net.minecraft.client.gui.widget.EntryListWidget;
 import net.minecraft.client.util.Window;
 import net.minecraft.sound.SoundEvents;
@@ -13,6 +14,7 @@ import java.awt.*;
 
 public class ConfigEntry extends EntryListWidget.Entry<ConfigEntry> {
     
+    private static final FontRenderer FONT_RENDERER = MinecraftClient.getInstance().fontRenderer;
     private TextComponent nameComponent;
     private ConfigEntryButtonProvider buttonProvider;
     private ButtonWidget buttonWidget;
@@ -38,13 +40,17 @@ public class ConfigEntry extends EntryListWidget.Entry<ConfigEntry> {
     
     @Override
     public void draw(int entryWidth, int height, int i3, int i4, boolean isSelected, float delta) {
-        int x = getX();
-        int y = getY();
         Window window = MinecraftClient.getInstance().window;
         Point mouse = ClientHelper.getMouseLocation();
-        MinecraftClient.getInstance().fontRenderer.drawWithShadow(nameComponent.getFormattedText(), x + 5, y + 5, -1);
-        this.buttonWidget.text = buttonProvider.getText();
-        this.buttonWidget.getBounds().setLocation(window.getScaledWidth() - 190, y + 2);
+        if (MinecraftClient.getInstance().fontRenderer.isRightToLeft()) {
+            MinecraftClient.getInstance().fontRenderer.drawWithShadow(nameComponent.getFormattedText(), window.getScaledWidth() - FONT_RENDERER.getStringWidth(nameComponent.getFormattedText()) - 40, getY() + 5, 16777215);
+            this.buttonWidget.text = buttonProvider.getText();
+            this.buttonWidget.getBounds().setLocation(10, getY() + 2);
+        } else {
+            MinecraftClient.getInstance().fontRenderer.drawWithShadow(nameComponent.getFormattedText(), 10.0F, getY() + 5, 16777215);
+            this.buttonWidget.text = buttonProvider.getText();
+            this.buttonWidget.getBounds().setLocation(window.getScaledWidth() - 190, getY() + 2);
+        }
         buttonProvider.draw(buttonWidget, mouse, delta);
     }
     

+ 9 - 0
src/main/java/me/shedaniel/rei/gui/widget/ButtonWidget.java

@@ -6,6 +6,7 @@ import net.minecraft.client.audio.PositionedSoundInstance;
 import net.minecraft.client.font.FontRenderer;
 import net.minecraft.client.gui.Drawable;
 import net.minecraft.sound.SoundEvents;
+import net.minecraft.text.TextComponent;
 import net.minecraft.util.Identifier;
 import net.minecraft.util.math.MathHelper;
 
@@ -23,6 +24,10 @@ public abstract class ButtonWidget extends Drawable implements IWidget {
     private boolean pressed;
     private Rectangle bounds;
     
+    public ButtonWidget(Rectangle rectangle, TextComponent text) {
+        this(rectangle, text.getFormattedText());
+    }
+    
     public ButtonWidget(Rectangle rectangle, String text) {
         this.bounds = rectangle;
         this.enabled = true;
@@ -34,6 +39,10 @@ public abstract class ButtonWidget extends Drawable implements IWidget {
         this(new Rectangle(x, y, width, height), text);
     }
     
+    public ButtonWidget(int x, int y, int width, int height, TextComponent text) {
+        this(new Rectangle(x, y, width, height), text);
+    }
+    
     public Rectangle getBounds() {
         return bounds;
     }

+ 5 - 4
src/main/java/me/shedaniel/rei/gui/widget/RecipeViewingWidgetScreen.java

@@ -17,6 +17,7 @@ import net.minecraft.client.gui.Screen;
 import net.minecraft.client.render.GuiLighting;
 import net.minecraft.client.util.Window;
 import net.minecraft.sound.SoundEvents;
+import net.minecraft.text.TranslatableTextComponent;
 import net.minecraft.util.Identifier;
 import net.minecraft.util.math.MathHelper;
 
@@ -91,7 +92,7 @@ public class RecipeViewingWidgetScreen extends Screen {
         this.widgets.clear();
         this.bounds = new Rectangle(window.getScaledWidth() / 2 - guiWidth / 2, window.getScaledHeight() / 2 - guiHeight / 2, guiWidth, guiHeight);
         
-        widgets.add(categoryBack = new ButtonWidget((int) bounds.getX() + 5, (int) bounds.getY() + 5, 12, 12, "<") {
+        widgets.add(categoryBack = new ButtonWidget((int) bounds.getX() + 5, (int) bounds.getY() + 5, 12, 12, new TranslatableTextComponent("text.rei.left_arrow")) {
             @Override
             public void onPressed(int button, double mouseX, double mouseY) {
                 int currentCategoryIndex = categories.indexOf(selectedCategory);
@@ -103,7 +104,7 @@ public class RecipeViewingWidgetScreen extends Screen {
                 RecipeViewingWidgetScreen.this.onInitialized();
             }
         });
-        widgets.add(categoryNext = new ButtonWidget((int) bounds.getX() + 159, (int) bounds.getY() + 5, 12, 12, ">") {
+        widgets.add(categoryNext = new ButtonWidget((int) bounds.getX() + 159, (int) bounds.getY() + 5, 12, 12, new TranslatableTextComponent("text.rei.right_arrow")) {
             @Override
             public void onPressed(int button, double mouseX, double mouseY) {
                 int currentCategoryIndex = categories.indexOf(selectedCategory);
@@ -118,7 +119,7 @@ public class RecipeViewingWidgetScreen extends Screen {
         categoryBack.enabled = categories.size() > 1;
         categoryNext.enabled = categories.size() > 1;
         
-        widgets.add(recipeBack = new ButtonWidget((int) bounds.getX() + 5, (int) bounds.getY() + 21, 12, 12, "<") {
+        widgets.add(recipeBack = new ButtonWidget((int) bounds.getX() + 5, (int) bounds.getY() + 21, 12, 12, new TranslatableTextComponent("text.rei.left_arrow")) {
             @Override
             public void onPressed(int button, double mouseX, double mouseY) {
                 page--;
@@ -127,7 +128,7 @@ public class RecipeViewingWidgetScreen extends Screen {
                 RecipeViewingWidgetScreen.this.onInitialized();
             }
         });
-        widgets.add(recipeNext = new ButtonWidget((int) bounds.getX() + 159, (int) bounds.getY() + 21, 12, 12, ">") {
+        widgets.add(recipeNext = new ButtonWidget((int) bounds.getX() + 159, (int) bounds.getY() + 21, 12, 12, new TranslatableTextComponent("text.rei.right_arrow")) {
             @Override
             public void onPressed(int button, double mouseX, double mouseY) {
                 page++;

+ 3 - 0
src/main/resources/assets/roughlyenoughitems/lang/en_us.json

@@ -41,6 +41,9 @@
   "text.rei.load_default_plugin": "Load Default Plugin: ",
   "text.rei.load_default_plugin.restart_tooltip": "You probably never want to disable this.\nRestart Minecraft to apply this setting.",
   "text.rei.credits": "Credits",
+  "text.rei.left_arrow": "<",
+  "text.rei.right_arrow": ">",
+
   "_comment": "Don't change / translate the credit down below if you are doing it :)",
   "text.rei.credit.text": "§lRoughly Enough Items\n§7Originally a fork for Almost Enough Items.\n\n§lDevelopers\n  - Originally by ZenDarva\n  - Created by Danielshe\n  - Plugin Support by TehNut\n\n§lLanguage Translation\n  English - Danielshe\n  Simplified Chinese - Danielshe\n  Traditional Chinese - hugoalh & Danielshe\n  French - Yanis48\n  German - MelanX\n  Estonian - Madis0\n  Hebrew - nerdoron\n  LOLCAT - Danielshe\n  Upside Down - Danielshe\n\n§lLicense\n§7Roughly Enough Items is using MIT."
 }