Skip to content

Commit

Permalink
merge upstream, translate more items
Browse files Browse the repository at this point in the history
  • Loading branch information
StarWishsama committed Feb 5, 2020
1 parent cbc647d commit 41420ac
Show file tree
Hide file tree
Showing 48 changed files with 1,132 additions and 644 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>me.mrCookieSlime</groupId>
<artifactId>Slimefun</artifactId>
<version>4.2-UNOFFCIAL-20200204</version>
<version>4.2-UNOFFCIAL-20200205</version>

<properties>
<maven.compiler.source>1.8</maven.compiler.source>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
import me.mrCookieSlime.Slimefun.api.BlockStorage;
import me.mrCookieSlime.Slimefun.api.PlayerProfile;
import me.mrCookieSlime.Slimefun.api.Slimefun;
import me.mrCookieSlime.Slimefun.api.TickerTask;
import io.github.thebusybiscuit.slimefun4.implementation.tasks.TickerTask;

public class ErrorReport {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ public void openCategory(PlayerProfile profile, Category category, boolean survi
ChestMenu menu = create(p);
fillInv(p, profile, menu, survival);

menu.addItem(1, new CustomItem(ChestMenuUtils.getBackButton(), meta -> meta.setLore(Arrays.asList("", ChatColors.color("&r左键: &7返回主菜单")))));
menu.addItem(1, new CustomItem(ChestMenuUtils.getBackButton(p, "", SlimefunPlugin.getLocal().getMessage(p, "guide.back.guide"))));
menu.addMenuClickHandler(1, (pl, s, is, action) -> {
openMainMenu(profile, survival, 1);
return false;
Expand Down Expand Up @@ -294,7 +294,7 @@ public void openSearch(PlayerProfile profile, String input, boolean survival, bo

menu.setEmptySlotsClickable(false);
fillInv(p, profile, menu, survival);
addBackButton(menu, 1, profile, survival);
addBackButton(menu, 1, p, profile, survival);

int index = 9;
// Find items and add them
Expand Down Expand Up @@ -484,7 +484,7 @@ private void displayItem(ChestMenu menu, PlayerProfile profile, Player p, Object
history.add(obj);
}

addBackButton(menu, 0, profile, true);
addBackButton(menu, 0, p, profile, true);

MenuClickHandler clickHandler = (pl, slot, itemstack, action) -> {
displayItem(profile, itemstack, true);
Expand Down Expand Up @@ -529,16 +529,16 @@ private void fillInv(Player p, PlayerProfile profile, ChestMenu menu, boolean su
}
}

private void addBackButton(ChestMenu menu, int slot, PlayerProfile profile, boolean survival) {
private void addBackButton(ChestMenu menu, int slot, Player p, PlayerProfile profile, boolean survival) {
List<Object> playerHistory = profile.getGuideHistory();

if (playerHistory.size() > 1) {

menu.addItem(slot, new CustomItem(ChestMenuUtils.getBackButton(), meta -> meta.setLore(Arrays.asList(
"",
ChatColors.color("&r左键: &7返回上一页"),
ChatColors.color("&rShift + 左键: &7返回主菜单")
))));
menu.addItem(slot, new CustomItem(ChestMenuUtils.getBackButton(p,
"",
"&rLeft Click: &7Go back to previous Page",
"&rShift + left Click: &7Go back to Main Menu"
)));

menu.addMenuClickHandler(slot, (pl, s, is, action) -> {
if (action.isShiftClicked()) {
Expand All @@ -553,7 +553,7 @@ private void addBackButton(ChestMenu menu, int slot, PlayerProfile profile, bool

}
else {
menu.addItem(slot, new CustomItem(ChestMenuUtils.getBackButton(), meta -> meta.setLore(Arrays.asList("", ChatColors.color("&r左键: &7返回主菜单")))));
menu.addItem(slot, new CustomItem(ChestMenuUtils.getBackButton(p, "", SlimefunPlugin.getLocal().getMessage(p, "guide.back.guide"))));
menu.addMenuClickHandler(slot, (pl, s, is, action) -> {
openMainMenu(profile, survival, 1);
return false;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ public static void openSettings(Player p, ItemStack guide) {
}

private static void addMenubar(Player p, ChestMenu menu, ItemStack guide) {
menu.addItem(0, new CustomItem(getItem(SlimefunGuideLayout.CHEST), "&e\u21E6 返回", "", "&7返回到指南"),
menu.addItem(0, new CustomItem(getItem(SlimefunGuideLayout.CHEST), "&e\u21E6 " + SlimefunPlugin.getLocal().getMessage(p, "guide.back.title"), "", "&7" + SlimefunPlugin.getLocal().getMessage(p, "guide.back.guide")),
(pl, slot, item, action) -> {
SlimefunGuide.openGuide(pl, guide);
return false;
Expand Down Expand Up @@ -86,7 +86,7 @@ private static void addMenubar(Player p, ChestMenu menu, ItemStack guide) {
), ChestMenuUtils.getEmptyClickHandler());

menu.addItem(6, new CustomItem(Material.COMPARATOR,
"&eSource Code",
"&e" + SlimefunPlugin.getLocal().getMessage(p, "guide.title.source"),
"",
"&7Last Activity: &a" + NumberUtils.timeDelta(SlimefunPlugin.getGitHubService().getLastUpdate()) + " ago",
"&7Forks: &e" + SlimefunPlugin.getGitHubService().getForks(),
Expand Down Expand Up @@ -240,14 +240,18 @@ else if (SlimefunManager.isItemSimilar(guide, getItem(SlimefunGuideLayout.CHEAT_
i++;
}

Language language = SlimefunPlugin.getLocal().getLanguage(p);
String languageName = language.isDefault() ? (SlimefunPlugin.getLocal().getMessage(p, "languages.default") + ChatColor.DARK_GRAY + " (" + language.getName(p) + ")"): SlimefunPlugin.getLocal().getMessage(p, "languages." + language.getID());
if (SlimefunPlugin.getSettings().translationsEnabled) {
Language language = SlimefunPlugin.getLocal().getLanguage(p);
String languageName = language.isDefault() ? (SlimefunPlugin.getLocal().getMessage(p, "languages.default") + ChatColor.DARK_GRAY + " (" + language.getName(p) + ")"): SlimefunPlugin.getLocal().getMessage(p, "languages." + language.getID());

menu.addItem(i, new CustomItem(language.getItem(), "&7" + SlimefunPlugin.getLocal().getMessage(p, "guide.languages.selected-language") + " &a" + languageName, "", "&7现在你能选择 Slimefun 的语言", "&7请注意: 只能改变文本的语言", "&7并不能将物品的一起修改", "", "&7\u21E8 &e单击修改你的语言"),
(pl, slot, item, action) -> {
openLanguages(pl);
return false;
});
menu.addItem(i, new CustomItem(language.getItem(), "&7" + SlimefunPlugin.getLocal().getMessage(p, "guide.languages.selected-language") + " &a" + languageName, "", "&7You now have the option to change", "&7the language in which Slimefun", "&7will send you messages.", "&7Note that this only translates", "&7messages, not items.", "", "&7\u21E8 &eClick to change your language"),
(pl, slot, item, action) -> {
openLanguages(pl);
return false;
});

// i++;
}
}

private static void openLanguages(Player p) {
Expand All @@ -258,7 +262,7 @@ private static void openLanguages(Player p) {

for (int i = 0; i < 9; i++) {
if (i == 1) {
menu.addItem(1, new CustomItem(ChestMenuUtils.getBackButton(), "&e\u21E6 返回", "", "&7返回到设置面板")
menu.addItem(1, ChestMenuUtils.getBackButton(p, "", "&7" + SlimefunPlugin.getLocal().getMessage(p, "guide.back.settings"))
, (pl, slot, item, action) -> {
openSettings(pl, p.getInventory().getItemInMainHand());
return false;
Expand Down Expand Up @@ -292,16 +296,21 @@ else if (i == 7) {
int slot = 10;

for (Language language : SlimefunPlugin.getLocal().getLanguages()) {
menu.addItem(slot, new CustomItem(language.getItem(), ChatColor.GREEN + language.getName(p), "&7( " + language.getProgress() + "% )", "", "&7\u21E8 &e" + SlimefunPlugin.getLocal().getMessage(p, "guide.languages.select")),
(pl, i, item, action) -> {
PersistentDataAPI.setString(pl, SlimefunPlugin.getLocal().getKey(), language.getID());

String name = language.getName(pl);
SlimefunPlugin.getLocal().sendMessage(pl, "guide.languages.updated", msg -> msg.replace("%lang%", name));

openSettings(pl, p.getInventory().getItemInMainHand());
return false;
});
menu.addItem(slot, new CustomItem(language.getItem(),
ChatColor.GREEN + language.getName(p),
"&7" + SlimefunPlugin.getLocal().getMessage(p, "guide.languages.progress.messages") + ": " + SlimefunPlugin.getLocal().getProgress(language, Language::getMessages) + '%',
"&7" + SlimefunPlugin.getLocal().getMessage(p, "guide.languages.progress.researches") + ": " + SlimefunPlugin.getLocal().getProgress(language, Language::getResearches) + '%',
"",
"&7\u21E8 &e" + SlimefunPlugin.getLocal().getMessage(p, "guide.languages.select")
), (pl, i, item, action) -> {
PersistentDataAPI.setString(pl, SlimefunPlugin.getLocal().getKey(), language.getID());

String name = language.getName(pl);
SlimefunPlugin.getLocal().sendMessage(pl, "guide.languages.updated", msg -> msg.replace("%lang%", name));

openSettings(pl, p.getInventory().getItemInMainHand());
return false;
});

slot++;
}
Expand All @@ -320,7 +329,7 @@ private static void openCredits(Player p, int page) {
menu.addItem(i, ChestMenuUtils.getBackground(), ChestMenuUtils.getEmptyClickHandler());
}
else {
menu.addItem(1, new CustomItem(ChestMenuUtils.getBackButton(), "&e\u21E6 返回", "", "&7返回设置面板"));
menu.addItem(1, new CustomItem(ChestMenuUtils.getBackButton(p, "", "&7" + SlimefunPlugin.getLocal().getMessage(p, "guide.back.settings"))));
menu.addMenuClickHandler(1, (pl, slot, item, action) -> {
openSettings(pl, p.getInventory().getItemInMainHand());
return false;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
import io.github.thebusybiscuit.slimefun4.core.services.github.Contributor;
import io.github.thebusybiscuit.slimefun4.core.services.github.GitHubConnector;
import io.github.thebusybiscuit.slimefun4.core.services.github.GitHubTask;
import io.github.thebusybiscuit.slimefun4.core.services.github.Translators;
import io.github.thebusybiscuit.slimefun4.core.services.localization.Translators;
import io.github.thebusybiscuit.slimefun4.utils.NumberUtils;

public class GitHubService {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Optional;
import java.util.function.Function;
import java.util.logging.Level;

import org.bukkit.NamespacedKey;
Expand Down Expand Up @@ -143,30 +144,18 @@ private void addLanguage(String id, String hash) {
language.setMessages(messages);
language.setResearches(researches);

if (!id.equals("en")) {
language.setProgress(getProgress(language, languages.get("en")));
}

languages.put(id, language);
}
}

private double getProgress(Language language, Language defaultLang) {
return DoubleHandler.fixDouble(100.0 * (getTotalKeys(language) / getTotalKeys(defaultLang)));
public double getProgress(Language lang, Function<Language, FileConfiguration> method) {
double defaultKeys = getTotalKeys(method.apply(defaultLanguage));
if (defaultKeys == 0) return 0;
return DoubleHandler.fixDouble(100.0 * (getTotalKeys(method.apply(lang)) / defaultKeys));
}

private double getTotalKeys(Language language) {
int keys = 0;

if (language.getMessages() != null) {
keys += language.getMessages().getKeys(true).size();
}

if (language.getResearches() != null) {
keys += language.getResearches().getKeys(true).size();
}

return keys;
private double getTotalKeys(FileConfiguration cfg) {
return cfg != null ? cfg.getKeys(true).size(): 0;
}

private FileConfiguration streamConfigFile(String file, FileConfiguration defaults) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,6 @@ public String getID() {
return id;
}

public double getProgress() {
return progress;
}

public void setProgress(double progress) {
this.progress = progress;
}

public FileConfiguration getMessages() {
return messages;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,12 @@ public enum SupportedLanguage {
SPANISH("es", "32bd4521983309e0ad76c1ee29874287957ec3d96f8d889324da8c887e485ea8"),
RUSSIAN("ru", "16eafef980d6117dabe8982ac4b4509887e2c4621f6a8fe5c9b735a83d775ad"),
POLISH("pl", "921b2af8d2322282fce4a1aa4f257a52b68e27eb334f4a181fd976bae6d8eb"),
UKRANIAN("uk", "28b9f52e36aa5c7caaa1e7f26ea97e28f635e8eac9aef74cec97f465f5a6b51"),
SWEDISH("sv", "e910904bff9c86f6ed47688e9429c26e8d9c5d5743bd3ebb8e6f5040be192998"),
DUTCH("nl", "c23cf210edea396f2f5dfbced69848434f93404eefeabf54b23c073b090adf"),
DANISH("da", "10c23055c392606f7e531daa2676ebe2e348988810c15f15dc5b3733998232"),
FINNISH("fi", "59f2349729a7ec8d4b1478adfe5ca8af96479e983fbad238ccbd81409b4ed"),
NORWEGIAN("no", "e0596e165ec3f389b59cfdda93dd6e363e97d9c6456e7c2e123973fa6c5fda"),
CZECH("cs", "48152b7334d7ecf335e47a4f35defbd2eb6957fc7bfe94212642d62f46e61e"),
PORTUGESE_PORTUGAL("pt", "ebd51f4693af174e6fe1979233d23a40bb987398e3891665fafd2ba567b5a53a"),
PORTUGESE_BRAZIL("pt-BR", "9a46475d5dcc815f6c5f2859edbb10611f3e861c0eb14f088161b3c0ccb2b0d9"),
Expand All @@ -22,7 +26,10 @@ public enum SupportedLanguage {
INDONESIAN("id", "5db2678ccaba7934412cb97ee16d416463a392574c5906352f18dea42895ee"),
CHINESE_CHINA("zh-CN", "7f9bc035cdc80f1ab5e1198f29f3ad3fdd2b42d9a69aeb64de990681800b98dc"),
CHINESE_TAIWAN("zh-TW", "702a4afb2e1e2e3a1894a8b74272f95cfa994ce53907f9ac140bd3c932f9f"),
HEBREW("he", "1ba086a2cc7272cf5ba49c80248546c22e5ef1bab54120e8a8e5d9e75b6a");
HEBREW("he", "1ba086a2cc7272cf5ba49c80248546c22e5ef1bab54120e8a8e5d9e75b6a"),
ARABIC("ar", "a4be759a9cf7f0a19a7e8e62f23789ad1d21cebae38af9d9541676a3db001572"),
AFRIKAANS("af", "961a1eacc10524d1f45f23b0e487bb2fc33948d9676b418b19a3da0b109d0e3c"),
MALAY("ms", "754b9041dea6db6db44750f1385a743adf653767b4b8802cad4c585dd3f5be46");

private final String id;
private final String textureHash;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
package io.github.thebusybiscuit.slimefun4.core.services.github;
package io.github.thebusybiscuit.slimefun4.core.services.localization;

import java.util.concurrent.ConcurrentMap;

import io.github.thebusybiscuit.slimefun4.core.services.github.Contributor;

public class Translators {

private final ConcurrentMap<String, Contributor> contributors;
Expand All @@ -12,6 +14,7 @@ public Translators(ConcurrentMap<String, Contributor> contributors) {
// Translators - German
addTranslator("TheBusyBiscuit", "de", false);
addTranslator("MeerBiene", "de", true);
addTranslator("daro2404", "de", true);

// Translators - French
addTranslator("JustDams", "D4ms_", "fr", true);
Expand All @@ -30,7 +33,7 @@ public Translators(ConcurrentMap<String, Contributor> contributors) {
addTranslator("andris155", "hu", true);

// Translators - Vietnamese
addTranslator("huynhqtienvtag", "vi", false);
addTranslator("HSGamer", "vi", false);
addTranslator("JustMangoT", "JFF_JustMango", "vi", true);
addTranslator("Julie-Sigtuna", "vi", true);
addTranslator("nahkd123", "vi", true);
Expand Down Expand Up @@ -64,6 +67,10 @@ public Translators(ConcurrentMap<String, Contributor> contributors) {

// Translators - Chinese (China)
addTranslator("StarWishsama", "StarWish_Sama", "zh-CN", false);

// Translators - Chinese (Taiwan)
addTranslator("BrineYT", "zh-TW", true);
addTranslator("mio9", "zh-TW", true);
}

private void addTranslator(String name, String language, boolean lock) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import java.util.Set;
import java.util.UUID;

import io.github.thebusybiscuit.slimefun4.implementation.tasks.AncientAltarTask;
import org.bukkit.ChatColor;
import org.bukkit.GameMode;
import org.bukkit.Location;
Expand Down Expand Up @@ -34,7 +35,6 @@
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
import me.mrCookieSlime.Slimefun.ancient_altar.AltarRecipe;
import me.mrCookieSlime.Slimefun.ancient_altar.Pedestals;
import me.mrCookieSlime.Slimefun.ancient_altar.RitualAnimation;
import me.mrCookieSlime.Slimefun.api.BlockStorage;
import me.mrCookieSlime.Slimefun.api.Slimefun;

Expand Down Expand Up @@ -134,7 +134,7 @@ else if (id.equals("ANCIENT_ALTAR")) {
ItemUtils.consumeItem(e.getPlayer().getInventory().getItemInMainHand(), false);
}

Slimefun.runSync(new RitualAnimation(altars, b, b.getLocation().add(0.5, 1.3, 0.5), result, pedestals, consumed), 10L);
Slimefun.runSync(new AncientAltarTask(altars, b, b.getLocation().add(0.5, 1.3, 0.5), result, pedestals, consumed), 10L);
}
else {
altars.remove(b);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.JetBoots;
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.Jetpack;
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
import me.mrCookieSlime.Slimefun.Objects.tasks.JetBootsTask;
import me.mrCookieSlime.Slimefun.Objects.tasks.JetpackTask;
import me.mrCookieSlime.Slimefun.Objects.tasks.MagnetTask;
import me.mrCookieSlime.Slimefun.Objects.tasks.ParachuteTask;
import io.github.thebusybiscuit.slimefun4.implementation.tasks.JetBootsTask;
import io.github.thebusybiscuit.slimefun4.implementation.tasks.JetpackTask;
import io.github.thebusybiscuit.slimefun4.implementation.tasks.MagnetTask;
import io.github.thebusybiscuit.slimefun4.implementation.tasks.ParachuteTask;
import me.mrCookieSlime.Slimefun.Setup.SlimefunManager;
import me.mrCookieSlime.Slimefun.api.Slimefun;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@
import me.mrCookieSlime.Slimefun.Objects.handlers.BlockPlaceHandler;
import me.mrCookieSlime.Slimefun.Objects.handlers.ItemUseHandler;
import me.mrCookieSlime.Slimefun.Objects.handlers.MultiBlockInteractionHandler;
import me.mrCookieSlime.Slimefun.Objects.tasks.RainbowTicker;
import io.github.thebusybiscuit.slimefun4.implementation.tasks.RainbowTicker;
import me.mrCookieSlime.Slimefun.androids.AndroidType;
import me.mrCookieSlime.Slimefun.androids.ProgrammableAndroid;
import me.mrCookieSlime.Slimefun.api.BlockStorage;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package me.mrCookieSlime.Slimefun.ancient_altar;
package io.github.thebusybiscuit.slimefun4.implementation.tasks;

import java.util.Collection;
import java.util.HashMap;
Expand All @@ -19,7 +19,7 @@
import me.mrCookieSlime.Slimefun.SlimefunPlugin;
import me.mrCookieSlime.Slimefun.api.Slimefun;

public class RitualAnimation implements Runnable {
public class AncientAltarTask implements Runnable {

private final List<Block> altars;

Expand All @@ -35,7 +35,7 @@ public class RitualAnimation implements Runnable {
private boolean running;
private int stage;

public RitualAnimation(List<Block> altars, Block altar, Location drop, ItemStack output, List<Block> pedestals, List<ItemStack> items) {
public AncientAltarTask(List<Block> altars, Block altar, Location drop, ItemStack output, List<Block> pedestals, List<ItemStack> items) {
this.dropLocation = drop;
this.altar = altar;
this.altars = altars;
Expand Down
Loading

0 comments on commit 41420ac

Please sign in to comment.