aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/core
diff options
context:
space:
mode:
authorMuXiu1997 <49554020+MuXiu1997@users.noreply.github.com>2022-03-30 03:27:09 +0800
committerGitHub <noreply@github.com>2022-03-29 21:27:09 +0200
commita3cdd0b38cd4452bffb5f5f30556a812aef758ac (patch)
treec82475c5a9a6d872d99bfa9ef6bf905254252669 /src/main/java/gtPlusPlus/core
parenta91ba235314ea6b56adf4d8cca574eebb88b1b62 (diff)
downloadGT5-Unofficial-a3cdd0b38cd4452bffb5f5f30556a812aef758ac.tar.gz
GT5-Unofficial-a3cdd0b38cd4452bffb5f5f30556a812aef758ac.tar.bz2
GT5-Unofficial-a3cdd0b38cd4452bffb5f5f30556a812aef758ac.zip
Fix books localization (#164)
Diffstat (limited to 'src/main/java/gtPlusPlus/core')
-rw-r--r--src/main/java/gtPlusPlus/core/handler/BookHandler.java10
-rw-r--r--src/main/java/gtPlusPlus/core/item/general/books/ItemBaseBook.java3
-rw-r--r--src/main/java/gtPlusPlus/core/util/Utils.java28
3 files changed, 32 insertions, 9 deletions
diff --git a/src/main/java/gtPlusPlus/core/handler/BookHandler.java b/src/main/java/gtPlusPlus/core/handler/BookHandler.java
index 79f6488487..e8c31e60ea 100644
--- a/src/main/java/gtPlusPlus/core/handler/BookHandler.java
+++ b/src/main/java/gtPlusPlus/core/handler/BookHandler.java
@@ -13,6 +13,9 @@ import gtPlusPlus.core.util.minecraft.RecipeUtils;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
+import static gtPlusPlus.core.util.Utils.addBookPagesLocalization;
+import static gtPlusPlus.core.util.Utils.addBookTitleLocalization;
+
public class BookHandler {
public static int mBookKeeperCount = 0;
@@ -379,7 +382,12 @@ public class BookHandler {
private static BookTemplate writeBookTemplate(String aMapping, String aTitle, String aAuthor, String[] aPages){
mBookKeeperCount++;
- BookTemplate mTemp = new BookTemplate(mBookKeeperCount, aMapping, aTitle, aAuthor, aPages);
+ for (int i = 0; i < aPages.length; i++) {
+ aPages[i] = aPages[i].replaceAll("\n", "<BR>");
+ }
+ addBookTitleLocalization(aTitle);
+ addBookPagesLocalization(aTitle, aPages);
+ BookTemplate mTemp = new BookTemplate(mBookKeeperCount, aMapping, aTitle, aAuthor, aPages);
mBookMap.put(mBookKeeperCount-1, mTemp);
return mTemp;
}
diff --git a/src/main/java/gtPlusPlus/core/item/general/books/ItemBaseBook.java b/src/main/java/gtPlusPlus/core/item/general/books/ItemBaseBook.java
index 9ac09b92e4..9be6a0fda5 100644
--- a/src/main/java/gtPlusPlus/core/item/general/books/ItemBaseBook.java
+++ b/src/main/java/gtPlusPlus/core/item/general/books/ItemBaseBook.java
@@ -1,6 +1,7 @@
package gtPlusPlus.core.item.general.books;
import static gtPlusPlus.core.handler.BookHandler.mBookMap;
+import static gtPlusPlus.core.util.Utils.addBookTitleLocalization;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
@@ -65,7 +66,7 @@ public class ItemBaseBook extends ItemWritableBook{
return NBTUtils.getString(tItem, "title");
}
else if (tItem.getItemDamage() > -1 && tItem.getItemDamage() <= mBookMap.size()){
- return EnumChatFormatting.ITALIC+""+mBookMap.get(tItem.getItemDamage()).mTitle;
+ return EnumChatFormatting.ITALIC + "" + addBookTitleLocalization(mBookMap.get(tItem.getItemDamage()).mTitle);
}
//NBTUtils.tryIterateNBTData(tItem);
return "GT++ Storybook";
diff --git a/src/main/java/gtPlusPlus/core/util/Utils.java b/src/main/java/gtPlusPlus/core/util/Utils.java
index 81b23e0b1c..ac61abdd30 100644
--- a/src/main/java/gtPlusPlus/core/util/Utils.java
+++ b/src/main/java/gtPlusPlus/core/util/Utils.java
@@ -28,6 +28,7 @@ import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.registry.EntityRegistry;
import cpw.mods.fml.common.registry.EntityRegistry.EntityRegistration;
import gregtech.GT_Mod;
+import gregtech.api.GregTech_API;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.ItemList;
import gregtech.api.enums.Materials;
@@ -723,6 +724,21 @@ public class Utils {
}
}
+ public static String addBookTitleLocalization(final String aTitle) {
+ return GT_LanguageManager.addStringLocalization(
+ new StringBuilder().append("Book.").append(aTitle).append(".Name").toString(), aTitle, !GregTech_API.sPostloadFinished);
+ }
+
+ public static String[] addBookPagesLocalization(final String aTitle, final String[] aPages) {
+ String[] aLocalizationPages = new String[aPages.length];
+ for (byte i = 0; i < aPages.length; i = (byte) (i + 1)) {
+ aLocalizationPages[i] = GT_LanguageManager
+ .addStringLocalization(new StringBuilder().append("Book.").append(aTitle).append(".Page")
+ .append((i < 10) ? new StringBuilder().append("0").append(i).toString() : Byte.valueOf(i))
+ .toString(), aPages[i], !GregTech_API.sPostloadFinished);
+ }
+ return aLocalizationPages;
+ }
public static ItemStack getWrittenBook(final ItemStack aBook, final int aID, final String aMapping, final String aTitle, final String aAuthor,
final String[] aPages) {
@@ -739,15 +755,13 @@ public class Utils {
final int vMeta = aID;
rStack = (aBook == null ? new ItemStack(ModItems.itemCustomBook, 1, vMeta) : aBook);
final NBTTagCompound tNBT = new NBTTagCompound();
- tNBT.setString("title", GT_LanguageManager.addStringLocalization(
- new StringBuilder().append("Book.").append(aTitle).append(".Name").toString(), aTitle));
+ String localizationTitle = addBookTitleLocalization(aTitle);
+ tNBT.setString("title", localizationTitle);
tNBT.setString("author", aAuthor);
final NBTTagList tNBTList = new NBTTagList();
- for (byte i = 0; i < aPages.length; i = (byte) (i + 1)) {
- aPages[i] = GT_LanguageManager
- .addStringLocalization(new StringBuilder().append("Book.").append(aTitle).append(".Page")
- .append((i < 10) ? new StringBuilder().append("0").append(i).toString() : Byte.valueOf(i))
- .toString(), aPages[i]);
+ final String[] aLocalizationPages = addBookPagesLocalization(aTitle, aPages);
+ for (byte i = 0; i < aPages.length; i = (byte) (i + 1)) {
+ aPages[i] = aLocalizationPages[i].replaceAll("<BR>", "\n");
if (i < 48) {
if (aPages[i].length() < 256) {
tNBTList.appendTag(new NBTTagString(aPages[i]));