geforkt von Mirrors/FastAsyncWorldEdit
Merge remote-tracking branch 'upstream/1.16' into fixEntities
Dieser Commit ist enthalten in:
Commit
3aa041aa7e
31
NOTICE.txt
31
NOTICE.txt
@ -16,3 +16,34 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
Unknown LZ4 Java code
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
BufferedRandomAccessFile.java
|
||||
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.
|
||||
See the NOTICE file distributed with this work for additional information regarding
|
||||
copyright ownership. The ASF licenses this file to you under the Apache License,
|
||||
Version 2.0 ("License"); you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and limitations under the License.
|
||||
|
||||
SimplexNoise.java
|
||||
|
||||
Version 2012-03-09
|
||||
This code was placed in the public domain by its original author, Stefan Gustavson. You may use it
|
||||
as you see fit, but attribution is appreciated.
|
||||
|
@ -14,17 +14,18 @@ logger.lifecycle("""
|
||||
Output files will be in [subproject]/build/libs
|
||||
*******************************************
|
||||
""")
|
||||
|
||||
//TODO FIX THIS WHEN I FEEL LIKE IT
|
||||
var rootVersion = "1.16"
|
||||
var revision: String = ""
|
||||
var buildNumber = ""
|
||||
var date: String = ""
|
||||
var rootVersion by extra("1.16")
|
||||
var revision: String by extra("")
|
||||
var buildNumber by extra("")
|
||||
var date: String by extra("")
|
||||
ext {
|
||||
val git: Grgit = Grgit.open {
|
||||
dir = File("$rootDir/.git");
|
||||
}
|
||||
ext["date"] = git.head().dateTime.format(DateTimeFormatter.ofPattern("yy.MM.dd"));
|
||||
ext["revision"] = "-${git.head().abbreviatedId}";
|
||||
date = git.head().dateTime.format(DateTimeFormatter.ofPattern("yy.MM.dd"));
|
||||
revision = "-${git.head().abbreviatedId}";
|
||||
var parents: MutableList<String>? = git.head().parentIds;
|
||||
if (project.hasProperty("buildnumber")) {
|
||||
buildNumber = project.properties["buildnumber"] as String;
|
||||
@ -48,6 +49,8 @@ allprojects {
|
||||
|
||||
version = String.format("%s-%s", rootVersion, buildNumber)
|
||||
|
||||
applyCommonConfiguration()
|
||||
|
||||
if (!project.hasProperty("gitCommitHash")) {
|
||||
apply(plugin = "org.ajoberstar.grgit")
|
||||
ext["gitCommitHash"] = try {
|
||||
|
@ -52,11 +52,11 @@ dependencies {
|
||||
implementation("com.github.jengelman.gradle.plugins:shadow:5.2.0")
|
||||
implementation("net.ltgt.apt-eclipse:net.ltgt.apt-eclipse.gradle.plugin:0.21")
|
||||
implementation("net.ltgt.apt-idea:net.ltgt.apt-idea.gradle.plugin:0.21")
|
||||
implementation("org.jfrog.buildinfo:build-info-extractor-gradle:4.16.0")
|
||||
implementation("gradle.plugin.org.spongepowered:spongegradle:0.9.0")
|
||||
implementation("net.minecraftforge.gradle:ForgeGradle:3.0.179")
|
||||
implementation("net.fabricmc:fabric-loom:$loomVersion")
|
||||
implementation("net.fabricmc:sponge-mixin:$mixinVersion")
|
||||
//implementation("org.jfrog.buildinfo:build-info-extractor-gradle:4.16.0")
|
||||
//implementation("gradle.plugin.org.spongepowered:spongegradle:0.9.0")
|
||||
//implementation("net.minecraftforge.gradle:ForgeGradle:3.0.181")
|
||||
//implementation("net.fabricmc:fabric-loom:$loomVersion")
|
||||
//implementation("net.fabricmc:sponge-mixin:$mixinVersion")
|
||||
implementation("gradle.plugin.com.mendhak.gradlecrowdin:plugin:0.1.0")
|
||||
implementation("org.enginehub.gradle:gradle-codecov-plugin:0.1.0")
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.api.artifacts.ExternalModuleDependency
|
||||
import org.gradle.api.artifacts.ModuleDependency
|
||||
import org.gradle.api.internal.HasConvention
|
||||
import org.gradle.api.plugins.MavenRepositoryHandlerConvention
|
||||
@ -41,7 +42,7 @@ fun Project.applyLibrariesConfiguration() {
|
||||
val deps = configurations["shade"].incoming.dependencies
|
||||
.filterIsInstance<ModuleDependency>()
|
||||
.map { it.copy() }
|
||||
.map { dependency ->
|
||||
.map { dependency: ModuleDependency ->
|
||||
dependency.artifact {
|
||||
name = dependency.name
|
||||
type = artifactType
|
||||
@ -95,3 +96,16 @@ fun Project.applyLibrariesConfiguration() {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
fun Project.constrainDependenciesToLibsCore() {
|
||||
evaluationDependsOn(":worldedit-libs:core")
|
||||
val coreDeps = project(":worldedit-libs:core").configurations["shade"].dependencies
|
||||
.filterIsInstance<ExternalModuleDependency>()
|
||||
dependencies.constraints {
|
||||
for (coreDep in coreDeps) {
|
||||
add("shade", "${coreDep.group}:${coreDep.name}:${coreDep.version}") {
|
||||
because("libs should align with libs:core")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ import org.gradle.api.Project
|
||||
import org.gradle.api.plugins.JavaPluginConvention
|
||||
import org.gradle.api.plugins.quality.CheckstyleExtension
|
||||
import org.gradle.api.tasks.bundling.Jar
|
||||
import org.gradle.api.tasks.compile.JavaCompile
|
||||
import org.gradle.api.tasks.javadoc.Javadoc
|
||||
import org.gradle.api.tasks.testing.Test
|
||||
import org.gradle.external.javadoc.CoreJavadocOptions
|
||||
@ -32,6 +33,18 @@ fun Project.applyPlatformAndCoreConfiguration() {
|
||||
targetCompatibility = JavaVersion.VERSION_1_8
|
||||
}
|
||||
|
||||
tasks
|
||||
.withType<JavaCompile>()
|
||||
.matching { it.name == "compileJava" || it.name == "compileTestJava" }
|
||||
.configureEach {
|
||||
val disabledLint = listOf(
|
||||
"processing", "path", "fallthrough", "serial"
|
||||
)
|
||||
//options.compilerArgs.addAll(listOf("-Xlint:all") + disabledLint.map { "-Xlint:-$it" })
|
||||
options.isDeprecation = false
|
||||
options.encoding = "UTF-8"
|
||||
}
|
||||
|
||||
// configure<CheckstyleExtension> {
|
||||
// configFile = rootProject.file("config/checkstyle/checkstyle.xml")
|
||||
// toolVersion = "8.34"
|
||||
@ -52,19 +65,14 @@ fun Project.applyPlatformAndCoreConfiguration() {
|
||||
|
||||
// Java 8 turns on doclint which we fail
|
||||
tasks.withType<Javadoc>().configureEach {
|
||||
//delete("docs/javadoc")
|
||||
//setDestinationDir(file("docs/javadoc"))
|
||||
//title = "${project.name} ${project.version} API"
|
||||
//(options as StandardJavadocDocletOptions).addStringOption("author", "true")
|
||||
(options as CoreJavadocOptions).addStringOption("Xdoclint:none", "-quiet")
|
||||
// subprojects.forEach { proj ->
|
||||
// proj.tasks.withType<Javadoc>().forEach { javadocTask ->
|
||||
// source += javadocTask.source
|
||||
// classpath += javadocTask.classpath
|
||||
// excludes += javadocTask.excludes
|
||||
// includes += javadocTask.includes
|
||||
// }
|
||||
// }
|
||||
(options as StandardJavadocDocletOptions).apply {
|
||||
addStringOption("Xdoclint:none", "-quiet")
|
||||
tags(
|
||||
"apiNote:a:API Note:",
|
||||
"implSpec:a:Implementation Requirements:",
|
||||
"implNote:a:Implementation Note:"
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
tasks.register<Jar>("javadocJar") {
|
||||
|
@ -2,12 +2,15 @@ import org.gradle.api.Project
|
||||
|
||||
object Versions {
|
||||
const val TEXT = "3.0.4"
|
||||
const val TEXT_EXTRAS = "3.0.5"
|
||||
const val TEXT_EXTRAS = "3.0.6"
|
||||
const val PISTON = "0.5.6"
|
||||
const val AUTO_VALUE = "1.7"
|
||||
const val JUNIT = "5.6.1"
|
||||
const val MOCKITO = "3.3.3"
|
||||
const val LOGBACK = "1.2.3"
|
||||
const val FAST_UTIL = "8.2.1"
|
||||
const val GUAVA = "21.0"
|
||||
const val GSON = "2.8.0"
|
||||
}
|
||||
|
||||
// Properties that need a project reference to resolve:
|
||||
|
@ -96,7 +96,7 @@ Checks based on Google Checks, modified for EngineHub.
|
||||
value="Member name ''{0}'' must match pattern ''{1}''."/>
|
||||
</module>
|
||||
<module name="ParameterName">
|
||||
<property name="format" value="^([a-z][a-z0-9][_a-zA-Z0-9]*|[a-z])$"/>
|
||||
<property name="format" value="^([a-z][_a-zA-Z0-9]*|[a-z])$"/>
|
||||
<message key="name.invalidPattern"
|
||||
value="Parameter name ''{0}'' must match pattern ''{1}''."/>
|
||||
</module>
|
||||
|
@ -23,7 +23,6 @@ repositories {
|
||||
name = "ProtocolLib Repo"
|
||||
url = uri("https://repo.dmulloy2.net/nexus/repository/public/")
|
||||
}
|
||||
maven { url = uri("https://repo.inventivetalent.org/content/groups/public/")}
|
||||
flatDir {dir(File("src/main/resources"))}
|
||||
}
|
||||
|
||||
@ -34,32 +33,36 @@ configurations.all {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compile("com.github.MilkBowl:VaultAPI:1.7") { isTransitive = false }
|
||||
compileOnly("com.github.MilkBowl:VaultAPI:1.7") {
|
||||
isTransitive = false
|
||||
}
|
||||
"api"(project(":worldedit-core"))
|
||||
"api"(project(":worldedit-libs:bukkit"))
|
||||
"compile"(":worldedit-adapters:")
|
||||
"compile"("org.spigotmcv1_14_r1:spigotmcv1_14_r1:1_14_r1")
|
||||
"compile"("org.spigotmcv1_15_r1:spigotmcv1_15_r1:1_15_r1")
|
||||
"compile"("it.unimi.dsi:fastutil:8.2.1")
|
||||
"implementation"("it.unimi.dsi:fastutil:${Versions.FAST_UTIL}")
|
||||
"api"("com.destroystokyo.paper:paper-api:1.16.1-R0.1-SNAPSHOT") {
|
||||
exclude("junit", "junit")
|
||||
isTransitive = false
|
||||
}
|
||||
"compileOnly"("org.jetbrains:annotations:20.0.0")
|
||||
"compileOnly"("org.spigotmc:spigot:1.14.4-R0.1-SNAPSHOT")
|
||||
"compileOnly"("org.spigotmc:spigot:1.15.2-R0.1-SNAPSHOT")
|
||||
"compileOnly"("org.spigotmc:spigot:1.16.1-R0.1-SNAPSHOT")
|
||||
"implementation"("io.papermc:paperlib:1.0.2")
|
||||
"compileOnly"("com.sk89q:dummypermscompat:1.10")
|
||||
"implementation"("io.papermc:paperlib:1.0.+")
|
||||
"compileOnly"("com.sk89q:dummypermscompat:1.10") {
|
||||
exclude("com.github.MilkBowl", "VaultAPI")
|
||||
}
|
||||
"implementation"("org.apache.logging.log4j:log4j-slf4j-impl:2.8.1")
|
||||
"testCompile"("org.mockito:mockito-core:1.9.0-rc1")
|
||||
"testImplementation"("org.mockito:mockito-core:1.9.0-rc1")
|
||||
"compileOnly"("com.sk89q.worldguard:worldguard-bukkit:7.+") {
|
||||
exclude("com.sk89q.worldedit", "worldedit-bukkit")
|
||||
exclude("com.sk89q.worldedit", "worldedit-core")
|
||||
exclude("com.sk89q.worldedit.worldedit-libs", "bukkit")
|
||||
exclude("com.sk89q.worldedit.worldedit-libs", "core")
|
||||
}
|
||||
"implementation"("org.inventivetalent:mapmanager:1.7.3-SNAPSHOT") { isTransitive = false }
|
||||
|
||||
"implementation"("com.github.InventivetalentDev:MapManager:1.7.+") { isTransitive = false }
|
||||
"implementation"("com.github.TechFortress:GriefPrevention:16.+") { isTransitive = false }
|
||||
"implementation"("com.massivecraft:mcore:7.0.1") { isTransitive = false }
|
||||
"implementation"("com.bekvon.bukkit.residence:Residence:4.5._13.1") { isTransitive = false }
|
||||
@ -100,7 +103,7 @@ tasks.named<ShadowJar>("shadowJar") {
|
||||
include(dependency("org.bstats:bstats-bukkit:1.7"))
|
||||
}
|
||||
relocate("io.papermc.lib", "com.sk89q.worldedit.bukkit.paperlib") {
|
||||
include(dependency("io.papermc:paperlib:1.0.2"))
|
||||
include(dependency("io.papermc:paperlib:1.+"))
|
||||
}
|
||||
relocate("it.unimi.dsi.fastutil", "com.sk89q.worldedit.bukkit.fastutil") {
|
||||
include(dependency("it.unimi.dsi:fastutil"))
|
||||
|
@ -88,7 +88,7 @@ public class FaweBukkit implements IFawe, Listener {
|
||||
Integer.parseInt(Bukkit.getBukkitVersion().split("-")[0].split("\\.")[1]) >= 16;
|
||||
|
||||
//Vault is Spigot/Paper only so this needs to be done in the Bukkit module
|
||||
setupVault();
|
||||
TaskManager.IMP.later(this::setupVault, 0);
|
||||
|
||||
//PlotSquared support is limited to Spigot/Paper as of 02/20/2020
|
||||
TaskManager.IMP.later(this::setupPlotSquared, 0);
|
||||
|
@ -22,7 +22,7 @@ package com.sk89q.worldedit.bukkit;
|
||||
|
||||
import com.boydti.fawe.Fawe;
|
||||
import com.boydti.fawe.bukkit.FaweBukkit;
|
||||
import com.sk89q.worldedit.bukkit.adapter.impl.FAWE_Spigot_v1_14_R4;
|
||||
import com.boydti.fawe.config.Settings;
|
||||
import com.boydti.fawe.util.MainUtil;
|
||||
import com.google.common.base.Joiner;
|
||||
import com.sk89q.util.yaml.YAMLProcessor;
|
||||
@ -33,6 +33,7 @@ import com.sk89q.worldedit.WorldEdit;
|
||||
import com.sk89q.worldedit.bukkit.adapter.AdapterLoadException;
|
||||
import com.sk89q.worldedit.bukkit.adapter.BukkitImplAdapter;
|
||||
import com.sk89q.worldedit.bukkit.adapter.BukkitImplLoader;
|
||||
import com.sk89q.worldedit.bukkit.adapter.impl.FAWE_Spigot_v1_14_R4;
|
||||
import com.sk89q.worldedit.bukkit.adapter.impl.FAWE_Spigot_v1_15_R2;
|
||||
import com.sk89q.worldedit.bukkit.adapter.impl.FAWE_Spigot_v1_16_R1;
|
||||
import com.sk89q.worldedit.event.platform.CommandEvent;
|
||||
@ -42,8 +43,8 @@ import com.sk89q.worldedit.extension.platform.Actor;
|
||||
import com.sk89q.worldedit.extension.platform.Capability;
|
||||
import com.sk89q.worldedit.extension.platform.Platform;
|
||||
import com.sk89q.worldedit.extent.inventory.BlockBag;
|
||||
import com.sk89q.worldedit.internal.command.CommandUtil;
|
||||
import com.sk89q.worldedit.internal.anvil.ChunkDeleter;
|
||||
import com.sk89q.worldedit.internal.command.CommandUtil;
|
||||
import com.sk89q.worldedit.world.biome.BiomeType;
|
||||
import com.sk89q.worldedit.world.block.BlockCategory;
|
||||
import com.sk89q.worldedit.world.entity.EntityType;
|
||||
@ -51,9 +52,6 @@ import com.sk89q.worldedit.world.gamemode.GameModes;
|
||||
import com.sk89q.worldedit.world.item.ItemCategory;
|
||||
import com.sk89q.worldedit.world.weather.WeatherTypes;
|
||||
import io.papermc.lib.PaperLib;
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.ArrayList;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import org.bstats.bukkit.Metrics;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
@ -75,22 +73,25 @@ import org.bukkit.plugin.PluginManager;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.bukkit.plugin.java.JavaPluginLoader;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.lang.reflect.Field;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.logging.Level;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
@ -112,6 +113,7 @@ public class WorldEditPlugin extends JavaPlugin { //implements TabCompleter
|
||||
private BukkitConfiguration config;
|
||||
|
||||
private static Map<String, Plugin> lookupNames;
|
||||
|
||||
static {
|
||||
// Disable AWE as otherwise both fail to load
|
||||
PluginManager manager = Bukkit.getPluginManager();
|
||||
@ -142,7 +144,8 @@ public class WorldEditPlugin extends JavaPlugin { //implements TabCompleter
|
||||
return super.put(key, plugin);
|
||||
}
|
||||
});
|
||||
} catch (Throwable ignore) {}
|
||||
} catch (Throwable ignored) {
|
||||
}
|
||||
}
|
||||
|
||||
public WorldEditPlugin() {
|
||||
@ -167,7 +170,9 @@ public class WorldEditPlugin extends JavaPlugin { //implements TabCompleter
|
||||
|
||||
@Override
|
||||
public void onLoad() {
|
||||
if (INSTANCE != null) return;
|
||||
if (INSTANCE != null) {
|
||||
return;
|
||||
}
|
||||
rename();
|
||||
INSTANCE = this;
|
||||
FaweBukkit imp = new FaweBukkit(this);
|
||||
@ -185,8 +190,8 @@ public class WorldEditPlugin extends JavaPlugin { //implements TabCompleter
|
||||
if (Files.exists(delChunks)) {
|
||||
ChunkDeleter.runFromFile(delChunks, true);
|
||||
}
|
||||
|
||||
fail(() -> PermissionsResolverManager.initialize(INSTANCE), "Failed to initialize permissions resolver");
|
||||
|
||||
fail(() -> PermissionsResolverManager.initialize(INSTANCE), "Failed to initialize permissions resolver");
|
||||
}
|
||||
|
||||
/**
|
||||
@ -194,15 +199,17 @@ public class WorldEditPlugin extends JavaPlugin { //implements TabCompleter
|
||||
*/
|
||||
@Override
|
||||
public void onEnable() {
|
||||
if (INSTANCE != null) return;
|
||||
if (INSTANCE != null) {
|
||||
return;
|
||||
}
|
||||
onLoad();
|
||||
|
||||
PermissionsResolverManager.initialize(this); // Setup permission resolver
|
||||
|
||||
// Register CUI
|
||||
fail(() -> {
|
||||
getServer().getMessenger().registerIncomingPluginChannel(this, CUI_PLUGIN_CHANNEL, new CUIChannelListener(this));
|
||||
getServer().getMessenger().registerOutgoingPluginChannel(this, CUI_PLUGIN_CHANNEL);
|
||||
getServer().getMessenger().registerIncomingPluginChannel(this, CUI_PLUGIN_CHANNEL, new CUIChannelListener(this));
|
||||
getServer().getMessenger().registerOutgoingPluginChannel(this, CUI_PLUGIN_CHANNEL);
|
||||
}, "Failed to register CUI");
|
||||
|
||||
// Now we can register events
|
||||
@ -227,8 +234,15 @@ public class WorldEditPlugin extends JavaPlugin { //implements TabCompleter
|
||||
}
|
||||
}
|
||||
|
||||
// Enable metrics
|
||||
new Metrics(this, BSTATS_PLUGIN_ID);
|
||||
// Setup metrics
|
||||
if (Settings.IMP.ENABLED_COMPONENTS.BSTATS) {
|
||||
new Metrics(this, BSTATS_PLUGIN_ID);
|
||||
} else {
|
||||
getLogger().warning("bStats is disabled. Please enable it in /plugins/FastAsyncWorldEdit/config.yml. It helps the developers to identify the features most used");
|
||||
getLogger().warning("and organize future updates better. Cheers.");
|
||||
}
|
||||
|
||||
// Suggest PaperMC
|
||||
PaperLib.suggestPaper(this);
|
||||
}
|
||||
|
||||
@ -248,8 +262,11 @@ public class WorldEditPlugin extends JavaPlugin { //implements TabCompleter
|
||||
// Biome
|
||||
for (Biome biome : Biome.values()) {
|
||||
String lowerCaseBiomeName = biome.name().toLowerCase(Locale.ROOT);
|
||||
BiomeType biomeType = BiomeType.REGISTRY.register("minecraft:" + lowerCaseBiomeName, new BiomeType("minecraft:" + lowerCaseBiomeName));
|
||||
if (bukkitAdapter != null) biomeType.setLegacyId(bukkitAdapter.getInternalBiomeId(biomeType));
|
||||
BiomeType biomeType = BiomeType.REGISTRY.register(
|
||||
"minecraft:" + lowerCaseBiomeName, new BiomeType("minecraft:" + lowerCaseBiomeName));
|
||||
if (bukkitAdapter != null) {
|
||||
biomeType.setLegacyId(bukkitAdapter.getInternalBiomeId(biomeType));
|
||||
}
|
||||
}
|
||||
// Block & Item
|
||||
/*for (Material material : Material.values()) {
|
||||
@ -321,7 +338,9 @@ public class WorldEditPlugin extends JavaPlugin { //implements TabCompleter
|
||||
File pluginsFolder = MainUtil.getJarFile().getParentFile();
|
||||
|
||||
for (File file : pluginsFolder.listFiles()) {
|
||||
if (file.length() == 2052) return;
|
||||
if (file.length() == 2052) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
Plugin plugin = Bukkit.getPluginManager().getPlugin("FastAsyncWorldEdit");
|
||||
File dummy = MainUtil.copyFile(MainUtil.getJarFile(), "DummyFawe.src", pluginsFolder, "DummyFawe.jar");
|
||||
@ -396,9 +415,9 @@ public class WorldEditPlugin extends JavaPlugin { //implements TabCompleter
|
||||
if (platform instanceof BukkitServerInterface) {
|
||||
log.warn(e.getMessage());
|
||||
} else {
|
||||
log.info("WorldEdit could not find a Bukkit adapter for this MC version, " +
|
||||
"but it seems that you have another implementation of WorldEdit installed (" + platform.getPlatformName() + ") " +
|
||||
"that handles the world editing.");
|
||||
log.info("WorldEdit could not find a Bukkit adapter for this MC version, "
|
||||
+ "but it seems that you have another implementation of WorldEdit installed (" + platform.getPlatformName() + ") "
|
||||
+ "that handles the world editing.");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -439,7 +458,9 @@ public class WorldEditPlugin extends JavaPlugin { //implements TabCompleter
|
||||
File actual = new File(getDataFolder(), name);
|
||||
if (!actual.exists()) {
|
||||
try (InputStream stream = getResource("defaults/" + name)) {
|
||||
if (stream == null) throw new FileNotFoundException();
|
||||
if (stream == null) {
|
||||
throw new FileNotFoundException();
|
||||
}
|
||||
copyDefaultConfig(stream, actual, name);
|
||||
} catch (IOException e) {
|
||||
getLogger().severe("Unable to read default configuration: " + name);
|
||||
@ -630,9 +651,12 @@ public class WorldEditPlugin extends JavaPlugin { //implements TabCompleter
|
||||
|
||||
private class WorldInitListener implements Listener {
|
||||
private boolean loaded = false;
|
||||
|
||||
@EventHandler(priority = EventPriority.LOWEST)
|
||||
public void onWorldInit(@SuppressWarnings("unused") WorldInitEvent event) {
|
||||
if (loaded) return;
|
||||
if (loaded) {
|
||||
return;
|
||||
}
|
||||
loaded = true;
|
||||
setupWorldData();
|
||||
}
|
||||
@ -645,17 +669,23 @@ public class WorldEditPlugin extends JavaPlugin { //implements TabCompleter
|
||||
@SuppressWarnings("UnnecessaryFullyQualifiedName")
|
||||
@EventHandler(ignoreCancelled = true)
|
||||
public void onAsyncTabComplete(com.destroystokyo.paper.event.server.AsyncTabCompleteEvent event) {
|
||||
if (!event.isCommand()) return;
|
||||
if (!event.isCommand()) {
|
||||
return;
|
||||
}
|
||||
|
||||
String buffer = event.getBuffer();
|
||||
int firstSpace = buffer.indexOf(' ');
|
||||
if (firstSpace < 0) return;
|
||||
if (firstSpace < 0) {
|
||||
return;
|
||||
}
|
||||
String label = buffer.substring(0, firstSpace);
|
||||
// Strip leading slash, if present.
|
||||
label = label.startsWith("/") ? label.substring(1) : label;
|
||||
final Optional<org.enginehub.piston.Command> command
|
||||
= WorldEdit.getInstance().getPlatformManager().getPlatformCommandManager().getCommandManager().getCommand(label);
|
||||
if (!command.isPresent()) return;
|
||||
if (!command.isPresent()) {
|
||||
return;
|
||||
}
|
||||
|
||||
CommandSuggestionEvent suggestEvent = new CommandSuggestionEvent(wrapCommandSender(event.getSender()), buffer);
|
||||
getWorldEdit().getEventBus().post(suggestEvent);
|
||||
|
@ -1,13 +1,19 @@
|
||||
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
|
||||
|
||||
plugins {
|
||||
`java-library`
|
||||
}
|
||||
|
||||
applyPlatformAndCoreConfiguration()
|
||||
applyShadowConfiguration()
|
||||
|
||||
dependencies {
|
||||
"compile"(project(":worldedit-core"))
|
||||
"compile"("org.apache.logging.log4j:log4j-core:2.8.1")
|
||||
"compile"("org.apache.logging.log4j:log4j-slf4j-impl:2.8.1")
|
||||
"compile"("commons-cli:commons-cli:1.4")
|
||||
"api"(project(":worldedit-core"))
|
||||
"implementation"("org.apache.logging.log4j:log4j-core:2.8.1")
|
||||
"implementation"("org.apache.logging.log4j:log4j-slf4j-impl:2.8.1")
|
||||
"implementation"("commons-cli:commons-cli:1.4")
|
||||
"implementation"("com.google.guava:guava:${Versions.GUAVA}")
|
||||
"implementation"("com.google.code.gson:gson:${Versions.GSON}")
|
||||
}
|
||||
|
||||
tasks.named<Jar>("jar") {
|
||||
|
@ -29,22 +29,22 @@ configurations.all {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
"compile"(project(":worldedit-libs:core"))
|
||||
"compile"("de.schlichtherle:truezip:6.8.3")
|
||||
"compile"("net.java.truevfs:truevfs-profile-default_2.13:0.12.1")
|
||||
"compile"("org.mozilla:rhino-runtime:1.7.12")
|
||||
"compile"("org.yaml:snakeyaml:1.23")
|
||||
"compile"("com.google.guava:guava:21.0")
|
||||
"compile"("com.google.code.findbugs:jsr305:3.0.2")
|
||||
"compile"("com.google.code.gson:gson:2.8.0")
|
||||
"compile"("org.slf4j:slf4j-api:1.7.26")
|
||||
"compile"("it.unimi.dsi:fastutil:8.2.1")
|
||||
"api"(project(":worldedit-libs:core"))
|
||||
"implementation"("de.schlichtherle:truezip:6.8.3")
|
||||
"implementation"("net.java.truevfs:truevfs-profile-default_2.13:0.12.1")
|
||||
"implementation"("org.mozilla:rhino-runtime:1.7.12")
|
||||
"implementation"("org.yaml:snakeyaml:1.23")
|
||||
"implementation"("com.google.guava:guava:${Versions.GUAVA}")
|
||||
"implementation"("com.google.code.findbugs:jsr305:3.0.2")
|
||||
"implementation"("com.google.code.gson:gson:${Versions.GSON}")
|
||||
"implementation"("org.slf4j:slf4j-api:1.7.26")
|
||||
"implementation"("it.unimi.dsi:fastutil:${Versions.FAST_UTIL}")
|
||||
|
||||
val antlrVersion = "4.7.2"
|
||||
"antlr"("org.antlr:antlr4:$antlrVersion")
|
||||
"implementation"("org.antlr:antlr4-runtime:$antlrVersion")
|
||||
|
||||
"compile"("com.googlecode.json-simple:json-simple:1.1.1") { isTransitive = false }
|
||||
"implementation"("com.googlecode.json-simple:json-simple:1.1.1") { isTransitive = false }
|
||||
"compileOnly"(project(":worldedit-libs:core:ap"))
|
||||
"annotationProcessor"(project(":worldedit-libs:core:ap"))
|
||||
// ensure this is on the classpath for the AP
|
||||
@ -53,7 +53,6 @@ dependencies {
|
||||
"annotationProcessor"("com.google.auto.value:auto-value:${Versions.AUTO_VALUE}")
|
||||
"testImplementation"("ch.qos.logback:logback-core:${Versions.LOGBACK}")
|
||||
"testImplementation"("ch.qos.logback:logback-classic:${Versions.LOGBACK}")
|
||||
"compile"("co.aikar:fastutil-lite:1.0")
|
||||
"compile"("com.github.luben:zstd-jni:1.4.3-1")
|
||||
"compileOnly"("net.fabiozumbi12:redprotect:1.9.6")
|
||||
"compile"("com.github.intellectualsites.plotsquared:PlotSquared-API:latest") {
|
||||
@ -62,7 +61,7 @@ dependencies {
|
||||
"compile"("com.plotsquared:PlotSquared-Core:5.12.2") {
|
||||
isTransitive = false
|
||||
}
|
||||
implementation(kotlin("stdlib-jdk8", "1.3.61"))
|
||||
implementation(kotlin("stdlib-jdk8", "1.3.72"))
|
||||
}
|
||||
|
||||
tasks.named<Test>("test") {
|
||||
|
@ -21,4 +21,5 @@ dependencies {
|
||||
"implementation"(project(":worldedit-core"))
|
||||
"implementation"(kotlin("stdlib-jdk8"))
|
||||
"implementation"(kotlin("reflect"))
|
||||
"implementation"("com.google.guava:guava:${Versions.GUAVA}")
|
||||
}
|
||||
|
@ -80,6 +80,9 @@ public class Settings extends Config {
|
||||
"Specific aspects can be turned on and off further below"
|
||||
})
|
||||
public boolean PLOTSQUARED_HOOK = true;
|
||||
@Comment({"Send anonymous FAWE statistics to https://bstats.org/.",
|
||||
"Please keep this setting enabled. It helps us identifying which parts of FAWE are used the most to organize future updates better."})
|
||||
public boolean BSTATS = true;
|
||||
}
|
||||
|
||||
@Comment("Paths for various directories")
|
||||
|
@ -233,6 +233,8 @@ public final class IncendoPaster implements Paster {
|
||||
b.append("Uptime: ").append(TimeUnit.MINUTES.convert(rb.getUptime(), TimeUnit.MILLISECONDS) + " minutes").append('\n');
|
||||
b.append("Free Memory: ").append(runtime.freeMemory() / 1024 / 1024 + " MB").append('\n');
|
||||
b.append("Max Memory: ").append(runtime.maxMemory() / 1024 / 1024 + " MB").append('\n');
|
||||
b.append("Total Memory: ").append(runtime.totalMemory() / 1024 / 1024 + " MB").append('\n');
|
||||
b.append("Available Processors: ").append(runtime.availableProcessors()).append('\n');
|
||||
b.append("Java Name: ").append(rb.getVmName()).append('\n');
|
||||
b.append("Java Version: '").append(System.getProperty("java.version")).append("'\n");
|
||||
b.append("Java Vendor: '").append(System.getProperty("java.vendor")).append("'\n");
|
||||
|
@ -71,7 +71,7 @@ public class WorldEditCommands {
|
||||
@Command(
|
||||
name = "version",
|
||||
aliases = { "ver" },
|
||||
desc = "Get WorldEdit/FAWE version"
|
||||
desc = "Get the FAWE version"
|
||||
)
|
||||
@CommandPermissions(queued = false)
|
||||
public void version(Actor actor) {
|
||||
@ -132,9 +132,8 @@ public class WorldEditCommands {
|
||||
}
|
||||
|
||||
@Command(
|
||||
name = "report",
|
||||
aliases = { "debugpaste" },
|
||||
desc = "Writes a report of latest.log, config.yml, message.yml https://athion.net/ISPaster/paste"
|
||||
name = "debugpaste",
|
||||
desc = "Writes a report of latest.log, config.yml, config-legacy.yml, strings.json to https://athion.net/ISPaster/paste"
|
||||
)
|
||||
@CommandPermissions(value = {"worldedit.report", "worldedit.debugpaste"}, queued = false)
|
||||
public void report(Actor actor) throws WorldEditException {
|
||||
|
@ -3,18 +3,18 @@
|
||||
* Copyright (C) sk89q <http://www.sk89q.com>
|
||||
* Copyright (C) WorldEdit team and contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Lesser General Public License as published by the
|
||||
* Free Software Foundation, either version 3 of the License, or
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
||||
* for more details.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package com.sk89q.worldedit.internal.wna;
|
||||
@ -110,7 +110,9 @@ public interface WorldNativeAccess<NC, NBS, NP> {
|
||||
/**
|
||||
* Receive the current side-effect set from the high level call.
|
||||
*
|
||||
* <p>
|
||||
* This allows the implementation to branch on the side-effects internally.
|
||||
* </p>
|
||||
*
|
||||
* @param sideEffectSet the set of side-effects
|
||||
*/
|
||||
@ -149,9 +151,11 @@ public interface WorldNativeAccess<NC, NBS, NP> {
|
||||
void onBlockStateChange(NP pos, NBS oldState, NBS newState);
|
||||
|
||||
/**
|
||||
* This is a heavily modified function stripped from MC to apply worldedit-modifications.
|
||||
* This is a heavily modified function stripped from MC to apply WorldEdit-modifications.
|
||||
*
|
||||
* <p>
|
||||
* See Forge's World.markAndNotifyBlock
|
||||
* </p>
|
||||
*/
|
||||
default void markAndNotifyBlock(NP pos, NC chunk, NBS oldState, NBS newState, SideEffectSet sideEffectSet) {
|
||||
NBS blockState1 = getBlockState(chunk, pos);
|
||||
@ -178,6 +182,7 @@ public interface WorldNativeAccess<NC, NBS, NP> {
|
||||
updateNeighbors(pos, oldState, newState, 512);
|
||||
}
|
||||
|
||||
// Seems used only for PoI updates
|
||||
onBlockStateChange(pos, oldState, newState);
|
||||
}
|
||||
|
||||
|
@ -3,23 +3,25 @@
|
||||
* Copyright (C) sk89q <http://www.sk89q.com>
|
||||
* Copyright (C) WorldEdit team and contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Lesser General Public License as published by the
|
||||
* Free Software Foundation, either version 3 of the License, or
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
||||
* for more details.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/**
|
||||
* "WNA", or WorldEdit Native Access.
|
||||
*
|
||||
* <p>
|
||||
* Contains internal helper functions for sharing code between platforms.
|
||||
* </p>
|
||||
*/
|
||||
package com.sk89q.worldedit.internal.wna;
|
||||
|
@ -3,18 +3,18 @@
|
||||
* Copyright (C) sk89q <http://www.sk89q.com>
|
||||
* Copyright (C) WorldEdit team and contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Lesser General Public License as published by the
|
||||
* Free Software Foundation, either version 3 of the License, or
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
||||
* for more details.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package com.sk89q.worldedit.math;
|
||||
|
@ -3,18 +3,18 @@
|
||||
* Copyright (C) sk89q <http://www.sk89q.com>
|
||||
* Copyright (C) WorldEdit team and contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Lesser General Public License as published by the
|
||||
* Free Software Foundation, either version 3 of the License, or
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
||||
* for more details.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package com.sk89q.worldedit.math;
|
||||
@ -37,8 +37,10 @@ public class BlockVector2 {
|
||||
* A comparator for BlockVector2ds that orders the vectors by rows, with x as the
|
||||
* column and z as the row.
|
||||
*
|
||||
* <p>
|
||||
* For example, if x is the horizontal axis and z is the vertical axis, it
|
||||
* sorts like so:
|
||||
* </p>
|
||||
*
|
||||
* <pre>
|
||||
* 0123
|
||||
@ -67,14 +69,18 @@ public class BlockVector2 {
|
||||
return ONE;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
*/
|
||||
return new BlockVector2(x, z);
|
||||
}
|
||||
|
||||
protected int x, z;
|
||||
protected int x;
|
||||
protected int z;
|
||||
|
||||
protected BlockVector2(){}
|
||||
protected BlockVector2(){
|
||||
}
|
||||
|
||||
/**
|
||||
* Construct an instance.
|
||||
@ -221,7 +227,8 @@ public class BlockVector2 {
|
||||
* @return a new vector
|
||||
*/
|
||||
public BlockVector2 add(BlockVector2... others) {
|
||||
int newX = x, newZ = z;
|
||||
int newX = x;
|
||||
int newZ = z;
|
||||
|
||||
for (BlockVector2 other : others) {
|
||||
newX += other.x;
|
||||
@ -262,7 +269,8 @@ public class BlockVector2 {
|
||||
* @return a new vector
|
||||
*/
|
||||
public BlockVector2 subtract(BlockVector2... others) {
|
||||
int newX = x, newZ = z;
|
||||
int newX = x;
|
||||
int newZ = z;
|
||||
|
||||
for (BlockVector2 other : others) {
|
||||
newX -= other.x;
|
||||
@ -300,7 +308,8 @@ public class BlockVector2 {
|
||||
* @return a new vector
|
||||
*/
|
||||
public BlockVector2 multiply(BlockVector2... others) {
|
||||
int newX = x, newZ = z;
|
||||
int newX = x;
|
||||
int newZ = z;
|
||||
|
||||
for (BlockVector2 other : others) {
|
||||
newX *= other.x;
|
||||
@ -371,6 +380,7 @@ public class BlockVector2 {
|
||||
public BlockVector2 shr(int n) {
|
||||
return shr(n, n);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the length of the vector.
|
||||
*
|
||||
@ -520,8 +530,8 @@ public class BlockVector2 {
|
||||
*/
|
||||
public BlockVector2 getMinimum(BlockVector2 v2) {
|
||||
return new BlockVector2(
|
||||
Math.min(x, v2.x),
|
||||
Math.min(z, v2.z)
|
||||
Math.min(x, v2.x),
|
||||
Math.min(z, v2.z)
|
||||
);
|
||||
}
|
||||
|
||||
@ -533,8 +543,8 @@ public class BlockVector2 {
|
||||
*/
|
||||
public BlockVector2 getMaximum(BlockVector2 v2) {
|
||||
return new BlockVector2(
|
||||
Math.max(x, v2.x),
|
||||
Math.max(z, v2.z)
|
||||
Math.max(x, v2.x),
|
||||
Math.max(z, v2.z)
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -3,18 +3,18 @@
|
||||
* Copyright (C) sk89q <http://www.sk89q.com>
|
||||
* Copyright (C) WorldEdit team and contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Lesser General Public License as published by the
|
||||
* Free Software Foundation, either version 3 of the License, or
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
||||
* for more details.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package com.sk89q.worldedit.math;
|
||||
@ -67,6 +67,8 @@ public abstract class BlockVector3 {
|
||||
return ONE;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
*/
|
||||
return new BlockVector3Imp(x, y, z);
|
||||
@ -80,9 +82,9 @@ public abstract class BlockVector3 {
|
||||
}
|
||||
|
||||
public static boolean isLongPackable(BlockVector3 location) {
|
||||
return isHorizontallyInBounds(location.getX()) &&
|
||||
isHorizontallyInBounds(location.getZ()) &&
|
||||
0 <= location.getY() && location.getY() <= WORLD_Y_MAX;
|
||||
return isHorizontallyInBounds(location.getX())
|
||||
&& isHorizontallyInBounds(location.getZ())
|
||||
&& 0 <= location.getY() && location.getY() <= WORLD_Y_MAX;
|
||||
}
|
||||
|
||||
public static void checkLongPackable(BlockVector3 location) {
|
||||
@ -110,6 +112,7 @@ public abstract class BlockVector3 {
|
||||
*
|
||||
* <p>
|
||||
* Useful for sorting by chunk block storage order.
|
||||
* </p>
|
||||
*/
|
||||
public static Comparator<BlockVector3> sortByCoordsYzx() {
|
||||
return YzxOrderComparator.YZX_ORDER;
|
||||
@ -125,7 +128,7 @@ public abstract class BlockVector3 {
|
||||
|
||||
public long toLongPackedForm() {
|
||||
checkLongPackable(this);
|
||||
return (getX() & BITS_26) | ((getZ() & BITS_26) << 26) | (((getY() & (long) BITS_12) << (26 + 26)));
|
||||
return (getX() & BITS_26) | ((getZ() & BITS_26) << 26) | (((getY() & BITS_12) << (26 + 26)));
|
||||
}
|
||||
|
||||
public MutableBlockVector3 mutX(double x) {
|
||||
@ -264,7 +267,9 @@ public abstract class BlockVector3 {
|
||||
* @return a new vector
|
||||
*/
|
||||
public BlockVector3 add(BlockVector3... others) {
|
||||
int newX = getX(), newY = getY(), newZ = getZ();
|
||||
int newX = getX();
|
||||
int newY = getY();
|
||||
int newZ = getZ();
|
||||
|
||||
for (BlockVector3 other : others) {
|
||||
newX += other.getX();
|
||||
@ -307,7 +312,9 @@ public abstract class BlockVector3 {
|
||||
* @return a new vector
|
||||
*/
|
||||
public BlockVector3 subtract(BlockVector3... others) {
|
||||
int newX = getX(), newY = getY(), newZ = getZ();
|
||||
int newX = getX();
|
||||
int newY = getY();
|
||||
int newZ = getZ();
|
||||
|
||||
for (BlockVector3 other : others) {
|
||||
newX -= other.getX();
|
||||
@ -347,7 +354,9 @@ public abstract class BlockVector3 {
|
||||
* @return a new vector
|
||||
*/
|
||||
public BlockVector3 multiply(BlockVector3... others) {
|
||||
int newX = getX(), newY = getY(), newZ = getZ();
|
||||
int newX = getX();
|
||||
int newY = getY();
|
||||
int newZ = getZ();
|
||||
|
||||
for (BlockVector3 other : others) {
|
||||
newX *= other.getX();
|
||||
@ -766,8 +775,7 @@ public abstract class BlockVector3 {
|
||||
}
|
||||
|
||||
public final boolean equals(BlockVector3 other) {
|
||||
return other.getX() == this.getX() && other.getY() == this.getY() && other.getZ() == this
|
||||
.getZ();
|
||||
return other.getX() == this.getX() && other.getY() == this.getY() && other.getZ() == this.getZ();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -38,7 +38,9 @@ public final class BlockVector3Imp extends BlockVector3 {
|
||||
return new BlockVector3Imp(x, y, z);
|
||||
}
|
||||
|
||||
private final int x, y, z;
|
||||
private final int x;
|
||||
private final int y;
|
||||
private final int z;
|
||||
|
||||
/**
|
||||
* Construct an instance.
|
||||
|
@ -3,18 +3,18 @@
|
||||
* Copyright (C) sk89q <http://www.sk89q.com>
|
||||
* Copyright (C) WorldEdit team and contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Lesser General Public License as published by the
|
||||
* Free Software Foundation, either version 3 of the License, or
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
||||
* for more details.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package com.sk89q.worldedit.math;
|
||||
@ -63,14 +63,16 @@ public final class MathUtils {
|
||||
dInt += 360;
|
||||
}
|
||||
switch (dInt) {
|
||||
case 0:
|
||||
return 1.0;
|
||||
case 90:
|
||||
return 0.0;
|
||||
case 180:
|
||||
return -1.0;
|
||||
case 270:
|
||||
return 0.0;
|
||||
case 0:
|
||||
return 1.0;
|
||||
case 90:
|
||||
return 0.0;
|
||||
case 180:
|
||||
return -1.0;
|
||||
case 270:
|
||||
return 0.0;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
return Math.cos(Math.toRadians(degrees));
|
||||
@ -92,14 +94,16 @@ public final class MathUtils {
|
||||
dInt += 360;
|
||||
}
|
||||
switch (dInt) {
|
||||
case 0:
|
||||
return 0.0;
|
||||
case 90:
|
||||
return 1.0;
|
||||
case 180:
|
||||
return 0.0;
|
||||
case 270:
|
||||
return -1.0;
|
||||
case 0:
|
||||
return 0.0;
|
||||
case 90:
|
||||
return 1.0;
|
||||
case 180:
|
||||
return 0.0;
|
||||
case 270:
|
||||
return -1.0;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
return Math.sin(Math.toRadians(degrees));
|
||||
@ -109,7 +113,9 @@ public final class MathUtils {
|
||||
* Returns the rounded double of the given value, rounding to the
|
||||
* nearest integer value away from zero on ties.
|
||||
*
|
||||
* <p>
|
||||
* This behavior is the same as {@link java.math.RoundingMode#HALF_UP}.
|
||||
* </p>
|
||||
*
|
||||
* @param value the value
|
||||
* @return the rounded value
|
||||
|
@ -8,7 +8,8 @@ public class MutableBlockVector2 extends BlockVector2 {
|
||||
return MUTABLE_CACHE.get().setComponents(x, z);
|
||||
}
|
||||
|
||||
public MutableBlockVector2() {}
|
||||
public MutableBlockVector2() {
|
||||
}
|
||||
|
||||
public MutableBlockVector2(int x, int z) {
|
||||
super(x, z);
|
||||
|
@ -16,7 +16,8 @@ public class MutableBlockVector3 extends BlockVector3 {
|
||||
return FaweCache.IMP.MUTABLE_BLOCKVECTOR3.get().setComponents(x, y, z);
|
||||
}
|
||||
|
||||
public MutableBlockVector3() {}
|
||||
public MutableBlockVector3() {
|
||||
}
|
||||
|
||||
public MutableBlockVector3(BlockVector3 other) {
|
||||
this(other.getX(), other.getY(), other.getZ());
|
||||
@ -26,7 +27,9 @@ public class MutableBlockVector3 extends BlockVector3 {
|
||||
return setComponents(other.getBlockX(), other.getBlockY(), other.getBlockZ());
|
||||
}
|
||||
|
||||
private int x,y,z;
|
||||
private int x;
|
||||
private int y;
|
||||
private int z;
|
||||
|
||||
public MutableBlockVector3(int x, int y, int z) {
|
||||
this.x = x;
|
||||
|
@ -4,7 +4,9 @@ import com.boydti.fawe.FaweCache;
|
||||
|
||||
public class MutableVector3 extends Vector3 {
|
||||
|
||||
private double x, y, z;
|
||||
private double x;
|
||||
private double y;
|
||||
private double z;
|
||||
|
||||
public MutableVector3() {
|
||||
}
|
||||
|
@ -3,18 +3,18 @@
|
||||
* Copyright (C) sk89q <http://www.sk89q.com>
|
||||
* Copyright (C) WorldEdit team and contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Lesser General Public License as published by the
|
||||
* Free Software Foundation, either version 3 of the License, or
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
||||
* for more details.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package com.sk89q.worldedit.math;
|
||||
|
@ -3,18 +3,18 @@
|
||||
* Copyright (C) sk89q <http://www.sk89q.com>
|
||||
* Copyright (C) WorldEdit team and contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Lesser General Public License as published by the
|
||||
* Free Software Foundation, either version 3 of the License, or
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
||||
* for more details.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package com.sk89q.worldedit.math;
|
||||
|
@ -3,18 +3,18 @@
|
||||
* Copyright (C) sk89q <http://www.sk89q.com>
|
||||
* Copyright (C) WorldEdit team and contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Lesser General Public License as published by the
|
||||
* Free Software Foundation, either version 3 of the License, or
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
||||
* for more details.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package com.sk89q.worldedit.math;
|
||||
@ -44,11 +44,14 @@ public final class Vector2 {
|
||||
return ONE;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return new Vector2(x, z);
|
||||
}
|
||||
|
||||
private final double x, z;
|
||||
private final double x;
|
||||
private final double z;
|
||||
|
||||
/**
|
||||
* Construct an instance.
|
||||
@ -128,7 +131,8 @@ public final class Vector2 {
|
||||
* @return a new vector
|
||||
*/
|
||||
public Vector2 add(Vector2... others) {
|
||||
double newX = x, newZ = z;
|
||||
double newX = x;
|
||||
double newZ = z;
|
||||
|
||||
for (Vector2 other : others) {
|
||||
newX += other.x;
|
||||
@ -169,7 +173,8 @@ public final class Vector2 {
|
||||
* @return a new vector
|
||||
*/
|
||||
public Vector2 subtract(Vector2... others) {
|
||||
double newX = x, newZ = z;
|
||||
double newX = x;
|
||||
double newZ = z;
|
||||
|
||||
for (Vector2 other : others) {
|
||||
newX -= other.x;
|
||||
@ -207,7 +212,8 @@ public final class Vector2 {
|
||||
* @return a new vector
|
||||
*/
|
||||
public Vector2 multiply(Vector2... others) {
|
||||
double newX = x, newZ = z;
|
||||
double newX = x;
|
||||
double newZ = z;
|
||||
|
||||
for (Vector2 other : others) {
|
||||
newX *= other.x;
|
||||
@ -418,7 +424,7 @@ public final class Vector2 {
|
||||
Math.max(z, v2.z)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
public static BlockVector2 toBlockPoint(double x, double z) {
|
||||
return BlockVector2.at(x, z);
|
||||
}
|
||||
|
@ -3,18 +3,18 @@
|
||||
* Copyright (C) sk89q <http://www.sk89q.com>
|
||||
* Copyright (C) WorldEdit team and contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Lesser General Public License as published by the
|
||||
* Free Software Foundation, either version 3 of the License, or
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
||||
* for more details.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package com.sk89q.worldedit.math;
|
||||
@ -54,6 +54,8 @@ public abstract class Vector3 {
|
||||
return ONE;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
*/
|
||||
return new Vector3Impl(x, y, z);
|
||||
@ -75,6 +77,7 @@ public abstract class Vector3 {
|
||||
*
|
||||
* <p>
|
||||
* Useful for sorting by chunk block storage order.
|
||||
* </p>
|
||||
*/
|
||||
public static Comparator<Vector3> sortByCoordsYzx() {
|
||||
return YzxOrderComparator.YZX_ORDER;
|
||||
@ -209,7 +212,9 @@ public abstract class Vector3 {
|
||||
* @return a new vector
|
||||
*/
|
||||
public Vector3 add(Vector3... others) {
|
||||
double newX = getX(), newY = getY(), newZ = getZ();
|
||||
double newX = getX();
|
||||
double newY = getY();
|
||||
double newZ = getZ();
|
||||
|
||||
for (Vector3 other : others) {
|
||||
newX += other.getX();
|
||||
@ -252,7 +257,9 @@ public abstract class Vector3 {
|
||||
* @return a new vector
|
||||
*/
|
||||
public Vector3 subtract(Vector3... others) {
|
||||
double newX = getX(), newY = getY(), newZ = getZ();
|
||||
double newX = getX();
|
||||
double newY = getY();
|
||||
double newZ = getZ();
|
||||
|
||||
for (Vector3 other : others) {
|
||||
newX -= other.getX();
|
||||
@ -292,7 +299,9 @@ public abstract class Vector3 {
|
||||
* @return a new vector
|
||||
*/
|
||||
public Vector3 multiply(Vector3... others) {
|
||||
double newX = getX(), newY = getY(), newZ = getZ();
|
||||
double newX = getX();
|
||||
double newY = getY();
|
||||
double newZ = getZ();
|
||||
|
||||
for (Vector3 other : others) {
|
||||
newX *= other.getX();
|
||||
|
@ -1,7 +1,9 @@
|
||||
package com.sk89q.worldedit.math;
|
||||
|
||||
public class Vector3Impl extends Vector3 {
|
||||
private final double x,y,z;
|
||||
private final double x;
|
||||
private final double y;
|
||||
private final double z;
|
||||
|
||||
public Vector3Impl(double x, double y, double z) {
|
||||
this.x = x;
|
||||
|
@ -3,18 +3,18 @@
|
||||
* Copyright (C) sk89q <http://www.sk89q.com>
|
||||
* Copyright (C) WorldEdit team and contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Lesser General Public License as published by the
|
||||
* Free Software Foundation, either version 3 of the License, or
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
||||
* for more details.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package com.sk89q.worldedit.math.convolution;
|
||||
@ -25,8 +25,8 @@ package com.sk89q.worldedit.math.convolution;
|
||||
public class GaussianKernel extends Kernel {
|
||||
|
||||
/**
|
||||
* Constructor of the kernel
|
||||
*
|
||||
* Constructor of the kernel.
|
||||
*
|
||||
* @param radius the resulting diameter will be radius * 2 + 1
|
||||
* @param sigma controls 'flatness'
|
||||
*/
|
||||
|
@ -3,18 +3,18 @@
|
||||
* Copyright (C) sk89q <http://www.sk89q.com>
|
||||
* Copyright (C) WorldEdit team and contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Lesser General Public License as published by the
|
||||
* Free Software Foundation, either version 3 of the License, or
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
||||
* for more details.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package com.sk89q.worldedit.math.convolution;
|
||||
@ -46,14 +46,14 @@ public class HeightMap {
|
||||
private final boolean layers;
|
||||
private int[] data;
|
||||
private boolean[] invalid;
|
||||
private int width;
|
||||
private int height;
|
||||
private final int width;
|
||||
private final int height;
|
||||
|
||||
private Region region;
|
||||
private EditSession session;
|
||||
private final Region region;
|
||||
private final EditSession session;
|
||||
|
||||
/**
|
||||
* Constructs the HeightMap
|
||||
* Constructs the HeightMap.
|
||||
*
|
||||
* @param session an edit session
|
||||
* @param region the region
|
||||
@ -106,10 +106,11 @@ public class HeightMap {
|
||||
int yTmp = 255;
|
||||
for (int z = 0; z < height; ++z) {
|
||||
for (int x = 0; x < width; ++x, index++) {
|
||||
if (mask != null)
|
||||
if (mask != null) {
|
||||
yTmp = session.getNearestSurfaceTerrainBlock(x + minX, z + minZ, yTmp, minY, maxY, Integer.MIN_VALUE, Integer.MAX_VALUE, mask);
|
||||
else
|
||||
} else {
|
||||
yTmp = session.getNearestSurfaceTerrainBlock(x + minX, z + minZ, yTmp, minY, maxY, Integer.MIN_VALUE, Integer.MAX_VALUE);
|
||||
}
|
||||
switch (yTmp) {
|
||||
case Integer.MIN_VALUE:
|
||||
yTmp = minY;
|
||||
@ -145,8 +146,8 @@ public class HeightMap {
|
||||
* @param filter the filter
|
||||
* @param iterations the number of iterations
|
||||
* @return number of blocks affected
|
||||
* @throws MaxChangedBlocksException if the maximum block change limit is exceeded
|
||||
*/
|
||||
|
||||
public int applyFilter(HeightMapFilter filter, int iterations) throws MaxChangedBlocksException {
|
||||
checkNotNull(filter);
|
||||
|
||||
@ -182,7 +183,9 @@ public class HeightMap {
|
||||
for (int z = 0; z < height; ++z) {
|
||||
int zr = z + originZ;
|
||||
for (int x = 0; x < width; ++x) {
|
||||
if (this.invalid != null && this.invalid[index]) continue;
|
||||
if (this.invalid != null && this.invalid[index]) {
|
||||
continue;
|
||||
}
|
||||
int curHeight = this.data[index];
|
||||
|
||||
//Clamp newHeight within the selection area
|
||||
@ -204,7 +207,9 @@ public class HeightMap {
|
||||
// Grow -- start from 1 below top replacing airblocks
|
||||
for (int setY = newBlock - 1, getY = curBlock; setY >= curBlock; --setY, getY--) {
|
||||
BlockStateHolder<BlockState> get = session.getBlock(xr, getY, zr);
|
||||
if (get != BlockTypes.AIR.getDefaultState()) tmpBlock = get;
|
||||
if (get != BlockTypes.AIR.getDefaultState()) {
|
||||
tmpBlock = get;
|
||||
}
|
||||
session.setBlock(xr, setY, zr, tmpBlock);
|
||||
++blocksChanged;
|
||||
}
|
||||
@ -244,17 +249,18 @@ public class HeightMap {
|
||||
}
|
||||
|
||||
/**
|
||||
* Apply a raw heightmap to the region
|
||||
* Apply a raw heightmap to the region.
|
||||
*
|
||||
* @param data the data
|
||||
* @return number of blocks affected
|
||||
* @throws MaxChangedBlocksException if the maximum block change limit is exceeded
|
||||
*/
|
||||
|
||||
public int apply(int[] data) throws MaxChangedBlocksException {
|
||||
checkNotNull(data);
|
||||
|
||||
BlockVector3 minY = region.getMinimumPoint();
|
||||
int originX = minY.getBlockX();
|
||||
int originY = minY.getBlockY();
|
||||
int originZ = minY.getBlockZ();
|
||||
|
||||
int maxY = region.getMaximumPoint().getBlockY();
|
||||
@ -268,7 +274,9 @@ public class HeightMap {
|
||||
for (int z = 0; z < height; ++z) {
|
||||
int zr = z + originZ;
|
||||
for (int x = 0; x < width; ++x, index++) {
|
||||
if (this.invalid != null && this.invalid[index]) continue;
|
||||
if (this.invalid != null && this.invalid[index]) {
|
||||
continue;
|
||||
}
|
||||
|
||||
int curHeight = this.data[index];
|
||||
|
||||
@ -293,7 +301,9 @@ public class HeightMap {
|
||||
} else {
|
||||
get = BlockTypes.AIR.getDefaultState();
|
||||
}
|
||||
if (get != BlockTypes.AIR.getDefaultState()) tmpBlock = get;
|
||||
if (get != BlockTypes.AIR.getDefaultState()) {
|
||||
tmpBlock = get;
|
||||
}
|
||||
session.setBlock(xr, setY, zr, tmpBlock);
|
||||
++blocksChanged;
|
||||
}
|
||||
|
@ -3,18 +3,18 @@
|
||||
* Copyright (C) sk89q <http://www.sk89q.com>
|
||||
* Copyright (C) WorldEdit team and contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Lesser General Public License as published by the
|
||||
* Free Software Foundation, either version 3 of the License, or
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
||||
* for more details.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package com.sk89q.worldedit.math.convolution;
|
||||
@ -32,7 +32,7 @@ public class HeightMapFilter {
|
||||
|
||||
/**
|
||||
* Construct the HeightMapFilter object.
|
||||
*
|
||||
*
|
||||
* @param kernel the kernel
|
||||
*/
|
||||
public HeightMapFilter(Kernel kernel) {
|
||||
@ -42,7 +42,7 @@ public class HeightMapFilter {
|
||||
|
||||
/**
|
||||
* Construct the HeightMapFilter object.
|
||||
*
|
||||
*
|
||||
* @param kernelWidth the width
|
||||
* @param kernelHeight the height
|
||||
* @param kernelData the data
|
||||
@ -53,15 +53,15 @@ public class HeightMapFilter {
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the kernel
|
||||
* Get the kernel.
|
||||
*/
|
||||
public Kernel getKernel() {
|
||||
return kernel;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set Kernel
|
||||
*
|
||||
* Set the kernel.
|
||||
*
|
||||
* @param kernel the kernel
|
||||
*/
|
||||
public void setKernel(Kernel kernel) {
|
||||
@ -71,7 +71,7 @@ public class HeightMapFilter {
|
||||
}
|
||||
|
||||
/**
|
||||
* Filter with a 2D kernel
|
||||
* Filter with a 2D kernel.
|
||||
*
|
||||
* @param inData the data
|
||||
* @param width the width
|
||||
@ -107,7 +107,9 @@ public class HeightMapFilter {
|
||||
int matrixOffset = ky * kw;
|
||||
for (int kx = 0; kx < kw; ++kx) {
|
||||
float f = matrix[matrixOffset + kx];
|
||||
if (f == 0) continue;
|
||||
if (f == 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
int offsetX = x + kx - kox;
|
||||
// Clamp coordinates inside data
|
||||
|
@ -3,18 +3,18 @@
|
||||
* Copyright (C) sk89q <http://www.sk89q.com>
|
||||
* Copyright (C) WorldEdit team and contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Lesser General Public License as published by the
|
||||
* Free Software Foundation, either version 3 of the License, or
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
||||
* for more details.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package com.sk89q.worldedit.math.convolution;
|
||||
@ -27,11 +27,11 @@ package com.sk89q.worldedit.math.convolution;
|
||||
*/
|
||||
public class Kernel {
|
||||
|
||||
private int width;
|
||||
private int height;
|
||||
private int xOrigin;
|
||||
private int yOrigin;
|
||||
private float[] data;
|
||||
private final int width;
|
||||
private final int height;
|
||||
private final int xOrigin;
|
||||
private final int yOrigin;
|
||||
private final float[] data;
|
||||
|
||||
public Kernel(int width, int height, float[] data) {
|
||||
this.width = width;
|
||||
@ -72,4 +72,4 @@ public class Kernel {
|
||||
return data;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -3,24 +3,26 @@
|
||||
* Copyright (C) sk89q <http://www.sk89q.com>
|
||||
* Copyright (C) WorldEdit team and contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Lesser General Public License as published by the
|
||||
* Free Software Foundation, either version 3 of the License, or
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
||||
* for more details.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package com.sk89q.worldedit.math.convolution;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* A linear Kernel generator (all cells weight the same)
|
||||
* A linear Kernel generator (all cells weigh the same).
|
||||
*/
|
||||
public class LinearKernel extends Kernel {
|
||||
|
||||
@ -32,7 +34,7 @@ public class LinearKernel extends Kernel {
|
||||
int diameter = radius * 2 + 1;
|
||||
float[] data = new float[diameter * diameter];
|
||||
|
||||
for (int i = 0; i < data.length; data[i++] = 1.0f / data.length);
|
||||
Arrays.fill(data, 1.0f / data.length);
|
||||
|
||||
return data;
|
||||
}
|
||||
|
@ -3,18 +3,18 @@
|
||||
* Copyright (C) sk89q <http://www.sk89q.com>
|
||||
* Copyright (C) WorldEdit team and contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Lesser General Public License as published by the
|
||||
* Free Software Foundation, either version 3 of the License, or
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
||||
* for more details.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package com.sk89q.worldedit.math.geom;
|
||||
@ -31,19 +31,18 @@ import java.util.List;
|
||||
public final class Polygons {
|
||||
|
||||
private Polygons() {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Calculates the polygon shape of a cylinder which can then be used for e.g. intersection detection.
|
||||
*
|
||||
*
|
||||
* @param center the center point of the cylinder
|
||||
* @param radius the radius of the cylinder
|
||||
* @param maxPoints max points to be used for the calculation
|
||||
* @return a list of {@link BlockVector2} which resemble the shape as a polygon
|
||||
*/
|
||||
public static List<BlockVector2> polygonizeCylinder(BlockVector2 center, Vector2 radius, int maxPoints) {
|
||||
int nPoints = (int) Math.ceil(Math.PI*radius.length());
|
||||
int nPoints = (int) Math.ceil(Math.PI * radius.length());
|
||||
|
||||
// These strange semantics for maxPoints are copied from the selectSecondary method.
|
||||
if (maxPoints >= 0 && nPoints >= maxPoints) {
|
||||
@ -60,5 +59,5 @@ public final class Polygons {
|
||||
|
||||
return points;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -3,18 +3,18 @@
|
||||
* Copyright (C) sk89q <http://www.sk89q.com>
|
||||
* Copyright (C) WorldEdit team and contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Lesser General Public License as published by the
|
||||
* Free Software Foundation, either version 3 of the License, or
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
||||
* for more details.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
// $Id$
|
||||
@ -26,7 +26,7 @@ import com.sk89q.worldedit.math.Vector3;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Represents an arbitrary function in ℝ → ℝ<sup>3</sup>
|
||||
* Represents an arbitrary function in ℝ → ℝ<sup>3</sup>.
|
||||
*/
|
||||
public interface Interpolation {
|
||||
|
||||
@ -39,7 +39,7 @@ public interface Interpolation {
|
||||
void setNodes(List<Node> nodes);
|
||||
|
||||
/**
|
||||
* Gets the result of f(position)
|
||||
* Gets the result of f(position).
|
||||
*
|
||||
* @param position the position to interpolate
|
||||
* @return the result
|
||||
|
@ -3,18 +3,18 @@
|
||||
* Copyright (C) sk89q <http://www.sk89q.com>
|
||||
* Copyright (C) WorldEdit team and contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Lesser General Public License as published by the
|
||||
* Free Software Foundation, either version 3 of the License, or
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
||||
* for more details.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
// $Id$
|
||||
@ -43,10 +43,10 @@ public class KochanekBartelsInterpolation implements Interpolation {
|
||||
private Vector3[] coeffC;
|
||||
private Vector3[] coeffD;
|
||||
private double scaling;
|
||||
private MutableBlockVector3 mutable = new MutableBlockVector3();
|
||||
private final MutableBlockVector3 mutable = new MutableBlockVector3();
|
||||
|
||||
public KochanekBartelsInterpolation() {
|
||||
setNodes(Collections.<Node>emptyList());
|
||||
setNodes(Collections.emptyList());
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -64,8 +64,9 @@ public class KochanekBartelsInterpolation implements Interpolation {
|
||||
coeffC = new Vector3[nNodes];
|
||||
coeffD = new Vector3[nNodes];
|
||||
|
||||
if (nNodes == 0)
|
||||
if (nNodes == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
Node nodeB = nodes.get(0);
|
||||
double tensionB = nodeB.getTension();
|
||||
@ -84,14 +85,14 @@ public class KochanekBartelsInterpolation implements Interpolation {
|
||||
}
|
||||
|
||||
// Kochanek-Bartels tangent coefficients
|
||||
final double ta = (1-tensionA)*(1+biasA)*(1+continuityA)/2; // Factor for lhs of d[i]
|
||||
final double tb = (1-tensionA)*(1-biasA)*(1-continuityA)/2; // Factor for rhs of d[i]
|
||||
final double tc = (1-tensionB)*(1+biasB)*(1-continuityB)/2; // Factor for lhs of d[i+1]
|
||||
final double td = (1-tensionB)*(1-biasB)*(1+continuityB)/2; // Factor for rhs of d[i+1]
|
||||
final double ta = (1 - tensionA) * (1 + biasA) * (1 + continuityA) / 2; // Factor for lhs of d[i]
|
||||
final double tb = (1 - tensionA) * (1 - biasA) * (1 - continuityA) / 2; // Factor for rhs of d[i]
|
||||
final double tc = (1 - tensionB) * (1 + biasB) * (1 - continuityB) / 2; // Factor for lhs of d[i+1]
|
||||
final double td = (1 - tensionB) * (1 - biasB) * (1 + continuityB) / 2; // Factor for rhs of d[i+1]
|
||||
|
||||
coeffA[i] = linearCombination(i, -ta, ta- tb-tc+2, tb+tc-td-2, td);
|
||||
coeffB[i] = linearCombination(i, 2*ta, -2*ta+2*tb+tc-3, -2*tb-tc+td+3, -td);
|
||||
coeffC[i] = linearCombination(i, -ta, ta- tb , tb , 0);
|
||||
coeffA[i] = linearCombination(i, -ta, ta - tb - tc + 2, tb + tc - td - 2, td);
|
||||
coeffB[i] = linearCombination(i, 2 * ta, -2 * ta + 2 * tb + tc - 3, -2 * tb - tc + td + 3, -td);
|
||||
coeffC[i] = linearCombination(i, -ta, ta - tb, tb, 0);
|
||||
//coeffD[i] = linearCombination(i, 0, 1, 0, 0);
|
||||
coeffD[i] = retrieve(i); // this is an optimization
|
||||
}
|
||||
@ -125,11 +126,13 @@ public class KochanekBartelsInterpolation implements Interpolation {
|
||||
* @return nodes[clamp(0, nodes.length-1)]
|
||||
*/
|
||||
private Vector3 retrieve(int index) {
|
||||
if (index < 0)
|
||||
if (index < 0) {
|
||||
return fastRetrieve(0);
|
||||
}
|
||||
|
||||
if (index >= nodes.size())
|
||||
return fastRetrieve(nodes.size()-1);
|
||||
if (index >= nodes.size()) {
|
||||
return fastRetrieve(nodes.size() - 1);
|
||||
}
|
||||
|
||||
return fastRetrieve(index);
|
||||
}
|
||||
@ -140,11 +143,13 @@ public class KochanekBartelsInterpolation implements Interpolation {
|
||||
|
||||
@Override
|
||||
public Vector3 getPosition(double position) {
|
||||
if (coeffA == null)
|
||||
if (coeffA == null) {
|
||||
throw new IllegalStateException("Must call setNodes first.");
|
||||
}
|
||||
|
||||
if (position > 1)
|
||||
if (position > 1) {
|
||||
return null;
|
||||
}
|
||||
|
||||
position *= scaling;
|
||||
|
||||
@ -166,11 +171,13 @@ public class KochanekBartelsInterpolation implements Interpolation {
|
||||
|
||||
@Override
|
||||
public Vector3 get1stDerivative(double position) {
|
||||
if (coeffA == null)
|
||||
if (coeffA == null) {
|
||||
throw new IllegalStateException("Must call setNodes first.");
|
||||
}
|
||||
|
||||
if (position > 1)
|
||||
if (position > 1) {
|
||||
return null;
|
||||
}
|
||||
|
||||
position *= scaling;
|
||||
|
||||
@ -181,16 +188,18 @@ public class KochanekBartelsInterpolation implements Interpolation {
|
||||
final Vector3 b = coeffB[index];
|
||||
final Vector3 c = coeffC[index];
|
||||
|
||||
return a.multiply(1.5*position - 3.0*index).add(b).multiply(2.0*position).add(a.multiply(1.5*index).subtract(b).multiply(2.0*index)).add(c).multiply(scaling);
|
||||
return a.multiply(1.5 * position - 3.0 * index).add(b).multiply(2.0 * position).add(a.multiply(1.5 * index).subtract(b).multiply(2.0 * index)).add(c).multiply(scaling);
|
||||
}
|
||||
|
||||
@Override
|
||||
public double arcLength(double positionA, double positionB) {
|
||||
if (coeffA == null)
|
||||
if (coeffA == null) {
|
||||
throw new IllegalStateException("Must call setNodes first.");
|
||||
}
|
||||
|
||||
if (positionA > positionB)
|
||||
if (positionA > positionB) {
|
||||
return arcLength(positionB, positionA);
|
||||
}
|
||||
|
||||
positionA *= scaling;
|
||||
positionB *= scaling;
|
||||
@ -205,23 +214,21 @@ public class KochanekBartelsInterpolation implements Interpolation {
|
||||
}
|
||||
|
||||
/**
|
||||
* Assumes a < b
|
||||
* Assumes a < b.
|
||||
*/
|
||||
private double arcLengthRecursive(int indexLeft, double remainderLeft, int indexRight, double remainderRight) {
|
||||
switch (indexRight - indexLeft) {
|
||||
case 0:
|
||||
return arcLengthRecursive(indexLeft, remainderLeft, remainderRight);
|
||||
case 0:
|
||||
return arcLengthRecursive(indexLeft, remainderLeft, remainderRight);
|
||||
|
||||
case 1:
|
||||
// This case is merely a speed-up for a very common case
|
||||
return
|
||||
arcLengthRecursive(indexLeft, remainderLeft, 1.0) +
|
||||
arcLengthRecursive(indexRight, 0.0, remainderRight);
|
||||
case 1:
|
||||
// This case is merely a speed-up for a very common case
|
||||
return arcLengthRecursive(indexLeft, remainderLeft, 1.0)
|
||||
+ arcLengthRecursive(indexRight, 0.0, remainderRight);
|
||||
|
||||
default:
|
||||
return
|
||||
arcLengthRecursive(indexLeft, remainderLeft, indexRight - 1, 1.0) +
|
||||
arcLengthRecursive(indexRight, 0.0, remainderRight);
|
||||
default:
|
||||
return arcLengthRecursive(indexLeft, remainderLeft, indexRight - 1, 1.0)
|
||||
+ arcLengthRecursive(indexRight, 0.0, remainderRight);
|
||||
}
|
||||
}
|
||||
|
||||
@ -233,9 +240,9 @@ public class KochanekBartelsInterpolation implements Interpolation {
|
||||
final int nPoints = 8;
|
||||
|
||||
double accum = a.multiply(remainderLeft).add(b).multiply(remainderLeft).add(c).length() / 2.0;
|
||||
for (int i = 1; i < nPoints-1; ++i) {
|
||||
for (int i = 1; i < nPoints - 1; ++i) {
|
||||
double t = ((double) i) / nPoints;
|
||||
t = (remainderRight-remainderLeft)*t + remainderLeft;
|
||||
t = (remainderRight - remainderLeft) * t + remainderLeft;
|
||||
accum += a.multiply(t).add(b).multiply(t).add(c).length();
|
||||
}
|
||||
|
||||
@ -245,11 +252,13 @@ public class KochanekBartelsInterpolation implements Interpolation {
|
||||
|
||||
@Override
|
||||
public int getSegment(double position) {
|
||||
if (coeffA == null)
|
||||
if (coeffA == null) {
|
||||
throw new IllegalStateException("Must call setNodes first.");
|
||||
}
|
||||
|
||||
if (position > 1)
|
||||
if (position > 1) {
|
||||
return Integer.MAX_VALUE;
|
||||
}
|
||||
|
||||
position *= scaling;
|
||||
|
||||
|
@ -3,18 +3,18 @@
|
||||
* Copyright (C) sk89q <http://www.sk89q.com>
|
||||
* Copyright (C) WorldEdit team and contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Lesser General Public License as published by the
|
||||
* Free Software Foundation, either version 3 of the License, or
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
||||
* for more details.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
// $Id$
|
||||
@ -37,17 +37,19 @@ public class LinearInterpolation implements Interpolation {
|
||||
@Override
|
||||
public void setNodes(List<Node> nodes) {
|
||||
checkNotNull(nodes);
|
||||
|
||||
|
||||
this.nodes = nodes;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Vector3 getPosition(double position) {
|
||||
if (nodes == null)
|
||||
if (nodes == null) {
|
||||
throw new IllegalStateException("Must call setNodes first.");
|
||||
}
|
||||
|
||||
if (position > 1)
|
||||
if (position > 1) {
|
||||
return null;
|
||||
}
|
||||
|
||||
position *= nodes.size() - 1;
|
||||
|
||||
@ -77,11 +79,13 @@ public class LinearInterpolation implements Interpolation {
|
||||
|
||||
@Override
|
||||
public Vector3 get1stDerivative(double position) {
|
||||
if (nodes == null)
|
||||
if (nodes == null) {
|
||||
throw new IllegalStateException("Must call setNodes first.");
|
||||
}
|
||||
|
||||
if (position > 1)
|
||||
if (position > 1) {
|
||||
return null;
|
||||
}
|
||||
|
||||
position *= nodes.size() - 1;
|
||||
|
||||
@ -95,11 +99,13 @@ public class LinearInterpolation implements Interpolation {
|
||||
|
||||
@Override
|
||||
public double arcLength(double positionA, double positionB) {
|
||||
if (nodes == null)
|
||||
if (nodes == null) {
|
||||
throw new IllegalStateException("Must call setNodes first.");
|
||||
}
|
||||
|
||||
if (positionA > positionB)
|
||||
if (positionA > positionB) {
|
||||
return arcLength(positionB, positionA);
|
||||
}
|
||||
|
||||
positionA *= nodes.size() - 1;
|
||||
positionB *= nodes.size() - 1;
|
||||
@ -118,19 +124,17 @@ public class LinearInterpolation implements Interpolation {
|
||||
*/
|
||||
private double arcLengthRecursive(int indexA, double remainderA, int indexB, double remainderB) {
|
||||
switch (indexB - indexA) {
|
||||
case 0:
|
||||
return arcLengthRecursive(indexA, remainderA, remainderB);
|
||||
case 0:
|
||||
return arcLengthRecursive(indexA, remainderA, remainderB);
|
||||
|
||||
case 1:
|
||||
// This case is merely a speed-up for a very common case
|
||||
return
|
||||
arcLengthRecursive(indexA, remainderA, 1.0) +
|
||||
arcLengthRecursive(indexB, 0.0, remainderB);
|
||||
case 1:
|
||||
// This case is merely a speed-up for a very common case
|
||||
return arcLengthRecursive(indexA, remainderA, 1.0)
|
||||
+ arcLengthRecursive(indexB, 0.0, remainderB);
|
||||
|
||||
default:
|
||||
return
|
||||
arcLengthRecursive(indexA, remainderA, indexB - 1, 1.0) +
|
||||
arcLengthRecursive(indexB, 0.0, remainderB);
|
||||
default:
|
||||
return arcLengthRecursive(indexA, remainderA, indexB - 1, 1.0)
|
||||
+ arcLengthRecursive(indexB, 0.0, remainderB);
|
||||
}
|
||||
}
|
||||
|
||||
@ -143,11 +147,13 @@ public class LinearInterpolation implements Interpolation {
|
||||
|
||||
@Override
|
||||
public int getSegment(double position) {
|
||||
if (nodes == null)
|
||||
if (nodes == null) {
|
||||
throw new IllegalStateException("Must call setNodes first.");
|
||||
}
|
||||
|
||||
if (position > 1)
|
||||
if (position > 1) {
|
||||
return Integer.MAX_VALUE;
|
||||
}
|
||||
|
||||
position *= nodes.size() - 1;
|
||||
|
||||
|
@ -3,18 +3,18 @@
|
||||
* Copyright (C) sk89q <http://www.sk89q.com>
|
||||
* Copyright (C) WorldEdit team and contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Lesser General Public License as published by the
|
||||
* Free Software Foundation, either version 3 of the License, or
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
||||
* for more details.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
// $Id$
|
||||
|
@ -3,18 +3,18 @@
|
||||
* Copyright (C) sk89q <http://www.sk89q.com>
|
||||
* Copyright (C) WorldEdit team and contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Lesser General Public License as published by the
|
||||
* Free Software Foundation, either version 3 of the License, or
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
||||
* for more details.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
// $Id$
|
||||
@ -47,7 +47,7 @@ public class ReparametrisingInterpolation implements Interpolation {
|
||||
|
||||
public ReparametrisingInterpolation(Interpolation baseInterpolation) {
|
||||
checkNotNull(baseInterpolation);
|
||||
|
||||
|
||||
this.baseInterpolation = baseInterpolation;
|
||||
}
|
||||
|
||||
@ -67,16 +67,18 @@ public class ReparametrisingInterpolation implements Interpolation {
|
||||
|
||||
@Override
|
||||
public Vector3 getPosition(double position) {
|
||||
if (position > 1)
|
||||
if (position > 1) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return baseInterpolation.getPosition(arcToParameter(position));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Vector3 get1stDerivative(double position) {
|
||||
if (position > 1)
|
||||
if (position > 1) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return baseInterpolation.get1stDerivative(arcToParameter(position)).normalize().multiply(totalArcLength);
|
||||
}
|
||||
@ -87,10 +89,13 @@ public class ReparametrisingInterpolation implements Interpolation {
|
||||
}
|
||||
|
||||
private double arcToParameter(double arc) {
|
||||
if (cache.isEmpty())
|
||||
if (cache.isEmpty()) {
|
||||
throw new IllegalStateException("Must call setNodes first.");
|
||||
}
|
||||
|
||||
if (arc > 1) arc = 1;
|
||||
if (arc > 1) {
|
||||
arc = 1;
|
||||
}
|
||||
arc *= totalArcLength;
|
||||
|
||||
Entry<Double, Double> floorEntry = cache.floorEntry(arc);
|
||||
@ -140,8 +145,7 @@ public class ReparametrisingInterpolation implements Interpolation {
|
||||
// search between left and mid
|
||||
rightArc = midArc;
|
||||
rightParameter = midParameter;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
// search between mid and right
|
||||
leftArc = midArc;
|
||||
leftParameter = midParameter;
|
||||
@ -152,8 +156,9 @@ public class ReparametrisingInterpolation implements Interpolation {
|
||||
|
||||
@Override
|
||||
public int getSegment(double position) {
|
||||
if (position > 1)
|
||||
if (position > 1) {
|
||||
return Integer.MAX_VALUE;
|
||||
}
|
||||
|
||||
return baseInterpolation.getSegment(arcToParameter(position));
|
||||
}
|
||||
|
@ -3,18 +3,18 @@
|
||||
* Copyright (C) sk89q <http://www.sk89q.com>
|
||||
* Copyright (C) WorldEdit team and contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Lesser General Public License as published by the
|
||||
* Free Software Foundation, either version 3 of the License, or
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
||||
* for more details.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package com.sk89q.worldedit.math.noise;
|
||||
|
@ -3,18 +3,18 @@
|
||||
* Copyright (C) sk89q <http://www.sk89q.com>
|
||||
* Copyright (C) WorldEdit team and contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Lesser General Public License as published by the
|
||||
* Free Software Foundation, either version 3 of the License, or
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
||||
* for more details.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package com.sk89q.worldedit.math.noise;
|
||||
|
@ -3,18 +3,18 @@
|
||||
* Copyright (C) sk89q <http://www.sk89q.com>
|
||||
* Copyright (C) WorldEdit team and contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Lesser General Public License as published by the
|
||||
* Free Software Foundation, either version 3 of the License, or
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
||||
* for more details.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package com.sk89q.worldedit.math.noise;
|
||||
|
@ -3,18 +3,18 @@
|
||||
* Copyright (C) sk89q <http://www.sk89q.com>
|
||||
* Copyright (C) WorldEdit team and contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Lesser General Public License as published by the
|
||||
* Free Software Foundation, either version 3 of the License, or
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
||||
* for more details.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package com.sk89q.worldedit.math.noise;
|
||||
|
@ -3,18 +3,18 @@
|
||||
* Copyright (C) sk89q <http://www.sk89q.com>
|
||||
* Copyright (C) WorldEdit team and contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Lesser General Public License as published by the
|
||||
* Free Software Foundation, either version 3 of the License, or
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
||||
* for more details.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package com.sk89q.worldedit.math.noise;
|
||||
|
@ -3,18 +3,18 @@
|
||||
* Copyright (C) sk89q <http://www.sk89q.com>
|
||||
* Copyright (C) WorldEdit team and contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Lesser General Public License as published by the
|
||||
* Free Software Foundation, either version 3 of the License, or
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
||||
* for more details.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package com.sk89q.worldedit.math.noise;
|
||||
|
@ -3,18 +3,18 @@
|
||||
* Copyright (C) sk89q <http://www.sk89q.com>
|
||||
* Copyright (C) WorldEdit team and contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Lesser General Public License as published by the
|
||||
* Free Software Foundation, either version 3 of the License, or
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
||||
* for more details.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package com.sk89q.worldedit.math.transform;
|
||||
@ -34,15 +34,13 @@ import java.io.Serializable;
|
||||
*/
|
||||
public class AffineTransform implements Transform, Serializable {
|
||||
|
||||
private AffineTransform inverse;
|
||||
|
||||
/**
|
||||
* coefficients for x coordinate.
|
||||
*/
|
||||
private final double m00;
|
||||
private final double m01;
|
||||
private final double m02;
|
||||
private double m03;
|
||||
private final double m03;
|
||||
|
||||
/**
|
||||
* coefficients for y coordinate.
|
||||
@ -50,7 +48,7 @@ public class AffineTransform implements Transform, Serializable {
|
||||
private final double m10;
|
||||
private final double m11;
|
||||
private final double m12;
|
||||
private double m13;
|
||||
private final double m13;
|
||||
|
||||
/**
|
||||
* coefficients for z coordinate.
|
||||
@ -58,13 +56,13 @@ public class AffineTransform implements Transform, Serializable {
|
||||
private final double m20;
|
||||
private final double m21;
|
||||
private final double m22;
|
||||
private double m23;
|
||||
private final double m23;
|
||||
|
||||
// ===================================================================
|
||||
// constructors
|
||||
|
||||
/**
|
||||
* Creates a new affine transform3D set to identity.
|
||||
* Creates a new affine transform3D set to the identity.
|
||||
*/
|
||||
public AffineTransform() {
|
||||
// init to identity matrix
|
||||
@ -85,6 +83,7 @@ public class AffineTransform implements Transform, Serializable {
|
||||
m20 = coefs[6];
|
||||
m21 = coefs[7];
|
||||
m22 = coefs[8];
|
||||
m03 = m13 = m23 = 0;
|
||||
} else if (coefs.length == 12) {
|
||||
m00 = coefs[0];
|
||||
m01 = coefs[1];
|
||||
@ -99,11 +98,14 @@ public class AffineTransform implements Transform, Serializable {
|
||||
m22 = coefs[10];
|
||||
m23 = coefs[11];
|
||||
} else {
|
||||
throw new IllegalArgumentException("Input array must have 9 or 12 elements");
|
||||
throw new IllegalArgumentException(
|
||||
"Input array must have 9 or 12 elements");
|
||||
}
|
||||
}
|
||||
|
||||
public AffineTransform(double xx, double yx, double zx, double tx, double xy, double yy, double zy, double ty, double xz, double yz, double zz, double tz) {
|
||||
public AffineTransform(double xx, double yx, double zx, double tx,
|
||||
double xy, double yy, double zy, double ty, double xz, double yz,
|
||||
double zz, double tz) {
|
||||
m00 = xx;
|
||||
m01 = yx;
|
||||
m02 = zx;
|
||||
@ -123,40 +125,10 @@ public class AffineTransform implements Transform, Serializable {
|
||||
|
||||
@Override
|
||||
public boolean isIdentity() {
|
||||
if (m00 != 1) {
|
||||
return false;
|
||||
}
|
||||
if (m11 != 1) {
|
||||
return false;
|
||||
}
|
||||
if (m22 != 1) {
|
||||
return false;
|
||||
}
|
||||
if (m01 != 0) {
|
||||
return false;
|
||||
}
|
||||
if (m02 != 0) {
|
||||
return false;
|
||||
}
|
||||
if (m03 != 0) {
|
||||
return false;
|
||||
}
|
||||
if (m10 != 0) {
|
||||
return false;
|
||||
}
|
||||
if (m12 != 0) {
|
||||
return false;
|
||||
}
|
||||
if (m13 != 0) {
|
||||
return false;
|
||||
}
|
||||
if (m20 != 0) {
|
||||
return false;
|
||||
}
|
||||
if (m21 != 0) {
|
||||
return false;
|
||||
}
|
||||
return m23 == 0;
|
||||
return m00 == m11 && m11 == m22 && m22 == 1
|
||||
&& m01 == m02 && m02 == m03 && m03 == 0
|
||||
&& m10 == m12 && m12 == m13 && m13 == 0
|
||||
&& m20 == m21 && m21 == m23 && m23 == 0;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -164,20 +136,7 @@ public class AffineTransform implements Transform, Serializable {
|
||||
* 12 double.
|
||||
*/
|
||||
public double[] coefficients() {
|
||||
return new double[] {
|
||||
m00,
|
||||
m01,
|
||||
m02,
|
||||
m03,
|
||||
m10,
|
||||
m11,
|
||||
m12,
|
||||
m13,
|
||||
m20,
|
||||
m21,
|
||||
m22,
|
||||
m23
|
||||
};
|
||||
return new double[]{m00, m01, m02, m03, m10, m11, m12, m13, m20, m21, m22, m23};
|
||||
}
|
||||
|
||||
public boolean isOffAxis() {
|
||||
@ -198,8 +157,8 @@ public class AffineTransform implements Transform, Serializable {
|
||||
* @return the determinant of the transform.
|
||||
*/
|
||||
private double determinant() {
|
||||
return m00 * (m11 * m22 - m12 * m21) - m01 * (m10 * m22 - m20 * m12) + m02 * (m10 * m21
|
||||
- m20 * m11);
|
||||
return m00 * (m11 * m22 - m12 * m21) - m01 * (m10 * m22 - m20 * m12)
|
||||
+ m02 * (m10 * m21 - m20 * m11);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -207,26 +166,23 @@ public class AffineTransform implements Transform, Serializable {
|
||||
*/
|
||||
@Override
|
||||
public AffineTransform inverse() {
|
||||
if (inverse != null) {
|
||||
return inverse;
|
||||
}
|
||||
double det = this.determinant();
|
||||
return new AffineTransform(
|
||||
(m11 * m22 - m21 * m12) / det,
|
||||
(m21 * m02 - m01 * m22) / det,
|
||||
(m01 * m12 - m11 * m02) / det,
|
||||
(m01 * (m22 * m13 - m12 * m23) + m02 * (m11 * m23 - m21 * m13) - m03 * (m11 * m22
|
||||
- m21 * m12)) / det,
|
||||
(m20 * m12 - m10 * m22) / det,
|
||||
(m00 * m22 - m20 * m02) / det,
|
||||
(m10 * m02 - m00 * m12) / det,
|
||||
(m00 * (m12 * m23 - m22 * m13) - m02 * (m10 * m23 - m20 * m13) + m03 * (m10 * m22
|
||||
- m20 * m12)) / det,
|
||||
(m10 * m21 - m20 * m11) / det,
|
||||
(m20 * m01 - m00 * m21) / det,
|
||||
(m00 * m11 - m10 * m01) / det,
|
||||
(m00 * (m21 * m13 - m11 * m23) + m01 * (m10 * m23 - m20 * m13) - m03 * (m10 * m21
|
||||
- m20 * m11)) / det);
|
||||
(m11 * m22 - m21 * m12) / det,
|
||||
(m21 * m02 - m01 * m22) / det,
|
||||
(m01 * m12 - m11 * m02) / det,
|
||||
(m01 * (m22 * m13 - m12 * m23) + m02 * (m11 * m23 - m21 * m13)
|
||||
- m03 * (m11 * m22 - m21 * m12)) / det,
|
||||
(m20 * m12 - m10 * m22) / det,
|
||||
(m00 * m22 - m20 * m02) / det,
|
||||
(m10 * m02 - m00 * m12) / det,
|
||||
(m00 * (m12 * m23 - m22 * m13) - m02 * (m10 * m23 - m20 * m13)
|
||||
+ m03 * (m10 * m22 - m20 * m12)) / det,
|
||||
(m10 * m21 - m20 * m11) / det,
|
||||
(m20 * m01 - m00 * m21) / det,
|
||||
(m00 * m11 - m10 * m01) / det,
|
||||
(m00 * (m21 * m13 - m11 * m23) + m01 * (m10 * m23 - m20 * m13)
|
||||
- m03 * (m10 * m21 - m20 * m11)) / det);
|
||||
}
|
||||
|
||||
// ===================================================================
|
||||
@ -252,7 +208,10 @@ public class AffineTransform implements Transform, Serializable {
|
||||
double n21 = m20 * that.m01 + m21 * that.m11 + m22 * that.m21;
|
||||
double n22 = m20 * that.m02 + m21 * that.m12 + m22 * that.m22;
|
||||
double n23 = m20 * that.m03 + m21 * that.m13 + m22 * that.m23 + m23;
|
||||
return new AffineTransform(n00, n01, n02, n03, n10, n11, n12, n13, n20, n21, n22, n23);
|
||||
return new AffineTransform(
|
||||
n00, n01, n02, n03,
|
||||
n10, n11, n12, n13,
|
||||
n20, n21, n22, n23);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -275,7 +234,10 @@ public class AffineTransform implements Transform, Serializable {
|
||||
double n21 = that.m20 * m01 + that.m21 * m11 + that.m22 * m21;
|
||||
double n22 = that.m20 * m02 + that.m21 * m12 + that.m22 * m22;
|
||||
double n23 = that.m20 * m03 + that.m21 * m13 + that.m22 * m23 + that.m23;
|
||||
return new AffineTransform(n00, n01, n02, n03, n10, n11, n12, n13, n20, n21, n22, n23);
|
||||
return new AffineTransform(
|
||||
n00, n01, n02, n03,
|
||||
n10, n11, n12, n13,
|
||||
n20, n21, n22, n23);
|
||||
}
|
||||
|
||||
public AffineTransform translate(Vector3 vec) {
|
||||
@ -293,19 +255,31 @@ public class AffineTransform implements Transform, Serializable {
|
||||
public AffineTransform rotateX(double theta) {
|
||||
double cot = MathUtils.dCos(theta);
|
||||
double sit = MathUtils.dSin(theta);
|
||||
return concatenate(new AffineTransform(1, 0, 0, 0, 0, cot, -sit, 0, 0, sit, cot, 0));
|
||||
return concatenate(
|
||||
new AffineTransform(
|
||||
1, 0, 0, 0,
|
||||
0, cot, -sit, 0,
|
||||
0, sit, cot, 0));
|
||||
}
|
||||
|
||||
public AffineTransform rotateY(double theta) {
|
||||
double cot = MathUtils.dCos(theta);
|
||||
double sit = MathUtils.dSin(theta);
|
||||
return concatenate(new AffineTransform(cot, 0, sit, 0, 0, 1, 0, 0, -sit, 0, cot, 0));
|
||||
return concatenate(
|
||||
new AffineTransform(
|
||||
cot, 0, sit, 0,
|
||||
0, 1, 0, 0,
|
||||
-sit, 0, cot, 0));
|
||||
}
|
||||
|
||||
public AffineTransform rotateZ(double theta) {
|
||||
double cot = MathUtils.dCos(theta);
|
||||
double sit = MathUtils.dSin(theta);
|
||||
return concatenate(new AffineTransform(cot, -sit, 0, 0, sit, cot, 0, 0, 0, 0, 1, 0));
|
||||
return concatenate(
|
||||
new AffineTransform(
|
||||
cot, -sit, 0, 0,
|
||||
sit, cot, 0, 0,
|
||||
0, 0, 1, 0));
|
||||
}
|
||||
|
||||
public AffineTransform scale(double s) {
|
||||
@ -361,13 +335,20 @@ public class AffineTransform implements Transform, Serializable {
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns if this affine transform is representing a horizontal flip.
|
||||
* Returns if this affine transform represents a horizontal flip.
|
||||
*/
|
||||
public boolean isHorizontalFlip() {
|
||||
// use the determinant of the x-z submatrix to check if this is a horizontal flip
|
||||
return m00 * m22 - m02 * m20 < 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns if this affine transform represents a vertical flip.
|
||||
*/
|
||||
public boolean isVerticalFlip() {
|
||||
return m11 < 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return String.format("Affine[%g %g %g %g, %g %g %g %g, %g %g %g %g]}", m00, m01, m02, m03, m10, m11, m12, m13, m20, m21, m22, m23);
|
||||
|
@ -3,18 +3,18 @@
|
||||
* Copyright (C) sk89q <http://www.sk89q.com>
|
||||
* Copyright (C) WorldEdit team and contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Lesser General Public License as published by the
|
||||
* Free Software Foundation, either version 3 of the License, or
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
||||
* for more details.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package com.sk89q.worldedit.math.transform;
|
||||
|
@ -3,18 +3,18 @@
|
||||
* Copyright (C) sk89q <http://www.sk89q.com>
|
||||
* Copyright (C) WorldEdit team and contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Lesser General Public License as published by the
|
||||
* Free Software Foundation, either version 3 of the License, or
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
||||
* for more details.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package com.sk89q.worldedit.math.transform;
|
||||
|
@ -2,7 +2,7 @@ package com.sk89q.worldedit.math.transform;
|
||||
|
||||
import com.sk89q.worldedit.math.Vector3;
|
||||
|
||||
public class RoundedTransform implements Transform{
|
||||
public class RoundedTransform implements Transform {
|
||||
private final Transform transform;
|
||||
|
||||
public RoundedTransform(Transform transform) {
|
||||
@ -17,7 +17,8 @@ public class RoundedTransform implements Transform{
|
||||
@Override
|
||||
public Vector3 apply(Vector3 input) {
|
||||
Vector3 val = transform.apply(input);
|
||||
return Vector3.at(Math.floor(val.getX() + 0.5), Math.floor(val.getY() + 0.5), Math.floor(val.getY() + 0.5));
|
||||
return Vector3.at(Math.floor(val.getX() + 0.5), Math.floor(val.getY() + 0.5), Math
|
||||
.floor(val.getY() + 0.5));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -3,18 +3,18 @@
|
||||
* Copyright (C) sk89q <http://www.sk89q.com>
|
||||
* Copyright (C) WorldEdit team and contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Lesser General Public License as published by the
|
||||
* Free Software Foundation, either version 3 of the License, or
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
||||
* for more details.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package com.sk89q.worldedit.math.transform;
|
||||
|
@ -3,18 +3,18 @@
|
||||
* Copyright (C) sk89q <http://www.sk89q.com>
|
||||
* Copyright (C) WorldEdit team and contributors
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
* under the terms of the GNU Lesser General Public License as published by the
|
||||
* Free Software Foundation, either version 3 of the License, or
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
|
||||
* for more details.
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package com.sk89q.worldedit.math.transform;
|
||||
|
@ -32,6 +32,7 @@ import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
|
||||
public abstract class AbstractRegion extends AbstractSet<BlockVector3> implements Region {
|
||||
@ -226,12 +227,8 @@ public abstract class AbstractRegion extends AbstractSet<BlockVector3> implement
|
||||
return false;
|
||||
}
|
||||
Region region = ((Region) o);
|
||||
if (this.getWorld() != region.getWorld()) {
|
||||
if (this.getWorld() == null || region.getWorld() == null) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (this.getWorld().equals(region.getWorld())
|
||||
|
||||
if (Objects.equals(this.getWorld(), region.getWorld())
|
||||
&& this.getMinimumPoint().equals(region.getMinimumPoint())
|
||||
&& this.getMaximumPoint().equals(region.getMaximumPoint())
|
||||
&& this.getVolume() == region.getVolume()) {
|
||||
|
@ -19,7 +19,6 @@
|
||||
|
||||
package com.sk89q.worldedit.util.paste;
|
||||
|
||||
import com.boydti.fawe.util.IncendoPaster;
|
||||
import com.sk89q.worldedit.command.util.AsyncCommandBuilder;
|
||||
import com.sk89q.worldedit.extension.platform.Actor;
|
||||
import com.sk89q.worldedit.util.formatting.text.TextComponent;
|
||||
@ -31,7 +30,7 @@ import java.util.concurrent.Callable;
|
||||
|
||||
public final class ActorCallbackPaste {
|
||||
|
||||
private static final Paster paster = new IncendoPaster("fastasyncworldedit");
|
||||
private static final Paster paster = new EngineHubPaste();
|
||||
|
||||
private ActorCallbackPaste() {
|
||||
}
|
||||
|
@ -1,322 +0,0 @@
|
||||
# 原译者:Green_Chennai (MCBBS: ww2498010071)
|
||||
# 2018年10月14日 08:44:53进行过第7次更新
|
||||
|
||||
# 佛壁灯于 2018年12月10日 21:24:35 (UTC+8) 大幅改进翻译质量
|
||||
# 请其他译者勿使用机器翻译。谢谢!
|
||||
|
||||
info:
|
||||
prefix: '(FAWE)'
|
||||
file_deleted: '%s0 已被删除。'
|
||||
schematic_pasting: '正在粘贴布局。此操作无法撤销。'
|
||||
lighting_propogate_selection: '光照已在 %s0 个区块内传播。(注:您可使用 //removelight 移除)'
|
||||
updated_lighting_selection: '已更新 %s0 个区块内的光照。(数据包可能要稍后发出)'
|
||||
set_region: '选择区域已设置为您当前允许的区域'
|
||||
worldedit_command_limit: '请等待完成您的当前操作'
|
||||
worldedit_delayed: '正在处理您的快异创世操作,请稍后···'
|
||||
worldedit_run: '很抱歉造成延误,现正执行 %s'
|
||||
worldedit_complete: '编辑完成。'
|
||||
require_selection_in_mask: '您选中的 %s 不在蒙版内。您只能在允许的区域内编辑。'
|
||||
worldedit_volume: '您不能选择 %current% 大小的区域。所允许的最大区域为 %max%。'
|
||||
worldedit_iterations: '您不能重复 %current% 次。所允许的最多重复为 %max% 次。'
|
||||
worldedit_unsafe: '已阻止对此命令的访问'
|
||||
worldedit_dangerous_worldedit: '%s1 在 %s0 处进行了不安全的编辑'
|
||||
worldedit_toggle_tips_on: '已禁用快异创世提示。'
|
||||
worldedit_toggle_tips_off: '已启用快异创世提示。'
|
||||
|
||||
worldedit_bypassed: '正绕过快异创世限制。'
|
||||
worldedit_unmasked: '您的快异创世编辑现已不受限制。'
|
||||
|
||||
worldedit_restricted: '您的快异创世编辑现正受限制。'
|
||||
worldedit_oom_admin: |-
|
||||
可选项:
|
||||
- //fast
|
||||
- 进行小编辑
|
||||
- 分配更多内存
|
||||
- 禁用 `max-memory-percent`
|
||||
compressed: '已压缩历史。保存为 ~ %s0b(%s1 倍原大小)'
|
||||
action_complete: '已在 %s0 秒内完成操作'
|
||||
|
||||
error:
|
||||
worldedit_extend: '您的编辑可能已超过所允许的范围。'
|
||||
web_unauthorized: '仅允许来自已配置网页主机的链接: %s0'
|
||||
command_syntax: '用法: %s0'
|
||||
no_perm: '您缺少权限节点: %s0'
|
||||
setting_disable: '缺少设置: %s0'
|
||||
brush_not_found: '可用画笔: %s0'
|
||||
brush_incompatible: '画笔与此版本不兼容'
|
||||
schematic_not_found: '未找到布局: %s0'
|
||||
no_region: '您当前没有允许修改的区域'
|
||||
no_mask: '您当前没有蒙版集'
|
||||
not_player: '您必须为玩家才能执行此操作!'
|
||||
player_not_found: '玩家未找到: %s0'
|
||||
oom: |-
|
||||
[致命错误] 系统检测到可用内存 < 1%。我们将执行下列操作:
|
||||
- 终止创世的方块放置
|
||||
- 清除创世历史
|
||||
- 卸载无用区块
|
||||
- 杀死实体
|
||||
- 收集垃圾
|
||||
若您正尝试使服务器崩溃,请忽略此消息
|
||||
注:低内存可能但不一定由创世导致
|
||||
worldedit_some_fails: '%s0 个方块由于在您所允许的区域外而无法放置。'
|
||||
worldedit_some_fails_blockbag: '缺少方块: %s0'
|
||||
|
||||
web:
|
||||
generating_link: '正在上传 %s,请稍后···'
|
||||
generating_link_failed: '生成下载链接失败!'
|
||||
download_link: '%s'
|
||||
|
||||
worldedit:
|
||||
general:
|
||||
mask_disabled: 已禁用全局蒙版
|
||||
mask: 已设置全局蒙版
|
||||
texture_disabled: 已重置纹理
|
||||
texture_set: 已设置纹理为 %s1
|
||||
source_mask_disabled: 已禁用全局源蒙版
|
||||
source_mask: 已设置全局源蒙版
|
||||
transform_disabled: 已禁用全局变形
|
||||
transform: 已设置全局变形
|
||||
fast_enabled: 已启用快速模式。历史及编辑将不受限制。
|
||||
fast_disabled: 已禁用快速模式
|
||||
place_enabled: '放置于位置 #1.'
|
||||
place_disabled: 放置于您所站的方块。
|
||||
|
||||
copy:
|
||||
command_copy: '已复制 %s0 个方块。'
|
||||
cut:
|
||||
command_cut_slow: '已剪切 %s0 个方块。'
|
||||
command_cut_lazy: '%s0 个方块将在粘贴时被移除'
|
||||
paste:
|
||||
command_paste: 已粘贴剪贴板内容在 %s0
|
||||
rotate:
|
||||
command_rotate: 已旋转剪贴板内容
|
||||
flip:
|
||||
command_flipped: 已翻转剪贴板内容
|
||||
regen:
|
||||
command_regen_0: 已重新生成区域。
|
||||
command_regen_1: 已重新生成区域。
|
||||
command_regen_2: 已重新生成区域。
|
||||
tree:
|
||||
command_tree: '已生成 %s0 棵树木。'
|
||||
command_pumpkin: '已生成 %s0 个南瓜。'
|
||||
flora:
|
||||
command_flora: '已生成 %s0 棵植物。'
|
||||
history:
|
||||
command_history_clear: 已清除历史记录
|
||||
command_redo_error: 无可重做项。(请使用 `/inspect` 或 `/frb` 查看)
|
||||
command_history_other_error: 无法找到 %s0 的会话。
|
||||
command_redo_success: 重做成功%s0。
|
||||
command_undo_error: 无可撤销项。(请使用 `/inspect` 或 `/frb` 查看)
|
||||
command_undo_success: 撤消成功%s0。
|
||||
operation:
|
||||
operation: 操作已进入队列 (%s0)
|
||||
selection:
|
||||
selection_wand: '左击: 选择位置 #1;右击:选择位置 #2'
|
||||
selection_wand_disable: 已禁用编辑手杖。
|
||||
selection_wand_enable: 已启用编辑手杖。
|
||||
selection_chunk: 已选中区块 (%s0)
|
||||
selection_chunks: 已选中区块 (%s0) - (%s1)
|
||||
selection_contract: 区域已缩小 %s0 个方块。
|
||||
selection_count: 共计 %s0 块。
|
||||
selection_distr: '# 方块总数: %s0'
|
||||
selection_expand: 地区扩大%s0 块
|
||||
selection_expand_vert: 区域已增大 %s0 个方块。(从上到下)
|
||||
selection_inset: 已插入区域
|
||||
selection_outset: 已移出区域
|
||||
selection_shift: 已移动区域
|
||||
selection_cleared: 已清除选择
|
||||
navigation:
|
||||
navigation_wand_error: '无可传递项'
|
||||
anvil:
|
||||
world_is_loaded: 执行操作时世界不能被占用。请先卸载世界,或使用 -f 标记覆盖(请先保存)
|
||||
brush:
|
||||
brush_reset: 重置您的画笔。(SHIFT + 单击)
|
||||
brush_none: 您未拿画笔!
|
||||
brush_scroll_action_set: 已设置滚动操作至 %s0
|
||||
brush_scroll_action_unset: 已移除滚动操作
|
||||
brush_visual_mode_set: 已设置可视模式为 %s0
|
||||
brush_target_mode_set: 已设置目标模式为 %s0
|
||||
brush_target_mask_set: 已设置目标蒙版为 %s0
|
||||
brush_target_offset_set: 设置目的地偏移量 %s0
|
||||
brush_equipped: 已装备画笔 %s0
|
||||
brush_try_other: |-
|
||||
还有其他画笔可用,如:
|
||||
- //br height [半径=5] [#剪贴板|文件=null] [旋转=0] [纵坐标=1.00]
|
||||
brush_copy: 左击要复制的对象,右击粘贴。您可增加画笔半径。
|
||||
brush_height_invalid: 高度图文件无效 (%s0)
|
||||
brush_smooth: '注:您可用混合刷使凸起与洞穴处变得平滑。'
|
||||
brush_spline: 点击添加点,请点击相同点完成
|
||||
brush_line_primary: 已添加点 %s0,请点击其他位置以创建线条
|
||||
brush_catenary_direction: 已添加点 %s0,请点击要创建样条曲线的方向
|
||||
brush_line_secondary: 已创建样条曲线
|
||||
brush_spline_primary_2: 已添加位置,请点击相同点合并!
|
||||
brush_spline_secondary_error: 位置集不足!
|
||||
brush_spline_secondary: 已创建样条曲线
|
||||
brush_size: 已设置画笔尺寸
|
||||
brush_range: 已设置画笔尺寸
|
||||
brush_mask_disabled: 已禁用画笔蒙版
|
||||
brush_mask: 已设置画笔蒙版
|
||||
brush_source_mask_disabled: 已禁用画笔源蒙版
|
||||
brush_source_mask: 已设置画笔源蒙版
|
||||
brush_transform_disabled: 已禁用画笔变形
|
||||
brush_transform: 已设置画笔变形
|
||||
brush_material: 已设置画笔材料
|
||||
rollback:
|
||||
rollback_element: 正在撤消 %s0
|
||||
tool:
|
||||
tool_inspect: 已绑定检查工具至 %s0。
|
||||
tool_inspect_info: '%s0 在 %s3 前将 %s1 更改为 %s2'
|
||||
tool_inspect_info_footer: '共计: %s0 处更改'
|
||||
tool_none: 工具已从您的当前物品上解绑。
|
||||
tool_info: 已绑定信息工具至 %s0。
|
||||
tool_tree: 已绑定造树工具至 %s0。
|
||||
tool_tree_error: 树型 %s0 未知。
|
||||
tool_repl: 已绑定方块替换工具至 %s0。
|
||||
tool_cycler: 已绑定方块数据循环工具至 %s0。
|
||||
tool_flood_fill: 已绑定方块洪水填充工具至 %s0。
|
||||
tool_range_error: '最大范围: %s0.'
|
||||
tool_radius_error: '最大画笔半径: %s0.'
|
||||
tool_deltree: 已绑定漂树移除工具至 %s0。
|
||||
tool_farwand: 已绑定远程手杖至 %s0。
|
||||
tool_lrbuild_bound: 已绑定远程建筑工具至 %s0。
|
||||
tool_lrbuild_info: 已设置左击为 %s0; 已设置右击为 %s1。
|
||||
superpickaxe_enabled: 已启用超级稿子。
|
||||
superpickaxe_disabled: 已禁用超级稿子。
|
||||
superpickaxe_area_enabled: 已更改模式。请使用稿子左击,使用 // 禁用此功能。
|
||||
snapshot:
|
||||
snapshot_loaded: '已载入快照 %s0 ;正在恢复···'
|
||||
snapshot_set: '已设置快照为: %s0'
|
||||
snapshot_newest: 正使用最新版快照。
|
||||
snapshot_list_header: '世界快照 (%s0):'
|
||||
snapshot_list_footer: 请使用 /snap use [快照] 或 /snap use latest。
|
||||
biome:
|
||||
biome_list_header: '生态群系 (页 %s0/%s1):'
|
||||
biome_changed: 已更改 %s0 列中的生态群系。
|
||||
utility:
|
||||
kill_success: '已击杀半径 %s0 内的 %s1 个实体。'
|
||||
nothing_confirmed: 您没有待确认的操作。
|
||||
page_footer: 请使用 %s0 前往下一页
|
||||
schematic:
|
||||
schematic_prompt_clear: '您可能需先使用 %s0 来清除剪贴板'
|
||||
schematic_show: |-
|
||||
正在显示来自 %s1 的 %s0 个原理图:
|
||||
- 左击将结构复制到您的剪贴板
|
||||
- 右击将结构添加到多重剪贴板
|
||||
- 使用 %s2 回到原世界
|
||||
schematic_format: '可用格式 (名称: 搜索名称)'
|
||||
schematic_loaded: '已加载 %s0。请使用 //paste 粘贴'
|
||||
schematic_saved: '已保存 %s0。'
|
||||
schematic_page: 页数必须为 %s
|
||||
schematic_none: 未找到文件。
|
||||
schematic_list: '可用文件 (文件名: 格式) [%s0/%s1]:'
|
||||
schematic_list_elem: ' - %s0 - %s1'
|
||||
schematic_move_exists: '%s0 已存在'
|
||||
schematic_move_success: '%s0 -> %s1'
|
||||
schematic_move_failed: '%s0 未移动: %s1'
|
||||
clipboard:
|
||||
clipboard_cleared: 已清除剪贴板
|
||||
clipboard_invalid_format: '未知剪贴板格式: %s0'
|
||||
clipboard_uri_not_found: 您尚未加载 %s0
|
||||
visitor:
|
||||
visitor_block: '共影响 %s0 个方块'
|
||||
visitor_entity: '共影响 %s0 个实体'
|
||||
visitor_flat: '共影响 %s0 列'
|
||||
selector:
|
||||
selector_fuzzy_pos1: 已从 %s0 %s1 处设置并扩展区域。
|
||||
selector_fuzzy_pos2: 已添加 %s0 %s1 的扩展区域。
|
||||
selector_invalid_coordinates: 坐标 %s0 无效
|
||||
selector_already_set: 已设置位置。
|
||||
selector_set_default: 您的默认区域选择器已更改为 %s0。
|
||||
selector_pos: '已设置位置 %s0 在 %s1 (%s2)。'
|
||||
selector_center: 已设置中心为 %s0 (%s1)。
|
||||
selector_radius: 已设置半径为 %s0 (%s1)。
|
||||
selector_expanded: 已扩大区域至 %s0 (%s1)
|
||||
timezone:
|
||||
timezone_set: '已为此会话设置时区至: %s0'
|
||||
timezone_display: '此时区的当前时间为: %s0'
|
||||
command:
|
||||
command_invalid_syntax: 命令使用有误 (无帮助可用)。
|
||||
help:
|
||||
command_clarifying_bracket: '已为 %s0 添加阐述括号'
|
||||
help_suggest: '无法找到 %s0。试试 %s1 吗?'
|
||||
help_header_categories: 命令类型
|
||||
help_header_subcommands: 子命令
|
||||
help_header_command: '%s0 帮助'
|
||||
help_item_allowed: '%s0 - %s1'
|
||||
help_item_denied: '%s0 - %s1'
|
||||
help_header: '帮助: 页 %s0/%s1'
|
||||
help_footer: '维基页面: https://git.io/vSKE5'
|
||||
progress:
|
||||
progress_message: '剩余 %s1/%s0 (%s2%) @%s3cps %s4s'
|
||||
progress_finished: '[ 完成! ]'
|
||||
cancel:
|
||||
worldedit_cancel_count: '已取消 %s0 次编辑。'
|
||||
worldedit_cancel_reason_confirm: '您的选择区域过大 (%s0 -> %s1,内有 %s3 个方块)。请使用 //confirm 继续执行 %s2'
|
||||
worldedit_cancel_reason: '已取消您的创世操作: %s0.'
|
||||
worldedit_cancel_reason_manual: 手动取消
|
||||
worldedit_cancel_reason_low_memory: 内存不足
|
||||
worldedit_cancel_reason_max_changes: 方块更改过多
|
||||
worldedit_cancel_reason_max_checks: 方块检查过多
|
||||
worldedit_cancel_reason_max_tiles: 方块状态过多
|
||||
worldedit_cancel_reason_max_entities: 实体过多
|
||||
worldedit_cancel_reason_max_iterations: 最大重复次数
|
||||
worldedit_cancel_reason_no_region: 无允许区域 (请使用 /wea 绕过限制,或在 config.yml 中禁用 `region-restrictions`)
|
||||
worldedit_failed_load_chunk: '已跳过区块载入: %s0;%s1。请尝试增加区块等待时长'
|
||||
worldedit_cancel_reason_outside_level: 世界外
|
||||
worldedit_cancel_reason_outside_region: 允许区域外 (请使用 /wea 绕过限制,或在 config.yml 中禁用 `region-restrictions`)
|
||||
navigation:
|
||||
ascend_fail: 您上方无空位。
|
||||
ascended_plural: 已上升 %s0 格。
|
||||
ascended_singular: 已向上移动一层。
|
||||
unstuck: 起飞了!
|
||||
descend_fail: 您下方无空位。
|
||||
descend_plural: 已下降 %s0 格。
|
||||
descend_singular: 已向下移动一层。
|
||||
whoosh: 嗖!
|
||||
poof: 啪!
|
||||
thru_fail: 您前方无空位。
|
||||
no_block: '视野内无方块!(或距离过远)'
|
||||
up_fail: 您将碰到上方的物体。
|
||||
selection:
|
||||
sel_cuboid: '立方体: 左击点 1, 右击点 2'
|
||||
sel_cuboid_extend: '立方体: 左击起始点, 右击扩大'
|
||||
sel_2d_polygon: '2D 多边形选择器: 左/右点击添加点。'
|
||||
sel_ellipsiod: '椭圆体选择器: 左击选定中心,右击扩大'
|
||||
sel_sphere: '球体选择器: 左击选定中心,右击设置半径'
|
||||
sel_cylindrical: '圆柱选择器: 左击选定中心,右击扩大'
|
||||
sel_max: '可选择至多 %s0 个点。'
|
||||
sel_fuzzy: '模糊选择器: 左击选择所有可能的方块,右击添加。要选择气腔,请使用 //pos1。'
|
||||
sel_convex_polyhedral: '凸多面体选择器: 左击选择首个顶点,右击选择更多顶点。'
|
||||
sel_list: '要查看选择类型列表,请使用: //sel list'
|
||||
sel_modes: '请选择下列模式之一:'
|
||||
tips:
|
||||
tip_sel_list: '提示: 请使用 //sel list 查看不同的选择模式'
|
||||
tip_select_connected: '提示: 请使用 //sel fuzzy 选择所有连接为一体的方块'
|
||||
tip_set_pos1: '提示: 请使用 //set pos1 将点 1 作为样式'
|
||||
tip_farwand: '提示: 请使用 //farwand 选择远方的点'
|
||||
tip_lazycut: '提示: 使用 //lazycut 更为安全'
|
||||
tip_fast: '提示: 请使用 //fast 在不撤销的情况下快速放置方块'
|
||||
tip_cancel: '提示: 您可使用 //cancel 取消进行中的编辑'
|
||||
tip_mask: '提示: 请使用 /gmask 设置全局终点蒙版'
|
||||
tip_mask_angle: '提示: 请使用 //replace /[-20][-3] bedrock 替换 3-20 个方块的上坡'
|
||||
tip_set_linear: '提示: 请使用 //set #l3d[wood,bedrock] 线性放置方块'
|
||||
tip_surface_spread: '提示: 请使用 //set #surfacespread[5][0][5][#existing] 进行平面展开'
|
||||
tip_set_hand: '提示: 请使用 //set hand 来使用您的手'
|
||||
tip_replace_id: '提示: 请使用 //replace woodenstair #编号[石台阶] 来仅替换方块编号'
|
||||
tip_replace_light: '提示: 请使用 //replace #brightness[1][15] 0 来移除光源'
|
||||
tip_tab_complete: '提示: 替换命令支持 Tab 键补全功能'
|
||||
tip_flip: '提示: 请使用 //flip 创建镜像'
|
||||
tip_deform: '提示: 请使用 //deform 重新塑形'
|
||||
tip_transform: '提示: 请使用 //gtransform 设置变形'
|
||||
tip_copypaste: '提示: 请使用 //br copypaste 在点击时粘贴'
|
||||
tip_source_mask: '提示: 请使用 /gsmask <蒙版> 来设置源蒙版'
|
||||
tip_replace_marker: '提示: 请使用 //replace wool #fullcopy 使用剪切板完全替换方块'
|
||||
tip_paste: '提示: 请使用 //paste 放置方块'
|
||||
tip_lazycopy: '提示: lazycopy 的速度更为快捷'
|
||||
tip_download: '提示: 来试试 //download'
|
||||
tip_rotate: '提示: 请使用 //rotate 确定方位'
|
||||
tip_copy_pattern: '提示: 请使用 #copy 来作为样式使用'
|
||||
tip_regen_0: '提示: 使用 /regen [生态群系] 来重新生成生态群系'
|
||||
tip_regen_1: '提示: 使用 /regen [生态群系] [种子] 来重新生成生态群系'
|
||||
tip_biome_pattern: '提示: #biome[forest] 样式可用于任意命令中'
|
||||
tip_biome_mask: '提示: 您可使用 `$jungle` 蒙版来限定生态群系'
|
@ -1,378 +0,0 @@
|
||||
# Updated by NotMyFault, 11.04.2019
|
||||
info:
|
||||
prefix: '(FAWE)'
|
||||
schematic_pasting: 'Die Schematic wird eingefügt. Dies kann nicht rückgängig gemacht
|
||||
werden.'
|
||||
updated_lighting_selection: 'Das Licht wird in %s0 Chunks aktualisiert. (Es kann
|
||||
einige Sekunden dauern, bis die Pakete gesendet werden.)'
|
||||
set_region: 'Markierung wurde auf aktuelle WorldEdit Region übertragen.'
|
||||
worldedit_command_limit: 'Bitte warte, bis deine momentane Aktion fertig gestellt
|
||||
wurde.'
|
||||
worldedit_delayed: 'Bitte warte, während deine aktuelle WorldEdit Aktion durchgeführt
|
||||
wird..'
|
||||
worldedit_run: 'Entschuldige die Verzögerung. Nun führen wir folgende Aktion von
|
||||
dir aus: %s'
|
||||
worldedit_complete: 'WorldEdit Aktion fertiggestellt..'
|
||||
require_selection_in_mask: '%s deiner Auswahl ist nicht innerhalb deiner Maske.
|
||||
Du darfst nur innerhalb erlaubter Regionen Veränderungen durchführen.'
|
||||
worldedit_volume: 'Du kannst keine %current% verändern. Die maximale Anzahl an
|
||||
Blöcken die du verändern darfst ist %max%.'
|
||||
worldedit_iterations: 'Du kannst %current% nicht wiederholen. Die maximale Anzahl an erlaubten Wiederholungen ist %max%.'
|
||||
worldedit_unsafe: 'Der Zugang zu diesem Befehl wurde verboten.'
|
||||
worldedit_dangerous_worldedit: 'FAWE führt unsicher WorldEdit Aktionen aus! Position:
|
||||
%s0 Spielername: %s1'
|
||||
worldedit_bypassed: 'Beschränkungen werden nun ignoriert.'
|
||||
worldedit_unmasked: 'Deine WorldEdit Beschränkungen sind nun aufgehoben.'
|
||||
worldedit_restricted: 'Deine WorldEdit Beschränkungen sind nun aktiv.'
|
||||
worldedit_oom_admin: |-
|
||||
Mögliche Optionen:
|
||||
- //fast
|
||||
- Kleinere Aktionen ausführen
|
||||
- Mehr Arbeitsspeicher zuweisen
|
||||
- Diese Meldungen deaktivieren
|
||||
compressed: WorldEdit Verlauf komprimiert. Um ~ %s0b reduziert (%s1x kleiner)
|
||||
action_complete: Aktion fertiggestellt in %s0 Sekunden
|
||||
lighting_propogate_selection: 'Licht wurde berechnet in %s0 Chunks. (Info: Um
|
||||
Licht zu entfernen nutze //removelight)'
|
||||
worldedit_toggle_tips_on: 'WorldEdit Tipps deaktiviert.'
|
||||
worldedit_toggle_tips_off: 'WorldEdit Tipps aktiviert.'
|
||||
file_deleted: '%s0 wurde gelöscht.'
|
||||
error:
|
||||
worldedit_extend: 'Deine WorldEdit Aktion überschreitet die erlaubte Region'
|
||||
command_syntax: 'Benutzung: %s0'
|
||||
no_perm: 'Dir fehlt die Berechtigung: %s0'
|
||||
setting_disable: 'Fehlende Einstellung: %s0'
|
||||
schematic_not_found: 'Schematic nicht gefunden: %s0'
|
||||
no_region: 'Du hast keine aktive WorldEdit Markierung'
|
||||
no_mask: 'Du hast keine Maske gesetzt'
|
||||
not_player: 'Dieser Befehl kann nur von Spielern ausgeführt werden!'
|
||||
player_not_found: 'Spieler nicht gefunden: %s0'
|
||||
oom: |-
|
||||
[Kritisch] Wenig Arbeitsspeicher frei (< 1%). FAWE wird folgendes machen:
|
||||
- Alle Aktionen terminieren
|
||||
- Vergangene Bearbeitungen vergessen
|
||||
- Alle unwichtigen Chunks entladen
|
||||
- Alle Entities töten
|
||||
- Unnötig verwendeten Speicher freigeben.
|
||||
Ignoriere diese Meldung, wenn du versuchst den Server zu crashen.
|
||||
Note: Wenig freier Speicher kann unter Umständen wegen WE passiert sein.
|
||||
worldedit_some_fails: '%s0 Blöcke wurden nicht platziert, da sie außerhalb der
|
||||
erlaubten Region sind.'
|
||||
worldedit_some_fails_blockbag: 'Fehlende Blöcke: %s0'
|
||||
web_unauthorized: 'Es sind nur Links vom konfigurierten Webhost erlaubt: %s0'
|
||||
brush_not_found: '&Verfügbare Brushes: %s0'
|
||||
brush_incompatible: 'Brush ist nicht kompatibel mit dieser Version'
|
||||
block_not_allowed: 'Du darfst diesen Block nicht benutzen:'
|
||||
web:
|
||||
generating_link: Lade %s hoch, bitte warten...
|
||||
generating_link_failed: 'Erstellung eines Download-Links fehlgeschlagen!'
|
||||
download_link: '%s'
|
||||
worldedit:
|
||||
general:
|
||||
mask_disabled: Globale Maske deaktiviert
|
||||
mask: Globale Maske gesetzt
|
||||
transform_disabled: Globale Transformation deaktiviert
|
||||
transform: Globale Transformation gesetzt
|
||||
source_mask_disabled: Globale Quell-Maske deaktiviert
|
||||
source_mask: Global Quell-Maske gesetzt
|
||||
fast_enabled: Fast-Modus aktiviert. Verlauf und Beschränkungen werden ignoriert.
|
||||
fast_disabled: Fast-Modus deaktiviert
|
||||
place_enabled: 'Platziere nun an Pos. #1.'
|
||||
place_disabled: Platziere nun an dem Block in dem du stehst.
|
||||
texture_disabled: Texturen zurückgesetzt
|
||||
texture_set: Textur auf %s1 gestellt
|
||||
copy:
|
||||
command_copy: '%s0 Blöcke kopiert'
|
||||
cut:
|
||||
command_cut_slow: |-
|
||||
%s0 Blöcke wurden ausgeschnitten.
|
||||
Tipp: Lazycut ist sicherer
|
||||
command_cut_lazy: '%s0 Blöcke werden beim Einfügen entfernt'
|
||||
paste:
|
||||
command_paste: Zwischenablage wurde bei Position %s0 eingefügt
|
||||
rotate:
|
||||
command_rotate: Zwischenablage wurde gedreht
|
||||
flip:
|
||||
command_flipped: Zwischenablage wurde gespiegelt
|
||||
regen:
|
||||
command_regen_0: |-
|
||||
Region regeneriert.
|
||||
Tipp: Nutze dies für Biome mit /regen [biome]
|
||||
command_regen_1: |-
|
||||
Region regeneriert.
|
||||
Tipp: Nutze einen Seed mit /regen [biome] [seed]
|
||||
command_regen_2: Region regeneriert.
|
||||
tree:
|
||||
command_tree: '%s0 Bäume erstellt.'
|
||||
command_pumpkin: '%s0 Kürbis-Haufen erstellt.'
|
||||
flora:
|
||||
command_flora: '%s0 Pflanzen erstellt.'
|
||||
history:
|
||||
command_history_clear: Verlauf gelöscht
|
||||
command_redo_success: Redo erfolgreich.
|
||||
command_undo_success: Undo erfolgreich.
|
||||
command_redo_error: Es gibt nichts zum Wiederherstellen. (Siehe `/inspect` und
|
||||
`/frb`)
|
||||
command_undo_error: Es gibt nichts zum Rückgängigmachen. (Siehe `/inspect` und
|
||||
`/frb`)
|
||||
command_history_other_error: WorldEdit Verlauf für %s0 konnte nicht gefunden werden.
|
||||
command_undo_disabled: 'Undo ist deaktiviert, benutze //fast'
|
||||
operation:
|
||||
operation: Operation wird durchgeführt (%s0)
|
||||
selection:
|
||||
selection_wand: 'Linksklick: Markiere Position #1; Rechtsklick: Markiere Position
|
||||
#2'
|
||||
selection_wand_disable: Bearbeitungs-Tool deaktiviert.
|
||||
selection_wand_enable: Bearbeitungs-Tool aktiviert.
|
||||
selection_chunk: Chunk ausgewählt (%s0)
|
||||
selection_chunks: Chunks ausgewählt (%s0) - (%s1)
|
||||
selection_contract: Markierung verkleinert um %s0 Blöcke.
|
||||
selection_count: '%s0 Blöcke wurden gezählt.'
|
||||
selection_distr: '# Gesamtanzahl Blöcke: %s0'
|
||||
selection_expand: Markierung erweitert um %s0 Blöcke
|
||||
selection_expand_vert: Markierung erweitert um %s0 Blöcke (Maximaler Baubereich)
|
||||
selection_inset: Markierung verkleinert
|
||||
selection_outset: Markierung vergößert
|
||||
selection_shift: Region verschoben
|
||||
selection_cleared: Auswahl gelöscht
|
||||
brush:
|
||||
brush_copy: Copy Brush ausgerüstet (%s0)
|
||||
brush_height_invalid: Ungültige Höhenkarte (%s0)
|
||||
brush_smooth: Glättungs-Brush ausgerüstet (%s0 x %s1 using %s2).
|
||||
brush_spline: Linien Brush Format ausgerüstet (%s0). Rechstklicke ein Ende um
|
||||
ein Format hinzuzufügen
|
||||
brush_spline_secondary_error: Nicht genügend Positionen gesetzt!
|
||||
brush_spline_secondary: Kurve erstellt
|
||||
brush_size: Brush Größe gesetzt
|
||||
brush_range: Brush Weite gesetzt
|
||||
brush_mask_disabled: Brush Maske deaktiviert
|
||||
brush_mask: Brush Maske gesetzt
|
||||
brush_transform_disabled: Brush Transformation deaktiviert
|
||||
brush_transform: Brush-Transformation gesetzt
|
||||
brush_material: Brush-Material gesetzt
|
||||
brush_try_other: |-
|
||||
FAWE verfügt über andere, passendere Brushes. z.B.:
|
||||
- //br height [radius=5] [#clipboard|file=null] [rotation=0] [yscale=1.00]
|
||||
brush_none: Du hältst kein Tool in der Hand, das man als Brush verwenden kann!
|
||||
brush_source_mask_disabled: Brush Quell-Maske deaktiviert
|
||||
brush_source_mask: Brush Quell-Maske gesetzt
|
||||
brush_reset: Brush zurückgesetzt.
|
||||
brush_scroll_action_set: Scroll Aktion auf %s0 gesetzt
|
||||
brush_scroll_action_unset: Scroll Aktion entfernt
|
||||
brush_visual_mode_set: Visualiserungsmodus auf %s0 gesetzt
|
||||
brush_target_mode_set: Zielmodus auf %s0 gesetzt
|
||||
brush_target_mask_set: Zielmaske auf %s0 gesetzt
|
||||
brush_target_offset_set: Zielausrichtung auf %s0 gesetzt
|
||||
brush_equipped: Brush %s0 ausgerüstet
|
||||
brush_line_primary: Punkt %s0 hinzugefügt. Klicke auf eine andere Position um
|
||||
die Linie zu erstellen
|
||||
brush_line_secondary: Spline erstellt
|
||||
brush_spline_primary_2: Position hinzugefügt. Klicke auf die gleiche Position
|
||||
um zu beginnen!
|
||||
brush_catenary_direction: Punkt %s0 hinzugefügt. Klicke in die Richtung in der
|
||||
du die spline generieren willst
|
||||
rollback:
|
||||
rollback_element: annulliere %s0
|
||||
tool:
|
||||
tool_inspect: Inpektions-Tool an %s0 gebunden.
|
||||
tool_inspect_info: '%s0 änderte %s1 zu %s2 %s3 zuvor'
|
||||
tool_inspect_info_footer: 'Total: %s0 Änderungen'
|
||||
tool_none: Tool vom aktuellen Item entfernt.
|
||||
tool_info: Info-Tool gebunden an %s0.
|
||||
tool_tree: Tree-Tool gebunden an %s0.
|
||||
tool_tree_error: Baum Typ %s0 ist unbekannt.
|
||||
tool_repl: Block Replacer-Tool an %s0 gebunden.
|
||||
tool_cycler: Block Data Cycler-Tool an %s0 gebunden
|
||||
tool_flood_fill: Block Flood Fill-Tool an %s0 gebunden
|
||||
tool_deltree: Floating Tree Remover-Tool an %s0 gebunden
|
||||
tool_farwand: Far Wand-Tool gebunden an%s0.
|
||||
tool_lrbuild_bound: Long-range Building-Tool gebunden an %s0.
|
||||
tool_lrbuild_info: 'Linksklick: Setze Position %s0; Rechtsklick: Setze Position
|
||||
%s1'
|
||||
superpickaxe_enabled: Super-Spitzhacke aktiviert.
|
||||
superpickaxe_disabled: Super-Spitzhacke deaktiviert.
|
||||
tool_range_error: 'Maximale Reichweite: %s0.'
|
||||
tool_radius_error: 'Maximal erlaubter Brush Radius: %s0.'
|
||||
superpickaxe_area_enabled: Modus geändert. Linksklick mit einer Spitzhacke. Verwende '//' zum deaktivieren.
|
||||
tool_tree_error_block: Du kannst hier keinen Baum wachsen lassen
|
||||
tool_deltree_error: Das ist kein Baum
|
||||
tool_deltree_floating_error: Das ist kein schwebender Baum
|
||||
schematic:
|
||||
schematic_format: 'Verfügbare Zwischenablage Formate (Name: Suche Namen)'
|
||||
schematic_loaded: Schematic %s0 geladen. Platziere sie mit //paste
|
||||
schematic_saved: Schematic %s0 gespeichert.
|
||||
schematic_page: Seite muss %s sein.
|
||||
schematic_none: Keine Schematics gefunden.
|
||||
schematic_list: 'Verfügbare Schematics (Dateiname: Format) [%s0/%s1]:'
|
||||
schematic_list_elem: ' - %s0 - %s1'
|
||||
schematic_prompt_clear: 'Meintest du %s0 um deine Zwischenablage zu leeren?'
|
||||
schematic_show: |-
|
||||
Displaying %s0 Schematics von %s1:
|
||||
- Linksklick a um der Zwischenablage hinzuzufügen
|
||||
- Rechtsklick um etwas deiner Multi-Zwischenablage hinzuzufügen
|
||||
- Benutze %s2 um zur richtigen Welt zurückzukehren
|
||||
schematic_move_exists: '%s0 existiert bereits'
|
||||
schematic_move_success: '%s0 -> %s1'
|
||||
schematic_move_failed: '%s0 wurde nicht bewegt: %s1'
|
||||
clipboard:
|
||||
clipboard_cleared: Zwischenablage geleert
|
||||
clipboard_invalid_format: 'Unbekanntes Zwischenablage Format: %s0'
|
||||
clipboard_uri_not_found: Du hast %s0 nicht geladen.
|
||||
visitor:
|
||||
visitor_block: '%s0 Blöcke betroffen'
|
||||
visitor_entity: '%s0 Entities betroffen'
|
||||
visitor_flat: '%s0 Spalten betroffen'
|
||||
selector:
|
||||
selector_invalid_coordinates: Ungültige Koordinaten %s0
|
||||
selector_already_set: Position bereits gesetzt.
|
||||
selector_fuzzy_pos1: Region gesetzt und expandiert von %s0 %s1.
|
||||
selector_fuzzy_pos2: Erweiterung um %s0 %s1 hinzugefügt.
|
||||
selector_set_default: Dein Standard Auswahl-Tool ist nun %s0.
|
||||
selector_pos: Position%s0 zu %s1 (%s2) gesetzt.
|
||||
selector_center: Mittelpunkt zu %s0 (%s1) gesetzt.
|
||||
selector_radius: Radius zu %s0 (%s1) gesetzt.
|
||||
selector_expanded: Region expandiert auf %s0 (%s1).
|
||||
command:
|
||||
command_invalid_syntax: Der Befehl wurde nicht richtig benutzt. (Keine weitere
|
||||
Hilfe verfügbar).
|
||||
snapshot:
|
||||
snapshot_loaded: Snapshot '%s0' geladen; Wiederherstellung läuft...
|
||||
snapshot_set: 'Snapshot gesetzt auf: %s0'
|
||||
snapshot_newest: Neuester Snapshot wird jetzt benutzt.
|
||||
snapshot_list_header: 'Snapshots für die Welt (%s0):'
|
||||
snapshot_list_footer: Nutze /snap use [snapshot] oder /snap use latest.
|
||||
snapshot_not_configured: Snapshot/backups sind nicht konfiguriert.
|
||||
snapshot_not_available: Keine Snapshots verfügbar, überprüfe die Konsole
|
||||
snapshot_not_found_world: No snapshots were found for this world.
|
||||
snapshot_not_found: Keine Snapshots gefunden
|
||||
snapshot_invalid_index: Ungültiger Index, der WErt muss gleich oder größer 1 sein
|
||||
snapshot_error_date: Datum konnte nicht gefunden werden
|
||||
snapshot_error_restore: Ein Fehler verhinderte das wiederherstellen von Blöcken
|
||||
snapshot_error_restore_chunks: Chunks konnten nicht geladen werden
|
||||
biome:
|
||||
biome_list_header: 'Biome (Seite %s0/%s1):'
|
||||
biome_changed: Biome wurden in %s0 Blöcken geändert.
|
||||
utility:
|
||||
kill_success: '%s0 Entities in einem Radius von %s1 getötet.'
|
||||
nothing_confirmed: Du hast keine zur Autorisierung ausstehenden Aktionen.
|
||||
page_footer: Benutze %s0 um zur nächsten Seite zu gehen
|
||||
timezone:
|
||||
timezone_set: 'Zeitzone für diese Sitzung gesetzt auf: %s0'
|
||||
timezone_display: 'Aktuelle Zeit in dieser Zeitzone: %s0'
|
||||
navigation:
|
||||
navigation_wand_error: 'Nichts zu durchqueren'
|
||||
anvil:
|
||||
world_is_loaded: Die Welt sollte während er Ausführung nicht in Benutzung sein.
|
||||
Entlade die Welt oder überschreibe diese mit -f (vorher speichern)
|
||||
help:
|
||||
command_clarifying_bracket: 'Klammer für%s0 wurde hinzugefügt'
|
||||
help_suggest: '%s0 konnte nicht gefunden werden. Versuche %s1 '
|
||||
help_header_categories: Befehlstypen
|
||||
help_header_subcommands: Unterbefehle
|
||||
help_header_command: 'Hilfe für: %s0'
|
||||
help_item_allowed: '%s0 - %s1'
|
||||
help_item_denied: '%s0 - %s1'
|
||||
help_header: 'Hilfe: Seite %s0/%s1'
|
||||
help_footer: 'Wiki: https://git.io/vSKE5'
|
||||
cycler:
|
||||
block_cycler_cannot_cycle: Dieser Block kann mit cycler nicht verändert werden
|
||||
block_cycler_limit: Du hast dein maximales Block-Change Limit erreicht.
|
||||
block_cycler_no_perm: 'Du hast keine Rechte diesen Block mit dem cycler zu bearbeiten'
|
||||
scripting:
|
||||
scripting_no_perm: 'Du hast keine Rechte dieses CraftScript auszuführen'
|
||||
scripting_cs: Nutze /cs mit einen Script Namen
|
||||
scripting_error: Ein Fehler trat auf beim Asuführen eines Scripts.
|
||||
progress:
|
||||
progress_message: '[ Zwischenspeicher: %s0 | Erledigt: %s1 ]'
|
||||
progress_finished: '[ Fertiggestellt! ]'
|
||||
cancel:
|
||||
worldedit_cancel_count: '%s0 Veränderungen abgebrochen.'
|
||||
worldedit_cancel_reason: 'Deine WorldEdit Aktion wurde abgebrochen: %s0.'
|
||||
worldedit_cancel_reason_manual: Manueller Abbruch
|
||||
worldedit_cancel_reason_low_memory: Zu wenig Speicher
|
||||
worldedit_cancel_reason_max_changes: Zu viele Blöcke bearbeitet
|
||||
worldedit_cancel_reason_max_checks: Zu viele Blöcke gecheckt
|
||||
worldedit_cancel_reason_max_tiles: Zu viele Blockstatus
|
||||
worldedit_cancel_reason_max_entities: Zu viele Entities
|
||||
worldedit_cancel_reason_max_iterations: Maximale Wiederholungen
|
||||
worldedit_cancel_reason_no_region: Keine erlaubte Region (Ignorieren mit /wea)
|
||||
worldedit_failed_load_chunk: 'Überspringe das Laden von Chunk: %s0;%s1. Versuche
|
||||
chunk-wait zu erhöhen.'
|
||||
worldedit_cancel_reason_confirm: 'Deine Selektion ist zu groß (%s0 -> %s1). Benutze
|
||||
//confirm um %s2 auszuführen'
|
||||
worldedit_cancel_reason_outside_level: Außerhalb der Welt
|
||||
worldedit_cancel_reason_outside_region: Außerhalb erlaubter Region (Umgehe es mit
|
||||
/wea, oder deaktiviere `region-restrictions` in der config.yml)
|
||||
history: {}
|
||||
navigation:
|
||||
ascend_fail: Über dir konnte kein freier Platz gefunden werden.
|
||||
ascended_plural: '%s0 Schichten aufgestiegen.'
|
||||
ascended_singular: Eine Schicht aufgestiegen.
|
||||
unstuck: Sollte jetzt besser sein!
|
||||
descend_fail: Unter dir konnte kein freier Platz gefunden werden.
|
||||
descend_plural: '%s0 Schichten abgestiegen.'
|
||||
descend_singular: Eine Schicht abgestiegen.
|
||||
whoosh: Wusch!
|
||||
poof: Puff!
|
||||
thru_fail: Vor dir konnte kein freier Platz gefunden werden.
|
||||
up_fail: Du würdest einen Block treffen!
|
||||
no_block: Es ist kein Block in Sichweite! (oder zu weit entfernt)
|
||||
selection:
|
||||
sel_cuboid: 'Quader: Linksklick für Position1; Rechtsklick für Position2'
|
||||
sel_cuboid_extend: 'Quader: Linksklick für einen Startpunkt; Rechtsklick zum erweitern'
|
||||
sel_2d_polygon: '2D Polygon Auswahl: Links/Rechtsklick um eine Markierung hinzuzufügen.'
|
||||
sel_ellipsiod: 'Ellipsen Auswahl: Linksklick=Mitte, Rechtsklick zum erweitern'
|
||||
sel_sphere: 'Kugel Auswahl : Linksklick=Mitte, Rechtsklick um den Radius zu setzen'
|
||||
sel_cylindrical: 'Zylinder Auswahl: Linksklick=Mitte, Rechtsklick zum erweitern'
|
||||
sel_max: '%s0 Punkte maximal.'
|
||||
sel_fuzzy: 'Fuzzy Auswahl: Linksklick um alle verbundenen Blöcke zu markieren; Rechtsklick
|
||||
zum hinzufügen'
|
||||
sel_convex_polyhedral: 'Convexe Polyeder Auswahl: Linksklick=Erster Vertex; Rechtsklick,
|
||||
um mehr hinzuzufügen.'
|
||||
sel_list: 'Für eine Liste der Selektoren nutze: //sel'
|
||||
sel_modes: 'Wähle einen der unten aufgelisteten Modi:'
|
||||
tips:
|
||||
tip_cancel: 'Tipp: Du kannst eine Aktion mit `//cancel` abbrechen'
|
||||
tip_download: 'Tipp: Du kannst deine Zwischenablage mit `//download` herunterladen'
|
||||
tip_sel_list: 'Tipp: Liste die verschiedenen Selektoren auf mit //sel list'
|
||||
tip_select_connected: 'Tipp: Wähle alle verbundenen Blöcke mit //sel fuzzy'
|
||||
tip_set_pos1: 'Tipp: Nutze Position1 als Muster //set pos1'
|
||||
tip_farwand: 'Tipp: Markiere entfernte Blöcke mit //farwand'
|
||||
tip_fast: 'Tipp: Platziere schnell und ohne Undo-Historie //fast'
|
||||
tip_mask: 'Tipp: Setze eine Globale Zielmaske mit /gmask'
|
||||
tip_mask_angle: 'Tipp: Ersetze aufwärts Steigungen von 3-20 Blöcken mit //replace
|
||||
/-20:-3 bedrock'
|
||||
tip_set_linear: 'Tipp: Setze Blöcke linear mit //set #l3d:wood,bedrock'
|
||||
tip_surface_spread: 'Tipp: Streue einen flachen Untergrund mit //set #surfacespread:5:0:5:#existing'
|
||||
tip_set_hand: 'Tipp: Setze das Item in deiner Hand mit//set hand'
|
||||
tip_replace_id: 'Tipp: Ersetze nur die Block-ID: //replace woodenstair #id:cobblestair'
|
||||
tip_replace_light: 'Tipp: Entferne Licht-Quellen mit //replace #brightness:1:15
|
||||
0'
|
||||
tip_tab_complete: 'Tipp: Der Replace-Befehl unterstützt Tab-Vervollständigung'
|
||||
tip_flip: 'Tipp: Du kannst mit //flip spiegeln'
|
||||
tip_deform: 'Tipp: Forme um mit //deform'
|
||||
tip_transform: 'Tipp: Platziere eine Umformung mit //gtransform'
|
||||
tip_copypaste: 'Tipp: Füge durch Klick ein mit //br copypaste'
|
||||
tip_source_mask: 'Tipp: Setze eine Quell-Maske /gsmask <mask>'
|
||||
tip_replace_marker: 'Tipp: Ersetze einen Block mit deiner vollständigen Zwischenablage
|
||||
mit //replace wool #fullcopy'
|
||||
tip_paste: 'Tipp: Füge deine Zwischeneinlage mit //paste ein'
|
||||
tip_lazycopy: 'Tipp: lazycopy ist schneller'
|
||||
tip_rotate: 'Tipp: Ausrichten mit //rotate'
|
||||
tip_copy_pattern: 'Tipp: Um ein Muster zu verwenden verwende #copy'
|
||||
tip_lazycut: 'Tipp: Es ist sicherer den Befehl //lazycut zu verwenden.'
|
||||
tip_regen_0: 'Tipp: Benutze ein Biom mit /regen [biome]'
|
||||
tip_regen_1: 'Tipp: Benutzte einen Seed mit /regen [biome] [seed]'
|
||||
tip_biome_pattern: 'Tipp: Das #biome[forest] Muster kann in jedem Befehl genutzt
|
||||
werden'
|
||||
tip_biome_mask: 'Tipp: Beschränke ein Biom mit der `$jungle` Maske'
|
||||
tip_discord: Du benötigst Hilfe mit FAWE? https://discord.gg/KxkjDVg
|
||||
tip_replace_regex: 'Tipp: Ersetze mit regex: //replace .*_log <pattern>'
|
||||
tip_replace_regex_2: 'Tipp: Ersetze mit regex: //replace .*stairs[facing=(north|south)]
|
||||
<pattern>'
|
||||
tip_replace_regex_3: 'Tipp: Ersetze mit den folgenden Operatoren: //replace
|
||||
water[level>2] sand'
|
||||
tip_replace_regex_4: 'Tipp: Ersetze mit den folgenden Operatoren: //replace
|
||||
true *[waterlogged=false]'
|
||||
tip_replace_regex_5: 'Tipp: Ersetze mit den folgenden Operatoren: //replace
|
||||
true *[level-=1]'
|
@ -1,341 +0,0 @@
|
||||
info:
|
||||
prefix: '(FAWE)'
|
||||
file_deleted: '%s0 ha sido eliminado.'
|
||||
schematic_pasting: 'La schematic está peganda. Esto no se puede deshacer.'
|
||||
lighting_propogate_selection: 'La iluminación se ha propagado en %s0 chunks. (Nota:
|
||||
Para quitar el uso de la luz //removelight)'
|
||||
updated_lighting_selection: 'La iluminación se ha actualizado en %s0 trozos. (Puede
|
||||
tardar un segundo en enviar los paquetes)'
|
||||
set_region: 'Selección ajustada a su región permitida actual'
|
||||
worldedit_command_limit: 'Espere hasta que se complete la acción actual'
|
||||
worldedit_delayed: 'Espere mientras procesamos su acción ...'
|
||||
worldedit_run: 'Perdón por el retraso. Ahora ejecutando: %s0'
|
||||
worldedit_complete: 'Editar completado.'
|
||||
require_selection_in_mask: '%s de su selección no está dentro de su máscara. Tú
|
||||
sólo puede realizar ediciones dentro de las regiones permitidas.'
|
||||
worldedit_volume: 'No puede seleccionar un volumen de %current%. El volumen máximo
|
||||
que puede modificar es %max%.'
|
||||
worldedit_iterations: 'No se puede iterar %current% times. El número máximo de
|
||||
iteraciones permitidas es %max%.'
|
||||
worldedit_unsafe: 'Acceso a ese comando ha sido bloqueado'
|
||||
worldedit_dangerous_worldedit: 'Proceso de edición insegura en %s0 por %s1'
|
||||
worldedit_toggle_tips_on: 'Desabilitado FAWE tips.'
|
||||
worldedit_toggle_tips_off: 'Habilitado FAWE tips.'
|
||||
worldedit_bypassed: 'Consejos FAWE habilitados.'
|
||||
worldedit_unmasked: 'Las ediciones de FAWE ya no están restringidas.'
|
||||
worldedit_restricted: 'Vos ediciones de FAWE están restringidas ahora.'
|
||||
worldedit_oom_admin: |-
|
||||
Opciones Posibles:
|
||||
- //fast
|
||||
- Para ediciones más pequeñas
|
||||
- Asignar más memoria
|
||||
- Desabilitado `max-memory-percent`
|
||||
compressed: Historial comprimido. Guardado ~ %s0b (%s1x menor)
|
||||
action_complete: Acción completada en %s0 segundos
|
||||
error:
|
||||
worldedit_extend: 'Es posible que tu edición se haya extendido fuera de tu región
|
||||
permitida.'
|
||||
web_unauthorized: 'Solo se permiten enlaces desde el host web configurado: %s0'
|
||||
command_syntax: 'Usage: %s0'
|
||||
no_perm: 'Está faltando el nodo de permiso: %s0'
|
||||
setting_disable: 'Pregunta de ajuste: %s0'
|
||||
brush_not_found: 'Brushes disponibles: %s0'
|
||||
brush_incompatible: 'Brush no compatible con esta versión'
|
||||
schematic_not_found: 'Schematic no encontrada: %s0'
|
||||
no_region: 'No tienes región actual permitida'
|
||||
no_mask: 'No tienes ningún conjunto de máscara actual'
|
||||
not_player: 'Usted debe ser un jugador para realizar esta acción!'
|
||||
player_not_found: 'Jugador no encontrado: %s0'
|
||||
oom: |-
|
||||
'[Critical] Detected baja memoria i.e. < 1%. Tomaremos las siguientes acciones:'
|
||||
- Terminate bloqueamos la colocación
|
||||
- Borrar Historia de WE
|
||||
- Unload shunk no esenciales
|
||||
- Matar entidades
|
||||
- La recogida de basura
|
||||
Ignore esto si intenta bloquear el servidor.
|
||||
Nota: Es probable que la memoria baja (pero no necesariamente) sea causada por WE
|
||||
worldedit_some_fails: '%s0 bloques fueron''t pcolocado porque estaban fuera de
|
||||
su región permitida.'
|
||||
worldedit_some_fails_blockbag: 'Bloques perdidos: %s0'
|
||||
web:
|
||||
generating_link: Subiendo %s, por favor espere...
|
||||
generating_link_failed: 'Fallo al generar el enlace de descarga!'
|
||||
download_link: '%s'
|
||||
worldedit:
|
||||
general:
|
||||
mask_disabled: Máscara global desactivada
|
||||
mask: Seleccionar máscara global
|
||||
source_mask_disabled: Máscara de fuente global desactivada
|
||||
source_mask: Seleccionar máscaras de fuentes globales
|
||||
transform_disabled: Transformación global deshabilitada
|
||||
transform: Seleccionar transformación global
|
||||
fast_enabled: Modo rápido activado. Las restricciones de edición se evitarán.
|
||||
fast_disabled: Modo rápido inhabilitado.
|
||||
place_enabled: 'Ahora colocando en pos #1.'
|
||||
place_disabled: Ahora colocando en el bloque en el que estás.
|
||||
texture_disabled: Reinicio de texturizado
|
||||
texture_set: Establecer texturizado en %s1
|
||||
copy:
|
||||
command_copy: Se copiaron %s0 bloques.
|
||||
cut:
|
||||
command_cut_slow: '%s0 bloques fueron cortados.'
|
||||
command_cut_lazy: '%s0 bloques se eliminarán al pegar/paste'
|
||||
paste:
|
||||
command_paste: El portapapeles se ha pegado en %s0
|
||||
rotate:
|
||||
command_rotate: Se ha roto el portapapeles
|
||||
flip:
|
||||
command_flipped: Se ha volcado el portapapeles
|
||||
regen:
|
||||
command_regen_0: Región regenerada.
|
||||
command_regen_1: Región regenerada.
|
||||
command_regen_2: Región regenerada.
|
||||
tree:
|
||||
command_tree: '%s0 árboles/trees creados.'
|
||||
command_pumpkin: '%s0 parches de calabaza/pumpkin creados.'
|
||||
flora:
|
||||
command_flora: '%s0 flora creada.'
|
||||
history:
|
||||
command_history_clear: Historial eliminado
|
||||
command_redo_error: No queda nada para rehacer. (Véase también `/inspect` y `/frb`)
|
||||
command_history_other_error: No se puede encontrar la sesión para %s0.
|
||||
command_redo_success: Rehacer correctamente.
|
||||
command_undo_error: No queda nada para deshacer. (Véase también `/inspect` y `/frb`)
|
||||
command_undo_success: Deshacer, completada correctamente.
|
||||
operation:
|
||||
operation: Operación en cola (%s0)
|
||||
selection:
|
||||
selection_wand: 'Click izquierdo: seleccione posicion #1; Haga click derecho:
|
||||
seleccione posicion #2'
|
||||
selection_wand_disable: Hacha de editar esactivada.
|
||||
selection_wand_enable: Hacha de edición activada.
|
||||
selection_chunk: Chunk seleccionado (%s0)
|
||||
selection_chunks: Chunks seleccionados (%s0) - (%s1)
|
||||
selection_contract: Región contratada %s0 bloques.
|
||||
selection_count: Contado %s0 bloques.
|
||||
selection_distr: '# Contado: %s0'
|
||||
selection_expand: Región expandida %s0 bloques
|
||||
selection_expand_vert: Región expandida %s0 bloques (de arriba hacia abajo)
|
||||
selection_inset: Inserción de región
|
||||
selection_outset: Comienzo de la región
|
||||
selection_shift: Región desplazada
|
||||
selection_cleared: Selección borrada
|
||||
navigation:
|
||||
navigation_wand_error: 'Nada por lo que pasar'
|
||||
anvil:
|
||||
world_is_loaded: El mundo no debe estar en uso durante la ejecución. Descargue
|
||||
el mundo, o utilice el uso -f para anular (guardar primero)
|
||||
brush:
|
||||
brush_reset: Restablece el pincel.
|
||||
brush_none: Usted no está sosteniendo un pincel!
|
||||
brush_scroll_action_set: Establece la acción de desplazamiento en %s0
|
||||
brush_scroll_action_unset: Acción de desplazamiento eliminada
|
||||
brush_visual_mode_set: Establece el modo visual a %s0
|
||||
brush_target_mode_set: Establece el modo de destino en %s0
|
||||
brush_target_mask_set: Establece la máscara de destino en %s0
|
||||
brush_target_offset_set: Establece el desplazamiento de destino en %s0
|
||||
brush_equipped: Pincel Equipado %s0
|
||||
brush_try_other: |-
|
||||
Hay otros pinceles más adecuados e.g.
|
||||
- //br height [radius=5] [#clipboard|file=null] [rotation=0] [yscale=1.00]
|
||||
brush_copy: Haga clic con el botón izquierdo en la base de un objeto para copiar,
|
||||
haga clic derecho para pegar. Incrementar el radio del pincel si es necesario.
|
||||
brush_height_invalid: Archivo de mapa de altura no válido (%s0)
|
||||
brush_smooth: 'Nota: Use el pincel de mezcla si desea suavizar salientes o cuevas.'
|
||||
brush_spline: Haga clic para agregar un punto, haga clic en el mismo lugar para
|
||||
terminar
|
||||
brush_line_primary: Añadido punto %s0, haga clic en otra posición para crear la
|
||||
línea
|
||||
brush_line_secondary: Spline creada
|
||||
brush_spline_primary_2: Añadido posición, haga clic en el mismo lugar para unirse!
|
||||
brush_spline_secondary_error: No hay suficientes posiciones definidas!
|
||||
brush_spline_secondary: Creado spline
|
||||
brush_size: Juego de pinceles
|
||||
brush_range: Conjunto de pinceles
|
||||
brush_mask_disabled: Máscara de pincel desactivada
|
||||
brush_mask: Juego de máscaras de pincel
|
||||
brush_source_mask_disabled: Cepillado de la máscara de origen desactivada
|
||||
brush_source_mask: Conjunto de máscaras de fuentes de pincel
|
||||
brush_transform_disabled: Transformación de pincel desactivada
|
||||
brush_transform: Conjunto de transformación de pincel
|
||||
brush_material: Brush material set
|
||||
brush_catenary_direction: Punto añadido %s0, Haga clic en la dirección que desee a la spline
|
||||
rollback:
|
||||
rollback_element: Deshacer %s0
|
||||
tool:
|
||||
tool_inspect: Inspecciona la herramienta enlazada a %s0.
|
||||
tool_inspect_info: '%s0 cambiado %s1 a %s2 %s3 hace'
|
||||
tool_inspect_info_footer: 'Total: %s0 changes'
|
||||
tool_none: Herramienta desvinculada de su elemento actual.
|
||||
tool_info: Herramienta de información vinculada a %s0.
|
||||
tool_tree: Herramienta de árbol vinculada a %s0.
|
||||
tool_tree_error: El tipo de árbol/tree %s0 es desconocido.
|
||||
tool_repl: Herramienta de sustitución de bloques vinculada a %s0.
|
||||
tool_cycler: Herramienta de bloqueo de ciclos de datos vinculada a %s0.
|
||||
tool_flood_fill: bloquea la herramienta de relleno asociada a %s0.
|
||||
tool_range_error: 'Rango máximo: %s0.'
|
||||
tool_radius_error: 'Radio de pincel máximo permitido: %s0.'
|
||||
tool_deltree: Herramienta de eliminación de árbol flotante vinculada a %s0.
|
||||
tool_farwand: Herramienta de varillalejana/wand tool limitada/bound a %s0.
|
||||
tool_lrbuild_bound: Herramienta de construcción de largo alcance vinculada a %s0.
|
||||
tool_lrbuild_info: Haga clic con el botón izquierdo en %s0; haga clic con el botón
|
||||
secundario en %s1.
|
||||
superpickaxe_enabled: Super Pico habilitado.
|
||||
superpickaxe_disabled: Super Pico deshabilitado.
|
||||
superpickaxe_area_enabled: Modo cambiado. Clic izquierdo con un pico. // to disable.
|
||||
snapshot:
|
||||
snapshot_loaded: Snapshot '%s0' cargado; ahora restaurando...
|
||||
snapshot_set: 'Snapshot establecida en: %s0'
|
||||
snapshot_newest: Ahora utiliza la más nueva snapshot.
|
||||
snapshot_list_header: 'Snapshots para el mundo (%s0):'
|
||||
snapshot_list_footer: Utilice /snap use [snapshot] o /snap use latest.
|
||||
biome:
|
||||
biome_list_header: 'Biomas (page %s0/%s1):'
|
||||
biome_changed: Se modificaron los biomas en %s0 columnas.
|
||||
utility:
|
||||
kill_success: Matado %s0 entidades en un radio de %s1.
|
||||
nothing_confirmed: No tiene ninguna acción pendiente de confirmación.
|
||||
page_footer: Utilizar %s0 para ir a la página siguiente
|
||||
schematic:
|
||||
schematic_format: 'Formatos disponibles (Nombre: Buscar nombres)'
|
||||
schematic_loaded: '%s0 cargado. Pegarlo con //paste'
|
||||
schematic_saved: '%s0 guardado.'
|
||||
schematic_page: La página debe ser %s
|
||||
schematic_none: No se han encontrado archivos.
|
||||
schematic_list: 'Archivos disponibles (Filename: Format) [%s0/%s1]:'
|
||||
schematic_list_elem: ' - %s0 - %s1'
|
||||
schematic_prompt_clear: 'Es posible que desee utilizar %s0 para borrar su actual primera'
|
||||
schematic_show: |-
|
||||
Mostrando %s0 esquemas de %s1:
|
||||
- Click izquierdo Una estructura para configurar tu portapapeles
|
||||
- Botón derecho del ratón para agregar una estructura a tu multipartículas
|
||||
- Utilizar %s2 para volver al mundo
|
||||
schematic_move_exists: '%s0 ya existe'
|
||||
schematic_move_success: '%s0 -> %s1'
|
||||
schematic_move_failed: '%s0 no movido: %s1'
|
||||
clipboard:
|
||||
clipboard_cleared: Portapapeles despejado
|
||||
clipboard_invalid_format: 'Formato del portapapeles desconocido: %s0'
|
||||
clipboard_uri_not_found: Usted no tiene %s0 cargado
|
||||
visitor:
|
||||
visitor_block: '%s0 bloques afectados'
|
||||
visitor_entity: '%s0 entidades afectadas'
|
||||
visitor_flat: '%s0 columnas afectadas'
|
||||
selector:
|
||||
selector_fuzzy_pos1: Región establecida y ampliada de %s0 %s1.
|
||||
selector_fuzzy_pos2: Añadido expansión de %s0 %s1.
|
||||
selector_invalid_coordinates: Coordenadas no válidas %s0
|
||||
selector_already_set: Posición ya establecida.
|
||||
selector_set_default: El selector de región predeterminado es ahora %s0.
|
||||
selector_pos: Posicion [%s0] establecida en %s1 (%s2).
|
||||
selector_center: Centro establecido en %s0 (%s1).
|
||||
selector_radius: Radio configurado para %s0 (%s1).
|
||||
selector_expanded: Región ampliada a &(%s0 (%s1)
|
||||
timezone:
|
||||
timezone_set: 'Zona horaria establecida para esta sesión: %s0'
|
||||
timezone_display: 'La hora actual en esa zona horaria es: %s0'
|
||||
command:
|
||||
command_invalid_syntax: El comando no se usó correctamente (no hay más ayuda disponible).
|
||||
help:
|
||||
command_clarifying_bracket: 'Ajustador de clarificación añadido para %s0'
|
||||
help_suggest: 'Podría no encontrar %s0. Tal vez pruebe con %s1 ?'
|
||||
help_header_categories: Tipos de comando
|
||||
help_header_subcommands: Subcomandos
|
||||
help_header_command: 'Ayuda para: %s0'
|
||||
help_item_allowed: '%s0 - %s1'
|
||||
help_item_denied: '%s0 - %s1'
|
||||
help_header: 'Ayuda: Pagina %s0/%s1'
|
||||
help_footer: 'Wiki: https://git.io/vSKE5'
|
||||
progress:
|
||||
progress_message: '%s1/%s0 (%s2%) @%s3cps %s4s izquierda'
|
||||
progress_finished: '[ Hecho! ]'
|
||||
cancel:
|
||||
worldedit_cancel_count: 'Cancelado %s0 ediciones.'
|
||||
worldedit_cancel_reason_confirm: 'Vuestra selección es grande (%s0 -> %s1). Usar
|
||||
//confirm para ejecutar %s2'
|
||||
worldedit_cancel_reason: 'La acción de WorldEdit se canceló: %s0.'
|
||||
worldedit_cancel_reason_manual: Cancelación manual
|
||||
worldedit_cancel_reason_low_memory: Memoria baja
|
||||
worldedit_cancel_reason_max_changes: Demasiados bloques cambiados
|
||||
worldedit_cancel_reason_max_checks: Demasiados controles de bloqueo
|
||||
worldedit_cancel_reason_max_tiles: Demasiados bloqueos
|
||||
worldedit_cancel_reason_max_entities: Demasiadas entidades
|
||||
worldedit_cancel_reason_max_iterations: Maximas iteraciones
|
||||
worldedit_cancel_reason_no_region: No hay región permitida (bypass con /wea, o deshabilitar
|
||||
`region-restrictions` en el archivo config.yml)
|
||||
worldedit_failed_load_chunk: 'Cambio de chunk ignorado: %s0;%s1. Trate de
|
||||
aumentar chunk-wait.'
|
||||
worldedit_cancel_reason_outside_level: Mundo exterior
|
||||
worldedit_cancel_reason_outside_region: Fuera de la región permitida (Ulilize /wea,
|
||||
o deshabilitar `region-restrictions` en config.yml)
|
||||
navigation:
|
||||
ascend_fail: No hay lugar libre por encima de lo que encontró.
|
||||
ascended_plural: Ascendido %s0 nivel(es).
|
||||
ascended_singular: Ascendió un nivel.
|
||||
unstuck: Ahí tienes!
|
||||
descend_fail: No hay lugar libre por debajo de lo encontrado.
|
||||
descend_plural: Descendido %s0 nivel(es).
|
||||
descend_singular: Descendió un nivel.
|
||||
whoosh: Whoosh!
|
||||
poof: Poof!
|
||||
thru_fail: No hay lugar libre por delante de usted encontró.
|
||||
no_block: No hay bloque a la vista! (o demasiado lejos)
|
||||
up_fail: Usted golpearía algo por encima de usted.
|
||||
selection:
|
||||
sel_cuboid: 'Cuboid: clic izquierdo en el punto 1, clic derecho en el punto 2'
|
||||
sel_cuboid_extend: 'Cuboid: haga clic izquierdo para un punto de inicio, haga clic
|
||||
derecho para ampliar'
|
||||
sel_2d_polygon: 'Selector de polígonos 2D: Clic izquierdo/derecho para añadir un
|
||||
punto.'
|
||||
sel_ellipsiod: 'Selector de elipses: clic izquierdo=centro, clic derecho para ampliar'
|
||||
sel_sphere: 'Selector de esfera: clic izquierdo=centro, haga clic derecho para establecer
|
||||
el radio'
|
||||
sel_cylindrical: 'Selector de cilíndrico: Clic izquierdo=centro, clic derecho para
|
||||
ampliar.'
|
||||
sel_max: '%s0 puntos máximos.'
|
||||
sel_fuzzy: 'Selector difuso: haga clic con el botón izquierdo para seleccionar todos
|
||||
los bloques contingentes, haga clic con el botón derecho to add. Para seleccionar
|
||||
una cavidad de aire, utilice //pos1.'
|
||||
sel_convex_polyhedral: 'Selector poliédrico convexo: clic izquierdo=primer vértice,
|
||||
derecha haga clic para agregar más.'
|
||||
sel_list: 'Para obtener una lista de tipos de selección, utilice: //sel list'
|
||||
sel_modes: 'Seleccione uno de los siguientes modos:'
|
||||
tips:
|
||||
tip_sel_list: 'Sugerencia: Consulte los diferentes modos de selección con //sel
|
||||
list'
|
||||
tip_select_connected: 'Consejo: Seleccione todos los bloques conectados con //sel
|
||||
fuzzy'
|
||||
tip_set_pos1: 'Sugerencia: utilice pos1 como patrón con //set pos1'
|
||||
tip_farwand: 'Sugerencia: Seleccione puntos distantes con //farwand'
|
||||
tip_lazycut: 'Sugerencia: Es más seguro usar //lazycut'
|
||||
tip_fast: 'Sugerencia: Ajuste rápido y sin deshacer usando //fast'
|
||||
tip_cancel: 'Sugerencia: Usted puede //cancel un editar en curso'
|
||||
tip_mask: 'Sugerencia: Establecer una máscara de destino global con /gmask'
|
||||
tip_mask_angle: 'Sugerencia: Reemplace las pendientes ascendentes de 3-20 bloques
|
||||
utilizando //replace /[-20][-3] bedrock'
|
||||
tip_set_linear: 'Sugerencia: Establecer bloques linealmente con //set [ID/wood,ID/bedrock]'
|
||||
tip_surface_spread: 'Sugerencia: Separe una superficie plana con //set #surfacespread[5][0][5][#existing]'
|
||||
tip_set_hand: 'Sugerencia: Utiliza tu mano actual con //set hand'
|
||||
tip_replace_id: 'Sugerencia: Reemplazar sólo la ID del bloque: //replace woodenstair
|
||||
#id[cobblestair]'
|
||||
tip_replace_light: 'Sugerencia: Retire las fuentes de luz //replace #brightness[1][15]
|
||||
0'
|
||||
tip_tab_complete: 'Sugerencia: El comando replace admite la finalización de la pestaña'
|
||||
tip_flip: 'Sugerencia: Espejo con //flip'
|
||||
tip_deform: 'Sugerencia: Reformar con //deform'
|
||||
tip_transform: 'Sugerencia: Establecer una transformación con //gtransform'
|
||||
tip_copypaste: 'Sugerencia: Pegar en clic con //br copypaste'
|
||||
tip_source_mask: 'Sugerencia: Establezca una máscara de origen con /gsmask <mask>'
|
||||
tip_replace_marker: 'Sugerencia: Reemplace un bloque con su portapapeles completo
|
||||
usando //replace wool #fullcopy'
|
||||
tip_paste: 'Sugerencia: Colocar con //paste'
|
||||
tip_lazycopy: 'Sugerencia: lazycopy es más rápido'
|
||||
tip_download: 'Sugerencia: Pruebe y //download'
|
||||
tip_rotate: 'Sugerencia: Orientar con //rotate'
|
||||
tip_copy_pattern: 'Sugerencia: Para usar como un patrón try #copiar'
|
||||
tip_regen_0: 'Sugerencia: Utilice un bioma con /regen [biome]'
|
||||
tip_regen_1: 'Sugerencia: Utilice una semilla con /regen [biome] [seed]'
|
||||
tip_biome_pattern: 'Sugerencia: El #biome[forest] pattern se puede usar en cualquier
|
||||
comando'
|
||||
tip_biome_mask: 'Sugerencia: Restrinja a un bioma con la máscara `$jungle`'
|
@ -1,377 +0,0 @@
|
||||
# Updated by NShoot
|
||||
info:
|
||||
prefix: '(FAWE)'
|
||||
file_deleted: '%s0 a été supprimé.'
|
||||
schematic_pasting: 'La schematic est en train d''être collée. Cette action ne
|
||||
peut pas être annulée.'
|
||||
lighting_propogate_selection: 'L''éclairage a été propagé dans %s0 chunks. (Info
|
||||
: Pour supprimer l''éclairage, faites //removelight)'
|
||||
updated_lighting_selection: 'L''éclairage a été mis à jour dans %s0 chunks. (Cela
|
||||
devraît prendre quelques secondes pour que ce soit à jour)'
|
||||
set_region: 'La sélection a été mise pour votre région actuellement autorisée'
|
||||
worldedit_command_limit: 'Veuillez patienter le temps que vos actions en cours
|
||||
soient terminées'
|
||||
worldedit_delayed: 'Veuillez patienter pendant que votre action soit terminée.'
|
||||
worldedit_run: 'Désolé du délai. Exécution en cours: %s'
|
||||
worldedit_complete: 'Modification terminée.'
|
||||
require_selection_in_mask: '%s de vos sélections ne sont pas dans votre masque.
|
||||
Vous ne pouvez effectuer des modifications que dans vos régions autorisées.'
|
||||
worldedit_volume: 'Vous ne pouvez pas sélectionner un volume de %current% blocs.
|
||||
Le volume maximal que vous pouvez éditer est de %max% blocs.'
|
||||
worldedit_iterations: 'Vous ne pouvez pas faire %current% itérations. Votre nombre
|
||||
maximal d''itérations est de %max%.'
|
||||
worldedit_unsafe: 'L''accès à cette commande est restreint.'
|
||||
worldedit_dangerous_worldedit: 'Modification non sécurisée complétée à %s0 par
|
||||
%s1'
|
||||
worldedit_toggle_tips_on: 'Conseils désactivés.'
|
||||
worldedit_toggle_tips_off: 'Conseils activés.'
|
||||
worldedit_bypassed: 'Bypass de la restriction du plugin.'
|
||||
worldedit_unmasked: 'Vos éditions ne sont désormais plus restreintes.'
|
||||
worldedit_restricted: 'Vos éditions sont désormais restreintes.'
|
||||
worldedit_oom_admin: |-
|
||||
Options possibles:
|
||||
- //fast
|
||||
- Faites de petites modifications
|
||||
- Allouez plus de mémoire
|
||||
- Désactivez `max-memory-percent`
|
||||
compressed: Historique compressé. Sauvegardé ~ %s0b (%s1x plus petit)
|
||||
action_complete: Action complétée en %s0 secondes.
|
||||
error:
|
||||
worldedit_extend: 'Votre modification a peut-être été étendue en dehors de votre
|
||||
région autorisée.'
|
||||
web_unauthorized: 'Seuls les liens suivants sont autorisés : %s0'
|
||||
command_syntax: 'Utilisation : %s0'
|
||||
no_perm: 'Il vous manque la permission %s0'
|
||||
setting_disable: 'Option manquante : %s0'
|
||||
brush_not_found: 'Brosses disponibles : %s0'
|
||||
brush_incompatible: 'Brosse non compatible avec cette version'
|
||||
schematic_not_found: 'Schematic non trouvée : %s0'
|
||||
no_region: 'Vous n''avez pas de région actuellement autorisée'
|
||||
no_mask: 'Vous n''avez pas de masque actuel'
|
||||
not_player: 'Vous devez être un joueur pour effectuer cette action !'
|
||||
player_not_found: 'Joueur non trouvé : %s0'
|
||||
oom: |-
|
||||
[Attention] Mémoire faible détectée (< 1%). Nous allons :
|
||||
- Terminer le placement des blocs
|
||||
- Supprimer les historiques de blocs
|
||||
- Décharger les chunks non essentiels
|
||||
- Tuer les entités
|
||||
- Vider la mémoire
|
||||
Ignorez ceci si vous essayez de faire crash le serveur.
|
||||
Info : La mémoire faible est causé par WE (mais pas nécessairement)
|
||||
worldedit_some_fails: '%s0 blocs ne peuvent pas être posés car ils sont en dehors
|
||||
de votre région autorisée.'
|
||||
worldedit_some_fails_blockbag: 'Blocs manquants : %s0'
|
||||
block_not_allowed: Vous n’avez pas la permission d’utiliser
|
||||
web:
|
||||
generating_link: Téléversement de %s, veuillez patienter...
|
||||
generating_link_failed: 'Impossible de générer le lien.'
|
||||
download_link: '%s'
|
||||
worldedit:
|
||||
general:
|
||||
mask_disabled: Masque global désactivé
|
||||
mask: Masque global défini
|
||||
texture_disabled: Remise à zéro de la texture
|
||||
texture_set: Texture mise à %s1
|
||||
source_mask_disabled: Masque source global désactivé
|
||||
source_mask: Masque source global défini
|
||||
transform_disabled: Transformation globale désactivée
|
||||
transform: Transformation globale définie
|
||||
fast_enabled: Mode rapide activé. Les modifications et les historiques vont être
|
||||
bypass.
|
||||
fast_disabled: Mode rapide désactivé.
|
||||
place_enabled: 'Pose de blocs en #1.'
|
||||
place_disabled: Pose de blocs à l'endroit où vous vous situez.
|
||||
copy:
|
||||
command_copy: '%s0 blocs copiés.'
|
||||
cut:
|
||||
command_cut_slow: '%s0 blocs supprimés.'
|
||||
command_cut_lazy: '%s0 blocs vont être supprimés lors du collage.'
|
||||
paste:
|
||||
command_paste: Blocs dans le presse-papier collés à %s0
|
||||
rotate:
|
||||
command_rotate: Le presse-papier a subit une rotation
|
||||
flip:
|
||||
command_flipped: Le presse-papier a été retourné
|
||||
regen:
|
||||
command_regen_0: Région regénérée.
|
||||
command_regen_1: Région regénérée.
|
||||
command_regen_2: Région regénérée.
|
||||
tree:
|
||||
command_tree: '%s0 arbres créés.'
|
||||
command_pumpkin: '%s0 patchs de citrouilles créés.'
|
||||
flora:
|
||||
command_flora: '%s0 végétations créés.'
|
||||
history:
|
||||
command_history_clear: Historique supprimé
|
||||
command_redo_error: Rien à refaire. (Tapez `/inspect` et `/frb`)
|
||||
command_history_other_error: Impossible de trouver une session pour %s0.
|
||||
command_redo_success: Opération refaite.
|
||||
command_undo_error: Rien à défaire. (Tapez `/inspect` et `/frb`)
|
||||
command_undo_success: Annulation réussie.
|
||||
command_undo_disabled: 'Undo désactivé, utilisez: //fast'
|
||||
operation:
|
||||
operation: Opération en attente (%s0)
|
||||
selection:
|
||||
selection_wand: 'Clic gauche: sélection position #1; Clic droit: sélection position
|
||||
#2'
|
||||
selection_wand_disable: Baguette d'édition désactivée.
|
||||
selection_wand_enable: Baguette d'édition activée.
|
||||
selection_chunk: Chunk sélectionné (%s0)
|
||||
selection_chunks: Chunks sélectionnés (%s0) - (%s1)
|
||||
selection_contract: blocs (%s0) contractés dans la région.
|
||||
selection_count: blocs (%s0) dans le compte.
|
||||
selection_distr: '# blocs au total : %s0'
|
||||
selection_expand: Sélection étendue de %s0 blocs
|
||||
selection_expand_vert: Sélection étendue de %s0 blocs (de bas en haut)
|
||||
selection_inset: Région en médaillon
|
||||
selection_outset: Début de la région
|
||||
selection_shift: Région déplacée
|
||||
selection_cleared: Sélection effacée
|
||||
navigation:
|
||||
navigation_wand_error: 'Il n''y a rien à traverser.'
|
||||
anvil:
|
||||
world_is_loaded: Le monde ne devrait pas être utilisé lors de l'exécution. Décharger
|
||||
le monde, ou utilisez -f pour passer outre (sauvegarder d'abord)
|
||||
brush:
|
||||
brush_reset: Réinitialisez votre brosse. (SHIFT + Clic)
|
||||
brush_none: Tu ne tiens pas une brosse !
|
||||
brush_scroll_action_set: Régler l'action de défilement sur %s0
|
||||
brush_scroll_action_unset: Suppression de l'action de défilement
|
||||
brush_visual_mode_set: Mode visuel mis sur %s0
|
||||
brush_target_mode_set: Mode cible mis sur %s0
|
||||
brush_target_mask_set: Masque cible mis sur %s0
|
||||
brush_target_offset_set: Définir le décalage de la cible à%s0
|
||||
brush_equipped: Brosse équipée de %s0
|
||||
brush_try_other: |-
|
||||
Il existe d'autres brosses plus appropriées, par ex.
|
||||
- //br height [radius=5] [#clipboard|file=null] [rotation=0] [yscale=1.00]
|
||||
brush_copy: Clic gauche sur la base d'un objet à copier, clic droit pour coller.
|
||||
Augmentez le rayon de la brosse si nécessaire.
|
||||
brush_height_invalid: Hauteur de la carte invalide (%s0)
|
||||
brush_smooth: 'Note : Utilisez la brosse de mélange si vous voulez lisser les
|
||||
porte-à-faux ou les grottes.'
|
||||
brush_spline: Cliquez pour ajouter un point, cliquez sur le même point pour terminer.
|
||||
brush_line_primary: Ajout du point %s0, cliquez sur une autre position pour créer
|
||||
la ligne.
|
||||
brush_catenary_direction: Ajout du point %s0, cliquez à la direction que vous
|
||||
souhaitez pour créer la languette.
|
||||
brush_line_secondary: Languette créée
|
||||
brush_spline_primary_2: Position ajoutée, cliquez sur le même point pour les rejoindre
|
||||
!
|
||||
brush_spline_secondary_error: Pas assez de positions insérées !
|
||||
brush_spline_secondary: Languette créée
|
||||
brush_size: Taille de brosse définie
|
||||
brush_range: Taille de brosse dfinie
|
||||
brush_mask_disabled: Masque de la brosse désactivé
|
||||
brush_mask: Masque de la brosse défini
|
||||
brush_source_mask_disabled: Masque source de la brosse désactivé
|
||||
brush_source_mask: Masque de la brosse source défini
|
||||
brush_transform_disabled: Transformation de brosse désactivée
|
||||
brush_transform: Transformation de brosse défini
|
||||
brush_material: Type de bloc de la brosse défini
|
||||
rollback:
|
||||
rollback_element: Rollback de %s0
|
||||
tool:
|
||||
tool_inspect: Outil d'inspection lié à %s0.
|
||||
tool_inspect_info: '%s0 a changé %s1 à %s2 il y a %s3'
|
||||
tool_inspect_info_footer: 'Total : %s0 modifications'
|
||||
tool_none: L'outil plus reliée à l'élément courant.
|
||||
tool_info: Outil d'information lié à %s0.
|
||||
tool_tree: Outil d'arbres lié à %s0.
|
||||
tool_tree_error: Type de l'arbre %s0 inconnu.
|
||||
tool_repl: Outil de remplacement des blocs lié à %s0.
|
||||
tool_cycler: Outil de type de cycleur de bloc lié à %s0.
|
||||
tool_flood_fill: Outil de remplissage des blocs lié à %s0.
|
||||
tool_range_error: 'Portée maximale : %s0.'
|
||||
tool_radius_error: 'Rayon de brosse maximum autorisé : %s0.'
|
||||
tool_deltree: Outil flottant d'abattage d'arbres lié à %s0.
|
||||
tool_farwand: Outil de baguette lointain lié à%s0.
|
||||
tool_lrbuild_bound: Outil de construction à longue portée lié à %s0.
|
||||
tool_lrbuild_info: Clic gauche défini sur %s0; Clic droit défini sur %s1.
|
||||
superpickaxe_enabled: Super pioche activée.
|
||||
superpickaxe_disabled: Super pioche désactivée.
|
||||
superpickaxe_area_enabled: Mode modifié. Clique gauche avec la pioche. // pour
|
||||
désactiver.
|
||||
tool_tree_error_block: Un arbre ne peux pas pousser ici
|
||||
tool_deltree_error: Ce n’est pas un arbre
|
||||
tool_deltree_floating_error: Ce n’est pas un arbre flottant
|
||||
snapshot:
|
||||
snapshot_loaded: Instantané '%s0' chargé; restauration en cours...
|
||||
snapshot_set: 'Instantané mis sur : %s0'
|
||||
snapshot_newest: Utilisation du dernier instantané désormais.
|
||||
snapshot_list_header: 'Instantanés du monde (%s0):'
|
||||
snapshot_list_footer: Utilisez /snap use [instantané] our /snap use latest.
|
||||
snapshot_not_configured: La restauration de snapshot/backup n’a pas été configurée.
|
||||
snapshot_not_available: Aucune snapshot n’est disponible. Regardez la console pour plus de détails.
|
||||
snapshot_not_found_world: Aucune snapshot n’ont été trouvée pour ce monde.
|
||||
snapshot_not_found: Aucune snapshot n’a été trouvée.
|
||||
snapshot_invalid_index: Index invalide, il doit être égal ou supérieur à 1.
|
||||
snapshot_error_date: La date entrée n’a pas pû être détectée.
|
||||
snapshot_error_restore: Les erreurs ont empêché la restauration des blocs.
|
||||
snapshot_error_restore_chunks: Aucun chunks n’a pû être chargé. (Mauvaise archive?)
|
||||
biome:
|
||||
biome_list_header: 'Biomes (page %s0/%s1):'
|
||||
biome_changed: Les biomes ont été modifiés dans %s0 colonnes.
|
||||
utility:
|
||||
kill_success: entitées (%s0) tuées dans une portée de %s1 blocs.
|
||||
nothing_confirmed: Vous n'avez aucune action en attente de confirmation.
|
||||
page_footer: Utilisez %s0 pour aller à la page suivante.
|
||||
schematic:
|
||||
schematic_prompt_clear: 'Vous voudriez peut-être utiliser %s0 pour effacer
|
||||
votre actuel presse-papier'
|
||||
schematic_show: |-
|
||||
Affichage de %s0 schématiques depuis %s1:
|
||||
- Clic gauche > une structure à mettre dans le presse-papier
|
||||
- Clic droit > pour mettre une structure dans le presse-papier multiple
|
||||
- Utilisez %s2 pour revenir au monde
|
||||
schematic_format: 'Formats disponibles (nom: Noms de recherche)'
|
||||
schematic_move_exists: '%s0 existe déjà'
|
||||
schematic_move_success: '%s0 -> %s1'
|
||||
schematic_move_failed: '%s0 non déplacé : %s1'
|
||||
schematic_loaded: '%s0 chargé. Collez-le avec //paste'
|
||||
schematic_saved: '%s0 sauvegardé.'
|
||||
schematic_page: La page doit-être %s
|
||||
schematic_none: Aucun fichier trouvé.
|
||||
schematic_list: 'Fichiers disponibles (nom du fichier: Format) [%s0/%s1]:'
|
||||
schematic_list_elem: ' - %s0 - %s1'
|
||||
clipboard:
|
||||
clipboard_uri_not_found: Vous n'avez pas %s0 chargé.
|
||||
clipboard_cleared: Presse-papier effacé
|
||||
clipboard_invalid_format: 'Format de presse-papier inconnu : %s0'
|
||||
visitor:
|
||||
visitor_block: '%s0 blocs affectés'
|
||||
visitor_entity: '%s0 entitées affectés'
|
||||
visitor_flat: '%s0 colonnes affectées'
|
||||
selector:
|
||||
selector_fuzzy_pos1: Région définie et étendue depuis %s0 %s1.
|
||||
selector_fuzzy_pos2: Ajout de l'étendue de %s0 %s1.
|
||||
selector_pos: position %s0 définie sur %s1 (%s2).
|
||||
selector_center: Milieu définie sur %s0 (%s1).
|
||||
selector_radius: Rayon défini sur %s0 (%s1).
|
||||
selector_expanded: Région étendue sur %s0 (%s1)
|
||||
selector_invalid_coordinates: Cordonnées invalides !
|
||||
selector_already_set: Position déjà définie.
|
||||
selector_set_default: Votre sélecteur de région par défaut est désormais %s0.
|
||||
timezone:
|
||||
timezone_set: Fuseau horaire fixé pour cette session sur %s0
|
||||
timezone_display: 'Le temps actuel pour ce fuseau horaire est : %s0'
|
||||
command:
|
||||
command_invalid_syntax: La commande n'a pas été utilisée correctement. (aucune
|
||||
aide disponible).
|
||||
help:
|
||||
command_clarifying_bracket: 'Ajout d''un crochet de clarification pour %s0'
|
||||
help_suggest: 'Impossible de trouver %s0. Essayez une des %s1 ?'
|
||||
help_header_categories: Types de commandes
|
||||
help_header_subcommands: Sous commandes
|
||||
help_header_command: 'Aide pour : %s0'
|
||||
help_item_allowed: '%s0 - %s1'
|
||||
help_item_denied: '%s0 - %s1'
|
||||
help_header: 'Aide : page %s0/%s1'
|
||||
help_footer: 'Wiki anglais : https://git.io/vSKE5'
|
||||
cycler:
|
||||
block_cycler_cannot_cycle: Le data de ce bloc ne peut pas être cyclé!
|
||||
block_cycler_limit: Limite du nombre maximal de blocs changeable atteinte.
|
||||
block_cycler_no_perm: 'Vous n’êtes pas autorisé à cycler la valeur du data de ce bloc.'
|
||||
scripting:
|
||||
scripting_no_perm: 'Vous n’avez pas la permission d’exécuter ce script de fabrication'
|
||||
scripting_cs: Utilisez /cs avec un nom de script avant.
|
||||
scripting_error: Une erreur s’est produite lors de l’exécution d’un script de fabrication.
|
||||
progress:
|
||||
progress_message: '%s1/%s0 (%s2%) @%s3bps %s4s restants'
|
||||
progress_finished: '[ Terminé ! ]'
|
||||
cancel:
|
||||
worldedit_cancel_count: 'Modifications %s0 annulées.'
|
||||
worldedit_cancel_reason_confirm: 'Votre sélection est large (%s0 -> %s1,
|
||||
contenant %s3 blocs). Faites //confirm pour exécuter %s2'
|
||||
worldedit_cancel_reason: 'Votre action a été annulée : %s0.'
|
||||
worldedit_cancel_reason_manual: Annulation humaine
|
||||
worldedit_cancel_reason_low_memory: Mémoire trop faible
|
||||
worldedit_cancel_reason_max_changes: Trop de blocs modifiés
|
||||
worldedit_cancel_reason_max_checks: Trop de vérifications
|
||||
worldedit_cancel_reason_max_tiles: Trop de types de blocs
|
||||
worldedit_cancel_reason_max_entities: Entités trop élevées
|
||||
worldedit_cancel_reason_max_iterations: Itérations trop élevées
|
||||
worldedit_cancel_reason_outside_level: En dehors du monde
|
||||
worldedit_cancel_reason_outside_region: En dehors de la région autorisée (bypass
|
||||
avec /wea, ou désactivez `region-restrictions` dans la configuration)
|
||||
worldedit_cancel_reason_no_region: Région non autorisée (bypass avec /wea, ou désactivez
|
||||
`region-restrictions` dans la configuration)
|
||||
worldedit_failed_load_chunk: 'Chargement du chunk ignoré : %s0;%s1. Essayez
|
||||
d''augmenter chunk-wait.'
|
||||
navigation:
|
||||
ascend_fail: Aucune place libre au-dessus de vous n'a été trouvée
|
||||
ascended_plural: Montée de %s0 couche.
|
||||
ascended_singular: Montée de 1 couche.
|
||||
unstuck: Et voilà !
|
||||
descend_fail: Aucune place libre en dessous de vous n'a été trouvée.
|
||||
descend_plural: Descendu de %s0 couches.
|
||||
descend_singular: Descendu de 1 couche.
|
||||
whoosh: Waouh !
|
||||
poof: Pouf !
|
||||
thru_fail: Aucune place libre devant vous n'a été trouvée.
|
||||
no_block: Pas de bloc en vue ! (ou trop loin)
|
||||
up_fail: ' Tu frapperais quelque chose au-dessus de toi.'
|
||||
selection:
|
||||
sel_cuboid: 'Cuboïde : clic gauche pour point 1, clic droit pour point 2'
|
||||
sel_cuboid_extend: 'Cuboïde : clic gauche pour le point de départ, clic droit pour
|
||||
étendre'
|
||||
sel_2d_polygon: 'Sélecteur de polygone 2D : Clic gauche/droit pour ajouter un point.'
|
||||
sel_ellipsiod: 'Sélecteur ellipsoïde : clic gauche=centre, clic droit pour agrandir.'
|
||||
sel_sphere: 'Sélecteur de sphère : clic gauche=centre, clic droit pour définir le
|
||||
rayon.'
|
||||
sel_cylindrical: 'Sélecteur cylindrique : Clic gauche=centre, clic droit pour étendre.'
|
||||
sel_max: '%s0 points maximum.'
|
||||
sel_fuzzy: 'Sélecteur flou : Clic gauche pour sélectionner tous les blocs contingents,
|
||||
clic droit. à ajouter. Pour sélectionner une cavité d''air, utilisez //pos1.'
|
||||
sel_convex_polyhedral: 'Sélecteur polyédrique convexe : Clic gauche=Premier sommet,
|
||||
droite, droite cliquez pour en ajouter d''autres.'
|
||||
sel_list: Pour une liste de types de sélection, faites //sel list
|
||||
sel_modes: 'Sélectionnez un des modes en dessous :'
|
||||
tips:
|
||||
tip_sel_list: 'Astuce : Voir les différents modes de sélection avec //sel list'
|
||||
tip_select_connected: Astuce, Sélectionner tous les blocs connectés avec //sel fuzzy'
|
||||
tip_set_pos1: Astuce, Utilisez pos1 comme motif avec //set pos1
|
||||
tip_farwand: Astuce, Sélectionnez les points distants avec //farwand.'
|
||||
tip_discord: 'Besoin d''aide ? Aide en anglais disponible : https://discord.gg/KxkjDVg'
|
||||
tip_lazycut: 'Conseil, Il est plus sûr d''utiliser //lazycut'
|
||||
tip_fast: 'Astuce, Définir rapidement et sans défaire en utilisant //fas'
|
||||
tip_cancel: 'Astuce, Vous pouvez //cancel et éditer en cours de traitement.'
|
||||
tip_mask: 'Astuce, Définir un masque de destination globale avec /gmask'
|
||||
tip_mask_angle: 'Astuce, Remplacer les pentes ascendantes de 3-20 blocs en faisant
|
||||
//replace /[-20][-3] bedrock'
|
||||
tip_set_linear: 'Conseil, Définissez les blocs de manière linéaire avec //set
|
||||
#l3d[wood,bedrock]'
|
||||
tip_surface_spread: 'Conseil, Étendez une surface plane à l''aide de //set #surfacespread[5][0][5][#existing]'
|
||||
tip_set_hand: 'Astuce, Utilisez votre main actuelle avec //set hand'
|
||||
tip_replace_regex: 'Tip, Remplacer à l''aide de regex : //replace .*_log <pattern>'
|
||||
tip_replace_regex_2: 'Tip, Remplacer à l''aide de regex : //replace .*stairs[facing=(north|south)]
|
||||
<pattern>'
|
||||
tip_replace_regex_3: 'Tip, Remplacer à l''aide des opérateurs : //replace water[level>2]
|
||||
sand'
|
||||
tip_replace_regex_4: 'Tip, Remplacer à l''aide des opérateurs : //replace true
|
||||
*[waterlogged=false]'
|
||||
tip_replace_regex_5: 'Tip, Remplacer à l''aide des opérateurs : //replace true
|
||||
*[level-=1]'
|
||||
tip_replace_id: 'Tip, Remplacez seulement l''ID du bloc : //replace woodenstair
|
||||
#id[cobblestair]'
|
||||
tip_replace_light: 'Tip, Remplacez seulement les sources de lumière : //replace
|
||||
#brightness[1][15] 0'
|
||||
tip_tab_complete: Tip, La commande de remplacement prend en charge la complétion
|
||||
du tab.
|
||||
tip_flip: Tip, Flip avec //flip
|
||||
tip_deform: Tip, Remodeler avec //deform
|
||||
tip_transform: Tip, Sélectionnez une transformation avec //gtransform
|
||||
tip_copypaste: Tip, Collez en cliquant avec //br copypaste
|
||||
tip_source_mask: Tip, Sélectionnez un masque source avec /gsmask <mask>
|
||||
tip_replace_marker: 'Tip, Remplacez un bloc avec votre presse-papier entier avec
|
||||
//replace wool #fullcopy'
|
||||
tip_paste: Tip, Collez avec //paste
|
||||
tip_lazycopy: Tip, LazyCopy est plus rapide
|
||||
tip_download: Tip, Essayez //download
|
||||
tip_rotate: Tip, Orientez vos sélections avec //rotate
|
||||
tip_copy_pattern: 'Tip, Utilisez un type de pattern avec #copy'
|
||||
tip_regen_0: Tip, Utilisez un biome avec /regen [biome]
|
||||
tip_regen_1: Tip, Utilisez un seed avec /regen [biome] [seed]
|
||||
tip_biome_pattern: Tip, Le pattern '#biome[forest] peut être utilisé dans une quelconque commande'
|
||||
tip_biome_mask: Tip, Mettez une restriction de biome en utilisant le masque `$jungle`
|
@ -1,298 +0,0 @@
|
||||
info:
|
||||
prefix: '(FAWE)'
|
||||
file_deleted: '%s0 è stato eliminato.'
|
||||
schematic_pasting: 'La schematica si sta incollando. Questo non può essere annullato.'
|
||||
lighting_propogate_selection: 'L''illuminazione è stata propagata in %s0 chunk. (Nota: Per rimuovere la luce usa //removelight)'
|
||||
updated_lighting_selection: 'L''illuminazione è stata aggiornata in %s0 chunk. (Può richiedere un secondo per i pacchetti da inviare)'
|
||||
set_region: 'Selezione impostata alla tua regione attuale consentita'
|
||||
worldedit_command_limit: 'Attendi fino al completamento della tua azione corrente'
|
||||
worldedit_delayed: 'Attendi durante l''elaborazione della tua azione di FAWE...'
|
||||
worldedit_run: 'Scuse per il ritardo. Ora in esecuzione: %s'
|
||||
worldedit_complete: 'Modifica completata.'
|
||||
require_selection_in_mask: '%s della tua selezione non è nella tua maschera. Puoi solo fare modifiche all''interno delle regioni consentite.'
|
||||
worldedit_volume: 'Non puoi selezionare un volume di %current%. Il volume massimo che puoi modificare è %max%.'
|
||||
worldedit_iterations: 'Non puoi iterare %current% volte. Il numero massimo di interazioni consentite è %max%.'
|
||||
worldedit_unsafe: 'L''accesso a quel comando è stato bloccato'
|
||||
worldedit_dangerous_worldedit: 'Modifica non sicura elaborata a %s0 da %s1'
|
||||
worldedit_bypass: 'Per bypassare le tue restrizioni usa /wea'
|
||||
worldedit_toggle_tips_on: 'Suggerimenti di FAWE disabilitati.'
|
||||
worldedit_toggle_tips_off: 'Suggerimenti di FAWE abilitati.'
|
||||
worldedit_bypassed: 'Attualmente bypassando la restrizione di FAWE.'
|
||||
worldedit_unmasked: 'Le tue modifiche di FAWE non sono più soggette a restrizioni.'
|
||||
worldedit_restricted: 'Le tue modifiche di FAWE sono ora soggette a restrizioni.'
|
||||
worldedit_oom_admin: |-
|
||||
Opzioni possibili:
|
||||
- //fast
|
||||
- Fai modifiche più piccole
|
||||
- Alloca più memoria
|
||||
- Disabilita `max-memory-percent`
|
||||
compressed: Cronologia compressa. Risparmiati ~ %s0b (%s1x più piccola)
|
||||
action_complete: Azione completata in %s0 secondi
|
||||
error:
|
||||
worldedit_extend: 'La tua modifica potrebbe essere stata estesa al di fuori della tua area consentita.'
|
||||
web_unauthorized: 'Sono consentiti solo i link dall''host web configurato: %s0'
|
||||
command_syntax: 'Uso: %s0'
|
||||
no_perm: 'Ti manca il permesso: %s0'
|
||||
setting_disable: 'Impostazione mancante: %s0'
|
||||
brush_not_found: 'Pennelli disponibili: %s0'
|
||||
brush_incompatible: 'Pennello non compatibile con questa versione'
|
||||
schematic_not_found: 'Schematica non trovata: %s0'
|
||||
no_region: 'Attualmente non hai una regione consentita'
|
||||
no_mask: 'Attualmente non hai una maschera impostata'
|
||||
not_player: 'Devi essere un giocatore per eseguire questa azione!'
|
||||
player_not_found: 'Giocatore non trovato: %s0'
|
||||
oom: |-
|
||||
[Critico] Rilevata poca memoria cioè < 1%. Prenderemo le seguenti azioni:
|
||||
- Terminare il posizionamento di WE dei blocchi
|
||||
- Cancellare la cronologia di WE
|
||||
- Scaricare i chunk non essenziali
|
||||
- Uccidere le entità
|
||||
- Eseguire un garbage collector
|
||||
Ignora questo se stai cercando di far crashare il server.
|
||||
Nota: La carenza di memoria è probabilmente (ma non necessariamente) causata da WE
|
||||
worldedit_some_fails: '%s0 blocchi non sono stati piazzati perché erano fuori dalla tua regione consentita.'
|
||||
worldedit_some_fails_blockbag: 'Blocchi mancanti: %s0'
|
||||
web:
|
||||
generating_link: Caricando %s, si prega di attendere...
|
||||
generating_link_failed: 'Fallita la generazione del link di download!'
|
||||
download_link: '%s'
|
||||
worldedit:
|
||||
general:
|
||||
mask_disabled: Maschera globale disabilitata
|
||||
mask: Maschera globale impostata
|
||||
source_mask_disabled: Maschera sorgente globale disabilitata
|
||||
source_mask: Maschera sorgente globale impostata
|
||||
transform_disabled: Trasformazione globale disabilitata
|
||||
transform: Trasformazione globale impostata
|
||||
fast_enabled: Modalità veloce abilitata. La cronologia e le restrizioni di modifica saranno ignorate.
|
||||
fast_disabled: Modalità veloce disabilitata
|
||||
place_enabled: 'Ora piazzando a pos #1.'
|
||||
place_disabled: Ora piazzando al blocco in cui ti trovi.
|
||||
copy:
|
||||
command_copy: '%s0 blocchi sono stati copiati.'
|
||||
cut:
|
||||
command_cut_slow: '%s0 blocchi sono stati tagliati.'
|
||||
command_cut_lazy: '%s0 blocchi saranno rimossi al momento dell''incollaggio'
|
||||
paste:
|
||||
command_paste: Gli appunti sono stati incollati a %s0
|
||||
rotate:
|
||||
command_rotate: Gli appunti sono stati ruotati
|
||||
flip:
|
||||
command_flipped: Gli appunti sono stati capovolti
|
||||
regen:
|
||||
command_regen_0: Regione rigenerata.
|
||||
command_regen_1: Regione rigenerata.
|
||||
command_regen_2: Regione rigenerata.
|
||||
tree:
|
||||
command_tree: '%s0 alberi creati.'
|
||||
command_pumpkin: '%s0 gruppi di zucche create.'
|
||||
flora:
|
||||
command_flora: '%s0 flora creata.'
|
||||
history:
|
||||
command_history_clear: Cronologia cancellata
|
||||
command_redo_error: Niente da rifare. (Vedi anche `/inspect` e `/frb`)
|
||||
command_history_other_error: Impossibile trovare la sessione per %s0.
|
||||
command_redo_success: Rifatto con successo.
|
||||
command_undo_error: Niente da annullare. (Vedi anche `/inspect` e `/frb`)
|
||||
command_undo_success: Annullato con successo.
|
||||
operation:
|
||||
operation: Operazione messa in coda (%s0)
|
||||
selection:
|
||||
selection_wand: 'Click sinistro: seleziona pos #1; Click destro: seleziona pos #2'
|
||||
selection_wand_disable: Bacchetta modifica disabilitata.
|
||||
selection_wand_enable: Bacchetta modifica abilitata.
|
||||
selection_chunk: Chunk selezionato (%s0)
|
||||
selection_chunks: Chunk selezionati (%s0) - (%s1)
|
||||
selection_contract: Regione contratta di %s0 blocchi.
|
||||
selection_count: Contati %s0 blocchi.
|
||||
selection_distr: '# blocchi totali: %s0'
|
||||
selection_expand: Regione espansa di %s0 blocchi
|
||||
selection_expand_vert: Regione espansa di %s0 blocchi (dall'alto al basso)
|
||||
selection_inset: Regione contratta in tutte le direzioni
|
||||
selection_outset: Regione espansa in tutte le direzioni
|
||||
selection_shift: Regione spostata
|
||||
selection_cleared: Selezione cancellata
|
||||
navigation:
|
||||
navigation_wand_error: 'Niente da attraversare'
|
||||
anvil:
|
||||
world_is_loaded: Il mondo non dovrebbe essere in uso durante l''esecuzione. Scarica il mondo, o usa -f per sovrascriverlo (salvalo prima)
|
||||
brush:
|
||||
brush_reset: Ripristina il tuo pennello.
|
||||
brush_none: Non stai tenendo un pennello!
|
||||
brush_scroll_action_set: Azione di scorrimento impostata a %s0
|
||||
brush_scroll_action_unset: Azione di scorrimento rimossa
|
||||
brush_visual_mode_set: Modalità visuale impostata a %s0
|
||||
brush_target_mode_set: Modalità obbiettivo impostata a %s0
|
||||
brush_target_mask_set: Impostata la maschera di destinazione a %s0
|
||||
brush_target_offset_set: Impostato l'offset di destinazione a %s0
|
||||
brush_equipped: Equipaggiato il pennello %s0
|
||||
brush_try_other: |-
|
||||
Ci sono altri pennelli più adatti es.
|
||||
- //br height [radius=5] [#clipboard|file=null] [rotation=0] [yscale=1.00]
|
||||
brush_copy: Click sinistro sulla base di un oggetto da copiare, click destro per incollare. Aumenta il raggio del pennello se necessario.
|
||||
brush_height_invalid: File della height map non valido (%s0)
|
||||
brush_smooth: 'Nota: Usa il pennello sfumato per levigare sporgenze o grotte.'
|
||||
brush_spline: Clicca per aggiungere un punto, clicca nello stesso punto per finire
|
||||
brush_line_primary: Aggiunto il punto %s0, clicca su un'altra posizione per creare la linea
|
||||
brush_line_secondary: Creata una scanalatura
|
||||
brush_spline_primary_2: Posizione aggiunta, Clicca sullo stesso punto per unirla!
|
||||
brush_spline_secondary_error: Non sono state impostate abbastanza posizioni!
|
||||
brush_spline_secondary: Creata una scanalatura
|
||||
brush_size: Dimensione pennello impostata
|
||||
brush_range: Dimensione pennello impostata
|
||||
brush_mask_disabled: Maschera pennello disabilitata
|
||||
brush_mask: Maschera pennello impostata
|
||||
brush_source_mask_disabled: Maschera sorgente del pennello disabilitata
|
||||
brush_source_mask: Maschera sorgente del pennello impostata
|
||||
brush_transform_disabled: Trasformazione pennello disabilitata
|
||||
brush_transform: Trasformazione pennello impostata
|
||||
brush_material: Materiale pennello impostato
|
||||
rollback:
|
||||
rollback_element: Annullando %s0
|
||||
tool:
|
||||
tool_inspect: Strumento di ispezione associato a %s0.
|
||||
tool_inspect_info: '%s0 ha modificato %s1 a %s2 %s3 fa'
|
||||
tool_inspect_info_footer: 'Totale: %s0 modifiche'
|
||||
tool_none: Strumento disassociato dal tuo oggetto corrente.
|
||||
tool_info: Strumento di informazioni associato a %s0.
|
||||
tool_tree: Strumento di generazione di alberi associato a %s0.
|
||||
tool_tree_error: Il tipo di albero %s0 è sconosciuto.
|
||||
tool_repl: Strumento di sostituzione blocchi associato a %s0.
|
||||
tool_cycler: Strumento per ciclare i dati dei blocchi associato a %s0.
|
||||
tool_flood_fill: Strumento per riempire di blocchi associato a %s0.
|
||||
tool_range_error: 'Raggio massimo: %s0.'
|
||||
tool_radius_error: 'Massimo raggio del pennello consentito: %s0.'
|
||||
tool_deltree: Strumento di rimozione alberi volanti associato a %s0.
|
||||
tool_farwand: Strumento bacchetta a distanza associato a %s0.
|
||||
tool_lrbuild_bound: Strumento di costruzione a lungo raggio associato a %s0.
|
||||
tool_lrbuild_info: Click-sinistro per impostare a %s0; click-destro per impostare a %s1.
|
||||
superpickaxe_enabled: Super Piccone abilitato.
|
||||
superpickaxe_disabled: Super Piccone disabilitato.
|
||||
superpickaxe_area_enabled: Modalità cambiata. Click sinistro con un piccone. // per disabilitare.
|
||||
snapshot:
|
||||
snapshot_loaded: Snapshot '%s0' caricato; ora ripristinando...
|
||||
snapshot_set: 'Snapshot impostato a: %s0'
|
||||
snapshot_newest: Ora usando lo snapshot più recente.
|
||||
snapshot_list_header: 'Snapshot per il mondo (%s0):'
|
||||
snapshot_list_footer: Usa /snap use [snapshot] o /snap use latest.
|
||||
biome:
|
||||
biome_list_header: 'Biomi (pagina %s0/%s1):'
|
||||
biome_changed: I biomi sono stati cambiati in %s0 colonne.
|
||||
utility:
|
||||
kill_success: Uccise %s0 entità in un raggio di %s1.
|
||||
nothing_confirmed: Non hai azioni in attesa di conferma.
|
||||
page_footer: Usa %s0 per andare alla pagina successiva
|
||||
schematic:
|
||||
schematic_format: 'Formati disponibili (Nome: Nomi di ricerca)'
|
||||
schematic_loaded: '%s0 caricato. Incollalo con //paste'
|
||||
schematic_saved: '%s0 salvato.'
|
||||
schematic_page: La pagina deve essere %s
|
||||
schematic_none: Nessun file trovato.
|
||||
schematic_list: 'File disponibili (Nome file: Formato) [%s0/%s1]:'
|
||||
schematic_list_elem: ' - %s0 - %s1'
|
||||
clipboard:
|
||||
clipboard_uri_not_found: Non hai %s0 caricato
|
||||
clipboard_cleared: Appunti cancellati
|
||||
clipboard_invalid_format: 'Formato di appunti sconosciuto: %s0'
|
||||
visitor:
|
||||
visitor_block: '%s0 blocchi interessati'
|
||||
visitor_entity: '%s0 entità interessate'
|
||||
visitor_flat: '%s0 colonne interessate'
|
||||
selector:
|
||||
selector_fuzzy_pos1: Regione impostata ed espansa da %s0 %s1.
|
||||
selector_fuzzy_pos2: Aggiunta espansione di %s0 %s1.
|
||||
selector_pos: pos%s0 impostata a %s1 (%s2).
|
||||
selector_center: Centro impostato a %s0 (%s1).
|
||||
selector_radius: Raggio impostato a %s0 (%s1).
|
||||
selector_expanded: Regione espansa a %s0 (%s1)
|
||||
selector_invalid_coordinates: Coordinate %s0 non valide
|
||||
selector_already_set: Posizione già impostata.
|
||||
selector_set_default: Il tuo selettore di regioni predefinito è ora %s0.
|
||||
timezone:
|
||||
timezone_set: 'Fuso orario impostato per questa sessione a: %s0'
|
||||
timezone_display: 'L''ora corrente in quel fuso orario è: %s0'
|
||||
command:
|
||||
command_invalid_syntax: Il comando non è stato usato correttamente (nessun altro aiuto disponibile).
|
||||
help:
|
||||
command_clarifying_bracket: 'Aggiunta una parentesi di chiarimento per %s0'
|
||||
help_suggest: 'Non è stato possibile trovare %s0. Forse provane uno di %s1 ?'
|
||||
help_header_categories: Tipi di Comando
|
||||
help_header_subcommands: Sottocomandi
|
||||
help_header_command: 'Aiuto per: %s0'
|
||||
help_item_allowed: '%s0 - %s1'
|
||||
help_item_denied: '%s0 - %s1'
|
||||
help_header: 'Aiuto: pagina %s0/%s1'
|
||||
help_footer: 'Wiki: https://git.io/vSKE5'
|
||||
progress:
|
||||
progress_message: '%s1/%s0 (%s2%) @%s3cps %s4s rimanenti'
|
||||
progress_finished: '[ Fatto! ]'
|
||||
cancel:
|
||||
worldedit_cancel_count: 'Cancellate %s0 modifiche.'
|
||||
worldedit_cancel_reason_confirm: 'La tua selezione è grande (%s0 -> %s1). Usa //confirm per eseguire %s2'
|
||||
worldedit_cancel_reason: 'La tua azione WorldEdit è stata cancellata: %s0.'
|
||||
worldedit_cancel_reason_manual: Cancellazione manuale
|
||||
worldedit_cancel_reason_low_memory: Poca memoria
|
||||
worldedit_cancel_reason_max_changes: Troppi blocchi cambiati
|
||||
worldedit_cancel_reason_max_checks: Troppi controlli di blocchi
|
||||
worldedit_cancel_reason_max_tiles: Troppi stati di blocchi
|
||||
worldedit_cancel_reason_max_entities: Troppe entità
|
||||
worldedit_cancel_reason_max_iterations: Iterazioni massime
|
||||
worldedit_cancel_reason_max_fails: Fuori dalla regione consentita (bypassa con /wea, o disabilita `region-restrictions` in config.yml)
|
||||
worldedit_cancel_reason_no_region: Nessuna regione consentita (bypassa con /wea, o disabilita `region-restrictions` in config.yml)
|
||||
worldedit_failed_load_chunk: 'Saltato il caricamento del chunk: %s0;%s1. Prova aumentando chunk-wait.'
|
||||
navigation:
|
||||
ascend_fail: Nessun posto libero trovato sopra di te.
|
||||
ascended_plural: Asceso di %s0 livelli.
|
||||
ascended_singular: Asceso di un livello.
|
||||
unstuck: Ci si va!
|
||||
descend_fail: Nessun posto libero trovato sotto di te.
|
||||
descend_plural: Disceso di %s0 livelli.
|
||||
descend_singular: Disceso di un livello.
|
||||
whoosh: Whoosh!
|
||||
poof: Poof!
|
||||
thru_fail: Nessun punto libero trovato davanti a te.
|
||||
no_block: Nessun blocco in vista! (o troppo lontano)
|
||||
up_fail: Colpiresti qualcosa sopra di te.
|
||||
selection:
|
||||
sel_cuboid: 'Cuboide: click sinistro per il punto 1, click destro per il punto 2'
|
||||
sel_cuboid_extend: 'Cuboide: click sinistro per un punto di partenza, click destro per estendere'
|
||||
sel_2d_polygon: 'Selettore poligono 2D: Click sinistro/destro per aggiungere un punto.'
|
||||
sel_ellipsiod: 'Selettore ellissoide: Click sinistro=centro, click destro per estendere'
|
||||
sel_sphere: 'Selettore sfere: Click sinistro=centro, click destro per impostare il raggio'
|
||||
sel_cylindrical: 'Selettore cilindrico: Click sinistro=centro, click destro per estendere.'
|
||||
sel_max: '%s0 punti al massimo.'
|
||||
sel_fuzzy: 'Selettore sfocato: Click sinistro per selezionare tutti i blocchi contingenti, click destro per aggiungere. Per selezionare una cavità d''aria, usa //pos1.'
|
||||
sel_convex_polyhedral: 'Selettore poliedrico convesso: Click sinistro=Primo vertice, click destro per aggiungerne altri.'
|
||||
sel_list: 'Per una lista di tipi di selezione usa: //sel list'
|
||||
sel_modes: 'Seleziona una delle modalità qui sotto:'
|
||||
tips:
|
||||
tip_sel_list: 'Consiglio: Vedi le diverse modalità di selezione con //sel list'
|
||||
tip_select_connected: 'Consiglio: Seleziona tutti i blocchi collegati con //sel fuzzy'
|
||||
tip_set_pos1: 'Consiglio: Usa pos1 come un pattern con //set pos1'
|
||||
tip_farwand: 'Consiglio: Seleziona i punti distanti con //farwand'
|
||||
tip_lazycut: 'Consiglio: È più sicuro usare //lazycut'
|
||||
tip_fast: 'Consiglio: Imposta velocemente e senza l''annullamento usando //fast'
|
||||
tip_cancel: 'Consiglio: Puoi cancellare con //cancel una modifica in corso'
|
||||
tip_mask: 'Consiglio: Imposta una maschera di destinazione globale con /gmask'
|
||||
tip_mask_angle: 'Consiglio: Sostituire le pendenze verso l''alto di 3-20 blocchi usando //replace /[-20][-3] bedrock'
|
||||
tip_set_linear: 'Consiglio: Imposta i blocchi linearmente con //set #l3d[wood,bedrock]'
|
||||
tip_surface_spread: 'Consiglio: Propaga una superficie piana con //set #surfacespread[5][0][5][#existing]'
|
||||
tip_set_hand: 'Consiglio: Usa la tua mano attuale con //set hand'
|
||||
tip_replace_id: 'Consiglio: Sostituisci solo l''id del blocco: //replace woodenstair #id[cobblestair]'
|
||||
tip_replace_light: 'Consiglio: Rimuovi le sorgenti di luce con //replace #brightness[1][15] 0'
|
||||
tip_tab_complete: 'Consiglio: Il comando replace supporta il completamento del tabulatore'
|
||||
tip_flip: 'Consiglio: Specchia con //flip'
|
||||
tip_deform: 'Consiglio: Rimodella con //deform'
|
||||
tip_transform: 'Consiglio: Imposta una trasformazione con //gtransform'
|
||||
tip_copypaste: 'Consiglio: Incolla al click con //br copypaste'
|
||||
tip_source_mask: 'Consiglio: Imposta una maschera sorgente con /gsmask <maschera>'
|
||||
tip_replace_marker: 'Consiglio: Sostituisci un blocco con i tuoi appunti completi usando //replace wool #fullcopy'
|
||||
tip_paste: 'Consiglio: Colloca con //paste'
|
||||
tip_lazycopy: 'Consiglio: lazycopy è più veloce'
|
||||
tip_download: 'Consiglio: Prova //download'
|
||||
tip_rotate: 'Consiglio: Orienta con //rotate'
|
||||
tip_copy_pattern: 'Consiglio: Per usarlo come un pattern prova #copy'
|
||||
tip_regen_0: 'Consiglio: Usa un bioma con /regen [biome]'
|
||||
tip_regen_1: 'Consiglio: Usa un seme con /regen [biome] [seed]'
|
||||
tip_biome_pattern: 'Consiglio: Il pattern #biome[forest] può essere usato in qualsiasi comando'
|
||||
tip_biome_mask: 'Consiglio: Limita a un bioma con la maschera `$jungle`'
|
@ -1,366 +0,0 @@
|
||||
# Translated and updated by RainbowGodDouwe
|
||||
info:
|
||||
prefix: '(FAWE)'
|
||||
file_deleted: '%s0 Is verwijderd.'
|
||||
schematic_pasting: 'Het schematic wordt geplaatst. dit kan niet veranderd worden.'
|
||||
lighting_propogate_selection: 'Het licht heeft zich verspreid in %s0 chunks. (Note:
|
||||
om het licht te verwijderen, doe //removelight)'
|
||||
updated_lighting_selection: 'Lighting is geüpdatet in %s0 chunks. (het kan even
|
||||
duren voordat de packets worden verstuurd)'
|
||||
set_region: 'Toegestaande regio geselecteerd'
|
||||
worldedit_command_limit: 'U kunt weer verder gaan wanneer uw vorige actie voltooid
|
||||
is'
|
||||
worldedit_delayed: 'U kunt weer verder gaan wanneer wij uw FAWE action voltooien...'
|
||||
worldedit_run: 'Sorry voor het ongemak. huidige uitvoerende actie: %s'
|
||||
worldedit_complete: 'Verandering voldaan.'
|
||||
require_selection_in_mask: '%s Van je selectie is niet binnen je mask. Je kan
|
||||
alleen veranderingen uitvoeren in de toegestaande regio.'
|
||||
worldedit_volume: 'Je kan niet een volume van %current% toepassen. Het maximum
|
||||
volume dat je kan toepassen is %max%.'
|
||||
worldedit_iterations: 'Je kan %current% niet zoveel keer herhalen. het maximale
|
||||
wat toegestaan is, is %max%.'
|
||||
worldedit_unsafe: 'Toegang tot deze command is geblokkeerd'
|
||||
worldedit_dangerous_worldedit: 'Nnveilige edits zijn verwerkt op %s0 by %s1'
|
||||
worldedit_toggle_tips_on: 'Disabled FAWE tips.'
|
||||
worldedit_toggle_tips_off: 'De FAWE tips staan nu aan.'
|
||||
worldedit_bypassed: 'De restrictie of FAWE wordt nu overscheiden.'
|
||||
worldedit_unmasked: 'Je FAWE edits hebben nu geen restrictie meer.'
|
||||
worldedit_restricted: 'Je FAWE edits hebben nu een restrictie.'
|
||||
worldedit_oom_admin: |-
|
||||
Mogelijke opties:
|
||||
- //fast
|
||||
- Voer kleinere bewerkingen uit
|
||||
- Wijs meer geheugen toe
|
||||
- Disable `max-memory-percent`
|
||||
compressed: Geschiedenis gecomprimeerd. Saved ~ %s0b (%s1x kleiner)
|
||||
action_complete: Uitvoering is over %s0 voltooid.
|
||||
error:
|
||||
worldedit_extend: 'je edit is waarschijnlijk buiten het toegestaande gebied gekomen.'
|
||||
web_unauthorized: 'alleen links van de configureerde webhost zijn toegestaan: %s0'
|
||||
command_syntax: 'Gebruik: %s0'
|
||||
no_perm: 'je hebt hier geen permission node voor: %s0'
|
||||
setting_disable: 'Setting ontbreekt: %s0'
|
||||
brush_not_found: 'Bruikbare brushes: %s0'
|
||||
brush_incompatible: 'Deze brush kan niet in deze versie gebruikt worden'
|
||||
schematic_not_found: 'Schematic niet gevonden: %s0'
|
||||
no_region: 'Je hebt momenteel geen toegestaand gebied'
|
||||
no_mask: 'Je hebt momenteel geen brush geselecteerd'
|
||||
not_player: 'Je moet een speler zijn om dit te doen!'
|
||||
player_not_found: 'Speler niet gevonden: %s0'
|
||||
oom: |-
|
||||
[Critical] Gedetecteerd laag geheugen i.e. < 1%. We zullen de volgende acties ondernemen:
|
||||
- Verwijder de huidige WE blok plaatsing
|
||||
- Clear WE history
|
||||
- Unload non essential chunks
|
||||
- Dood de entities
|
||||
- Onnodige data collecteren
|
||||
Negeer dit als je de server wilt laten crashen.
|
||||
Note: Een laag opslagvermogen kan door WE veroorzaakt worden (dit hoeft niet)
|
||||
worldedit_some_fails: '%s0 Blokken zijn niet geplaats omdat ze uit je toegestaande
|
||||
gebied werden geplaatst.'
|
||||
worldedit_some_fails_blockbag: 'oOntbrekende blokken: %s0'
|
||||
block_not_allowed: Het is niet toegestaan om dit te gebruiken
|
||||
web:
|
||||
generating_link: Uploading %s, even geduld A.U.B...
|
||||
generating_link_failed: 'De donwload link kon niet worden gemaakt!'
|
||||
download_link: '%s'
|
||||
worldedit:
|
||||
general:
|
||||
mask_disabled: Global mask uitgeschakeld
|
||||
mask: Global mask is gezet
|
||||
texture_disabled: Texturing reset
|
||||
texture_set: Texturing tot %s1 gezet
|
||||
source_mask_disabled: Global source mask uitgeschakeld
|
||||
source_mask: Global source mask geszet
|
||||
transform_disabled: Global transform uitgeschakeld
|
||||
transform: Global transform gezet
|
||||
fast_enabled: Fast mode aangezet. History en edit restrictions zullen worden negeerd.
|
||||
fast_disabled: Fast mode uitgeschakeld
|
||||
place_enabled: 'Wordt nu geplaats op locatie #1.'
|
||||
place_disabled: Het wordt nu geplaatst op het blok waar je op staat.
|
||||
copy:
|
||||
command_copy: '%s0 blokken zijn gekopieerd.'
|
||||
cut:
|
||||
command_cut_slow: '%s0 Blocks were cut.'
|
||||
command_cut_lazy: '%s0 Blokken zullen verwijderd worden bij plaatsing'
|
||||
paste:
|
||||
command_paste: Het klipbord is geplaatst op %s0
|
||||
rotate:
|
||||
command_rotate: Het klipbord is omgedraaid
|
||||
flip:
|
||||
command_flipped: Het klipbord is omgedraaid
|
||||
regen:
|
||||
command_regen_0: Regio gegenereerd.
|
||||
command_regen_1: Regio gegenereerd.
|
||||
command_regen_2: Regio gegenereerd.
|
||||
tree:
|
||||
command_tree: '%s0 Bomen gecreëerd.'
|
||||
command_pumpkin: '%s0 Pompoenen gecreëerd.'
|
||||
flora:
|
||||
command_flora: '%s0 Flora gecreëerd.'
|
||||
history:
|
||||
command_history_clear: Geschiedenis verwijderd
|
||||
command_redo_error: Er is niks om te ontdaan. (See also `/inspect` and `/frb`)
|
||||
command_history_other_error: We kunnen geen sessie voor %s0 vinden.
|
||||
command_redo_success: Herdaan succesvol.
|
||||
command_undo_error: Er is niet om te ontdaan. (See also `/inspect` and `/frb`)
|
||||
command_undo_success: Herdaan succesvol.
|
||||
command_undo_disabled: 'Undo disabled, use: //fast'
|
||||
operation:
|
||||
operation: Operaties die in de wacht staan (%s0)
|
||||
selection:
|
||||
selection_wand: 'Links klikken: selecteer pos #1; Rechts klikken: selecteer pos
|
||||
#2'
|
||||
selection_wand_disable: Edit wand uitgeschakeld.
|
||||
selection_wand_enable: Edit wand ingeschakeld.
|
||||
selection_chunk: Chunk geselecteerd (%s0)
|
||||
selection_chunks: Chunks geselecteerd (%s0) - (%s1)
|
||||
selection_contract: Region contracted %s0 blokken.
|
||||
selection_count: '%s0 Blokken geteld.'
|
||||
selection_distr: '# Totaal aantal blokken: %s0'
|
||||
selection_expand: Regio vergroot met %s0 blokken.
|
||||
selection_expand_vert: Regio vergroot met %s0 blokken (van boven naar beneden)
|
||||
selection_inset: Region inset
|
||||
selection_outset: Region outset
|
||||
selection_shift: Region verzet
|
||||
selection_cleared: Selectie verwijderd
|
||||
navigation:
|
||||
navigation_wand_error: 'Nergens om door heen te gaan'
|
||||
anvil:
|
||||
world_is_loaded: de wereld zou niet in gebruik moeten zijn wanneer er een uitvoering
|
||||
wordt gedaan. onlaad de wereld, of gebruik -f om het te overschrijden (save
|
||||
first)
|
||||
brush:
|
||||
brush_reset: Reset je brush. (SHIFT + Click)
|
||||
brush_none: Je houdt hebt geen brush vast!
|
||||
brush_scroll_action_set: Scroll action gezet naar %s0
|
||||
brush_scroll_action_unset: Scroll action uitgeschakeld.
|
||||
brush_visual_mode_set: Visuele mode gezet naar %s0
|
||||
brush_target_mode_set: Target mode gezet naar %s0
|
||||
brush_target_mask_set: Target mode gezet naar %s0
|
||||
brush_target_offset_set: Uitschietting van de target gezet tot %s0
|
||||
brush_equipped: Brush in gebruik %s0
|
||||
brush_try_other: |-
|
||||
Er zijn betere brushes hier voor te gebruiken e.g.
|
||||
- //br height [radius=5] [#clipboard|file=null] [rotation=0] [yscale=1.00]
|
||||
brush_copy: Links klik de fundering van de constructie om te kopieëren, rechts
|
||||
klik om te plakken. Verhoog de brush Settings als dat mogelijk is.
|
||||
brush_height_invalid: Onvalide hoogte map file (%s0)
|
||||
brush_smooth: Gebruik de blend brush om caves en hangende dingen glad te krijgen.'
|
||||
brush_spline: Klik Om een bevestigingspunt te zetten, klik hetzelfde punt om het
|
||||
af te ronden.
|
||||
brush_line_primary: Punt %s0 toegevoegt, klik op een andere locatie om de lijn
|
||||
te creëeren.
|
||||
brush_catenary_direction: Punt %s0 toegevoegt, klik naar de directie waar je krommen
|
||||
wilt.
|
||||
brush_line_secondary: Kromme lijn gecreëerd
|
||||
brush_spline_primary_2: Positie toegevoegt, klik hetzelfde punt om mee te doen!
|
||||
brush_spline_secondary_error: Niet genoeg posities gezet!
|
||||
brush_spline_secondary: Kromme lijn gecreërd
|
||||
brush_size: Brush grootte gezet
|
||||
brush_range: Brush bereik gezet
|
||||
brush_mask_disabled: Brush mask disabled
|
||||
brush_mask: Brush mask gezet
|
||||
brush_source_mask_disabled: Brush source mask uitgeschakeld
|
||||
brush_source_mask: Brush source mask gezet
|
||||
brush_transform_disabled: Brush transform uitgeschakeld
|
||||
brush_transform: Brush transform gezet
|
||||
brush_material: Brush material gezet
|
||||
rollback:
|
||||
rollback_element: Aan %s0 het ontdaan maken.
|
||||
tool:
|
||||
tool_inspect: Inspect tool gebonden aan %s0.
|
||||
tool_inspect_info: '%s0 veranderd %s1 to %s2 %s3 geleden'
|
||||
tool_inspect_info_footer: 'Totaal: %s0 veranderingen'
|
||||
tool_none: De tool is niet meer gebonden aan je item.
|
||||
tool_info: Info tool gebonden aan %s0.
|
||||
tool_tree: Tree tool gebonden aan %s0.
|
||||
tool_tree_error: Tree type %s0 is niet gevonden.
|
||||
tool_repl: Block replacer tool gebonden aan %s0.
|
||||
tool_cycler: Block data cycler tool gebonden aan %s0.
|
||||
tool_flood_fill: Block flood fill tool gebonden aan %s0.
|
||||
tool_range_error: 'Maximale bereik: %s0.'
|
||||
tool_radius_error: 'Maximum toegestaande brush radius: %s0.'
|
||||
tool_deltree: Floating tree remover tool gebonden aan %s0.
|
||||
tool_farwand: Far wand tool gebonden aan %s0.
|
||||
tool_lrbuild_bound: Long-range building tool gebonden aan %s0.
|
||||
tool_lrbuild_info: links-klik gebonden aan %s0; rechts-klik gebonden aan %s1.
|
||||
superpickaxe_enabled: Super Pickaxe ingeschakeld.
|
||||
superpickaxe_disabled: Super Pickaxe uitgeschakeld.
|
||||
superpickaxe_area_enabled: Mode veranderd. Links klik met een pickaxe. // om uit
|
||||
te schakelen.
|
||||
tool_tree_error_block: Daar kan je geen boom plaatsen.
|
||||
tool_deltree_error: Dat is geen boom.
|
||||
tool_deltree_floating_error: Dat is niet een vliegende boom.
|
||||
snapshot:
|
||||
snapshot_loaded: Snapshot '%s0' geladen; nu aan het herstellen...
|
||||
snapshot_set: 'Snapshot gezet tot: %s0'
|
||||
snapshot_newest: Je gebruikt de nieuwste snapshot.
|
||||
snapshot_list_header: 'Snapshots voor wereld (%s0):'
|
||||
snapshot_list_footer: Gebruik /snap use [snapshot] of /snap use latest.
|
||||
snapshot_not_configured: Snapshot/backup restoratie is niet geconfigureerd.
|
||||
snapshot_not_available: Er zijn geen snapshots gevonden, zie de console voor meer informatie.
|
||||
snapshot_not_found_world: Er zijn geen snapshots gevonden van deze wereld.
|
||||
snapshot_not_found: Er zijn geen snapshots gevonden.
|
||||
snapshot_invalid_index: Geen geldende context, deze moest hoger of gelijk aan 1 zijn.
|
||||
snapshot_error_date: Kon de data input niet vinden.
|
||||
snapshot_error_restore: Storingen zorgden ervoor dat de blokken niet konden worden teruggeplaatst.
|
||||
snapshot_error_restore_chunks: Er konden geen chunks geladen worden.
|
||||
biome:
|
||||
biome_list_header: 'Biomes (page %s0/%s1):'
|
||||
biome_changed: Biotopen zijn veranderd in %s0 columns.
|
||||
utility:
|
||||
kill_success: entities %s0 zijn vermoord in een radius van %s1.
|
||||
nothing_confirmed: Je hebt geen acties die bevestigt moeten worden.
|
||||
page_footer: Gebruik %s0 om naar de volgende pagina te gaan
|
||||
schematic:
|
||||
schematic_prompt_clear: 'we raden je aan %s0 te gebruiken om je klipbord
|
||||
te verwijderen first'
|
||||
schematic_show: |-
|
||||
scematics %s0 aan het wergeven %s1:
|
||||
- Links klik a het gebouw om er een klipbord van de maken
|
||||
- Rechts klik a om een gebouw toe te voegen aan je multi-klipbord
|
||||
- Gebruik %s2 om terug naar de wereld te gaan
|
||||
schematic_format: 'Beschikbare formats (Name: Lookup names)'
|
||||
schematic_move_exists: '%s0 bestaat al'
|
||||
schematic_move_success: '%s0 -> %s1'
|
||||
schematic_move_failed: '%s0 aantal verplaatst: %s1'
|
||||
schematic_loaded: '%s0 gelanden. plak met //paste'
|
||||
schematic_saved: '%s0 opgeslagen.'
|
||||
schematic_page: Pagina moet %s zijn
|
||||
schematic_none: Niks gevonden.
|
||||
schematic_list: 'Beschikbare files (Filename: Format) [%s0/%s1]:'
|
||||
schematic_list_elem: ' - %s0 - %s1'
|
||||
clipboard:
|
||||
clipboard_uri_not_found: Je hebt %s0 niet geladen
|
||||
clipboard_cleared: Jlikbord verwijderd
|
||||
clipboard_invalid_format: 'Niet bestaand clipboard format: %s0'
|
||||
visitor:
|
||||
visitor_block: '%s0 blocks aangetast'
|
||||
visitor_entity: '%s0 entities aangetast'
|
||||
visitor_flat: '%s0 columns aangetast'
|
||||
selector:
|
||||
selector_fuzzy_pos1: Regio gezet en verwijd van/naar %s0 %s1.
|
||||
selector_fuzzy_pos2: Verwijding van %s0 %s1 toegevoegt.
|
||||
selector_pos: pos%s0 gezet naar %s1 (%s2).
|
||||
selector_center: Center gezet naar %s0 (%s1).
|
||||
selector_radius: Radius gezet naar %s0 (%s1).
|
||||
selector_expanded: Regio uitgebreid naar %s0 (%s1)
|
||||
selector_invalid_coordinates: non-valid coördinaten %s0
|
||||
selector_already_set: Positie al gezet.
|
||||
selector_set_default: Your normale regio selector is nu %s0.
|
||||
timezone:
|
||||
timezone_set: 'Timezone gezet voor deze sessie naar: %s0'
|
||||
timezone_display: 'De actuele tijd in die tijdzone is: %s0'
|
||||
command:
|
||||
command_invalid_syntax: De command was niet goed gebruikt (no more help available).
|
||||
help:
|
||||
command_clarifying_bracket: ' clarifying bracket toegevoegt aan %s0'
|
||||
help_suggest: 'kon %s0 niet binden. misschien één van deze proberen %s1 ?'
|
||||
help_header_categories: Command Types
|
||||
help_header_subcommands: Subcommands
|
||||
help_header_command: 'Help voor: %s0'
|
||||
help_item_allowed: '%s0 - %s1'
|
||||
help_item_denied: '%s0 - %s1'
|
||||
help_header: 'Help: pagina %s0/%s1'
|
||||
help_footer: 'Wiki: https://git.io/vSKE5'
|
||||
cycler:
|
||||
block_cycler_cannot_cycle: De blok data kan niet worden veranderd.
|
||||
block_cycler_limit: Maximale veranderingen in blokken bereikt.
|
||||
block_cycler_no_perm: 'Het is niet toegestaan om deze blok data te veranderen.'
|
||||
scripting:
|
||||
scripting_no_perm: 'Je hebt onvoldoende rechten om deze craft scriptie uit te voeren. '
|
||||
scripting_cs: Gebruik eerst /cs met een scriptie naam.
|
||||
scripting_error: Er waren problemen onstaan bij het uitvoeren van de craft scriptie.
|
||||
progress:
|
||||
progress_message: '%s1/%s0 (%s2%) @%s3cps %s4s left'
|
||||
progress_finished: '[ Klaar! ]'
|
||||
cancel:
|
||||
worldedit_cancel_count: 'zoveel edits: %s0 ontdaan.'
|
||||
worldedit_cancel_reason_confirm: 'Het geselecteerde gebied is groot (%s0 ->
|
||||
%s1, containing %s3 blocks). Gebruik //confirm om te bevestigen %s2'
|
||||
worldedit_cancel_reason: 'Your WorldEdit actie was opgeheven: %s0.'
|
||||
worldedit_cancel_reason_manual: manuele opheffing
|
||||
worldedit_cancel_reason_low_memory: Lage memory
|
||||
worldedit_cancel_reason_max_changes: Teveel blokken verandered
|
||||
worldedit_cancel_reason_max_checks: Teveel block checks
|
||||
worldedit_cancel_reason_max_tiles: Teveel blockstates
|
||||
worldedit_cancel_reason_max_entities: Teveel entities
|
||||
worldedit_cancel_reason_max_iterations: Maximum herhaling
|
||||
worldedit_cancel_reason_outside_level: Buiten de bebouwde kom
|
||||
worldedit_cancel_reason_outside_region: Buiten het toegestaande gebied (bypass with
|
||||
/wea, or disable `region-restrictions` in config.yml)
|
||||
worldedit_cancel_reason_no_region: geen toegestaand gebied (bypass with /wea, or
|
||||
disable `region-restrictions` in config.yml)
|
||||
worldedit_failed_load_chunk: 'Chunks laden overgeslaan: %s0;%s1. probeer het
|
||||
chunk-wait op te krikken.'
|
||||
navigation:
|
||||
ascend_fail: Geen vrije plekken boven je gesignaleerd.
|
||||
ascended_plural: levels %s0 verlaagt.
|
||||
ascended_singular: Ascended a level.
|
||||
unstuck: There you go!
|
||||
descend_fail: geen vrije plekken onder je gesignaleerd.
|
||||
descend_plural: levels %s0 gedaald.
|
||||
descend_singular: Een level gedaald.
|
||||
whoosh: Whoosh!
|
||||
poof: Poof!
|
||||
thru_fail: Geen vrije plekken voor je.
|
||||
no_block: Geen blokken in zicht! (of te ver)
|
||||
up_fail: Er hangt helaas iets boven je.
|
||||
selection:
|
||||
sel_cuboid: 'Cuboid: links klik voor punt 1, rechts klik voor punt 2'
|
||||
sel_cuboid_extend: 'Cuboid: links klik voor een begin punt, rechts klik om te verbreden'
|
||||
sel_2d_polygon: '2D polygon selector: links/rechts klik om een punt toe te voegen.'
|
||||
sel_ellipsiod: 'Ellipsoid selector: links klik=center, rechts klik om te verbreden'
|
||||
sel_sphere: 'Sphere selector: Links klik=center, rechts klik om de radius te zetten'
|
||||
sel_cylindrical: 'Cylindrical selector: links klik+center, right click to extend.'
|
||||
sel_max: '%s0 points maximum.'
|
||||
sel_fuzzy: 'Fuzzy selector: links klik om alle bestaande blokken te plaatsen, rechts
|
||||
klik om toe te voegen. om een lucht holte te selecteren, doe //pos1.'
|
||||
sel_convex_polyhedral: 'Convex polyhedral selector: Links klik=First vertex, rechts
|
||||
klik om meer toe te voegen.'
|
||||
sel_list: 'Voor een lijst met selecties doe: //sel list'
|
||||
sel_modes: 'Selecteer één van de modes hier:'
|
||||
tips:
|
||||
tip_sel_list: 'Tip: Zie de verschillende selectie modes met //sel list'
|
||||
tip_select_connected: 'Tip: Selecteer alle verbonden blokken met //sel fuzzy'
|
||||
tip_set_pos1: 'Tip: Gebruik pos1 als een punt met //set pos1'
|
||||
tip_farwand: 'Tip: Selecteer punten van ver weg met //farwand'
|
||||
tip_lazycut: 'Tip: Het is veiliger om //lazycut te gebruiken'
|
||||
tip_fast: 'Tip: Set fast and without undo using //fast'
|
||||
tip_cancel: 'Tip: gebruik //cancel om een edit stop te zetten'
|
||||
tip_mask: 'Tip: Zet een globale bestemmings mask met /gmask'
|
||||
tip_mask_angle: 'Tip: Vervang opwaartse hellingen van 3-20 blocks met //replace
|
||||
/[-20][-3] bedrock'
|
||||
tip_set_linear: 'Tip: Zet een blok lineaire met //set #l3d[wood,bedrock]'
|
||||
tip_surface_spread: 'Tip: Verpsreid een oppervlakte met //set #surfacespread[5][0][5][#existing]'
|
||||
tip_set_hand: 'Tip: Gebruik je huide hand met //set hand'
|
||||
tip_replace_regex: 'Tip: Vervang door regex: //replace .*_log <pattern>'
|
||||
tip_replace_regex_2: 'Tip: Vervang door regex: //replace .*stairs[facing=(north|south)]
|
||||
<pattern>'
|
||||
tip_replace_regex_3: 'Tip: Vervang door operators: //replace water[level>2]
|
||||
sand'
|
||||
tip_replace_regex_4: 'Tip: Vervang door operators: //replace true *[waterlogged=false]'
|
||||
tip_replace_regex_5: 'Tip: Vervang door operators: //replace true *[level-=1]'
|
||||
tip_replace_id: 'Tip: Vervang alleen het blok id://replace woodenstair #id[cobblestair]'
|
||||
tip_replace_light: 'Tip: Verwijder licht met with//replace #brightness[1][15]'
|
||||
tip_tab_complete: 'Tip: The replace command supports tab completion'
|
||||
tip_flip: 'Tip: Mirror met //flip'
|
||||
tip_deform: 'Tip: Verander het van vorm met //deform'
|
||||
tip_transform: 'Tip: Zet een transform met //gtransform'
|
||||
tip_copypaste: 'Tip: Plaats bij klikken met //br copypaste'
|
||||
tip_source_mask: 'Tip: Zet een source mask met /gsmask <mask>'
|
||||
tip_replace_marker: 'Tip: verander een blok in je volle klipbord met //replace
|
||||
wool #fullcopy'
|
||||
tip_paste: 'Tip: Plaats met //paste'
|
||||
tip_lazycopy: 'Tip: Lazycopy is sneller'
|
||||
tip_download: 'Tip: Probeer //download'
|
||||
tip_rotate: 'Tip: Orïenteer met //rotate'
|
||||
tip_copy_pattern: 'Tip: Om een pattern te gebruiken, probeer #copy'
|
||||
tip_regen_0: 'Tip: Gebruik een biome met /regen [biome]'
|
||||
tip_regen_1: 'Tip: Gebruik een seed met /regen [biome] [seed]'
|
||||
tip_biome_pattern: 'Tip: Dee #biome[forest] pattern kan ik elke opdracht gebruikt
|
||||
worden'
|
||||
tip_biome_mask: 'Tip: Er wordt een restrictie geplaatst op de biome met `$jungle`
|
||||
mask'
|
||||
tip_discord: Heb je hulp nodig bij FAWE? https://discord.gg/KxkjDVg
|
Datei-Diff unterdrückt, da er zu groß ist
Diff laden
@ -1,329 +0,0 @@
|
||||
info:
|
||||
prefix: '(FAWE)'
|
||||
file_deleted: '%s0 был удален.'
|
||||
schematic_pasting: 'Вставка схематического файла. Это не может быть отменено.'
|
||||
lighting_propogate_selection: 'Освещение было распространено в %s0 чанках. (Примечание:
|
||||
Для удаления освещения используйте //removelight)'
|
||||
updated_lighting_selection: 'Освещение было обновлено в %s0 чанках. (Это может
|
||||
занять секунду для отправки пакетов)'
|
||||
set_region: 'Выделение установлено в вашем текущем регионе WorldEdit'
|
||||
worldedit_command_limit: 'Пожалуйста, подождите, пока ваше текущее действие завершится'
|
||||
worldedit_delayed: 'Пожалуйста, подождите, пока мы обрабатываем ваши действия
|
||||
WorldEdit...'
|
||||
worldedit_run: 'Простите за задержку. Выполнение: %s'
|
||||
worldedit_complete: 'Действие WorldEdit выполнено.'
|
||||
require_selection_in_mask: '%s вашего выделения не находится в пределах вашей
|
||||
маски. Вы можете только вносить изменения в пределах разрешенных регионов.'
|
||||
worldedit_volume: 'Вы не можете выбрать значение %current%. Максимальное значение,
|
||||
которое вы можете изменить - %max%.'
|
||||
worldedit_iterations: 'Вы не можете выполнить интерацию %current% раз. Максимальное
|
||||
число допустимых итераций - %max%.'
|
||||
worldedit_unsafe: 'Доступ к этой команде был заблокирован!'
|
||||
worldedit_dangerous_worldedit: 'FAWE обрабатывает небезопасный WorldEdit в %s0
|
||||
на %s1'
|
||||
worldedit_toggle_tips_on: 'Советы WorldEdit включены.'
|
||||
worldedit_toggle_tips_off: 'Советы WorldEdit включены.'
|
||||
worldedit_bypassed: 'Обход ограничений WorldEdit включен.'
|
||||
worldedit_unmasked: 'Ваш WorldEdit теперь неограниченный.'
|
||||
worldedit_restricted: 'Обход ограничений WorldEdit выключен.'
|
||||
worldedit_oom_admin: |-
|
||||
Возможные варианты:
|
||||
- //fast
|
||||
- Сделать небольшие изменения
|
||||
- Выделить больше памяти
|
||||
- Отключить `max-memory-percent`
|
||||
compressed: История сжата. Сохранено ~ %s0b (%s1x меньше)
|
||||
action_complete: Действие выполенено за %s0 секунд
|
||||
error:
|
||||
worldedit_extend: 'Ваше выделение WorldEdit может быть расширено за пределами
|
||||
разрешенного региона.'
|
||||
command_syntax: 'Использование: %s0'
|
||||
no_perm: 'У вас нет разрешения: %s0'
|
||||
setting_disable: 'Отсутствует параметр: %s0'
|
||||
schematic_not_found: 'Схематический файл не найден: %s0'
|
||||
no_region: 'У вас нет текущего региона WorldEdit'
|
||||
no_mask: 'У вас нет текущей установленой маски'
|
||||
not_player: 'Вы должны быть игроком, чтобы выполнить это действие!'
|
||||
player_not_found: 'Игрок не найден: %s0'
|
||||
oom: |-
|
||||
[Опасно] Обнаружено мало память, т.е. < 1%. FAWE предпримет следующие действия:
|
||||
- Прекратить размещение блоков WE
|
||||
- Очистить историю WE
|
||||
- Выгрузить не необходимые чанки
|
||||
- Убить энтити
|
||||
- Собрать мусор
|
||||
Игнорирование этого может призвести к крашу сервера.
|
||||
Примечание: Нехватка памяти скорее всего (но не обязательно) вызванно WE
|
||||
worldedit_some_fails: '%s0 блок(ов) не были размещены, потому что они были за
|
||||
пределами вашего региона.'
|
||||
worldedit_some_fails_blockbag: 'Недостающие блоки: %s0'
|
||||
web_unauthorized: 'Разрешены только ссылки с настроенного веб-хостинга: %s0'
|
||||
brush_not_found: 'Доступные кисти: %s0'
|
||||
brush_incompatible: 'Кисть не совместима с этой версией'
|
||||
web:
|
||||
generating_link: Загрузка %s, пожалуйста подождите...
|
||||
generating_link_failed: 'Не удалось создать ссылку!'
|
||||
download_link: '%s'
|
||||
worldedit:
|
||||
general:
|
||||
mask_disabled: Глобальная маска отключена
|
||||
mask: Глобальная маска установлена
|
||||
source_mask_disabled: Глобальный источник маски отключен
|
||||
source_mask: Глобальный источник маски установлен
|
||||
transform_disabled: Глобальное преобразование отключено
|
||||
transform: Глобальное преобразование установлено
|
||||
fast_enabled: Быстрый режим включен. История и редактирование ограничений будут обойдены.
|
||||
fast_disabled: Быстрый режим отключен
|
||||
place_enabled: 'Теперь размещение в позиции #1.'
|
||||
place_disabled: Теперь размещение в блоке, на котором вы стоите.
|
||||
texture_disabled: Сброс текстуры
|
||||
texture_set: Установите текстурирование на %s1
|
||||
copy:
|
||||
command_copy: '%s0 блок(ов) скопировано.'
|
||||
cut:
|
||||
command_cut_slow: |-
|
||||
%s0 блок(ов) вырезано.
|
||||
Совет: lazycut безопаснее
|
||||
command_cut_lazy: '%s0 блок(ов) будут удалены при вставке'
|
||||
paste:
|
||||
command_paste: |-
|
||||
Буфер обмена был вставлен в %s0
|
||||
Совет: Вставка по клику - //br copypaste
|
||||
rotate:
|
||||
command_rotate: Буфер обмена был повернут
|
||||
flip:
|
||||
command_flipped: Буфер обмена было перевернут
|
||||
regen:
|
||||
command_regen_0: |-
|
||||
Регион регенерирован.
|
||||
Tip: Используйте биом - /regen [biome]
|
||||
command_regen_1: |-
|
||||
Регион регенерирован.
|
||||
Совет: Используйте сид - /regen [biome] [seed]
|
||||
command_regen_2: Регион регенерирован.
|
||||
tree:
|
||||
command_tree: '%s0 деревьев создано.'
|
||||
command_pumpkin: '%s0 тыкв создано.'
|
||||
flora:
|
||||
command_flora: '%s0 флор создано.'
|
||||
history:
|
||||
command_history_clear: История очищена
|
||||
command_redo_error: Ничего не осталось для возврата. (Смотрите также `/inspect` и `/frb`)
|
||||
command_redo_success: Успешно возвращено.
|
||||
command_undo_error: Ничего не осталось для отмены. (Смотрите также `/inspect` и `/frb`)
|
||||
command_undo_success: Успешно отменено.
|
||||
command_history_other_error: Не удалось найти сессию %s0.
|
||||
operation:
|
||||
operation: Операция в очереди (%s0)
|
||||
selection:
|
||||
selection_wand: 'ЛКМ: установить точку #1; ПКМ: установить точку #2'
|
||||
selection_wand_disable: Палочка редактирования выключена.
|
||||
selection_wand_enable: Палочка редактирования включена.
|
||||
selection_chunk: Чанк выбран (%s0)
|
||||
selection_chunks: Чанков выбрано (%s0) - (%s1)
|
||||
selection_contract: Регион сокращен на %s0 блоков.
|
||||
selection_count: Подсчитано %s0 блоков.
|
||||
selection_distr: '# всего блоков: %s0'
|
||||
selection_expand: Регион расширен на %s0 блоков
|
||||
selection_expand_vert: Регион расширен на %s0 блоков (сверху вниз)
|
||||
selection_inset: Region inset
|
||||
selection_outset: Region outset
|
||||
selection_shift: Регион сдвинут
|
||||
selection_cleared: Выделение очищено
|
||||
brush:
|
||||
brush_none: Вы не держите кисть!
|
||||
brush_try_other: |-
|
||||
FAWE добавляет другие, более подходящие кисти, например,
|
||||
- //br height [radius=5] [#clipboard|file=null] [rotation=0] [yscale=1.00]
|
||||
brush_copy: Кисть копирования сформирована (%s0). ПКМ по обьекту для копирования,
|
||||
ПКМ для вставки. При необходимости увеличьте радиус кисти.
|
||||
brush_height_invalid: Неверная высота файла карты (%s0)
|
||||
brush_smooth: Кисть сглаживания сформирована (%s0 x %s1 используя %s2).
|
||||
brush_spline: Форма кисти линий сформирована (%s0). ПКМ по концу, чтобы добавить форму
|
||||
brush_spline_secondary_error: Не хватает установленных позиций!
|
||||
brush_spline_secondary: Склеивание создано
|
||||
brush_size: Размер кисти установлен
|
||||
brush_range: Размер кисти установлен
|
||||
brush_mask_disabled: Маска кисти отключена
|
||||
brush_mask: Маска кисти сформирована
|
||||
brush_source_mask_disabled: Кисть источника маски отключена
|
||||
brush_source_mask: Кисть источника маски сформирована
|
||||
brush_transform_disabled: Кисть преобразвания сформирована
|
||||
brush_transform: Кисть преобразования сформирована
|
||||
brush_material: Материал кисти установлен
|
||||
brush_scroll_action_set: Установлено действие прокрутки %s0
|
||||
brush_visual_mode_set: Установлен визуальный режим для %s0
|
||||
brush_target_mode_set: Установлен целевой режим для %s0
|
||||
brush_spline_primary_2: Добавлена позиция, Нажмите на том же месте, чтобы присоединиться!
|
||||
brush_reset: Сбросьте кисть. (SHIFT + Click)
|
||||
brush_scroll_action_unset: Удалено действие прокрутки
|
||||
brush_target_mask_set: Установите целевую маску на %s0
|
||||
brush_target_offset_set: Установите смещение цели на %s0
|
||||
brush_equipped: Оборудованная кисть %s0
|
||||
brush_line_primary: Добавленная точка %s0, нажмите другую позицию, чтобы создать линию
|
||||
brush_catenary_direction: Добавленная точка %s0, нажмите другую позицию, чтобы создать сплайн
|
||||
brush_line_secondary: Созданный сплайн
|
||||
rollback:
|
||||
rollback_element: Отмена %s0
|
||||
tool:
|
||||
tool_inspect: Инструмент проверки связан с %s0.
|
||||
tool_inspect_info: '%s0 изменено %s1 на %s2 %s3 назад'
|
||||
tool_inspect_info_footer: 'Всего: %s0 изменений'
|
||||
tool_none: Инструмент больше не связан с вашим предметом.
|
||||
tool_info: Информационный инструмент связан с %s0.
|
||||
tool_tree: Инструмент Девера связан с %s0.
|
||||
tool_tree_error: Неизвестный тип дерева %s0.
|
||||
tool_repl: Инструмент замены блока связан к %s0.
|
||||
tool_cycler: Block data cycler tool bound to %s0.
|
||||
tool_flood_fill: Инструмент Заливки блоков связан с %s0.
|
||||
tool_deltree: Инструмент для удаления летающих деревьев связан с %s0.
|
||||
tool_farwand: Инструмент дальной полочки связан с %s0.
|
||||
tool_lrbuild_bound: Строительный инструмент дальнего действия связан с %s0.
|
||||
tool_lrbuild_info: ЛКМ для установки %s0; ПКМ для установки %s1.
|
||||
superpickaxe_enabled: Супер Кирка включена.
|
||||
superpickaxe_disabled: Супер Кирка выключена.
|
||||
tool_range_error: 'Максимальный диапазон: %s0.'
|
||||
tool_radius_error: 'Максимально допустимый радиус кисти: %s0.'
|
||||
superpickaxe_area_enabled: Режим изменен. Щелкните левой кнопкой мыши с киркой. // для отключения.
|
||||
schematic:
|
||||
schematic_format: 'Доступные форматы буфера обмена (Имя: Имена поиска)'
|
||||
schematic_loaded: '%s0 загружен. Вставить его //paste'
|
||||
schematic_saved: '%s0 сохранен.'
|
||||
schematic_page: Страница должна быть %s
|
||||
schematic_none: Схематических фалов не найдено.
|
||||
schematic_list: 'Доступные схематические файлы (Имя файла: Формат) [%s0/%s1]:'
|
||||
schematic_prompt_clear: 'Вы можете использовать %s0 очистить свой первый'
|
||||
schematic_show: |-
|
||||
Отображение %s0 схемы из %s1:
|
||||
- Щелчок левой кнопкой мыши структура для настройки вашего буфера обмена
|
||||
- Щелкните правойt кнопкой мыши добавить структуру в ваш мультибуфер
|
||||
- использование %s2 вернуться в мир
|
||||
schematic_move_exists: '%s0 уже существует'
|
||||
schematic_move_success: '%s0 -> %s1'
|
||||
schematic_move_failed: '%s0 нет перемещенных: %s1'
|
||||
schematic_list_elem: ' - %s0 - %s1'
|
||||
clipboard:
|
||||
clipboard_cleared: Буфер обмена очищен
|
||||
clipboard_invalid_format: 'Неизвестный формат буфера обмена: %s0'
|
||||
clipboard_uri_not_found: У тебя нет %s0 нагруженный
|
||||
visitor:
|
||||
visitor_block: '%s0 блок(ов) затронуто'
|
||||
visitor_entity: '%s0 энтити затронуто'
|
||||
visitor_flat: '%s0 колонн затронуто'
|
||||
selector:
|
||||
selector_fuzzy_pos1: Регион установлен и расширен %s0 %s1.
|
||||
selector_fuzzy_pos2: Добавлено расширение %s0 %s1.
|
||||
selector_invalid_coordinates: Неверные координаты %s0
|
||||
selector_already_set: Позиция уже установлена.
|
||||
selector_set_default: Ваш выбранный регион по умолчанию теперь %s0.
|
||||
selector_pos: pos%s0 установлен в %s1 (%s2).
|
||||
selector_center: Центр установлен на %s0 (%s1).
|
||||
selector_radius: Радиус, установленный для %s0 (%s1).
|
||||
selector_expanded: Расширенная область для %s0 (%s1)
|
||||
command:
|
||||
command_invalid_syntax: Команда не используется должным образом (нет больше помощи).
|
||||
snapshot:
|
||||
snapshot_loaded: Снимок '%s0' загружен; Восстановление...
|
||||
snapshot_set: 'Снимок установлен: %s0'
|
||||
snapshot_newest: Теперь с использованием новейших снимков.
|
||||
snapshot_list_header: 'Снимки для мира (%s0):'
|
||||
snapshot_list_footer: Используйте /snap use [snapshot] или /snap use latest.
|
||||
biome:
|
||||
biome_list_header: 'Биомы (стр. %s0/%s1):'
|
||||
biome_changed: Биом был изменен в %s0 колонн.
|
||||
utility:
|
||||
kill_success: Убито %s0 энтити в радиусе %s1.
|
||||
nothing_confirmed: У вас нет действий в ожидании подтверждения.
|
||||
page_footer: использование %s0 to go to the next page
|
||||
timezone:
|
||||
timezone_set: 'Часовой пояс для этой сессии: %s0'
|
||||
timezone_display: 'Текущее время в этом часовом поясе: %s0'
|
||||
navigation:
|
||||
navigation_wand_error: 'Ничто не может пройти'
|
||||
anvil:
|
||||
world_is_loaded: Мир не должен использоваться во время исполнения. Выгрузить или использовать -f переопределить (сохранить сначала)
|
||||
help:
|
||||
command_clarifying_bracket: 'Added clarifying bracket for %s0'
|
||||
help_suggest: 'не мог найти %s0. Возможно, попробуйте один из %s1 ?'
|
||||
help_header_categories: Типы команд
|
||||
help_header_subcommands: Подкоманды
|
||||
help_header_command: 'Помогите за: %s0'
|
||||
help_item_allowed: '%s0 - %s1'
|
||||
help_item_denied: '%s0 - %s1'
|
||||
help_header: 'Помогите: страница %s0/%s1'
|
||||
help_footer: 'Wiki: https://git.io/vSKE5'
|
||||
progress:
|
||||
progress_message: '[ Очередь: %s0 | Отправляется: %s1 ]'
|
||||
progress_finished: '[ Готово! ]'
|
||||
cancel:
|
||||
worldedit_cancel_count: 'Отменено %s0 изменений.'
|
||||
worldedit_cancel_reason: 'Ваше действие WorldEdit было отменено: %s0.'
|
||||
worldedit_cancel_reason_manual: Ручная отмена
|
||||
worldedit_cancel_reason_low_memory: Мало памяти
|
||||
worldedit_cancel_reason_max_changes: Слишком много блоков изменено
|
||||
worldedit_cancel_reason_max_checks: Слишком много проверок блоков
|
||||
worldedit_cancel_reason_max_tiles: Слишком много blockstates
|
||||
worldedit_cancel_reason_max_entities: Слишком много энтити
|
||||
worldedit_cancel_reason_max_iterations: Максимальное количество итераций
|
||||
worldedit_cancel_reason_no_region: Нет разрешенного региона (обход, используя /wea, или выключите `region-restrictions` в config.yml)
|
||||
worldedit_failed_load_chunk: 'Пропущенные загруженные чанки: %s0;%s1. Попробуйте увеличить ожидание чанка.'
|
||||
worldedit_cancel_reason_confirm: 'Ваш выбор большой (%s0 -> %s1, содержащий %s3 блоки). использование //confirm выполнить %s2'
|
||||
worldedit_cancel_reason_outside_level: внешний мир
|
||||
worldedit_cancel_reason_outside_region: Вне допустимой области (обход с /wea, или отключить `region-restrictions` в config.yml)
|
||||
history: {}
|
||||
navigation:
|
||||
ascend_fail: Свободного места над вами не найдено.
|
||||
ascended_plural: Вы поднялись на %s0 уровень(ней).
|
||||
ascended_singular: Подняться на уровень.
|
||||
unstuck: Уииии!
|
||||
descend_fail: Свободного места под вами не найдено.
|
||||
descend_plural: Вы спустились на %s0 уровень(ней).
|
||||
descend_singular: Спуститься на уровень.
|
||||
whoosh: Уииии!
|
||||
poof: Бум!
|
||||
thru_fail: Свободного места впереди вас не найдено.
|
||||
up_fail: Вы бы ударились об что-то над вами.
|
||||
no_block: Нету блоков в поле зрения! (или слишком далеко)
|
||||
selection:
|
||||
sel_cuboid: 'Кубоид: ЛКМ для точки 1, ПКМ для точки 2'
|
||||
sel_cuboid_extend: 'Кубоид: ЛКМ для начальной точки, ПКМ для расширения'
|
||||
sel_2d_polygon: 'Полигональное 2D выделение: ЛКМ/ПКМ для добавления точек.'
|
||||
sel_ellipsiod: 'Эллипсоидное выделение: ЛКМ - центр, ПКМ для расширения'
|
||||
sel_sphere: 'Сферическое выделение: ЛКМ - центр, ПКМ для установки радиуса'
|
||||
sel_cylindrical: 'Цилиндрическое выделение: ЛКМ - центр, ПКМ для расширения'
|
||||
sel_max: '%s0 максимум точек.'
|
||||
sel_fuzzy: 'Нечеткое выделение: ЛКМ, чтобы выбрать все условные блоки, ПКМ, чтобы добавить'
|
||||
sel_convex_polyhedral: 'Выпуклое многогранное выделение: ЛКМ - первая вершина, ПКМ для добавления больше.'
|
||||
sel_list: Для получения списка типов выделения используйте: //sel list
|
||||
sel_modes: 'Выберите один из перечисленных режимов ниже:'
|
||||
tips:
|
||||
tip_sel_list: 'Совет: Смотрите различные режимы выделения - //sel list'
|
||||
tip_select_connected: 'Совет: Выберите все подключенные блоки - //sel fuzzy'
|
||||
tip_set_pos1: 'Совет: Используйте Pos1 как шаблон - //set pos1'
|
||||
tip_farwand: 'Совет: Выберите удаленные точки - //farwand'
|
||||
tip_fast: 'Совет: Установить быстро и без отмены, используя //fast'
|
||||
tip_cancel: 'Совет: Вы можете //cancel от изменений в процессе'
|
||||
tip_mask: 'Совет: Задайте маску глобального назначения - /gmask'
|
||||
tip_mask_angle: 'Совет: Заменить верхний слой 3-20 блоков - //replace /-20:-3 bedrock'
|
||||
tip_set_linear: 'Совет: Установка блоков - //set #l3d:wood,bedrock'
|
||||
tip_surface_spread: 'Совет: Распространение плоской поверхности - //set #surfacespread:5:0:5:#existing'
|
||||
tip_set_hand: 'Совет: Используйте свою текущую руку - //set hand'
|
||||
tip_replace_id: 'Совет: Заменить только ID блока - //replace woodenstair #id:cobblestair'
|
||||
tip_replace_light: 'Совет: Удалить источники света - //replace #brightness:1:15 0'
|
||||
tip_tab_complete: 'Совет: Команда replace поддерживает автозаполение'
|
||||
tip_flip: 'Совет: Отобразить - //flip'
|
||||
tip_deform: 'Совет: Изменить - //deform'
|
||||
tip_transform: 'Совет: Установка преобразования - //gtransform'
|
||||
tip_copypaste: 'Совет: Вставка по клику - //br copypaste'
|
||||
tip_source_mask: 'Совет: Установить маску источника - /gsmask <mask>'
|
||||
tip_replace_marker: 'Совет: Замените блок с помощью полного буфера обмена - //replace wool #fullcopy'
|
||||
tip_paste: 'Совет: Вставить - //paste'
|
||||
tip_lazycopy: 'Совет: lazycopy быстрее'
|
||||
tip_download: 'Совет: Попробовать - //download'
|
||||
tip_rotate: 'Совет: Ориентация - //rotate'
|
||||
tip_copy_pattern: 'Совет: Для использования шаблона используйте #copy'
|
||||
tip_lazycut: 'Совет: Это безопаснее использовать //lazycut'
|
||||
tip_regen_0: 'Совет: Используйте биом - /regen [biome]'
|
||||
tip_regen_1: 'Совет: Используйте сид - /regen [biome] [seed]'
|
||||
tip_biome_pattern: 'Tip: The #biome[forest] pattern can be used in any command'
|
||||
tip_biome_mask: 'Tip: Restrict to a biome with the `$jungle` mask'
|
@ -1,298 +0,0 @@
|
||||
ınfo:
|
||||
prefıx: "&lS&lO >"
|
||||
fıle_deleted: "%s0 Başarıyla Silindi."
|
||||
schematıc_pastıng: "Schematic Yapıştırılıyor. Geri Alınamaz."
|
||||
lıghtıng_propogate_selectıon: "Aydınlatma %s0 Parçaya Ayrılmıştır. (Not: Aydınlatmayı Kaldırmak İçin: //removelight)"
|
||||
updated_lıghtıng_selectıon: "Aydınlatma %s0 Chunk Olarak Güncellendi. (Paketlerin Gönderilmesi Zaman Alabilir)"
|
||||
set_regıon: "Seçim, İzin Verilen Bölgenize Ayarlandı"
|
||||
worldedıt_command_limit: "Lütfen Mevcut İşleminiz Tamamlanıncaya Kadar Bekleyin"
|
||||
worldedıt_delayed: "FAWE İşleminizi Gerçekleştirirken Lütfen Bekleyin..."
|
||||
worldedıt_run: "Şuan Yürütülüyor: %s"
|
||||
worldedıt_complete: "Düzenleme Tamamlandı."
|
||||
requıre_selectıon_ın_mask: "Seçiminizden %s Tanesi Maskenizin İçinde Değil. Yalnızca İzin Verilen Bölgelerde Düzenlemeler Yapabilirsiniz."
|
||||
worldedıt_volume: "Hacim %current% Olamaz. Maksimum Hacim: %max%."
|
||||
worldedıt_ıteratıons: "%current% Kere Tekrar Edemezsin. Maksimum %max% Defa Tekrar Edebilirsin."
|
||||
worldedıt_unsafe: "Bu Komuta Erişim Engellendi"
|
||||
worldedıt_dangerous_worldedıt: "İşlenmiş Güvensiz Düzenleme: %s0 %s1 Tarafından"
|
||||
worldedıt_toggle_tıps_on: "FAWE İpuçları Devre Dışı Bırakıldı."
|
||||
worldedıt_toggle_tıps_off: "FAWE İpuçları Aktif Edildi."
|
||||
worldedıt_bypassed: "Şuanda FAWE Kısıtlamasını Atlıyor."
|
||||
worldedıt_unmasked: "FAWE Düzenlemeleriniz Artık Sınırsız."
|
||||
worldedıt_restrıcted: "FAWE Düzenlemeleriniz Artık Sınırlandırıldı."
|
||||
worldedıt_oom_admın: |-
|
||||
Mümkün Ayarlar:
|
||||
- //fast
|
||||
- Daha Küçük Düzenlemeler Yapın
|
||||
- Daha Fazla Bellek Ayırın
|
||||
- `max-memory-percent` Ayarını Kapatın
|
||||
compressed: "Geçmiş Sıkıştırldı. %s0b Kaydedildi. (%s1x Daha Küçük)"
|
||||
actıon_complete: "İşlem %s0 Saniyede Tamamlandı"
|
||||
error:
|
||||
worldedıt_extend: "Düzenlemeniz İzin Verilen Bölgenizin Dışına Çıkmış Olabilir."
|
||||
web_unauthorızed: "Sadece Yapılandırılmış Siteden Gelen Bağlantılara İzin Verilir: %s0"
|
||||
command_syntax: "Kullanımı: %s0"
|
||||
no_perm: "Bunun İçin Yetkin YOK: %s0"
|
||||
settıng_dısable: "Eksik Ayar: %s0"
|
||||
brush_not_found: "Kullanılabilir Fırçalar: %s0"
|
||||
brush_ıncompatıble: "Fırçalar Bu Sürüm İle Uyumlu Değil"
|
||||
schematıc_not_found: "Schematic Bulunamadı: %s0"
|
||||
no_regıon: "İzin Verilen Bölge YOK"
|
||||
no_mask: "Henüz Maske Ayarlamamışsın"
|
||||
not_player: "Dostum Bunun Icin Oyuncu Olmalisin!"
|
||||
player_not_found: "Oyuncu Bulunamadı: %s0"
|
||||
oom: |-
|
||||
[Kritik] Düşük Bellek Algılandı < 1%. Aşağıdaki İşlemleri Yapmalısınız:
|
||||
- WorldEdit Blok Yerleştirmesini Sonlandır
|
||||
- WorldEdit Geçmişini Temizle
|
||||
- Gereksiz Chunkları Sil
|
||||
- Yaratıkları Öldür
|
||||
- Çöpleri Topla
|
||||
Not: Düşük Belleğin Sebebi WorldEdit Olabilir !!
|
||||
worldedıt_some_faıls: "İzin Verilen Bölgenizin Dışında Olduğu İçin %s0 Blok Yerleştirilemedi."
|
||||
worldedıt_some_faıls_blockbag: "Eksik Bloklar: %s0"
|
||||
web:
|
||||
generatıng_lınk: "Yükleniyor: %s, Lütfen Bekleyin..."
|
||||
generatıng_lınk_faıled: "İndirme Linki Oluşturulurken Hata Oldu!"
|
||||
download_lınk: "%s"
|
||||
worldedıt:
|
||||
general:
|
||||
mask_dısabled: "Genel Maske Devre Dışı Bırakıldı"
|
||||
mask: "Genel Maske Ayarlandı"
|
||||
source_mask_dısabled: "Genel Kaynak Maskesi Devre Dışı Bırakıldı"
|
||||
source_mask: "Genel Kaynak Maskesi Ayarlandı"
|
||||
transform_dısabled: "Genel Dönüştürücü Devre Dışı Bırakıldı"
|
||||
transform: "Genel Dönüştürücü Ayarlandı"
|
||||
fast_enabled: "Hızlı Mod Aktifleştirildi. Geçmiş ve Düzenleme Kısıtlamaları Atlanacak."
|
||||
fast_dısabled: "Hızlı Mod Devre Dışı Bırakıldı"
|
||||
place_enabled: "Pozisyon 1'e YerleÅŸtirildi."
|
||||
place_dısabled: "Durduğun Bloğa Yerleştiriliyor."
|
||||
copy:
|
||||
command_copy: "%s0 Blok Kopyalandı."
|
||||
cut:
|
||||
command_cut_slow: "%s0 Blok Kesildi."
|
||||
command_cut_lazy: "Yapıştırılandan %s0 Blok Kaldırılacak"
|
||||
paste:
|
||||
command_paste: "Pano Yapıştırıldı: %s0"
|
||||
rotate:
|
||||
command_rotate: "Pano Döndürüldü"
|
||||
flip:
|
||||
command_flıpped: "Pano Çevirildi."
|
||||
regen:
|
||||
command_regen_0: "Bölge Yeniden Oluşturuldu."
|
||||
command_regen_1: "Bölge Yeniden Oluşturuldu."
|
||||
command_regen_2: "Bölge Yeniden Oluşturuldu."
|
||||
tree:
|
||||
command_tree: "%s0 Ağacı Oluşturuldu."
|
||||
command_pumpkın: "%s0 Kabak Yamaları Oluşturuldu."
|
||||
flora:
|
||||
command_flora: "%s0 Bitki Örtüsü Oluşturuldu."
|
||||
history:
|
||||
command_hıstory_clear: "Geçiş Temizlendi"
|
||||
command_redo_error: "Geriye Alma Eylemi Bulunamadı."
|
||||
command_hıstory_other_error: "%s0 Oturumu Bulunamadı."
|
||||
command_redo_success: "Geri Almayı Geri Alma Başarılı."
|
||||
command_undo_error: "Geri Alınacak Bir İşlem Bulunamadı."
|
||||
command_undo_success: "Geri Alma Başarılı."
|
||||
operation:
|
||||
operatıon: "İşlem Sıraya Alındı: (%s0)"
|
||||
selection:
|
||||
selectıon_wand: "Sol_Tıklama: 1. Pozisyonu Ayarlar; Sağ_Tıklama: 2. Pozisyonu Ayarlar"
|
||||
selectıon_wand_dısable: "Wand Devre Dışı Bırakıldı."
|
||||
selectıon_wand_enable: "Wand Aktifleştirildi."
|
||||
selectıon_chunk: "Chunk Seçildi: (%s0)"
|
||||
selectıon_chunks: "Chunk Seçildi: (%s0) - (%s1)"
|
||||
selectıon_contract: "Bölge %s0 Blok Taahhüt Edildi."
|
||||
selectıon_count: "%s0 Blok Sayıldı."
|
||||
selectıon_dıstr: "Toplam Blok: %s0"
|
||||
selectıon_expand: "Bölge %s0 Blok Genişletildi"
|
||||
selectıon_expand_vert: "Bölge %s0 Blok Genişletildi (Yukarıdan Aşağıya)"
|
||||
selectıon_ınset: "Bölge Girişi"
|
||||
selectıon_outset: "Bölge Başlangıcı"
|
||||
selectıon_shıft: "Bölge Kaydırıldı"
|
||||
selectıon_cleared: "Seçimler Temizlendi"
|
||||
navigation:
|
||||
navıgatıon_wand_error: "Dostum Gidecek Bir Yer YOK"
|
||||
anvil:
|
||||
world_ıs_loaded: "Dünya Yürütülürken Kullanılmamlıdır. Dünya Kaydını Sil, ya da Geçersiz Kılmak İçin -f Kullanın (Önce Kaydedin)"
|
||||
brush:
|
||||
brush_reset: "Fırçanı Sıfırla."
|
||||
brush_none: "Dostum Fırça Tutmuyorsun!"
|
||||
brush_scroll_action_set: "Kaydırma Eylemini %s0 Olarak Ayarla"
|
||||
brush_scroll_action_unset: "Kaydırma Eylemini Kaldır"
|
||||
brush_vısual_mode_set: "Görsel Modu %s0 Olarak Ayarla"
|
||||
brush_target_mode_set: "Hedef Modu %s0 Olarak Ayarla"
|
||||
brush_target_mask_set: "Hedef Maskesini %s0 Olarak Ayarla"
|
||||
brush_target_offset_set: "Hedef Ofsetini %s0 Olarak Ayarla"
|
||||
brush_equıpped: "Donatılmış Fırça: %s0"
|
||||
brush_try_other: |-
|
||||
Belki Daha Uygun Başka Fırçalar Vardır:
|
||||
- //br height [radius=5] [#clipboard|file=null] [rotation=0] [yscale=1.00]
|
||||
brush_copy: "Kopyalamak İçin Bir Nesnenin Tabanına Sol_Tıklayın, Yapıştırmak İçin Sağ_Tıklayın. Gerekirse Fırça Yarıçapını Arttırın."
|
||||
brush_heıght_ınvalıd: "Geçersiz Yükseklik Haritası Dosyası: (%s0)"
|
||||
brush_smooth: "Not: Çıkıntıları veya Mağaraları Yumuşatmak İstiyorsanız Harman Fırçasını Kullanın."
|
||||
brush_splıne: "Nokta Eklemek İçin Tıklayın, Bitirmek İçin Aynı Noktaya Tıklayın"
|
||||
brush_lıne_prımary: "%s0 Noktası Eklendi, Satırı Oluşturmak İçin Başka Bir Konuma Tıklayın"
|
||||
brush_lıne_secondary: "Delik Oluşturuldu"
|
||||
brush_splıne_prımary_2: "Pozisyon Eklendi, Katılmak İçin Aynı Noktaya Tıklayın!"
|
||||
brush_splıne_secondary_error: "Yeterince Pozisyon Ayarlanmadı!"
|
||||
brush_splıne_secondary: "Delik Oluşturuldu"
|
||||
brush_sıze: "Fırça Boyutu Ayarlandı"
|
||||
brush_range: "Fırça Menzili Ayarlandı"
|
||||
brush_mask_dısabled: "Fırça Maskesi Devre Dışı Bırakıldı"
|
||||
brush_mask: "Fırça Maskesi Ayarlandı"
|
||||
brush_source_mask_dısabled: "Fırça Kaynak Maskesi Devre Dışı Bırakıldı"
|
||||
brush_source_mask: "Fırça Kaynak Maskesi Ayarlandı"
|
||||
brush_transform_dısabled: "Fırça Dönüştürücü Devre Dışı Bırakıldı"
|
||||
brush_transform: "Fırça Dönüştürücü Ayarlandı"
|
||||
brush_materıal: "Fırça Malzemesi Ayarlandı"
|
||||
rollback:
|
||||
rollback_element: "Tamamlanmadı: %s0"
|
||||
tool:
|
||||
tool_ınspect: "%s0 Bağlı Aleti Kontrol Edin."
|
||||
tool_ınspect_ınfo: "%s0 Değiştirildi: %s1'den %s2 %s3 Önce"
|
||||
tool_ınspect_ınfo_footer: "Toplam: %s0 Değiştirildi."
|
||||
tool_none: "Elindeki Eşyaya Hiçbir Özellik Bağlı Değil."
|
||||
tool_ınfo: "Bilgi Aracı Bağlı: %s0."
|
||||
tool_tree: "Ağaç Aracı Bağlı: %s0."
|
||||
tool_tree_error: "%s0 Tipinde Ağaç Bulunamadı."
|
||||
tool_repl: "Blok Değiştirici Bağlı: %s0."
|
||||
tool_cycler: "Blok Verisi Değiştirici Bağlı: %s0."
|
||||
tool_flood_fıll: "Blok Dolgu Aleti Bağlı: %s0."
|
||||
tool_range_error: "Maksimum Mesafe: %s0."
|
||||
tool_radıus_error: "İzin Verilen Maksimum Mesafe: %s0."
|
||||
tool_deltree: "Ağaç Kaldırıcı Bağlı: %s0."
|
||||
tool_farwand: "FarWant Bağlı: %s0."
|
||||
tool_lrbuıld_bound: "Uzun Menzilli Yapı Aracı %s0 Bağlı."
|
||||
tool_lrbuıld_ınfo: "%s0 Ayarlamak İçin Sol_Tıklayın; %s1 Ayarlamak İçin Sağ_Tıklayın."
|
||||
superpıckaxe_enabled: "Süper Kazma Açıldı."
|
||||
superpıckaxe_dısabled: "Süper Kazma Kapatıldı."
|
||||
superpıckaxe_area_enabled: "Mod Değiştirildi. Bir Kazmaya Sol_Tıklayın. Kapatmak İçin: //"
|
||||
snapshot:
|
||||
snapshot_loaded: "%s0 Bellek Kopyası Yüklendi; Şuan Kuruluyor..."
|
||||
snapshot_set: "Bellek Kopyası Ayarlandı: %s0"
|
||||
snapshot_newest: "En Son Yayınlanan Bellek Kopyasını Kullanıyorsunuz."
|
||||
snapshot_lıst_header: "(%s0) Dünyası İçin Bellek Kopyaları:"
|
||||
snapshot_lıst_footer: "/snap use <SnapShot> ya da /snap use latest Komutlarını Kullanarak Bellek Kopyasını Değiştirebilirsin."
|
||||
biome:
|
||||
bıome_lıst_header: "Biyomlar (Sayfa: %s0/%s1):"
|
||||
bıome_changed: "Biyomlar %s0 Sütunda Değiştirildi."
|
||||
utility:
|
||||
kıll_success: "%s1 Yarıçapında %s0 Yaratık Öldürüldü."
|
||||
nothıng_confırmed: "Onay Bekleyen Hiçbir İşlemin YOK."
|
||||
page_footer: "Bir Sonraki Sayfa İçin: %s0"
|
||||
schematic:
|
||||
schematıc_format: "Kullanılabilir Formatlar: (İsim: Arama_İsmi)"
|
||||
schematıc_loaded: "%s0 Başarıyla Yüklendi. Yapıştırmak İçin: //paste"
|
||||
schematıc_saved: "%s0 Başarıyla Kaydedildi."
|
||||
schematıc_page: "Sayfa %s Olmak Zorunda"
|
||||
schematıc_none: "Böyle Bir Schematic Bulunamadı."
|
||||
schematıc_lıst: "Kullanılabilir Dosyalar (Dosya_Adı: Format) [%s0/%s1]:"
|
||||
schematıc_lıst_elem: " - %s0 - %s1"
|
||||
clipboard:
|
||||
clıpboard_urı_not_found: "%s0 Yüklü Değilsin"
|
||||
clıpboard_cleared: "Pano Temizlendi"
|
||||
clıpboard_ınvalıd_format: "Belirsiz Pano Formatı: %s0"
|
||||
visitor:
|
||||
vısıtor_block: "%s0 Blok Etkilendi"
|
||||
vısıtor_entıty: "%s0 Yaratık Etkilendi"
|
||||
vısıtor_flat: "%s0 Sütun Etkilendi"
|
||||
selector:
|
||||
selector_fuzzy_pos1: "Bölge Belirlendi ve Genişletildi: %s0 %s1"
|
||||
selector_fuzzy_pos2: "GeniÅŸletme Eklendi: %s0 %s1"
|
||||
selector_pos: "%s0 Konumu Artık: %s1 (%s2)"
|
||||
selector_center: "Merkez Ayarlandı: %s0 (%s1)"
|
||||
selector_radıus: "Yarıçap Ayarlandı: %s0 (%s1)"
|
||||
selector_expanded: "Bölge Genişletildi: %s0 (%s1)"
|
||||
selector_ınvalıd_coordınates: "Bilinmeyen Koordinatlar: %s0"
|
||||
selector_already_set: "Pozisyon Zaten Ayarlandı."
|
||||
selector_set_default: "Varsayılan Bölge Seçiciniz: %s0"
|
||||
timezone:
|
||||
tımezone_set: "Bu Oturum İçin Belirlenen Saat Dilimi: %s0"
|
||||
tımezone_dısplay: "Bu Saat Dilimindeki Geçerli Saat: %s0"
|
||||
command:
|
||||
command_ınvalıd_syntax: "Komut Düzgün Kullanılmadı."
|
||||
help:
|
||||
command_clarıfyıng_bracket: "%s0 İçin Açıklama Ekini Belirlendi"
|
||||
help_suggest: "%s0 Bulunamadı. Belki Bunlardan Biri İşe Yarar: %s1 ?"
|
||||
help_header_categorıes: "Komut Türleri"
|
||||
help_header_subcommands: "Alt Komutlar"
|
||||
help_header_command: "Yardım: %s0"
|
||||
help_ıtem_allowed: "%s0 - %s1"
|
||||
help_ıtem_denıed: "%s0 - %s1"
|
||||
help_header: "Yardım: Sayfa %s0/%s1"
|
||||
help_footer: "Wiki: https://git.io/vSKE5"
|
||||
progress:
|
||||
progress_message: "%s1/%s0 (%s2%) @%s3cps %s4s Kaldı"
|
||||
progress_fınıshed: "[ TAMAMLANDI! ]"
|
||||
cancel:
|
||||
worldedıt_cancel_count: "%s0 Düzenleme İptal Edildi."
|
||||
worldedıt_cancel_reason_confırm: "Seçiminiz Çok Büyük (%s0 -> %s1). //confirm Kullanarak %s2 İşlemini Onaylayabilirsiniz"
|
||||
worldedıt_cancel_reason: "WorldEdit İşleminiz İptal Edildi: %s0."
|
||||
worldedıt_cancel_reason_manual: "Elle İptal Edildi"
|
||||
worldedıt_cancel_reason_low_memory: "Düşük Bellek"
|
||||
worldedıt_cancel_reason_max_changes: "Çok Fazla Blok Değiştirildi"
|
||||
worldedıt_cancel_reason_max_checks: "Çok Fazla Blok Denemesi Var"
|
||||
worldedıt_cancel_reason_max_tıles: "Çok Fazla Blok Durumu Var"
|
||||
worldedıt_cancel_reason_max_entıtıes: "Çok Fazla Yaratık Var"
|
||||
worldedıt_cancel_reason_max_ıteratıons: "Maksimum Yenileme"
|
||||
worldedıt_cancel_reason_outsıde_regıon: "İzin Verilen Bölge Dışında. (Esgeçmek İçin: /wea, ya da `region-restrictions` Bölümünü config.yml'den Kapatın)"
|
||||
worldedıt_cancel_reason_no_regıon: "İzin Verilen Bölge YOK. (Esgeçmek İçin: /wea, ya da `region-restrictions` Bölümünü config.yml'den Kapatın)"
|
||||
worldedıt_faıled_load_chunk: "Bazı Chunkların Yüklemesi Atlandı: %s0;%s1 chunk-wait Süresini Arttırmayı Deneyin."
|
||||
outside world:
|
||||
worldedıt_cancel_reason_outsıde_world: Cancel
|
||||
navigation:
|
||||
ascend_faıl: "Yukarıda Boş Nokta YOK."
|
||||
ascended_plural: "Yükseltilen Seviye: %s0"
|
||||
ascended_sıngular: "Bir Seviyeye Yükseltildi."
|
||||
unstuck: "HOP Buradayım!"
|
||||
descend_faıl: "Altında Serbest Nokta YOK."
|
||||
descend_plural: "Ä°ndirilen Seviye: %s0"
|
||||
descend_sıngular: "Bir Seviyeye İndirildi."
|
||||
whoosh: "Amaniiinnn!"
|
||||
poof: "Amaniiinnn!"
|
||||
thru_faıl: "Dostum Önünde Serbest Nokta YOK."
|
||||
no_block: "Görünürde ya da Uzaklarda Blok Yok!"
|
||||
up_faıl: "Dostum Galiba Tepende Bir Blok Var."
|
||||
selection:
|
||||
sel_cuboıd: "Küboid: 1. Nokta İçin Sol_Tıklayın, 2. Nokta İçin Sağ_Tıklayın"
|
||||
sel_cuboıd_extend: "Küboid: Başlangıç Noktası İçin Sol_Tıklayın, Uzatmak İçin Sağ_Tıklayın"
|
||||
sel_2d_polygon: "2D Çokgen Seçici: Nokta Eklemek İçin Sağ ya da Sol_Tıklayın."
|
||||
sel_ellıpsıod: "Elipsoit Seçici: Sol_Tıklama=Merkez, Uzatmak İçin Sağ_Tıklayın"
|
||||
sel_sphere: "Küre Seçici: Sol_Tıklama=Merkez&/, Yarıçapı Ayarlamak İçin Sağ_Tıklayın"
|
||||
sel_cylındrıcal: "Silindirik Seçici: Sol_Tıklama=Merkez, Uzatmak İçin Sağ Tıklayın."
|
||||
sel_max: "Maksimum Puan: %s0."
|
||||
sel_fuzzy: "Bulanık Seçici: Şarta Bağlı Tüm Blokları Seçmek İçin Sol_Tıklayın, Eklemek İçin Sağ_Tıklayın. Hava Boşluğunu Seçmek İçin: //pos1."
|
||||
sel_convex_polyhedral: "Konveks Çokyüzlü Seçici: Sok_Tıklama=İlk_Vertex, Daha Fazlası İçin Sağ Tıklayın."
|
||||
sel_lıst: "Seçim Türlerinin Listesi İçin: //sel list"
|
||||
sel_modes: "Aşağıdaki Modlardan Birini Seçin:"
|
||||
tips:
|
||||
tıp_sel_lıst: "Hatırlatma: Farklı Seçim Modlarını Görmek İçin: //sel list"
|
||||
tıp_select_connected: "Hatırlatma: Bağlı Tüm Blokları Seçmek İçin: //sel fuzzy"
|
||||
tıp_set_pos1: "Hatırlatma: 1. Pozisyonu Desen Olarak Ayarlamak İçin: //set pos1"
|
||||
tıp_farwand: "Hatırlatma: Uzak Noktaları Seçmek İçin: //farwand"
|
||||
tıp_lazycut: "Hatırlatma: Bu Komutu Kullanmak Daha Güvenli: //lazycut"
|
||||
tıp_fast: "Hatırlatma: Hızlıca Geri Almak İçin: //fast"
|
||||
tıp_cancel: "Hatırlatma: Devam Eden Düzenlemeyi İptal Etmek İçin: //cancel"
|
||||
tıp_mask: "Hatırlatma: Genel Hedef Maskesi Ayarlamak İçin: /gmask"
|
||||
tıp_mask_angle: "Hatırlatma: 3-20 Bloktan Yukarısını Değiştirmek İçin: //replace /[-20][-3] bedrock"
|
||||
tıp_set_lınear: "Hatırlatma: Blokları Doğrusal Olarak Ayarlamak İçin: //set #l3d[wood,bedrock]"
|
||||
tıp_surface_spread: "Hatırlatma: Düz Yüzeye Yaymak İçin: //set #surfacespread[5][0][5][#existing]"
|
||||
tıp_set_hand: "Hatırlatma: Şuanki Elini Kullanmak İçin: //set hand"
|
||||
tıp_replace_ıd: "Hatırlatma: Blok ID'sini Değiştirmek İçin: //replace woodenstair #id[cobblestair]"
|
||||
tıp_replace_lıght: "Hatırlatma: Işık Kaynaklarını Kaldırmak İçin: //replace #brightness[1][15] 0"
|
||||
tıp_tab_complete: "Hatırlatma: Replace Komutu Sekme Tamamlamayı Destekler"
|
||||
tıp_flıp: "Hatırlatma: Ayna İçin: //flip"
|
||||
tıp_deform: "Hatırlatma: Yeniden Şekillendirmek İçin: //deform"
|
||||
tıp_transform: "Hatırlatma: Dönüşüm Yapmak İçin: //gtransform"
|
||||
tıp_copypaste: "Hatırlatma: Tıklayarak Yapıştırmak İçin: //br copypaste"
|
||||
tıp_source_mask: "Hatırlatma: Kaynak Maskesi Ayarlamak İçin: /gsmask <mask>"
|
||||
tıp_replace_marker: "Hatırlatma: Tamamen Yerleştirmek İçin: //replace wool #fullcopy"
|
||||
tıp_paste: "Hatırlatma: Yapıştırmak İçin: //paste"
|
||||
tıp_lazycopy: "Hatırlatma: &lLazyCopy Daha Hızlıdır"
|
||||
tıp_download: "Hatırlatma: İndirmek İçin: //download"
|
||||
tıp_rotate: "Hatırlatma: Yönlendirmek İçin: //rotate"
|
||||
tıp_copy_pattern: "Hatırlatma: Desen Olarak Kullanmak İçin: #copy"
|
||||
tıp_regen_0: "Hatırlatma: Biyomları Kullanmak İçin: /regen <Biyom>"
|
||||
tıp_regen_1: "Hatırlatma: Biyom Değeri İçin: /regen <Biyom> <Değer>"
|
||||
tıp_bıome_pattern: "Hatırlatma: #biome[forest] Deseni Herhangi Bir Komutta Kullanılabilir"
|
||||
tıp_bıome_mask: "Hatırlatma: `$jungle` Maskesini Bir Biyoma Kısıtla"
|
@ -5,6 +5,7 @@ applyPlatformAndCoreConfiguration()
|
||||
applyShadowConfiguration()
|
||||
|
||||
apply(plugin = "fabric-loom")
|
||||
apply(plugin = "java-library")
|
||||
|
||||
val minecraftVersion = "1.15.2"
|
||||
val yarnMappings = "1.15.2+build.14:v2"
|
||||
|
@ -1,19 +1,23 @@
|
||||
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
|
||||
import net.minecraftforge.gradle.common.util.RunConfig
|
||||
import net.minecraftforge.gradle.userdev.UserDevExtension
|
||||
import net.minecraftforge.gradle.mcp.task.GenerateSRG
|
||||
import net.minecraftforge.gradle.userdev.UserDevExtension
|
||||
import net.minecraftforge.gradle.userdev.tasks.RenameJarInPlace
|
||||
|
||||
plugins {
|
||||
id("net.minecraftforge.gradle")
|
||||
`java-library`
|
||||
}
|
||||
|
||||
applyPlatformAndCoreConfiguration()
|
||||
applyShadowConfiguration()
|
||||
|
||||
val minecraftVersion = "1.14.4"
|
||||
val mappingsMinecraftVersion = "1.14.3"
|
||||
val forgeVersion = "28.1.0"
|
||||
val minecraftVersion = "1.16.1"
|
||||
val nextMajorMinecraftVersion: String = minecraftVersion.split('.').let { (useless, major) ->
|
||||
"$useless.${major.toInt() + 1}"
|
||||
}
|
||||
val mappingsMinecraftVersion = "1.16"
|
||||
val forgeVersion = "32.0.92"
|
||||
|
||||
configurations.all {
|
||||
resolutionStrategy {
|
||||
@ -22,8 +26,8 @@ configurations.all {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
"compile"(project(":worldedit-core"))
|
||||
"compile"("org.apache.logging.log4j:log4j-slf4j-impl:2.11.2")
|
||||
"api"(project(":worldedit-core"))
|
||||
"implementation"("org.apache.logging.log4j:log4j-slf4j-impl:2.11.2")
|
||||
|
||||
"minecraft"("net.minecraftforge:forge:$minecraftVersion-$forgeVersion")
|
||||
}
|
||||
@ -31,7 +35,7 @@ dependencies {
|
||||
configure<UserDevExtension> {
|
||||
mappings(mapOf(
|
||||
"channel" to "snapshot",
|
||||
"version" to "20190913-$mappingsMinecraftVersion"
|
||||
"version" to "20200514-$mappingsMinecraftVersion"
|
||||
))
|
||||
|
||||
accessTransformer(file("src/main/resources/META-INF/accesstransformer.cfg"))
|
||||
@ -57,40 +61,44 @@ configure<BasePluginConvention> {
|
||||
|
||||
tasks.named<Copy>("processResources") {
|
||||
// this will ensure that this task is redone when the versions change.
|
||||
inputs.property("version", project.ext["internalVersion"])
|
||||
inputs.property("forgeVersion", forgeVersion)
|
||||
val properties = mapOf(
|
||||
"version" to project.ext["internalVersion"],
|
||||
"forgeVersion" to forgeVersion,
|
||||
"minecraftVersion" to minecraftVersion,
|
||||
"nextMajorMinecraftVersion" to nextMajorMinecraftVersion
|
||||
)
|
||||
properties.forEach { (key, value) ->
|
||||
inputs.property(key, value)
|
||||
}
|
||||
|
||||
// replace stuff in mcmod.info, nothing else
|
||||
from(sourceSets["main"].resources.srcDirs) {
|
||||
include("META-INF/mods.toml")
|
||||
|
||||
// replace version and mcversion
|
||||
expand(
|
||||
"version" to project.ext["internalVersion"],
|
||||
"forgeVersion" to forgeVersion
|
||||
)
|
||||
expand(properties)
|
||||
}
|
||||
|
||||
// copy everything else except the mcmod.info
|
||||
from(sourceSets["main"].resources.srcDirs) {
|
||||
exclude("META-INF/mods.toml")
|
||||
}
|
||||
|
||||
// copy from -core resources as well
|
||||
from(project(":worldedit-core").tasks.named("processResources"))
|
||||
}
|
||||
|
||||
tasks.named<Jar>("jar") {
|
||||
manifest {
|
||||
attributes("Class-Path" to CLASSPATH,
|
||||
"WorldEdit-Version" to project.version)
|
||||
}
|
||||
}
|
||||
addJarManifest(includeClasspath = false)
|
||||
|
||||
tasks.named<ShadowJar>("shadowJar") {
|
||||
dependencies {
|
||||
relocate("org.slf4j", "com.sk89q.worldedit.slf4j")
|
||||
relocate("org.apache.logging.slf4j", "com.sk89q.worldedit.log4jbridge")
|
||||
relocate("org.antlr.v4", "com.sk89q.worldedit.antlr4")
|
||||
|
||||
include(dependency("org.slf4j:slf4j-api"))
|
||||
include(dependency("org.apache.logging.log4j:log4j-slf4j-impl"))
|
||||
include(dependency("org.antlr:antlr4-runtime"))
|
||||
include(dependency("de.schlichtherle:truezip"))
|
||||
include(dependency("net.java.truevfs:truevfs-profile-default_2.13"))
|
||||
include(dependency("org.mozilla:rhino-runtime"))
|
||||
|
@ -1,4 +1,5 @@
|
||||
applyLibrariesConfiguration()
|
||||
constrainDependenciesToLibsCore()
|
||||
|
||||
repositories {
|
||||
maven {
|
||||
@ -6,6 +7,7 @@ repositories {
|
||||
url = uri("https://hub.spigotmc.org/nexus/content/repositories/snapshots/")
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
"shade"("net.kyori:text-adapter-bukkit:${Versions.TEXT_EXTRAS}")
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
applyLibrariesConfiguration()
|
||||
constrainDependenciesToLibsCore()
|
||||
|
||||
repositories {
|
||||
maven {
|
||||
@ -8,4 +9,4 @@ repositories {
|
||||
}
|
||||
dependencies {
|
||||
"shade"("net.kyori:text-adapter-spongeapi:${Versions.TEXT_EXTRAS}")
|
||||
}
|
||||
}
|
||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren