mirror of
https://github.com/Creators-of-Create/Create.git
synced 2024-12-15 23:53:41 +01:00
Merging langs
- Set up a data generator to combine the generated lang from registrate with manual langs from assets/
This commit is contained in:
parent
78ad674c22
commit
61aab48cdb
16 changed files with 2105 additions and 1108 deletions
|
@ -324,7 +324,7 @@ c60c3115fd6eeaa3a696428a87a74d184ab7d62d assets\create\blockstates\weathered_lim
|
||||||
7f39521b211441f5c3e06d60c5978cebe16cacfb assets\create\blockstates\zinc_block.json
|
7f39521b211441f5c3e06d60c5978cebe16cacfb assets\create\blockstates\zinc_block.json
|
||||||
b7181bcd8182b2f17088e5aa881f374c9c65470c assets\create\blockstates\zinc_ore.json
|
b7181bcd8182b2f17088e5aa881f374c9c65470c assets\create\blockstates\zinc_ore.json
|
||||||
efa942851f247891194d2c6ecdd8724a23b05aa0 assets\create\lang\en_ud.json
|
efa942851f247891194d2c6ecdd8724a23b05aa0 assets\create\lang\en_ud.json
|
||||||
f2331719165149b6b3c90ca97f230a0138d20612 assets\create\lang\en_us.json
|
fe4c49a84016a3861a86e116df2c7603d6d4b91f assets\create\lang\en_us.json
|
||||||
846200eb548d3bfa2e77b41039de159b4b6cfb45 assets\create\models\block\acacia_window.json
|
846200eb548d3bfa2e77b41039de159b4b6cfb45 assets\create\models\block\acacia_window.json
|
||||||
1930fa3a3c98d53dd19e4ee7f55bc27fd47aa281 assets\create\models\block\acacia_window_pane_noside.json
|
1930fa3a3c98d53dd19e4ee7f55bc27fd47aa281 assets\create\models\block\acacia_window_pane_noside.json
|
||||||
1763ea2c9b981d187f5031ba608f3d5d3be3986a assets\create\models\block\acacia_window_pane_noside_alt.json
|
1763ea2c9b981d187f5031ba608f3d5d3be3986a assets\create\models\block\acacia_window_pane_noside_alt.json
|
||||||
|
@ -1419,7 +1419,7 @@ cb315814960850b5080598b89ee94c833b5048f7 data\create\loot_tables\blocks\limeston
|
||||||
8db1e3f0dac48b91a4839206a7d5a88cef415fdc data\create\loot_tables\blocks\limestone_cobblestone_stairs.json
|
8db1e3f0dac48b91a4839206a7d5a88cef415fdc data\create\loot_tables\blocks\limestone_cobblestone_stairs.json
|
||||||
92fb16606f289ad33860270d098fad2522b24e09 data\create\loot_tables\blocks\limestone_cobblestone_wall.json
|
92fb16606f289ad33860270d098fad2522b24e09 data\create\loot_tables\blocks\limestone_cobblestone_wall.json
|
||||||
371115e5ceb08c07a9ab2371509960c31e0baa8a data\create\loot_tables\blocks\limestone_pillar.json
|
371115e5ceb08c07a9ab2371509960c31e0baa8a data\create\loot_tables\blocks\limestone_pillar.json
|
||||||
dac789cf53b00eed34308848b5e267b7ccec090c data\create\loot_tables\blocks\linked_extractor.json
|
205f5899101262f31f5c1a88bb7d954918d08d04 data\create\loot_tables\blocks\linked_extractor.json
|
||||||
205f5899101262f31f5c1a88bb7d954918d08d04 data\create\loot_tables\blocks\linked_transposer.json
|
205f5899101262f31f5c1a88bb7d954918d08d04 data\create\loot_tables\blocks\linked_transposer.json
|
||||||
90ddf7b5c3b61758a4ad12a1e6ef16fe6ebf7794 data\create\loot_tables\blocks\mechanical_bearing.json
|
90ddf7b5c3b61758a4ad12a1e6ef16fe6ebf7794 data\create\loot_tables\blocks\mechanical_bearing.json
|
||||||
e93872a90e4f4642a003539e7db28fdacfdcd114 data\create\loot_tables\blocks\mechanical_crafter.json
|
e93872a90e4f4642a003539e7db28fdacfdcd114 data\create\loot_tables\blocks\mechanical_crafter.json
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -6,7 +6,7 @@
|
||||||
"entries": [
|
"entries": [
|
||||||
{
|
{
|
||||||
"type": "minecraft:item",
|
"type": "minecraft:item",
|
||||||
"name": "create:linked_extractor"
|
"name": "minecraft:air"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"conditions": [
|
"conditions": [
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package com.simibubi.create;
|
package com.simibubi.create;
|
||||||
|
|
||||||
|
import com.simibubi.create.foundation.command.CreateCommand;
|
||||||
|
|
||||||
import net.minecraft.world.IWorld;
|
import net.minecraft.world.IWorld;
|
||||||
import net.minecraftforge.api.distmarker.Dist;
|
import net.minecraftforge.api.distmarker.Dist;
|
||||||
import net.minecraftforge.event.TickEvent.Phase;
|
import net.minecraftforge.event.TickEvent.Phase;
|
||||||
|
@ -8,6 +10,7 @@ import net.minecraftforge.event.world.WorldEvent;
|
||||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
import net.minecraftforge.fml.DistExecutor;
|
import net.minecraftforge.fml.DistExecutor;
|
||||||
import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
|
import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
|
||||||
|
import net.minecraftforge.fml.event.server.FMLServerStartingEvent;
|
||||||
import net.minecraftforge.fml.event.server.FMLServerStoppingEvent;
|
import net.minecraftforge.fml.event.server.FMLServerStoppingEvent;
|
||||||
|
|
||||||
@EventBusSubscriber
|
@EventBusSubscriber
|
||||||
|
@ -26,6 +29,11 @@ public class CommonEvents {
|
||||||
Create.shutdown();
|
Create.shutdown();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SubscribeEvent
|
||||||
|
public static void serverStarting(FMLServerStartingEvent event) {
|
||||||
|
new CreateCommand(event.getCommandDispatcher());
|
||||||
|
}
|
||||||
|
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public static void onLoadWorld(WorldEvent.Load event) {
|
public static void onLoadWorld(WorldEvent.Load event) {
|
||||||
IWorld world = event.getWorld();
|
IWorld world = event.getWorld();
|
||||||
|
|
|
@ -9,15 +9,18 @@ import com.simibubi.create.content.logistics.RedstoneLinkNetworkHandler;
|
||||||
import com.simibubi.create.content.palettes.AllPaletteBlocks;
|
import com.simibubi.create.content.palettes.AllPaletteBlocks;
|
||||||
import com.simibubi.create.content.palettes.PalettesItemGroup;
|
import com.simibubi.create.content.palettes.PalettesItemGroup;
|
||||||
import com.simibubi.create.content.schematics.ServerSchematicLoader;
|
import com.simibubi.create.content.schematics.ServerSchematicLoader;
|
||||||
|
import com.simibubi.create.foundation.advancement.AllAdvancements;
|
||||||
import com.simibubi.create.foundation.advancement.AllTriggers;
|
import com.simibubi.create.foundation.advancement.AllTriggers;
|
||||||
import com.simibubi.create.foundation.command.CreateCommand;
|
|
||||||
import com.simibubi.create.foundation.command.ServerLagger;
|
import com.simibubi.create.foundation.command.ServerLagger;
|
||||||
import com.simibubi.create.foundation.config.AllConfigs;
|
import com.simibubi.create.foundation.config.AllConfigs;
|
||||||
|
import com.simibubi.create.foundation.data.AllItemsTagProvider;
|
||||||
import com.simibubi.create.foundation.data.CreateRegistrate;
|
import com.simibubi.create.foundation.data.CreateRegistrate;
|
||||||
|
import com.simibubi.create.foundation.data.LangMerger;
|
||||||
import com.simibubi.create.foundation.networking.AllPackets;
|
import com.simibubi.create.foundation.networking.AllPackets;
|
||||||
import com.simibubi.create.foundation.worldgen.AllWorldFeatures;
|
import com.simibubi.create.foundation.worldgen.AllWorldFeatures;
|
||||||
import com.tterrag.registrate.util.NonNullLazyValue;
|
import com.tterrag.registrate.util.NonNullLazyValue;
|
||||||
|
|
||||||
|
import net.minecraft.data.DataGenerator;
|
||||||
import net.minecraft.entity.EntityType;
|
import net.minecraft.entity.EntityType;
|
||||||
import net.minecraft.inventory.container.ContainerType;
|
import net.minecraft.inventory.container.ContainerType;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
|
@ -27,11 +30,11 @@ import net.minecraft.particles.ParticleType;
|
||||||
import net.minecraft.tileentity.TileEntityType;
|
import net.minecraft.tileentity.TileEntityType;
|
||||||
import net.minecraft.util.ResourceLocation;
|
import net.minecraft.util.ResourceLocation;
|
||||||
import net.minecraft.util.SoundEvent;
|
import net.minecraft.util.SoundEvent;
|
||||||
import net.minecraftforge.common.MinecraftForge;
|
import net.minecraftforge.eventbus.api.EventPriority;
|
||||||
import net.minecraftforge.eventbus.api.IEventBus;
|
import net.minecraftforge.eventbus.api.IEventBus;
|
||||||
import net.minecraftforge.fml.common.Mod;
|
import net.minecraftforge.fml.common.Mod;
|
||||||
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
|
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
|
||||||
import net.minecraftforge.fml.event.server.FMLServerStartingEvent;
|
import net.minecraftforge.fml.event.lifecycle.GatherDataEvent;
|
||||||
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
|
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
|
||||||
|
|
||||||
@Mod(Create.ID)
|
@Mod(Create.ID)
|
||||||
|
@ -53,11 +56,10 @@ public class Create {
|
||||||
private static final NonNullLazyValue<CreateRegistrate> registrate = CreateRegistrate.lazy(ID);
|
private static final NonNullLazyValue<CreateRegistrate> registrate = CreateRegistrate.lazy(ID);
|
||||||
|
|
||||||
public Create() {
|
public Create() {
|
||||||
IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus();
|
IEventBus modEventBus = FMLJavaModLoadingContext.get()
|
||||||
|
.getModEventBus();
|
||||||
modEventBus.addListener(Create::init);
|
modEventBus.addListener(Create::init);
|
||||||
|
|
||||||
MinecraftForge.EVENT_BUS.addListener(Create::serverStarting);
|
|
||||||
|
|
||||||
AllBlocks.register();
|
AllBlocks.register();
|
||||||
AllPaletteBlocks.register();
|
AllPaletteBlocks.register();
|
||||||
|
|
||||||
|
@ -71,6 +73,9 @@ public class Create {
|
||||||
modEventBus.addListener(AllConfigs::onLoad);
|
modEventBus.addListener(AllConfigs::onLoad);
|
||||||
modEventBus.addListener(AllConfigs::onReload);
|
modEventBus.addListener(AllConfigs::onReload);
|
||||||
|
|
||||||
|
// Ensure registrate runs first
|
||||||
|
modEventBus.addListener(EventPriority.LOWEST, this::gatherData);
|
||||||
|
|
||||||
CreateClient.addListeners(modEventBus);
|
CreateClient.addListeners(modEventBus);
|
||||||
AllConfigs.registerClientCommon();
|
AllConfigs.registerClientCommon();
|
||||||
}
|
}
|
||||||
|
@ -88,10 +93,6 @@ public class Create {
|
||||||
AllConfigs.registerServer();
|
AllConfigs.registerServer();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void serverStarting(FMLServerStartingEvent event) {
|
|
||||||
new CreateCommand(event.getCommandDispatcher());
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void tick() {
|
public static void tick() {
|
||||||
if (schematicReceiver == null)
|
if (schematicReceiver == null)
|
||||||
schematicReceiver = new ServerSchematicLoader();
|
schematicReceiver = new ServerSchematicLoader();
|
||||||
|
@ -112,4 +113,11 @@ public class Create {
|
||||||
return new ResourceLocation(ID, path);
|
return new ResourceLocation(ID, path);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void gatherData(GatherDataEvent event) {
|
||||||
|
DataGenerator gen = event.getGenerator();
|
||||||
|
gen.addProvider(new AllItemsTagProvider(gen));
|
||||||
|
gen.addProvider(new AllAdvancements(gen));
|
||||||
|
gen.addProvider(new LangMerger(gen));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,7 +16,7 @@ public class AllItemsTagProvider extends ItemTagsProvider {
|
||||||
|
|
||||||
static Map<ResourceLocation, ItemTags.Wrapper> createdTags;
|
static Map<ResourceLocation, ItemTags.Wrapper> createdTags;
|
||||||
|
|
||||||
protected AllItemsTagProvider(DataGenerator generatorIn) {
|
public AllItemsTagProvider(DataGenerator generatorIn) {
|
||||||
super(generatorIn);
|
super(generatorIn);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
package com.simibubi.create.foundation.data;
|
||||||
|
|
||||||
|
public enum AllLangPartials {
|
||||||
|
|
||||||
|
TEMPORARY("We aren't in Registrate yet"),
|
||||||
|
ADVANCEMENTS("Advancements"),
|
||||||
|
MESSAGES("UI & Messages"),
|
||||||
|
TOOLTIPS("Item Descriptions"),
|
||||||
|
|
||||||
|
;
|
||||||
|
|
||||||
|
private String display;
|
||||||
|
|
||||||
|
private AllLangPartials(String display) {
|
||||||
|
this.display = display;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDisplay() {
|
||||||
|
return display;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -30,15 +30,15 @@ import net.minecraftforge.registries.IForgeRegistryEntry;
|
||||||
|
|
||||||
public class CreateRegistrate extends AbstractRegistrate<CreateRegistrate> {
|
public class CreateRegistrate extends AbstractRegistrate<CreateRegistrate> {
|
||||||
|
|
||||||
|
protected CreateRegistrate(String modid) {
|
||||||
|
super(modid);
|
||||||
|
}
|
||||||
|
|
||||||
public static NonNullLazyValue<CreateRegistrate> lazy(String modid) {
|
public static NonNullLazyValue<CreateRegistrate> lazy(String modid) {
|
||||||
return new NonNullLazyValue<>(() -> new CreateRegistrate(modid)
|
return new NonNullLazyValue<>(() -> new CreateRegistrate(modid)
|
||||||
.registerEventListeners(FMLJavaModLoadingContext.get().getModEventBus()));
|
.registerEventListeners(FMLJavaModLoadingContext.get().getModEventBus()));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected CreateRegistrate(String modid) {
|
|
||||||
super(modid);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Section Tracking */
|
/* Section Tracking */
|
||||||
|
|
||||||
private static Map<RegistryEntry<?>, AllSections> sectionLookup = new IdentityHashMap<>();
|
private static Map<RegistryEntry<?>, AllSections> sectionLookup = new IdentityHashMap<>();
|
||||||
|
|
|
@ -1,20 +0,0 @@
|
||||||
package com.simibubi.create.foundation.data;
|
|
||||||
|
|
||||||
import com.simibubi.create.foundation.advancement.AllAdvancements;
|
|
||||||
|
|
||||||
import net.minecraft.data.DataGenerator;
|
|
||||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
|
||||||
import net.minecraftforge.fml.common.Mod;
|
|
||||||
import net.minecraftforge.fml.event.lifecycle.GatherDataEvent;
|
|
||||||
|
|
||||||
@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD)
|
|
||||||
public class Generator {
|
|
||||||
|
|
||||||
@SubscribeEvent
|
|
||||||
public static void gatherData(GatherDataEvent event){
|
|
||||||
DataGenerator gen = event.getGenerator();
|
|
||||||
gen.addProvider(new AllItemsTagProvider(gen));
|
|
||||||
gen.addProvider(new AllAdvancements(gen));
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -0,0 +1,172 @@
|
||||||
|
package com.simibubi.create.foundation.data;
|
||||||
|
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.BufferedWriter;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.nio.file.Files;
|
||||||
|
import java.nio.file.Path;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
import org.apache.commons.lang3.mutable.MutableObject;
|
||||||
|
import org.apache.commons.lang3.text.translate.JavaUnicodeEscaper;
|
||||||
|
|
||||||
|
import com.google.gson.Gson;
|
||||||
|
import com.google.gson.GsonBuilder;
|
||||||
|
import com.google.gson.JsonElement;
|
||||||
|
import com.google.gson.JsonObject;
|
||||||
|
import com.simibubi.create.Create;
|
||||||
|
import com.simibubi.create.foundation.utility.FilesHelper;
|
||||||
|
import com.simibubi.create.foundation.utility.Lang;
|
||||||
|
|
||||||
|
import net.minecraft.data.DataGenerator;
|
||||||
|
import net.minecraft.data.DirectoryCache;
|
||||||
|
import net.minecraft.data.IDataProvider;
|
||||||
|
import net.minecraft.util.JSONUtils;
|
||||||
|
|
||||||
|
@SuppressWarnings("deprecation")
|
||||||
|
public class LangMerger implements IDataProvider {
|
||||||
|
|
||||||
|
private static final Gson GSON = (new GsonBuilder()).setPrettyPrinting()
|
||||||
|
.disableHtmlEscaping()
|
||||||
|
.create();
|
||||||
|
static final String CATEGORY_HEADER = "\t\"_\": \"->------------------------] %s [------------------------<-\",";
|
||||||
|
|
||||||
|
private DataGenerator gen;
|
||||||
|
private List<Object> data;
|
||||||
|
|
||||||
|
public LangMerger(DataGenerator gen) {
|
||||||
|
this.gen = gen;
|
||||||
|
this.data = new ArrayList<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getName() {
|
||||||
|
return "Lang merger";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void act(DirectoryCache cache) throws IOException {
|
||||||
|
Path path = this.gen.getOutputFolder()
|
||||||
|
.resolve("assets/" + Create.ID + "/lang/" + "en_us.json");
|
||||||
|
collectExistingEntries(path);
|
||||||
|
collectEntries();
|
||||||
|
if (data.isEmpty())
|
||||||
|
return;
|
||||||
|
save(cache, path);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void collectExistingEntries(Path path) throws IOException {
|
||||||
|
if (!Files.exists(path)) {
|
||||||
|
Create.logger.warn("Nothing to merge! It appears no lang was generated before me.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
try (BufferedReader reader = Files.newBufferedReader(path)) {
|
||||||
|
JsonObject jsonobject = JSONUtils.fromJson(GSON, reader, JsonObject.class);
|
||||||
|
addAll("Game Elements", jsonobject);
|
||||||
|
reader.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void addAll(String header, JsonObject jsonobject) {
|
||||||
|
if (jsonobject == null)
|
||||||
|
return;
|
||||||
|
header = String.format(CATEGORY_HEADER, header);
|
||||||
|
|
||||||
|
data.add("\n");
|
||||||
|
data.add(header);
|
||||||
|
data.add("\n\n");
|
||||||
|
|
||||||
|
MutableObject<String> previousKey = new MutableObject<>("");
|
||||||
|
jsonobject.entrySet()
|
||||||
|
.stream()
|
||||||
|
.forEachOrdered(entry -> {
|
||||||
|
String key = entry.getKey();
|
||||||
|
String value = entry.getValue()
|
||||||
|
.getAsString();
|
||||||
|
if (!previousKey.getValue()
|
||||||
|
.isEmpty() && shouldAddLineBreak(key, previousKey.getValue()))
|
||||||
|
data.add("\n");
|
||||||
|
data.add(new LangEntry(key, value));
|
||||||
|
previousKey.setValue(key);
|
||||||
|
});
|
||||||
|
|
||||||
|
data.add("\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
protected boolean shouldAddLineBreak(String key, String previousKey) {
|
||||||
|
// Always put tooltips in their own paragraphs
|
||||||
|
if (key.endsWith(".tooltip"))
|
||||||
|
return true;
|
||||||
|
|
||||||
|
key = new String(key).replaceFirst("\\.", "");
|
||||||
|
previousKey = new String(previousKey).replaceFirst("\\.", "");
|
||||||
|
|
||||||
|
String[] split = key.split("\\.");
|
||||||
|
String[] split2 = previousKey.split("\\.");
|
||||||
|
if (split.length == 0 || split2.length == 0)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
// Start new paragraph if keys before second point do not match
|
||||||
|
return !split[0].equals(split2[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void collectEntries() {
|
||||||
|
for (AllLangPartials partial : AllLangPartials.values()) {
|
||||||
|
String fileName = Lang.asId(partial.name());
|
||||||
|
String filepath = "assets/" + Create.ID + "/lang/default/" + fileName + ".json";
|
||||||
|
JsonElement element = FilesHelper.loadJsonResource(filepath);
|
||||||
|
if (element == null)
|
||||||
|
throw new IllegalStateException(String.format("Could not find default lang file: %s", filepath));
|
||||||
|
addAll(partial.getDisplay(), element.getAsJsonObject());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void save(DirectoryCache cache, Path target) throws IOException {
|
||||||
|
String data = createString();
|
||||||
|
data = JavaUnicodeEscaper.outsideOf(0, 0x7f)
|
||||||
|
.translate(data);
|
||||||
|
String hash = IDataProvider.HASH_FUNCTION.hashUnencodedChars(data)
|
||||||
|
.toString();
|
||||||
|
if (!Objects.equals(cache.getPreviousHash(target), hash) || !Files.exists(target)) {
|
||||||
|
Files.createDirectories(target.getParent());
|
||||||
|
|
||||||
|
try (BufferedWriter bufferedwriter = Files.newBufferedWriter(target)) {
|
||||||
|
bufferedwriter.write(data);
|
||||||
|
bufferedwriter.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
cache.recordHash(target, hash);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected String createString() {
|
||||||
|
StringBuilder builder = new StringBuilder();
|
||||||
|
builder.append("{\n");
|
||||||
|
data.forEach(builder::append);
|
||||||
|
builder.append("\t\"_\": \"Thank you for translating Create!\"\n\n");
|
||||||
|
builder.append("}");
|
||||||
|
return builder.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
private class LangEntry {
|
||||||
|
static final String ENTRY_FORMAT = "\t\"%s\": \"%s\",\n";
|
||||||
|
|
||||||
|
private String key;
|
||||||
|
private String value;
|
||||||
|
|
||||||
|
LangEntry(String key, String value) {
|
||||||
|
this.key = key;
|
||||||
|
this.value = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return String.format(ENTRY_FORMAT, key, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -14,18 +14,17 @@ import com.google.gson.JsonParser;
|
||||||
import com.google.gson.internal.Streams;
|
import com.google.gson.internal.Streams;
|
||||||
import com.google.gson.stream.JsonReader;
|
import com.google.gson.stream.JsonReader;
|
||||||
import com.google.gson.stream.JsonWriter;
|
import com.google.gson.stream.JsonWriter;
|
||||||
import com.mojang.brigadier.exceptions.CommandSyntaxException;
|
|
||||||
import com.simibubi.create.Create;
|
import com.simibubi.create.Create;
|
||||||
|
|
||||||
import net.minecraft.nbt.CompoundNBT;
|
import net.minecraft.nbt.CompoundNBT;
|
||||||
import net.minecraft.nbt.JsonToNBT;
|
|
||||||
|
|
||||||
public class FilesHelper {
|
public class FilesHelper {
|
||||||
|
|
||||||
public static void createFolderIfMissing(String name) {
|
public static void createFolderIfMissing(String name) {
|
||||||
Path path = Paths.get(name);
|
Path path = Paths.get(name);
|
||||||
if (path.getParent() != null)
|
if (path.getParent() != null)
|
||||||
createFolderIfMissing(path.getParent().toString());
|
createFolderIfMissing(path.getParent()
|
||||||
|
.toString());
|
||||||
|
|
||||||
if (!Files.isDirectory(path)) {
|
if (!Files.isDirectory(path)) {
|
||||||
try {
|
try {
|
||||||
|
@ -49,7 +48,10 @@ public class FilesHelper {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String slug(String name) {
|
public static String slug(String name) {
|
||||||
return Lang.asId(name).replace(' ', '_').replace('!', '_').replace('?', '_');
|
return Lang.asId(name)
|
||||||
|
.replace(' ', '_')
|
||||||
|
.replace('!', '_')
|
||||||
|
.replace('?', '_');
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean saveTagCompoundAsJson(CompoundNBT compound, String path) {
|
public static boolean saveTagCompoundAsJson(CompoundNBT compound, String path) {
|
||||||
|
@ -80,29 +82,28 @@ public class FilesHelper {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static CompoundNBT loadJsonNBT(InputStream inputStream) {
|
private static JsonElement loadJson(InputStream inputStream) {
|
||||||
try {
|
try {
|
||||||
JsonReader reader = new JsonReader(new BufferedReader(new InputStreamReader(inputStream)));
|
JsonReader reader = new JsonReader(new BufferedReader(new InputStreamReader(inputStream)));
|
||||||
reader.setLenient(true);
|
reader.setLenient(true);
|
||||||
JsonElement element = Streams.parse(reader);
|
JsonElement element = Streams.parse(reader);
|
||||||
reader.close();
|
reader.close();
|
||||||
inputStream.close();
|
inputStream.close();
|
||||||
return JsonToNBT.getTagFromJson(element.toString());
|
return element;
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
} catch (CommandSyntaxException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static CompoundNBT loadJsonResourceAsNBT(String filepath) {
|
public static JsonElement loadJsonResource(String filepath) {
|
||||||
return loadJsonNBT(Create.class.getClassLoader().getResourceAsStream(filepath));
|
return loadJson(Create.class.getClassLoader()
|
||||||
|
.getResourceAsStream(filepath));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static CompoundNBT loadJsonAsNBT(String filepath) {
|
public static JsonElement loadJson(String filepath) {
|
||||||
try {
|
try {
|
||||||
return loadJsonNBT(Files.newInputStream(Paths.get(filepath), StandardOpenOption.READ));
|
return loadJson(Files.newInputStream(Paths.get(filepath), StandardOpenOption.READ));
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
Hi there!
|
||||||
|
Looking to contribute with a localization? Wonderful.
|
||||||
|
You will find the english lang file here:
|
||||||
|
https://github.com/Creators-of-Create/Create/blob/mc1.15/dev/src/generated/resources/assets/create/lang/en_us.json
|
|
@ -0,0 +1,88 @@
|
||||||
|
{
|
||||||
|
|
||||||
|
"advancement.create.root": "Welcome to Create",
|
||||||
|
"advancement.create.root.desc": "It's time to start building some amazing Contraptions!",
|
||||||
|
"advancement.create.andesite_alloy": "Alliterations Aplenty",
|
||||||
|
"advancement.create.andesite_alloy.desc": "Create's materials have weird names, Andesite Alloy is one of them.",
|
||||||
|
|
||||||
|
"advancement.create.its_alive": "It's Alive!",
|
||||||
|
"advancement.create.its_alive.desc": "Watch your first kinetic component spin.",
|
||||||
|
"advancement.create.shifting_gears": "Shifting Gear",
|
||||||
|
"advancement.create.shifting_gears.desc": "Connect a large to a small cogwheel allowing you to change the speed of your contraption.",
|
||||||
|
"advancement.create.overstressed": "Overstressed",
|
||||||
|
"advancement.create.overstressed.desc": "Experience the limits of stress firsthand.",
|
||||||
|
"advancement.create.belt": "Convey it all",
|
||||||
|
"advancement.create.belt.desc": "Connect two shafts with a Mechanical Belt.",
|
||||||
|
"advancement.create.wrench": "Configure Conveniently",
|
||||||
|
"advancement.create.wrench.desc": "Create a Wrench to aid you in building your contraptions.",
|
||||||
|
"advancement.create.goggles": "Stress-o-vision",
|
||||||
|
"advancement.create.goggles.desc": "Create some goggles to aid you in getting more kinetic information for components.",
|
||||||
|
"advancement.create.speed_gauge": "But how fast exactly?",
|
||||||
|
"advancement.create.speed_gauge.desc": "Place and power a Speedometer. Look at it through your goggles to read its exact value.",
|
||||||
|
"advancement.create.stress_gauge": "But how stressed exactly?",
|
||||||
|
"advancement.create.stress_gauge.desc": "Place and power a Stressometer. Look at it through your goggles to read its exact value.",
|
||||||
|
|
||||||
|
"advancement.create.water_wheel": "Harnessing Hydraulics",
|
||||||
|
"advancement.create.water_wheel.desc": "Place a Water Wheel and try getting it to spin!",
|
||||||
|
"advancement.create.lava_wheel": "Magma Wheel",
|
||||||
|
"advancement.create.lava_wheel.desc": "This shouldn't have worked.",
|
||||||
|
"advancement.create.millstone": "Pocket Crusher",
|
||||||
|
"advancement.create.millstone.desc": "Place and power a Millstone",
|
||||||
|
"advancement.create.andesite_casing": "The Andesite Age",
|
||||||
|
"advancement.create.andesite_casing.desc": "Use some Andesite Alloy and Wood to create a basic Casing.",
|
||||||
|
"advancement.create.drill": "Stationary breakers",
|
||||||
|
"advancement.create.drill.desc": "Place and power a Mechanical Drill",
|
||||||
|
"advancement.create.press": "Press goes 'Bonk!'",
|
||||||
|
"advancement.create.press.desc": "Power a Mechanical Press and use it to create some Plates.",
|
||||||
|
"advancement.create.polished_rose_quartz": "Pink Diamonds",
|
||||||
|
"advancement.create.polished_rose_quartz.desc": "Use a piece of sand paper to polish Rose Quartz until it becomes transparent.",
|
||||||
|
"advancement.create.electron_tube": "Beep boop",
|
||||||
|
"advancement.create.electron_tube.desc": "Make some Electron Tubes, useful in crafting less primitive machinery.",
|
||||||
|
"advancement.create.saw": "Stationary Chopping",
|
||||||
|
"advancement.create.saw.desc": "Place and power a Mechanical Saw",
|
||||||
|
"advancement.create.basin": "Basin Operation",
|
||||||
|
"advancement.create.basin.desc": "Place a basin and try throwing items into it.",
|
||||||
|
"advancement.create.mixer": "Mixin' it Up",
|
||||||
|
"advancement.create.mixer.desc": "Place a Mechanical Mixer above the basin, power it, and start mixing some ingredients.",
|
||||||
|
"advancement.create.compact": "Automated Compacting",
|
||||||
|
"advancement.create.compact.desc": "Use a press and a basin to compact some items.",
|
||||||
|
|
||||||
|
"advancement.create.expert_lane_1": "The Andesite Expert Lane",
|
||||||
|
"advancement.create.expert_lane_1.desc": "Work in Progress",
|
||||||
|
|
||||||
|
"advancement.create.brass": "An Actual Alloy",
|
||||||
|
"advancement.create.brass.desc": "Use Crushed Copper and Crushed Zinc to create some Brass.",
|
||||||
|
"advancement.create.brass_casing": "The Brass Age",
|
||||||
|
"advancement.create.brass_casing.desc": "Use newly obtained Brass and some Wood to create a more advanced Casing.",
|
||||||
|
"advancement.create.copper_casing": "The Copper Age",
|
||||||
|
"advancement.create.copper_casing.desc": "Use some copper sheets to create Copper Casing.",
|
||||||
|
|
||||||
|
"advancement.create.crafter": "Automated Assembly",
|
||||||
|
"advancement.create.crafter.desc": "Place and power some Mechanical Crafters",
|
||||||
|
"advancement.create.deployer": "Poke, Place, and Attack",
|
||||||
|
"advancement.create.deployer.desc": "Place and power a Deployer, the perfect reflection of yourself.",
|
||||||
|
"advancement.create.fist_bump": "Pound It, Bro!",
|
||||||
|
"advancement.create.fist_bump.desc": "Make two Deployers fist-bump.",
|
||||||
|
"advancement.create.crushing_wheel": "A Pair of Giants",
|
||||||
|
"advancement.create.crushing_wheel.desc": "Create some Crushing Wheels to break down more materials more effectively.",
|
||||||
|
|
||||||
|
"advancement.create.chromatic_compound": "Bipolar Minerals",
|
||||||
|
"advancement.create.chromatic_compound.desc": "Create a Bar of Chromatic Compound.",
|
||||||
|
"advancement.create.shadow_steel": "Void Returner",
|
||||||
|
"advancement.create.shadow_steel.desc": "Create Shadow Steel, a metal bar of nothingness.",
|
||||||
|
"advancement.create.refined_radiance": "Bright and Inspiring",
|
||||||
|
"advancement.create.refined_radiance.desc": "Create Refined Radiance, a powerful chromatic substance.",
|
||||||
|
|
||||||
|
"advancement.create.zapper": "Building with style",
|
||||||
|
"advancement.create.zapper.desc": "Craft a Blockzapper. A radiant laser gun that helps you build.",
|
||||||
|
"advancement.create.upgraded_zapper": "Radiant Overdrive",
|
||||||
|
"advancement.create.upgraded_zapper.desc": "Create and activate a fully upgraded Blockzapper.",
|
||||||
|
"advancement.create.symmetry_wand": "Radiant Mirrors",
|
||||||
|
"advancement.create.symmetry_wand.desc": "Craft a Staff of Symmetry.",
|
||||||
|
"advancement.create.deforester": "Radiant Chopping",
|
||||||
|
"advancement.create.deforester.desc": "Craft a Deforester, and say goodbye to the local forest.",
|
||||||
|
|
||||||
|
"advancement.create.eob": "End of Beta",
|
||||||
|
"advancement.create.eob.desc": "Expect more content here in the future. <3"
|
||||||
|
|
||||||
|
}
|
363
src/main/resources/assets/create/lang/default/messages.json
Normal file
363
src/main/resources/assets/create/lang/default/messages.json
Normal file
|
@ -0,0 +1,363 @@
|
||||||
|
{
|
||||||
|
|
||||||
|
"itemGroup.create.base": "Create",
|
||||||
|
"itemGroup.create.palettes": "Create Palettes",
|
||||||
|
|
||||||
|
"death.attack.create.crush": "%1$s was processed by Crushing Wheels",
|
||||||
|
"death.attack.create.fan_fire": "%1$s was burned to death by hot air",
|
||||||
|
"death.attack.create.fan_lava": "%1$s was burned to death by lava fan",
|
||||||
|
"death.attack.create.drill": "%1$s was impaled by Mechanical Drill",
|
||||||
|
"death.attack.create.saw": "%1$s got cut in half by Mechanical Saw",
|
||||||
|
"death.attack.create.cuckoo_clock_explosion": "%1$s was blown up by tampered cuckoo clock",
|
||||||
|
"create.block.deployer.damage_source_name": "a rogue Deployer",
|
||||||
|
|
||||||
|
"create.recipe.crushing": "Crushing",
|
||||||
|
"create.recipe.milling": "Milling",
|
||||||
|
"create.recipe.splashing": "Bulk Washing",
|
||||||
|
"create.recipe.splashing.fan": "Fan behind Flowing Water",
|
||||||
|
"create.recipe.smoking_via_fan": "Bulk Smoking",
|
||||||
|
"create.recipe.smoking_via_fan.fan": "Fan behind Fire",
|
||||||
|
"create.recipe.blasting_via_fan": "Bulk Smelting",
|
||||||
|
"create.recipe.blasting_via_fan.fan": "Fan behind Lava",
|
||||||
|
"create.recipe.pressing": "Pressing",
|
||||||
|
"create.recipe.mixing": "Mixing",
|
||||||
|
"create.recipe.packing": "Compacting",
|
||||||
|
"create.recipe.sawing": "Sawing",
|
||||||
|
"create.recipe.mechanical_crafting": "Mechanical Crafting",
|
||||||
|
"create.recipe.block_cutting": "Block Cutting",
|
||||||
|
"create.recipe.blockzapper_upgrade": "Handheld Blockzapper",
|
||||||
|
"create.recipe.sandpaper_polishing": "Sandpaper Polishing",
|
||||||
|
"create.recipe.mystery_conversion": "Chromatic Metamorphosis",
|
||||||
|
"create.recipe.processing.catalyst": "Catalyst",
|
||||||
|
"create.recipe.processing.chance": "%1$s%% Chance",
|
||||||
|
"create.recipe.processing.chanceToReturn": "%1$s%% Chance to Return",
|
||||||
|
|
||||||
|
"create.generic.range": "Range",
|
||||||
|
"create.generic.radius": "Radius",
|
||||||
|
"create.generic.width": "Width",
|
||||||
|
"create.generic.height": "Height",
|
||||||
|
"create.generic.length": "Length",
|
||||||
|
"create.generic.speed": "Speed",
|
||||||
|
"create.generic.delay": "Delay",
|
||||||
|
"create.generic.unit.ticks": "Ticks",
|
||||||
|
"create.generic.unit.seconds": "Seconds",
|
||||||
|
"create.generic.unit.minutes": "Minutes",
|
||||||
|
"create.generic.unit.rpm": "RPM",
|
||||||
|
"create.generic.unit.stress": "su",
|
||||||
|
"create.generic.unit.degrees": "°",
|
||||||
|
|
||||||
|
"create.action.scroll": "Scroll",
|
||||||
|
"create.action.confirm": "Confirm",
|
||||||
|
"create.action.abort": "Abort",
|
||||||
|
"create.action.saveToFile": "Save",
|
||||||
|
"create.action.discard": "Discard",
|
||||||
|
|
||||||
|
"create.keyinfo.toolmenu": "Focus Tool Menu",
|
||||||
|
"create.keyinfo.scrollup": "Simulate Mousewheel Up (inworld)",
|
||||||
|
"create.keyinfo.scrolldown": "Simulate Mousewheel Down (inworld)",
|
||||||
|
|
||||||
|
"create.gui.scrollInput.defaultTitle": "Choose an Option:",
|
||||||
|
"create.gui.scrollInput.scrollToModify": "Scroll to Modify",
|
||||||
|
"create.gui.scrollInput.scrollToAdjustAmount": "Scroll to Adjust Amount",
|
||||||
|
"create.gui.scrollInput.scrollToSelect": "Scroll to Select",
|
||||||
|
"create.gui.scrollInput.shiftScrollsFaster": "Shift to Scroll Faster",
|
||||||
|
|
||||||
|
"create.gui.toolmenu.focusKey": "Hold [%1$s] to Focus",
|
||||||
|
"create.gui.toolmenu.cycle": "[SCROLL] to Cycle",
|
||||||
|
|
||||||
|
"create.gui.symmetryWand.mirrorType": "Mirror",
|
||||||
|
"create.gui.symmetryWand.orientation": "Orientation",
|
||||||
|
"create.symmetry.mirror.plane": "Mirror Once",
|
||||||
|
"create.symmetry.mirror.doublePlane": "Rectangular",
|
||||||
|
"create.symmetry.mirror.triplePlane": "Octagonal",
|
||||||
|
"create.orientation.orthogonal": "Orthogonal",
|
||||||
|
"create.orientation.diagonal": "Diagonal",
|
||||||
|
"create.orientation.horizontal": "Horizontal",
|
||||||
|
"create.orientation.alongZ": "Along Z",
|
||||||
|
"create.orientation.alongX": "Along X",
|
||||||
|
|
||||||
|
"create.gui.blockzapper.title": "Handheld Blockzapper",
|
||||||
|
"create.gui.blockzapper.replaceMode": "Replace Mode",
|
||||||
|
"create.gui.blockzapper.searchDiagonal": "Follow Diagonals",
|
||||||
|
"create.gui.blockzapper.searchFuzzy": "Ignore Material Borders",
|
||||||
|
"create.gui.blockzapper.range": "Spread Range",
|
||||||
|
"create.gui.blockzapper.needsUpgradedAmplifier": "Requires Upgraded Amplifier",
|
||||||
|
"create.gui.blockzapper.patternSection": "Pattern",
|
||||||
|
"create.gui.blockzapper.pattern.solid": "Solid",
|
||||||
|
"create.gui.blockzapper.pattern.checkered": "Checkerboard",
|
||||||
|
"create.gui.blockzapper.pattern.inversecheckered": "Inverted Checkerboard",
|
||||||
|
"create.gui.blockzapper.pattern.chance25": "25% Roll",
|
||||||
|
"create.gui.blockzapper.pattern.chance50": "50% Roll",
|
||||||
|
"create.gui.blockzapper.pattern.chance75": "75% Roll",
|
||||||
|
|
||||||
|
"create.gui.terrainzapper.title": "Handheld Worldshaper",
|
||||||
|
"create.gui.terrainzapper.placement": "Placement",
|
||||||
|
"create.gui.terrainzapper.placement.merged": "Merged",
|
||||||
|
"create.gui.terrainzapper.placement.attached": "Attached",
|
||||||
|
"create.gui.terrainzapper.placement.inserted": "Inserted",
|
||||||
|
"create.gui.terrainzapper.brush": "Brush",
|
||||||
|
"create.gui.terrainzapper.brush.cuboid": "Cuboid",
|
||||||
|
"create.gui.terrainzapper.brush.sphere": "Sphere",
|
||||||
|
"create.gui.terrainzapper.brush.cylinder": "Cylinder",
|
||||||
|
"create.gui.terrainzapper.tool": "Tool",
|
||||||
|
"create.gui.terrainzapper.tool.fill": "Fill",
|
||||||
|
"create.gui.terrainzapper.tool.place": "Place",
|
||||||
|
"create.gui.terrainzapper.tool.replace": "Replace",
|
||||||
|
"create.gui.terrainzapper.tool.clear": "Clear",
|
||||||
|
"create.gui.terrainzapper.tool.overlay": "Overlay",
|
||||||
|
"create.gui.terrainzapper.tool.flatten": "Flatten",
|
||||||
|
"create.terrainzapper.shiftRightClickToSet": "Shift-Right-Click to Select a Shape",
|
||||||
|
|
||||||
|
"create.blockzapper.usingBlock": "Using: %1$s",
|
||||||
|
"create.blockzapper.componentUpgrades": "Component Upgrades:",
|
||||||
|
"create.blockzapper.component.body": "Body",
|
||||||
|
"create.blockzapper.component.amplifier": "Amplifier",
|
||||||
|
"create.blockzapper.component.accelerator": "Accelerator",
|
||||||
|
"create.blockzapper.component.retriever": "Retriever",
|
||||||
|
"create.blockzapper.component.scope": "Scope",
|
||||||
|
"create.blockzapper.componentTier.none": "None",
|
||||||
|
"create.blockzapper.componentTier.brass": "Brass",
|
||||||
|
"create.blockzapper.componentTier.chromatic": "Chromatic",
|
||||||
|
"create.blockzapper.leftClickToSet": "Left-Click a Block to set Material",
|
||||||
|
"create.blockzapper.empty": "Out of Blocks!",
|
||||||
|
|
||||||
|
"create.contraptions.movement_mode": "Movement Mode",
|
||||||
|
"create.contraptions.movement_mode.move_place": "Always Place when Stopped",
|
||||||
|
"create.contraptions.movement_mode.move_place_returned": "Place only in Starting Position",
|
||||||
|
"create.contraptions.movement_mode.move_never_place": "Place only when Anchor Destroyed",
|
||||||
|
"create.contraptions.movement_mode.rotate_place": "Always Place when Stopped",
|
||||||
|
"create.contraptions.movement_mode.rotate_place_returned": "Only Place near Initial Angle",
|
||||||
|
"create.contraptions.movement_mode.rotate_never_place": "Only Place when Anchor Destroyed",
|
||||||
|
"create.contraptions.cart_movement_mode": "Cart Movement Mode",
|
||||||
|
"create.contraptions.cart_movement_mode.rotate": "Always face toward motion",
|
||||||
|
"create.contraptions.cart_movement_mode.rotate_paused": "Pause actors while rotating",
|
||||||
|
"create.contraptions.cart_movement_mode.rotation_locked": "Lock rotation",
|
||||||
|
|
||||||
|
"create.logistics.filter": "Filter",
|
||||||
|
"create.logistics.firstFrequency": "Freq. #1",
|
||||||
|
"create.logistics.secondFrequency": "Freq. #2",
|
||||||
|
|
||||||
|
"create.gui.goggles.generator_stats": "Generator Stats:",
|
||||||
|
"create.gui.goggles.kinetic_stats": "Kinetic Stats:",
|
||||||
|
"create.gui.goggles.at_current_speed": "At current Speed",
|
||||||
|
"create.gui.goggles.base_value": "Base Value",
|
||||||
|
|
||||||
|
"create.gui.gauge.info_header": "Gauge Information:",
|
||||||
|
"create.gui.speed_gauge.title": "Rotation Speed",
|
||||||
|
"create.gui.stress_gauge.title": "Network Stress",
|
||||||
|
"create.gui.stress_gauge.capacity": "Remaining Capacity",
|
||||||
|
"create.gui.stress_gauge.overstressed": "Overstressed",
|
||||||
|
"create.gui.stress_gauge.no_rotation": "No Rotation",
|
||||||
|
|
||||||
|
"create.gui.contraptions.not_fast_enough": "It appears that this %1$s is _not_ rotating with _enough_ _speed_.",
|
||||||
|
"create.gui.contraptions.network_overstressed": "It appears that this contraption is _overstressed_. Add more sources or _slow_ _down_ the components with a high _stress_ _impact_.",
|
||||||
|
|
||||||
|
"create.gui.flexcrate.title": "Adjustable Crate",
|
||||||
|
"create.gui.flexcrate.storageSpace": "Storage Space",
|
||||||
|
|
||||||
|
"create.gui.stockswitch.title": "Stockpile Switch",
|
||||||
|
"create.gui.stockswitch.lowerLimit": "Lower Threshold",
|
||||||
|
"create.gui.stockswitch.upperLimit": "Upper Threshold",
|
||||||
|
"create.gui.stockswitch.startAt": "Start Signal at",
|
||||||
|
"create.gui.stockswitch.startAbove": "Start Signal above",
|
||||||
|
"create.gui.stockswitch.stopAt": "Stop Signal at",
|
||||||
|
"create.gui.stockswitch.stopBelow": "Stop Signal below",
|
||||||
|
|
||||||
|
"create.gui.sequenced_gearshift.title": "Sequenced Gearshift",
|
||||||
|
"create.gui.sequenced_gearshift.instruction": "Instruction",
|
||||||
|
"create.gui.sequenced_gearshift.instruction.turn_angle": "Turn",
|
||||||
|
"create.gui.sequenced_gearshift.instruction.turn_angle.angle": "Angle",
|
||||||
|
"create.gui.sequenced_gearshift.instruction.turn_distance": "Piston",
|
||||||
|
"create.gui.sequenced_gearshift.instruction.turn_distance.distance": "Distance",
|
||||||
|
"create.gui.sequenced_gearshift.instruction.wait": "Wait",
|
||||||
|
"create.gui.sequenced_gearshift.instruction.wait.duration": "Duration",
|
||||||
|
"create.gui.sequenced_gearshift.instruction.end": "End",
|
||||||
|
"create.gui.sequenced_gearshift.speed": "Speed, Direction",
|
||||||
|
"create.gui.sequenced_gearshift.speed.forward": "Input speed, Forwards",
|
||||||
|
"create.gui.sequenced_gearshift.speed.forward_fast": "Double speed, Forwards",
|
||||||
|
"create.gui.sequenced_gearshift.speed.back": "Input speed, Reversed",
|
||||||
|
"create.gui.sequenced_gearshift.speed.back_fast": "Double speed, Reversed",
|
||||||
|
|
||||||
|
"create.schematicAndQuill.dimensions": "Schematic Size: %1$sx%2$sx%3$s",
|
||||||
|
"create.schematicAndQuill.firstPos": "First position set.",
|
||||||
|
"create.schematicAndQuill.secondPos": "Second position set.",
|
||||||
|
"create.schematicAndQuill.noTarget": "Hold [Ctrl] to select Air blocks.",
|
||||||
|
"create.schematicAndQuill.abort": "Removed selection.",
|
||||||
|
"create.schematicAndQuill.prompt": "Enter a name for the Schematic:",
|
||||||
|
"create.schematicAndQuill.fallbackName": "My Schematic",
|
||||||
|
"create.schematicAndQuill.saved": "Saved as %1$s",
|
||||||
|
|
||||||
|
"create.schematic.invalid": "[!] Invalid Item - Use the Schematic Table instead",
|
||||||
|
"create.schematic.position": "Position",
|
||||||
|
"create.schematic.rotation": "Rotation",
|
||||||
|
"create.schematic.rotation.none": "None",
|
||||||
|
"create.schematic.rotation.cw90": "Clockwise 90",
|
||||||
|
"create.schematic.rotation.cw180": "Clockwise 180",
|
||||||
|
"create.schematic.rotation.cw270": "Clockwise 270",
|
||||||
|
"create.schematic.mirror": "Mirror",
|
||||||
|
"create.schematic.mirror.none": "None",
|
||||||
|
"create.schematic.mirror.frontBack": "Front-Back",
|
||||||
|
"create.schematic.mirror.leftRight": "Left-Right",
|
||||||
|
|
||||||
|
"create.schematic.tool.deploy": "Deploy",
|
||||||
|
"create.schematic.tool.move": "Move XZ",
|
||||||
|
"create.schematic.tool.movey": "Move Y",
|
||||||
|
"create.schematic.tool.rotate": "Rotate",
|
||||||
|
"create.schematic.tool.print": "Print",
|
||||||
|
"create.schematic.tool.flip": "Flip",
|
||||||
|
|
||||||
|
"create.schematic.tool.deploy.description.0": "Moves the structure to a location.",
|
||||||
|
"create.schematic.tool.deploy.description.1": "Right-Click on the ground to place.",
|
||||||
|
"create.schematic.tool.deploy.description.2": "Hold [Ctrl] to select at a fixed distance.",
|
||||||
|
"create.schematic.tool.deploy.description.3": "[Ctrl]-Scroll to change the distance.",
|
||||||
|
"create.schematic.tool.move.description.0": "Shifts the Schematic Horizontally.",
|
||||||
|
"create.schematic.tool.move.description.1": "Point at the Schematic and [CTRL]-Scroll to push it.",
|
||||||
|
"create.schematic.tool.move.description.2": "",
|
||||||
|
"create.schematic.tool.move.description.3": "",
|
||||||
|
"create.schematic.tool.movey.description.0": "Shifts the Schematic Vertically.",
|
||||||
|
"create.schematic.tool.movey.description.1": "[CTRL]-Scroll to move it up/down.",
|
||||||
|
"create.schematic.tool.movey.description.2": "",
|
||||||
|
"create.schematic.tool.movey.description.3": "",
|
||||||
|
"create.schematic.tool.rotate.description.0": "Rotates the Schematic around its center.",
|
||||||
|
"create.schematic.tool.rotate.description.1": "[CTRL]-Scroll to rotate by 90 Degrees.",
|
||||||
|
"create.schematic.tool.rotate.description.2": "",
|
||||||
|
"create.schematic.tool.rotate.description.3": "",
|
||||||
|
"create.schematic.tool.print.description.0": "Instantly places the structure in the world.",
|
||||||
|
"create.schematic.tool.print.description.1": "[Right-Click] to confirm placement at the current location.",
|
||||||
|
"create.schematic.tool.print.description.2": "This tool is for Creative Mode only.",
|
||||||
|
"create.schematic.tool.print.description.3": "",
|
||||||
|
"create.schematic.tool.flip.description.0": "Flips the Schematic along the face you select.",
|
||||||
|
"create.schematic.tool.flip.description.1": "Point at the Schematic and [CTRL]-Scroll to flip it.",
|
||||||
|
"create.schematic.tool.flip.description.2": "",
|
||||||
|
"create.schematic.tool.flip.description.3": "",
|
||||||
|
|
||||||
|
"create.schematics.synchronizing": "Syncing...",
|
||||||
|
"create.schematics.uploadTooLarge": "Your schematic is too big.",
|
||||||
|
"create.schematics.maxAllowedSize": "The maximum allowed schematic file size is:",
|
||||||
|
|
||||||
|
"create.gui.schematicTable.title": "Schematic Table",
|
||||||
|
"create.gui.schematicTable.availableSchematics": "Available Schematics",
|
||||||
|
"create.gui.schematicTable.noSchematics": "No Schematics Saved",
|
||||||
|
"create.gui.schematicTable.uploading": "Uploading...",
|
||||||
|
"create.gui.schematicTable.finished": "Upload Finished!",
|
||||||
|
|
||||||
|
"create.gui.schematicannon.title": "Schematicannon",
|
||||||
|
"create.gui.schematicannon.settingsTitle": "Placement Settings",
|
||||||
|
"create.gui.schematicannon.listPrinter": "Material List Printer",
|
||||||
|
"create.gui.schematicannon.gunpowderLevel": "Gunpowder at %1$s%%",
|
||||||
|
"create.gui.schematicannon.shotsRemaining": "Shots left: %1$s",
|
||||||
|
"create.gui.schematicannon.shotsRemainingWithBackup": "With backup: %1$s",
|
||||||
|
"create.gui.schematicannon.optionEnabled": "Currently Enabled",
|
||||||
|
"create.gui.schematicannon.optionDisabled": "Currently Disabled",
|
||||||
|
"create.gui.schematicannon.option.dontReplaceSolid": "Don't Replace Solid Blocks",
|
||||||
|
"create.gui.schematicannon.option.replaceWithSolid": "Replace Solid with Solid",
|
||||||
|
"create.gui.schematicannon.option.replaceWithAny": "Replace Solid with Any",
|
||||||
|
"create.gui.schematicannon.option.replaceWithEmpty": "Replace Solid with Empty",
|
||||||
|
"create.gui.schematicannon.option.skipMissing": "Skip missing Blocks",
|
||||||
|
"create.gui.schematicannon.option.skipTileEntities": "Protect Tile Entities",
|
||||||
|
|
||||||
|
"create.gui.schematicannon.option.skipMissing.description": "If the cannon cannot find a required Block for placement, it will continue at the next Location.",
|
||||||
|
"create.gui.schematicannon.option.skipTileEntities.description": "The cannon will avoid replacing data holding blocks such as Chests.",
|
||||||
|
"create.gui.schematicannon.option.dontReplaceSolid.description": "The cannon will never replace any Solid blocks in its working area, only non-Solid and Air.",
|
||||||
|
"create.gui.schematicannon.option.replaceWithSolid.description": "The cannon will only replace Solid blocks in its working area if the Schematic contains a solid Block at the Location.",
|
||||||
|
"create.gui.schematicannon.option.replaceWithAny.description": "The cannon will replace Solid blocks in its working area if the Schematic contains any Block at the Location.",
|
||||||
|
"create.gui.schematicannon.option.replaceWithEmpty.description": "The cannon will clear out all blocks in its working area, including those replaced by Air.",
|
||||||
|
|
||||||
|
"create.schematicannon.status.idle": "Idle",
|
||||||
|
"create.schematicannon.status.ready": "Ready",
|
||||||
|
"create.schematicannon.status.running": "Running",
|
||||||
|
"create.schematicannon.status.finished": "Finished",
|
||||||
|
"create.schematicannon.status.paused": "Paused",
|
||||||
|
"create.schematicannon.status.stopped": "Stopped",
|
||||||
|
"create.schematicannon.status.noGunpowder": "Out of Gunpowder",
|
||||||
|
"create.schematicannon.status.targetNotLoaded": "Target is not loaded",
|
||||||
|
"create.schematicannon.status.targetOutsideRange": "Target too far away",
|
||||||
|
"create.schematicannon.status.searching": "Searching",
|
||||||
|
"create.schematicannon.status.skipping": "Skipping",
|
||||||
|
"create.schematicannon.status.missingBlock": "Missing Item:",
|
||||||
|
"create.schematicannon.status.placing": "Placing",
|
||||||
|
"create.schematicannon.status.clearing": "Clearing Blocks",
|
||||||
|
"create.schematicannon.status.schematicInvalid": "Schematic Invalid",
|
||||||
|
"create.schematicannon.status.schematicNotPlaced": "Schematic Not Deployed",
|
||||||
|
"create.schematicannon.status.schematicExpired": "Schematic File Expired",
|
||||||
|
|
||||||
|
"create.gui.filter.blacklist": "Blacklist",
|
||||||
|
"create.gui.filter.blacklist.description": "Items pass if they do NOT match any of the above. An empty Blacklist accepts everything.",
|
||||||
|
"create.gui.filter.whitelist": "Whitelist",
|
||||||
|
"create.gui.filter.whitelist.description": "Items pass if they match any of the above. An empty Whitelist rejects everything.",
|
||||||
|
"create.gui.filter.respect_data": "Respect Data",
|
||||||
|
"create.gui.filter.respect_data.description": "Items only match if their durability, enchantments, and other attributes match as well.",
|
||||||
|
"create.gui.filter.ignore_data": "Ignore Data",
|
||||||
|
"create.gui.filter.ignore_data.description": "Items match regardless of their attributes.",
|
||||||
|
|
||||||
|
"create.item_attributes.placeable": "is placeable",
|
||||||
|
"create.item_attributes.consumable": "can be eaten",
|
||||||
|
"create.item_attributes.smeltable": "can be Smelted",
|
||||||
|
"create.item_attributes.washable": "can be Washed",
|
||||||
|
"create.item_attributes.smokable": "can be Smoked",
|
||||||
|
"create.item_attributes.blastable": "is smeltable in Blast Furnace",
|
||||||
|
"create.item_attributes.enchanted": "is enchanted",
|
||||||
|
"create.item_attributes.damaged": "is damaged",
|
||||||
|
"create.item_attributes.badly_damaged": "is heavily damaged",
|
||||||
|
"create.item_attributes.not_stackable": "cannot stack",
|
||||||
|
"create.item_attributes.equipable": "can be equipped",
|
||||||
|
"create.item_attributes.furnace_fuel": "is furnace fuel",
|
||||||
|
"create.item_attributes.in_tag": "is tagged %1$s",
|
||||||
|
"create.item_attributes.in_item_group": "belongs to %1$s",
|
||||||
|
"create.item_attributes.added_by": "was added by %1$s",
|
||||||
|
|
||||||
|
"create.gui.attribute_filter.no_selected_attributes": "No attributes selected",
|
||||||
|
"create.gui.attribute_filter.selected_attributes": "Selected attributes:",
|
||||||
|
"create.gui.attribute_filter.whitelist_disjunctive": "Whitelist (Any)",
|
||||||
|
"create.gui.attribute_filter.whitelist_disjunctive.description": "Items pass if they have any of the selected attributes.",
|
||||||
|
"create.gui.attribute_filter.whitelist_conjunctive": "Whitelist (All)",
|
||||||
|
"create.gui.attribute_filter.whitelist_conjunctive.description": "Items pass only if they have ALL of the selected attributes.",
|
||||||
|
"create.gui.attribute_filter.blacklist": "Blacklist",
|
||||||
|
"create.gui.attribute_filter.blacklist.description": "Items pass if they do NOT have any of the selected attributes.",
|
||||||
|
"create.gui.attribute_filter.add_reference_item": "Add Reference Item",
|
||||||
|
|
||||||
|
"create.tooltip.holdKey": "Hold [%1$s]",
|
||||||
|
"create.tooltip.holdKeyOrKey": "Hold [%1$s] or [%2$s]",
|
||||||
|
"create.tooltip.keyShift": "Shift",
|
||||||
|
"create.tooltip.keyCtrl": "Ctrl",
|
||||||
|
|
||||||
|
"create.tooltip.speedRequirement": "Speed Requirement: %1$s",
|
||||||
|
"create.tooltip.speedRequirement.none": "None",
|
||||||
|
"create.tooltip.speedRequirement.medium": "Moderate",
|
||||||
|
"create.tooltip.speedRequirement.high": "Fast",
|
||||||
|
|
||||||
|
"create.tooltip.stressImpact": "Stress Impact: %1$s",
|
||||||
|
"create.tooltip.stressImpact.low": "Low",
|
||||||
|
"create.tooltip.stressImpact.medium": "Moderate",
|
||||||
|
"create.tooltip.stressImpact.high": "High",
|
||||||
|
"create.tooltip.stressImpact.overstressed": "Overstressed",
|
||||||
|
|
||||||
|
"create.tooltip.capacityProvided": "Stress Capacity: %1$s",
|
||||||
|
"create.tooltip.capacityProvided.low": "Small",
|
||||||
|
"create.tooltip.capacityProvided.medium": "Medium",
|
||||||
|
"create.tooltip.capacityProvided.high": "Large",
|
||||||
|
"create.tooltip.capacityProvided.asGenerator": "(As Generator)",
|
||||||
|
"create.tooltip.generationSpeed" : "Generates at %1$s %2$s",
|
||||||
|
|
||||||
|
"create.tooltip.analogStrength": "Analog Strength: %1$s/15",
|
||||||
|
"create.mechanical_mixer.min_ingredients": "Min. Ingredients",
|
||||||
|
|
||||||
|
"create.command.killTPSCommand": "killtps",
|
||||||
|
"create.command.killTPSCommand.status.slowed_by.0": "[Create]: Server tick is currently slowed by %s ms :o",
|
||||||
|
"create.command.killTPSCommand.status.slowed_by.1": "[Create]: Server tick is slowed by %s ms now >:)",
|
||||||
|
"create.command.killTPSCommand.status.slowed_by.2": "[Create]: Server tick is back to regular speed :D",
|
||||||
|
"create.command.killTPSCommand.status.usage.0": "[Create]: use /killtps stop to bring back server tick to regular speed",
|
||||||
|
"create.command.killTPSCommand.status.usage.1": "[Create]: use /killtps start <tickTime> to artificially slow down the server tick",
|
||||||
|
"create.command.killTPSCommand.argument.tickTime": "tickTime",
|
||||||
|
|
||||||
|
"create.subtitle.schematicannon_launch_block": "Schematicannon shoots",
|
||||||
|
"create.subtitle.schematicannon_finish": "Schematicannon finishes",
|
||||||
|
"create.subtitle.slime_added": "Slime squishes",
|
||||||
|
"create.subtitle.mechanical_press_activation": "Mechanical Press activates",
|
||||||
|
"create.subtitle.mechanical_press_item_break": "Metal clanks",
|
||||||
|
"create.subtitle.blockzapper_place": "Blocks zap into place",
|
||||||
|
"create.subtitle.blockzapper_confirm": "Affirmative Ding",
|
||||||
|
"create.subtitle.blockzapper_deny": "Declining Boop",
|
||||||
|
"create.subtitle.block_funnel_eat": "Funnel CHOMPS"
|
||||||
|
|
||||||
|
}
|
58
src/main/resources/assets/create/lang/default/temporary.json
Normal file
58
src/main/resources/assets/create/lang/default/temporary.json
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
{
|
||||||
|
|
||||||
|
"item.create.symmetry_wand": "Staff of Symmetry",
|
||||||
|
"item.create.placement_handgun": "Handheld Blockzapper",
|
||||||
|
"item.create.terrain_zapper": "Handheld Worldshaper",
|
||||||
|
"item.create.tree_fertilizer": "Tree Fertilizer",
|
||||||
|
"item.create.empty_blueprint": "Empty Schematic",
|
||||||
|
"item.create.andesite_alloy": "Andesite Alloy",
|
||||||
|
"item.create.chromatic_compound": "Chromatic Compound",
|
||||||
|
"item.create.shadow_steel": "Shadow Steel",
|
||||||
|
"item.create.blueprint_and_quill": "Schematic and Quill",
|
||||||
|
"item.create.blueprint": "Schematic",
|
||||||
|
"item.create.belt_connector": "Mechanical Belt",
|
||||||
|
"item.create.goggles": "Engineer's Goggles",
|
||||||
|
"item.create.filter": "Filter",
|
||||||
|
"item.create.property_filter": "Attribute Filter",
|
||||||
|
"item.create.rose_quartz": "Rose Quartz",
|
||||||
|
"item.create.polished_rose_quartz": "Polished Rose Quartz",
|
||||||
|
"item.create.refined_radiance": "Refined Radiance",
|
||||||
|
"item.create.iron_sheet": "Iron Sheets",
|
||||||
|
"item.create.gold_sheet": "Gold Sheets",
|
||||||
|
"item.create.lapis_plate": "Lapis Plating",
|
||||||
|
"item.create.obsidian_dust": "Powdered Obsidian",
|
||||||
|
"item.create.propeller": "Propeller",
|
||||||
|
"item.create.whisk": "Whisk",
|
||||||
|
"item.create.brass_hand": "Hand",
|
||||||
|
"item.create.slot_cover": "Crafter Slot Cover",
|
||||||
|
"item.create.flour": "Wheat Flour",
|
||||||
|
"item.create.dough": "Dough",
|
||||||
|
"item.create.wrench": "Wrench",
|
||||||
|
"item.create.deforester": "Deforester",
|
||||||
|
"item.create.crushed_iron": "Crushed Iron Ore",
|
||||||
|
"item.create.crushed_gold": "Crushed Gold Ore",
|
||||||
|
"item.create.sand_paper": "Sand Paper",
|
||||||
|
"item.create.red_sand_paper": "Red Sand Paper",
|
||||||
|
"item.create.super_glue": "Super Glue",
|
||||||
|
"item.create.minecart_contraption": "Minecart with Contraption",
|
||||||
|
|
||||||
|
"item.create.brass_ingot": "Brass Ingot",
|
||||||
|
"item.create.brass_sheet": "Brass Sheets",
|
||||||
|
"item.create.brass_nugget": "Brass Nugget",
|
||||||
|
"item.create.crushed_brass": "Crushed Brass",
|
||||||
|
"item.create.zinc_ingot": "Zinc Bar",
|
||||||
|
"item.create.zinc_nugget": "Zinc Nugget",
|
||||||
|
"item.create.crushed_zinc": "Crushed Zinc",
|
||||||
|
"item.create.copper_sheet": "Copper Sheets",
|
||||||
|
"item.create.copper_ingot": "Copper Ingot",
|
||||||
|
"item.create.copper_nugget": "Copper Nugget",
|
||||||
|
"item.create.crushed_copper": "Crushed Copper",
|
||||||
|
|
||||||
|
"item.create.electron_tube": "Electron Tube",
|
||||||
|
"item.create.integrated_circuit": "Integrated Circuit",
|
||||||
|
|
||||||
|
"entity.create.contraption": "Moving Contraption",
|
||||||
|
"entity.create.stationary_contraption": "Stationary Contraption",
|
||||||
|
"entity.create.super_glue": "Superglue"
|
||||||
|
|
||||||
|
}
|
|
@ -1,729 +1,5 @@
|
||||||
{
|
{
|
||||||
|
|
||||||
"_comment": "-------------------------] GAME ELEMENTS [------------------------------------------------",
|
|
||||||
|
|
||||||
"item.create.symmetry_wand": "Staff of Symmetry",
|
|
||||||
"item.create.placement_handgun": "Handheld Blockzapper",
|
|
||||||
"item.create.terrain_zapper": "Handheld Worldshaper",
|
|
||||||
"item.create.tree_fertilizer": "Tree Fertilizer",
|
|
||||||
"item.create.empty_blueprint": "Empty Schematic",
|
|
||||||
"item.create.andesite_alloy": "Andesite Alloy",
|
|
||||||
"item.create.chromatic_compound": "Chromatic Compound",
|
|
||||||
"item.create.shadow_steel": "Shadow Steel",
|
|
||||||
"item.create.blueprint_and_quill": "Schematic and Quill",
|
|
||||||
"item.create.blueprint": "Schematic",
|
|
||||||
"item.create.belt_connector": "Mechanical Belt",
|
|
||||||
"item.create.goggles": "Engineer's Goggles",
|
|
||||||
"item.create.filter": "Filter",
|
|
||||||
"item.create.property_filter": "Attribute Filter",
|
|
||||||
"item.create.rose_quartz": "Rose Quartz",
|
|
||||||
"item.create.polished_rose_quartz": "Polished Rose Quartz",
|
|
||||||
"item.create.refined_radiance": "Refined Radiance",
|
|
||||||
"item.create.iron_sheet": "Iron Sheets",
|
|
||||||
"item.create.gold_sheet": "Gold Sheets",
|
|
||||||
"item.create.lapis_plate": "Lapis Plating",
|
|
||||||
"item.create.obsidian_dust": "Powdered Obsidian",
|
|
||||||
"item.create.propeller": "Propeller",
|
|
||||||
"item.create.whisk": "Whisk",
|
|
||||||
"item.create.brass_hand": "Hand",
|
|
||||||
"item.create.slot_cover": "Crafter Slot Cover",
|
|
||||||
"item.create.zinc_handle": "Quality Tool Handle",
|
|
||||||
"item.create.flour": "Wheat Flour",
|
|
||||||
"item.create.dough": "Dough",
|
|
||||||
"item.create.wrench": "Wrench",
|
|
||||||
"item.create.deforester": "Deforester",
|
|
||||||
"item.create.crushed_iron": "Crushed Iron Ore",
|
|
||||||
"item.create.crushed_gold": "Crushed Gold Ore",
|
|
||||||
"item.create.sand_paper": "Sand Paper",
|
|
||||||
"item.create.red_sand_paper": "Red Sand Paper",
|
|
||||||
"item.create.super_glue": "Super Glue",
|
|
||||||
"item.create.minecart_contraption": "Minecart with Contraption",
|
|
||||||
|
|
||||||
"item.create.brass_ingot": "Brass Ingot",
|
|
||||||
"item.create.brass_sheet": "Brass Sheets",
|
|
||||||
"item.create.brass_nugget": "Brass Nugget",
|
|
||||||
"item.create.crushed_brass": "Crushed Brass",
|
|
||||||
"item.create.zinc_ingot": "Zinc Bar",
|
|
||||||
"item.create.zinc_nugget": "Zinc Nugget",
|
|
||||||
"item.create.crushed_zinc": "Crushed Zinc",
|
|
||||||
"item.create.copper_sheet": "Copper Sheets",
|
|
||||||
"item.create.copper_ingot": "Copper Ingot",
|
|
||||||
"item.create.copper_nugget": "Copper Nugget",
|
|
||||||
"item.create.crushed_copper": "Crushed Copper",
|
|
||||||
|
|
||||||
"item.create.electron_tube": "Electron Tube",
|
|
||||||
"item.create.integrated_circuit": "Integrated Circuit",
|
|
||||||
|
|
||||||
"item.create.blazing_pickaxe": "Blazing Pickaxe",
|
|
||||||
"item.create.blazing_shovel": "Blazing Shovel",
|
|
||||||
"item.create.blazing_axe": "Blazing Axe",
|
|
||||||
"item.create.blazing_sword": "Blazing Cleaver",
|
|
||||||
|
|
||||||
"item.create.shadow_steel_pickaxe": "Shadow Steel Pickaxe",
|
|
||||||
"item.create.shadow_steel_mattock": "Shadow Steel Garden Mattock",
|
|
||||||
"item.create.shadow_steel_sword": "Shadow Steel Sword",
|
|
||||||
|
|
||||||
"item.create.rose_quartz_pickaxe": "Gilded Quartz Pickaxe",
|
|
||||||
"item.create.rose_quartz_shovel": "Gilded Quartz Shovel",
|
|
||||||
"item.create.rose_quartz_axe": "Gilded Quartz Axe",
|
|
||||||
"item.create.rose_quartz_sword": "Gilded Quartz Blade",
|
|
||||||
|
|
||||||
"block.create.copper_ore": "Copper Ore",
|
|
||||||
"block.create.copper_block": "Block of Copper",
|
|
||||||
"block.create.copper_shingles": "Copper Shingles",
|
|
||||||
"block.create.zinc_ore": "Zinc Ore",
|
|
||||||
"block.create.zinc_block": "Block of Zinc",
|
|
||||||
"block.create.brass_block": "Block of Brass",
|
|
||||||
|
|
||||||
"block.create.andesite_casing": "Andesite Casing",
|
|
||||||
"block.create.brass_casing": "Brass Casing",
|
|
||||||
"block.create.copper_casing": "Copper Casing",
|
|
||||||
|
|
||||||
"block.create.cogwheel": "Cogwheel",
|
|
||||||
"block.create.large_cogwheel": "Large Cogwheel",
|
|
||||||
"block.create.turntable": "Turntable",
|
|
||||||
"block.create.gearbox": "Gearbox",
|
|
||||||
"block.create.gearshift": "Gearshift",
|
|
||||||
"block.create.clutch": "Clutch",
|
|
||||||
"block.create.shaft": "Shaft",
|
|
||||||
"block.create.encased_belt": "Encased Belt",
|
|
||||||
"block.create.encased_shaft": "Encased Shaft",
|
|
||||||
"block.create.encased_fan": "Encased Fan",
|
|
||||||
"block.create.adjustable_pulley": "Analog Belt Pulley",
|
|
||||||
"block.create.nozzle": "Nozzle",
|
|
||||||
"block.create.hand_crank": "Hand Crank",
|
|
||||||
"block.create.cuckoo_clock": "Cuckoo Clock",
|
|
||||||
"block.create.creative_motor": "Motor",
|
|
||||||
"block.create.belt": "Mechanical Belt",
|
|
||||||
"block.create.millstone": "Millstone",
|
|
||||||
"block.create.crushing_wheel": "Crushing Wheel",
|
|
||||||
"block.create.drill": "Mechanical Drill",
|
|
||||||
"block.create.portable_storage_interface": "Portable Storage Interface",
|
|
||||||
"block.create.harvester": "Mechanical Harvester",
|
|
||||||
"block.create.plough": "Mechanical Plough",
|
|
||||||
"block.create.saw": "Mechanical Saw",
|
|
||||||
"block.create.water_wheel": "Water Wheel",
|
|
||||||
"block.create.mechanical_press": "Mechanical Press",
|
|
||||||
"block.create.mechanical_mixer": "Mechanical Mixer",
|
|
||||||
"block.create.deployer": "Deployer",
|
|
||||||
"block.create.basin": "Basin",
|
|
||||||
"block.create.mechanical_crafter": "Mechanical Crafter",
|
|
||||||
"block.create.flywheel": "Flywheel",
|
|
||||||
"block.create.furnace_engine": "Furnace Engine",
|
|
||||||
"block.create.speed_gauge": "Speedometer",
|
|
||||||
"block.create.stress_gauge": "Stressometer",
|
|
||||||
"block.create.cart_assembler": "Cart Assembler",
|
|
||||||
"block.create.analog_lever": "Analog Lever",
|
|
||||||
"block.create.rotation_speed_controller": "Rotation Speed Controller",
|
|
||||||
|
|
||||||
"block.create.sticky_mechanical_piston": "Sticky Mechanical Piston",
|
|
||||||
"block.create.mechanical_piston": "Mechanical Piston",
|
|
||||||
"block.create.mechanical_piston_head": "Mechanical Piston Head",
|
|
||||||
"block.create.piston_pole": "Piston Extension Pole",
|
|
||||||
"block.create.mechanical_bearing": "Mechanical Bearing",
|
|
||||||
"block.create.clockwork_bearing": "Clockwork Bearing",
|
|
||||||
"block.create.rope_pulley": "Rope Pulley",
|
|
||||||
"block.create.rope": "Rope",
|
|
||||||
"block.create.pulley_magnet": "Pulley Magnet",
|
|
||||||
"block.create.translation_chassis": "Linear Chassis",
|
|
||||||
"block.create.rotation_chassis": "Radial Chassis",
|
|
||||||
|
|
||||||
"block.create.contact": "Redstone Contact",
|
|
||||||
"block.create.redstone_bridge": "Redstone Link",
|
|
||||||
"block.create.stockswitch": "Stockpile Switch",
|
|
||||||
"block.create.flexcrate": "Adjustable Crate",
|
|
||||||
"block.create.creative_crate": "The Endless Crate",
|
|
||||||
"block.create.extractor": "Extractor",
|
|
||||||
"block.create.belt_funnel": "Funnel",
|
|
||||||
"block.create.linked_extractor": "Linked Extractor",
|
|
||||||
"block.create.transposer": "Transposer",
|
|
||||||
"block.create.linked_transposer": "Linked Transposer",
|
|
||||||
"block.create.pulse_repeater": "Pulse Repeater",
|
|
||||||
"block.create.flexpulsepeater": "Adjustable Pulse Repeater",
|
|
||||||
"block.create.redstone_latch": "Powered Latch",
|
|
||||||
"block.create.toggle_latch": "Powered Toggle Latch",
|
|
||||||
"block.create.flexpeater": "Adjustable Repeater",
|
|
||||||
"block.create.entity_detector": "Belt Observer",
|
|
||||||
"block.create.belt_tunnel": "Conveyor Tunnel",
|
|
||||||
"block.create.sequenced_gearshift": "Sequenced Gearshift",
|
|
||||||
|
|
||||||
"block.create.tiled_glass": "Tiled Glass",
|
|
||||||
"block.create.framed_glass": "Large Glass Window",
|
|
||||||
"block.create.vertical_framed_glass": "Vertical Glass Window",
|
|
||||||
"block.create.horizontal_framed_glass": "Horizontal Glass Window",
|
|
||||||
"block.create.oak_glass": "Oak Window",
|
|
||||||
"block.create.spruce_glass": "Spruce Window",
|
|
||||||
"block.create.birch_glass": "Birch Window",
|
|
||||||
"block.create.jungle_glass": "Jungle Window",
|
|
||||||
"block.create.dark_oak_glass": "Dark Oak Window",
|
|
||||||
"block.create.acacia_glass": "Acacia Window",
|
|
||||||
"block.create.iron_glass": "Ornate Iron Window",
|
|
||||||
|
|
||||||
"block.create.tiled_glass_pane": "Tiled Glass Pane",
|
|
||||||
"block.create.framed_glass_pane": "Large Glass Window Pane",
|
|
||||||
"block.create.vertical_framed_glass_pane": "Vertical Glass Window Pane",
|
|
||||||
"block.create.horizontal_framed_glass_pane": "Horizontal Glass Window Pane",
|
|
||||||
"block.create.oak_glass_pane": "Oak Window Pane",
|
|
||||||
"block.create.spruce_glass_pane": "Spruce Window Pane",
|
|
||||||
"block.create.birch_glass_pane": "Birch Window Pane",
|
|
||||||
"block.create.jungle_glass_pane": "Jungle Window Pane",
|
|
||||||
"block.create.dark_oak_glass_pane": "Dark Oak Window Pane",
|
|
||||||
"block.create.acacia_glass_pane": "Acacia Window Pane",
|
|
||||||
"block.create.iron_glass_pane": "Ornate Iron Window Pane",
|
|
||||||
|
|
||||||
"block.create.window_in_a_block": "Block with Glass Pane",
|
|
||||||
"block.create.andesite_bricks": "Andesite Bricks",
|
|
||||||
"block.create.andesite_layers": "Layered Andesite",
|
|
||||||
"block.create.diorite_bricks": "Diorite Bricks",
|
|
||||||
"block.create.diorite_layers": "Layered Diorite",
|
|
||||||
"block.create.granite_bricks": "Granite Bricks",
|
|
||||||
"block.create.granite_layers": "Layered Granite",
|
|
||||||
|
|
||||||
"block.create.gabbro": "Gabbro",
|
|
||||||
"block.create.gabbro_stairs": "Gabbro Stairs",
|
|
||||||
"block.create.gabbro_slab": "Gabbro Slab",
|
|
||||||
"block.create.gabbro_wall": "Gabbro Wall",
|
|
||||||
"block.create.polished_gabbro": "Polished Gabbro",
|
|
||||||
"block.create.gabbro_bricks": "Gabbro Bricks",
|
|
||||||
"block.create.gabbro_bricks_stairs": "Gabbro Brick Stairs",
|
|
||||||
"block.create.gabbro_bricks_wall": "Gabbro Brick Wall",
|
|
||||||
"block.create.paved_gabbro_bricks": "Paved Gabbro Bricks",
|
|
||||||
"block.create.paved_gabbro_bricks_slab": "Paved Gabbro Bricks Slab",
|
|
||||||
"block.create.indented_gabbro": "Indented Gabbro Tile",
|
|
||||||
"block.create.indented_gabbro_slab": "Indented Gabbro Slab",
|
|
||||||
"block.create.slightly_mossy_gabbro_bricks": "Mossy Gabbro Bricks",
|
|
||||||
"block.create.mossy_gabbro_bricks": "Overgrown Gabbro Bricks",
|
|
||||||
"block.create.gabbro_layers": "Layered Gabbro",
|
|
||||||
|
|
||||||
"block.create.weathered_limestone": "Weathered Limestone",
|
|
||||||
"block.create.weathered_limestone_stairs": "Weathered Limestone Stairs",
|
|
||||||
"block.create.weathered_limestone_wall": "Weathered Limestone Wall",
|
|
||||||
"block.create.weathered_limestone_slab": "Weathered Limestone Slab",
|
|
||||||
"block.create.polished_weathered_limestone": "Polished Weathered Limestone",
|
|
||||||
"block.create.polished_weathered_limestone_slab": "Polished Weathered Limestone Slab",
|
|
||||||
"block.create.weathered_limestone_bricks": "Weathered Limestone Bricks",
|
|
||||||
"block.create.weathered_limestone_bricks_stairs": "Weathered Limestone Brick Stairs",
|
|
||||||
"block.create.weathered_limestone_bricks_wall": "Weathered Limestone Brick Wall",
|
|
||||||
"block.create.weathered_limestone_bricks_slab": "Weathered Limestone Brick Slab",
|
|
||||||
"block.create.weathered_limestone_pillar": "Weathered Limestone Pillar",
|
|
||||||
"block.create.weathered_limestone_layers": "Layered Weathered Limestone",
|
|
||||||
|
|
||||||
"block.create.dolomite_pillar": "Dolomite Pillar",
|
|
||||||
"block.create.dolomite": "Dolomite",
|
|
||||||
"block.create.dolomite_stairs": "Dolomite Stairs",
|
|
||||||
"block.create.dolomite_wall": "Dolomite Wall",
|
|
||||||
"block.create.dolomite_slab": "Dolomite Slab",
|
|
||||||
"block.create.dolomite_bricks": "Dolomite Bricks",
|
|
||||||
"block.create.dolomite_bricks_wall": "Dolomite Brick Wall",
|
|
||||||
"block.create.dolomite_bricks_stairs": "Dolomite Brick Stairs",
|
|
||||||
"block.create.dolomite_bricks_slab": "Dolomite Brick Slab",
|
|
||||||
"block.create.polished_dolomite": "Polished Dolomite",
|
|
||||||
"block.create.dolomite_layers": "Layered Dolomite",
|
|
||||||
|
|
||||||
"block.create.limesand": "Limesand",
|
|
||||||
"block.create.limestone": "Limestone",
|
|
||||||
"block.create.limestone_stairs": "Limestone Stairs",
|
|
||||||
"block.create.limestone_slab": "Limestone Slab",
|
|
||||||
"block.create.limestone_wall": "Limestone Wall",
|
|
||||||
"block.create.limestone_bricks": "Limestone Bricks",
|
|
||||||
"block.create.limestone_bricks_stairs": "Limestone Brick Stairs",
|
|
||||||
"block.create.limestone_bricks_slab": "Limestone Brick Slab",
|
|
||||||
"block.create.limestone_bricks_wall": "Limestone Brick Wall",
|
|
||||||
"block.create.polished_limestone": "Polished Limestone",
|
|
||||||
"block.create.polished_limestone_slab": "Polished Limestone Slab",
|
|
||||||
"block.create.limestone_pillar": "Limestone Pillar",
|
|
||||||
"block.create.limestone_layers": "Layered Limestone",
|
|
||||||
|
|
||||||
"block.create.natural_scoria": "Natural Scoria",
|
|
||||||
"block.create.scoria": "Scoria",
|
|
||||||
"block.create.scoria_stairs": "Scoria Stairs",
|
|
||||||
"block.create.scoria_slab": "Scoria Slab",
|
|
||||||
"block.create.scoria_wall": "Scoria Wall",
|
|
||||||
"block.create.scoria_bricks": "Scoria Bricks",
|
|
||||||
"block.create.polished_scoria": "Polished Scoria",
|
|
||||||
"block.create.polished_scoria_slab": "Polished Scoria Slab",
|
|
||||||
"block.create.scoria_pillar": "Scoria Pillar",
|
|
||||||
"block.create.scoria_layers": "Layered Scoria",
|
|
||||||
|
|
||||||
"block.create.dark_scoria": "Dark Scoria",
|
|
||||||
"block.create.polished_dark_scoria": "Polished Dark Scoria",
|
|
||||||
"block.create.dark_scoria_tiles": "Dark Scoria Tiles",
|
|
||||||
"block.create.dark_scoria_tiles_stairs": "Dark Scoria Tile Stairs",
|
|
||||||
"block.create.dark_scoria_tiles_slab": "Dark Scoria Tile Slab",
|
|
||||||
"block.create.dark_scoria_bricks": "Dark Scoria Bricks",
|
|
||||||
"block.create.dark_scoria_bricks_stairs": "Dark Scoria Brick Stairs",
|
|
||||||
"block.create.dark_scoria_bricks_slab": "Dark Scoria Brick Slab",
|
|
||||||
"block.create.dark_scoria_bricks_wall": "Dark Scoria Brick Wall",
|
|
||||||
|
|
||||||
"block.create.schematicannon": "Schematicannon",
|
|
||||||
"block.create.schematic_table": "Schematic Table",
|
|
||||||
|
|
||||||
"block.create.cocoa_log": "Cocoa Jungle Log",
|
|
||||||
|
|
||||||
"entity.create.contraption": "Moving Contraption",
|
|
||||||
"entity.create.stationary_contraption": "Stationary Contraption",
|
|
||||||
"entity.create.super_glue": "Superglue",
|
|
||||||
|
|
||||||
"_comment": "-------------------------] UI & MESSAGES [------------------------------------------------",
|
|
||||||
|
|
||||||
"death.attack.create.crush": "%1$s was processed by Crushing Wheels",
|
|
||||||
"death.attack.create.fan_fire": "%1$s was burned to death by hot air",
|
|
||||||
"death.attack.create.fan_lava": "%1$s was burned to death by lava fan",
|
|
||||||
"death.attack.create.drill": "%1$s was impaled by Mechanical Drill",
|
|
||||||
"death.attack.create.saw": "%1$s got cut in half by Mechanical Saw",
|
|
||||||
"create.block.deployer.damage_source_name": "a rogue Deployer",
|
|
||||||
"death.attack.create.cuckoo_clock_explosion": "%1$s was blown up by tampered cuckoo clock",
|
|
||||||
|
|
||||||
"create.recipe.crushing": "Crushing",
|
|
||||||
"create.recipe.milling": "Milling",
|
|
||||||
"create.recipe.splashing": "Bulk Washing",
|
|
||||||
"create.recipe.splashing.fan": "Fan behind Flowing Water",
|
|
||||||
"create.recipe.smoking_via_fan": "Bulk Smoking",
|
|
||||||
"create.recipe.smoking_via_fan.fan": "Fan behind Fire",
|
|
||||||
"create.recipe.blasting_via_fan": "Bulk Smelting",
|
|
||||||
"create.recipe.blasting_via_fan.fan": "Fan behind Lava",
|
|
||||||
"create.recipe.pressing": "Pressing",
|
|
||||||
"create.recipe.mixing": "Mixing",
|
|
||||||
"create.recipe.packing": "Compacting",
|
|
||||||
"create.recipe.sawing": "Sawing",
|
|
||||||
"create.recipe.mechanical_crafting": "Mechanical Crafting",
|
|
||||||
"create.recipe.block_cutting": "Block Cutting",
|
|
||||||
"create.recipe.blockzapper_upgrade": "Handheld Blockzapper",
|
|
||||||
"create.recipe.sandpaper_polishing": "Sandpaper Polishing",
|
|
||||||
"create.recipe.mystery_conversion": "Chromatic Metamorphosis",
|
|
||||||
"create.recipe.processing.catalyst": "Catalyst",
|
|
||||||
"create.recipe.processing.chance": "%1$s%% Chance",
|
|
||||||
"create.recipe.processing.chanceToReturn": "%1$s%% Chance to Return",
|
|
||||||
|
|
||||||
"create.generic.range": "Range",
|
|
||||||
"create.generic.radius": "Radius",
|
|
||||||
"create.generic.width": "Width",
|
|
||||||
"create.generic.height": "Height",
|
|
||||||
"create.generic.length": "Length",
|
|
||||||
"create.generic.speed": "Speed",
|
|
||||||
"create.generic.delay": "Delay",
|
|
||||||
"create.generic.unit.ticks": "Ticks",
|
|
||||||
"create.generic.unit.seconds": "Seconds",
|
|
||||||
"create.generic.unit.minutes": "Minutes",
|
|
||||||
"create.generic.unit.rpm": "RPM",
|
|
||||||
"create.generic.unit.stress": "su",
|
|
||||||
"create.generic.unit.degrees": "°",
|
|
||||||
|
|
||||||
"create.action.scroll": "Scroll",
|
|
||||||
"create.action.confirm": "Confirm",
|
|
||||||
"create.action.abort": "Abort",
|
|
||||||
"create.action.saveToFile": "Save",
|
|
||||||
"create.action.discard": "Discard",
|
|
||||||
|
|
||||||
"create.keyinfo.toolmenu": "Focus Tool Menu",
|
|
||||||
"create.keyinfo.scrollup": "Simulate Mousewheel Up (inworld)",
|
|
||||||
"create.keyinfo.scrolldown": "Simulate Mousewheel Down (inworld)",
|
|
||||||
|
|
||||||
"create.gui.scrollInput.defaultTitle": "Choose an Option:",
|
|
||||||
"create.gui.scrollInput.scrollToModify": "Scroll to Modify",
|
|
||||||
"create.gui.scrollInput.scrollToAdjustAmount": "Scroll to Adjust Amount",
|
|
||||||
"create.gui.scrollInput.scrollToSelect": "Scroll to Select",
|
|
||||||
"create.gui.scrollInput.shiftScrollsFaster": "Shift to Scroll Faster",
|
|
||||||
|
|
||||||
"create.gui.toolmenu.focusKey": "Hold [%1$s] to Focus",
|
|
||||||
"create.gui.toolmenu.cycle": "[SCROLL] to Cycle",
|
|
||||||
|
|
||||||
"create.gui.symmetryWand.mirrorType": "Mirror",
|
|
||||||
"create.gui.symmetryWand.orientation": "Orientation",
|
|
||||||
"create.symmetry.mirror.plane": "Mirror Once",
|
|
||||||
"create.symmetry.mirror.doublePlane": "Rectangular",
|
|
||||||
"create.symmetry.mirror.triplePlane": "Octagonal",
|
|
||||||
"create.orientation.orthogonal": "Orthogonal",
|
|
||||||
"create.orientation.diagonal": "Diagonal",
|
|
||||||
"create.orientation.horizontal": "Horizontal",
|
|
||||||
"create.orientation.alongZ": "Along Z",
|
|
||||||
"create.orientation.alongX": "Along X",
|
|
||||||
|
|
||||||
"create.gui.blockzapper.title": "Handheld Blockzapper",
|
|
||||||
"create.gui.blockzapper.replaceMode": "Replace Mode",
|
|
||||||
"create.gui.blockzapper.searchDiagonal": "Follow Diagonals",
|
|
||||||
"create.gui.blockzapper.searchFuzzy": "Ignore Material Borders",
|
|
||||||
"create.gui.blockzapper.range": "Spread Range",
|
|
||||||
"create.gui.blockzapper.needsUpgradedAmplifier": "Requires Upgraded Amplifier",
|
|
||||||
"create.gui.blockzapper.patternSection": "Pattern",
|
|
||||||
"create.gui.blockzapper.pattern.solid": "Solid",
|
|
||||||
"create.gui.blockzapper.pattern.checkered": "Checkerboard",
|
|
||||||
"create.gui.blockzapper.pattern.inversecheckered": "Inverted Checkerboard",
|
|
||||||
"create.gui.blockzapper.pattern.chance25": "25% Roll",
|
|
||||||
"create.gui.blockzapper.pattern.chance50": "50% Roll",
|
|
||||||
"create.gui.blockzapper.pattern.chance75": "75% Roll",
|
|
||||||
|
|
||||||
"create.gui.terrainzapper.title": "Handheld Worldshaper",
|
|
||||||
"create.gui.terrainzapper.placement": "Placement",
|
|
||||||
"create.gui.terrainzapper.placement.merged": "Merged",
|
|
||||||
"create.gui.terrainzapper.placement.attached": "Attached",
|
|
||||||
"create.gui.terrainzapper.placement.inserted": "Inserted",
|
|
||||||
"create.gui.terrainzapper.brush": "Brush",
|
|
||||||
"create.gui.terrainzapper.brush.cuboid": "Cuboid",
|
|
||||||
"create.gui.terrainzapper.brush.sphere": "Sphere",
|
|
||||||
"create.gui.terrainzapper.brush.cylinder": "Cylinder",
|
|
||||||
"create.gui.terrainzapper.tool": "Tool",
|
|
||||||
"create.gui.terrainzapper.tool.fill": "Fill",
|
|
||||||
"create.gui.terrainzapper.tool.place": "Place",
|
|
||||||
"create.gui.terrainzapper.tool.replace": "Replace",
|
|
||||||
"create.gui.terrainzapper.tool.clear": "Clear",
|
|
||||||
"create.gui.terrainzapper.tool.overlay": "Overlay",
|
|
||||||
"create.gui.terrainzapper.tool.flatten": "Flatten",
|
|
||||||
"create.terrainzapper.shiftRightClickToSet": "Shift-Right-Click to Select a Shape",
|
|
||||||
|
|
||||||
"create.blockzapper.usingBlock": "Using: %1$s",
|
|
||||||
"create.blockzapper.componentUpgrades": "Component Upgrades:",
|
|
||||||
"create.blockzapper.component.body": "Body",
|
|
||||||
"create.blockzapper.component.amplifier": "Amplifier",
|
|
||||||
"create.blockzapper.component.accelerator": "Accelerator",
|
|
||||||
"create.blockzapper.component.retriever": "Retriever",
|
|
||||||
"create.blockzapper.component.scope": "Scope",
|
|
||||||
"create.blockzapper.componentTier.none": "None",
|
|
||||||
"create.blockzapper.componentTier.brass": "Brass",
|
|
||||||
"create.blockzapper.componentTier.chromatic": "Chromatic",
|
|
||||||
"create.blockzapper.leftClickToSet": "Left-Click a Block to set Material",
|
|
||||||
"create.blockzapper.empty": "Out of Blocks!",
|
|
||||||
|
|
||||||
"create.contraptions.movement_mode": "Movement Mode",
|
|
||||||
"create.contraptions.movement_mode.move_place": "Always Place when Stopped",
|
|
||||||
"create.contraptions.movement_mode.move_place_returned": "Place only in Starting Position",
|
|
||||||
"create.contraptions.movement_mode.move_never_place": "Place only when Anchor Destroyed",
|
|
||||||
"create.contraptions.movement_mode.rotate_place": "Always Place when Stopped",
|
|
||||||
"create.contraptions.movement_mode.rotate_place_returned": "Only Place near Initial Angle",
|
|
||||||
"create.contraptions.movement_mode.rotate_never_place": "Only Place when Anchor Destroyed",
|
|
||||||
"create.contraptions.cart_movement_mode": "Cart Movement Mode",
|
|
||||||
"create.contraptions.cart_movement_mode.rotate": "Always face toward motion",
|
|
||||||
"create.contraptions.cart_movement_mode.rotate_paused": "Pause actors while rotating",
|
|
||||||
"create.contraptions.cart_movement_mode.rotation_locked": "Lock rotation",
|
|
||||||
|
|
||||||
"create.logistics.filter": "Filter",
|
|
||||||
"create.logistics.firstFrequency": "Freq. #1",
|
|
||||||
"create.logistics.secondFrequency": "Freq. #2",
|
|
||||||
|
|
||||||
"create.gui.goggles.generator_stats": "Generator Stats:",
|
|
||||||
"create.gui.goggles.kinetic_stats": "Kinetic Stats:",
|
|
||||||
"create.gui.goggles.at_current_speed": "At current Speed",
|
|
||||||
"create.gui.goggles.base_value": "Base Value",
|
|
||||||
|
|
||||||
"create.gui.gauge.info_header": "Gauge Information:",
|
|
||||||
"create.gui.speed_gauge.title": "Rotation Speed",
|
|
||||||
"create.gui.stress_gauge.title": "Network Stress",
|
|
||||||
"create.gui.stress_gauge.capacity": "Remaining Capacity",
|
|
||||||
"create.gui.stress_gauge.overstressed": "Overstressed",
|
|
||||||
"create.gui.stress_gauge.no_rotation": "No Rotation",
|
|
||||||
|
|
||||||
"create.gui.contraptions.not_fast_enough": "It appears that this %1$s is _not_ rotating with _enough_ _speed_.",
|
|
||||||
"create.gui.contraptions.network_overstressed": "It appears that this contraption is _overstressed_. Add more sources or _slow_ _down_ the components with a high _stress_ _impact_.",
|
|
||||||
|
|
||||||
"create.gui.flexcrate.title": "Adjustable Crate",
|
|
||||||
"create.gui.flexcrate.storageSpace": "Storage Space",
|
|
||||||
|
|
||||||
"create.gui.stockswitch.title": "Stockpile Switch",
|
|
||||||
"create.gui.stockswitch.lowerLimit": "Lower Threshold",
|
|
||||||
"create.gui.stockswitch.upperLimit": "Upper Threshold",
|
|
||||||
"create.gui.stockswitch.startAt": "Start Signal at",
|
|
||||||
"create.gui.stockswitch.startAbove": "Start Signal above",
|
|
||||||
"create.gui.stockswitch.stopAt": "Stop Signal at",
|
|
||||||
"create.gui.stockswitch.stopBelow": "Stop Signal below",
|
|
||||||
|
|
||||||
"create.gui.sequenced_gearshift.title": "Sequenced Gearshift",
|
|
||||||
"create.gui.sequenced_gearshift.instruction": "Instruction",
|
|
||||||
"create.gui.sequenced_gearshift.instruction.turn_angle": "Turn",
|
|
||||||
"create.gui.sequenced_gearshift.instruction.turn_angle.angle": "Angle",
|
|
||||||
"create.gui.sequenced_gearshift.instruction.turn_distance": "Piston",
|
|
||||||
"create.gui.sequenced_gearshift.instruction.turn_distance.distance": "Distance",
|
|
||||||
"create.gui.sequenced_gearshift.instruction.wait": "Wait",
|
|
||||||
"create.gui.sequenced_gearshift.instruction.wait.duration": "Duration",
|
|
||||||
"create.gui.sequenced_gearshift.instruction.end": "End",
|
|
||||||
"create.gui.sequenced_gearshift.speed": "Speed, Direction",
|
|
||||||
"create.gui.sequenced_gearshift.speed.forward": "Input speed, Forwards",
|
|
||||||
"create.gui.sequenced_gearshift.speed.forward_fast": "Double speed, Forwards",
|
|
||||||
"create.gui.sequenced_gearshift.speed.back": "Input speed, Reversed",
|
|
||||||
"create.gui.sequenced_gearshift.speed.back_fast": "Double speed, Reversed",
|
|
||||||
|
|
||||||
"create.schematicAndQuill.dimensions": "Schematic Size: %1$sx%2$sx%3$s",
|
|
||||||
"create.schematicAndQuill.firstPos": "First position set.",
|
|
||||||
"create.schematicAndQuill.secondPos": "Second position set.",
|
|
||||||
"create.schematicAndQuill.noTarget": "Hold [Ctrl] to select Air blocks.",
|
|
||||||
"create.schematicAndQuill.abort": "Removed selection.",
|
|
||||||
"create.schematicAndQuill.prompt": "Enter a name for the Schematic:",
|
|
||||||
"create.schematicAndQuill.fallbackName": "My Schematic",
|
|
||||||
"create.schematicAndQuill.saved": "Saved as %1$s",
|
|
||||||
|
|
||||||
"create.schematic.invalid": "[!] Invalid Item - Use the Schematic Table instead",
|
|
||||||
"create.schematic.position": "Position",
|
|
||||||
"create.schematic.rotation": "Rotation",
|
|
||||||
"create.schematic.rotation.none": "None",
|
|
||||||
"create.schematic.rotation.cw90": "Clockwise 90",
|
|
||||||
"create.schematic.rotation.cw180": "Clockwise 180",
|
|
||||||
"create.schematic.rotation.cw270": "Clockwise 270",
|
|
||||||
"create.schematic.mirror": "Mirror",
|
|
||||||
"create.schematic.mirror.none": "None",
|
|
||||||
"create.schematic.mirror.frontBack": "Front-Back",
|
|
||||||
"create.schematic.mirror.leftRight": "Left-Right",
|
|
||||||
|
|
||||||
"create.schematic.tool.deploy": "Deploy",
|
|
||||||
"create.schematic.tool.move": "Move XZ",
|
|
||||||
"create.schematic.tool.movey": "Move Y",
|
|
||||||
"create.schematic.tool.rotate": "Rotate",
|
|
||||||
"create.schematic.tool.print": "Print",
|
|
||||||
"create.schematic.tool.flip": "Flip",
|
|
||||||
|
|
||||||
"create.schematic.tool.deploy.description.0": "Moves the structure to a location.",
|
|
||||||
"create.schematic.tool.deploy.description.1": "Right-Click on the ground to place.",
|
|
||||||
"create.schematic.tool.deploy.description.2": "Hold [Ctrl] to select at a fixed distance.",
|
|
||||||
"create.schematic.tool.deploy.description.3": "[Ctrl]-Scroll to change the distance.",
|
|
||||||
"create.schematic.tool.move.description.0": "Shifts the Schematic Horizontally.",
|
|
||||||
"create.schematic.tool.move.description.1": "Point at the Schematic and [CTRL]-Scroll to push it.",
|
|
||||||
"create.schematic.tool.move.description.2": "",
|
|
||||||
"create.schematic.tool.move.description.3": "",
|
|
||||||
"create.schematic.tool.movey.description.0": "Shifts the Schematic Vertically.",
|
|
||||||
"create.schematic.tool.movey.description.1": "[CTRL]-Scroll to move it up/down.",
|
|
||||||
"create.schematic.tool.movey.description.2": "",
|
|
||||||
"create.schematic.tool.movey.description.3": "",
|
|
||||||
"create.schematic.tool.rotate.description.0": "Rotates the Schematic around its center.",
|
|
||||||
"create.schematic.tool.rotate.description.1": "[CTRL]-Scroll to rotate by 90 Degrees.",
|
|
||||||
"create.schematic.tool.rotate.description.2": "",
|
|
||||||
"create.schematic.tool.rotate.description.3": "",
|
|
||||||
"create.schematic.tool.print.description.0": "Instantly places the structure in the world.",
|
|
||||||
"create.schematic.tool.print.description.1": "[Right-Click] to confirm placement at the current location.",
|
|
||||||
"create.schematic.tool.print.description.2": "This tool is for Creative Mode only.",
|
|
||||||
"create.schematic.tool.print.description.3": "",
|
|
||||||
"create.schematic.tool.flip.description.0": "Flips the Schematic along the face you select.",
|
|
||||||
"create.schematic.tool.flip.description.1": "Point at the Schematic and [CTRL]-Scroll to flip it.",
|
|
||||||
"create.schematic.tool.flip.description.2": "",
|
|
||||||
"create.schematic.tool.flip.description.3": "",
|
|
||||||
|
|
||||||
"create.schematics.synchronizing": "Syncing...",
|
|
||||||
"create.schematics.uploadTooLarge": "Your schematic is too big.",
|
|
||||||
"create.schematics.maxAllowedSize": "The maximum allowed schematic file size is:",
|
|
||||||
|
|
||||||
"create.gui.schematicTable.title": "Schematic Table",
|
|
||||||
"create.gui.schematicTable.availableSchematics": "Available Schematics",
|
|
||||||
"create.gui.schematicTable.noSchematics": "No Schematics Saved",
|
|
||||||
"create.gui.schematicTable.uploading": "Uploading...",
|
|
||||||
"create.gui.schematicTable.finished": "Upload Finished!",
|
|
||||||
|
|
||||||
"create.gui.schematicannon.title": "Schematicannon",
|
|
||||||
"create.gui.schematicannon.settingsTitle": "Placement Settings",
|
|
||||||
"create.gui.schematicannon.listPrinter": "Material List Printer",
|
|
||||||
"create.gui.schematicannon.gunpowderLevel": "Gunpowder at %1$s%%",
|
|
||||||
"create.gui.schematicannon.shotsRemaining": "Shots left: %1$s",
|
|
||||||
"create.gui.schematicannon.shotsRemainingWithBackup": "With backup: %1$s",
|
|
||||||
"create.gui.schematicannon.optionEnabled": "Currently Enabled",
|
|
||||||
"create.gui.schematicannon.optionDisabled": "Currently Disabled",
|
|
||||||
"create.gui.schematicannon.option.dontReplaceSolid": "Don't Replace Solid Blocks",
|
|
||||||
"create.gui.schematicannon.option.replaceWithSolid": "Replace Solid with Solid",
|
|
||||||
"create.gui.schematicannon.option.replaceWithAny": "Replace Solid with Any",
|
|
||||||
"create.gui.schematicannon.option.replaceWithEmpty": "Replace Solid with Empty",
|
|
||||||
"create.gui.schematicannon.option.skipMissing": "Skip missing Blocks",
|
|
||||||
"create.gui.schematicannon.option.skipTileEntities": "Protect Tile Entities",
|
|
||||||
|
|
||||||
"create.gui.schematicannon.option.skipMissing.description": "If the cannon cannot find a required Block for placement, it will continue at the next Location.",
|
|
||||||
"create.gui.schematicannon.option.skipTileEntities.description": "The cannon will avoid replacing data holding blocks such as Chests.",
|
|
||||||
"create.gui.schematicannon.option.dontReplaceSolid.description": "The cannon will never replace any Solid blocks in its working area, only non-Solid and Air.",
|
|
||||||
"create.gui.schematicannon.option.replaceWithSolid.description": "The cannon will only replace Solid blocks in its working area if the Schematic contains a solid Block at the Location.",
|
|
||||||
"create.gui.schematicannon.option.replaceWithAny.description": "The cannon will replace Solid blocks in its working area if the Schematic contains any Block at the Location.",
|
|
||||||
"create.gui.schematicannon.option.replaceWithEmpty.description": "The cannon will clear out all blocks in its working area, including those replaced by Air.",
|
|
||||||
|
|
||||||
"create.schematicannon.status.idle": "Idle",
|
|
||||||
"create.schematicannon.status.ready": "Ready",
|
|
||||||
"create.schematicannon.status.running": "Running",
|
|
||||||
"create.schematicannon.status.finished": "Finished",
|
|
||||||
"create.schematicannon.status.paused": "Paused",
|
|
||||||
"create.schematicannon.status.stopped": "Stopped",
|
|
||||||
"create.schematicannon.status.noGunpowder": "Out of Gunpowder",
|
|
||||||
"create.schematicannon.status.targetNotLoaded": "Target is not loaded",
|
|
||||||
"create.schematicannon.status.targetOutsideRange": "Target too far away",
|
|
||||||
"create.schematicannon.status.searching": "Searching",
|
|
||||||
"create.schematicannon.status.skipping": "Skipping",
|
|
||||||
"create.schematicannon.status.missingBlock": "Missing Item:",
|
|
||||||
"create.schematicannon.status.placing": "Placing",
|
|
||||||
"create.schematicannon.status.clearing": "Clearing Blocks",
|
|
||||||
"create.schematicannon.status.schematicInvalid": "Schematic Invalid",
|
|
||||||
"create.schematicannon.status.schematicNotPlaced": "Schematic Not Deployed",
|
|
||||||
"create.schematicannon.status.schematicExpired": "Schematic File Expired",
|
|
||||||
|
|
||||||
"create.gui.filter.blacklist": "Blacklist",
|
|
||||||
"create.gui.filter.blacklist.description": "Items pass if they do NOT match any of the above. An empty Blacklist accepts everything.",
|
|
||||||
"create.gui.filter.whitelist": "Whitelist",
|
|
||||||
"create.gui.filter.whitelist.description": "Items pass if they match any of the above. An empty Whitelist rejects everything.",
|
|
||||||
"create.gui.filter.respect_data": "Respect Data",
|
|
||||||
"create.gui.filter.respect_data.description": "Items only match if their durability, enchantments, and other attributes match as well.",
|
|
||||||
"create.gui.filter.ignore_data": "Ignore Data",
|
|
||||||
"create.gui.filter.ignore_data.description": "Items match regardless of their attributes.",
|
|
||||||
|
|
||||||
"create.item_attributes.placeable": "is placeable",
|
|
||||||
"create.item_attributes.consumable": "can be eaten",
|
|
||||||
"create.item_attributes.smeltable": "can be Smelted",
|
|
||||||
"create.item_attributes.washable": "can be Washed",
|
|
||||||
"create.item_attributes.smokable": "can be Smoked",
|
|
||||||
"create.item_attributes.blastable": "is smeltable in Blast Furnace",
|
|
||||||
"create.item_attributes.enchanted": "is enchanted",
|
|
||||||
"create.item_attributes.damaged": "is damaged",
|
|
||||||
"create.item_attributes.badly_damaged": "is heavily damaged",
|
|
||||||
"create.item_attributes.not_stackable": "cannot stack",
|
|
||||||
"create.item_attributes.equipable": "can be equipped",
|
|
||||||
"create.item_attributes.furnace_fuel": "is furnace fuel",
|
|
||||||
"create.item_attributes.in_tag": "is tagged %1$s",
|
|
||||||
"create.item_attributes.in_item_group": "belongs to %1$s",
|
|
||||||
"create.item_attributes.added_by": "was added by %1$s",
|
|
||||||
|
|
||||||
"create.gui.attribute_filter.no_selected_attributes": "No attributes selected",
|
|
||||||
"create.gui.attribute_filter.selected_attributes": "Selected attributes:",
|
|
||||||
"create.gui.attribute_filter.whitelist_disjunctive": "Whitelist (Any)",
|
|
||||||
"create.gui.attribute_filter.whitelist_disjunctive.description": "Items pass if they have any of the selected attributes.",
|
|
||||||
"create.gui.attribute_filter.whitelist_conjunctive": "Whitelist (All)",
|
|
||||||
"create.gui.attribute_filter.whitelist_conjunctive.description": "Items pass only if they have ALL of the selected attributes.",
|
|
||||||
"create.gui.attribute_filter.blacklist": "Blacklist",
|
|
||||||
"create.gui.attribute_filter.blacklist.description": "Items pass if they do NOT have any of the selected attributes.",
|
|
||||||
"create.gui.attribute_filter.add_reference_item": "Add Reference Item",
|
|
||||||
|
|
||||||
"create.tooltip.holdKey": "Hold [%1$s]",
|
|
||||||
"create.tooltip.holdKeyOrKey": "Hold [%1$s] or [%2$s]",
|
|
||||||
"create.tooltip.keyShift": "Shift",
|
|
||||||
"create.tooltip.keyCtrl": "Ctrl",
|
|
||||||
|
|
||||||
"create.tooltip.speedRequirement": "Speed Requirement: %1$s",
|
|
||||||
"create.tooltip.speedRequirement.none": "None",
|
|
||||||
"create.tooltip.speedRequirement.medium": "Moderate",
|
|
||||||
"create.tooltip.speedRequirement.high": "Fast",
|
|
||||||
|
|
||||||
"create.tooltip.stressImpact": "Stress Impact: %1$s",
|
|
||||||
"create.tooltip.stressImpact.low": "Low",
|
|
||||||
"create.tooltip.stressImpact.medium": "Moderate",
|
|
||||||
"create.tooltip.stressImpact.high": "High",
|
|
||||||
"create.tooltip.stressImpact.overstressed": "Overstressed",
|
|
||||||
|
|
||||||
"create.tooltip.capacityProvided": "Stress Capacity: %1$s",
|
|
||||||
"create.tooltip.capacityProvided.low": "Small",
|
|
||||||
"create.tooltip.capacityProvided.medium": "Medium",
|
|
||||||
"create.tooltip.capacityProvided.high": "Large",
|
|
||||||
"create.tooltip.capacityProvided.asGenerator": "(As Generator)",
|
|
||||||
"create.tooltip.generationSpeed" : "Generates at %1$s %2$s",
|
|
||||||
|
|
||||||
"create.tooltip.analogStrength": "Analog Strength: %1$s/15",
|
|
||||||
|
|
||||||
"create.tooltip.wip": "WIP",
|
|
||||||
"create.tooltip.workInProgress": "Work in progress!",
|
|
||||||
|
|
||||||
"create.tooltip.randomWipDescription0": "Please keep this item away from children.",
|
|
||||||
"create.tooltip.randomWipDescription1": "A baby panda dies every time you use this item. Every. Time.",
|
|
||||||
"create.tooltip.randomWipDescription2": "Use at your own risk.",
|
|
||||||
"create.tooltip.randomWipDescription3": "This is not the item you are looking for, *finger-wiggles* please disperse.",
|
|
||||||
"create.tooltip.randomWipDescription4": "This item will self-destruct in 10 seconds. 10, 9, 8...",
|
|
||||||
"create.tooltip.randomWipDescription5": "Believe me, it's useless.",
|
|
||||||
"create.tooltip.randomWipDescription6": "By using this item, you hereby consent to our disclaimer and agree to its terms.",
|
|
||||||
"create.tooltip.randomWipDescription7": "This one maybe isn't for you. What about that one?",
|
|
||||||
"create.tooltip.randomWipDescription8": "Use it and regret your decision immediately.",
|
|
||||||
|
|
||||||
"create.mechanical_mixer.min_ingredients": "Min. Ingredients",
|
|
||||||
|
|
||||||
"create.command.killTPSCommand": "killtps",
|
|
||||||
"create.command.killTPSCommand.status.slowed_by.0": "[Create]: Server tick is currently slowed by %s ms :o",
|
|
||||||
"create.command.killTPSCommand.status.slowed_by.1": "[Create]: Server tick is slowed by %s ms now >:)",
|
|
||||||
"create.command.killTPSCommand.status.slowed_by.2": "[Create]: Server tick is back to regular speed :D",
|
|
||||||
"create.command.killTPSCommand.status.usage.0": "[Create]: use /killtps stop to bring back server tick to regular speed",
|
|
||||||
"create.command.killTPSCommand.status.usage.1": "[Create]: use /killtps start <tickTime> to artificially slow down the server tick",
|
|
||||||
"create.command.killTPSCommand.argument.tickTime": "tickTime",
|
|
||||||
|
|
||||||
"advancement.create.root": "Welcome to Create",
|
|
||||||
"advancement.create.root.desc": "It's time to start building some amazing Contraptions!",
|
|
||||||
"advancement.create.andesite_alloy": "Alliterations Aplenty",
|
|
||||||
"advancement.create.andesite_alloy.desc": "Create's materials have weird names, Andesite Alloy is one of them.",
|
|
||||||
|
|
||||||
"advancement.create.its_alive": "It's Alive!",
|
|
||||||
"advancement.create.its_alive.desc": "Watch your first kinetic component spin.",
|
|
||||||
"advancement.create.shifting_gears": "Shifting Gear",
|
|
||||||
"advancement.create.shifting_gears.desc": "Connect a large to a small cogwheel allowing you to change the speed of your contraption.",
|
|
||||||
"advancement.create.overstressed": "Overstressed",
|
|
||||||
"advancement.create.overstressed.desc": "Experience the limits of stress firsthand.",
|
|
||||||
"advancement.create.belt": "Convey it all",
|
|
||||||
"advancement.create.belt.desc": "Connect two shafts with a Mechanical Belt.",
|
|
||||||
"advancement.create.wrench": "Configure Conveniently",
|
|
||||||
"advancement.create.wrench.desc": "Create a Wrench to aid you in building your contraptions.",
|
|
||||||
"advancement.create.goggles": "Stress-o-vision",
|
|
||||||
"advancement.create.goggles.desc": "Create some goggles to aid you in getting more kinetic information for components.",
|
|
||||||
"advancement.create.speed_gauge": "But how fast exactly?",
|
|
||||||
"advancement.create.speed_gauge.desc": "Place and power a Speedometer. Look at it through your goggles to read its exact value.",
|
|
||||||
"advancement.create.stress_gauge": "But how stressed exactly?",
|
|
||||||
"advancement.create.stress_gauge.desc": "Place and power a Stressometer. Look at it through your goggles to read its exact value.",
|
|
||||||
|
|
||||||
"advancement.create.water_wheel": "Harnessing Hydraulics",
|
|
||||||
"advancement.create.water_wheel.desc": "Place a Water Wheel and try getting it to spin!",
|
|
||||||
"advancement.create.lava_wheel": "Magma Wheel",
|
|
||||||
"advancement.create.lava_wheel.desc": "This shouldn't have worked.",
|
|
||||||
"advancement.create.millstone": "Pocket Crusher",
|
|
||||||
"advancement.create.millstone.desc": "Place and power a Millstone",
|
|
||||||
"advancement.create.andesite_casing": "The Andesite Age",
|
|
||||||
"advancement.create.andesite_casing.desc": "Use some Andesite Alloy and Wood to create a basic Casing.",
|
|
||||||
"advancement.create.drill": "Stationary breakers",
|
|
||||||
"advancement.create.drill.desc": "Place and power a Mechanical Drill",
|
|
||||||
"advancement.create.press": "Press goes 'Bonk!'",
|
|
||||||
"advancement.create.press.desc": "Power a Mechanical Press and use it to create some Plates.",
|
|
||||||
"advancement.create.polished_rose_quartz": "Pink Diamonds",
|
|
||||||
"advancement.create.polished_rose_quartz.desc": "Use a piece of sand paper to polish Rose Quartz until it becomes transparent.",
|
|
||||||
"advancement.create.electron_tube": "Beep boop",
|
|
||||||
"advancement.create.electron_tube.desc": "Make some Electron Tubes, useful in crafting less primitive machinery.",
|
|
||||||
"advancement.create.saw": "Stationary Chopping",
|
|
||||||
"advancement.create.saw.desc": "Place and power a Mechanical Saw",
|
|
||||||
"advancement.create.basin": "Basin Operation",
|
|
||||||
"advancement.create.basin.desc": "Place a basin and try throwing items into it.",
|
|
||||||
"advancement.create.mixer": "Mixin' it Up",
|
|
||||||
"advancement.create.mixer.desc": "Place a Mechanical Mixer above the basin, power it, and start mixing some ingredients.",
|
|
||||||
"advancement.create.compact": "Automated Compacting",
|
|
||||||
"advancement.create.compact.desc": "Use a press and a basin to compact some items.",
|
|
||||||
|
|
||||||
"advancement.create.expert_lane_1": "The Andesite Expert Lane",
|
|
||||||
"advancement.create.expert_lane_1.desc": "Work in Progress",
|
|
||||||
|
|
||||||
"advancement.create.brass": "An Actual Alloy",
|
|
||||||
"advancement.create.brass.desc": "Use Crushed Copper and Crushed Zinc to create some Brass.",
|
|
||||||
"advancement.create.brass_casing": "The Brass Age",
|
|
||||||
"advancement.create.brass_casing.desc": "Use newly obtained Brass and some Wood to create a more advanced Casing.",
|
|
||||||
"advancement.create.copper_casing": "The Copper Age",
|
|
||||||
"advancement.create.copper_casing.desc": "Use some copper sheets to create Copper Casing.",
|
|
||||||
|
|
||||||
"advancement.create.crafter": "Automated Assembly",
|
|
||||||
"advancement.create.crafter.desc": "Place and power some Mechanical Crafters",
|
|
||||||
"advancement.create.deployer": "Poke, Place, and Attack",
|
|
||||||
"advancement.create.deployer.desc": "Place and power a Deployer, the perfect reflection of yourself.",
|
|
||||||
"advancement.create.fist_bump": "Pound It, Bro!",
|
|
||||||
"advancement.create.fist_bump.desc": "Make two Deployers fist-bump.",
|
|
||||||
"advancement.create.crushing_wheel": "A Pair of Giants",
|
|
||||||
"advancement.create.crushing_wheel.desc": "Create some Crushing Wheels to break down more materials more effectively.",
|
|
||||||
|
|
||||||
"advancement.create.chromatic_compound": "Bipolar Minerals",
|
|
||||||
"advancement.create.chromatic_compound.desc": "Create a Bar of Chromatic Compound.",
|
|
||||||
"advancement.create.shadow_steel": "Void Returner",
|
|
||||||
"advancement.create.shadow_steel.desc": "Create Shadow Steel, a metal bar of nothingness.",
|
|
||||||
"advancement.create.refined_radiance": "Bright and Inspiring",
|
|
||||||
"advancement.create.refined_radiance.desc": "Create Refined Radiance, a powerful chromatic substance.",
|
|
||||||
|
|
||||||
"advancement.create.zapper": "Building with style",
|
|
||||||
"advancement.create.zapper.desc": "Craft a Blockzapper. A radiant laser gun that helps you build.",
|
|
||||||
"advancement.create.upgraded_zapper": "Radiant Overdrive",
|
|
||||||
"advancement.create.upgraded_zapper.desc": "Create and activate a fully upgraded Blockzapper.",
|
|
||||||
"advancement.create.symmetry_wand": "Radiant Mirrors",
|
|
||||||
"advancement.create.symmetry_wand.desc": "Craft a Staff of Symmetry.",
|
|
||||||
"advancement.create.deforester": "Radiant Chopping",
|
|
||||||
"advancement.create.deforester.desc": "Craft a Deforester, and say goodbye to the local forest.",
|
|
||||||
|
|
||||||
"advancement.create.eob": "End of Beta",
|
|
||||||
"advancement.create.eob.desc": "Expect more content here in the future. <3",
|
|
||||||
|
|
||||||
"create.subtitle.schematicannon_launch_block": "Schematicannon shoots",
|
|
||||||
"create.subtitle.schematicannon_finish": "Schematicannon finishes",
|
|
||||||
"create.subtitle.slime_added": "Slime squishes",
|
|
||||||
"create.subtitle.mechanical_press_activation": "Mechanical Press activates",
|
|
||||||
"create.subtitle.mechanical_press_item_break": "Metal clanks",
|
|
||||||
"create.subtitle.blockzapper_place": "Blocks zap into place",
|
|
||||||
"create.subtitle.blockzapper_confirm": "Affirmative Ding",
|
|
||||||
"create.subtitle.blockzapper_deny": "Declining Boop",
|
|
||||||
"create.subtitle.block_funnel_eat": "Funnel CHOMPS",
|
|
||||||
|
|
||||||
"_comment": "-------------------------] ITEM DESCRIPTIONS [------------------------------------------------",
|
|
||||||
|
|
||||||
"item.create.example_item.tooltip": "EXAMPLE ITEM (just a marker that this tooltip exists)",
|
"item.create.example_item.tooltip": "EXAMPLE ITEM (just a marker that this tooltip exists)",
|
||||||
"item.create.example_item.tooltip.summary": "A brief description of the item. _Underscores_ highlight a term.",
|
"item.create.example_item.tooltip.summary": "A brief description of the item. _Underscores_ highlight a term.",
|
||||||
"item.create.example_item.tooltip.condition1": "When this",
|
"item.create.example_item.tooltip.condition1": "When this",
|
||||||
|
@ -1221,6 +497,17 @@
|
||||||
"tool.create.rose_quartz.tooltip": "ROSE QUARTZ TOOLS",
|
"tool.create.rose_quartz.tooltip": "ROSE QUARTZ TOOLS",
|
||||||
"tool.create.rose_quartz.tooltip.summary": "This tool grants you a _greater_ _reach_ for _breaking_ _blocks_ or _placing_ _blocks_ from the off-hand.",
|
"tool.create.rose_quartz.tooltip.summary": "This tool grants you a _greater_ _reach_ for _breaking_ _blocks_ or _placing_ _blocks_ from the off-hand.",
|
||||||
|
|
||||||
"itemGroup.create.base": "Create",
|
"create.tooltip.wip": "WIP",
|
||||||
"itemGroup.create.palettes": "Create Palettes"
|
"create.tooltip.workInProgress": "Work in progress!",
|
||||||
|
|
||||||
|
"create.tooltip.randomWipDescription0": "Please keep this item away from children.",
|
||||||
|
"create.tooltip.randomWipDescription1": "A baby panda dies every time you use this item. Every. Time.",
|
||||||
|
"create.tooltip.randomWipDescription2": "Use at your own risk.",
|
||||||
|
"create.tooltip.randomWipDescription3": "This is not the item you are looking for, *finger-wiggles* please disperse.",
|
||||||
|
"create.tooltip.randomWipDescription4": "This item will self-destruct in 10 seconds. 10, 9, 8...",
|
||||||
|
"create.tooltip.randomWipDescription5": "Believe me, it's useless.",
|
||||||
|
"create.tooltip.randomWipDescription6": "By using this item, you hereby consent to our disclaimer and agree to its terms.",
|
||||||
|
"create.tooltip.randomWipDescription7": "This one maybe isn't for you. What about that one?",
|
||||||
|
"create.tooltip.randomWipDescription8": "Use it and regret your decision immediately."
|
||||||
|
|
||||||
}
|
}
|
Loading…
Reference in a new issue