mirror of
https://github.com/CitizensDev/Citizens2.git
synced 2024-06-26 22:44:57 +02:00
Make /npc shop delete (name) output a message, send head yaw packet to just the viewer rather than cached nearby players, bump translations
This commit is contained in:
parent
a9b85961a9
commit
70ac5c9193
|
@ -67,6 +67,7 @@ import org.bukkit.util.Vector;
|
||||||
import com.google.common.base.Joiner;
|
import com.google.common.base.Joiner;
|
||||||
import com.google.common.base.Predicates;
|
import com.google.common.base.Predicates;
|
||||||
import com.google.common.collect.ArrayListMultimap;
|
import com.google.common.collect.ArrayListMultimap;
|
||||||
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.collect.Iterables;
|
import com.google.common.collect.Iterables;
|
||||||
import com.google.common.collect.ListMultimap;
|
import com.google.common.collect.ListMultimap;
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
|
@ -484,16 +485,12 @@ public class EventListen implements Listener {
|
||||||
|
|
||||||
private void onNPCPlayerLinkToPlayer(NPCLinkToPlayerEvent event) {
|
private void onNPCPlayerLinkToPlayer(NPCLinkToPlayerEvent event) {
|
||||||
Entity tracker = event.getNPC().getEntity();
|
Entity tracker = event.getNPC().getEntity();
|
||||||
Bukkit.getScheduler().scheduleSyncDelayedTask(CitizensAPI.getPlugin(), () -> {
|
|
||||||
if (!tracker.isValid() || !event.getPlayer().isValid())
|
|
||||||
return;
|
|
||||||
|
|
||||||
NMS.sendPositionUpdateNearby(tracker, false, null, null, NMS.getHeadYaw(tracker));
|
|
||||||
}, Setting.TABLIST_REMOVE_PACKET_DELAY.asTicks() + 1);
|
|
||||||
boolean resetYaw = event.getNPC().data().get(NPC.Metadata.RESET_YAW_ON_SPAWN,
|
boolean resetYaw = event.getNPC().data().get(NPC.Metadata.RESET_YAW_ON_SPAWN,
|
||||||
Setting.RESET_YAW_ON_SPAWN.asBoolean());
|
Setting.RESET_YAW_ON_SPAWN.asBoolean());
|
||||||
boolean sendTabRemove = NMS.sendTabListAdd(event.getPlayer(), (Player) tracker);
|
boolean sendTabRemove = NMS.sendTabListAdd(event.getPlayer(), (Player) tracker);
|
||||||
if (!sendTabRemove || !event.getNPC().shouldRemoveFromTabList()) {
|
if (!sendTabRemove || !event.getNPC().shouldRemoveFromTabList()) {
|
||||||
|
NMS.sendPositionUpdate(tracker, ImmutableList.of(event.getPlayer()), false, null, null,
|
||||||
|
NMS.getHeadYaw(tracker));
|
||||||
if (resetYaw) {
|
if (resetYaw) {
|
||||||
Bukkit.getScheduler().scheduleSyncDelayedTask(CitizensAPI.getPlugin(),
|
Bukkit.getScheduler().scheduleSyncDelayedTask(CitizensAPI.getPlugin(),
|
||||||
() -> PlayerAnimation.ARM_SWING.play((Player) tracker, event.getPlayer()));
|
() -> PlayerAnimation.ARM_SWING.play((Player) tracker, event.getPlayer()));
|
||||||
|
@ -505,6 +502,8 @@ public class EventListen implements Listener {
|
||||||
return;
|
return;
|
||||||
|
|
||||||
NMS.sendTabListRemove(event.getPlayer(), (Player) tracker);
|
NMS.sendTabListRemove(event.getPlayer(), (Player) tracker);
|
||||||
|
NMS.sendPositionUpdate(tracker, ImmutableList.of(event.getPlayer()), false, null, null,
|
||||||
|
NMS.getHeadYaw(tracker));
|
||||||
if (resetYaw) {
|
if (resetYaw) {
|
||||||
PlayerAnimation.ARM_SWING.play((Player) tracker, event.getPlayer());
|
PlayerAnimation.ARM_SWING.play((Player) tracker, event.getPlayer());
|
||||||
}
|
}
|
||||||
|
|
|
@ -2729,11 +2729,10 @@ public class NPCCommands {
|
||||||
throw new CommandUsageException();
|
throw new CommandUsageException();
|
||||||
|
|
||||||
if (action.equalsIgnoreCase("delete")) {
|
if (action.equalsIgnoreCase("delete")) {
|
||||||
if (args.argsLength() != 3)
|
|
||||||
throw new CommandUsageException();
|
|
||||||
if (!shop.canEdit(npc, sender))
|
if (!shop.canEdit(npc, sender))
|
||||||
throw new NoPermissionsException();
|
throw new NoPermissionsException();
|
||||||
shops.deleteShop(shop);
|
shops.deleteShop(shop);
|
||||||
|
Messaging.sendTr(sender, Messages.SHOP_DELETED, shop.getName());
|
||||||
} else if (action.equalsIgnoreCase("edit")) {
|
} else if (action.equalsIgnoreCase("edit")) {
|
||||||
if (!shop.canEdit(npc, sender))
|
if (!shop.canEdit(npc, sender))
|
||||||
throw new NoPermissionsException();
|
throw new NoPermissionsException();
|
||||||
|
|
|
@ -268,17 +268,11 @@ public class CitizensNPC extends AbstractNPC {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setName(String name) {
|
protected void setNameInternal(String name) {
|
||||||
super.setName(name);
|
super.setNameInternal(name);
|
||||||
|
|
||||||
if (requiresNameHologram() && !hasTrait(HologramTrait.class)) {
|
if (requiresNameHologram() && !hasTrait(HologramTrait.class)) {
|
||||||
addTrait(HologramTrait.class);
|
addTrait(HologramTrait.class);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void setNameInternal(String name) {
|
|
||||||
super.setNameInternal(name);
|
|
||||||
updateCustomName();
|
updateCustomName();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -263,7 +263,7 @@ public class CommandTrait extends Trait {
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Runnable task = new Runnable() {
|
Runnable task = new Runnable() {
|
||||||
Boolean charged = null;
|
boolean failedCharge;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
@ -306,7 +306,7 @@ public class CommandTrait extends Trait {
|
||||||
}
|
}
|
||||||
runCommand(player, hand, command);
|
runCommand(player, hand, command);
|
||||||
if (executionMode == ExecutionMode.SEQUENTIAL || executionMode == ExecutionMode.CYCLE
|
if (executionMode == ExecutionMode.SEQUENTIAL || executionMode == ExecutionMode.CYCLE
|
||||||
|| (charged != null && !charged))
|
|| failedCharge)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -319,17 +319,17 @@ public class CommandTrait extends Trait {
|
||||||
playerTracking.put(player.getUniqueId(), info = new PlayerNPCCommand());
|
playerTracking.put(player.getUniqueId(), info = new PlayerNPCCommand());
|
||||||
}
|
}
|
||||||
Transaction charge = null;
|
Transaction charge = null;
|
||||||
if (charged == null) {
|
if (!failedCharge) {
|
||||||
charge = chargeCommandCosts(player, hand, command);
|
charge = chargeCommandCosts(player, hand, command);
|
||||||
if (!charge.isPossible()) {
|
if (!charge.isPossible()) {
|
||||||
charged = false;
|
failedCharge = true;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (info != null && !info.canUse(CommandTrait.this, player, hand, command))
|
if (info != null && !info.canUse(CommandTrait.this, player, hand, command))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (charged == null) {
|
if (!failedCharge) {
|
||||||
charge.run();
|
charge.run();
|
||||||
}
|
}
|
||||||
if (temporaryPermissions.size() > 0) {
|
if (temporaryPermissions.size() > 0) {
|
||||||
|
|
|
@ -20,6 +20,7 @@ import org.bukkit.entity.EntityType;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
|
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.joml.Vector3d;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
|
@ -359,8 +360,8 @@ public class HologramTrait extends Trait {
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (line.ticks > 0 && --line.ticks == 0) {
|
if (line.ticks > 0 && --line.ticks == 0) {
|
||||||
line.removeNPC();
|
lines.remove(i--).removeNPC();
|
||||||
lines.remove(i--);
|
;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (updatePosition && !useDisplayEntities) {
|
if (updatePosition && !useDisplayEntities) {
|
||||||
|
@ -387,9 +388,9 @@ public class HologramTrait extends Trait {
|
||||||
root.removeKey("lines");
|
root.removeKey("lines");
|
||||||
int i = 0;
|
int i = 0;
|
||||||
for (HologramLine line : lines) {
|
for (HologramLine line : lines) {
|
||||||
if (!line.persist) {
|
if (!line.persist)
|
||||||
continue;
|
continue;
|
||||||
}
|
|
||||||
root.setString("lines." + i + ".text", line.text);
|
root.setString("lines." + i + ".text", line.text);
|
||||||
root.setDouble("lines." + i + ".margin.top", line.mt);
|
root.setDouble("lines." + i + ".margin.top", line.mt);
|
||||||
root.setDouble("lines." + i + ".margin.bottom", line.mb);
|
root.setDouble("lines." + i + ".margin.bottom", line.mb);
|
||||||
|
@ -465,10 +466,49 @@ public class HologramTrait extends Trait {
|
||||||
reloadLineHolograms();
|
reloadLineHolograms();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public abstract class AbstractRenderer implements HologramRenderer {
|
||||||
|
protected NPC npc;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void destroy() {
|
||||||
|
if (npc != null) {
|
||||||
|
npc.destroy();
|
||||||
|
npc = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void render(Entity base, Vector3d offset) {
|
||||||
|
if (npc == null)
|
||||||
|
return;
|
||||||
|
npc.getEntity().teleport(base.getLocation().clone().add(offset.x, offset.y, offset.z),
|
||||||
|
TeleportCause.PLUGIN);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected abstract NPC spawnNPC(Entity base, String text, Vector3d offset);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateText(Entity base, String text) {
|
||||||
|
if (npc == null)
|
||||||
|
return;
|
||||||
|
NMS.setCustomName(base, text, text);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class ArmorstandRenderer extends AbstractRenderer {
|
||||||
|
@Override
|
||||||
|
protected NPC spawnNPC(Entity base, String name, Vector3d offset) {
|
||||||
|
NPC hologramNPC = registry.createNPC(EntityType.ARMOR_STAND, name);
|
||||||
|
hologramNPC.getOrAddTrait(ArmorStandTrait.class).setAsHelperEntityWithName(npc);
|
||||||
|
return hologramNPC;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private class HologramLine implements Function<Player, String> {
|
private class HologramLine implements Function<Player, String> {
|
||||||
NPC hologram;
|
NPC hologram;
|
||||||
double mb, mt;
|
double mb, mt;
|
||||||
boolean persist;
|
boolean persist;
|
||||||
|
HologramRenderer renderer;
|
||||||
String text;
|
String text;
|
||||||
int ticks;
|
int ticks;
|
||||||
|
|
||||||
|
@ -496,6 +536,7 @@ public class HologramTrait extends Trait {
|
||||||
return;
|
return;
|
||||||
|
|
||||||
hologram.destroy();
|
hologram.destroy();
|
||||||
|
renderer = null;
|
||||||
hologram = null;
|
hologram = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -503,6 +544,7 @@ public class HologramTrait extends Trait {
|
||||||
this.text = text == null ? "" : text;
|
this.text = text == null ? "" : text;
|
||||||
|
|
||||||
if (hologram != null) {
|
if (hologram != null) {
|
||||||
|
// renderer.updateText(hologram, text);
|
||||||
String name = Placeholders.replace(text, null, npc);
|
String name = Placeholders.replace(text, null, npc);
|
||||||
hologram.setName(name);
|
hologram.setName(name);
|
||||||
if (Placeholders.containsPlaceholders(text)) {
|
if (Placeholders.containsPlaceholders(text)) {
|
||||||
|
@ -514,6 +556,29 @@ public class HologramTrait extends Trait {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void spawn(NPC npc, String text, Vector3d offset) {
|
||||||
|
// hologram = renderer.spawn(npc, text, offset);
|
||||||
|
if (!hologram.hasTrait(ClickRedirectTrait.class)) {
|
||||||
|
hologram.addTrait(new ClickRedirectTrait(npc));
|
||||||
|
}
|
||||||
|
hologram.data().set(NPC.Metadata.HOLOGRAM_FOR, npc.getUniqueId().toString());
|
||||||
|
if (Setting.PACKET_HOLOGRAMS.asBoolean()) {
|
||||||
|
hologram.addTrait(PacketNPC.class);
|
||||||
|
}
|
||||||
|
if (viewRange != -1) {
|
||||||
|
hologram.data().set(NPC.Metadata.TRACKING_RANGE, viewRange);
|
||||||
|
} else if (npc.data().has(NPC.Metadata.TRACKING_RANGE)) {
|
||||||
|
hologram.data().set(NPC.Metadata.TRACKING_RANGE, npc.data().get(NPC.Metadata.TRACKING_RANGE));
|
||||||
|
}
|
||||||
|
hologram.spawn(npc.getEntity().getLocation().add(offset.x, offset.y, offset.z));
|
||||||
|
if (customHologramSupplier != null) {
|
||||||
|
hologram.data().set(NPC.Metadata.HOLOGRAM_LINE_SUPPLIER,
|
||||||
|
(Function<Player, String>) p -> customHologramSupplier.apply(text, p));
|
||||||
|
} else if (Placeholders.containsPlaceholders(text)) {
|
||||||
|
hologram.data().set(NPC.Metadata.HOLOGRAM_LINE_SUPPLIER, this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void spawnNPC(double height) {
|
public void spawnNPC(double height) {
|
||||||
String name = Placeholders.replace(text, null, npc);
|
String name = Placeholders.replace(text, null, npc);
|
||||||
hologram = createHologram(name, height);
|
hologram = createHologram(name, height);
|
||||||
|
@ -526,6 +591,49 @@ public class HologramTrait extends Trait {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static interface HologramRenderer {
|
||||||
|
void destroy();
|
||||||
|
|
||||||
|
void render(Entity base, Vector3d offset);
|
||||||
|
|
||||||
|
void updateText(Entity base, String text);
|
||||||
|
}
|
||||||
|
|
||||||
|
public class InteractionRenderer extends AbstractRenderer {
|
||||||
|
public void render(Entity base, String name, Vector3d offset) {
|
||||||
|
if (this.npc.getEntity().getVehicle() == null) {
|
||||||
|
HologramTrait.this.npc.getEntity().addPassenger(this.npc.getEntity());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected NPC spawnNPC(Entity base, String name, Vector3d offset) {
|
||||||
|
return registry.createNPC(EntityType.INTERACTION, name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class ItemRenderer extends AbstractRenderer {
|
||||||
|
@Override
|
||||||
|
protected NPC spawnNPC(Entity base, String name, Vector3d offset) {
|
||||||
|
Matcher itemMatcher = ITEM_MATCHER.matcher(name);
|
||||||
|
Material item = SpigotUtil.isUsing1_13API() ? Material.matchMaterial(itemMatcher.group(1), false)
|
||||||
|
: Material.matchMaterial(itemMatcher.group(1));
|
||||||
|
ItemStack itemStack = new ItemStack(item, 1);
|
||||||
|
NPC itemNPC = registry.createNPCUsingItem(EntityType.DROPPED_ITEM, "", itemStack);
|
||||||
|
itemNPC.data().setPersistent(NPC.Metadata.NAMEPLATE_VISIBLE, false);
|
||||||
|
if (itemMatcher.group(2) != null) {
|
||||||
|
if (itemMatcher.group(2).charAt(1) == '{') {
|
||||||
|
Bukkit.getUnsafe().modifyItemStack(itemStack, itemMatcher.group(2).substring(1));
|
||||||
|
itemNPC.setItemProvider(() -> itemStack);
|
||||||
|
} else {
|
||||||
|
itemNPC.getOrAddTrait(ScoreboardTrait.class)
|
||||||
|
.setColor(Util.matchEnum(ChatColor.values(), itemMatcher.group(2).substring(1)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return itemNPC;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static class TabCompletions implements CompletionsProvider {
|
public static class TabCompletions implements CompletionsProvider {
|
||||||
@Override
|
@Override
|
||||||
public Collection<String> getCompletions(CommandContext args, CommandSender sender, NPC npc) {
|
public Collection<String> getCompletions(CommandContext args, CommandSender sender, NPC npc) {
|
||||||
|
@ -540,5 +648,18 @@ public class HologramTrait extends Trait {
|
||||||
private static List<String> LINE_ARGS = ImmutableList.of("set", "remove", "margintop", "marginbottom");
|
private static List<String> LINE_ARGS = ImmutableList.of("set", "remove", "margintop", "marginbottom");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class TextDisplayRenderer extends AbstractRenderer {
|
||||||
|
public void render(Entity base, String name, Vector3d offset) {
|
||||||
|
if (this.npc.getEntity().getVehicle() == null) {
|
||||||
|
HologramTrait.this.npc.getEntity().addPassenger(this.npc.getEntity());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected NPC spawnNPC(Entity base, String name, Vector3d offset) {
|
||||||
|
return registry.createNPC(EntityType.TEXT_DISPLAY, name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static Pattern ITEM_MATCHER = Pattern.compile("<item:(.*?)([:].*?)?>");
|
private static Pattern ITEM_MATCHER = Pattern.compile("<item:(.*?)([:].*?)?>");
|
||||||
}
|
}
|
||||||
|
|
|
@ -69,8 +69,8 @@ import net.citizensnpcs.trait.shop.NPCShopAction;
|
||||||
import net.citizensnpcs.trait.shop.NPCShopAction.GUI;
|
import net.citizensnpcs.trait.shop.NPCShopAction.GUI;
|
||||||
import net.citizensnpcs.trait.shop.NPCShopAction.Transaction;
|
import net.citizensnpcs.trait.shop.NPCShopAction.Transaction;
|
||||||
import net.citizensnpcs.trait.shop.PermissionAction;
|
import net.citizensnpcs.trait.shop.PermissionAction;
|
||||||
import net.citizensnpcs.trait.shop.StoredShops;
|
|
||||||
import net.citizensnpcs.trait.shop.PermissionAction.PermissionActionGUI;
|
import net.citizensnpcs.trait.shop.PermissionAction.PermissionActionGUI;
|
||||||
|
import net.citizensnpcs.trait.shop.StoredShops;
|
||||||
import net.citizensnpcs.util.InventoryMultiplexer;
|
import net.citizensnpcs.util.InventoryMultiplexer;
|
||||||
import net.citizensnpcs.util.Util;
|
import net.citizensnpcs.util.Util;
|
||||||
|
|
||||||
|
@ -823,9 +823,8 @@ public class ShopTrait extends Trait {
|
||||||
currentPage = newPage;
|
currentPage = newPage;
|
||||||
NPCShopPage page = shop.pages.get(currentPage);
|
NPCShopPage page = shop.pages.get(currentPage);
|
||||||
if (page.title != null && !page.title.isEmpty()) {
|
if (page.title != null && !page.title.isEmpty()) {
|
||||||
Bukkit.getScheduler().runTaskLater(CitizensAPI.getPlugin(), () -> {
|
Bukkit.getScheduler().runTaskLater(CitizensAPI.getPlugin(),
|
||||||
ctx.setTitle(Placeholders.replace(page.title, player));
|
() -> ctx.setTitle(Placeholders.replace(page.title, player)), 1);
|
||||||
}, 1);
|
|
||||||
}
|
}
|
||||||
for (int i = 0; i < ctx.getInventory().getSize(); i++) {
|
for (int i = 0; i < ctx.getInventory().getSize(); i++) {
|
||||||
ctx.getSlot(i).clear();
|
ctx.getSlot(i).clear();
|
||||||
|
|
|
@ -26,10 +26,10 @@ public class StoredShops {
|
||||||
if (Messaging.isDebugging()) {
|
if (Messaging.isDebugging()) {
|
||||||
Messaging.debug("Deleting shop", shop.getName());
|
Messaging.debug("Deleting shop", shop.getName());
|
||||||
}
|
}
|
||||||
if (npcShops.values().contains(shop)) {
|
if (npcShops.containsKey(shop.getName())) {
|
||||||
npcShops.values().remove(shop);
|
npcShops.remove(shop.getName());
|
||||||
} else {
|
} else {
|
||||||
globalShops.values().remove(shop);
|
globalShops.remove(shop.getName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -365,6 +365,7 @@ public class Messages {
|
||||||
public static final String SHEARED_SET = "citizens.editors.equipment.sheared-set";
|
public static final String SHEARED_SET = "citizens.editors.equipment.sheared-set";
|
||||||
public static final String SHEARED_STOPPED = "citizens.editors.equipment.sheared-stopped";
|
public static final String SHEARED_STOPPED = "citizens.editors.equipment.sheared-stopped";
|
||||||
public static final String SHEEP_COLOR_SET = "citizens.commands.npc.sheep.color-set";
|
public static final String SHEEP_COLOR_SET = "citizens.commands.npc.sheep.color-set";
|
||||||
|
public static final String SHOP_DELETED = "citizens.commands.npc.shop.deleted";
|
||||||
public static final String SHULKER_COLOR_SET = "citizens.commands.npc.shulker.color-set";
|
public static final String SHULKER_COLOR_SET = "citizens.commands.npc.shulker.color-set";
|
||||||
public static final String SHULKER_PEEK_SET = "citizens.commands.npc.shulker.peek-set";
|
public static final String SHULKER_PEEK_SET = "citizens.commands.npc.shulker.peek-set";
|
||||||
public static final String SITTING_SET = "citizens.commands.npc.sitting.set";
|
public static final String SITTING_SET = "citizens.commands.npc.sitting.set";
|
||||||
|
|
|
@ -771,6 +771,7 @@ public class NMS {
|
||||||
|
|
||||||
public static void sendPositionUpdateNearby(Entity from, boolean position, Float bodyYaw, Float pitch,
|
public static void sendPositionUpdateNearby(Entity from, boolean position, Float bodyYaw, Float pitch,
|
||||||
Float headYaw) {
|
Float headYaw) {
|
||||||
|
System.out.println(getNearbyPlayers(from));
|
||||||
sendPositionUpdate(from, getNearbyPlayers(from), position, bodyYaw, pitch, headYaw);
|
sendPositionUpdate(from, getNearbyPlayers(from), position, bodyYaw, pitch, headYaw);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{
|
{
|
||||||
"citizens.changed-implementation" : "Implementation von Citizens wurde geändert, Plugin wird deaktiviert.",
|
"citizens.changed-implementation" : "Implementation von Citizens wurde geändert, Plugin wird deaktiviert.",
|
||||||
"citizens.commands.citizens.description" : "Zeigt grundlegende Plugin-Informationen",
|
"citizens.commands.citizens.description" : "Zeigt grundlegende Plugin-Informationen",
|
||||||
|
"citizens.commands.citizens.reload.description" : "Lade Citizens frisch von der Festplatte, ohne vorheriges Speichern",
|
||||||
"citizens.commands.citizens.save.description" : "NPCs speichern",
|
"citizens.commands.citizens.save.description" : "NPCs speichern",
|
||||||
"citizens.commands.citizens.save.help" : "Benutze -a um asynchron (zum Haupt-Thread) zu speichern.",
|
"citizens.commands.citizens.save.help" : "Benutze -a um asynchron (zum Haupt-Thread) zu speichern.",
|
||||||
"citizens.commands.console-error" : "Bitte melde diesen Fehler: [Siehe Konsole]",
|
"citizens.commands.console-error" : "Bitte melde diesen Fehler: [Siehe Konsole]",
|
||||||
|
@ -12,6 +13,7 @@
|
||||||
"citizens.commands.invalid.class" : "Ungültige externe Befehlsklasse.",
|
"citizens.commands.invalid.class" : "Ungültige externe Befehlsklasse.",
|
||||||
"citizens.commands.invalid-mobtype" : "{0} ist kein gültiger NPC-Typ.",
|
"citizens.commands.invalid-mobtype" : "{0} ist kein gültiger NPC-Typ.",
|
||||||
"citizens.commands.invalid-number" : "Das ist keine gültige ID.",
|
"citizens.commands.invalid-number" : "Das ist keine gültige ID.",
|
||||||
|
"citizens.commands.npc.activationrange.description" : "Legt die Aktivierungsreichweite fest",
|
||||||
"citizens.commands.npc.activationrange.set" : "Aktivierungsreichweite wurde auf [[{0}]] gesetzt.",
|
"citizens.commands.npc.activationrange.set" : "Aktivierungsreichweite wurde auf [[{0}]] gesetzt.",
|
||||||
"citizens.commands.npc.age.cannot-be-aged" : "Dem NPC-Typ {0} kann kein Alter zugewiesen werden.",
|
"citizens.commands.npc.age.cannot-be-aged" : "Dem NPC-Typ {0} kann kein Alter zugewiesen werden.",
|
||||||
"citizens.commands.npc.age.description" : "Legt das Alter eines NPCs fest",
|
"citizens.commands.npc.age.description" : "Legt das Alter eines NPCs fest",
|
||||||
|
@ -23,6 +25,7 @@
|
||||||
"citizens.commands.npc.age.set-baby" : "[[{0}]] ist jetzt ein Baby.",
|
"citizens.commands.npc.age.set-baby" : "[[{0}]] ist jetzt ein Baby.",
|
||||||
"citizens.commands.npc.age.set-normal" : "[[{0}]] ist nun [[{1}]] Ticks alt.",
|
"citizens.commands.npc.age.set-normal" : "[[{0}]] ist nun [[{1}]] Ticks alt.",
|
||||||
"citizens.commands.npc.age.unlocked" : "Alter entsperrt.",
|
"citizens.commands.npc.age.unlocked" : "Alter entsperrt.",
|
||||||
|
"citizens.commands.npc.aggressive.description" : "Legt den Aggresivitätsstatus der Entität fest",
|
||||||
"citizens.commands.npc.ai.started" : "Nutzt jetzt Minecraft KI.",
|
"citizens.commands.npc.ai.started" : "Nutzt jetzt Minecraft KI.",
|
||||||
"citizens.commands.npc.ai.stopped" : "Nutzt nicht länger Minecraft KI.",
|
"citizens.commands.npc.ai.stopped" : "Nutzt nicht länger Minecraft KI.",
|
||||||
"citizens.commands.npc.allay.dancing-set" : "[[{0}]] tanzt jetzt.",
|
"citizens.commands.npc.allay.dancing-set" : "[[{0}]] tanzt jetzt.",
|
||||||
|
@ -32,6 +35,7 @@
|
||||||
"citizens.commands.npc.anchor.invalid-name" : "ungültiger Ankername.",
|
"citizens.commands.npc.anchor.invalid-name" : "ungültiger Ankername.",
|
||||||
"citizens.commands.npc.anchor.missing" : "Der Anker {1} existiert nicht.",
|
"citizens.commands.npc.anchor.missing" : "Der Anker {1} existiert nicht.",
|
||||||
"citizens.commands.npc.anchor.removed" : "Anker entfernt.",
|
"citizens.commands.npc.anchor.removed" : "Anker entfernt.",
|
||||||
|
"citizens.commands.npc.armorstand.description" : "Bearbeite Rüstungsständer Eigenschaften",
|
||||||
"citizens.commands.npc.axolotl.invalid-variant" : "Ungültige Variante. Gültige Varianten sind [[{0}]].",
|
"citizens.commands.npc.axolotl.invalid-variant" : "Ungültige Variante. Gültige Varianten sind [[{0}]].",
|
||||||
"citizens.commands.npc.axolotl.playing-dead" : "[[{0}]] spielt jetzt tod.",
|
"citizens.commands.npc.axolotl.playing-dead" : "[[{0}]] spielt jetzt tod.",
|
||||||
"citizens.commands.npc.axolotl.playing-dead-stopped" : "[[{0}]] spielt nicht mehr tod.",
|
"citizens.commands.npc.axolotl.playing-dead-stopped" : "[[{0}]] spielt nicht mehr tod.",
|
||||||
|
@ -42,6 +46,7 @@
|
||||||
"citizens.commands.npc.bee.invalid-anger" : "Wut sollte über null sein.",
|
"citizens.commands.npc.bee.invalid-anger" : "Wut sollte über null sein.",
|
||||||
"citizens.commands.npc.bee.no-nectar" : "[[{0}]] hat keinen Nektar",
|
"citizens.commands.npc.bee.no-nectar" : "[[{0}]] hat keinen Nektar",
|
||||||
"citizens.commands.npc.bee.not-stung" : "[[{0}]] hat nicht mehr gestochen.",
|
"citizens.commands.npc.bee.not-stung" : "[[{0}]] hat nicht mehr gestochen.",
|
||||||
|
"citizens.commands.npc.bossbar.description" : "Bearbeite Bossleisten Eigenschaften",
|
||||||
"citizens.commands.npc.camel.pose-set" : "Pose auf [[{0}]] gesetzt.",
|
"citizens.commands.npc.camel.pose-set" : "Pose auf [[{0}]] gesetzt.",
|
||||||
"citizens.commands.npc.cat.collar-color-set" : "Halsbandfarbe auf [[{0}]] gesetzt.",
|
"citizens.commands.npc.cat.collar-color-set" : "Halsbandfarbe auf [[{0}]] gesetzt.",
|
||||||
"citizens.commands.npc.cat.invalid-collar-color" : "Ungültige Halsbandfarbe angegeben. Gültige Möglichkeiten sind [[{0}]].",
|
"citizens.commands.npc.cat.invalid-collar-color" : "Ungültige Halsbandfarbe angegeben. Gültige Möglichkeiten sind [[{0}]].",
|
||||||
|
@ -62,22 +67,58 @@
|
||||||
"citizens.commands.npc.command.describe-format" : "<br> - {0} [{1}s] [cost:{2}] [exp:{3}] [<click:run_command:/npc cmd remove {4}><hover:show_text:Entferne den Befehl><red><u>-</hover></click>]",
|
"citizens.commands.npc.command.describe-format" : "<br> - {0} [{1}s] [cost:{2}] [exp:{3}] [<click:run_command:/npc cmd remove {4}><hover:show_text:Entferne den Befehl><red><u>-</hover></click>]",
|
||||||
"citizens.commands.npc.command.errors-cleared" : "Fehler gelöscht für [[{0}]].",
|
"citizens.commands.npc.command.errors-cleared" : "Fehler gelöscht für [[{0}]].",
|
||||||
"citizens.commands.npc.command.experience-cost-set" : "Setze XP-Level-Kosten per Klick auf [[{0}]].",
|
"citizens.commands.npc.command.experience-cost-set" : "Setze XP-Level-Kosten per Klick auf [[{0}]].",
|
||||||
|
"citizens.commands.npc.command.hide-error-messages-set" : "Fehlermeldungen werden jetzt ausgeblendet.",
|
||||||
|
"citizens.commands.npc.command.hide-error-messages-unset" : "Fehlermeldungen werden nicht mehr ausgeblendet.",
|
||||||
|
"citizens.commands.npc.command.invalid-player" : "[[{0}]] konnte nicht als Spieler gefunden werden.",
|
||||||
|
"citizens.commands.npc.command.left-hand-header" : "Befehle zum Ausführen bei [[left click]]:",
|
||||||
|
"citizens.commands.npc.command.none-added" : "Keine Befehle wurden hinzugefügt.",
|
||||||
|
"citizens.commands.npc.command.persist-sequence-set" : "Befehlssequenzen werden jetzt über Serverneustarts hinweg gespeichert.",
|
||||||
|
"citizens.commands.npc.command.persist-sequence-unset" : "Befehlssequenzen werden bei Serverneustarts nicht mehr gespeichert.",
|
||||||
|
"citizens.commands.npc.command.right-hand-header" : "Befehle zum Auszuführen bei [[right click]] ",
|
||||||
|
"citizens.commands.npc.commands.random-set" : "Befehle werden jetzt zufällig ausgeführt.",
|
||||||
|
"citizens.commands.npc.commands.random-unset" : "Befehle werden nicht mehr zufällig ausgeführt.",
|
||||||
|
"citizens.commands.npc.command.unknown-id" : "Unbekannte Befehl Id [[{0}]] für diesen NPC.",
|
||||||
"citizens.commands.npc.controllable.not-controllable" : "[[{0}]] ist nicht kontrollierbar.",
|
"citizens.commands.npc.controllable.not-controllable" : "[[{0}]] ist nicht kontrollierbar.",
|
||||||
"citizens.commands.npc.controllable.removed" : "[[{0}]] kann nicht länger kontrolliert werden.",
|
"citizens.commands.npc.controllable.removed" : "[[{0}]] kann nicht länger kontrolliert werden.",
|
||||||
"citizens.commands.npc.controllable.set" : "[[{0}]] kann nun kontrolliert werden.",
|
"citizens.commands.npc.controllable.set" : "[[{0}]] kann nun kontrolliert werden.",
|
||||||
"citizens.commands.npc.copy.copied" : "[[{0}]] wurde kopiert.",
|
"citizens.commands.npc.copy.copied" : "[[{0}]] wurde kopiert.",
|
||||||
"citizens.commands.npc.copy.description" : "Kopiert einen NPC",
|
"citizens.commands.npc.copy.description" : "Kopiert einen NPC",
|
||||||
"citizens.commands.npc.create.description" : "Erstellt einen neuen NPC",
|
"citizens.commands.npc.create.description" : "Erstellt einen neuen NPC",
|
||||||
|
"citizens.commands.npc.create.invalid-location" : "Ort konnte nicht geparst werden oder wurde nicht gefunden.",
|
||||||
"citizens.commands.npc.create.invalid-mobtype" : "{0} ist kein gültiger NPC-Typ. Es wird der Standard-Typ verwendet.",
|
"citizens.commands.npc.create.invalid-mobtype" : "{0} ist kein gültiger NPC-Typ. Es wird der Standard-Typ verwendet.",
|
||||||
"citizens.commands.npc.create.npc-name-too-long" : "Namen von NPCs können nicht länger als 16 Zeichen sein. Der Name wurde gekürzt.",
|
"citizens.commands.npc.create.npc-name-too-long" : "Namen von NPCs können nicht länger als 16 Zeichen sein. Der Name wurde gekürzt.",
|
||||||
|
"citizens.commands.npc.debug.description" : "Zeige Debug Informationen",
|
||||||
"citizens.commands.npc.description" : "Zeigt grundlegende NPC-Informationen",
|
"citizens.commands.npc.description" : "Zeigt grundlegende NPC-Informationen",
|
||||||
"citizens.commands.npc.deselect" : "NPC abgewählt.",
|
"citizens.commands.npc.deselect" : "NPC abgewählt.",
|
||||||
"citizens.commands.npc.despawn.despawned" : "Du hast [[{0}]] despawned.",
|
"citizens.commands.npc.despawn.despawned" : "Du hast [[{0}]] despawned.",
|
||||||
|
"citizens.commands.npc.enderman.angry-set" : "[[{0}]] ist jetzt böse. >:(",
|
||||||
|
"citizens.commands.npc.enderman.angry-unset" : "[[{0}]] ist nicht mehr böse. :D",
|
||||||
|
"citizens.commands.npc.follow.set" : "[[{0}]] folgt jetzt [[{1}]].",
|
||||||
|
"citizens.commands.npc.follow.unset" : "[[{0}]] folgt niemandem mehr.",
|
||||||
|
"citizens.commands.npc.fox.crouching-set" : "[[{0}]] ist nun in der Hocke.",
|
||||||
|
"citizens.commands.npc.fox.crouching-unset" : "[[{0}]] ist nun nicht mehr in der Hocke.",
|
||||||
|
"citizens.commands.npc.fox.sitting-set" : "[[{0}]] sitzt nun.",
|
||||||
|
"citizens.commands.npc.fox.sitting-unset" : "[[{0}]] sitzt nun nicht mehr.",
|
||||||
|
"citizens.commands.npc.fox.sleeping-set" : "[[{0}]] schläft nun.",
|
||||||
|
"citizens.commands.npc.fox.sleeping-unset" : "[[{0}]] ist aufgewacht.",
|
||||||
|
"citizens.commands.npc.frog.invalid-variant" : "Ungültige Froschvariante. Gültige Varianten sind [[{0}]].",
|
||||||
|
"citizens.commands.npc.gamemode.description" : "Ändert den Spielmodus",
|
||||||
|
"citizens.commands.npc.glowing.set" : "[[{0}]] leuchtet nun.",
|
||||||
|
"citizens.commands.npc.glowing.unset" : "[[{0}]] hat sich abgeleuchtet.",
|
||||||
|
"citizens.commands.npc.goat.description" : "Setzt die Ziegenmodifizierungen",
|
||||||
"citizens.commands.npc.gravity.disabled" : "Gravitation [[deaktiviert]].",
|
"citizens.commands.npc.gravity.disabled" : "Gravitation [[deaktiviert]].",
|
||||||
"citizens.commands.npc.gravity.enabled" : "Gravitation [[aktiviert]].",
|
"citizens.commands.npc.gravity.enabled" : "Gravitation [[aktiviert]].",
|
||||||
|
"citizens.commands.npc.guardian.elder-set" : "[[{0}]] ist jetzt ein Wächterältester.",
|
||||||
|
"citizens.commands.npc.guardian.elder-unset" : "[[{0}]] ist nicht mehr ein Wächterältester.",
|
||||||
"citizens.commands.npc.hologram.invalid-text-id" : "Ungültige Zeile.",
|
"citizens.commands.npc.hologram.invalid-text-id" : "Ungültige Zeile.",
|
||||||
"citizens.commands.npc.hologram.line-height-set" : "Zeilenhöhe beträgt nun [[{0}]].",
|
"citizens.commands.npc.hologram.line-height-set" : "Zeilenhöhe beträgt nun [[{0}]].",
|
||||||
"citizens.commands.npc.hurt.description" : "Verletzt den NPC",
|
"citizens.commands.npc.hurt.description" : "Verletzt den NPC",
|
||||||
|
"citizens.commands.npc.leashable.set" : "[[{0}]] ist nun abseilbar.",
|
||||||
|
"citizens.commands.npc.leashable.stopped" : "[[{0}]] ist nun nicht mehr abseilbar.",
|
||||||
|
"citizens.commands.npc.lookclose.headonly-set" : "[[{0}]] wird nun nur den Körper rotieren.",
|
||||||
|
"citizens.commands.npc.lookclose.headonly-unset" : "[[{0}]] wird nun seinen Körper rotieren lassen.",
|
||||||
|
"citizens.commands.npc.lookclose.random-set" : "[[{0}]] wird jetzt zufällig durch die Gegend schauen.",
|
||||||
|
"citizens.commands.npc.lookclose.random-stopped" : "[[{0}]] wird jetzt nicht mehr zufällig durch die Gegend schauen.",
|
||||||
"citizens.commands.npc.lookclose.set" : "[[{0}]] wurd sich nun drehen, wenn Spieler in der Nähe sind.",
|
"citizens.commands.npc.lookclose.set" : "[[{0}]] wurd sich nun drehen, wenn Spieler in der Nähe sind.",
|
||||||
"citizens.commands.npc.lookclose.stopped" : "[[{0}]] wird sich nicht mehr drehen, wenn Spieler in der Nähe sind.",
|
"citizens.commands.npc.lookclose.stopped" : "[[{0}]] wird sich nicht mehr drehen, wenn Spieler in der Nähe sind.",
|
||||||
"citizens.commands.npc.mount.failed" : "Kontrolle von [[{0}]] fehlgeschlagen.",
|
"citizens.commands.npc.mount.failed" : "Kontrolle von [[{0}]] fehlgeschlagen.",
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
"citizens.commands.errors.unknown-registry" : "Unknown NPC registry [[{0}]].",
|
"citizens.commands.errors.unknown-registry" : "Unknown NPC registry [[{0}]].",
|
||||||
"citizens.commands.help.command-missing" : "Command /{0} not found.",
|
"citizens.commands.help.command-missing" : "Command /{0} not found.",
|
||||||
"citizens.commands.help.header" : "Help",
|
"citizens.commands.help.header" : "Help",
|
||||||
|
"citizens.commands.npc.shop.deleted" : "Shop [[{0}]] deleted.",
|
||||||
"citizens.commands.id-not-found" : "Couldn''t find any NPC with ID [[{0}]].",
|
"citizens.commands.id-not-found" : "Couldn''t find any NPC with ID [[{0}]].",
|
||||||
"citizens.commands.invalid-mobtype" : "[[{0}]] is not a valid mobtype.",
|
"citizens.commands.invalid-mobtype" : "[[{0}]] is not a valid mobtype.",
|
||||||
"citizens.commands.invalid-number" : "That is not a valid number.",
|
"citizens.commands.invalid-number" : "That is not a valid number.",
|
||||||
|
|
|
@ -138,7 +138,6 @@
|
||||||
"citizens.commands.traitc.not-configurable" : "Esta plantilla no es configurable.",
|
"citizens.commands.traitc.not-configurable" : "Esta plantilla no es configurable.",
|
||||||
"citizens.commands.traitc.not-on-npc" : "Los NPC's no pueden tener esta plantilla.",
|
"citizens.commands.traitc.not-on-npc" : "Los NPC's no pueden tener esta plantilla.",
|
||||||
"citizens.commands.trait.failed-to-add" : "<7>No se pueden agregar {0}.",
|
"citizens.commands.trait.failed-to-add" : "<7>No se pueden agregar {0}.",
|
||||||
"citizens.commands.trait.failed-to-change" : "<7>No se pueden cambiar {0}.",
|
|
||||||
"citizens.commands.trait.failed-to-remove" : "<7>No se pueden eliminar {0}.",
|
"citizens.commands.trait.failed-to-remove" : "<7>No se pueden eliminar {0}.",
|
||||||
"citizens.commands.trait.removed" : "Eliminado {0} satisfactoriamente.",
|
"citizens.commands.trait.removed" : "Eliminado {0} satisfactoriamente.",
|
||||||
"citizens.commands.unknown-command" : "Comando desconocido. Querias decir:",
|
"citizens.commands.unknown-command" : "Comando desconocido. Querias decir:",
|
||||||
|
|
|
@ -313,7 +313,6 @@
|
||||||
"citizens.commands.npc.tpto.from-not-found" : "Entité source introuvable.",
|
"citizens.commands.npc.tpto.from-not-found" : "Entité source introuvable.",
|
||||||
"citizens.commands.npc.tpto.success" : "Téléportation réalisée avec succès.",
|
"citizens.commands.npc.tpto.success" : "Téléportation réalisée avec succès.",
|
||||||
"citizens.commands.npc.tpto.to-not-found" : "Entité de destination introuvable.",
|
"citizens.commands.npc.tpto.to-not-found" : "Entité de destination introuvable.",
|
||||||
"citizens.commands.npc.trackingdistance.set" : "Distance de suivi fixée à [[{0}]].",
|
|
||||||
"citizens.commands.npc.tropicalfish.body-color-set" : "Couleur du corps fixée à [[{0}]].",
|
"citizens.commands.npc.tropicalfish.body-color-set" : "Couleur du corps fixée à [[{0}]].",
|
||||||
"citizens.commands.npc.tropicalfish.invalid-color" : "Couleur de poisson invalide. Les couleurs valides sont\\: [[{0}]]",
|
"citizens.commands.npc.tropicalfish.invalid-color" : "Couleur de poisson invalide. Les couleurs valides sont\\: [[{0}]]",
|
||||||
"citizens.commands.npc.tropicalfish.invalid-pattern" : "Motif de poisson invalide. Les motifs valides sont\\: [[{0}]]",
|
"citizens.commands.npc.tropicalfish.invalid-pattern" : "Motif de poisson invalide. Les motifs valides sont\\: [[{0}]]",
|
||||||
|
@ -355,7 +354,6 @@
|
||||||
"citizens.commands.traitc.not-configurable" : "Cette caractéristique n''est pas paramétrable.",
|
"citizens.commands.traitc.not-configurable" : "Cette caractéristique n''est pas paramétrable.",
|
||||||
"citizens.commands.traitc.not-on-npc" : "Le PNJ n''a pas cette caractéristique.",
|
"citizens.commands.traitc.not-on-npc" : "Le PNJ n''a pas cette caractéristique.",
|
||||||
"citizens.commands.trait.failed-to-add" : "<7> impossible d''ajouter {0}.",
|
"citizens.commands.trait.failed-to-add" : "<7> impossible d''ajouter {0}.",
|
||||||
"citizens.commands.trait.failed-to-change" : "<7>Impossible de changer {0}.",
|
|
||||||
"citizens.commands.trait.failed-to-remove" : "<7>Impossible de supprimer {0}.",
|
"citizens.commands.trait.failed-to-remove" : "<7>Impossible de supprimer {0}.",
|
||||||
"citizens.commands.trait.removed" : "Suppression de {0} avec succès.",
|
"citizens.commands.trait.removed" : "Suppression de {0} avec succès.",
|
||||||
"citizens.commands.unknown-command" : "Commande inconnue. Vouliez vous faire\\:",
|
"citizens.commands.unknown-command" : "Commande inconnue. Vouliez vous faire\\:",
|
||||||
|
|
|
@ -78,7 +78,6 @@
|
||||||
"citizens.commands.traitc.not-configurable" : "Dit eigenschap kan niet worden aangepast.",
|
"citizens.commands.traitc.not-configurable" : "Dit eigenschap kan niet worden aangepast.",
|
||||||
"citizens.commands.traitc.not-on-npc" : "De NPC heeft deze eigenschap niet.",
|
"citizens.commands.traitc.not-on-npc" : "De NPC heeft deze eigenschap niet.",
|
||||||
"citizens.commands.trait.failed-to-add" : "<7>Kon {0} niet toevoegen.",
|
"citizens.commands.trait.failed-to-add" : "<7>Kon {0} niet toevoegen.",
|
||||||
"citizens.commands.trait.failed-to-change" : "<7>Kon {0} niet veranderen.",
|
|
||||||
"citizens.commands.trait.failed-to-remove" : "<7>Kon {0} niet verwijderen.",
|
"citizens.commands.trait.failed-to-remove" : "<7>Kon {0} niet verwijderen.",
|
||||||
"citizens.commands.trait.removed" : "{0} verwijderd.",
|
"citizens.commands.trait.removed" : "{0} verwijderd.",
|
||||||
"citizens.commands.unknown-command" : "Onbekend commando, bedoelde je:",
|
"citizens.commands.unknown-command" : "Onbekend commando, bedoelde je:",
|
||||||
|
|
|
@ -253,7 +253,6 @@
|
||||||
"citizens.commands.traitc.not-configurable" : "Nie można konfigurować tej cechy.",
|
"citizens.commands.traitc.not-configurable" : "Nie można konfigurować tej cechy.",
|
||||||
"citizens.commands.traitc.not-on-npc" : "NPC nie ma tej cechy.",
|
"citizens.commands.traitc.not-on-npc" : "NPC nie ma tej cechy.",
|
||||||
"citizens.commands.trait.failed-to-add" : "<7>Nie udało się dodać {0}.",
|
"citizens.commands.trait.failed-to-add" : "<7>Nie udało się dodać {0}.",
|
||||||
"citizens.commands.trait.failed-to-change" : "<7>Nie udało się zmienić {0}.",
|
|
||||||
"citizens.commands.trait.failed-to-remove" : "<7>Nie udało się usunąć {0}.",
|
"citizens.commands.trait.failed-to-remove" : "<7>Nie udało się usunąć {0}.",
|
||||||
"citizens.commands.trait.removed" : "Pomyślnie usunięto {0}.",
|
"citizens.commands.trait.removed" : "Pomyślnie usunięto {0}.",
|
||||||
"citizens.commands.unknown-command" : "Nieznana komenda. Myślałeś może o:",
|
"citizens.commands.unknown-command" : "Nieznana komenda. Myślałeś może o:",
|
||||||
|
|
|
@ -255,7 +255,6 @@
|
||||||
"citizens.commands.traitc.not-configurable" : "無法設定該特徵。",
|
"citizens.commands.traitc.not-configurable" : "無法設定該特徵。",
|
||||||
"citizens.commands.traitc.not-on-npc" : "NPC 沒有該特徵。",
|
"citizens.commands.traitc.not-on-npc" : "NPC 沒有該特徵。",
|
||||||
"citizens.commands.trait.failed-to-add" : "<7>無法新增 {0}。",
|
"citizens.commands.trait.failed-to-add" : "<7>無法新增 {0}。",
|
||||||
"citizens.commands.trait.failed-to-change" : "<7>無法變更 {0}。",
|
|
||||||
"citizens.commands.trait.failed-to-remove" : "<7>無法移除 {0}。",
|
"citizens.commands.trait.failed-to-remove" : "<7>無法移除 {0}。",
|
||||||
"citizens.commands.trait.removed" : "成功移除 {0}。",
|
"citizens.commands.trait.removed" : "成功移除 {0}。",
|
||||||
"citizens.commands.unknown-command" : "未知的指令。您是不是指:",
|
"citizens.commands.unknown-command" : "未知的指令。您是不是指:",
|
||||||
|
|
|
@ -217,7 +217,6 @@
|
||||||
"citizens.commands.traitc.not-configurable" : "该特征是不可配置的.",
|
"citizens.commands.traitc.not-configurable" : "该特征是不可配置的.",
|
||||||
"citizens.commands.traitc.not-on-npc" : "没有这个特征.",
|
"citizens.commands.traitc.not-on-npc" : "没有这个特征.",
|
||||||
"citizens.commands.trait.failed-to-add" : "<7>无法添加 {0}.",
|
"citizens.commands.trait.failed-to-add" : "<7>无法添加 {0}.",
|
||||||
"citizens.commands.trait.failed-to-change" : "<7>无法更改 {0}.",
|
|
||||||
"citizens.commands.trait.failed-to-remove" : "<7>无法删除 {0}.",
|
"citizens.commands.trait.failed-to-remove" : "<7>无法删除 {0}.",
|
||||||
"citizens.commands.trait.removed" : "已成功删除 {0}.",
|
"citizens.commands.trait.removed" : "已成功删除 {0}.",
|
||||||
"citizens.commands.unknown-command" : "未知命令, 你是否要使用:",
|
"citizens.commands.unknown-command" : "未知命令, 你是否要使用:",
|
||||||
|
|
Loading…
Reference in New Issue
Block a user