Added locate gui, partially implements #24
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
package exopandora.worldhandler.builder.impl;
|
||||
|
||||
import exopandora.worldhandler.builder.CommandBuilder;
|
||||
import exopandora.worldhandler.builder.CommandNode;
|
||||
import exopandora.worldhandler.builder.CommandNodeLiteral;
|
||||
import exopandora.worldhandler.builder.argument.Arguments;
|
||||
import exopandora.worldhandler.builder.argument.PrimitiveArgument;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
|
||||
public class LocateCommandBuilder extends CommandBuilder
|
||||
{
|
||||
private final PrimitiveArgument<ResourceLocation> biome = Arguments.resourceLocation();
|
||||
private final PrimitiveArgument<ResourceLocation> structure = Arguments.resourceLocation();
|
||||
private final PrimitiveArgument<ResourceLocation> poi = Arguments.resourceLocation();
|
||||
|
||||
private final CommandNodeLiteral root = CommandNode.literal("locate")
|
||||
.then(CommandNode.literal("biome")
|
||||
.then(CommandNode.argument("biome", this.biome)
|
||||
.label(Label.BIOME)))
|
||||
.then(CommandNode.literal("structure")
|
||||
.then(CommandNode.argument("structure", this.structure)
|
||||
.label(Label.STRUCTURE)))
|
||||
.then(CommandNode.literal("poi")
|
||||
.then(CommandNode.argument("poi", this.poi)
|
||||
.label(Label.POI)));
|
||||
|
||||
public PrimitiveArgument<ResourceLocation> biome()
|
||||
{
|
||||
return this.biome;
|
||||
}
|
||||
|
||||
public PrimitiveArgument<ResourceLocation> structure()
|
||||
{
|
||||
return this.structure;
|
||||
}
|
||||
|
||||
public PrimitiveArgument<ResourceLocation> poi()
|
||||
{
|
||||
return this.poi;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected CommandNodeLiteral root()
|
||||
{
|
||||
return this.root;
|
||||
}
|
||||
|
||||
public static enum Label
|
||||
{
|
||||
BIOME,
|
||||
STRUCTURE,
|
||||
POI;
|
||||
}
|
||||
}
|
||||
@@ -95,7 +95,7 @@ public class Category
|
||||
RegistryHelper.register(event, REGISTRY_KEY, "entities", () -> new Category("summon", "butcher"));
|
||||
RegistryHelper.register(event, REGISTRY_KEY, "items", () -> new Category("custom_item", "enchantment", "recipes"));
|
||||
RegistryHelper.register(event, REGISTRY_KEY, "blocks", () -> new Category("edit_blocks", "sign_editor", "note_editor"));
|
||||
RegistryHelper.register(event, REGISTRY_KEY, "world", () -> new Category("world", "gamerules"));
|
||||
RegistryHelper.register(event, REGISTRY_KEY, "world", () -> new Category("world", "gamerules", "locate"));
|
||||
RegistryHelper.register(event, REGISTRY_KEY, "player", () -> new Category("player", "experience", "advancements"));
|
||||
RegistryHelper.register(event, REGISTRY_KEY, "scoreboard", () -> new Category("scoreboard_objectives", "scoreboard_teams", "scoreboard_players"));
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@ import exopandora.worldhandler.gui.content.impl.ContentEditBlocks;
|
||||
import exopandora.worldhandler.gui.content.impl.ContentEnchantment;
|
||||
import exopandora.worldhandler.gui.content.impl.ContentExperience;
|
||||
import exopandora.worldhandler.gui.content.impl.ContentGamerules;
|
||||
import exopandora.worldhandler.gui.content.impl.ContentLocate;
|
||||
import exopandora.worldhandler.gui.content.impl.ContentMain;
|
||||
import exopandora.worldhandler.gui.content.impl.ContentMultiplayer;
|
||||
import exopandora.worldhandler.gui.content.impl.ContentNoteEditor;
|
||||
@@ -86,6 +87,7 @@ public abstract class Content implements IContent
|
||||
//WORLD
|
||||
RegistryHelper.register(event, REGISTRY_KEY, "world", () -> new ContentWorldInfo());
|
||||
RegistryHelper.register(event, REGISTRY_KEY, "gamerules", () -> new ContentGamerules());
|
||||
RegistryHelper.register(event, REGISTRY_KEY, "locate", () -> new ContentLocate());
|
||||
|
||||
//PLAYER
|
||||
RegistryHelper.register(event, REGISTRY_KEY, "player", () -> new ContentPlayer());
|
||||
|
||||
@@ -19,6 +19,7 @@ public class Contents
|
||||
|
||||
public static final Content CUSTOM_ITEM = Contents.getRegisteredContent("custom_item");
|
||||
public static final Content ENCHANTMENT = Contents.getRegisteredContent("enchantment");
|
||||
public static final Content RECIPES = Contents.getRegisteredContent("recipes");
|
||||
|
||||
public static final Content EDIT_BLOCKS = Contents.getRegisteredContent("edit_blocks");
|
||||
public static final Content SIGN_EDITOR = Contents.getRegisteredContent("sign_editor");
|
||||
@@ -26,7 +27,7 @@ public class Contents
|
||||
|
||||
public static final Content WORLD_INFO = Contents.getRegisteredContent("world");
|
||||
public static final Content GAMERULES = Contents.getRegisteredContent("gamerules");
|
||||
public static final Content RECIPES = Contents.getRegisteredContent("recipes");
|
||||
public static final Content LOCATE = Contents.getRegisteredContent("locate");
|
||||
|
||||
public static final Content PLAYER = Contents.getRegisteredContent("player");
|
||||
public static final Content EXPERIENCE = Contents.getRegisteredContent("experience");
|
||||
|
||||
@@ -0,0 +1,250 @@
|
||||
package exopandora.worldhandler.gui.content.impl;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import exopandora.worldhandler.builder.impl.LocateCommandBuilder;
|
||||
import exopandora.worldhandler.gui.category.Categories;
|
||||
import exopandora.worldhandler.gui.category.Category;
|
||||
import exopandora.worldhandler.gui.container.Container;
|
||||
import exopandora.worldhandler.gui.content.Content;
|
||||
import exopandora.worldhandler.gui.content.Contents;
|
||||
import exopandora.worldhandler.gui.widget.button.GuiButtonBase;
|
||||
import exopandora.worldhandler.gui.widget.button.GuiButtonTooltip;
|
||||
import exopandora.worldhandler.gui.widget.menu.impl.ILogicPageList;
|
||||
import exopandora.worldhandler.gui.widget.menu.impl.MenuPageList;
|
||||
import exopandora.worldhandler.util.ActionHandler;
|
||||
import exopandora.worldhandler.util.ActionHelper;
|
||||
import exopandora.worldhandler.util.CommandHelper;
|
||||
import exopandora.worldhandler.util.RegistryHelper;
|
||||
import net.minecraft.core.Registry;
|
||||
import net.minecraft.core.RegistryAccess;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.network.chat.MutableComponent;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraftforge.registries.ForgeRegistries;
|
||||
|
||||
public class ContentLocate extends Content
|
||||
{
|
||||
private final LocateCommandBuilder builderLocate = new LocateCommandBuilder();
|
||||
private final CommandPreview previewLocateBiome = new CommandPreview(this.builderLocate, LocateCommandBuilder.Label.BIOME);
|
||||
private final CommandPreview previewLocateStructure = new CommandPreview(this.builderLocate, LocateCommandBuilder.Label.STRUCTURE);
|
||||
private final CommandPreview previewLocatePoi = new CommandPreview(this.builderLocate, LocateCommandBuilder.Label.POI);
|
||||
private Page page = Page.BIOME;
|
||||
|
||||
@Override
|
||||
public CommandPreview getCommandPreview()
|
||||
{
|
||||
if(Page.BIOME.equals(this.page))
|
||||
{
|
||||
return this.previewLocateBiome;
|
||||
}
|
||||
else if(Page.STRUCTURE.equals(this.page))
|
||||
{
|
||||
return this.previewLocateStructure;
|
||||
}
|
||||
else if(Page.POI.equals(this.page))
|
||||
{
|
||||
return this.previewLocatePoi;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initGui(Container container, int x, int y)
|
||||
{
|
||||
if(Page.BIOME.equals(this.page))
|
||||
{
|
||||
List<ResourceLocation> biomes = new ArrayList<ResourceLocation>(ForgeRegistries.BIOMES.getKeys());
|
||||
MenuPageList<ResourceLocation> list = new MenuPageList<ResourceLocation>(x + 118, y, biomes, 114, 20, 3, container, new ILogicPageList<ResourceLocation>()
|
||||
{
|
||||
@Override
|
||||
public MutableComponent translate(ResourceLocation biome)
|
||||
{
|
||||
return Component.translatable(biome.toLanguageKey("biome"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public MutableComponent toTooltip(ResourceLocation biome)
|
||||
{
|
||||
return Component.literal(biome.toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(ResourceLocation biome)
|
||||
{
|
||||
ContentLocate.this.builderLocate.biome().set(biome);
|
||||
container.initButtons();
|
||||
}
|
||||
|
||||
@Override
|
||||
public GuiButtonBase onRegister(int x, int y, int width, int height, MutableComponent text, ResourceLocation biome, ActionHandler actionHandler)
|
||||
{
|
||||
return new GuiButtonTooltip(x, y, width, height, text, this.toTooltip(biome), actionHandler);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getId()
|
||||
{
|
||||
return "biomes";
|
||||
}
|
||||
});
|
||||
container.add(list);
|
||||
}
|
||||
else if(Page.STRUCTURE.equals(this.page))
|
||||
{
|
||||
List<ResourceLocation> structures = new ArrayList<ResourceLocation>(RegistryAccess.BUILTIN.get().registry(Registry.STRUCTURE_REGISTRY).get().keySet());
|
||||
MenuPageList<ResourceLocation> list = new MenuPageList<ResourceLocation>(x + 118, y, structures, 114, 20, 3, container, new ILogicPageList<ResourceLocation>()
|
||||
{
|
||||
@Override
|
||||
public MutableComponent translate(ResourceLocation structure)
|
||||
{
|
||||
return Component.literal(structure.toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
public MutableComponent toTooltip(ResourceLocation structure)
|
||||
{
|
||||
return Component.literal(structure.toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(ResourceLocation structure)
|
||||
{
|
||||
ContentLocate.this.builderLocate.structure().set(structure);
|
||||
container.initButtons();
|
||||
}
|
||||
|
||||
@Override
|
||||
public GuiButtonBase onRegister(int x, int y, int width, int height, MutableComponent text, ResourceLocation structure, ActionHandler actionHandler)
|
||||
{
|
||||
return new GuiButtonTooltip(x, y, width, height, text, this.toTooltip(structure), actionHandler);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getId()
|
||||
{
|
||||
return "structures";
|
||||
}
|
||||
});
|
||||
container.add(list);
|
||||
}
|
||||
else if(Page.POI.equals(this.page))
|
||||
{
|
||||
List<ResourceLocation> pois = new ArrayList<ResourceLocation>(ForgeRegistries.POI_TYPES.getKeys());
|
||||
MenuPageList<ResourceLocation> list = new MenuPageList<ResourceLocation>(x + 118, y, pois, 114, 20, 3, container, new ILogicPageList<ResourceLocation>()
|
||||
{
|
||||
@Override
|
||||
public MutableComponent translate(ResourceLocation poi)
|
||||
{
|
||||
String result = RegistryHelper.translate(poi);
|
||||
|
||||
if(result != null)
|
||||
{
|
||||
return Component.translatable(result);
|
||||
}
|
||||
|
||||
return Component.literal(poi.toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
public MutableComponent toTooltip(ResourceLocation poi)
|
||||
{
|
||||
return Component.literal(poi.toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(ResourceLocation poi)
|
||||
{
|
||||
ContentLocate.this.builderLocate.poi().set(poi);
|
||||
container.initButtons();
|
||||
}
|
||||
|
||||
@Override
|
||||
public GuiButtonBase onRegister(int x, int y, int width, int height, MutableComponent text, ResourceLocation poi, ActionHandler actionHandler)
|
||||
{
|
||||
return new GuiButtonTooltip(x, y, width, height, text, this.toTooltip(poi), actionHandler);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getId()
|
||||
{
|
||||
return "pois";
|
||||
}
|
||||
});
|
||||
container.add(list);
|
||||
}
|
||||
}
|
||||
|
||||
public void initButtons(Container container, int x, int y)
|
||||
{
|
||||
GuiButtonBase button1;
|
||||
GuiButtonBase button2;
|
||||
GuiButtonBase button3;
|
||||
|
||||
container.add(new GuiButtonBase(x, y + 96, 114, 20, "gui.worldhandler.generic.back", () -> ActionHelper.back(this)));
|
||||
container.add(new GuiButtonBase(x + 118, y + 96, 114, 20, "gui.worldhandler.generic.backToGame", ActionHelper::backToGame));
|
||||
|
||||
container.add(button1 = new GuiButtonBase(x, y, 114, 20, "gui.worldhandler.locate.biome", () -> this.changePage(container, Page.BIOME)));
|
||||
container.add(button2 = new GuiButtonBase(x, y + 24, 114, 20, "gui.worldhandler.locate.structure", () -> this.changePage(container, Page.STRUCTURE)));
|
||||
container.add(button3 = new GuiButtonBase(x, y + 48, 114, 20, "gui.worldhandler.locate.poi", () -> this.changePage(container, Page.POI)));
|
||||
container.add(new GuiButtonBase(x, y + 72, 114, 20, "gui.worldhandler.locate.locate", () ->
|
||||
{
|
||||
CommandHelper.sendCommand(container.getPlayer(), this.builderLocate, this.page.getLabel());
|
||||
}));
|
||||
|
||||
button1.active = !Page.BIOME.equals(this.page);
|
||||
button2.active = !Page.STRUCTURE.equals(this.page);
|
||||
button3.active = !Page.POI.equals(this.page);
|
||||
}
|
||||
|
||||
private void changePage(Container container, Page page)
|
||||
{
|
||||
this.page = page;
|
||||
container.init();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Category getCategory()
|
||||
{
|
||||
return Categories.WORLD;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MutableComponent getTitle()
|
||||
{
|
||||
return Component.translatable("gui.worldhandler.title.world.locate");
|
||||
}
|
||||
|
||||
@Override
|
||||
public MutableComponent getTabTitle()
|
||||
{
|
||||
return Component.translatable("gui.worldhandler.tab.world.locate");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Content getActiveContent()
|
||||
{
|
||||
return Contents.LOCATE;
|
||||
}
|
||||
|
||||
private static enum Page
|
||||
{
|
||||
BIOME(LocateCommandBuilder.Label.BIOME),
|
||||
STRUCTURE(LocateCommandBuilder.Label.STRUCTURE),
|
||||
POI(LocateCommandBuilder.Label.POI);
|
||||
|
||||
private final LocateCommandBuilder.Label label;
|
||||
|
||||
private Page(LocateCommandBuilder.Label label)
|
||||
{
|
||||
this.label = label;
|
||||
}
|
||||
|
||||
public LocateCommandBuilder.Label getLabel()
|
||||
{
|
||||
return this.label;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -9,7 +9,6 @@ import javax.annotation.Nullable;
|
||||
|
||||
import exopandora.worldhandler.Main;
|
||||
import net.minecraft.core.Registry;
|
||||
import net.minecraft.locale.Language;
|
||||
import net.minecraft.resources.ResourceKey;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.world.effect.MobEffect;
|
||||
@@ -30,15 +29,15 @@ public class RegistryHelper
|
||||
registerRegistry(ForgeRegistries.BLOCKS, Block::getDescriptionId);
|
||||
registerRegistry(ForgeRegistries.ITEMS, Item::getDescriptionId);
|
||||
registerRegistry(ForgeRegistries.MOB_EFFECTS, MobEffect::getDescriptionId);
|
||||
registerRegistry(ForgeRegistries.BIOMES, biome ->
|
||||
{
|
||||
ResourceLocation resource = ForgeRegistries.BIOMES.getKey(biome);
|
||||
String key = "biome." + resource.getNamespace() + "." + resource.getPath();
|
||||
return Language.getInstance().has(key) ? key : resource.toString();
|
||||
});
|
||||
registerRegistry(ForgeRegistries.BIOMES, biome -> ForgeRegistries.BIOMES.getKey(biome).toLanguageKey("biome"));
|
||||
registerRegistry(ForgeRegistries.ENCHANTMENTS, Enchantment::getDescriptionId);
|
||||
registerRegistry(ForgeRegistries.ENTITY_TYPES, EntityType::getDescriptionId);
|
||||
registerRegistry(ForgeRegistries.STAT_TYPES, stat -> "stat." + stat.toString().replace(':', '.'));
|
||||
registerRegistry(ForgeRegistries.VILLAGER_PROFESSIONS, profession ->
|
||||
{
|
||||
ResourceLocation profName = ForgeRegistries.VILLAGER_PROFESSIONS.getKey(profession);
|
||||
return EntityType.VILLAGER.getDescriptionId() + '.' + (!"minecraft".equals(profName.getNamespace()) ? profName.getNamespace() + '.' : "") + profName.getPath();
|
||||
});
|
||||
}
|
||||
|
||||
private static <T> void registerRegistry(IForgeRegistry<T> registry, Function<T, String> mapper)
|
||||
|
||||
@@ -69,6 +69,7 @@
|
||||
|
||||
"gui.worldhandler.tab.world.world": "Welt",
|
||||
"gui.worldhandler.tab.world.gamerules": "Spielregeln",
|
||||
"gui.worldhandler.tab.world.locate": "Finden",
|
||||
|
||||
"gui.worldhandler.tab.blocks.edit_blocks": "Blöcke Ändern",
|
||||
"gui.worldhandler.tab.blocks.sign_editor": "Schilder Ändern",
|
||||
@@ -96,6 +97,7 @@
|
||||
|
||||
"gui.worldhandler.title.world.world": "Welt",
|
||||
"gui.worldhandler.title.world.gamerules": "Gamerules",
|
||||
"gui.worldhandler.title.world.locate": "Finden",
|
||||
|
||||
"gui.worldhandler.title.player.player": "Spieler",
|
||||
"gui.worldhandler.title.player.experience": "Erfahrung",
|
||||
@@ -223,6 +225,11 @@
|
||||
"gui.worldhandler.world_info.statistics.world_time": "Weltzeit",
|
||||
"gui.worldhandler.world_info.statistics.played": "Played",
|
||||
|
||||
"gui.worldhandler.locate.biome": "Biom",
|
||||
"gui.worldhandler.locate.structure": "Struktur",
|
||||
"gui.worldhandler.locate.poi": "Interessanter Ort",
|
||||
"gui.worldhandler.locate.locate": "Finden",
|
||||
|
||||
"gui.worldhandler.edit_blocks.coordinates": "Koordinaten",
|
||||
"gui.worldhandler.edit_blocks.fill": "Füllen",
|
||||
"gui.worldhandler.edit_blocks.replace": "Ersetzen",
|
||||
|
||||
@@ -69,6 +69,7 @@
|
||||
|
||||
"gui.worldhandler.tab.world.world": "World",
|
||||
"gui.worldhandler.tab.world.gamerules": "Gamerules",
|
||||
"gui.worldhandler.tab.world.locate": "Locate",
|
||||
|
||||
"gui.worldhandler.tab.blocks.edit_blocks": "Edit Blocks",
|
||||
"gui.worldhandler.tab.blocks.sign_editor": "Sign Editor",
|
||||
@@ -96,6 +97,7 @@
|
||||
|
||||
"gui.worldhandler.title.world.world": "World",
|
||||
"gui.worldhandler.title.world.gamerules": "Gamerules",
|
||||
"gui.worldhandler.title.world.locate": "Locate",
|
||||
|
||||
"gui.worldhandler.title.player.player": "Player",
|
||||
"gui.worldhandler.title.player.experience": "Experience",
|
||||
@@ -223,6 +225,11 @@
|
||||
"gui.worldhandler.world_info.statistics.world_time": "World Time",
|
||||
"gui.worldhandler.world_info.statistics.played": "Played",
|
||||
|
||||
"gui.worldhandler.locate.biome": "Biome",
|
||||
"gui.worldhandler.locate.structure": "Structure",
|
||||
"gui.worldhandler.locate.poi": "Point Of Interest",
|
||||
"gui.worldhandler.locate.locate": "Locate",
|
||||
|
||||
"gui.worldhandler.edit_blocks.coordinates": "Coordinates",
|
||||
"gui.worldhandler.edit_blocks.fill": "Fill",
|
||||
"gui.worldhandler.edit_blocks.replace": "Replace",
|
||||
|
||||
@@ -69,6 +69,7 @@
|
||||
|
||||
"gui.worldhandler.tab.world.world": "Monde",
|
||||
"gui.worldhandler.tab.world.gamerules": "Règles de jeu",
|
||||
"gui.worldhandler.tab.world.locate": "Locate",
|
||||
|
||||
"gui.worldhandler.tab.blocks.edit_blocks": "Blocs",
|
||||
"gui.worldhandler.tab.blocks.sign_editor": "Pancarte",
|
||||
@@ -96,6 +97,7 @@
|
||||
|
||||
"gui.worldhandler.title.world.world": "Monde",
|
||||
"gui.worldhandler.title.world.gamerules": "Règles de jeu",
|
||||
"gui.worldhandler.title.world.locate": "Locate",
|
||||
|
||||
"gui.worldhandler.title.player.player": "Joueur",
|
||||
"gui.worldhandler.title.player.experience": "Expérience ",
|
||||
@@ -224,6 +226,11 @@
|
||||
"gui.worldhandler.world_info.statistics.world_time": "Heure monde ",
|
||||
"gui.worldhandler.world_info.statistics.played": "Ouvert ",
|
||||
|
||||
"gui.worldhandler.locate.biome": "Biome",
|
||||
"gui.worldhandler.locate.structure": "Structure",
|
||||
"gui.worldhandler.locate.poi": "Point Of Interest",
|
||||
"gui.worldhandler.locate.locate": "Locate",
|
||||
|
||||
"gui.worldhandler.edit_blocks.coordinates": "Coordonnées",
|
||||
"gui.worldhandler.edit_blocks.fill": "Remplir",
|
||||
"gui.worldhandler.edit_blocks.replace": "Remplacer",
|
||||
|
||||
@@ -69,6 +69,7 @@
|
||||
|
||||
"gui.worldhandler.tab.world.world": "Мир",
|
||||
"gui.worldhandler.tab.world.gamerules": "Правила игры",
|
||||
"gui.worldhandler.tab.world.locate": "Locate",
|
||||
|
||||
"gui.worldhandler.tab.blocks.edit_blocks": "Редактировать блоки",
|
||||
"gui.worldhandler.tab.blocks.sign_editor": "Редактор знака",
|
||||
@@ -96,6 +97,7 @@
|
||||
|
||||
"gui.worldhandler.title.world.world": "Мир",
|
||||
"gui.worldhandler.title.world.gamerules": "Правила игры",
|
||||
"gui.worldhandler.title.world.locate": "Locate",
|
||||
|
||||
"gui.worldhandler.title.player.player": "Игрок",
|
||||
"gui.worldhandler.title.player.experience": "Опыт",
|
||||
@@ -223,6 +225,11 @@
|
||||
"gui.worldhandler.world_info.statistics.world_time": "Время мира",
|
||||
"gui.worldhandler.world_info.statistics.played": "Сыгранно",
|
||||
|
||||
"gui.worldhandler.locate.biome": "Biome",
|
||||
"gui.worldhandler.locate.structure": "Structure",
|
||||
"gui.worldhandler.locate.poi": "Point Of Interest",
|
||||
"gui.worldhandler.locate.locate": "Locate",
|
||||
|
||||
"gui.worldhandler.edit_blocks.coordinates": "Координаты",
|
||||
"gui.worldhandler.edit_blocks.fill": "Заполнить",
|
||||
"gui.worldhandler.edit_blocks.replace": "Заменить",
|
||||
|
||||
@@ -70,6 +70,7 @@
|
||||
|
||||
"gui.worldhandler.tab.world.world": "世界",
|
||||
"gui.worldhandler.tab.world.gamerules": "游戏规则",
|
||||
"gui.worldhandler.tab.world.locate": "Locate",
|
||||
|
||||
"gui.worldhandler.tab.blocks.edit_blocks": "编辑方块",
|
||||
"gui.worldhandler.tab.blocks.sign_editor": "告示牌编辑器",
|
||||
@@ -97,6 +98,7 @@
|
||||
|
||||
"gui.worldhandler.title.world.world": "世界",
|
||||
"gui.worldhandler.title.world.gamerules": "游戏规则",
|
||||
"gui.worldhandler.title.world.locate": "Locate",
|
||||
|
||||
"gui.worldhandler.title.player.player": "玩家",
|
||||
"gui.worldhandler.title.player.experience": "经验等级",
|
||||
@@ -224,6 +226,11 @@
|
||||
"gui.worldhandler.world_info.statistics.world_time": "世界时间",
|
||||
"gui.worldhandler.world_info.statistics.played": "已游玩",
|
||||
|
||||
"gui.worldhandler.locate.biome": "Biome",
|
||||
"gui.worldhandler.locate.structure": "Structure",
|
||||
"gui.worldhandler.locate.poi": "Point Of Interest",
|
||||
"gui.worldhandler.locate.locate": "Locate",
|
||||
|
||||
"gui.worldhandler.edit_blocks.coordinates": "坐标",
|
||||
"gui.worldhandler.edit_blocks.fill": "填充",
|
||||
"gui.worldhandler.edit_blocks.replace": "替换",
|
||||
|
||||
Reference in New Issue
Block a user