From ba4ee084896239ac589989241c4883a497c54d95 Mon Sep 17 00:00:00 2001 From: YoyoNow Date: Sat, 16 May 2026 21:34:18 +0200 Subject: [PATCH 01/19] Remove most Reflection from REntity --- .../utils/PlayerMovementWrapper.java | 10 --- .../comphenix/tinyprotocol/TinyProtocol.java | 2 +- .../de/steamwar/core/BountifulWrapper.java | 18 ---- .../src/de/steamwar/core/ProtocolWrapper.java | 9 -- .../de/steamwar/entity/PacketConstructor.java | 53 ----------- .../src/de/steamwar/entity/RArmorStand.java | 5 +- .../src/de/steamwar/entity/RBlockDisplay.java | 5 +- .../src/de/steamwar/entity/RDisplay.java | 36 ++++---- .../src/de/steamwar/entity/REntity.java | 90 +++++++------------ .../src/de/steamwar/entity/REntityServer.java | 23 ++--- .../src/de/steamwar/entity/RItemDisplay.java | 8 +- .../src/de/steamwar/entity/RPlayer.java | 16 +++- .../src/de/steamwar/entity/RTextDisplay.java | 14 +-- 13 files changed, 87 insertions(+), 202 deletions(-) delete mode 100644 SpigotCore/SpigotCore_Main/src/de/steamwar/entity/PacketConstructor.java diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/utils/PlayerMovementWrapper.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/utils/PlayerMovementWrapper.java index 5922594a..65394390 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/utils/PlayerMovementWrapper.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/utils/PlayerMovementWrapper.java @@ -19,18 +19,12 @@ package de.steamwar.bausystem.utils; -import de.steamwar.Reflection; -import de.steamwar.core.BountifulWrapper; -import de.steamwar.entity.REntity; import net.minecraft.network.protocol.game.ServerboundMovePlayerPacket; import net.minecraft.server.level.ServerPlayer; import org.bukkit.craftbukkit.entity.CraftPlayer; import org.bukkit.entity.Player; public class PlayerMovementWrapper { - Class teleportPacket = REntity.teleportPacket; - Reflection.Field teleportEntity = REntity.teleportEntity; - BountifulWrapper.PositionSetter teleportPosition = REntity.teleportPosition; public static final PlayerMovementWrapper impl = new PlayerMovementWrapper(); @@ -45,8 +39,4 @@ public class PlayerMovementWrapper { serverPlayer.setYRot(packetPlayInFlying.yRot); } } - - public Object convertToOut(Player player, Object object) { - return object; - } } diff --git a/SpigotCore/SpigotCore_Main/src/com/comphenix/tinyprotocol/TinyProtocol.java b/SpigotCore/SpigotCore_Main/src/com/comphenix/tinyprotocol/TinyProtocol.java index 5f8c02c3..6ea85ccc 100644 --- a/SpigotCore/SpigotCore_Main/src/com/comphenix/tinyprotocol/TinyProtocol.java +++ b/SpigotCore/SpigotCore_Main/src/com/comphenix/tinyprotocol/TinyProtocol.java @@ -252,7 +252,7 @@ public class TinyProtocol { packetFilters.computeIfAbsent(packetType, c -> new CopyOnWriteArrayList<>()).add(filter); } - public void removeFilter(Class packetType, BiFunction filter) { + public void removeFilter(Class packetType, BiFunction filter) { packetFilters.getOrDefault(packetType, Collections.emptyList()).remove(filter); } diff --git a/SpigotCore/SpigotCore_Main/src/de/steamwar/core/BountifulWrapper.java b/SpigotCore/SpigotCore_Main/src/de/steamwar/core/BountifulWrapper.java index 33f85cdb..a8377e1e 100644 --- a/SpigotCore/SpigotCore_Main/src/de/steamwar/core/BountifulWrapper.java +++ b/SpigotCore/SpigotCore_Main/src/de/steamwar/core/BountifulWrapper.java @@ -90,24 +90,6 @@ public class BountifulWrapper { } } - - public BountifulWrapper.PositionSetter getRelMoveSetter(Class packetClass) { - Class type = short.class; - Reflection.Field moveX = Reflection.getField(packetClass, type, 0); - Reflection.Field moveY = Reflection.getField(packetClass, type, 1); - Reflection.Field moveZ = Reflection.getField(packetClass, type, 2); - Reflection.Field moveYaw = Reflection.getField(packetClass, byte.class, 0); - Reflection.Field movePitch = Reflection.getField(packetClass, byte.class, 1); - - return (packet, x, y, z, pitch, yaw) -> { - moveX.set(packet, (short)(x*4096)); - moveY.set(packet, (short)(y*4096)); - moveZ.set(packet, (short)(z*4096)); - moveYaw.set(packet, (byte)(yaw*256/360)); - movePitch.set(packet, (byte)(pitch*256/360)); - }; - } - public BountifulWrapper.UUIDSetter getUUIDSetter(Class packetClass) { Reflection.Field uuidField = Reflection.getField(packetClass, UUID.class, 0); diff --git a/SpigotCore/SpigotCore_Main/src/de/steamwar/core/ProtocolWrapper.java b/SpigotCore/SpigotCore_Main/src/de/steamwar/core/ProtocolWrapper.java index d6fdd3f2..41629609 100644 --- a/SpigotCore/SpigotCore_Main/src/de/steamwar/core/ProtocolWrapper.java +++ b/SpigotCore/SpigotCore_Main/src/de/steamwar/core/ProtocolWrapper.java @@ -20,11 +20,9 @@ package de.steamwar.core; import com.mojang.authlib.GameProfile; -import com.mojang.datafixers.util.Pair; import net.minecraft.network.protocol.game.ClientboundAddEntityPacket; import net.minecraft.network.protocol.game.ClientboundPlayerInfoRemovePacket; import net.minecraft.network.protocol.game.ClientboundPlayerInfoUpdatePacket; -import net.minecraft.network.protocol.game.ClientboundSetEquipmentPacket; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.GameType; @@ -37,19 +35,12 @@ public class ProtocolWrapper { public static final Class itemStack = ItemStack.class; public static final Class spawnPacket = ClientboundAddEntityPacket.class; - public static final Class spawnLivingPacket = ProtocolWrapper.spawnPacket; - public static final Class equipmentPacket = ClientboundSetEquipmentPacket.class; // 0: hand, 1: offhand, 2: feet, 3: legs, 4: chest, 5: head public static final EquipmentSlot[] itemSlots = EquipmentSlot.values(); public static final ProtocolWrapper impl = new ProtocolWrapper(); - public void setEquipmentPacketStack(Object packet, Object slot, Object stack) { - ClientboundSetEquipmentPacket setEquipmentPacket = (ClientboundSetEquipmentPacket) packet; - setEquipmentPacket.getSlots().add(Pair.of((EquipmentSlot) slot, (ItemStack) stack)); - } - public Object playerInfoPacketConstructor(PlayerInfoAction action, GameProfile profile, GameMode mode) { if(action == PlayerInfoAction.REMOVE) return new ClientboundPlayerInfoRemovePacket(Collections.singletonList(profile.getId())); diff --git a/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/PacketConstructor.java b/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/PacketConstructor.java deleted file mode 100644 index da4944a6..00000000 --- a/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/PacketConstructor.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * This file is a part of the SteamWar software. - * - * Copyright (C) 2025 SteamWar.de-Serverteam - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero 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 Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -package de.steamwar.entity; - -import net.minecraft.network.protocol.game.ClientboundAddEntityPacket; -import net.minecraft.network.protocol.game.ClientboundTeleportEntityPacket; -import net.minecraft.world.entity.EntityType; -import net.minecraft.world.entity.PositionMoveRotation; -import net.minecraft.world.phys.Vec3; - -import java.util.Collections; - -public class PacketConstructor { - public static final PacketConstructor impl = new PacketConstructor(); - - public Object teleportPacket(int entityId, double x, double y, double z, float yaw, float pitch) { - PositionMoveRotation rot = new PositionMoveRotation(new Vec3(x, y, z), Vec3.ZERO, pitch, yaw); - return new ClientboundTeleportEntityPacket(entityId, rot, Collections.emptySet(), false); - } - - public Object createRPlayerSpawn(RPlayer player) { - return new ClientboundAddEntityPacket( - player.entityId, - player.uuid, - player.x, - player.y, - player.z, - player.yaw, - player.pitch, - EntityType.PLAYER, - 0, - Vec3.ZERO, - player.headYaw - ); - } -} diff --git a/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/RArmorStand.java b/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/RArmorStand.java index 3fdafe4a..d3e13059 100644 --- a/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/RArmorStand.java +++ b/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/RArmorStand.java @@ -19,8 +19,9 @@ package de.steamwar.entity; -import de.steamwar.core.BountifulWrapper; import lombok.Getter; +import net.minecraft.network.syncher.EntityDataAccessor; +import net.minecraft.network.syncher.EntityDataSerializers; import org.bukkit.Location; import org.bukkit.entity.EntityType; @@ -28,7 +29,7 @@ import java.util.function.Consumer; public class RArmorStand extends REntity { - private static final Object sizeWatcher = BountifulWrapper.impl.getDataWatcherObject(15, Byte.class); + private static final EntityDataAccessor sizeWatcher = new EntityDataAccessor<>(15, EntityDataSerializers.BYTE); @Getter private final Size size; diff --git a/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/RBlockDisplay.java b/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/RBlockDisplay.java index 8f87f63c..53450eed 100644 --- a/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/RBlockDisplay.java +++ b/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/RBlockDisplay.java @@ -19,8 +19,9 @@ package de.steamwar.entity; -import de.steamwar.core.BountifulWrapper; import lombok.Getter; +import net.minecraft.network.syncher.EntityDataAccessor; +import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.world.level.block.state.BlockState; import org.bukkit.Location; import org.bukkit.Material; @@ -58,7 +59,7 @@ public class RBlockDisplay extends RDisplay { sendPacket(updatePacketSink, this::getBlock); } - private static final Object blockWatcher = BountifulWrapper.impl.getDataWatcherObject(23, BlockState.class); + private static final EntityDataAccessor blockWatcher = new EntityDataAccessor<>(23, EntityDataSerializers.BLOCK_STATE); private void getBlock(boolean ignoreDefault, BiConsumer packetSink) { if (ignoreDefault || !block.getAsString(true).equals(DEFAULT_BLOCK.getAsString(true))) { packetSink.accept(blockWatcher, ((CraftBlockData) block).getState()); diff --git a/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/RDisplay.java b/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/RDisplay.java index 727e7b2a..4ec21947 100644 --- a/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/RDisplay.java +++ b/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/RDisplay.java @@ -19,9 +19,10 @@ package de.steamwar.entity; -import de.steamwar.core.BountifulWrapper; import lombok.Getter; import lombok.NonNull; +import net.minecraft.network.syncher.EntityDataAccessor; +import net.minecraft.network.syncher.EntityDataSerializers; import org.bukkit.Color; import org.bukkit.Location; import org.bukkit.entity.Display; @@ -35,9 +36,6 @@ import java.util.List; import java.util.function.BiConsumer; import java.util.function.Consumer; -/** - * !! This class cannot be used in Versions lower than or equal to 1.19.4 !! - */ @Getter public abstract class RDisplay extends REntity { @@ -110,10 +108,10 @@ public abstract class RDisplay extends REntity { sendPacket(updatePacketSink, this::getTransformData); } - private static final Object translationWatcher = BountifulWrapper.impl.getDataWatcherObject(11, Vector3f.class); - private static final Object leftRotationWatcher = BountifulWrapper.impl.getDataWatcherObject(13, Quaternionf.class); - private static final Object scaleWatcher = BountifulWrapper.impl.getDataWatcherObject(12, Vector3f.class); - private static final Object rightRotationWatcher = BountifulWrapper.impl.getDataWatcherObject(14, Quaternionf.class); + private static final EntityDataAccessor translationWatcher = new EntityDataAccessor<>(11, EntityDataSerializers.VECTOR3); + private static final EntityDataAccessor leftRotationWatcher = new EntityDataAccessor<>(13, EntityDataSerializers.QUATERNION); + private static final EntityDataAccessor scaleWatcher = new EntityDataAccessor<>(12, EntityDataSerializers.VECTOR3); + private static final EntityDataAccessor rightRotationWatcher = new EntityDataAccessor<>(14, EntityDataSerializers.QUATERNION); private void getTransformData(boolean ignoreDefault, BiConsumer dataSink) { if (ignoreDefault || !transform.equals(DEFAULT_TRANSFORM)) { @@ -129,8 +127,8 @@ public abstract class RDisplay extends REntity { sendPacket(updatePacketSink, this::getInterpolationDuration); } - private static final Object transformationInterpolationDurationWatcher = BountifulWrapper.impl.getDataWatcherObject(9, Integer.class); - private static final Object positionOrRotationInterpolationDurationWatcher = BountifulWrapper.impl.getDataWatcherObject(10, Integer.class); + private static final EntityDataAccessor transformationInterpolationDurationWatcher = new EntityDataAccessor<>(9, EntityDataSerializers.INT); + private static final EntityDataAccessor positionOrRotationInterpolationDurationWatcher = new EntityDataAccessor<>(10, EntityDataSerializers.INT); private void getInterpolationDuration(boolean ignoreDefault, BiConsumer packetSink) { if (ignoreDefault || interpolationDelay != 0) { @@ -144,7 +142,7 @@ public abstract class RDisplay extends REntity { sendPacket(updatePacketSink, this::getViewRange); } - private static final Object viewRangeWatcher = BountifulWrapper.impl.getDataWatcherObject(17, Float.class); + private static final EntityDataAccessor viewRangeWatcher = new EntityDataAccessor<>(17, EntityDataSerializers.FLOAT); private void getViewRange(boolean ignoreDefault, BiConsumer packetSink) { if (ignoreDefault || viewRange != 1.0F) { @@ -157,7 +155,7 @@ public abstract class RDisplay extends REntity { sendPacket(updatePacketSink, this::getShadowRadius); } - private static final Object shadowRadiusWatcher = BountifulWrapper.impl.getDataWatcherObject(18, Float.class); + private static final EntityDataAccessor shadowRadiusWatcher = new EntityDataAccessor<>(18, EntityDataSerializers.FLOAT); private void getShadowRadius(boolean ignoreDefault, BiConsumer packetSink) { if (ignoreDefault || shadowRadius != 0.0F) { @@ -170,7 +168,7 @@ public abstract class RDisplay extends REntity { sendPacket(updatePacketSink, this::getShadowStrength); } - private static final Object shadowStrengthWatcher = BountifulWrapper.impl.getDataWatcherObject(19, Float.class); + private static final EntityDataAccessor shadowStrengthWatcher = new EntityDataAccessor<>(19, EntityDataSerializers.FLOAT); private void getShadowStrength(boolean ignoreDefault, BiConsumer packetSink) { if (ignoreDefault || shadowStrength != 1.0F) { @@ -183,7 +181,7 @@ public abstract class RDisplay extends REntity { sendPacket(updatePacketSink, this::getDisplayWidth); } - private static final Object displayWidthWatcher = BountifulWrapper.impl.getDataWatcherObject(20, Float.class); + private static final EntityDataAccessor displayWidthWatcher = new EntityDataAccessor<>(20, EntityDataSerializers.FLOAT); private void getDisplayWidth(boolean ignoreDefault, BiConsumer packetSink) { if (ignoreDefault || displayWidth != 0.0F) { @@ -196,7 +194,7 @@ public abstract class RDisplay extends REntity { sendPacket(updatePacketSink, this::getDisplayHeight); } - private static final Object displayHeightWatcher = BountifulWrapper.impl.getDataWatcherObject(21, Float.class); + private static final EntityDataAccessor displayHeightWatcher = new EntityDataAccessor<>(21, EntityDataSerializers.FLOAT); private void getDisplayHeight(boolean ignoreDefault, BiConsumer packetSink) { if (ignoreDefault || displayHeight != 0.0F) { @@ -209,7 +207,7 @@ public abstract class RDisplay extends REntity { sendPacket(updatePacketSink, this::getInterpolationDelay); } - private static final Object interpolationDelayWatcher = BountifulWrapper.impl.getDataWatcherObject(8, Integer.class); + private static final EntityDataAccessor interpolationDelayWatcher = new EntityDataAccessor<>(8, EntityDataSerializers.INT); private void getInterpolationDelay(boolean ignoreDefault, BiConsumer packetSink) { if (ignoreDefault || interpolationDelay != 0) { @@ -222,7 +220,7 @@ public abstract class RDisplay extends REntity { sendPacket(updatePacketSink, this::getBillboard); } - private static final Object billboardWatcher = BountifulWrapper.impl.getDataWatcherObject(15, Byte.class); + private static final EntityDataAccessor billboardWatcher = new EntityDataAccessor<>(15, EntityDataSerializers.BYTE); private void getBillboard(boolean ignoreDefault, BiConsumer packetSink) { if (ignoreDefault || billboard != Display.Billboard.FIXED) { @@ -235,7 +233,7 @@ public abstract class RDisplay extends REntity { sendPacket(updatePacketSink, this::getGlowColorOverride); } - private static final Object glowColorOverrideWatcher = BountifulWrapper.impl.getDataWatcherObject(22, Integer.class); + private static final EntityDataAccessor glowColorOverrideWatcher = new EntityDataAccessor<>(22, EntityDataSerializers.INT); private void getGlowColorOverride(boolean ignoreDefault, BiConsumer packetSink) { if (ignoreDefault || glowColorOverride != null) { @@ -248,7 +246,7 @@ public abstract class RDisplay extends REntity { sendPacket(updatePacketSink, this::getBrightness); } - private static final Object brightnessWatcher = BountifulWrapper.impl.getDataWatcherObject(16, Integer.class); + private static final EntityDataAccessor brightnessWatcher = new EntityDataAccessor<>(16, EntityDataSerializers.INT); private void getBrightness(boolean ignoreDefault, BiConsumer packetSink) { if (ignoreDefault || brightness != null) { diff --git a/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/REntity.java b/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/REntity.java index 95ce73b0..eb075295 100644 --- a/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/REntity.java +++ b/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/REntity.java @@ -19,15 +19,22 @@ package de.steamwar.entity; +import com.mojang.datafixers.util.Pair; import de.steamwar.Reflection; import de.steamwar.core.BountifulWrapper; import de.steamwar.core.ChatWrapper; import de.steamwar.core.FlatteningWrapper; import de.steamwar.core.ProtocolWrapper; import it.unimi.dsi.fastutil.ints.IntArrayList; -import it.unimi.dsi.fastutil.ints.IntList; import lombok.Getter; +import net.minecraft.network.chat.Component; import net.minecraft.network.protocol.game.*; +import net.minecraft.network.syncher.EntityDataAccessor; +import net.minecraft.network.syncher.EntityDataSerializers; +import net.minecraft.world.entity.EquipmentSlot; +import net.minecraft.world.entity.Pose; +import net.minecraft.world.entity.PositionMoveRotation; +import net.minecraft.world.phys.Vec3; import org.bukkit.Location; import org.bukkit.craftbukkit.inventory.CraftItemStack; import org.bukkit.entity.EntityType; @@ -39,13 +46,11 @@ import java.util.function.Function; public class REntity { - private static final Object entityStatusWatcher = BountifulWrapper.impl.getDataWatcherObject(0, Byte.class); - private static final Object sneakingDataWatcher = BountifulWrapper.impl.getDataWatcherObject(6, FlatteningWrapper.impl.getPose(FlatteningWrapper.EntityPose.NORMAL).getClass()); - private static final Object bowDrawnWatcher = BountifulWrapper.impl.getDataWatcherObject(6, FlatteningWrapper.impl.getPose(FlatteningWrapper.EntityPose.NORMAL).getClass()); - private static final Object nameWatcher = BountifulWrapper.impl.getDataWatcherObject(2, Optional.class); // Optional - private static final Object nameVisibleWatcher = BountifulWrapper.impl.getDataWatcherObject(3, Boolean.class); - - private static final Object noGravityDataWatcher = BountifulWrapper.impl.getDataWatcherObject(5,Boolean.class); + private static final EntityDataAccessor entityStatusWatcher = new EntityDataAccessor<>(0, EntityDataSerializers.BYTE); + private static final EntityDataAccessor poseDataWatcher = new EntityDataAccessor<>(6, EntityDataSerializers.POSE); + private static final EntityDataAccessor> nameWatcher = new EntityDataAccessor<>(2, EntityDataSerializers.OPTIONAL_COMPONENT); + private static final EntityDataAccessor nameVisibleWatcher = new EntityDataAccessor<>(3, EntityDataSerializers.BOOLEAN); + private static final EntityDataAccessor noGravityDataWatcher = new EntityDataAccessor<>(5, EntityDataSerializers.BOOLEAN); private static int entityIdCounter = -1; private static final Random random = new Random(); @@ -175,18 +180,8 @@ public class REntity { server.updateEntity(this, packet); } - private static final Class velocityPacket = ClientboundSetEntityMotionPacket.class; - private static final Reflection.Field velocityEntity = Reflection.getField(velocityPacket, int.class, 0); - private static final Reflection.Field velocityX = Reflection.getField(velocityPacket, int.class, 1); - private static final Reflection.Field velocityY = Reflection.getField(velocityPacket, int.class, 2); - private static final Reflection.Field velocityZ = Reflection.getField(velocityPacket, int.class, 3); public void setVelocity(double dX, double dY, double dZ) { - Object packet = Reflection.newInstance(velocityPacket); - velocityEntity.set(packet, entityId); - velocityX.set(packet, calcVelocity(dX)); - velocityY.set(packet, calcVelocity(dY)); - velocityZ.set(packet, calcVelocity(dZ)); - server.updateEntity(this, packet); + server.updateEntity(this, new ClientboundSetEntityMotionPacket(entityId, new Vec3(calcVelocity(dX), calcVelocity(dY), calcVelocity(dZ)))); } private static final Class statusPacket = ClientboundEntityEventPacket.class; @@ -201,7 +196,7 @@ public class REntity { public void setPose(FlatteningWrapper.EntityPose pose) { this.pose = pose; - server.updateEntity(this, getDataWatcherPacket(sneakingDataWatcher, FlatteningWrapper.impl.getPose(pose))); + server.updateEntity(this, getDataWatcherPacket(poseDataWatcher, FlatteningWrapper.impl.getPose(pose))); } public void setOnFire(boolean perma) { @@ -220,7 +215,7 @@ public class REntity { public void setBowDrawn(boolean drawn, boolean offHand) { bowDrawn = drawn; - server.updateEntity(this, getDataWatcherPacket(bowDrawnWatcher, FlatteningWrapper.impl.getPose(FlatteningWrapper.EntityPose.SHOOTING))); + server.updateEntity(this, getDataWatcherPacket(poseDataWatcher, Pose.SHOOTING)); } public void setDisplayName(String displayName) { @@ -285,7 +280,7 @@ public class REntity { } if(pose != FlatteningWrapper.EntityPose.NORMAL) { - packetSink.accept(getDataWatcherPacket(sneakingDataWatcher, FlatteningWrapper.impl.getPose(pose))); + packetSink.accept(getDataWatcherPacket(poseDataWatcher, FlatteningWrapper.impl.getPose(pose))); } byte status = getEntityStatus(); @@ -311,12 +306,8 @@ public class REntity { } } - private static final Class destroyPacket = ClientboundRemoveEntitiesPacket.class; - private static final Reflection.Field destroyEntities = Reflection.getField(destroyPacket, IntList.class, 0); void despawn(Consumer packetSink){ - Object packet = Reflection.newInstance(destroyPacket); - destroyEntities.set(packet, new IntArrayList(new int[]{entityId})); - packetSink.accept(packet); + packetSink.accept(new ClientboundRemoveEntitiesPacket(new IntArrayList(new int[]{entityId}))); } void delist(Consumer packetSink) { @@ -350,36 +341,26 @@ public class REntity { return ChatWrapper.impl.getDataWatcherPacket(entityId, dataWatcherKeyValues); } - public static final Class teleportPacket = ClientboundTeleportEntityPacket.class; - public static final Reflection.Field teleportEntity = Reflection.getField(teleportPacket, int.class, 0); - public static final BountifulWrapper.PositionSetter teleportPosition = BountifulWrapper.impl.getPositionSetter(teleportPacket, 0); private Object getTeleportPacket(){ - return PacketConstructor.impl.teleportPacket(entityId, x, y, z, pitch, yaw); + PositionMoveRotation rot = new PositionMoveRotation(new Vec3(x, y, z), Vec3.ZERO, pitch, yaw); + return new ClientboundTeleportEntityPacket(entityId, rot, Collections.emptySet(), false); } - private static final Class entityPacket = ClientboundMoveEntityPacket.class; - private static final Reflection.Field moveEntityId = Reflection.getField(entityPacket, int.class, 0); - private static final BountifulWrapper.PositionSetter movePosition = BountifulWrapper.impl.getRelMoveSetter(entityPacket); - private static final Class lookPacket = ClientboundMoveEntityPacket.Rot.class; - private static final Class movePacket = ClientboundMoveEntityPacket.Pos.class; - private static final Class moveLookPacket = ClientboundMoveEntityPacket.PosRot.class; private Object getMoveLookPacket(double diffX, double diffY, double diffZ, boolean rotEq) { - Class clazz; + short x = (short)(this.x*4096); + short y = (short)(this.y*4096); + short z = (short)(this.z*4096); + byte yaw = (byte)(this.yaw*256/360); + byte pitch = (byte)(this.pitch*256/360); + if(diffX == 0 && diffY == 0 && diffZ == 0) { - if(rotEq) - return null; - - clazz = lookPacket; + if(rotEq) return null; + return new ClientboundMoveEntityPacket.Rot(entityId, pitch, yaw, false); } else if (rotEq) { - clazz = movePacket; + return new ClientboundMoveEntityPacket.Pos(entityId, x, y, z, false); } else { - clazz = moveLookPacket; + return new ClientboundMoveEntityPacket.PosRot(entityId, x, y, z, pitch, yaw, false); } - - Object packet = Reflection.newInstance(clazz); - moveEntityId.set(packet, entityId); - movePosition.set(packet, diffX, diffY, diffZ, pitch, yaw); - return packet; } private static final Class headRotationPacket = ClientboundRotateHeadPacket.class; @@ -392,15 +373,8 @@ public class REntity { return packet; } - private static final Reflection.Field equipmentEntity = Reflection.getField(ProtocolWrapper.equipmentPacket, int.class, 0); - private static final Reflection.Field equipmentSlots = Reflection.getField(ProtocolWrapper.equipmentPacket, List.class, 0); - - protected Object getEquipmentPacket(Object slot, ItemStack stack){ - Object packet = Reflection.newInstance(ProtocolWrapper.equipmentPacket); - equipmentEntity.set(packet, entityId); - equipmentSlots.set(packet, new ArrayList<>()); - ProtocolWrapper.impl.setEquipmentPacketStack(packet, slot, CraftItemStack.asNMSCopy(stack)); - return packet; + protected Object getEquipmentPacket(Object slot, ItemStack stack) { + return new ClientboundSetEquipmentPacket(entityId, Collections.singletonList(Pair.of((EquipmentSlot) slot, CraftItemStack.asNMSCopy(stack)))); } private static Function entitySpawnPacketGenerator(Class spawnPacket, int posOffset) { diff --git a/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/REntityServer.java b/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/REntityServer.java index 33d36170..0d10f232 100644 --- a/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/REntityServer.java +++ b/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/REntityServer.java @@ -20,7 +20,6 @@ package de.steamwar.entity; import com.comphenix.tinyprotocol.TinyProtocol; -import de.steamwar.Reflection; import de.steamwar.core.Core; import de.steamwar.core.FlatteningWrapper; import net.minecraft.network.protocol.game.ServerboundInteractPacket; @@ -39,7 +38,6 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.function.BiConsumer; import java.util.function.BiFunction; import java.util.function.Consumer; -import java.util.function.Function; import java.util.stream.Collectors; @@ -48,17 +46,6 @@ public class REntityServer implements Listener { private static final HashSet emptyEntities = new HashSet<>(0); private static final HashSet emptyPlayers = new HashSet<>(0); - private static final Class useEntity = ServerboundInteractPacket.class; - private static final Reflection.Field useEntityTarget = Reflection.getField(useEntity, int.class, 0); - private static final Class useEntityEnumAction = Reflection.getClass("net.minecraft.network.protocol.game.ServerboundInteractPacket$Action"); - private static final Reflection.Field useEntityAction = Reflection.getField(useEntity, useEntityEnumAction, 0); - private static final Function getEntityAction; - static { - Class useEntityEnumActionType = Reflection.getClass("net.minecraft.network.protocol.game.ServerboundInteractPacket$ActionType"); - Reflection.Method useEntityGetAction = Reflection.getTypedMethod(useEntityEnumAction, null, useEntityEnumActionType); - getEntityAction = value -> ((Enum) useEntityGetAction.invoke(value)).ordinal(); - } - private final ConcurrentHashMap entityMap = new ConcurrentHashMap<>(); private final HashMap> entities = new HashMap<>(); private final HashMap> players = new HashMap<>(); @@ -68,8 +55,8 @@ public class REntityServer implements Listener { private EntityActionListener callback = null; private final Set playersThatClicked = Collections.synchronizedSet(new HashSet<>()); - private final BiFunction filter = (player, packet) -> { - REntity entity = entityMap.get(useEntityTarget.get(packet)); + private final BiFunction filter = (player, packet) -> { + REntity entity = entityMap.get(packet.getEntityId()); if (entity == null) return packet; @@ -77,7 +64,7 @@ public class REntityServer implements Listener { return null; playersThatClicked.add(player); - EntityAction action = getEntityAction.apply(useEntityAction.get(packet)) == 1 ? EntityAction.ATTACK : EntityAction.INTERACT; + EntityAction action = packet.isAttack() ? EntityAction.ATTACK : EntityAction.INTERACT; Bukkit.getScheduler().runTask(Core.getInstance(), () -> { playersThatClicked.remove(player); callback.onAction(player, entity, action); @@ -94,7 +81,7 @@ public class REntityServer implements Listener { this.callback = callback; if(uninitialized) - TinyProtocol.instance.addFilter(useEntity, filter); + TinyProtocol.instance.addTypedFilter(ServerboundInteractPacket.class, filter); } public void addPlayer(Player player) { @@ -117,7 +104,7 @@ public class REntityServer implements Listener { } public void close() { - TinyProtocol.instance.removeFilter(useEntity, filter); + TinyProtocol.instance.removeFilter(ServerboundInteractPacket.class, filter); for(Player player : lastLocation.keySet().toArray(new Player[0])) { removePlayer(player); } diff --git a/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/RItemDisplay.java b/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/RItemDisplay.java index 1d78cb8d..216d1741 100644 --- a/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/RItemDisplay.java +++ b/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/RItemDisplay.java @@ -19,9 +19,9 @@ package de.steamwar.entity; -import de.steamwar.core.BountifulWrapper; -import de.steamwar.core.ProtocolWrapper; import lombok.Getter; +import net.minecraft.network.syncher.EntityDataAccessor; +import net.minecraft.network.syncher.EntityDataSerializers; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.craftbukkit.inventory.CraftItemStack; @@ -61,14 +61,14 @@ public class RItemDisplay extends RDisplay { sendPacket(updatePacketSink, this::getItemStack); } - private static final Object itemStackWatcher = BountifulWrapper.impl.getDataWatcherObject(23, ProtocolWrapper.itemStack); + private static final EntityDataAccessor itemStackWatcher = new EntityDataAccessor<>(23, EntityDataSerializers.ITEM_STACK); private void getItemStack(boolean ignoreDefault, BiConsumer packetSink) { if (ignoreDefault || !itemStack.equals(DEFAULT_ITEM_STACK)) { packetSink.accept(itemStackWatcher, CraftItemStack.asNMSCopy(itemStack)); } } - private static final Object itemDisplayTransformWatcher = BountifulWrapper.impl.getDataWatcherObject(24, Byte.class); + private static final EntityDataAccessor itemDisplayTransformWatcher = new EntityDataAccessor<>(24, EntityDataSerializers.BYTE); public void setItemDisplayTransform(ItemDisplay.ItemDisplayTransform itemDisplayTransform) { this.itemDisplayTransform = itemDisplayTransform; sendPacket(updatePacketSink, this::getItemDisplayTransform); diff --git a/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/RPlayer.java b/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/RPlayer.java index 6f7ce6b5..873c2f85 100644 --- a/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/RPlayer.java +++ b/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/RPlayer.java @@ -28,6 +28,8 @@ import de.steamwar.network.CoreNetworkHandler; import de.steamwar.network.NetworkSender; import de.steamwar.network.packets.common.PlayerSkinRequestPacket; import lombok.Getter; +import net.minecraft.network.protocol.game.ClientboundAddEntityPacket; +import net.minecraft.world.phys.Vec3; import org.bukkit.GameMode; import org.bukkit.Location; import org.bukkit.entity.EntityType; @@ -95,6 +97,18 @@ public class RPlayer extends REntity { } private Object getNamedSpawnPacket() { - return PacketConstructor.impl.createRPlayerSpawn(this); + return new ClientboundAddEntityPacket( + entityId, + uuid, + x, + y, + z, + yaw, + pitch, + net.minecraft.world.entity.EntityType.PLAYER, + 0, + Vec3.ZERO, + headYaw + ); } } diff --git a/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/RTextDisplay.java b/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/RTextDisplay.java index 7deb82f8..54a56d6c 100644 --- a/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/RTextDisplay.java +++ b/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/RTextDisplay.java @@ -19,10 +19,11 @@ package de.steamwar.entity; -import de.steamwar.core.BountifulWrapper; import de.steamwar.core.ChatWrapper; import lombok.Getter; import net.minecraft.network.chat.Component; +import net.minecraft.network.syncher.EntityDataAccessor; +import net.minecraft.network.syncher.EntityDataSerializers; import org.bukkit.Location; import org.bukkit.entity.EntityType; import org.bukkit.entity.TextDisplay; @@ -73,8 +74,7 @@ public class RTextDisplay extends RDisplay { sendPacket(updatePacketSink, this::getText); } - private static final Class iChatBaseComponent = Component.class; - private static final Object textWatcher = BountifulWrapper.impl.getDataWatcherObject(23, iChatBaseComponent); + private static final EntityDataAccessor textWatcher = new EntityDataAccessor<>(23, EntityDataSerializers.COMPONENT); private void getText(boolean ignoreDefault, BiConsumer packetSink) { if (ignoreDefault || !text.isEmpty()) { packetSink.accept(textWatcher, ChatWrapper.impl.stringToChatComponent(text)); @@ -86,7 +86,7 @@ public class RTextDisplay extends RDisplay { sendPacket(updatePacketSink, this::getLineWidth); } - private static final Object lineWidthWatcher = BountifulWrapper.impl.getDataWatcherObject(24, Integer.class); + private static final EntityDataAccessor lineWidthWatcher = new EntityDataAccessor<>(24, EntityDataSerializers.INT); private void getLineWidth(boolean ignoreDefault, BiConsumer packetSink) { if (ignoreDefault || lineWidth != 200) { packetSink.accept(lineWidthWatcher, lineWidth); @@ -98,7 +98,7 @@ public class RTextDisplay extends RDisplay { sendPacket(updatePacketSink, this::getTextOpacity); } - private static final Object textOpacityWatcher = BountifulWrapper.impl.getDataWatcherObject(26, Byte.class); + private static final EntityDataAccessor textOpacityWatcher = new EntityDataAccessor<>(26, EntityDataSerializers.BYTE); private void getTextOpacity(boolean ignoreDefault, BiConsumer packetSink) { if (ignoreDefault || textOpacity != (byte) -1) { packetSink.accept(textOpacityWatcher, textOpacity); @@ -120,7 +120,7 @@ public class RTextDisplay extends RDisplay { sendPacket(updatePacketSink, this::getTextStatus, this::getBackgroundColor); } - private static final Object backgroundColorWatcher = BountifulWrapper.impl.getDataWatcherObject(25, Integer.class); + private static final EntityDataAccessor backgroundColorWatcher = new EntityDataAccessor<>(25, EntityDataSerializers.INT); private void getBackgroundColor(boolean ignoreDefault, BiConsumer packetSink) { if (ignoreDefault || backgroundColor != null) { packetSink.accept(backgroundColorWatcher, backgroundColor); @@ -139,7 +139,7 @@ public class RTextDisplay extends RDisplay { sendPacket(updatePacketSink, this::getTextStatus); } - private static final Object textStatusWatcher = BountifulWrapper.impl.getDataWatcherObject(27, Byte.class); + private static final EntityDataAccessor textStatusWatcher = new EntityDataAccessor<>(27, EntityDataSerializers.BYTE); private void getTextStatus(boolean ignoreDefault, BiConsumer packetSink) { byte status = 0; From cfa650bcf4d81b742d6a0dda7916f26545d3cbc4 Mon Sep 17 00:00:00 2001 From: YoyoNow Date: Sat, 16 May 2026 21:41:50 +0200 Subject: [PATCH 02/19] Remove more reflection calls --- .../bausystem/features/xray/XrayCommand.java | 20 ++++++--- .../utils/PlayerMovementWrapper.java | 42 ------------------- .../comphenix/tinyprotocol/TinyProtocol.java | 2 +- .../de/steamwar/core/BountifulWrapper.java | 8 +--- .../src/de/steamwar/entity/REntity.java | 5 +-- 5 files changed, 18 insertions(+), 59 deletions(-) delete mode 100644 BauSystem/BauSystem_Main/src/de/steamwar/bausystem/utils/PlayerMovementWrapper.java diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/xray/XrayCommand.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/xray/XrayCommand.java index 401f6066..b1d100f3 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/xray/XrayCommand.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/xray/XrayCommand.java @@ -23,7 +23,6 @@ import com.comphenix.tinyprotocol.TinyProtocol; import de.steamwar.bausystem.BauSystem; import de.steamwar.bausystem.features.techhider.TechHiderCommand; import de.steamwar.bausystem.region.Region; -import de.steamwar.bausystem.utils.PlayerMovementWrapper; import de.steamwar.bausystem.utils.ScoreboardElement; import de.steamwar.command.SWCommand; import de.steamwar.core.CraftbukkitWrapper; @@ -32,8 +31,10 @@ import de.steamwar.linkage.LinkedInstance; import de.steamwar.techhider.TechHider; import net.md_5.bungee.api.ChatMessageType; import net.minecraft.network.protocol.game.ServerboundMovePlayerPacket; +import net.minecraft.server.level.ServerPlayer; import org.bukkit.Bukkit; import org.bukkit.Material; +import org.bukkit.craftbukkit.entity.CraftPlayer; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; @@ -96,19 +97,26 @@ public class XrayCommand extends SWCommand implements Listener, ScoreboardElemen } { - BiFunction positionSetter = (player, o) -> { + BiFunction positionSetter = (player, packet) -> { Region region = Region.getRegion(player.getLocation()); if (hidden.containsKey(region) && hidden.get(region).contains(player)) { Bukkit.getScheduler().runTaskLater(BauSystem.getInstance(), () -> { - PlayerMovementWrapper.impl.setPosition(player, o); + ServerPlayer serverPlayer = ((CraftPlayer) player).getHandle(); + if (packet.hasPos) { + serverPlayer.setPosRaw(packet.x, packet.y, packet.z); + } + if (packet.hasRot) { + serverPlayer.setXRot(packet.xRot); + serverPlayer.setYRot(packet.yRot); + } }, 0); return null; } - return o; + return packet; }; - TinyProtocol.instance.addFilter(ServerboundMovePlayerPacket.Pos.class, positionSetter); - TinyProtocol.instance.addFilter(ServerboundMovePlayerPacket.PosRot.class, positionSetter); + TinyProtocol.instance.addTypedFilter(ServerboundMovePlayerPacket.Pos.class, positionSetter); + TinyProtocol.instance.addTypedFilter(ServerboundMovePlayerPacket.PosRot.class, positionSetter); } @EventHandler diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/utils/PlayerMovementWrapper.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/utils/PlayerMovementWrapper.java deleted file mode 100644 index 65394390..00000000 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/utils/PlayerMovementWrapper.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * This file is a part of the SteamWar software. - * - * Copyright (C) 2025 SteamWar.de-Serverteam - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero 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 Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -package de.steamwar.bausystem.utils; - -import net.minecraft.network.protocol.game.ServerboundMovePlayerPacket; -import net.minecraft.server.level.ServerPlayer; -import org.bukkit.craftbukkit.entity.CraftPlayer; -import org.bukkit.entity.Player; - -public class PlayerMovementWrapper { - - public static final PlayerMovementWrapper impl = new PlayerMovementWrapper(); - - public void setPosition(Player player, Object object) { - ServerboundMovePlayerPacket packetPlayInFlying = ((ServerboundMovePlayerPacket) object); - ServerPlayer serverPlayer = ((CraftPlayer) player).getHandle(); - if (packetPlayInFlying.hasPos) { - serverPlayer.setPosRaw(packetPlayInFlying.x, packetPlayInFlying.y, packetPlayInFlying.z); - } - if (packetPlayInFlying.hasRot) { - serverPlayer.setXRot(packetPlayInFlying.xRot); - serverPlayer.setYRot(packetPlayInFlying.yRot); - } - } -} diff --git a/SpigotCore/SpigotCore_Main/src/com/comphenix/tinyprotocol/TinyProtocol.java b/SpigotCore/SpigotCore_Main/src/com/comphenix/tinyprotocol/TinyProtocol.java index 6ea85ccc..2aa64c77 100644 --- a/SpigotCore/SpigotCore_Main/src/com/comphenix/tinyprotocol/TinyProtocol.java +++ b/SpigotCore/SpigotCore_Main/src/com/comphenix/tinyprotocol/TinyProtocol.java @@ -243,7 +243,7 @@ public class TinyProtocol { } } - public void addTypedFilter(Class packetType, BiFunction filter) { + public void addTypedFilter(Class packetType, BiFunction filter) { packetFilters.computeIfAbsent(packetType, c -> new CopyOnWriteArrayList<>()).add((BiFunction) filter); } diff --git a/SpigotCore/SpigotCore_Main/src/de/steamwar/core/BountifulWrapper.java b/SpigotCore/SpigotCore_Main/src/de/steamwar/core/BountifulWrapper.java index a8377e1e..4894a2ee 100644 --- a/SpigotCore/SpigotCore_Main/src/de/steamwar/core/BountifulWrapper.java +++ b/SpigotCore/SpigotCore_Main/src/de/steamwar/core/BountifulWrapper.java @@ -41,9 +41,7 @@ public class BountifulWrapper { } public void sendMessage(Player player, ChatMessageType type, BaseComponent... msg) { - if(type == ChatMessageType.CHAT) - type = ChatMessageType.SYSTEM; - + if(type == ChatMessageType.CHAT) type = ChatMessageType.SYSTEM; player.spigot().sendMessage(type, msg); } @@ -62,9 +60,7 @@ public class BountifulWrapper { Reflection.Field field = Reflection.getField(packetClass, PositionMoveRotation.class, 0); return (packet, x, y, z, pitch, yaw) -> { - PositionMoveRotation pos = field.get(packet); - - field.set(packet, new PositionMoveRotation(new Vec3(x, y, z), pos.deltaMovement(), yaw, pitch)); + field.set(packet, new PositionMoveRotation(new Vec3(x, y, z), field.get(packet).deltaMovement(), yaw, pitch)); }; } catch (IllegalArgumentException e) { Reflection.Field posX = Reflection.getField(packetClass, double.class, fieldOffset); diff --git a/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/REntity.java b/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/REntity.java index eb075295..b5643eb2 100644 --- a/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/REntity.java +++ b/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/REntity.java @@ -82,6 +82,7 @@ public class REntity { private boolean bowDrawn; @Getter private boolean noGravity; + @Getter private boolean isGlowing; private int fireTick; @@ -245,10 +246,6 @@ public class REntity { server.updateEntity(this,getDataWatcherPacket(entityStatusWatcher,getEntityStatus())); } - public boolean isGlowing() { - return isGlowing; - } - private static final Function spawnPacketGenerator = entitySpawnPacketGenerator(ProtocolWrapper.spawnPacket, 2); private static final Reflection.Field additionalData = Reflection.getField(ProtocolWrapper.spawnPacket, int.class, 4); From fcc370c353f9544e7d2be8219850101fac41ad34 Mon Sep 17 00:00:00 2001 From: YoyoNow Date: Sat, 16 May 2026 22:21:06 +0200 Subject: [PATCH 03/19] Remove even more useless stuff --- .../elements/LoaderInteractionElement.java | 4 +- .../loader/elements/impl/LoaderWait.java | 4 +- .../gui/SimulatorGroupSettingsGui.java | 16 +- .../simulator/gui/SimulatorObserverGui.java | 8 +- .../SimulatorObserverPhaseSettingsGui.java | 8 +- .../gui/SimulatorObserverSettingsGui.java | 16 +- .../simulator/gui/SimulatorRedstoneGui.java | 8 +- .../SimulatorRedstonePhaseSettingsGui.java | 12 +- .../gui/SimulatorRedstoneSettingsGui.java | 16 +- .../simulator/gui/SimulatorSettingsGui.java | 12 +- .../simulator/gui/SimulatorTNTGui.java | 8 +- .../gui/SimulatorTNTPhaseSettingsGui.java | 16 +- .../gui/SimulatorTNTSettingsGui.java | 16 +- .../simulator/gui/base/SimulatorPageGui.java | 5 +- .../gui/base/SimulatorScrollGui.java | 5 +- .../smartplace/SmartPlaceListener.java | 4 +- .../features/world/SpectatorListener.java | 21 +- .../de/steamwar/fightsystem/commands/GUI.java | 9 +- .../fightsystem/fight/FightSchematic.java | 2 +- .../steamwar/fightsystem/fight/FightTeam.java | 8 +- .../de/steamwar/fightsystem/fight/Kit.java | 12 +- .../fightsystem/record/PacketProcessor.java | 3 +- .../fightsystem/utils/ColorConverter.java | 59 +++- .../fightsystem/utils/FlatteningWrapper.java | 5 - .../winconditions/WinconditionBlocks.java | 3 +- .../lobby/special/easter/EggHuntCommand.java | 6 +- .../commands/schematiccommand/GUI.java | 30 +- .../SchematicCommandUtils.java | 8 +- .../src/de/steamwar/core/ChatWrapper.java | 4 +- .../de/steamwar/core/CheckpointUtilsJ9.java | 5 +- .../de/steamwar/core/FlatteningWrapper.java | 331 +----------------- .../de/steamwar/core/WorldEditRenderer.java | 2 +- .../src/de/steamwar/entity/REntity.java | 33 +- .../src/de/steamwar/entity/REntityServer.java | 3 +- .../src/de/steamwar/entity/RTextDisplay.java | 2 +- .../src/de/steamwar/inventory/SWItem.java | 36 +- .../src/de/steamwar/inventory/SWListInv.java | 14 +- .../steamwar/inventory/SchematicSelector.java | 12 +- .../velocitycore/commands/BauCommand.java | 13 +- .../velocitycore/commands/FightCommand.java | 9 +- .../velocitycore/commands/ModCommand.java | 20 +- .../velocitycore/commands/TeamCommand.java | 36 +- .../velocitycore/inventory/SWItem.java | 7 +- .../velocitycore/inventory/SWListInv.java | 8 +- .../velocitycore/inventory/SWStreamInv.java | 8 +- 45 files changed, 278 insertions(+), 589 deletions(-) diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loader/elements/LoaderInteractionElement.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loader/elements/LoaderInteractionElement.java index 29c2be7c..5a6c547a 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loader/elements/LoaderInteractionElement.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loader/elements/LoaderInteractionElement.java @@ -210,7 +210,7 @@ public abstract class LoaderInteractionElement & LoaderSetting } if (currentElement.hasTicks(this)) { - swInventory.setItem(ticksStart + 3, new SWItem(SWItem.getDye(1), BauSystem.MESSAGE.parse("LOADER_SETTING_TICKS_REMOVE_ONE", player), Arrays.asList(BauSystem.MESSAGE.parse("LOADER_SETTING_TICKS_REMOVE_ONE_SHIFT", player)), false, clickType -> {}).getItemStack(), clickType -> { + swInventory.setItem(ticksStart + 3, new SWItem(Material.RED_DYE, BauSystem.MESSAGE.parse("LOADER_SETTING_TICKS_REMOVE_ONE", player), Arrays.asList(BauSystem.MESSAGE.parse("LOADER_SETTING_TICKS_REMOVE_ONE_SHIFT", player)), false, clickType -> {}).getItemStack(), clickType -> { long ticks = extraTicks.get(index); ticks -= clickType.isShiftClick() ? 5 : 1; if (ticks < 1) ticks = 1; @@ -234,7 +234,7 @@ public abstract class LoaderInteractionElement & LoaderSetting swAnvilInv.open(); }); - swInventory.setItem(ticksStart + 5, new SWItem(SWItem.getDye(10), BauSystem.MESSAGE.parse("LOADER_SETTING_TICKS_ADD_ONE", player), Arrays.asList(BauSystem.MESSAGE.parse("LOADER_SETTING_TICKS_ADD_ONE_SHIFT", player)), false, clickType -> {}).getItemStack(), clickType -> { + swInventory.setItem(ticksStart + 5, new SWItem(Material.LIME_DYE, BauSystem.MESSAGE.parse("LOADER_SETTING_TICKS_ADD_ONE", player), Arrays.asList(BauSystem.MESSAGE.parse("LOADER_SETTING_TICKS_ADD_ONE_SHIFT", player)), false, clickType -> {}).getItemStack(), clickType -> { long ticks = extraTicks.get(index); ticks += clickType.isShiftClick() ? 5 : 1; extraTicks.set(index, ticks); diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loader/elements/impl/LoaderWait.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loader/elements/impl/LoaderWait.java index 2ab40d9d..b36bf320 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loader/elements/impl/LoaderWait.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loader/elements/impl/LoaderWait.java @@ -63,7 +63,7 @@ public class LoaderWait implements LoaderElement { for (int i = 9; i < 18; i++) swInventory.setItem(i, new SWItem(Material.GRAY_STAINED_GLASS_PANE, "§7")); swInventory.setItem(9, new SWItem(Material.ARROW, BauSystem.MESSAGE.parse("LOADER_GUI_WAIT_BACK", player)).setCustomModelData(CMDs.BACK).getItemStack(), clickType -> backAction.run()); - swInventory.setItem(3, new SWItem(SWItem.getDye(1), BauSystem.MESSAGE.parse("LOADER_SETTING_TICKS_REMOVE_ONE", player), Arrays.asList(BauSystem.MESSAGE.parse("LOADER_SETTING_TICKS_REMOVE_ONE_SHIFT", player)), false, clickType -> {}).getItemStack(), clickType -> { + swInventory.setItem(3, new SWItem(Material.RED_DYE, BauSystem.MESSAGE.parse("LOADER_SETTING_TICKS_REMOVE_ONE", player), Arrays.asList(BauSystem.MESSAGE.parse("LOADER_SETTING_TICKS_REMOVE_ONE_SHIFT", player)), false, clickType -> {}).getItemStack(), clickType -> { delay -= clickType.isShiftClick() ? 5 : 1; if (delay < 0) delay = 0; swInventory.setItem(4, menu(player)); @@ -80,7 +80,7 @@ public class LoaderWait implements LoaderElement { }); swAnvilInv.open(); }); - swInventory.setItem(5, new SWItem(SWItem.getDye(10), BauSystem.MESSAGE.parse("LOADER_SETTING_TICKS_ADD_ONE", player), Arrays.asList(BauSystem.MESSAGE.parse("LOADER_SETTING_TICKS_ADD_ONE_SHIFT", player)), false, clickType -> {}).getItemStack(), clickType -> { + swInventory.setItem(5, new SWItem(Material.LIME_DYE, BauSystem.MESSAGE.parse("LOADER_SETTING_TICKS_ADD_ONE", player), Arrays.asList(BauSystem.MESSAGE.parse("LOADER_SETTING_TICKS_ADD_ONE_SHIFT", player)), false, clickType -> {}).getItemStack(), clickType -> { delay += clickType.isShiftClick() ? 5 : 1; swInventory.setItem(4, menu(player)); }); diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorGroupSettingsGui.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorGroupSettingsGui.java index ce6085b7..4ba6ea74 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorGroupSettingsGui.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorGroupSettingsGui.java @@ -69,7 +69,7 @@ public class SimulatorGroupSettingsGui extends SimulatorBaseGui { // Base Tick int baseTicks = simulatorGroup.getBaseTick(); - inventory.setItem(9, new SWItem(SWItem.getDye(10), "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { + inventory.setItem(9, new SWItem(Material.LIME_DYE, "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { simulatorGroup.changeBaseTicks(clickType.isShiftClick() ? 5 : 1); SimulatorWatcher.update(simulator); }).setCustomModelData(CMDs.Simulator.INCREMENT_OR_DISABLED)); @@ -83,7 +83,7 @@ public class SimulatorGroupSettingsGui extends SimulatorBaseGui { }); baseTick.getItemStack().setAmount(Math.max(1, Math.min(baseTicks, 64))); inventory.setItem(18, baseTick); - inventory.setItem(27, new SWItem(SWItem.getDye(baseTicks > 0 ? 1 : 8), "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { + inventory.setItem(27, new SWItem(baseTicks > 0 ? Material.RED_DYE : Material.GRAY_DYE, "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { if (baseTicks - (clickType.isShiftClick() ? 5 : 1) < 0) { simulatorGroup.changeBaseTicks(-baseTicks); } else { @@ -163,7 +163,7 @@ public class SimulatorGroupSettingsGui extends SimulatorBaseGui { } //Pos X - inventory.setItem(15, new SWItem(SWItem.getDye(10), "§e+1", Arrays.asList(allTNT ? "§7Shift§8: §e+0.0625" : "§7Shift§8: §e+5"), false, clickType -> { + inventory.setItem(15, new SWItem(Material.LIME_DYE, "§e+1", Arrays.asList(allTNT ? "§7Shift§8: §e+0.0625" : "§7Shift§8: §e+5"), false, clickType -> { simulatorGroup.move(clickType.isShiftClick() ? (allTNT ? 0.0625 : 5) : 1, 0, 0); SimulatorWatcher.update(simulator); }).setCustomModelData(CMDs.Simulator.INCREMENT_OR_DISABLED)); @@ -177,13 +177,13 @@ public class SimulatorGroupSettingsGui extends SimulatorBaseGui { return true; }, this).setItem(Material.PAPER).open(); })); - inventory.setItem(33, new SWItem(SWItem.getDye(1), "§e-1", Arrays.asList(allTNT ? "§7Shift§8: §e-0.0625" : "§7Shift§8: §e-5"), false, clickType -> { + inventory.setItem(33, new SWItem(Material.RED_DYE, "§e-1", Arrays.asList(allTNT ? "§7Shift§8: §e-0.0625" : "§7Shift§8: §e-5"), false, clickType -> { simulatorGroup.move(clickType.isShiftClick() ? (allTNT ? -0.0625 : -5) : -1, 0, 0); SimulatorWatcher.update(simulator); }).setCustomModelData(CMDs.Simulator.DECREMENT_OR_DISABLED)); //Pos Y - inventory.setItem(16, new SWItem(SWItem.getDye(10), "§e+1", Arrays.asList(allTNT ? "§7Shift§8: §e+0.0625" : "§7Shift§8: §e+5"), false, clickType -> { + inventory.setItem(16, new SWItem(Material.LIME_DYE, "§e+1", Arrays.asList(allTNT ? "§7Shift§8: §e+0.0625" : "§7Shift§8: §e+5"), false, clickType -> { simulatorGroup.move(0, clickType.isShiftClick() ? (allTNT ? 0.0625 : 5) : 1, 0); SimulatorWatcher.update(simulator); }).setCustomModelData(CMDs.Simulator.INCREMENT_OR_DISABLED)); @@ -197,13 +197,13 @@ public class SimulatorGroupSettingsGui extends SimulatorBaseGui { return true; }, this).setItem(Material.PAPER).open(); })); - inventory.setItem(34, new SWItem(SWItem.getDye(1), "§e-1", Arrays.asList(allTNT ? "§7Shift§8: §e-0.0625" : "§7Shift§8: §e-5"), false, clickType -> { + inventory.setItem(34, new SWItem(Material.RED_DYE, "§e-1", Arrays.asList(allTNT ? "§7Shift§8: §e-0.0625" : "§7Shift§8: §e-5"), false, clickType -> { simulatorGroup.move(0, clickType.isShiftClick() ? (allTNT ? -0.0625 : -5) : -1, 0); SimulatorWatcher.update(simulator); }).setCustomModelData(CMDs.Simulator.ENABLED_OR_DISABLED)); //Pos Z - inventory.setItem(17, new SWItem(SWItem.getDye(10), "§e+1", Arrays.asList(allTNT ? "§7Shift§8: §e+0.0625" : "§7Shift§8: §e+5"), false, clickType -> { + inventory.setItem(17, new SWItem(Material.LIME_DYE, "§e+1", Arrays.asList(allTNT ? "§7Shift§8: §e+0.0625" : "§7Shift§8: §e+5"), false, clickType -> { simulatorGroup.move(0, 0, clickType.isShiftClick() ? (allTNT ? 0.0625 : 5) : 1); SimulatorWatcher.update(simulator); }).setCustomModelData(CMDs.Simulator.INCREMENT_OR_DISABLED)); @@ -217,7 +217,7 @@ public class SimulatorGroupSettingsGui extends SimulatorBaseGui { return true; }, this).setItem(Material.PAPER).open(); })); - inventory.setItem(35, new SWItem(SWItem.getDye(1), "§e-1", Arrays.asList(allTNT ? "§7Shift§8: §e-0.0625" : "§7Shift§8: §e-5"), false, clickType -> { + inventory.setItem(35, new SWItem(Material.RED_DYE, "§e-1", Arrays.asList(allTNT ? "§7Shift§8: §e-0.0625" : "§7Shift§8: §e-5"), false, clickType -> { simulatorGroup.move(0, 0, clickType.isShiftClick() ? (allTNT ? -0.0625 : -5) : -1); SimulatorWatcher.update(simulator); }).setCustomModelData(CMDs.Simulator.DECREMENT_OR_DISABLED)); diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorObserverGui.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorObserverGui.java index b6ad62a0..ef71f4c4 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorObserverGui.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorObserverGui.java @@ -149,13 +149,13 @@ public class SimulatorObserverGui extends SimulatorScrollGui { Supplier getter = observerPhase::getTickOffset; Consumer setter = observerPhase::setTickOffset; return new SWItem[] { - new SWItem(SWItem.getDye(getter.get() < max ? 10 : 8), "§e+1", Arrays.asList("§7Shift§8:§e +5"), false, clickType -> { + new SWItem(getter.get() < max ? Material.LIME_DYE : Material.GRAY_DYE, "§e+1", Arrays.asList("§7Shift§8:§e +5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; setter.accept(Math.min(max, getter.get() + (clickType.isShiftClick() ? 5 : 1))); SimulatorWatcher.update(simulator); }).setCustomModelData(CMDs.Simulator.INCREMENT_OR_DISABLED), observer, - new SWItem(SWItem.getDye(getter.get() > min ? 1 : 8), "§e-1", Arrays.asList("§7Shift§8:§e -5"), false, clickType -> { + new SWItem(getter.get() > min ? Material.RED_DYE : Material.GRAY_DYE, "§e-1", Arrays.asList("§7Shift§8:§e -5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; setter.accept(Math.max(min, getter.get() - (clickType.isShiftClick() ? 5 : 1))); SimulatorWatcher.update(simulator); @@ -169,13 +169,13 @@ public class SimulatorObserverGui extends SimulatorScrollGui { @Override public SWItem[] lastColumn() { return new SWItem[]{ - new SWItem(SWItem.getDye(10), "§e+1", Arrays.asList("§7Shift§8:§e +5"), false, clickType -> { + new SWItem(Material.LIME_DYE, "§e+1", Arrays.asList("§7Shift§8:§e +5"), false, clickType -> { addNewPhase(clickType.isShiftClick()); }).setCustomModelData(CMDs.Simulator.INCREMENT_OR_DISABLED), new SWItem(Material.QUARTZ, "§eObserver§8:§a New Phase", clickType -> { addNewPhase(false); }).setCustomModelData(CMDs.Simulator.NEW_PHASE), - new SWItem(SWItem.getDye(8), "§7", clickType -> { + new SWItem(Material.GRAY_DYE, "§7", clickType -> { }).setCustomModelData(CMDs.Simulator.DECREMENT_OR_DISABLED), }; } diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorObserverPhaseSettingsGui.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorObserverPhaseSettingsGui.java index 2dd660bb..940bf085 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorObserverPhaseSettingsGui.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorObserverPhaseSettingsGui.java @@ -96,7 +96,7 @@ public class SimulatorObserverPhaseSettingsGui extends SimulatorBaseGui { //Tick Offset int offset = observer.getTickOffset(); - inventory.setItem(10, new SWItem(SWItem.getDye(offset < max ? 10 : 8), "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { + inventory.setItem(10, new SWItem(offset < max ? Material.LIME_DYE : Material.GRAY_DYE, "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; observer.setTickOffset(Math.min(max, offset + (clickType.isShiftClick() ? 5 : 1))); SimulatorWatcher.update(simulator); @@ -113,7 +113,7 @@ public class SimulatorObserverPhaseSettingsGui extends SimulatorBaseGui { offsetItem.getItemStack().setAmount(Math.max(1, Math.min(offset, 64))); inventory.setItem(19, offsetItem); - inventory.setItem(28, new SWItem(SWItem.getDye(offset > min ? 1 : 8), "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { + inventory.setItem(28, new SWItem(offset > min ? Material.RED_DYE : Material.GRAY_DYE, "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; observer.setTickOffset(Math.max(min, offset - (clickType.isShiftClick() ? 5 : 1))); SimulatorWatcher.update(simulator); @@ -121,7 +121,7 @@ public class SimulatorObserverPhaseSettingsGui extends SimulatorBaseGui { //Order int order = observer.getOrder(); - inventory.setItem(13, new SWItem(SWItem.getDye(order < SimulatorPhase.ORDER_LIMIT ? 10 : 8), "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { + inventory.setItem(13, new SWItem(order < SimulatorPhase.ORDER_LIMIT ? Material.LIME_DYE : Material.GRAY_DYE, "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; observer.setOrder(Math.min(SimulatorPhase.ORDER_LIMIT, order + (clickType.isShiftClick() ? 5 : 1))); SimulatorWatcher.update(simulator); @@ -139,7 +139,7 @@ public class SimulatorObserverPhaseSettingsGui extends SimulatorBaseGui { orderItem.getItemStack().setAmount(Math.max(1, Math.min(Math.abs(order), 30))); inventory.setItem(22, orderItem); - inventory.setItem(31, new SWItem(SWItem.getDye(order > -SimulatorPhase.ORDER_LIMIT ? 1 : 8), "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { + inventory.setItem(31, new SWItem(order > -SimulatorPhase.ORDER_LIMIT ? Material.RED_DYE : Material.GRAY_DYE, "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; observer.setOrder(Math.max(-SimulatorPhase.ORDER_LIMIT, order - (clickType.isShiftClick() ? 5 : 1))); SimulatorWatcher.update(simulator); diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorObserverSettingsGui.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorObserverSettingsGui.java index cd424170..172296dd 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorObserverSettingsGui.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorObserverSettingsGui.java @@ -67,7 +67,7 @@ public class SimulatorObserverSettingsGui extends SimulatorBaseGui { // Base Tick int baseTicks = observer.getBaseTick(); - inventory.setItem(9, new SWItem(SWItem.getDye(10), "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { + inventory.setItem(9, new SWItem(Material.LIME_DYE, "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; observer.changeBaseTicks(clickType.isShiftClick() ? 5 : 1); SimulatorWatcher.update(simulator); @@ -82,7 +82,7 @@ public class SimulatorObserverSettingsGui extends SimulatorBaseGui { }); baseTick.getItemStack().setAmount(Math.max(1, Math.min(baseTicks, 64))); inventory.setItem(18, baseTick); - inventory.setItem(27, new SWItem(SWItem.getDye(baseTicks > 0 ? 1 : 8), "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { + inventory.setItem(27, new SWItem(baseTicks > 0 ? Material.RED_DYE : Material.GRAY_DYE, "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; if (baseTicks - (clickType.isShiftClick() ? 5 : 1) < 0) { observer.changeBaseTicks(-baseTicks); @@ -93,7 +93,7 @@ public class SimulatorObserverSettingsGui extends SimulatorBaseGui { }).setCustomModelData(CMDs.Simulator.DECREMENT_OR_DISABLED)); //Pos X - inventory.setItem(15, new SWItem(SWItem.getDye(10), "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { + inventory.setItem(15, new SWItem(Material.LIME_DYE, "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; observer.move(clickType.isShiftClick() ? 5 : 1, 0, 0); SimulatorWatcher.update(simulator); @@ -105,14 +105,14 @@ public class SimulatorObserverSettingsGui extends SimulatorBaseGui { return true; }, this).open(); })); - inventory.setItem(33, new SWItem(SWItem.getDye(1), "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { + inventory.setItem(33, new SWItem(Material.RED_DYE, "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; observer.move(clickType.isShiftClick() ? -5 : -1, 0, 0); SimulatorWatcher.update(simulator); }).setCustomModelData(CMDs.Simulator.DECREMENT_OR_DISABLED)); //Pos Y - inventory.setItem(16, new SWItem(SWItem.getDye(10), "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { + inventory.setItem(16, new SWItem(Material.LIME_DYE, "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; observer.move(0, clickType.isShiftClick() ? 5 : 1, 0); SimulatorWatcher.update(simulator); @@ -124,14 +124,14 @@ public class SimulatorObserverSettingsGui extends SimulatorBaseGui { return true; }, this).open(); })); - inventory.setItem(34, new SWItem(SWItem.getDye(1), "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { + inventory.setItem(34, new SWItem(Material.RED_DYE, "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; observer.move(0, clickType.isShiftClick() ? -5 : -1, 0); SimulatorWatcher.update(simulator); }).setCustomModelData(CMDs.Simulator.DECREMENT_OR_DISABLED)); //Pos Z - inventory.setItem(17, new SWItem(SWItem.getDye(10), "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { + inventory.setItem(17, new SWItem(Material.LIME_DYE, "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; observer.move(0, 0, clickType.isShiftClick() ? 5 : 1); SimulatorWatcher.update(simulator); @@ -143,7 +143,7 @@ public class SimulatorObserverSettingsGui extends SimulatorBaseGui { return true; }, this).open(); })); - inventory.setItem(35, new SWItem(SWItem.getDye(1), "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { + inventory.setItem(35, new SWItem(Material.RED_DYE, "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; observer.move(0, 0, clickType.isShiftClick() ? -5 : -1); SimulatorWatcher.update(simulator); diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorRedstoneGui.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorRedstoneGui.java index fcaecd9a..01659707 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorRedstoneGui.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorRedstoneGui.java @@ -164,13 +164,13 @@ public class SimulatorRedstoneGui extends SimulatorScrollGui getter = redstoneSubPhase.place ? redstoneSubPhase.phase::getTickOffset : redstoneSubPhase.phase::getLifetime; Consumer setter = redstoneSubPhase.place ? redstoneSubPhase.phase::setTickOffset : redstoneSubPhase.phase::setLifetime; return new SWItem[] { - new SWItem(SWItem.getDye(getter.get() < max ? 10 : 8), "§e+1", Arrays.asList("§7Shift§8:§e +5"), false, clickType -> { + new SWItem(getter.get() < max ? Material.LIME_DYE : Material.GRAY_DYE, "§e+1", Arrays.asList("§7Shift§8:§e +5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; setter.accept(Math.min(max, getter.get() + (clickType.isShiftClick() ? 5 : 1))); SimulatorWatcher.update(simulator); }).setCustomModelData(CMDs.Simulator.INCREMENT_OR_DISABLED), redstone, - new SWItem(SWItem.getDye(getter.get() > min ? 1 : 8), "§e-1", Arrays.asList("§7Shift§8:§e -5"), false, clickType -> { + new SWItem(getter.get() > min ? Material.RED_DYE : Material.GRAY_DYE, "§e-1", Arrays.asList("§7Shift§8:§e -5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; setter.accept(Math.max(min, getter.get() - (clickType.isShiftClick() ? 5 : 1))); SimulatorWatcher.update(simulator); @@ -184,13 +184,13 @@ public class SimulatorRedstoneGui extends SimulatorScrollGui { + new SWItem(Material.LIME_DYE, "§e+1", Arrays.asList("§7Shift§8:§e +5"), false, clickType -> { addNewPhase(clickType.isShiftClick()); }).setCustomModelData(CMDs.Simulator.INCREMENT_OR_DISABLED), new SWItem(Material.REDSTONE, "§eRedstone§8:§a New Phase", clickType -> { addNewPhase(false); }).setCustomModelData(CMDs.Simulator.NEW_PHASE), - new SWItem(SWItem.getDye(8), "§7", clickType -> { + new SWItem(Material.GRAY_DYE, "§7", clickType -> { }).setCustomModelData(CMDs.Simulator.DECREMENT_OR_DISABLED), }; } diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorRedstonePhaseSettingsGui.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorRedstonePhaseSettingsGui.java index cf2c6aba..45cff890 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorRedstonePhaseSettingsGui.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorRedstonePhaseSettingsGui.java @@ -97,7 +97,7 @@ public class SimulatorRedstonePhaseSettingsGui extends SimulatorBaseGui { //Tick Offset int offset = redstone.getTickOffset(); - inventory.setItem(10, new SWItem(SWItem.getDye(offset < maxOffset ? 10 : 8), "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { + inventory.setItem(10, new SWItem(offset < maxOffset ? Material.LIME_DYE : Material.GRAY_DYE, "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; redstone.setTickOffset(Math.min(maxOffset, offset + (clickType.isShiftClick() ? 5 : 1))); SimulatorWatcher.update(simulator); @@ -114,7 +114,7 @@ public class SimulatorRedstonePhaseSettingsGui extends SimulatorBaseGui { offsetItem.getItemStack().setAmount(Math.max(1, Math.min(offset, 64))); inventory.setItem(19, offsetItem); - inventory.setItem(28, new SWItem(SWItem.getDye(offset > min ? 1 : 8), "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { + inventory.setItem(28, new SWItem(offset > min ? Material.RED_DYE : Material.GRAY_DYE, "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; redstone.setTickOffset(Math.max(min, offset - (clickType.isShiftClick() ? 5 : 1))); SimulatorWatcher.update(simulator); @@ -122,7 +122,7 @@ public class SimulatorRedstonePhaseSettingsGui extends SimulatorBaseGui { //Lifetime int lifetime = redstone.getLifetime(); - inventory.setItem(11, new SWItem(SWItem.getDye(lifetime < maxLifetime ? 10 : 8), "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { + inventory.setItem(11, new SWItem(lifetime < maxLifetime ? Material.LIME_DYE : Material.GRAY_DYE, "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; redstone.setLifetime(Math.min(maxLifetime, lifetime + (clickType.isShiftClick() ? 5 : 1))); SimulatorWatcher.update(simulator); @@ -139,7 +139,7 @@ public class SimulatorRedstonePhaseSettingsGui extends SimulatorBaseGui { lifetimeItem.getItemStack().setAmount(Math.max(1, Math.min(lifetime, 64))); inventory.setItem(20, lifetimeItem); - inventory.setItem(29, new SWItem(SWItem.getDye(lifetime > 0 ? 1 : 8), "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { + inventory.setItem(29, new SWItem(lifetime > 0 ? Material.RED_DYE : Material.GRAY_DYE, "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; redstone.setLifetime(Math.max(0, lifetime - (clickType.isShiftClick() ? 5 : 1))); SimulatorWatcher.update(simulator); @@ -147,7 +147,7 @@ public class SimulatorRedstonePhaseSettingsGui extends SimulatorBaseGui { //Order int order = redstone.getOrder(); - inventory.setItem(13, new SWItem(SWItem.getDye(order < SimulatorPhase.ORDER_LIMIT ? 10 : 8), "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { + inventory.setItem(13, new SWItem(order < SimulatorPhase.ORDER_LIMIT ? Material.LIME_DYE : Material.GRAY_DYE, "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; redstone.setOrder(Math.min(SimulatorPhase.ORDER_LIMIT, order + (clickType.isShiftClick() ? 5 : 1))); SimulatorWatcher.update(simulator); @@ -165,7 +165,7 @@ public class SimulatorRedstonePhaseSettingsGui extends SimulatorBaseGui { orderItem.getItemStack().setAmount(Math.max(1, Math.min(Math.abs(order), 30))); inventory.setItem(22, orderItem); - inventory.setItem(31, new SWItem(SWItem.getDye(order > -SimulatorPhase.ORDER_LIMIT ? 1 : 8), "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { + inventory.setItem(31, new SWItem(order > -SimulatorPhase.ORDER_LIMIT ? Material.RED_DYE : Material.GRAY_DYE, "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; redstone.setOrder(Math.max(-SimulatorPhase.ORDER_LIMIT, order - (clickType.isShiftClick() ? 5 : 1))); SimulatorWatcher.update(simulator); diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorRedstoneSettingsGui.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorRedstoneSettingsGui.java index a2901797..1aee4401 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorRedstoneSettingsGui.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorRedstoneSettingsGui.java @@ -66,7 +66,7 @@ public class SimulatorRedstoneSettingsGui extends SimulatorBaseGui { // Base Tick int baseTicks = redstone.getBaseTick(); - inventory.setItem(9, new SWItem(SWItem.getDye(10), "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { + inventory.setItem(9, new SWItem(Material.LIME_DYE, "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; redstone.changeBaseTicks(clickType.isShiftClick() ? 5 : 1); SimulatorWatcher.update(simulator); @@ -81,7 +81,7 @@ public class SimulatorRedstoneSettingsGui extends SimulatorBaseGui { }); baseTick.getItemStack().setAmount(Math.max(1, Math.min(baseTicks, 64))); inventory.setItem(18, baseTick); - inventory.setItem(27, new SWItem(SWItem.getDye(baseTicks > 0 ? 1 : 8), "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { + inventory.setItem(27, new SWItem(baseTicks > 0 ? Material.RED_DYE : Material.GRAY_DYE, "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; if (baseTicks - (clickType.isShiftClick() ? 5 : 1) < 0) { redstone.changeBaseTicks(-baseTicks); @@ -92,7 +92,7 @@ public class SimulatorRedstoneSettingsGui extends SimulatorBaseGui { }).setCustomModelData(CMDs.Simulator.DECREMENT_OR_DISABLED)); //Pos X - inventory.setItem(15, new SWItem(SWItem.getDye(10), "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { + inventory.setItem(15, new SWItem(Material.LIME_DYE, "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; redstone.move(clickType.isShiftClick() ? 5 : 1, 0, 0); SimulatorWatcher.update(simulator); @@ -104,14 +104,14 @@ public class SimulatorRedstoneSettingsGui extends SimulatorBaseGui { return true; }, this).open(); })); - inventory.setItem(33, new SWItem(SWItem.getDye(1), "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { + inventory.setItem(33, new SWItem(Material.RED_DYE, "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; redstone.move(clickType.isShiftClick() ? -5 : -1, 0, 0); SimulatorWatcher.update(simulator); }).setCustomModelData(CMDs.Simulator.DECREMENT_OR_DISABLED)); //Pos Y - inventory.setItem(16, new SWItem(SWItem.getDye(10), "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { + inventory.setItem(16, new SWItem(Material.LIME_DYE, "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; redstone.move(0, clickType.isShiftClick() ? 5 : 1, 0); SimulatorWatcher.update(simulator); @@ -123,14 +123,14 @@ public class SimulatorRedstoneSettingsGui extends SimulatorBaseGui { return true; }, this).open(); })); - inventory.setItem(34, new SWItem(SWItem.getDye(1), "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { + inventory.setItem(34, new SWItem(Material.RED_DYE, "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; redstone.move(0, clickType.isShiftClick() ? -5 : -1, 0); SimulatorWatcher.update(simulator); }).setCustomModelData(CMDs.Simulator.DECREMENT_OR_DISABLED)); //Pos Z - inventory.setItem(17, new SWItem(SWItem.getDye(10), "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { + inventory.setItem(17, new SWItem(Material.LIME_DYE, "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; redstone.move(0, 0, clickType.isShiftClick() ? 5 : 1); SimulatorWatcher.update(simulator); @@ -142,7 +142,7 @@ public class SimulatorRedstoneSettingsGui extends SimulatorBaseGui { return true; }, this).open(); })); - inventory.setItem(35, new SWItem(SWItem.getDye(1), "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { + inventory.setItem(35, new SWItem(Material.RED_DYE, "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; redstone.move(0, 0, clickType.isShiftClick() ? -5 : -1); SimulatorWatcher.update(simulator); diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorSettingsGui.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorSettingsGui.java index 839a1fad..060c20fb 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorSettingsGui.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorSettingsGui.java @@ -66,37 +66,37 @@ public class SimulatorSettingsGui extends SimulatorBaseGui { })); //Pos X - inventory.setItem(15, new SWItem(SWItem.getDye(10), "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { + inventory.setItem(15, new SWItem(Material.LIME_DYE, "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { simulator.move(clickType.isShiftClick() ? 5 : 1, 0, 0); SimulatorWatcher.update(simulator); }).setCustomModelData(CMDs.Simulator.INCREMENT_OR_DISABLED)); inventory.setItem(24, new SWItem(Material.PAPER, "§eX", clickType -> { })); - inventory.setItem(33, new SWItem(SWItem.getDye(1), "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { + inventory.setItem(33, new SWItem(Material.RED_DYE, "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { simulator.move(clickType.isShiftClick() ? -5 : -1, 0, 0); SimulatorWatcher.update(simulator); }).setCustomModelData(CMDs.Simulator.DECREMENT_OR_DISABLED)); //Pos Y - inventory.setItem(16, new SWItem(SWItem.getDye(10), "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { + inventory.setItem(16, new SWItem(Material.LIME_DYE, "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { simulator.move(0, clickType.isShiftClick() ? 5 : 1, 0); SimulatorWatcher.update(simulator); }).setCustomModelData(CMDs.Simulator.INCREMENT_OR_DISABLED)); inventory.setItem(25, new SWItem(Material.PAPER, "§eY", clickType -> { })); - inventory.setItem(34, new SWItem(SWItem.getDye(1), "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { + inventory.setItem(34, new SWItem(Material.RED_DYE, "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { simulator.move(0, clickType.isShiftClick() ? -5 : -1, 0); SimulatorWatcher.update(simulator); }).setCustomModelData(CMDs.Simulator.DECREMENT_OR_DISABLED)); //Pos Z - inventory.setItem(17, new SWItem(SWItem.getDye(10), "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { + inventory.setItem(17, new SWItem(Material.LIME_DYE, "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { simulator.move(0, 0, clickType.isShiftClick() ? 5 : 1); SimulatorWatcher.update(simulator); }).setCustomModelData(CMDs.Simulator.INCREMENT_OR_DISABLED)); inventory.setItem(26, new SWItem(Material.PAPER, "§eZ", clickType -> { })); - inventory.setItem(35, new SWItem(SWItem.getDye(1), "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { + inventory.setItem(35, new SWItem(Material.RED_DYE, "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { simulator.move(0, 0, clickType.isShiftClick() ? -5 : -1); SimulatorWatcher.update(simulator); }).setCustomModelData(CMDs.Simulator.DECREMENT_OR_DISABLED)); diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorTNTGui.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorTNTGui.java index 405bfbfb..bf7c4288 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorTNTGui.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorTNTGui.java @@ -134,13 +134,13 @@ public class SimulatorTNTGui extends SimulatorScrollGui { tnt.getItemStack().setAmount(Math.min(tntSetting.getCount(), 64)); return new SWItem[]{ - new SWItem(SWItem.getDye(10), "§e+1", Arrays.asList("§7Shift§8:§e +5"), false, clickType -> { + new SWItem(Material.LIME_DYE, "§e+1", Arrays.asList("§7Shift§8:§e +5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; tntSetting.setCount(tntSetting.getCount() + (clickType.isShiftClick() ? 5 : 1)); SimulatorWatcher.update(simulator); }).setCustomModelData(CMDs.Simulator.INCREMENT_OR_DISABLED), tnt, - new SWItem(SWItem.getDye(tntSetting.getCount() > 1 ? 1 : 8), "§e-1", Arrays.asList("§7Shift§8:§e -5"), false, clickType -> { + new SWItem(tntSetting.getCount() > 1 ? Material.RED_DYE : Material.GRAY_DYE, "§e-1", Arrays.asList("§7Shift§8:§e -5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; tntSetting.setCount(Math.max(1, tntSetting.getCount() - (clickType.isShiftClick() ? 5 : 1))); SimulatorWatcher.update(simulator); @@ -154,13 +154,13 @@ public class SimulatorTNTGui extends SimulatorScrollGui { @Override public SWItem[] lastColumn() { return new SWItem[]{ - new SWItem(SWItem.getDye(10), "§e+1", Arrays.asList("§7Shift§8:§e +5"), false, clickType -> { + new SWItem(Material.LIME_DYE, "§e+1", Arrays.asList("§7Shift§8:§e +5"), false, clickType -> { addNewPhase(clickType.isShiftClick()); }).setCustomModelData(CMDs.Simulator.INCREMENT_OR_DISABLED), new SWItem(Material.GUNPOWDER, "§eTNT§8:§a New Phase", clickType -> { addNewPhase(false); }).setCustomModelData(CMDs.Simulator.NEW_PHASE), - new SWItem(SWItem.getDye(8), "§7", clickType -> { + new SWItem(Material.GRAY_DYE, "§7", clickType -> { }).setCustomModelData(CMDs.Simulator.DECREMENT_OR_DISABLED), }; } diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorTNTPhaseSettingsGui.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorTNTPhaseSettingsGui.java index cc60da86..95e998f3 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorTNTPhaseSettingsGui.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorTNTPhaseSettingsGui.java @@ -77,7 +77,7 @@ public class SimulatorTNTPhaseSettingsGui extends SimulatorBaseGui { //Count int count = tnt.getCount(); - inventory.setItem(9, new SWItem(SWItem.getDye(10), "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { + inventory.setItem(9, new SWItem(Material.LIME_DYE, "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; tnt.setCount(count + (clickType.isShiftClick() ? 5 : 1)); SimulatorWatcher.update(simulator); @@ -94,7 +94,7 @@ public class SimulatorTNTPhaseSettingsGui extends SimulatorBaseGui { countItem.getItemStack().setAmount(Math.max(1, Math.min(count, 64))); inventory.setItem(18, countItem); - inventory.setItem(27, new SWItem(SWItem.getDye(count > 1 ? 1 : 8), "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { + inventory.setItem(27, new SWItem(count > 1 ? Material.RED_DYE : Material.GRAY_DYE, "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; tnt.setCount(Math.max(1, count - (clickType.isShiftClick() ? 5 : 1))); SimulatorWatcher.update(simulator); @@ -102,7 +102,7 @@ public class SimulatorTNTPhaseSettingsGui extends SimulatorBaseGui { //Tick Offset int offset = tnt.getTickOffset(); - inventory.setItem(10, new SWItem(SWItem.getDye(10), "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { + inventory.setItem(10, new SWItem(Material.LIME_DYE, "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; tnt.setTickOffset(offset + (clickType.isShiftClick() ? 5 : 1)); SimulatorWatcher.update(simulator); @@ -119,7 +119,7 @@ public class SimulatorTNTPhaseSettingsGui extends SimulatorBaseGui { offsetItem.getItemStack().setAmount(Math.max(1, Math.min(offset, 64))); inventory.setItem(19, offsetItem); - inventory.setItem(28, new SWItem(SWItem.getDye(offset > 0 ? 1 : 8), "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { + inventory.setItem(28, new SWItem(offset > 0 ? Material.RED_DYE : Material.GRAY_DYE, "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; tnt.setTickOffset(Math.max(0, offset - (clickType.isShiftClick() ? 5 : 1))); SimulatorWatcher.update(simulator); @@ -127,7 +127,7 @@ public class SimulatorTNTPhaseSettingsGui extends SimulatorBaseGui { //Lifetime int lifetime = tnt.getLifetime(); - inventory.setItem(11, new SWItem(SWItem.getDye(10), "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { + inventory.setItem(11, new SWItem(Material.LIME_DYE, "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; tnt.setLifetime(lifetime + (clickType.isShiftClick() ? 5 : 1)); SimulatorWatcher.update(simulator); @@ -144,7 +144,7 @@ public class SimulatorTNTPhaseSettingsGui extends SimulatorBaseGui { lifetimeItem.getItemStack().setAmount(Math.max(1, Math.min(lifetime, 64))); inventory.setItem(20, lifetimeItem); - inventory.setItem(29, new SWItem(SWItem.getDye(lifetime > 0 ? 1 : 8), "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { + inventory.setItem(29, new SWItem(lifetime > 0 ? Material.GRAY_DYE : Material.GRAY_DYE, "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; tnt.setLifetime(Math.max(1, lifetime - (clickType.isShiftClick() ? 5 : 1))); SimulatorWatcher.update(simulator); @@ -152,7 +152,7 @@ public class SimulatorTNTPhaseSettingsGui extends SimulatorBaseGui { //Order int order = tnt.getOrder(); - inventory.setItem(13, new SWItem(SWItem.getDye(order < SimulatorPhase.ORDER_LIMIT ? 10 : 8), "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { + inventory.setItem(13, new SWItem(order < SimulatorPhase.ORDER_LIMIT ? Material.LIME_DYE : Material.GRAY_DYE, "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; tnt.setOrder(Math.min(SimulatorPhase.ORDER_LIMIT, order + (clickType.isShiftClick() ? 5 : 1))); SimulatorWatcher.update(simulator); @@ -170,7 +170,7 @@ public class SimulatorTNTPhaseSettingsGui extends SimulatorBaseGui { orderItem.getItemStack().setAmount(Math.max(1, Math.min(Math.abs(order), 30))); inventory.setItem(22, orderItem); - inventory.setItem(31, new SWItem(SWItem.getDye(order > -SimulatorPhase.ORDER_LIMIT ? 1 : 8), "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { + inventory.setItem(31, new SWItem(order > -SimulatorPhase.ORDER_LIMIT ? Material.RED_DYE : Material.GRAY_DYE, "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; tnt.setOrder(Math.max(-SimulatorPhase.ORDER_LIMIT, order - (clickType.isShiftClick() ? 5 : 1))); SimulatorWatcher.update(simulator); diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorTNTSettingsGui.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorTNTSettingsGui.java index 9640b066..5ea7a505 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorTNTSettingsGui.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/SimulatorTNTSettingsGui.java @@ -75,7 +75,7 @@ public class SimulatorTNTSettingsGui extends SimulatorBaseGui { // Base Tick int baseTicks = tnt.getBaseTick(); - inventory.setItem(9, new SWItem(SWItem.getDye(10), "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { + inventory.setItem(9, new SWItem(Material.LIME_DYE, "§e+1", Arrays.asList("§7Shift§8: §e+5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; tnt.changeBaseTicks(clickType.isShiftClick() ? 5 : 1); SimulatorWatcher.update(simulator); @@ -90,7 +90,7 @@ public class SimulatorTNTSettingsGui extends SimulatorBaseGui { }); baseTick.getItemStack().setAmount(Math.max(1, Math.min(baseTicks, 64))); inventory.setItem(18, baseTick); - inventory.setItem(27, new SWItem(SWItem.getDye(baseTicks > 0 ? 1 : 8), "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { + inventory.setItem(27, new SWItem(baseTicks > 0 ? Material.RED_DYE : Material.GRAY_DYE, "§e-1", Arrays.asList("§7Shift§8: §e-5"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; if (baseTicks - (clickType.isShiftClick() ? 5 : 1) < 0) { tnt.changeBaseTicks(-baseTicks); @@ -138,7 +138,7 @@ public class SimulatorTNTSettingsGui extends SimulatorBaseGui { inventory.setItem(30, positivXItem); // Pos X - inventory.setItem(15, new SWItem(SWItem.getDye(10), "§e+1", Arrays.asList("§7Shift§8: §e+0.0625"), false, clickType -> { + inventory.setItem(15, new SWItem(Material.LIME_DYE, "§e+1", Arrays.asList("§7Shift§8: §e+0.0625"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; tnt.move(clickType.isShiftClick() ? 0.0625 : 1, 0, 0); SimulatorWatcher.update(simulator); @@ -150,14 +150,14 @@ public class SimulatorTNTSettingsGui extends SimulatorBaseGui { return true; }, this).open(); })); - inventory.setItem(33, new SWItem(SWItem.getDye(1), "§e-1", Arrays.asList("§7Shift§8: §e-0.0625"), false, clickType -> { + inventory.setItem(33, new SWItem(Material.RED_DYE, "§e-1", Arrays.asList("§7Shift§8: §e-0.0625"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; tnt.move(clickType.isShiftClick() ? -0.0625 : -1, 0, 0); SimulatorWatcher.update(simulator); }).setCustomModelData(CMDs.Simulator.DECREMENT_OR_DISABLED)); // Pos Y - inventory.setItem(16, new SWItem(SWItem.getDye(10), "§e+1", Arrays.asList("§7Shift§8: §e+0.0625"), false, clickType -> { + inventory.setItem(16, new SWItem(Material.LIME_DYE, "§e+1", Arrays.asList("§7Shift§8: §e+0.0625"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; tnt.move(0, clickType.isShiftClick() ? 0.0625 : 1, 0); SimulatorWatcher.update(simulator); @@ -169,14 +169,14 @@ public class SimulatorTNTSettingsGui extends SimulatorBaseGui { return true; }, this).open(); })); - inventory.setItem(34, new SWItem(SWItem.getDye(1), "§e-1", Arrays.asList("§7Shift§8: §e-0.0625"), false, clickType -> { + inventory.setItem(34, new SWItem(Material.RED_DYE, "§e-1", Arrays.asList("§7Shift§8: §e-0.0625"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; tnt.move(0, clickType.isShiftClick() ? -0.0625 : -1, 0); SimulatorWatcher.update(simulator); }).setCustomModelData(CMDs.Simulator.DECREMENT_OR_DISABLED)); // Pos Z - inventory.setItem(17, new SWItem(SWItem.getDye(10), "§e+1", Arrays.asList("§7Shift§8: §e+0.0625"), false, clickType -> { + inventory.setItem(17, new SWItem(Material.LIME_DYE, "§e+1", Arrays.asList("§7Shift§8: §e+0.0625"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; tnt.move(0, 0, clickType.isShiftClick() ? 0.0625 : 1); SimulatorWatcher.update(simulator); @@ -188,7 +188,7 @@ public class SimulatorTNTSettingsGui extends SimulatorBaseGui { return true; }, this).open(); })); - inventory.setItem(35, new SWItem(SWItem.getDye(1), "§e-1", Arrays.asList("§7Shift§8: §e-0.0625"), false, clickType -> { + inventory.setItem(35, new SWItem(Material.RED_DYE, "§e-1", Arrays.asList("§7Shift§8: §e-0.0625"), false, clickType -> { if (clickType == ClickType.DOUBLE_CLICK) return; tnt.move(0, 0, clickType.isShiftClick() ? -0.0625 : -1); SimulatorWatcher.update(simulator); diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/base/SimulatorPageGui.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/base/SimulatorPageGui.java index 6270fd1b..0fccf8be 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/base/SimulatorPageGui.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/base/SimulatorPageGui.java @@ -23,6 +23,7 @@ import de.steamwar.bausystem.features.simulator.data.Simulator; import de.steamwar.core.Core; import de.steamwar.data.CMDs; import de.steamwar.inventory.SWItem; +import org.bukkit.Material; import org.bukkit.entity.Player; import java.util.List; @@ -51,14 +52,14 @@ public abstract class SimulatorPageGui extends SimulatorBaseGui { headerAndFooter(); page = Math.min(page, maxPage()); - inventory.setItem(size - 9, new SWItem(SWItem.getDye(page > 0 ? 10 : 8), page > 0 ? (byte) 10 : (byte) 8, Core.MESSAGE.parse(page > 0 ? "SWLISINV_PREVIOUS_PAGE_ACTIVE" : "SWLISINV_PREVIOUS_PAGE_INACTIVE", player), clickType -> { + inventory.setItem(size - 9, new SWItem(page > 0 ? Material.LIME_DYE : Material.GRAY_DYE, page > 0 ? (byte) 10 : (byte) 8, Core.MESSAGE.parse(page > 0 ? "SWLISINV_PREVIOUS_PAGE_ACTIVE" : "SWLISINV_PREVIOUS_PAGE_INACTIVE", player), clickType -> { if (page > 0) { page--; open(); } }).setCustomModelData(CMDs.PREVIOUS_PAGE)); boolean hasNext = page < maxPage() - (data.size() % (size - 18) == 0 ? 1 : 0); - inventory.setItem(size - 1, new SWItem(SWItem.getDye(hasNext ? 10 : 8), hasNext ? (byte) 10 : (byte) 8, Core.MESSAGE.parse(hasNext ? "SWLISINV_NEXT_PAGE_ACTIVE" : "SWLISINV_NEXT_PAGE_INACTIVE", player), clickType -> { + inventory.setItem(size - 1, new SWItem(hasNext ? Material.LIME_DYE : Material.GRAY_DYE, hasNext ? (byte) 10 : (byte) 8, Core.MESSAGE.parse(hasNext ? "SWLISINV_NEXT_PAGE_ACTIVE" : "SWLISINV_NEXT_PAGE_INACTIVE", player), clickType -> { if (hasNext) { page++; open(); diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/base/SimulatorScrollGui.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/base/SimulatorScrollGui.java index 57258f82..33ea869c 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/base/SimulatorScrollGui.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/simulator/gui/base/SimulatorScrollGui.java @@ -24,6 +24,7 @@ import de.steamwar.bausystem.features.simulator.data.Simulator; import de.steamwar.core.Core; import de.steamwar.data.CMDs; import de.steamwar.inventory.SWItem; +import org.bukkit.Material; import org.bukkit.entity.Player; import java.util.List; @@ -51,14 +52,14 @@ public abstract class SimulatorScrollGui extends SimulatorBaseGui { headerAndFooter(); scroll = maxScroll(); - inventory.setItem(size - 9, new SWItem(SWItem.getDye(scroll > 0 ? 10 : 8), scroll > 0 ? (byte) 10 : (byte) 8, Core.MESSAGE.parse(scroll > 0 ? "SWLISINV_PREVIOUS_PAGE_ACTIVE" : "SWLISINV_PREVIOUS_PAGE_INACTIVE", player), clickType -> { + inventory.setItem(size - 9, new SWItem(scroll > 0 ? Material.LIME_DYE : Material.GRAY_DYE, scroll > 0 ? (byte) 10 : (byte) 8, Core.MESSAGE.parse(scroll > 0 ? "SWLISINV_PREVIOUS_PAGE_ACTIVE" : "SWLISINV_PREVIOUS_PAGE_INACTIVE", player), clickType -> { if (scroll > 0) { scroll = Math.max(0, scroll - 9); open(); } }).setCustomModelData(CMDs.PREVIOUS_PAGE)); boolean hasNext = (data.size() + 1) - scroll > 9; - inventory.setItem(size - 1, new SWItem(SWItem.getDye(hasNext ? 10 : 8), hasNext ? (byte) 10 : (byte) 8, Core.MESSAGE.parse(hasNext ? "SWLISINV_NEXT_PAGE_ACTIVE" : "SWLISINV_NEXT_PAGE_INACTIVE", player), clickType -> { + inventory.setItem(size - 1, new SWItem(hasNext ? Material.LIME_DYE : Material.GRAY_DYE, hasNext ? (byte) 10 : (byte) 8, Core.MESSAGE.parse(hasNext ? "SWLISINV_NEXT_PAGE_ACTIVE" : "SWLISINV_NEXT_PAGE_INACTIVE", player), clickType -> { if (hasNext) { scroll = Math.min(scroll + 9, data.size() + 1 - 9); open(); diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/smartplace/SmartPlaceListener.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/smartplace/SmartPlaceListener.java index 07ac31a3..81d5e097 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/smartplace/SmartPlaceListener.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/smartplace/SmartPlaceListener.java @@ -76,8 +76,8 @@ public class SmartPlaceListener implements Listener { IGNORED.add(Material.TNT); IGNORED.add(Material.REDSTONE_ORE); - IGNORED.add(SWItem.getMaterial("BEEHIVE")); - IGNORED.add(SWItem.getMaterial("SEA_PICKLE")); + IGNORED.add(Material.BEEHIVE); + IGNORED.add(Material.SEA_PICKLE); IGNORED.remove(Material.STONE); IGNORED.remove(Material.BARRIER); } diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/world/SpectatorListener.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/world/SpectatorListener.java index a6f56a5e..c9e6a3a6 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/world/SpectatorListener.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/world/SpectatorListener.java @@ -23,7 +23,6 @@ import de.steamwar.bausystem.BauSystem; import de.steamwar.bausystem.Permission; import de.steamwar.bausystem.config.BauServer; import de.steamwar.bausystem.utils.BauMemberUpdateEvent; -import de.steamwar.inventory.SWItem; import de.steamwar.linkage.Linked; import de.steamwar.sql.BauweltMember; import de.steamwar.techhider.TechHider; @@ -71,18 +70,18 @@ public class SpectatorListener implements Listener { materials.add(value); } } - materials.add(SWItem.getMaterial("SCULK_SENSOR")); - materials.add(SWItem.getMaterial("CALIBRATED_SCULK_SENSOR")); - materials.add(SWItem.getMaterial("SCULK_SHRIEKER")); - materials.add(SWItem.getMaterial("AMETHYST_BLOCK")); - materials.add(SWItem.getMaterial("AMETHYST_CLUSTER")); - materials.add(SWItem.getMaterial("SMALL_AMETHYST_BUG")); - materials.add(SWItem.getMaterial("MEDIUM_AMETHYST_BUG")); - materials.add(SWItem.getMaterial("LARGE_AMETHYST_BUG")); + materials.add(Material.SCULK_SENSOR); + materials.add(Material.CALIBRATED_SCULK_SENSOR); + materials.add(Material.SCULK_SHRIEKER); + materials.add(Material.AMETHYST_BLOCK); + materials.add(Material.AMETHYST_CLUSTER); + materials.add(Material.SMALL_AMETHYST_BUD); + materials.add(Material.MEDIUM_AMETHYST_BUD); + materials.add(Material.LARGE_AMETHYST_BUD); materials.add(Material.TRIPWIRE_HOOK); materials.add(Material.TRIPWIRE); materials.add(Material.DAYLIGHT_DETECTOR); - materials.add(SWItem.getMaterial("LIGHTNING_ROD")); + materials.add(Material.LIGHTNING_ROD); materials.add(Material.PISTON); materials.add(Material.PISTON_HEAD); materials.add(Material.MOVING_PISTON); @@ -96,7 +95,7 @@ public class SpectatorListener implements Listener { materials.add(Material.ACTIVATOR_RAIL); materials.add(Material.TNT); materials.add(Material.REDSTONE_ORE); - materials.add(SWItem.getMaterial("SCAFFOLDING")); + materials.add(Material.SCAFFOLDING); materials.add(Material.WATER); materials.remove(Material.BARRIER); materials.remove(Material.STONE); diff --git a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/commands/GUI.java b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/commands/GUI.java index e8e1b689..ac8eed1d 100644 --- a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/commands/GUI.java +++ b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/commands/GUI.java @@ -51,9 +51,8 @@ public class GUI { @SuppressWarnings("deprecation") private static void addTeamRequest(Player p, SWInventory inv, int pos, FightTeam team) { - byte colorCode = ColorConverter.chat2dye(team.getColor()).getDyeData(); String name = team.getLeader() != null ? team.getLeader().getEntity().getName() : team.getName(); - inv.setItem(pos, SWItem.getDye(colorCode), colorCode, msg.parse("JOIN_REQUEST_TEAM", p, team.getColor() + name), click -> { + inv.setItem(pos, ColorConverter.chat2dye(team.getColor()), msg.parse("JOIN_REQUEST_TEAM", p, team.getColor() + name), click -> { p.closeInventory(); if(ArenaMode.ManualTeams.contains(Config.mode) && team.canbeLeader(p)) @@ -226,7 +225,7 @@ public class GUI { }); if (Fight.publicOnly()) { - inv.setItem(row * 9, SWItem.getDye(8), (byte)8, msg.parse("SCHEM_PRIVATE_FORBIDDEN", p, type.name()), (ClickType click)->{}); + inv.setItem(row * 9, Material.GRAY_DYE, (byte)8, msg.parse("SCHEM_PRIVATE_FORBIDDEN", p, type.name()), (ClickType click)->{}); return; } @@ -238,11 +237,11 @@ public class GUI { } if (SchematicNode.getAllAccessibleSchematicsOfType(SteamwarUser.get(p.getUniqueId()).getId(), type.toDB()).isEmpty() && !Config.test()) { - inv.setItem(row * 9, SWItem.getDye(8), (byte)8, msg.parse("SCHEM_NO_PRIVATE", p, type.name()), (ClickType click)->{}); + inv.setItem(row * 9, Material.GRAY_DYE, (byte)8, msg.parse("SCHEM_NO_PRIVATE", p, type.name()), (ClickType click)->{}); return; } - inv.setItem(row * 9, SWItem.getMaterial("CAULDRON_ITEM"), msg.parse("SCHEM_PRIVATE", p, type.name()), (ClickType click) -> { + inv.setItem(row * 9, Material.CAULDRON, msg.parse("SCHEM_PRIVATE", p, type.name()), (ClickType click) -> { p.closeInventory(); schemDialog(p, type, false, false); }); diff --git a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/fight/FightSchematic.java b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/fight/FightSchematic.java index 7496f76a..5bb75e7d 100644 --- a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/fight/FightSchematic.java +++ b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/fight/FightSchematic.java @@ -149,7 +149,7 @@ public class FightSchematic extends StateDependent { private void replaceTeamColor(Clipboard clipboard) { try { - WorldeditWrapper.impl.replaceTeamColor(clipboard, ArenaMode.AntiPrepare.contains(Config.mode) ? ColorConverter.chat2dye(team.getColor()) : DyeColor.PINK); + WorldeditWrapper.impl.replaceTeamColor(clipboard, ArenaMode.AntiPrepare.contains(Config.mode) ? ColorConverter.chat2dyeColor(team.getColor()) : DyeColor.PINK); } catch (WorldEditException e) { Bukkit.getLogger().log(Level.SEVERE, "Could not recolor schematic", e); } diff --git a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/fight/FightTeam.java b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/fight/FightTeam.java index 6104f4c8..ec850f84 100644 --- a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/fight/FightTeam.java +++ b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/fight/FightTeam.java @@ -78,19 +78,19 @@ public class FightTeam { } if(Config.test()) - notReadyKit.setItem(5, "CHOOSE_SCHEMATIC", new ItemBuilder(SWItem.getMaterial("CAULDRON_ITEM")).enchant().build(), GUI::preSchemDialog); + notReadyKit.setItem(5, "CHOOSE_SCHEMATIC", new ItemBuilder(Material.CAULDRON).enchant().build(), GUI::preSchemDialog); notReadyKit.setItem(3, "MANAGE_PLAYERS", SWItem.getPlayerSkull("AdmiralSeekrank").getItemStack(), GUI::managePlayers); - notReadyKit.setItem(4, "TEAM_NOT_READY", new ItemBuilder(SWItem.getDye(10), (short) 10).enchant().build(), player -> Objects.requireNonNull(Fight.getPlayerTeam(player)).setReady(true)); + notReadyKit.setItem(4, "TEAM_NOT_READY", new ItemBuilder(Material.LIME_DYE, (short) 10).enchant().build(), player -> Objects.requireNonNull(Fight.getPlayerTeam(player)).setReady(true)); } private static final HotbarKit chooseSchemKit = new HotbarKit(notReadyKit); static { - chooseSchemKit.setItem(4, "CHOOSE_SCHEMATIC", new ItemBuilder(SWItem.getMaterial("CAULDRON_ITEM")).enchant().build(), GUI::preSchemDialog); + chooseSchemKit.setItem(4, "CHOOSE_SCHEMATIC", new ItemBuilder(Material.CAULDRON).enchant().build(), GUI::preSchemDialog); } private static final HotbarKit readyKit = new HotbarKit(memberKit); static { readyKit.setItem(1, null, null, null); - readyKit.setItem(4, "TEAM_READY", new ItemBuilder(SWItem.getDye(8), (short) 8).enchant().build(), player -> Objects.requireNonNull(Fight.getPlayerTeam(player)).setReady(false)); + readyKit.setItem(4, "TEAM_READY", new ItemBuilder(Material.GRAY_DYE, (short) 8).enchant().build(), player -> Objects.requireNonNull(Fight.getPlayerTeam(player)).setReady(false)); } @Getter diff --git a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/fight/Kit.java b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/fight/Kit.java index 6476951c..83eb3283 100644 --- a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/fight/Kit.java +++ b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/fight/Kit.java @@ -295,7 +295,7 @@ public class Kit { int pos = 44; while(it.hasNext()){ PotionEffect effect = it.next(); - SWItem item = new SWItem(SWItem.getMaterial("POTION"), effect.getType().getName()); + SWItem item = new SWItem(Material.POTION, effect.getType().getName()); inv.setItem(pos, item); pos--; } @@ -303,12 +303,12 @@ public class Kit { inv.setCallback(-999, click -> player.closeInventory()); if(Config.GameModeConfig.Kits.PersonalKits){ - inv.setItem(49, SWItem.getMaterial("WOOD_AXE"), FightSystem.getMessage().parse("KIT_PREVIEW_EDIT", player), clickType -> PersonalKitCreator.openKitCreator(player, PersonalKit.get(SteamwarUser.get(player.getUniqueId()).getId(), Config.GameModeConfig.Schematic.Type.toDB(), name))); + inv.setItem(49, Material.WOODEN_AXE, FightSystem.getMessage().parse("KIT_PREVIEW_EDIT", player), clickType -> PersonalKitCreator.openKitCreator(player, PersonalKit.get(SteamwarUser.get(player.getUniqueId()).getId(), Config.GameModeConfig.Schematic.Type.toDB(), name))); inv.setItem(53, Material.BARRIER, FightSystem.getMessage().parse("KIT_PREVIEW_DELETE", player), clickType -> { player.closeInventory(); SWInventory conf = new SWInventory(player, 9, FightSystem.getMessage().parse("KIT_DELETION_CONFIRMATION", player)); - conf.setItem(8, SWItem.getDye(1), FightSystem.getMessage().parse("KIT_DELETION_ABORT", player), click -> player.closeInventory()); - conf.setItem(0, SWItem.getDye(10), FightSystem.getMessage().parse("KIT_DELETION_DELETE", player), click -> { + conf.setItem(8, Material.RED_DYE, FightSystem.getMessage().parse("KIT_DELETION_ABORT", player), click -> player.closeInventory()); + conf.setItem(0, Material.LIME_DYE, FightSystem.getMessage().parse("KIT_DELETION_DELETE", player), click -> { player.closeInventory(); SteamwarUser user = SteamwarUser.get(player.getUniqueId()); PersonalKit kit = PersonalKit.get(user.getId(), Config.GameModeConfig.Schematic.Type.toDB(), name); @@ -327,11 +327,11 @@ public class Kit { conf.open(); }); } - inv.setItem(45, SWItem.getDye(10), (byte)10, FightSystem.getMessage().parse("KIT_PREVIEW_CHOOSE", player), click -> { + inv.setItem(45, Material.LIME_DYE, (byte)10, FightSystem.getMessage().parse("KIT_PREVIEW_CHOOSE", player), click -> { Commands.kit(player, name); player.closeInventory(); }); - inv.setItem(53, SWItem.getDye(1), (byte)1, FightSystem.getMessage().parse("KIT_PREVIEW_BACK", player), click -> GUI.kitSelection(player, "")); + inv.setItem(53, Material.RED_DYE, (byte)1, FightSystem.getMessage().parse("KIT_PREVIEW_BACK", player), click -> GUI.kitSelection(player, "")); inv.open(); } diff --git a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/record/PacketProcessor.java b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/record/PacketProcessor.java index b3a0eb75..dbae1968 100644 --- a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/record/PacketProcessor.java +++ b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/record/PacketProcessor.java @@ -43,6 +43,7 @@ import de.steamwar.techhider.BlockIds; import net.md_5.bungee.api.ChatMessageType; import net.md_5.bungee.api.chat.BaseComponent; import net.md_5.bungee.api.chat.TextComponent; +import net.minecraft.world.entity.Pose; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.Material; @@ -291,7 +292,7 @@ public class PacketProcessor implements Listener { int entityId = source.readInt(); boolean sneaking = source.readBoolean(); - execSync(() -> entities.get(entityId).setPose(sneaking ? de.steamwar.core.FlatteningWrapper.EntityPose.SNEAKING : de.steamwar.core.FlatteningWrapper.EntityPose.NORMAL)); + execSync(() -> entities.get(entityId).setPose(sneaking ? Pose.CROUCHING : Pose.STANDING)); } private void entityAnimation() throws IOException { diff --git a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/utils/ColorConverter.java b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/utils/ColorConverter.java index ad8fd242..92674545 100644 --- a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/utils/ColorConverter.java +++ b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/utils/ColorConverter.java @@ -21,6 +21,7 @@ package de.steamwar.fightsystem.utils; import org.bukkit.ChatColor; import org.bukkit.DyeColor; +import org.bukkit.Material; import java.util.EnumMap; import java.util.Map; @@ -28,28 +29,50 @@ import java.util.Map; public class ColorConverter { private ColorConverter(){} - private static final Map chat2dye = new EnumMap<>(ChatColor.class); + private static final Map chat2dyeColor = new EnumMap<>(ChatColor.class); + private static final Map chat2dye = new EnumMap<>(ChatColor.class); static{ - chat2dye.put(ChatColor.WHITE, DyeColor.WHITE); - chat2dye.put(ChatColor.GOLD, DyeColor.ORANGE); - chat2dye.put(ChatColor.LIGHT_PURPLE, DyeColor.MAGENTA); - chat2dye.put(ChatColor.BLUE, DyeColor.LIGHT_BLUE); - chat2dye.put(ChatColor.YELLOW, DyeColor.YELLOW); - chat2dye.put(ChatColor.GREEN, DyeColor.LIME); - chat2dye.put(ChatColor.RED, DyeColor.RED); - chat2dye.put(ChatColor.DARK_GRAY, DyeColor.GRAY); - chat2dye.put(ChatColor.DARK_AQUA, DyeColor.CYAN); - chat2dye.put(ChatColor.DARK_PURPLE, DyeColor.PURPLE); - chat2dye.put(ChatColor.DARK_BLUE, DyeColor.BLUE); - chat2dye.put(ChatColor.AQUA, DyeColor.CYAN); - chat2dye.put(ChatColor.DARK_GREEN, DyeColor.GREEN); - chat2dye.put(ChatColor.DARK_RED, DyeColor.RED); - chat2dye.put(ChatColor.BLACK, DyeColor.BLACK); - chat2dye.put(ChatColor.GRAY, FlatteningWrapper.impl.getSilver()); + chat2dyeColor.put(ChatColor.WHITE, DyeColor.WHITE); + chat2dyeColor.put(ChatColor.GOLD, DyeColor.ORANGE); + chat2dyeColor.put(ChatColor.LIGHT_PURPLE, DyeColor.MAGENTA); + chat2dyeColor.put(ChatColor.BLUE, DyeColor.LIGHT_BLUE); + chat2dyeColor.put(ChatColor.YELLOW, DyeColor.YELLOW); + chat2dyeColor.put(ChatColor.GREEN, DyeColor.LIME); + chat2dyeColor.put(ChatColor.RED, DyeColor.RED); + chat2dyeColor.put(ChatColor.DARK_GRAY, DyeColor.GRAY); + chat2dyeColor.put(ChatColor.DARK_AQUA, DyeColor.CYAN); + chat2dyeColor.put(ChatColor.DARK_PURPLE, DyeColor.PURPLE); + chat2dyeColor.put(ChatColor.DARK_BLUE, DyeColor.BLUE); + chat2dyeColor.put(ChatColor.AQUA, DyeColor.CYAN); + chat2dyeColor.put(ChatColor.DARK_GREEN, DyeColor.GREEN); + chat2dyeColor.put(ChatColor.DARK_RED, DyeColor.RED); + chat2dyeColor.put(ChatColor.BLACK, DyeColor.BLACK); + chat2dyeColor.put(ChatColor.GRAY, DyeColor.LIGHT_GRAY); + + chat2dye.put(ChatColor.WHITE, Material.WHITE_DYE); + chat2dye.put(ChatColor.GOLD, Material.ORANGE_DYE); + chat2dye.put(ChatColor.LIGHT_PURPLE, Material.MAGENTA_DYE); + chat2dye.put(ChatColor.BLUE, Material.LIGHT_BLUE_DYE); + chat2dye.put(ChatColor.YELLOW, Material.YELLOW_DYE); + chat2dye.put(ChatColor.GREEN, Material.LIME_DYE); + chat2dye.put(ChatColor.RED, Material.RED_DYE); + chat2dye.put(ChatColor.DARK_GRAY, Material.GRAY_DYE); + chat2dye.put(ChatColor.DARK_AQUA, Material.CYAN_DYE); + chat2dye.put(ChatColor.DARK_PURPLE, Material.PURPLE_DYE); + chat2dye.put(ChatColor.DARK_BLUE, Material.BLUE_DYE); + chat2dye.put(ChatColor.AQUA, Material.CYAN_DYE); + chat2dye.put(ChatColor.DARK_GREEN, Material.GREEN_DYE); + chat2dye.put(ChatColor.DARK_RED, Material.RED_DYE); + chat2dye.put(ChatColor.BLACK, Material.BLACK_DYE); + chat2dye.put(ChatColor.GRAY, Material.LIGHT_GRAY_DYE); } - public static DyeColor chat2dye(ChatColor color){ + public static DyeColor chat2dyeColor(ChatColor color){ + return chat2dyeColor.get(color); + } + + public static Material chat2dye(ChatColor color){ return chat2dye.get(color); } } diff --git a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/utils/FlatteningWrapper.java b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/utils/FlatteningWrapper.java index 8cf0dc3d..d59880cb 100644 --- a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/utils/FlatteningWrapper.java +++ b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/utils/FlatteningWrapper.java @@ -19,7 +19,6 @@ package de.steamwar.fightsystem.utils; -import org.bukkit.DyeColor; import org.bukkit.Material; import org.bukkit.World; import org.bukkit.block.Block; @@ -36,10 +35,6 @@ import org.bukkit.inventory.meta.ItemMeta; public class FlatteningWrapper { public static final FlatteningWrapper impl = new FlatteningWrapper(); - public DyeColor getSilver() { - return DyeColor.LIGHT_GRAY; - } - public boolean isWater(Block block) { if(block.getType() == Material.WATER) return true; diff --git a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/winconditions/WinconditionBlocks.java b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/winconditions/WinconditionBlocks.java index fce8f574..e241add3 100644 --- a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/winconditions/WinconditionBlocks.java +++ b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/winconditions/WinconditionBlocks.java @@ -25,7 +25,6 @@ import de.steamwar.fightsystem.fight.FightTeam; import de.steamwar.fightsystem.states.FightState; import de.steamwar.fightsystem.states.StateDependentTask; import de.steamwar.fightsystem.utils.Message; -import de.steamwar.inventory.SWItem; import org.bukkit.Material; import org.bukkit.block.Block; @@ -37,7 +36,7 @@ import java.util.function.Predicate; public abstract class WinconditionBlocks extends Wincondition implements PrintableWincondition { - public static final Material PUMPKIN_LANTERN = SWItem.getMaterial("JACK_O_LANTERN"); + public static final Material PUMPKIN_LANTERN = Material.JACK_O_LANTERN; private final Map teamMap = new HashMap<>(); private final String barMessage; diff --git a/LobbySystem/src/de/steamwar/lobby/special/easter/EggHuntCommand.java b/LobbySystem/src/de/steamwar/lobby/special/easter/EggHuntCommand.java index 64049821..d2696774 100644 --- a/LobbySystem/src/de/steamwar/lobby/special/easter/EggHuntCommand.java +++ b/LobbySystem/src/de/steamwar/lobby/special/easter/EggHuntCommand.java @@ -60,13 +60,13 @@ public class EggHuntCommand extends SWCommand { .collect(Collectors.toList()); SWListInv inv = new SWListInv<>(player, LobbySystem.getMessage().parse("EASTER_EGG_MENU", player, foundCount.get(), EggHunt.getEggList().size()), false, entries, (clickType, egg) -> { }); - inv.setItem(49, new SWItem(SWItem.getDye(15), (byte) 15, LobbySystem.getMessage().parse(Selection.ALL.key, player), Collections.emptyList(), selection == Selection.ALL, clickType -> { + inv.setItem(49, new SWItem(Material.WHITE_DYE, (byte) 15, LobbySystem.getMessage().parse(Selection.ALL.key, player), Collections.emptyList(), selection == Selection.ALL, clickType -> { genericCommand(player, Selection.ALL); })); - inv.setItem(48, new SWItem(SWItem.getDye(1), (byte) 1, LobbySystem.getMessage().parse(Selection.NOT_FOUND.key, player), Collections.emptyList(), selection == Selection.NOT_FOUND, clickType -> { + inv.setItem(48, new SWItem(Material.RED_DYE, (byte) 1, LobbySystem.getMessage().parse(Selection.NOT_FOUND.key, player), Collections.emptyList(), selection == Selection.NOT_FOUND, clickType -> { genericCommand(player, Selection.NOT_FOUND); })); - inv.setItem(50, new SWItem(SWItem.getDye(2), (byte) 2, LobbySystem.getMessage().parse(Selection.FOUND.key, player), Collections.emptyList(), selection == Selection.FOUND, clickType -> { + inv.setItem(50, new SWItem(Material.GREEN_DYE, (byte) 2, LobbySystem.getMessage().parse(Selection.FOUND.key, player), Collections.emptyList(), selection == Selection.FOUND, clickType -> { genericCommand(player, Selection.FOUND); })); inv.open(); diff --git a/SchematicSystem/src/de/steamwar/schematicsystem/commands/schematiccommand/GUI.java b/SchematicSystem/src/de/steamwar/schematicsystem/commands/schematiccommand/GUI.java index f40ae8ec..672a3e5e 100644 --- a/SchematicSystem/src/de/steamwar/schematicsystem/commands/schematiccommand/GUI.java +++ b/SchematicSystem/src/de/steamwar/schematicsystem/commands/schematiccommand/GUI.java @@ -94,7 +94,7 @@ public class GUI { SteamwarUser user = getUser(player); SWInventory inv = new SWInventory(player, 9 * 2, node.generateBreadcrumbs(user)); if(!node.isDir()) { - inv.setItem(0, SWItem.getMaterial("WOOD_AXE"), SchematicSystem.MESSAGE.parse("GUI_INFO_LOAD", player), Arrays.asList( + inv.setItem(0, Material.WOODEN_AXE, SchematicSystem.MESSAGE.parse("GUI_INFO_LOAD", player), Arrays.asList( SchematicSystem.MESSAGE.parse("GUI_LOAD_LATEST", player), SchematicSystem.MESSAGE.parse("GUI_LOAD_REVISION", player) ), false, click -> { @@ -119,14 +119,14 @@ public class GUI { }); } - inv.setItem(9, new SWItem(SWItem.getMaterial("LEASH"), SchematicSystem.MESSAGE.parse("GUI_INFO_BACK", player), clickType -> { + inv.setItem(9, new SWItem(Material.LEAD, SchematicSystem.MESSAGE.parse("GUI_INFO_BACK", player), clickType -> { back.reOpen(); }).setCustomModelData(CMDs.Schematic.BACK)); if(node.getOwner() == user.getId()){ if(!node.isDir() && node.getSchemtype().writeable()){ CheckedSchematic.getLastDeclinedOfNode(node.getId()).stream().findFirst().ifPresent(checkedSchematic -> - inv.setItem(1, SWItem.getDye(10), (byte) 10, SchematicSystem.MESSAGE.parse("GUI_INFO_STATUS", player, node.getSchemtype().name()), Collections.singletonList(SchematicSystem.MESSAGE.parse("GUI_INFO_STATUS_LORE", player, checkedSchematic.getDeclineReason().replaceAll("&", "§"))), false, click -> {})); + inv.setItem(1, Material.LIME_DYE, (byte) 10, SchematicSystem.MESSAGE.parse("GUI_INFO_STATUS", player, node.getSchemtype().name()), Collections.singletonList(SchematicSystem.MESSAGE.parse("GUI_INFO_STATUS_LORE", player, checkedSchematic.getDeclineReason().replaceAll("&", "§"))), false, click -> {})); } Material mat = SWItem.getMaterial(node.getItem()); @@ -142,23 +142,23 @@ public class GUI { inv.setItem(6, SWItem.getMaterial(node.getSchemtype().getMaterial()), SchematicSystem.MESSAGE.parse("GUI_INFO_TYPE", player, node.getSchemtype().name()), Arrays.asList(SchematicSystem.MESSAGE.parse("CHANGE", player), SchematicSystem.MESSAGE.parse("CLICK", player)), node.getSchemtype().fightType(), click -> { changeType(player, node); }); - inv.setItem(7, SWItem.getMaterial("MAGENTA_GLAZED_TERRACOTTA"), SchematicSystem.MESSAGE.parse("GUI_INFO_DOWNLOAD", player), click -> { + inv.setItem(7, Material.MAGENTA_GLAZED_TERRACOTTA, SchematicSystem.MESSAGE.parse("GUI_INFO_DOWNLOAD", player), click -> { player.closeInventory(); SchematicCommandUtils.download(player, node); }); if(node.getSchemtype().fightType()) { - inv.setItem(14, SWItem.getMaterial(node.replaceColor() ? "PINK_WOOL" : "LIGHT_GRAY_WOOL"), SchematicSystem.MESSAGE.parse("GUI_INFO_COLOR", player), Arrays.asList(SchematicSystem.MESSAGE.parse("CURRENT", player, SchematicSystem.MESSAGE.parse(node.replaceColor()?"ON":"OFF", player)), SchematicSystem.MESSAGE.parse("CHANGE", player), SchematicSystem.MESSAGE.parse("CLICK", player)), false, clickType -> { + inv.setItem(14, node.replaceColor() ? Material.PINK_WOOL : Material.LIGHT_GRAY_WOOL, SchematicSystem.MESSAGE.parse("GUI_INFO_COLOR", player), Arrays.asList(SchematicSystem.MESSAGE.parse("CURRENT", player, SchematicSystem.MESSAGE.parse(node.replaceColor()?"ON":"OFF", player)), SchematicSystem.MESSAGE.parse("CHANGE", player), SchematicSystem.MESSAGE.parse("CLICK", player)), false, clickType -> { node.setReplaceColor(!node.replaceColor()); info(player, node, back); }); - inv.setItem(13, SWItem.getMaterial(node.allowReplay() ? "EYE_OF_ENDER" : "ENDER_PEARL"), SchematicSystem.MESSAGE.parse("GUI_INFO_REPLAY", player), Arrays.asList(SchematicSystem.MESSAGE.parse("CURRENT", player, SchematicSystem.MESSAGE.parse(node.allowReplay()?"ON":"OFF", player)), SchematicSystem.MESSAGE.parse("GUI_INFO_REPLAY_OFF", player), SchematicSystem.MESSAGE.parse("CLICK", player)), false, clickType -> { + inv.setItem(13, node.allowReplay() ? Material.ENDER_EYE : Material.ENDER_PEARL, SchematicSystem.MESSAGE.parse("GUI_INFO_REPLAY", player), Arrays.asList(SchematicSystem.MESSAGE.parse("CURRENT", player, SchematicSystem.MESSAGE.parse(node.allowReplay()?"ON":"OFF", player)), SchematicSystem.MESSAGE.parse("GUI_INFO_REPLAY_OFF", player), SchematicSystem.MESSAGE.parse("CLICK", player)), false, clickType -> { if(node.allowReplay()) { SWInventory confInv = new SWInventory(player, 9, SchematicSystem.MESSAGE.parse("GUI_INFO_REPLAY_TITLE", player)); - confInv.setItem(0, SWItem.getDye(10), (byte) 10, SchematicSystem.MESSAGE.parse("CONFIRM", player), type -> { + confInv.setItem(0, Material.LIME_DYE, (byte) 10, SchematicSystem.MESSAGE.parse("CONFIRM", player), type -> { node.setAllowReplay(false); info(player, node, back); }); - confInv.setItem(8, SWItem.getDye(1), (byte) 1, SchematicSystem.MESSAGE.parse("CANCEL", player), type -> { + confInv.setItem(8, Material.RED_DYE, (byte) 1, SchematicSystem.MESSAGE.parse("CANCEL", player), type -> { info(player, node, back); }); confInv.open(); @@ -188,13 +188,13 @@ public class GUI { anvilInv.open(); }); if(node.getOwner() != 0) { - inv.setItem(17, SWItem.getDye(1), (byte) 1, SchematicSystem.MESSAGE.parse("GUI_INFO_DELETE", player), click -> { + inv.setItem(17, Material.RED_DYE, (byte) 1, SchematicSystem.MESSAGE.parse("GUI_INFO_DELETE", player), click -> { delete(player, node, back); }); } }else{ if(!node.isDir()) { - inv.setItem(4, SWItem.getMaterial("CAULDRON_ITEM"), SchematicSystem.MESSAGE.parse("GUI_INFO_TYPE", player, node.getSchemtype().name()), Collections.emptyList(), node.getSchemtype().fightType(), click -> {}); + inv.setItem(4, Material.CAULDRON, SchematicSystem.MESSAGE.parse("GUI_INFO_TYPE", player, node.getSchemtype().name()), Collections.emptyList(), node.getSchemtype().fightType(), click -> {}); } SteamwarUser owneruser = SteamwarUser.byId(node.getOwner()); @@ -203,7 +203,7 @@ public class GUI { inv.setItem(8, skull.getItemStack(), clickType -> {}); if(NodeMember.getNodeMember(node.getId(), user.getId()) != null) { - inv.setItem(17, SWItem.getDye(1), (byte) 1, SchematicSystem.MESSAGE.parse("GUI_INFO_MEMBER_REMOVE", player), click -> { + inv.setItem(17, Material.RED_DYE, (byte) 1, SchematicSystem.MESSAGE.parse("GUI_INFO_MEMBER_REMOVE", player), click -> { delete(player, node, back); }); } @@ -269,7 +269,7 @@ public class GUI { private static void deleteOwn(Player p, SchematicNode schem, SchematicSelector back){ SteamwarUser user = getUser(p); SWInventory inv = new SWInventory(p, 9, SchematicSystem.MESSAGE.parse("GUI_DELETE_OWN_TITLE", p, schem.generateBreadcrumbs(user))); - inv.setItem(0, SWItem.getDye(1), (byte) 1, SchematicSystem.MESSAGE.parse("CONFIRM", p), click -> { + inv.setItem(0, Material.RED_DYE, (byte) 1, SchematicSystem.MESSAGE.parse("CONFIRM", p), click -> { p.performCommand("schematic delete " + schem.generateBreadcrumbs(user)); if(back != null) { @@ -280,7 +280,7 @@ public class GUI { } } }); - inv.setItem(8, SWItem.getDye(14), (byte) 14, SchematicSystem.MESSAGE.parse("CANCEL", p), click -> p.closeInventory()); + inv.setItem(8, Material.ORANGE_DYE, (byte) 14, SchematicSystem.MESSAGE.parse("CANCEL", p), click -> p.closeInventory()); inv.setCallback(-999, click -> p.closeInventory()); inv.open(); } @@ -288,7 +288,7 @@ public class GUI { private static void deleteMembership(Player p, SchematicNode schem, SchematicSelector back){ SteamwarUser user = getUser(p); SWInventory inv = new SWInventory(p, 9, SchematicSystem.MESSAGE.parse("GUI_DELETE_MEMBER_TITLE", p, schem.generateBreadcrumbs(user))); - inv.setItem(0, SWItem.getDye(1), (byte) 1, SchematicSystem.MESSAGE.parse("CONFIRM", p), click -> { + inv.setItem(0, Material.RED_DYE, (byte) 1, SchematicSystem.MESSAGE.parse("CONFIRM", p), click -> { NodeMember member = NodeMember.getNodeMember(schem.getId(), user.getId()); if(member != null) member.delete(); @@ -301,7 +301,7 @@ public class GUI { } } }); - inv.setItem(8, SWItem.getDye(14), (byte) 14, SchematicSystem.MESSAGE.parse("CANCEL", p), click -> p.closeInventory()); + inv.setItem(8, Material.ORANGE_DYE, (byte) 14, SchematicSystem.MESSAGE.parse("CANCEL", p), click -> p.closeInventory()); inv.setCallback(-999, click -> p.closeInventory()); inv.open(); } diff --git a/SchematicSystem/src/de/steamwar/schematicsystem/commands/schematiccommand/SchematicCommandUtils.java b/SchematicSystem/src/de/steamwar/schematicsystem/commands/schematiccommand/SchematicCommandUtils.java index b4b2c74a..2d47a318 100644 --- a/SchematicSystem/src/de/steamwar/schematicsystem/commands/schematiccommand/SchematicCommandUtils.java +++ b/SchematicSystem/src/de/steamwar/schematicsystem/commands/schematiccommand/SchematicCommandUtils.java @@ -487,20 +487,20 @@ public class SchematicCommandUtils { private static void submitSchemGUI(Player player, SchematicNode node, SchematicType type) { SWInventory inv = new SWInventory(player, 9, SchematicSystem.MESSAGE.parse("UTIL_SUBMIT_TITLE", player)); - inv.setItem(0, SWItem.getMaterial("SIGN"), SchematicSystem.MESSAGE.parse(node.allowReplay()?"UTIL_SUBMIT_REPLAY_ON":"UTIL_SUBMIT_REPLAY_OFF", player), click -> { + inv.setItem(0, Material.OAK_SIGN, SchematicSystem.MESSAGE.parse(node.allowReplay()?"UTIL_SUBMIT_REPLAY_ON":"UTIL_SUBMIT_REPLAY_OFF", player), click -> { node.setAllowReplay(!node.allowReplay()); submitSchemGUI(player, node, type); }); - inv.setItem(1, SWItem.getMaterial(node.replaceColor() ? "PINK_WOOL" : "LIGHT_GRAY_WOOL"), SchematicSystem.MESSAGE.parse(node.replaceColor()?"UTIL_SUBMIT_COLOR_ON":"UTIL_SUBMIT_COLOR_OFF", player), click -> { + inv.setItem(1, node.replaceColor() ? Material.PINK_WOOL : Material.LIGHT_GRAY_WOOL, SchematicSystem.MESSAGE.parse(node.replaceColor()?"UTIL_SUBMIT_COLOR_ON":"UTIL_SUBMIT_COLOR_OFF", player), click -> { node.setReplaceColor(!node.replaceColor()); submitSchemGUI(player, node, type); }); - inv.setItem(7, SWItem.getDye(7), (byte) 7, SchematicSystem.MESSAGE.parse("UTIL_SUBMIT_DIRECT", player), click -> { + inv.setItem(7, Material.LIGHT_GRAY_DYE, (byte) 7, SchematicSystem.MESSAGE.parse("UTIL_SUBMIT_DIRECT", player), click -> { node.setSchemtype(type.checkType()); SchematicSystem.MESSAGE.send(type.getManualCheck() ? "UTIL_SUBMIT_DIRECT_DONE" : "UTIL_SUBMIT_DIRECT_PLAYABLE", player); player.closeInventory(); }); - inv.setItem(8, SWItem.getDye(10), (byte) 10, SchematicSystem.MESSAGE.parse("UTIL_SUBMIT_EXTEND", player), click -> { + inv.setItem(8, Material.LIME_DYE, (byte) 10, SchematicSystem.MESSAGE.parse("UTIL_SUBMIT_EXTEND", player), click -> { NetworkSender.send(new PrepareSchemPacket(SteamwarUser.get(player.getUniqueId()).getId(), node.getId(), type.toDB())); SchematicSystem.MESSAGE.send("UTIL_SUBMIT_EXTEND_DONE", player); player.closeInventory(); diff --git a/SpigotCore/SpigotCore_Main/src/de/steamwar/core/ChatWrapper.java b/SpigotCore/SpigotCore_Main/src/de/steamwar/core/ChatWrapper.java index 57e90970..b2baf6bf 100644 --- a/SpigotCore/SpigotCore_Main/src/de/steamwar/core/ChatWrapper.java +++ b/SpigotCore/SpigotCore_Main/src/de/steamwar/core/ChatWrapper.java @@ -19,6 +19,7 @@ package de.steamwar.core; +import lombok.experimental.UtilityClass; import net.minecraft.network.chat.MutableComponent; import net.minecraft.network.chat.contents.PlainTextContents; import net.minecraft.network.protocol.game.ClientboundSetEntityDataPacket; @@ -26,9 +27,8 @@ import net.minecraft.network.syncher.SynchedEntityData; import java.util.ArrayList; +@UtilityClass public class ChatWrapper { - public static final ChatWrapper impl = new ChatWrapper(); - public Object stringToChatComponent(String text) { return MutableComponent.create(PlainTextContents.create(text)); } diff --git a/SpigotCore/SpigotCore_Main/src/de/steamwar/core/CheckpointUtilsJ9.java b/SpigotCore/SpigotCore_Main/src/de/steamwar/core/CheckpointUtilsJ9.java index 0099d6cf..b17bbb11 100644 --- a/SpigotCore/SpigotCore_Main/src/de/steamwar/core/CheckpointUtilsJ9.java +++ b/SpigotCore/SpigotCore_Main/src/de/steamwar/core/CheckpointUtilsJ9.java @@ -26,6 +26,7 @@ import io.netty.channel.ChannelFuture; import net.minecraft.server.MinecraftServer; import net.minecraft.server.network.ServerConnectionListener; import org.bukkit.Bukkit; +import org.bukkit.craftbukkit.CraftWorld; import org.eclipse.openj9.criu.CRIUSupport; import org.eclipse.openj9.criu.JVMCRIUException; import sun.misc.Signal; @@ -96,7 +97,9 @@ class CheckpointUtilsJ9 { private static void freezeInternal(Path path) throws Exception { Bukkit.getPluginManager().callEvent(new CRIUSleepEvent()); - Bukkit.getWorlds().forEach(FlatteningWrapper.impl::syncSave); + Bukkit.getWorlds().forEach(world -> { + ((CraftWorld) world).getHandle().save(null, true, false); + }); Statement.closeAll(); // Close socket diff --git a/SpigotCore/SpigotCore_Main/src/de/steamwar/core/FlatteningWrapper.java b/SpigotCore/SpigotCore_Main/src/de/steamwar/core/FlatteningWrapper.java index e08b9a9e..3792dc02 100644 --- a/SpigotCore/SpigotCore_Main/src/de/steamwar/core/FlatteningWrapper.java +++ b/SpigotCore/SpigotCore_Main/src/de/steamwar/core/FlatteningWrapper.java @@ -19,339 +19,14 @@ package de.steamwar.core; -import com.destroystokyo.paper.profile.PlayerProfile; -import de.steamwar.Reflection; -import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.network.chat.Component; -import net.minecraft.network.protocol.game.ClientboundSetObjectivePacket; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.entity.Pose; -import org.bukkit.Bukkit; -import org.bukkit.Material; -import org.bukkit.OfflinePlayer; -import org.bukkit.World; -import org.bukkit.craftbukkit.CraftWorld; -import org.bukkit.craftbukkit.util.CraftNamespacedKey; -import org.bukkit.entity.EntityType; -import org.bukkit.entity.Player; -import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.SkullMeta; +import lombok.experimental.UtilityClass; -import java.util.HashMap; -import java.util.Map; import java.util.Optional; +@UtilityClass public class FlatteningWrapper { - private FlatteningWrapper() {} - - public static final FlatteningWrapper impl = new FlatteningWrapper(); - - private static final Map renamedLegacy = new HashMap<>(); - - static{ - renamedLegacy.put("WOOD", Material.OAK_WOOD); - renamedLegacy.put("SAPLING", Material.OAK_SAPLING); - renamedLegacy.put("STATIONARY_WATER", Material.WATER); - renamedLegacy.put("STATIONARY_LAVA", Material.LAVA); - renamedLegacy.put("LOG", Material.OAK_LOG); - renamedLegacy.put("LEAVES", Material.OAK_LEAVES); - renamedLegacy.put("BED_BLOCK", Material.RED_BED); - renamedLegacy.put("BED", Material.RED_BED); - renamedLegacy.put("PISTON_STICKY_BASE", Material.STICKY_PISTON); - renamedLegacy.put("WEB", Material.COBWEB); - renamedLegacy.put("LONG_GRASS", Material.TALL_GRASS); - renamedLegacy.put("PISTON_BASE", Material.PISTON); - renamedLegacy.put("PISTON_EXTENSION", Material.PISTON_HEAD); - renamedLegacy.put("WOOL", Material.WHITE_WOOL); - renamedLegacy.put("PISTON_MOVING_PIECE", Material.MOVING_PISTON); - renamedLegacy.put("YELLOW_FLOWER", Material.DANDELION); - renamedLegacy.put("RED_ROSE", Material.POPPY); - renamedLegacy.put("DOUBLE_STEP", Material.SMOOTH_STONE); - renamedLegacy.put("STEP", Material.SMOOTH_STONE_SLAB); - renamedLegacy.put("MOB_SPAWNER", Material.SPAWNER); - renamedLegacy.put("WOOD_STAIRS", Material.OAK_STAIRS); - renamedLegacy.put("WORKBENCH", Material.CRAFTING_TABLE); - renamedLegacy.put("CROPS", Material.WHEAT_SEEDS); - renamedLegacy.put("SEEDS", Material.WHEAT_SEEDS); - renamedLegacy.put("SOIL", Material.FARMLAND); - renamedLegacy.put("BURNING_FURNACE", Material.FURNACE); - renamedLegacy.put("SIGN_POST", Material.OAK_SIGN); - renamedLegacy.put("SIGN", Material.OAK_SIGN); - renamedLegacy.put("WOODEN_DOOR", Material.OAK_DOOR); - renamedLegacy.put("WOOD_DOOR", Material.OAK_DOOR); - renamedLegacy.put("RAILS", Material.RAIL); - renamedLegacy.put("WALL_SIGN", Material.OAK_WALL_SIGN); - renamedLegacy.put("STONE_PLATE", Material.STONE_PRESSURE_PLATE); - renamedLegacy.put("WOOD_PLATE", Material.OAK_PRESSURE_PLATE); - renamedLegacy.put("GLOWING_REDSTONE_ORE", Material.REDSTONE_ORE); - renamedLegacy.put("REDSTONE_TORCH_OFF", Material.REDSTONE_TORCH); - renamedLegacy.put("REDSTONE_TORCH_ON", Material.REDSTONE_TORCH); - renamedLegacy.put("IRON_DOOR_BLOCK", Material.IRON_DOOR); - renamedLegacy.put("SUGAR_CANE_BLOCK", Material.SUGAR_CANE); - renamedLegacy.put("CAKE_BLOCK", Material.CAKE); - renamedLegacy.put("MELON_BLOCK", Material.MELON); - renamedLegacy.put("BEETROOT_BLOCK", Material.BEETROOT); - renamedLegacy.put("FENCE", Material.OAK_FENCE); - renamedLegacy.put("PORTAL", Material.NETHER_PORTAL); - renamedLegacy.put("DIODE_BLOCK_OFF", Material.REPEATER); - renamedLegacy.put("DIODE_BLOCK_ON", Material.REPEATER); - renamedLegacy.put("DIODE", Material.REPEATER); - renamedLegacy.put("STAINED_GLASS", Material.WHITE_STAINED_GLASS); - renamedLegacy.put("TRAP_DOOR", Material.OAK_TRAPDOOR); - renamedLegacy.put("MONSTER_EGGS", Material.SKELETON_SPAWN_EGG); - renamedLegacy.put("MONSTER_EGG", Material.SKELETON_SPAWN_EGG); - renamedLegacy.put("SMOOTH_BRICK", Material.STONE_BRICKS); - renamedLegacy.put("HUGE_MUSHROOM_1", Material.MUSHROOM_STEM); - renamedLegacy.put("HUGE_MUSHROOM_2", Material.RED_MUSHROOM); - renamedLegacy.put("IRON_FENCE", Material.IRON_BARS); - renamedLegacy.put("THIN_GLASS", Material.GLASS_PANE); - renamedLegacy.put("FENCE_GATE", Material.OAK_FENCE_GATE); - renamedLegacy.put("SMOOTH_STAIRS", Material.STONE_BRICK_STAIRS); - renamedLegacy.put("MYCEL", Material.MYCELIUM); - renamedLegacy.put("WATER_LILY", Material.LILY_PAD); - renamedLegacy.put("NETHER_FENCE", Material.NETHER_BRICK_FENCE); - renamedLegacy.put("NETHER_WARTS", Material.NETHER_WART); - renamedLegacy.put("NETHER_STALK", Material.NETHER_WART); - renamedLegacy.put("ENCHANTMENT_TABLE", Material.ENCHANTING_TABLE); - renamedLegacy.put("ENDER_PORTAL", Material.END_PORTAL); - renamedLegacy.put("ENDER_PORTAL_FRAME", Material.END_PORTAL_FRAME); - renamedLegacy.put("ENDER_STONE", Material.END_STONE); - renamedLegacy.put("REDSTONE_LAMP_OFF", Material.REDSTONE_LAMP); - renamedLegacy.put("REDSTONE_LAMP_ON", Material.REDSTONE_LAMP); - renamedLegacy.put("WOOD_DOUBLE_STEP", Material.OAK_SLAB); - renamedLegacy.put("WOOD_STEP", Material.OAK_SLAB); - renamedLegacy.put("SPRUCE_WOOD_STAIRS", Material.SPRUCE_STAIRS); - renamedLegacy.put("BIRCH_WOOD_STAIRS", Material.BIRCH_STAIRS); - renamedLegacy.put("JUNGLE_WOOD_STAIRS", Material.JUNGLE_STAIRS); - renamedLegacy.put("COMMAND", Material.COMMAND_BLOCK); - renamedLegacy.put("COBBLE_WALL", Material.COBBLESTONE_WALL); - renamedLegacy.put("WOOD_BUTTON", Material.OAK_BUTTON); - renamedLegacy.put("SKULL", Material.SKELETON_SKULL); - renamedLegacy.put("SKULL_ITEM", Material.SKELETON_SKULL); - renamedLegacy.put("GOLD_PLATE", Material.LIGHT_WEIGHTED_PRESSURE_PLATE); - renamedLegacy.put("IRON_PLATE", Material.HEAVY_WEIGHTED_PRESSURE_PLATE); - renamedLegacy.put("REDSTONE_COMPARATOR_OFF", Material.COMPARATOR); - renamedLegacy.put("REDSTONE_COMPARATOR_ON", Material.COMPARATOR); - renamedLegacy.put("REDSTONE_COMPARATOR", Material.COMPARATOR); - renamedLegacy.put("QUARTZ_ORE", Material.QUARTZ); - renamedLegacy.put("STAINED_CLAY", Material.WHITE_TERRACOTTA); - renamedLegacy.put("STAINED_GLASS_PANE", Material.WHITE_STAINED_GLASS_PANE); - renamedLegacy.put("LEAVES_2", Material.ACACIA_LEAVES); - renamedLegacy.put("LOG_2", Material.ACACIA_LOG); - renamedLegacy.put("CARPET", Material.WHITE_CARPET); - renamedLegacy.put("HARD_CLAY", Material.TERRACOTTA); - renamedLegacy.put("DOUBLE_PLANT", Material.SUNFLOWER); - renamedLegacy.put("STANDING_BANNER", Material.WHITE_BANNER); - renamedLegacy.put("BANNER", Material.WHITE_BANNER); - renamedLegacy.put("WALL_BANNER", Material.WHITE_WALL_BANNER); - renamedLegacy.put("DAYLIGHT_DETECTOR_INVERTED", Material.DAYLIGHT_DETECTOR); - renamedLegacy.put("DOUBLE_STONE_SLAB2", Material.RED_SANDSTONE_SLAB); - renamedLegacy.put("STONE_SLAB2", Material.RED_SANDSTONE_SLAB); - renamedLegacy.put("PURPUR_DOUBLE_SLAB", Material.PURPUR_SLAB); - renamedLegacy.put("END_BRICKS", Material.END_STONE_BRICKS); - renamedLegacy.put("COMMAND_REPEATING", Material.REPEATING_COMMAND_BLOCK); - renamedLegacy.put("COMMAND_CHAIN", Material.CHAIN_COMMAND_BLOCK); - renamedLegacy.put("MAGMA", Material.MAGMA_BLOCK); - renamedLegacy.put("RED_NETHER_BRICK", Material.RED_NETHER_BRICKS); - renamedLegacy.put("SILVER_SHULKER_BOX", Material.LIGHT_GRAY_SHULKER_BOX); - renamedLegacy.put("SILVER_GLAZED_TERRACOTTA", Material.LIGHT_GRAY_TERRACOTTA); - renamedLegacy.put("CONCRETE", Material.WHITE_CONCRETE); - renamedLegacy.put("CONCRETE_POWDER", Material.WHITE_CONCRETE_POWDER); - renamedLegacy.put("IRON_SPADE", Material.IRON_SHOVEL); - renamedLegacy.put("WOOD_SWORD", Material.WOODEN_SWORD); - renamedLegacy.put("WOOD_SPADE", Material.WOODEN_SHOVEL); - renamedLegacy.put("WOOD_PICKAXE", Material.WOODEN_PICKAXE); - renamedLegacy.put("WOOD_AXE", Material.WOODEN_AXE); - renamedLegacy.put("STONE_SPADE", Material.STONE_SHOVEL); - renamedLegacy.put("DIAMOND_SPADE", Material.DIAMOND_SHOVEL); - renamedLegacy.put("MUSHROOM_SOUP", Material.MUSHROOM_STEW); - renamedLegacy.put("GOLD_SWORD", Material.GOLDEN_SWORD); - renamedLegacy.put("GOLD_SPADE", Material.GOLDEN_SHOVEL); - renamedLegacy.put("GOLD_PICKAXE", Material.GOLDEN_PICKAXE); - renamedLegacy.put("GOLD_AXE", Material.GOLDEN_AXE); - renamedLegacy.put("SULPHUR", Material.GUNPOWDER); - renamedLegacy.put("WOOD_HOE", Material.WOODEN_HOE); - renamedLegacy.put("GOLD_HOE", Material.GOLDEN_HOE); - renamedLegacy.put("GOLD_HELMET", Material.GOLDEN_HELMET); - renamedLegacy.put("GOLD_CHESTPLATE", Material.GOLDEN_CHESTPLATE); - renamedLegacy.put("GOLD_LEGGINGS", Material.GOLDEN_LEGGINGS); - renamedLegacy.put("GOLD_BOOTS", Material.GOLDEN_BOOTS); - renamedLegacy.put("PORK", Material.PORKCHOP); - renamedLegacy.put("GRILLED_PORK", Material.COOKED_PORKCHOP); - renamedLegacy.put("SNOW_BALL", Material.SNOWBALL); - renamedLegacy.put("BOAT", Material.OAK_BOAT); - renamedLegacy.put("CLAY_BRICK", Material.BRICKS); - renamedLegacy.put("STORAGE_MINECART", Material.CHEST_MINECART); - renamedLegacy.put("POWERED_MINECART", Material.FURNACE_MINECART); - renamedLegacy.put("WATCH", Material.CLOCK); - renamedLegacy.put("RAW_FISH", Material.SALMON); - renamedLegacy.put("COOKED_FISH", Material.COOKED_SALMON); - renamedLegacy.put("INK_SACK", Material.INK_SAC); - renamedLegacy.put("RAW_BEEF", Material.BEEF); - renamedLegacy.put("RAW_CHICKEN", Material.CHICKEN); - renamedLegacy.put("EYE_OF_ENDER", Material.ENDER_EYE); - renamedLegacy.put("SPECKLED_MELON", Material.GLISTERING_MELON_SLICE); - renamedLegacy.put("EXP_BOTTLE", Material.EXPERIENCE_BOTTLE); - renamedLegacy.put("FIREBALL", Material.FIRE_CHARGE); - renamedLegacy.put("BOOK_AND_QUILL", Material.WRITABLE_BOOK); - renamedLegacy.put("FLOWER_POT_ITEM", Material.FLOWER_POT); - renamedLegacy.put("EMPTY_MAP", Material.MAP); - renamedLegacy.put("BREWING_STAND_ITEM", Material.BREWING_STAND); - renamedLegacy.put("CAULDRON_ITEM", Material.CAULDRON); - renamedLegacy.put("CARROT_ITEM", Material.CARROT); - renamedLegacy.put("POTATO_ITEM", Material.POTATO); - renamedLegacy.put("SPRUCE_DOOR_ITEM", Material.SPRUCE_DOOR); - renamedLegacy.put("BIRCH_DOOR_ITEM", Material.BIRCH_DOOR); - renamedLegacy.put("JUNGLE_DOOR_ITEM", Material.JUNGLE_DOOR); - renamedLegacy.put("ACACIA_DOOR_ITEM", Material.ACACIA_DOOR); - renamedLegacy.put("DARK_OAK_DOOR_ITEM", Material.DARK_OAK_DOOR); - renamedLegacy.put("CARROT_STICK", Material.CARROT_ON_A_STICK); - renamedLegacy.put("FIREWORK", Material.FIREWORK_ROCKET); - renamedLegacy.put("FIREWORK_CHARGE", Material.FIREWORK_STAR); - renamedLegacy.put("NETHER_BRICK_ITEM", Material.NETHER_BRICKS); - renamedLegacy.put("EXPLOSIVE_MINECART", Material.TNT_MINECART); - renamedLegacy.put("IRON_BARDING", Material.IRON_HORSE_ARMOR); - renamedLegacy.put("GOLD_BARDING", Material.GOLDEN_HORSE_ARMOR); - renamedLegacy.put("DIAMOND_BARDING", Material.DIAMOND_HORSE_ARMOR); - renamedLegacy.put("LEASH", Material.LEAD); - renamedLegacy.put("COMMAND_MINECART", Material.COMMAND_BLOCK_MINECART); - renamedLegacy.put("CHORUS_FRUIT_POPPED", Material.POPPED_CHORUS_FRUIT); - renamedLegacy.put("DRAGONS_BREATH", Material.DRAGON_BREATH); - renamedLegacy.put("BOAT_SPRUCE", Material.SPRUCE_BOAT); - renamedLegacy.put("BOAT_BIRCH", Material.BIRCH_BOAT); - renamedLegacy.put("BOAT_JUNGLE", Material.JUNGLE_BOAT); - renamedLegacy.put("BOAT_ACACIA", Material.ACACIA_BOAT); - renamedLegacy.put("BOAT_DARK_OAK", Material.DARK_OAK_BOAT); - renamedLegacy.put("TOTEM", Material.TOTEM_OF_UNDYING); - renamedLegacy.put("GOLD_RECORD", Material.MUSIC_DISC_13); - renamedLegacy.put("GREEN_RECORD", Material.MUSIC_DISC_CAT); - renamedLegacy.put("RECORD_3", Material.MUSIC_DISC_BLOCKS); - renamedLegacy.put("RECORD_4", Material.MUSIC_DISC_CHIRP); - renamedLegacy.put("RECORD_5", Material.MUSIC_DISC_FAR); - renamedLegacy.put("RECORD_6", Material.MUSIC_DISC_MALL); - renamedLegacy.put("RECORD_7", Material.MUSIC_DISC_MELLOHI); - renamedLegacy.put("RECORD_8", Material.MUSIC_DISC_STAL); - renamedLegacy.put("RECORD_9", Material.MUSIC_DISC_STRAD); - renamedLegacy.put("RECORD_10", Material.MUSIC_DISC_WARD); - renamedLegacy.put("RECORD_11", Material.MUSIC_DISC_11); - renamedLegacy.put("RECORD_12", Material.MUSIC_DISC_WAIT); - } - - private static final Reflection.Field scoreboardName = Reflection.getField(ClientboundSetObjectivePacket.class, Component.class, 0); - public void setScoreboardTitle(Object packet, String title) { - scoreboardName.set(packet, ChatWrapper.impl.stringToChatComponent(title)); - } - - private static final Class scoreActionEnum = null; - private static final Reflection.Field scoreAction = null; - private static final Object scoreActionChange = null; - - public void setScoreAction(Object packet) { - scoreAction.set(packet, scoreActionChange); - } - - public Material getMaterial(String material) { - try{ - return Material.valueOf(material); - }catch(IllegalArgumentException e){ - return renamedLegacy.get(material); - } - } - - public Material getDye(int colorCode) { - switch(colorCode){ - case 1: - return Material.RED_DYE; - case 2: - return Material.GREEN_DYE; - case 3: - return Material.BROWN_DYE; - case 4: - return Material.LAPIS_LAZULI; - case 5: - return Material.PURPLE_DYE; - case 6: - return Material.CYAN_DYE; - case 7: - return Material.LIGHT_GRAY_DYE; - case 8: - return Material.GRAY_DYE; - case 9: - return Material.PINK_DYE; - case 10: - return Material.LIME_DYE; - case 11: - return Material.YELLOW_DYE; - case 12: - return Material.LIGHT_BLUE_DYE; - case 13: - return Material.MAGENTA_DYE; - case 14: - return Material.ORANGE_DYE; - case 15: - return Material.WHITE_DYE; - default: - return Material.BLACK_DYE; - } - } - - public ItemStack setSkullOwner(String player) { - ItemStack head = new ItemStack(Material.PLAYER_HEAD, 1); - head.editMeta(SkullMeta.class, skullMeta -> { - try { - OfflinePlayer offlinePlayer = Bukkit.getOfflinePlayer(player.startsWith(".") ? player.substring(1) : player); - PlayerProfile playerProfile = offlinePlayer.getPlayerProfile(); - playerProfile.complete(); - skullMeta.setPlayerProfile(playerProfile); - } catch (Exception e) { - // Ignore - } - }); - return head; - } - - protected static final Class entityPose = Pose.class; - protected static final Object shooting = entityPose.getEnumConstants()[16]; - protected static final Object standing = entityPose.getEnumConstants()[0]; - protected static final Object swimming = entityPose.getEnumConstants()[3]; - protected static final Object sneaking = entityPose.getEnumConstants()[5]; - public Object getPose(FlatteningWrapper.EntityPose pose) { - switch (pose) { - case SHOOTING: - return shooting; - case SNEAKING: - return sneaking; - case SWIMMING: - return swimming; - case NORMAL: - default: - return standing; - } - } public Object formatDisplayName(String displayName) { - return displayName != null ? Optional.of(ChatWrapper.impl.stringToChatComponent(displayName)) : Optional.empty(); - } - - private static final Reflection.Field spawnType = Reflection.getField(ProtocolWrapper.spawnPacket, net.minecraft.world.entity.EntityType.class, 0); - public void setSpawnPacketType(Object packet, EntityType type) { - ResourceLocation key = CraftNamespacedKey.toMinecraft(type.getKey()); - spawnType.set(packet, BuiltInRegistries.ENTITY_TYPE.get(key).get().value()); - } - - public int getViewDistance(Player player) { - return player.getClientViewDistance(); - } - - public void syncSave(World world) { - ((CraftWorld) world).getHandle().save(null, true, false); - } - - public enum EntityPose { - NORMAL, - SNEAKING, - SWIMMING, - SHOOTING, - ; + return displayName != null ? Optional.of(ChatWrapper.stringToChatComponent(displayName)) : Optional.empty(); } } diff --git a/SpigotCore/SpigotCore_Main/src/de/steamwar/core/WorldEditRenderer.java b/SpigotCore/SpigotCore_Main/src/de/steamwar/core/WorldEditRenderer.java index af3fbb08..edb3fc2e 100644 --- a/SpigotCore/SpigotCore_Main/src/de/steamwar/core/WorldEditRenderer.java +++ b/SpigotCore/SpigotCore_Main/src/de/steamwar/core/WorldEditRenderer.java @@ -45,7 +45,7 @@ public class WorldEditRenderer implements Listener { private static WorldEditRenderer INSTANCE; - private static final Material WAND = FlatteningWrapper.impl.getMaterial("WOOD_AXE"); + private static final Material WAND = Material.WOODEN_AXE; private final WorldEditPlugin we; diff --git a/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/REntity.java b/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/REntity.java index b5643eb2..ddabb2cf 100644 --- a/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/REntity.java +++ b/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/REntity.java @@ -27,16 +27,19 @@ import de.steamwar.core.FlatteningWrapper; import de.steamwar.core.ProtocolWrapper; import it.unimi.dsi.fastutil.ints.IntArrayList; import lombok.Getter; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.network.chat.Component; import net.minecraft.network.protocol.game.*; import net.minecraft.network.syncher.EntityDataAccessor; import net.minecraft.network.syncher.EntityDataSerializers; +import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.Pose; import net.minecraft.world.entity.PositionMoveRotation; import net.minecraft.world.phys.Vec3; import org.bukkit.Location; import org.bukkit.craftbukkit.inventory.CraftItemStack; +import org.bukkit.craftbukkit.util.CraftNamespacedKey; import org.bukkit.entity.EntityType; import org.bukkit.inventory.ItemStack; @@ -77,7 +80,7 @@ public class REntity { @Getter private boolean invisible; @Getter - private FlatteningWrapper.EntityPose pose = FlatteningWrapper.EntityPose.NORMAL; + private Pose pose = Pose.STANDING; @Getter private boolean bowDrawn; @Getter @@ -195,9 +198,9 @@ public class REntity { server.updateEntity(this, packet); } - public void setPose(FlatteningWrapper.EntityPose pose) { + public void setPose(Pose pose) { this.pose = pose; - server.updateEntity(this, getDataWatcherPacket(poseDataWatcher, FlatteningWrapper.impl.getPose(pose))); + server.updateEntity(this, getDataWatcherPacket(poseDataWatcher, pose)); } public void setOnFire(boolean perma) { @@ -222,7 +225,7 @@ public class REntity { public void setDisplayName(String displayName) { this.displayName = displayName; server.updateEntity(this, getDataWatcherPacket( - nameWatcher, FlatteningWrapper.impl.formatDisplayName(displayName), + nameWatcher, FlatteningWrapper.formatDisplayName(displayName), nameVisibleWatcher, displayName != null )); } @@ -260,14 +263,8 @@ public class REntity { // empty for regular entity } - private static final Function livingSpawnPacketGenerator = REntity::spawnPacketGenerator; void spawn(Consumer packetSink) { - if(entityType.isAlive()) { - packetSink.accept(livingSpawnPacketGenerator.apply(this)); - } else { - packetSink.accept(spawnPacketGenerator()); - } - + packetSink.accept(spawnPacketGenerator()); postSpawn(packetSink); } @@ -276,8 +273,8 @@ public class REntity { packetSink.accept(getHeadRotationPacket()); } - if(pose != FlatteningWrapper.EntityPose.NORMAL) { - packetSink.accept(getDataWatcherPacket(poseDataWatcher, FlatteningWrapper.impl.getPose(pose))); + if(pose != Pose.STANDING) { + packetSink.accept(getDataWatcherPacket(poseDataWatcher, pose)); } byte status = getEntityStatus(); @@ -286,7 +283,7 @@ public class REntity { } if(displayName != null) { - packetSink.accept(getDataWatcherPacket(nameWatcher, FlatteningWrapper.impl.formatDisplayName(displayName), nameVisibleWatcher, true)); + packetSink.accept(getDataWatcherPacket(nameWatcher, FlatteningWrapper.formatDisplayName(displayName), nameVisibleWatcher, true)); } if(noGravity) { @@ -324,7 +321,7 @@ public class REntity { if(fireTick != 0) status |= 1; - if(pose == FlatteningWrapper.EntityPose.SNEAKING) + if(pose == Pose.CROUCHING) status |= 2; if(invisible) status |= 0x20; @@ -335,7 +332,7 @@ public class REntity { } protected Object getDataWatcherPacket(Object... dataWatcherKeyValues) { - return ChatWrapper.impl.getDataWatcherPacket(entityId, dataWatcherKeyValues); + return ChatWrapper.getDataWatcherPacket(entityId, dataWatcherKeyValues); } private Object getTeleportPacket(){ @@ -374,6 +371,7 @@ public class REntity { return new ClientboundSetEquipmentPacket(entityId, Collections.singletonList(Pair.of((EquipmentSlot) slot, CraftItemStack.asNMSCopy(stack)))); } + private static final Reflection.Field spawnType = Reflection.getField(ProtocolWrapper.spawnPacket, net.minecraft.world.entity.EntityType.class, 0); private static Function entitySpawnPacketGenerator(Class spawnPacket, int posOffset) { BountifulWrapper.UUIDSetter uuid = BountifulWrapper.impl.getUUIDSetter(spawnPacket); Function packetGenerator = spawnPacketGenerator(spawnPacket, posOffset); @@ -381,7 +379,8 @@ public class REntity { return entity -> { Object packet = packetGenerator.apply(entity); uuid.set(packet, entity.uuid); - FlatteningWrapper.impl.setSpawnPacketType(packet, entity.entityType); + ResourceLocation key = CraftNamespacedKey.toMinecraft(entity.entityType.getKey()); + spawnType.set(packet, BuiltInRegistries.ENTITY_TYPE.get(key).get().value()); return packet; }; } diff --git a/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/REntityServer.java b/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/REntityServer.java index 0d10f232..f5445ce7 100644 --- a/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/REntityServer.java +++ b/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/REntityServer.java @@ -21,7 +21,6 @@ package de.steamwar.entity; import com.comphenix.tinyprotocol.TinyProtocol; import de.steamwar.core.Core; -import de.steamwar.core.FlatteningWrapper; import net.minecraft.network.protocol.game.ServerboundInteractPacket; import org.bukkit.Bukkit; import org.bukkit.Location; @@ -287,7 +286,7 @@ public class REntityServer implements Listener { } private int viewRadius(Player player) { - return FlatteningWrapper.impl.getViewDistance(player) / 2; + return player.getClientViewDistance() / 2; } private long entityToId(REntity entity) { diff --git a/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/RTextDisplay.java b/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/RTextDisplay.java index 54a56d6c..3f50f309 100644 --- a/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/RTextDisplay.java +++ b/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/RTextDisplay.java @@ -77,7 +77,7 @@ public class RTextDisplay extends RDisplay { private static final EntityDataAccessor textWatcher = new EntityDataAccessor<>(23, EntityDataSerializers.COMPONENT); private void getText(boolean ignoreDefault, BiConsumer packetSink) { if (ignoreDefault || !text.isEmpty()) { - packetSink.accept(textWatcher, ChatWrapper.impl.stringToChatComponent(text)); + packetSink.accept(textWatcher, ChatWrapper.stringToChatComponent(text)); } } diff --git a/SpigotCore/SpigotCore_Main/src/de/steamwar/inventory/SWItem.java b/SpigotCore/SpigotCore_Main/src/de/steamwar/inventory/SWItem.java index 50039b8e..7728cec1 100644 --- a/SpigotCore/SpigotCore_Main/src/de/steamwar/inventory/SWItem.java +++ b/SpigotCore/SpigotCore_Main/src/de/steamwar/inventory/SWItem.java @@ -19,15 +19,17 @@ package de.steamwar.inventory; +import com.destroystokyo.paper.profile.PlayerProfile; import com.google.gson.JsonArray; import com.google.gson.JsonObject; -import de.steamwar.core.FlatteningWrapper; import de.steamwar.core.TrickyTrialsWrapper; +import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.OfflinePlayer; import org.bukkit.inventory.ItemFlag; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; +import org.bukkit.inventory.meta.SkullMeta; import java.util.ArrayList; import java.util.Arrays; @@ -47,27 +49,29 @@ public class SWItem { public static SWItem getPlayerSkull(String playerName){ SWItem p = new SWItem(); - ItemStack head = FlatteningWrapper.impl.setSkullOwner(playerName); + ItemStack head = new ItemStack(Material.PLAYER_HEAD, 1); + head.editMeta(SkullMeta.class, skullMeta -> { + try { + OfflinePlayer offlinePlayer = Bukkit.getOfflinePlayer(playerName.startsWith(".") ? playerName.substring(1) : playerName); + PlayerProfile playerProfile = offlinePlayer.getPlayerProfile(); + playerProfile.complete(); + skullMeta.setPlayerProfile(playerProfile); + } catch (Exception e) { + // Ignore + } + }); p.setItemStack(head); return p; } public static Material getMaterial(String material){ try{ - Material m = FlatteningWrapper.impl.getMaterial(material); - if(m == null) - return Material.BARRIER; - - return m; + return Material.valueOf(material); }catch(IllegalArgumentException e){ - return Material.STONE; + return Material.BARRIER; } } - public static Material getDye(int colorCode){ - return FlatteningWrapper.impl.getDye(colorCode); - } - public SWItem() { itemStack = new ItemStack(Material.AIR); itemMeta = itemStack.getItemMeta(); @@ -119,13 +123,7 @@ public class SWItem { public static SWItem getItemFromJson(JsonObject itemJson) { SWItem item = null; try { - if(itemJson.has("color")) { - item = new SWItem(SWItem.getDye(itemJson.get("color").getAsInt()), - itemJson.has("color")?itemJson.get("color").getAsByte():0, - itemJson.get("title").getAsString()); - }else { - item = new SWItem(SWItem.getMaterial(itemJson.get("material").getAsString()), itemJson.get("title").getAsString()); - } + item = new SWItem(SWItem.getMaterial(itemJson.get("material").getAsString()), itemJson.get("title").getAsString()); }catch (IllegalArgumentException e) { item = new SWItem(Material.STONE, itemJson.get("title").getAsString()); } diff --git a/SpigotCore/SpigotCore_Main/src/de/steamwar/inventory/SWListInv.java b/SpigotCore/SpigotCore_Main/src/de/steamwar/inventory/SWListInv.java index 5675e4f7..1e251528 100644 --- a/SpigotCore/SpigotCore_Main/src/de/steamwar/inventory/SWListInv.java +++ b/SpigotCore/SpigotCore_Main/src/de/steamwar/inventory/SWListInv.java @@ -64,27 +64,27 @@ public class SWListInv extends SWInventory { if (sizeBiggerMax()) { if (page != 0) { - setItem(45, new SWItem(SWItem.getDye(10), (byte) 10, Core.MESSAGE.parse("SWLISINV_PREVIOUS_PAGE_ACTIVE", player), (ClickType click) -> { + setItem(45, new SWItem(Material.LIME_DYE, (byte) 10, Core.MESSAGE.parse("SWLISINV_PREVIOUS_PAGE_ACTIVE", player), (ClickType click) -> { page--; open(); }).setCustomModelData(CMDs.PREVIOUS_PAGE)); } else { - setItem(45, new SWItem(SWItem.getDye(8), (byte) 8, Core.MESSAGE.parse("SWLISINV_PREVIOUS_PAGE_INACTIVE", player), (ClickType click) -> { + setItem(45, new SWItem(Material.GRAY_DYE, (byte) 8, Core.MESSAGE.parse("SWLISINV_PREVIOUS_PAGE_INACTIVE", player), (ClickType click) -> { }).setCustomModelData(CMDs.PREVIOUS_PAGE)); } if (page < elements.size() / 45 - (elements.size() % 45 == 0 ? 1 : 0)) { - setItem(53, new SWItem(SWItem.getDye(10), (byte) 10, Core.MESSAGE.parse("SWLISINV_NEXT_PAGE_ACTIVE", player), (ClickType click) -> { + setItem(53, new SWItem(Material.LIME_DYE, (byte) 10, Core.MESSAGE.parse("SWLISINV_NEXT_PAGE_ACTIVE", player), (ClickType click) -> { page++; open(); }).setCustomModelData(CMDs.NEXT_PAGE)); } else { - setItem(53, new SWItem(SWItem.getDye(8), (byte) 8, Core.MESSAGE.parse("SWLISINV_NEXT_PAGE_INACTIVE", player), (ClickType click) -> { + setItem(53, new SWItem(Material.GRAY_DYE, (byte) 8, Core.MESSAGE.parse("SWLISINV_NEXT_PAGE_INACTIVE", player), (ClickType click) -> { }).setCustomModelData(CMDs.NEXT_PAGE)); } } else if (!dynamicSize) { - setItem(45, new SWItem(SWItem.getDye(8), (byte) 8, Core.MESSAGE.parse("SWLISINV_PREVIOUS_PAGE_INACTIVE", player), (ClickType click) -> { + setItem(45, new SWItem(Material.GRAY_DYE, (byte) 8, Core.MESSAGE.parse("SWLISINV_PREVIOUS_PAGE_INACTIVE", player), (ClickType click) -> { }).setCustomModelData(CMDs.PREVIOUS_PAGE)); - setItem(53, new SWItem(SWItem.getDye(8), (byte) 8, Core.MESSAGE.parse("SWLISINV_NEXT_PAGE_INACTIVE", player), (ClickType click) -> { + setItem(53, new SWItem(Material.GRAY_DYE, (byte) 8, Core.MESSAGE.parse("SWLISINV_NEXT_PAGE_INACTIVE", player), (ClickType click) -> { }).setCustomModelData(CMDs.NEXT_PAGE)); } @@ -142,7 +142,7 @@ public class SWListInv extends SWInventory { for(SchematicNode s : schems){ Material m; if(s.getItem().isEmpty()) - m = SWItem.getMaterial("CAULDRON_ITEM"); + m = Material.CAULDRON; else m = SWItem.getMaterial(s.getItem()); SWItem item = new SWItem(m,"§e" + s.getName()); diff --git a/SpigotCore/SpigotCore_Main/src/de/steamwar/inventory/SchematicSelector.java b/SpigotCore/SpigotCore_Main/src/de/steamwar/inventory/SchematicSelector.java index 795ac70a..afc339e4 100644 --- a/SpigotCore/SpigotCore_Main/src/de/steamwar/inventory/SchematicSelector.java +++ b/SpigotCore/SpigotCore_Main/src/de/steamwar/inventory/SchematicSelector.java @@ -137,7 +137,7 @@ public class SchematicSelector { } } if(target.target.dirs) { - inv.setItem(49, SWItem.getDye(10), Core.MESSAGE.parse("SCHEM_SELECTOR_SEL_DIR", player), clickType -> { + inv.setItem(49, Material.LIME_DYE, Core.MESSAGE.parse("SCHEM_SELECTOR_SEL_DIR", player), clickType -> { player.closeInventory(); callback.accept(parent); }); @@ -312,7 +312,7 @@ public class SchematicSelector { openFilter(); } else { SWAnvilInv swAnvilInv = new SWAnvilInv(player, Core.MESSAGE.parse("SCHEM_SELECTOR_FILTER_ENTER_OWNER", player)); - swAnvilInv.setItem(SWItem.getMaterial("SKULL_ITEM"), (byte) 3, Collections.singletonList(Core.MESSAGE.parse("SCHEM_SELECTOR_CLICK_BACK", player)), false); + swAnvilInv.setItem(Material.SKELETON_SKULL, (byte) 3, Collections.singletonList(Core.MESSAGE.parse("SCHEM_SELECTOR_CLICK_BACK", player)), false); swAnvilInv.setCallback(s -> { if(SteamwarUser.get(s) != null) { filter = filter.withOwner(SteamwarUser.get(s).getId()); @@ -324,7 +324,7 @@ public class SchematicSelector { } }; if(filter.getOwner() == null) { - inv.setItem(1, SWItem.getMaterial("SKULL_ITEM"), (byte) 3, Core.MESSAGE.parse("SCHEM_SELECTOR_FILTER_OWNER", player), ownerCallback); + inv.setItem(1, Material.SKELETON_SKULL, (byte) 3, Core.MESSAGE.parse("SCHEM_SELECTOR_FILTER_OWNER", player), ownerCallback); } else { SteamwarUser tUser = SteamwarUser.byId(filter.getOwner()); SWItem item = SWItem.getPlayerSkull(tUser.getUserName()); @@ -408,12 +408,12 @@ public class SchematicSelector { } } - inv.setItem(7, SWItem.getDye(1), Core.MESSAGE.parse("SCHEM_SELECTOR_CANCEL", player), clickType -> { + inv.setItem(7, Material.RED_DYE, Core.MESSAGE.parse("SCHEM_SELECTOR_CANCEL", player), clickType -> { filter = null; depth = 0; openList(null); }); - inv.setItem(8, SWItem.getDye(10), Core.MESSAGE.parse("SCHEM_SELECTOR_GO", player), clickType -> { + inv.setItem(8, Material.LIME_DYE, Core.MESSAGE.parse("SCHEM_SELECTOR_GO", player), clickType -> { if (!filter.equals(filters[0])) { for (int i = filters.length - 1; i > 0; i--) { filters[i] = filters[i-1]; @@ -646,7 +646,7 @@ public class SchematicSelector { return o1.getSchemtype().name().compareTo(o2.getSchemtype().name()); } }), - LAST_UPDATED(SWItem.getMaterial("WATCH"), "SCHEM_SELECTOR_SORTING_UPDATE", Comparator.comparing(SchematicNode::getLastUpdate)); + LAST_UPDATED(Material.CLOCK, "SCHEM_SELECTOR_SORTING_UPDATE", Comparator.comparing(SchematicNode::getLastUpdate)); private final Material mat; private final String name; diff --git a/VelocityCore/src/de/steamwar/velocitycore/commands/BauCommand.java b/VelocityCore/src/de/steamwar/velocitycore/commands/BauCommand.java index 77e5fae6..bcb5d77e 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/commands/BauCommand.java +++ b/VelocityCore/src/de/steamwar/velocitycore/commands/BauCommand.java @@ -23,7 +23,7 @@ import de.steamwar.command.PreviousArguments; import de.steamwar.command.SWCommand; import de.steamwar.command.TypeMapper; import de.steamwar.command.TypeValidator; -import de.steamwar.sql.GameModeConfig; +import de.steamwar.data.BauLockState; import de.steamwar.linkage.EventMode; import de.steamwar.linkage.Linked; import de.steamwar.linkage.LinkedInstance; @@ -33,13 +33,16 @@ import de.steamwar.messages.PlayerChatter; import de.steamwar.network.packets.server.BaumemberUpdatePacket; import de.steamwar.persistent.Bauserver; import de.steamwar.sql.BauweltMember; +import de.steamwar.sql.GameModeConfig; import de.steamwar.sql.SteamwarUser; -import de.steamwar.velocitycore.*; +import de.steamwar.velocitycore.ServerStarter; +import de.steamwar.velocitycore.ServerVersion; +import de.steamwar.velocitycore.SubserverSystem; +import de.steamwar.velocitycore.VelocityCore; import de.steamwar.velocitycore.inventory.SWInventory; import de.steamwar.velocitycore.inventory.SWItem; import de.steamwar.velocitycore.network.NetworkSender; import de.steamwar.velocitycore.util.BauLock; -import de.steamwar.data.BauLockState; import java.util.Collection; import java.util.function.Consumer; @@ -219,7 +222,7 @@ public class BauCommand extends SWCommand { @Register("delete") public void delete(PlayerChatter sender, ServerVersion version) { SWInventory inventory = new SWInventory(sender, 9, new Message("BAU_DELETE_GUI_NAME")); - inventory.addItem(0, new SWItem(new Message("BAU_DELETE_GUI_DELETE"), 10), click -> { + inventory.addItem(0, new SWItem("LIME_DYE", new Message("BAU_DELETE_GUI_DELETE")), click -> { String world = version.getWorldFolder(ServerStarter.WORLDS_BASE_PATH) + sender.user().getId(); VelocityCore.schedule(() -> { @@ -233,7 +236,7 @@ public class BauCommand extends SWCommand { inventory.close(); }); - inventory.addItem(8, new SWItem(new Message("BAU_DELETE_GUI_CANCEL"), 1), click -> inventory.close()); + inventory.addItem(8, new SWItem("RED_DYE", new Message("BAU_DELETE_GUI_CANCEL")), click -> inventory.close()); inventory.open(); } diff --git a/VelocityCore/src/de/steamwar/velocitycore/commands/FightCommand.java b/VelocityCore/src/de/steamwar/velocitycore/commands/FightCommand.java index 1c1d8bd2..8f3914c1 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/commands/FightCommand.java +++ b/VelocityCore/src/de/steamwar/velocitycore/commands/FightCommand.java @@ -21,7 +21,6 @@ package de.steamwar.velocitycore.commands; import com.velocitypowered.api.proxy.Player; import de.steamwar.command.SWCommand; -import de.steamwar.sql.GameModeConfig; import de.steamwar.linkage.EventMode; import de.steamwar.linkage.Linked; import de.steamwar.messages.Chatter; @@ -29,7 +28,7 @@ import de.steamwar.messages.Message; import de.steamwar.messages.PlayerChatter; import de.steamwar.persistent.Arenaserver; import de.steamwar.persistent.Subserver; -import de.steamwar.sql.SchematicType; +import de.steamwar.sql.GameModeConfig; import de.steamwar.velocitycore.ArenaMode; import de.steamwar.velocitycore.ServerStarter; import de.steamwar.velocitycore.inventory.SWInventory; @@ -100,15 +99,15 @@ public class FightCommand extends SWCommand { } SWInventory inventory = new SWInventory(sender, 9, new Message("FIGHT_MERGE_TITLE")); - inventory.addItem(0, new SWItem(new Message("FIGHT_MERGE_DECLINE"), 1), click -> { + inventory.addItem(0, new SWItem("RED_DYE", new Message("FIGHT_MERGE_DECLINE")), click -> { inventory.close(); declineMerge.run(sender, mode, map); }); Arenaserver finalMergable = mergable; - SWItem item = new SWItem(new Message("FIGHT_MERGE_INFO", mode.GameName, finalMergable.getMap()), 11); + SWItem item = new SWItem("YELLOW_DYE", new Message("FIGHT_MERGE_INFO", mode.GameName, finalMergable.getMap())); item.addLore(new Message("FIGHT_MERGE_INFO_LORE_1", finalMergable.getRegisteredServer().getPlayersConnected().toArray(new Player[1])[0].getUsername())); inventory.addItem(4, item, click -> {}); - inventory.addItem(8, new SWItem(new Message("FIGHT_MERGE_ACCEPT"), 10), click -> { + inventory.addItem(8, new SWItem("LIME_DYE", new Message("FIGHT_MERGE_ACCEPT")), click -> { if(Subserver.getServerList().contains(finalMergable)) { finalMergable.sendPlayer(sender.getPlayer()); } else { diff --git a/VelocityCore/src/de/steamwar/velocitycore/commands/ModCommand.java b/VelocityCore/src/de/steamwar/velocitycore/commands/ModCommand.java index 3978370a..703ed939 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/commands/ModCommand.java +++ b/VelocityCore/src/de/steamwar/velocitycore/commands/ModCommand.java @@ -19,17 +19,17 @@ package de.steamwar.velocitycore.commands; -import de.steamwar.linkage.Linked; -import de.steamwar.velocitycore.inventory.SWInventory; -import de.steamwar.velocitycore.inventory.SWItem; -import de.steamwar.velocitycore.inventory.SWListInv; -import de.steamwar.velocitycore.inventory.SWStreamInv; import de.steamwar.command.SWCommand; +import de.steamwar.linkage.Linked; import de.steamwar.messages.Chatter; import de.steamwar.messages.Message; import de.steamwar.messages.PlayerChatter; import de.steamwar.sql.Mod; import de.steamwar.sql.UserPerm; +import de.steamwar.velocitycore.inventory.SWInventory; +import de.steamwar.velocitycore.inventory.SWItem; +import de.steamwar.velocitycore.inventory.SWListInv; +import de.steamwar.velocitycore.inventory.SWStreamInv; import java.util.HashMap; import java.util.Map; @@ -72,11 +72,11 @@ public class ModCommand extends SWCommand { private void openTypeGUI(PlayerChatter player, String title, Consumer function) { SWInventory inv = new SWInventory(player, 9, new Message(title)); - inv.addItem(1, new SWItem(new Message("MOD_UNCLASSIFIED"), 8), click -> function.accept(Mod.ModType.UNKLASSIFIED)); - inv.addItem(2, new SWItem(new Message("MOD_ALLOWED"), 2), click -> function.accept(Mod.ModType.GREEN)); - inv.addItem(3, new SWItem(new Message("MOD_FORBIDDEN"), 11), click -> function.accept(Mod.ModType.YELLOW)); - inv.addItem(4, new SWItem(new Message("MOD_AUTOBAN"), 1), click -> function.accept(Mod.ModType.RED)); - inv.addItem(5, new SWItem(new Message("MOD_YT"), 13), click -> function.accept(Mod.ModType.YOUTUBER_ONLY)); + inv.addItem(1, new SWItem("GRAY_DYE", new Message("MOD_UNCLASSIFIED")), click -> function.accept(Mod.ModType.UNKLASSIFIED)); + inv.addItem(2, new SWItem("GREEN_DYE", new Message("MOD_ALLOWED")), click -> function.accept(Mod.ModType.GREEN)); + inv.addItem(3, new SWItem("YELLOW_DYE", new Message("MOD_FORBIDDEN")), click -> function.accept(Mod.ModType.YELLOW)); + inv.addItem(4, new SWItem("RED_DYE", new Message("MOD_AUTOBAN")), click -> function.accept(Mod.ModType.RED)); + inv.addItem(5, new SWItem("MAGENTA_DYE", new Message("MOD_YT")), click -> function.accept(Mod.ModType.YOUTUBER_ONLY)); inv.addItem(8, new SWItem("ARROW", new Message("MOD_ITEM_BACK")), click -> { inv.close(); diff --git a/VelocityCore/src/de/steamwar/velocitycore/commands/TeamCommand.java b/VelocityCore/src/de/steamwar/velocitycore/commands/TeamCommand.java index 16270087..2fbe7f63 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/commands/TeamCommand.java +++ b/VelocityCore/src/de/steamwar/velocitycore/commands/TeamCommand.java @@ -424,25 +424,25 @@ public class TeamCommand extends SWCommand { DiscordBot.withBot(bot -> bot.getEventChannel().update()); } - private static final Map COLOR_CODES = new HashMap<>(); + private static final Map COLOR_CODES = new HashMap<>(); static { - COLOR_CODES.put("4", 1); - COLOR_CODES.put("c", 15); - COLOR_CODES.put("6", 14); - COLOR_CODES.put("e", 11); - COLOR_CODES.put("2", 2); - COLOR_CODES.put("a", 10); - COLOR_CODES.put("b", 12); - COLOR_CODES.put("3", 6); - COLOR_CODES.put("1", 4); - COLOR_CODES.put("9", 6); - COLOR_CODES.put("d", 9); - COLOR_CODES.put("5", 5); - COLOR_CODES.put("f", 15); - COLOR_CODES.put("7", 7); - COLOR_CODES.put("8", 8); - COLOR_CODES.put("0", 16); + COLOR_CODES.put("4", "RED_DYE"); + COLOR_CODES.put("c", "WHITE_DYE"); + COLOR_CODES.put("6", "ORANGE_DYE"); + COLOR_CODES.put("e", "YELLOW_DYE"); + COLOR_CODES.put("2", "GREEN_DYE"); + COLOR_CODES.put("a", "LIME_DYE"); + COLOR_CODES.put("b", "LIGHT_BLUE_DYE"); + COLOR_CODES.put("3", "CYAN_DYE"); + COLOR_CODES.put("1", "LAPIS_LAZULI"); + COLOR_CODES.put("9", "CYAN_DYE"); + COLOR_CODES.put("d", "PINK_DYE"); + COLOR_CODES.put("5", "PURPLE_DYE"); + COLOR_CODES.put("f", "WHITE_DYE"); + COLOR_CODES.put("7", "LIGHT_GRAY_DYE"); + COLOR_CODES.put("8", "GRAY_DYE"); + COLOR_CODES.put("0", "BLACK_DYE"); } @Register("color") @@ -453,7 +453,7 @@ public class TeamCommand extends SWCommand { if(notDuringEvent(sender)) return; - SWListInv inv = new SWListInv<>(sender, new Message("TEAM_COLOR_TITLE"), COLOR_CODES.entrySet().stream().map(entry -> new SWListInv.SWListEntry<>(new SWItem(new Message("PLAIN_STRING", "§" + entry.getKey() + team.getTeamKuerzel()), entry.getValue()), entry.getKey())).toList(), (click, element) -> {}); + SWListInv inv = new SWListInv<>(sender, new Message("TEAM_COLOR_TITLE"), COLOR_CODES.entrySet().stream().map(entry -> new SWListInv.SWListEntry<>(new SWItem(entry.getValue(), new Message("PLAIN_STRING", "§" + entry.getKey() + team.getTeamKuerzel())), entry.getKey())).toList(), (click, element) -> {}); inv.setCallback((click, element) -> { inv.close(); team.setTeamColor(element); diff --git a/VelocityCore/src/de/steamwar/velocitycore/inventory/SWItem.java b/VelocityCore/src/de/steamwar/velocitycore/inventory/SWItem.java index 48e80e45..ec761bcf 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/inventory/SWItem.java +++ b/VelocityCore/src/de/steamwar/velocitycore/inventory/SWItem.java @@ -21,8 +21,8 @@ package de.steamwar.velocitycore.inventory; import com.google.gson.JsonArray; import com.google.gson.JsonObject; -import de.steamwar.messages.Message; import de.steamwar.messages.Chatter; +import de.steamwar.messages.Message; import lombok.Getter; import lombok.Setter; @@ -49,11 +49,6 @@ public class SWItem { this.title = title; } - public SWItem(Message title, int color) { - this.title = title; - this.color = color; - } - public static SWItem getSkull(String skullOwner) { SWItem item = new SWItem("SKULL", new Message("PLAIN_STRING", skullOwner)); item.setSkullOwner(skullOwner); diff --git a/VelocityCore/src/de/steamwar/velocitycore/inventory/SWListInv.java b/VelocityCore/src/de/steamwar/velocitycore/inventory/SWListInv.java index 23a305d5..86b1fd2b 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/inventory/SWListInv.java +++ b/VelocityCore/src/de/steamwar/velocitycore/inventory/SWListInv.java @@ -44,19 +44,19 @@ public class SWListInv extends SWInventory { public void open(){ if(elements.size() > 54){ if(page != 0) - addItem(45, new SWItem(new Message("INV_PAGE_BACK", "e"), 10), (InvCallback.ClickType click) -> { + addItem(45, new SWItem("LIME_DYE", new Message("INV_PAGE_BACK", "e")), (InvCallback.ClickType click) -> { page--; open(); }); else - addItem(45, new SWItem(new Message("INV_PAGE_BACK", "7"), 8), (InvCallback.ClickType click) -> {}); + addItem(45, new SWItem("GRAY_DYE", new Message("INV_PAGE_BACK", "7")), (InvCallback.ClickType click) -> {}); if(page < elements.size()/45) - addItem(53, new SWItem(new Message("INV_PAGE_NEXT", "e"), 10), (InvCallback.ClickType click) -> { + addItem(53, new SWItem("LIME_DYE", new Message("INV_PAGE_NEXT", "e")), (InvCallback.ClickType click) -> { page++; open(); }); else - addItem(53, new SWItem(new Message("INV_PAGE_NEXT", "7"), 8), (InvCallback.ClickType click) -> {}); + addItem(53, new SWItem("GRAY_DYE", new Message("INV_PAGE_NEXT", "7")), (InvCallback.ClickType click) -> {}); } int ipageLimit = elements.size() - page*45; diff --git a/VelocityCore/src/de/steamwar/velocitycore/inventory/SWStreamInv.java b/VelocityCore/src/de/steamwar/velocitycore/inventory/SWStreamInv.java index 546fddac..fbd932d5 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/inventory/SWStreamInv.java +++ b/VelocityCore/src/de/steamwar/velocitycore/inventory/SWStreamInv.java @@ -42,20 +42,20 @@ public class SWStreamInv extends SWInventory { List> entries = constructor.apply(page); if(page != 0) - addItem(45, new SWItem(new Message("INV_PAGE_BACK", "e"), 10), (InvCallback.ClickType click) -> { + addItem(45, new SWItem("LIME_DYE", new Message("INV_PAGE_BACK", "e")), (InvCallback.ClickType click) -> { page--; open(); }); else - addItem(45, new SWItem(new Message("INV_PAGE_BACK", "7"), 8), (InvCallback.ClickType click) -> {}); + addItem(45, new SWItem("GRAY_DYE", new Message("INV_PAGE_BACK", "7")), (InvCallback.ClickType click) -> {}); if(entries.size() == 45) - addItem(53, new SWItem(new Message("INV_PAGE_NEXT", "e"), 10), (InvCallback.ClickType click) -> { + addItem(53, new SWItem("LIME_DYE", new Message("INV_PAGE_NEXT", "e")), (InvCallback.ClickType click) -> { page++; open(); }); else - addItem(53, new SWItem(new Message("INV_PAGE_NEXT", "7"), 8), (InvCallback.ClickType click) -> {}); + addItem(53, new SWItem("GRAY_DYE", new Message("INV_PAGE_NEXT", "7")), (InvCallback.ClickType click) -> {}); for(int i = 0; i < entries.size(); i++) { SWListInv.SWListEntry item = entries.get(i); From 00147f2a74390547f9176e8902bce9ea7b5ada3d Mon Sep 17 00:00:00 2001 From: YoyoNow Date: Sat, 16 May 2026 22:23:00 +0200 Subject: [PATCH 04/19] Optimize imports --- .../smartplace/SmartPlaceListener.java | 1 - CLI/src/commands/dev/DevCommand.kt | 1 - CLI/src/db/Database.kt | 2 +- .../de/steamwar/command/CommandMetaData.java | 5 ++++- .../command/SubCMDSortingCommand.java | 1 - .../de/steamwar/network/AllPackets.java | 10 +++++++--- .../steamwar/network/PacketHandlerTest.java | 5 +++-- .../de/steamwar/network/PacketTest.java | 4 ++-- .../src/de/steamwar/sql/CheckedSchematic.kt | 6 +----- .../SQL/src/de/steamwar/sql/Leaderboard.kt | 7 +------ .../SQL/src/de/steamwar/sql/PersonalKit.kt | 1 - .../steamwar/sql/internal/KotlinDatabase.kt | 1 - .../fightsystem/listener/ArrowStopper.java | 1 - .../de/steamwar/lobby/boatrace/BoatRace.java | 1 - .../lobby/particle/ParticleInventory.java | 5 ++++- .../lobby/particle/ParticleRequirement.java | 5 ++++- .../lobby/special/easter/EggHuntCommand.java | 1 + .../steamwar/misslewars/FightScoreboard.java | 3 --- .../misslewars/countdowns/EndCountdown.java | 1 - .../de/steamwar/misslewars/items/Missile.java | 2 -- .../misslewars/listener/ArenaListener.java | 5 ----- .../misslewars/scripts/ScriptedItem.java | 1 - .../scripts/implemented/CooldownScript.java | 1 - .../autocheck/AutoChecker.java | 1 - .../autocheck/AutoCheckerResult.java | 1 - .../SchematicCommandUtils.java | 1 - .../schematiccommand/parts/CheckPart.java | 1 - .../tntleague/command/InviteCommand.kt | 1 - .../tntleague/config/TNTLeagueWorldConfig.kt | 3 --- .../tntleague/events/GlobalListener.kt | 1 - .../tntleague/events/IngameListener.kt | 1 - .../tntleague/events/LobbyListener.kt | 5 ++++- .../steamwar/tntleague/game/TNTLeagueGame.kt | 2 -- .../tntleague/inventory/CategoryInventory.kt | 3 --- .../tntleague/inventory/DealerInventory.kt | 1 - .../tntleague/util/TNTLeagueScoreboard.kt | 1 - .../teamserver/listener/FreezeListener.java | 4 ---- .../towerrun/listener/GlobalListener.java | 6 ++++-- .../towerrun/listener/LobbyListener.java | 1 - .../towerrun/winconditions/WinCondition.java | 2 +- .../src/de/steamwar/command/TypeUtils.java | 6 +++--- .../src/de/steamwar/sql/SQLConfigImpl.java | 2 +- .../steamwar/velocitycore/ServerStarter.java | 1 - .../steamwar/velocitycore/ServerVersion.java | 1 - .../velocitycore/SubserverSystem.java | 4 ++-- .../velocitycore/commands/AlertCommand.java | 4 ++-- .../commands/BuilderCloudCommand.java | 15 +++++++------- .../commands/ChallengeCommand.java | 3 +-- .../commands/HistoricCommand.java | 3 +-- .../velocitycore/commands/LocalCommand.java | 4 ++-- .../commands/PunishmentCommand.java | 1 - .../velocitycore/commands/ReplayCommand.java | 1 - .../commands/ServerSwitchCommand.java | 8 ++++---- .../commands/ServerTeamchatCommand.java | 4 ++-- .../velocitycore/commands/StatCommand.java | 4 ++-- .../commands/TeamchatCommand.java | 4 ++-- .../velocitycore/commands/TpCommand.java | 8 +++++--- .../velocitycore/commands/TypeMappers.java | 3 +-- .../velocitycore/commands/VerifyCommand.java | 4 ++-- .../discord/channels/DiscordChatRoom.java | 2 +- .../channels/StaticMessageChannel.java | 1 - .../discord/listeners/DiscordSchemUpload.java | 9 ++++++--- .../discord/listeners/DiscordTeamEvent.java | 2 +- .../discord/util/AuthManager.java | 2 +- .../discord/util/DiscordRanks.java | 6 ++++-- .../velocitycore/inventory/SWInventory.java | 6 +++--- .../velocitycore/listeners/ChatListener.java | 1 - .../listeners/SessionManager.java | 2 +- .../listeners/SettingsChangedListener.java | 4 ++-- .../de/steamwar/velocitycore/mods/FML.java | 4 ++-- .../de/steamwar/velocitycore/mods/FML2.java | 2 +- .../velocitycore/mods/FabricModSender.java | 4 ++-- .../steamwar/velocitycore/mods/LabyMod.java | 2 +- .../steamwar/velocitycore/mods/ReplayMod.java | 2 +- .../handlers/ExecuteCommandHandler.java | 2 +- .../network/handlers/FightInfoHandler.java | 4 ++-- .../network/handlers/ImALobbyHandler.java | 2 +- .../handlers/InventoryCallbackHandler.java | 8 ++++---- .../network/handlers/PrepareSchemHandler.java | 2 +- WebsiteBackend/src/de/steamwar/Application.kt | 4 ++-- .../src/de/steamwar/data/SkinCache.kt | 3 ++- .../src/de/steamwar/plugins/Auth.kt | 3 --- .../src/de/steamwar/plugins/Plugins.kt | 12 ++--------- .../src/de/steamwar/plugins/SteamWar.kt | 2 +- .../src/de/steamwar/routes/AuditLog.kt | 20 ++++--------------- WebsiteBackend/src/de/steamwar/routes/Auth.kt | 17 +++++++--------- WebsiteBackend/src/de/steamwar/routes/Data.kt | 6 +----- .../src/de/steamwar/routes/EventFights.kt | 3 ++- .../src/de/steamwar/routes/Events.kt | 1 - WebsiteBackend/src/de/steamwar/routes/Page.kt | 4 +--- .../src/de/steamwar/routes/Schematic.kt | 5 ++++- .../src/de/steamwar/routes/UserPerms.kt | 16 +++++---------- WebsiteBackend/src/de/steamwar/sql/Stats.kt | 1 - 93 files changed, 140 insertions(+), 209 deletions(-) diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/smartplace/SmartPlaceListener.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/smartplace/SmartPlaceListener.java index 81d5e097..269b7c48 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/smartplace/SmartPlaceListener.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/smartplace/SmartPlaceListener.java @@ -23,7 +23,6 @@ import com.comphenix.tinyprotocol.TinyProtocol; import de.steamwar.bausystem.BauSystem; import de.steamwar.bausystem.Permission; import de.steamwar.bausystem.configplayer.Config; -import de.steamwar.inventory.SWItem; import de.steamwar.linkage.Linked; import net.minecraft.network.protocol.game.ServerboundUseItemOnPacket; import org.bukkit.*; diff --git a/CLI/src/commands/dev/DevCommand.kt b/CLI/src/commands/dev/DevCommand.kt index 43099a3e..8005740f 100644 --- a/CLI/src/commands/dev/DevCommand.kt +++ b/CLI/src/commands/dev/DevCommand.kt @@ -6,7 +6,6 @@ import com.github.ajalt.clikt.core.Context import com.github.ajalt.clikt.parameters.arguments.argument import com.github.ajalt.clikt.parameters.arguments.help import com.github.ajalt.clikt.parameters.arguments.multiple -import com.github.ajalt.clikt.parameters.options.default import com.github.ajalt.clikt.parameters.options.defaultLazy import com.github.ajalt.clikt.parameters.options.flag import com.github.ajalt.clikt.parameters.options.help diff --git a/CLI/src/db/Database.kt b/CLI/src/db/Database.kt index 5e733529..1ad7efba 100644 --- a/CLI/src/db/Database.kt +++ b/CLI/src/db/Database.kt @@ -13,7 +13,7 @@ import org.jetbrains.exposed.v1.jdbc.JdbcTransaction import org.jetbrains.exposed.v1.jdbc.transactions.transaction import java.io.File import java.sql.ResultSet -import java.util.Properties +import java.util.* object Database { lateinit var host: String diff --git a/CommandFramework/src/de/steamwar/command/CommandMetaData.java b/CommandFramework/src/de/steamwar/command/CommandMetaData.java index 914b5e9f..823843a0 100644 --- a/CommandFramework/src/de/steamwar/command/CommandMetaData.java +++ b/CommandFramework/src/de/steamwar/command/CommandMetaData.java @@ -19,7 +19,10 @@ package de.steamwar.command; -import java.lang.annotation.*; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; public @interface CommandMetaData { diff --git a/CommandFramework/testsrc/de/steamwar/command/SubCMDSortingCommand.java b/CommandFramework/testsrc/de/steamwar/command/SubCMDSortingCommand.java index de9a85a7..8821a5d1 100644 --- a/CommandFramework/testsrc/de/steamwar/command/SubCMDSortingCommand.java +++ b/CommandFramework/testsrc/de/steamwar/command/SubCMDSortingCommand.java @@ -21,7 +21,6 @@ package de.steamwar.command; import de.steamwar.command.dto.ExecutionIdentifier; import de.steamwar.command.dto.TestSWCommand; -import de.steamwar.command.dto.TestTypeMapper; import java.util.Collections; diff --git a/CommonCore/Network/testsrc/de/steamwar/network/AllPackets.java b/CommonCore/Network/testsrc/de/steamwar/network/AllPackets.java index 7f87a4fa..a563faa6 100644 --- a/CommonCore/Network/testsrc/de/steamwar/network/AllPackets.java +++ b/CommonCore/Network/testsrc/de/steamwar/network/AllPackets.java @@ -20,8 +20,12 @@ package de.steamwar.network; import de.steamwar.network.packets.NetworkPacket; -import de.steamwar.network.packets.client.*; -import de.steamwar.network.packets.common.*; +import de.steamwar.network.packets.client.ExecuteCommandPacket; +import de.steamwar.network.packets.client.ImALobbyPacket; +import de.steamwar.network.packets.client.InventoryCallbackPacket; +import de.steamwar.network.packets.client.PrepareSchemPacket; +import de.steamwar.network.packets.common.FightEndsPacket; +import de.steamwar.network.packets.common.FightInfoPacket; import de.steamwar.network.packets.server.*; import lombok.SneakyThrows; @@ -30,7 +34,7 @@ import java.lang.reflect.Parameter; import java.util.ArrayList; import java.util.List; -import static de.steamwar.RandomGenerator.*; +import static de.steamwar.RandomGenerator.generateRandom; public class AllPackets { diff --git a/CommonCore/Network/testsrc/de/steamwar/network/PacketHandlerTest.java b/CommonCore/Network/testsrc/de/steamwar/network/PacketHandlerTest.java index 016639db..153b72dd 100644 --- a/CommonCore/Network/testsrc/de/steamwar/network/PacketHandlerTest.java +++ b/CommonCore/Network/testsrc/de/steamwar/network/PacketHandlerTest.java @@ -25,8 +25,9 @@ import org.junit.Test; import java.lang.reflect.InvocationTargetException; -import static org.hamcrest.MatcherAssert.*; -import static org.hamcrest.Matchers.*; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.equalTo; +import static org.hamcrest.Matchers.instanceOf; public class PacketHandlerTest { diff --git a/CommonCore/Network/testsrc/de/steamwar/network/PacketTest.java b/CommonCore/Network/testsrc/de/steamwar/network/PacketTest.java index 5e60351b..8626bb4b 100644 --- a/CommonCore/Network/testsrc/de/steamwar/network/PacketTest.java +++ b/CommonCore/Network/testsrc/de/steamwar/network/PacketTest.java @@ -22,8 +22,8 @@ package de.steamwar.network; import de.steamwar.network.packets.NetworkPacket; import org.junit.Test; -import static org.hamcrest.Matchers.*; -import static org.hamcrest.MatcherAssert.*; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.equalTo; public class PacketTest { diff --git a/CommonCore/SQL/src/de/steamwar/sql/CheckedSchematic.kt b/CommonCore/SQL/src/de/steamwar/sql/CheckedSchematic.kt index dddd8191..839c8b40 100644 --- a/CommonCore/SQL/src/de/steamwar/sql/CheckedSchematic.kt +++ b/CommonCore/SQL/src/de/steamwar/sql/CheckedSchematic.kt @@ -20,14 +20,10 @@ package de.steamwar.sql import de.steamwar.sql.internal.useDb -import org.jetbrains.exposed.v1.core.ReferenceOption -import org.jetbrains.exposed.v1.core.SortOrder -import org.jetbrains.exposed.v1.core.and +import org.jetbrains.exposed.v1.core.* import org.jetbrains.exposed.v1.core.dao.id.CompositeID import org.jetbrains.exposed.v1.core.dao.id.CompositeIdTable import org.jetbrains.exposed.v1.core.dao.id.EntityID -import org.jetbrains.exposed.v1.core.eq -import org.jetbrains.exposed.v1.core.neq import org.jetbrains.exposed.v1.dao.CompositeEntity import org.jetbrains.exposed.v1.dao.CompositeEntityClass import org.jetbrains.exposed.v1.javatime.timestamp diff --git a/CommonCore/SQL/src/de/steamwar/sql/Leaderboard.kt b/CommonCore/SQL/src/de/steamwar/sql/Leaderboard.kt index c08cc0ed..e169e9eb 100644 --- a/CommonCore/SQL/src/de/steamwar/sql/Leaderboard.kt +++ b/CommonCore/SQL/src/de/steamwar/sql/Leaderboard.kt @@ -20,17 +20,12 @@ package de.steamwar.sql import de.steamwar.sql.internal.useDb -import org.jetbrains.exposed.v1.core.SortOrder -import org.jetbrains.exposed.v1.core.and -import org.jetbrains.exposed.v1.core.count +import org.jetbrains.exposed.v1.core.* import org.jetbrains.exposed.v1.core.dao.id.CompositeID import org.jetbrains.exposed.v1.core.dao.id.CompositeIdTable import org.jetbrains.exposed.v1.core.dao.id.EntityID -import org.jetbrains.exposed.v1.core.eq -import org.jetbrains.exposed.v1.core.lessSubQuery import org.jetbrains.exposed.v1.dao.CompositeEntity import org.jetbrains.exposed.v1.dao.CompositeEntityClass -import org.jetbrains.exposed.v1.dao.flushCache import org.jetbrains.exposed.v1.javatime.CurrentTimestamp import org.jetbrains.exposed.v1.javatime.timestamp import org.jetbrains.exposed.v1.jdbc.select diff --git a/CommonCore/SQL/src/de/steamwar/sql/PersonalKit.kt b/CommonCore/SQL/src/de/steamwar/sql/PersonalKit.kt index 8fdda864..0a91a579 100644 --- a/CommonCore/SQL/src/de/steamwar/sql/PersonalKit.kt +++ b/CommonCore/SQL/src/de/steamwar/sql/PersonalKit.kt @@ -27,7 +27,6 @@ import org.jetbrains.exposed.v1.core.dao.id.EntityID import org.jetbrains.exposed.v1.core.eq import org.jetbrains.exposed.v1.dao.CompositeEntity import org.jetbrains.exposed.v1.dao.CompositeEntityClass -import org.jetbrains.exposed.v1.jdbc.insert object PersonalKitTable: CompositeIdTable("PersonalKit") { val userId = reference("UserId", SteamwarUserTable) diff --git a/CommonCore/SQL/src/de/steamwar/sql/internal/KotlinDatabase.kt b/CommonCore/SQL/src/de/steamwar/sql/internal/KotlinDatabase.kt index 34c7b1f8..092b9c02 100644 --- a/CommonCore/SQL/src/de/steamwar/sql/internal/KotlinDatabase.kt +++ b/CommonCore/SQL/src/de/steamwar/sql/internal/KotlinDatabase.kt @@ -23,7 +23,6 @@ import org.intellij.lang.annotations.Language import org.jetbrains.exposed.v1.core.ColumnType import org.jetbrains.exposed.v1.core.Expression import org.jetbrains.exposed.v1.core.ResultRow -import org.jetbrains.exposed.v1.core.StdOutSqlLogger import org.jetbrains.exposed.v1.core.statements.StatementType import org.jetbrains.exposed.v1.dao.IntEntity import org.jetbrains.exposed.v1.dao.IntEntityClass diff --git a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/listener/ArrowStopper.java b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/listener/ArrowStopper.java index 29ef298f..ed33d83f 100644 --- a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/listener/ArrowStopper.java +++ b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/listener/ArrowStopper.java @@ -19,7 +19,6 @@ package de.steamwar.fightsystem.listener; -import de.steamwar.Reflection; import de.steamwar.fightsystem.Config; import de.steamwar.fightsystem.states.FightState; import de.steamwar.fightsystem.states.StateDependentTask; diff --git a/LobbySystem/src/de/steamwar/lobby/boatrace/BoatRace.java b/LobbySystem/src/de/steamwar/lobby/boatrace/BoatRace.java index 72803871..1100c6ef 100644 --- a/LobbySystem/src/de/steamwar/lobby/boatrace/BoatRace.java +++ b/LobbySystem/src/de/steamwar/lobby/boatrace/BoatRace.java @@ -23,7 +23,6 @@ import de.steamwar.entity.REntity; import de.steamwar.entity.REntityServer; import de.steamwar.lobby.LobbySystem; import de.steamwar.lobby.util.LeaderboardManager; -import de.steamwar.sql.Leaderboard; import de.steamwar.sql.SteamwarUser; import org.bukkit.Bukkit; import org.bukkit.Location; diff --git a/LobbySystem/src/de/steamwar/lobby/particle/ParticleInventory.java b/LobbySystem/src/de/steamwar/lobby/particle/ParticleInventory.java index b7291e91..dec4dfba 100644 --- a/LobbySystem/src/de/steamwar/lobby/particle/ParticleInventory.java +++ b/LobbySystem/src/de/steamwar/lobby/particle/ParticleInventory.java @@ -28,7 +28,10 @@ import de.steamwar.lobby.particle.particles.custom.CustomPlayerParticle; import de.steamwar.lobby.particle.particles.custom.CustomTeamParticle; import de.steamwar.lobby.special.easter.EggHunt; import de.steamwar.lobby.util.LobbyPlayer; -import de.steamwar.sql.*; +import de.steamwar.sql.Event; +import de.steamwar.sql.SteamwarUser; +import de.steamwar.sql.TeamTeilnahme; +import de.steamwar.sql.UserConfig; import lombok.experimental.UtilityClass; import org.bukkit.Material; import org.bukkit.entity.Player; diff --git a/LobbySystem/src/de/steamwar/lobby/particle/ParticleRequirement.java b/LobbySystem/src/de/steamwar/lobby/particle/ParticleRequirement.java index f0e82439..def8efa1 100644 --- a/LobbySystem/src/de/steamwar/lobby/particle/ParticleRequirement.java +++ b/LobbySystem/src/de/steamwar/lobby/particle/ParticleRequirement.java @@ -22,7 +22,10 @@ package de.steamwar.lobby.particle; import de.steamwar.lobby.LobbySystem; import de.steamwar.lobby.special.easter.EggDifficulty; import de.steamwar.lobby.special.easter.EggHunt; -import de.steamwar.sql.*; +import de.steamwar.sql.Event; +import de.steamwar.sql.SteamwarUser; +import de.steamwar.sql.Team; +import de.steamwar.sql.UserPerm; import org.bukkit.entity.Player; import java.util.HashSet; diff --git a/LobbySystem/src/de/steamwar/lobby/special/easter/EggHuntCommand.java b/LobbySystem/src/de/steamwar/lobby/special/easter/EggHuntCommand.java index d2696774..94cc0ed7 100644 --- a/LobbySystem/src/de/steamwar/lobby/special/easter/EggHuntCommand.java +++ b/LobbySystem/src/de/steamwar/lobby/special/easter/EggHuntCommand.java @@ -24,6 +24,7 @@ import de.steamwar.inventory.SWItem; import de.steamwar.inventory.SWListInv; import de.steamwar.lobby.LobbySystem; import de.steamwar.sql.UserConfig; +import org.bukkit.Material; import org.bukkit.entity.Player; import java.util.Collections; diff --git a/MissileWars/src/de/steamwar/misslewars/FightScoreboard.java b/MissileWars/src/de/steamwar/misslewars/FightScoreboard.java index 29ef61cf..ab7f8381 100644 --- a/MissileWars/src/de/steamwar/misslewars/FightScoreboard.java +++ b/MissileWars/src/de/steamwar/misslewars/FightScoreboard.java @@ -27,11 +27,8 @@ import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerQuitEvent; -import org.bukkit.scoreboard.DisplaySlot; -import org.bukkit.scoreboard.Objective; import org.bukkit.scoreboard.Scoreboard; -import java.text.SimpleDateFormat; import java.util.HashMap; import java.util.Objects; diff --git a/MissileWars/src/de/steamwar/misslewars/countdowns/EndCountdown.java b/MissileWars/src/de/steamwar/misslewars/countdowns/EndCountdown.java index b83f7978..2d848cc2 100644 --- a/MissileWars/src/de/steamwar/misslewars/countdowns/EndCountdown.java +++ b/MissileWars/src/de/steamwar/misslewars/countdowns/EndCountdown.java @@ -21,7 +21,6 @@ package de.steamwar.misslewars.countdowns; import de.steamwar.linkage.Linked; import de.steamwar.misslewars.*; -import de.steamwar.misslewars.listener.JoinListener; import org.bukkit.Bukkit; import org.bukkit.scheduler.BukkitTask; diff --git a/MissileWars/src/de/steamwar/misslewars/items/Missile.java b/MissileWars/src/de/steamwar/misslewars/items/Missile.java index f3452177..660775cf 100644 --- a/MissileWars/src/de/steamwar/misslewars/items/Missile.java +++ b/MissileWars/src/de/steamwar/misslewars/items/Missile.java @@ -30,8 +30,6 @@ import com.sk89q.worldedit.function.operation.Operations; import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.math.transform.AffineTransform; import com.sk89q.worldedit.session.ClipboardHolder; -import com.sk89q.worldedit.util.SideEffect; -import com.sk89q.worldedit.util.SideEffectSet; import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.block.BlockTypes; import de.steamwar.misslewars.MissileWars; diff --git a/MissileWars/src/de/steamwar/misslewars/listener/ArenaListener.java b/MissileWars/src/de/steamwar/misslewars/listener/ArenaListener.java index 407dd569..3e07b4ec 100644 --- a/MissileWars/src/de/steamwar/misslewars/listener/ArenaListener.java +++ b/MissileWars/src/de/steamwar/misslewars/listener/ArenaListener.java @@ -22,23 +22,18 @@ package de.steamwar.misslewars.listener; import de.steamwar.linkage.Linked; import de.steamwar.misslewars.Config; import de.steamwar.misslewars.FightState; -import de.steamwar.misslewars.MWTeam; import de.steamwar.misslewars.MissileWars; import org.bukkit.GameMode; import org.bukkit.Location; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; -import org.bukkit.event.entity.EntityPickupItemEvent; import org.bukkit.event.entity.FoodLevelChangeEvent; -import org.bukkit.event.entity.ItemDespawnEvent; import org.bukkit.event.inventory.InventoryOpenEvent; import org.bukkit.event.inventory.InventoryType; -import org.bukkit.event.player.PlayerDropItemEvent; import org.bukkit.event.player.PlayerMoveEvent; import org.bukkit.event.player.PlayerPickupArrowEvent; import java.util.EnumSet; -import java.util.Map; import java.util.Objects; @Linked diff --git a/MissileWars/src/de/steamwar/misslewars/scripts/ScriptedItem.java b/MissileWars/src/de/steamwar/misslewars/scripts/ScriptedItem.java index e1da0a8d..30b7a187 100644 --- a/MissileWars/src/de/steamwar/misslewars/scripts/ScriptedItem.java +++ b/MissileWars/src/de/steamwar/misslewars/scripts/ScriptedItem.java @@ -24,7 +24,6 @@ import de.steamwar.misslewars.scripts.utils.JsonUtils; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.entity.Entity; -import org.bukkit.entity.LingeringPotion; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.Damageable; import org.bukkit.inventory.meta.ItemMeta; diff --git a/MissileWars/src/de/steamwar/misslewars/scripts/implemented/CooldownScript.java b/MissileWars/src/de/steamwar/misslewars/scripts/implemented/CooldownScript.java index dbf2697c..225e153f 100644 --- a/MissileWars/src/de/steamwar/misslewars/scripts/implemented/CooldownScript.java +++ b/MissileWars/src/de/steamwar/misslewars/scripts/implemented/CooldownScript.java @@ -26,7 +26,6 @@ import de.steamwar.misslewars.scripts.RunnableScript; import de.steamwar.misslewars.scripts.RunnableScriptEvent; import org.bukkit.Bukkit; import org.bukkit.Material; -import org.bukkit.inventory.ItemStack; public class CooldownScript implements RunnableScript { diff --git a/SchematicSystem/src/de/steamwar/schematicsystem/autocheck/AutoChecker.java b/SchematicSystem/src/de/steamwar/schematicsystem/autocheck/AutoChecker.java index 2e8a2024..7978e115 100644 --- a/SchematicSystem/src/de/steamwar/schematicsystem/autocheck/AutoChecker.java +++ b/SchematicSystem/src/de/steamwar/schematicsystem/autocheck/AutoChecker.java @@ -24,7 +24,6 @@ import com.sk89q.worldedit.entity.Entity; import com.sk89q.worldedit.extent.clipboard.Clipboard; import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.world.block.BaseBlock; -import de.steamwar.core.Core; import de.steamwar.sql.GameModeConfig; import lombok.Getter; import lombok.ToString; diff --git a/SchematicSystem/src/de/steamwar/schematicsystem/autocheck/AutoCheckerResult.java b/SchematicSystem/src/de/steamwar/schematicsystem/autocheck/AutoCheckerResult.java index e216282b..02eb750b 100644 --- a/SchematicSystem/src/de/steamwar/schematicsystem/autocheck/AutoCheckerResult.java +++ b/SchematicSystem/src/de/steamwar/schematicsystem/autocheck/AutoCheckerResult.java @@ -19,7 +19,6 @@ package de.steamwar.schematicsystem.autocheck; -import de.steamwar.core.Core; import de.steamwar.schematicsystem.SchematicSystem; import de.steamwar.sql.GameModeConfig; import lombok.Builder; diff --git a/SchematicSystem/src/de/steamwar/schematicsystem/commands/schematiccommand/SchematicCommandUtils.java b/SchematicSystem/src/de/steamwar/schematicsystem/commands/schematiccommand/SchematicCommandUtils.java index 2d47a318..a809b61d 100644 --- a/SchematicSystem/src/de/steamwar/schematicsystem/commands/schematiccommand/SchematicCommandUtils.java +++ b/SchematicSystem/src/de/steamwar/schematicsystem/commands/schematiccommand/SchematicCommandUtils.java @@ -21,7 +21,6 @@ package de.steamwar.schematicsystem.commands.schematiccommand; import com.sk89q.worldedit.extent.clipboard.Clipboard; import de.steamwar.inventory.SWInventory; -import de.steamwar.inventory.SWItem; import de.steamwar.network.NetworkSender; import de.steamwar.network.packets.client.PrepareSchemPacket; import de.steamwar.providers.BauServerInfo; diff --git a/SchematicSystem/src/de/steamwar/schematicsystem/commands/schematiccommand/parts/CheckPart.java b/SchematicSystem/src/de/steamwar/schematicsystem/commands/schematiccommand/parts/CheckPart.java index d0134625..03a3bb9e 100644 --- a/SchematicSystem/src/de/steamwar/schematicsystem/commands/schematiccommand/parts/CheckPart.java +++ b/SchematicSystem/src/de/steamwar/schematicsystem/commands/schematiccommand/parts/CheckPart.java @@ -27,7 +27,6 @@ import com.sk89q.worldedit.extent.clipboard.Clipboard; import com.sk89q.worldedit.session.ClipboardHolder; import de.steamwar.command.AbstractSWCommand; import de.steamwar.command.SWCommand; -import de.steamwar.core.Core; import de.steamwar.linkage.Linked; import de.steamwar.schematicsystem.SchematicSystem; import de.steamwar.schematicsystem.autocheck.AutoChecker; diff --git a/TNTLeague/src/de/steamwar/tntleague/command/InviteCommand.kt b/TNTLeague/src/de/steamwar/tntleague/command/InviteCommand.kt index eed42b46..b1c61521 100644 --- a/TNTLeague/src/de/steamwar/tntleague/command/InviteCommand.kt +++ b/TNTLeague/src/de/steamwar/tntleague/command/InviteCommand.kt @@ -24,7 +24,6 @@ import de.steamwar.command.TypeValidator import de.steamwar.tntleague.colorByTeam import de.steamwar.tntleague.config.TNTLeagueConfig import de.steamwar.tntleague.game.TNTLeagueGame -import de.steamwar.tntleague.message import net.md_5.bungee.api.chat.ClickEvent import org.bukkit.entity.Player diff --git a/TNTLeague/src/de/steamwar/tntleague/config/TNTLeagueWorldConfig.kt b/TNTLeague/src/de/steamwar/tntleague/config/TNTLeagueWorldConfig.kt index 253f8c95..8c7ec238 100644 --- a/TNTLeague/src/de/steamwar/tntleague/config/TNTLeagueWorldConfig.kt +++ b/TNTLeague/src/de/steamwar/tntleague/config/TNTLeagueWorldConfig.kt @@ -20,14 +20,11 @@ package de.steamwar.tntleague.config import de.steamwar.tntleague.plugin -import de.steamwar.kotlin.util.Area -import net.kyori.adventure.text.Component import org.bukkit.Bukkit import org.bukkit.Location import org.bukkit.Material import org.bukkit.configuration.ConfigurationSection import org.bukkit.configuration.file.YamlConfiguration -import org.bukkit.entity.WanderingTrader import java.io.File import kotlin.math.abs import kotlin.properties.Delegates diff --git a/TNTLeague/src/de/steamwar/tntleague/events/GlobalListener.kt b/TNTLeague/src/de/steamwar/tntleague/events/GlobalListener.kt index af1389b9..f9fec256 100644 --- a/TNTLeague/src/de/steamwar/tntleague/events/GlobalListener.kt +++ b/TNTLeague/src/de/steamwar/tntleague/events/GlobalListener.kt @@ -19,7 +19,6 @@ package de.steamwar.tntleague.events -import de.steamwar.message.SubMessage import de.steamwar.tntleague.config.TNTLeagueWorldConfig import de.steamwar.tntleague.game.TNTLeagueGame import de.steamwar.tntleague.game.TNTLeagueTeam diff --git a/TNTLeague/src/de/steamwar/tntleague/events/IngameListener.kt b/TNTLeague/src/de/steamwar/tntleague/events/IngameListener.kt index 31cc4de2..f79212cc 100644 --- a/TNTLeague/src/de/steamwar/tntleague/events/IngameListener.kt +++ b/TNTLeague/src/de/steamwar/tntleague/events/IngameListener.kt @@ -35,7 +35,6 @@ import org.bukkit.event.player.PlayerAttemptPickupItemEvent import org.bukkit.event.player.PlayerInteractEntityEvent import org.bukkit.event.player.PlayerJoinEvent import org.bukkit.event.player.PlayerMoveEvent -import org.bukkit.event.player.* import org.bukkit.persistence.PersistentDataType object IngameListener : Listener { diff --git a/TNTLeague/src/de/steamwar/tntleague/events/LobbyListener.kt b/TNTLeague/src/de/steamwar/tntleague/events/LobbyListener.kt index 1f8beb26..23f91f1a 100644 --- a/TNTLeague/src/de/steamwar/tntleague/events/LobbyListener.kt +++ b/TNTLeague/src/de/steamwar/tntleague/events/LobbyListener.kt @@ -26,7 +26,10 @@ import org.bukkit.event.EventHandler import org.bukkit.event.Listener import org.bukkit.event.entity.EntityDamageEvent import org.bukkit.event.inventory.InventoryClickEvent -import org.bukkit.event.player.* +import org.bukkit.event.player.PlayerDropItemEvent +import org.bukkit.event.player.PlayerInteractEntityEvent +import org.bukkit.event.player.PlayerInteractEvent +import org.bukkit.event.player.PlayerJoinEvent object LobbyListener: Listener { diff --git a/TNTLeague/src/de/steamwar/tntleague/game/TNTLeagueGame.kt b/TNTLeague/src/de/steamwar/tntleague/game/TNTLeagueGame.kt index c408db98..68989dac 100644 --- a/TNTLeague/src/de/steamwar/tntleague/game/TNTLeagueGame.kt +++ b/TNTLeague/src/de/steamwar/tntleague/game/TNTLeagueGame.kt @@ -20,7 +20,6 @@ package de.steamwar.tntleague.game import de.steamwar.kotlin.util.Area -import de.steamwar.message.SubMessage import de.steamwar.network.NetworkSender import de.steamwar.network.packets.common.FightInfoPacket import de.steamwar.scoreboard.SWScoreboard @@ -48,7 +47,6 @@ import org.bukkit.inventory.ItemStack import org.bukkit.scheduler.BukkitTask import java.sql.Timestamp import java.time.Instant -import kotlin.random.Random object TNTLeagueGame { var state: GameState = GameState.LOBBY diff --git a/TNTLeague/src/de/steamwar/tntleague/inventory/CategoryInventory.kt b/TNTLeague/src/de/steamwar/tntleague/inventory/CategoryInventory.kt index c8ff8d46..f681448b 100644 --- a/TNTLeague/src/de/steamwar/tntleague/inventory/CategoryInventory.kt +++ b/TNTLeague/src/de/steamwar/tntleague/inventory/CategoryInventory.kt @@ -25,10 +25,7 @@ import de.steamwar.tntleague.config.TNTLeagueConfig import de.steamwar.tntleague.inventory.DealerInventory.Companion.buyItem import de.steamwar.tntleague.inventory.DealerInventory.Companion.itemsByCategory import de.steamwar.tntleague.message -import net.kyori.adventure.text.Component -import org.bukkit.Bukkit import org.bukkit.entity.Player -import org.bukkit.inventory.Inventory class CategoryInventory(player: Player, category: TNTLeagueConfig.ItemCategory): KotlinInventory(player) { override fun createInventory() = SWInventory(player, 9 * 6, message.parse("DEALER", player)) diff --git a/TNTLeague/src/de/steamwar/tntleague/inventory/DealerInventory.kt b/TNTLeague/src/de/steamwar/tntleague/inventory/DealerInventory.kt index 10ee5014..7279f0c3 100644 --- a/TNTLeague/src/de/steamwar/tntleague/inventory/DealerInventory.kt +++ b/TNTLeague/src/de/steamwar/tntleague/inventory/DealerInventory.kt @@ -34,7 +34,6 @@ import org.bukkit.NamespacedKey import org.bukkit.Sound import org.bukkit.entity.Player import org.bukkit.event.inventory.InventoryClickEvent -import org.bukkit.inventory.Inventory import org.bukkit.inventory.ItemStack import org.bukkit.persistence.PersistentDataType import java.util.* diff --git a/TNTLeague/src/de/steamwar/tntleague/util/TNTLeagueScoreboard.kt b/TNTLeague/src/de/steamwar/tntleague/util/TNTLeagueScoreboard.kt index 847949b8..b281a412 100644 --- a/TNTLeague/src/de/steamwar/tntleague/util/TNTLeagueScoreboard.kt +++ b/TNTLeague/src/de/steamwar/tntleague/util/TNTLeagueScoreboard.kt @@ -25,7 +25,6 @@ import de.steamwar.tntleague.game.TNTLeagueGame import de.steamwar.tntleague.game.TNTLeagueTeam import de.steamwar.tntleague.message import org.bukkit.entity.Player -import kotlin.collections.HashMap data class TNTLeagueScoreboard(val p: Player): ScoreboardCallback { override fun getData(): HashMap { diff --git a/Teamserver/src/de/steamwar/teamserver/listener/FreezeListener.java b/Teamserver/src/de/steamwar/teamserver/listener/FreezeListener.java index 403a1af4..5f9a379c 100644 --- a/Teamserver/src/de/steamwar/teamserver/listener/FreezeListener.java +++ b/Teamserver/src/de/steamwar/teamserver/listener/FreezeListener.java @@ -19,18 +19,14 @@ package de.steamwar.teamserver.listener; -import de.steamwar.core.Core; import de.steamwar.core.TrickyTrialsWrapper; import de.steamwar.linkage.Linked; import de.steamwar.teamserver.Builder; import net.md_5.bungee.api.ChatMessageType; -import net.md_5.bungee.api.chat.BaseComponent; -import net.md_5.bungee.api.chat.TextComponent; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.block.Block; import org.bukkit.block.data.type.Switch; -import org.bukkit.entity.EntityType; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; diff --git a/TowerRun/src/de/steamwar/towerrun/listener/GlobalListener.java b/TowerRun/src/de/steamwar/towerrun/listener/GlobalListener.java index a47f0d97..a8758adc 100644 --- a/TowerRun/src/de/steamwar/towerrun/listener/GlobalListener.java +++ b/TowerRun/src/de/steamwar/towerrun/listener/GlobalListener.java @@ -27,13 +27,15 @@ import de.steamwar.towerrun.game.TowerRunPlayer; import de.steamwar.towerrun.state.GameState; import de.steamwar.towerrun.state.GameStateBukkitListener; import de.steamwar.towerrun.state.GameStates; -import lombok.val; import org.bukkit.Bukkit; import org.bukkit.GameMode; import org.bukkit.Location; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; -import org.bukkit.event.player.*; +import org.bukkit.event.player.AsyncPlayerChatEvent; +import org.bukkit.event.player.PlayerMoveEvent; +import org.bukkit.event.player.PlayerQuitEvent; +import org.bukkit.event.player.PlayerRespawnEvent; import java.util.EnumSet; diff --git a/TowerRun/src/de/steamwar/towerrun/listener/LobbyListener.java b/TowerRun/src/de/steamwar/towerrun/listener/LobbyListener.java index 22b78ba6..7c394437 100644 --- a/TowerRun/src/de/steamwar/towerrun/listener/LobbyListener.java +++ b/TowerRun/src/de/steamwar/towerrun/listener/LobbyListener.java @@ -39,7 +39,6 @@ import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerMoveEvent; import java.util.EnumSet; -import java.util.HashMap; @Linked public class LobbyListener extends GameStateBukkitListener { diff --git a/TowerRun/src/de/steamwar/towerrun/winconditions/WinCondition.java b/TowerRun/src/de/steamwar/towerrun/winconditions/WinCondition.java index 3b5c66cc..dc0a39b3 100644 --- a/TowerRun/src/de/steamwar/towerrun/winconditions/WinCondition.java +++ b/TowerRun/src/de/steamwar/towerrun/winconditions/WinCondition.java @@ -24,7 +24,7 @@ import de.steamwar.towerrun.state.GameStates; import lombok.Getter; import lombok.Setter; -import java.util.*; +import java.util.EnumSet; @Getter public abstract class WinCondition extends GameStateBukkitListener { diff --git a/VelocityCore/src/de/steamwar/command/TypeUtils.java b/VelocityCore/src/de/steamwar/command/TypeUtils.java index 468d527d..69bed4aa 100644 --- a/VelocityCore/src/de/steamwar/command/TypeUtils.java +++ b/VelocityCore/src/de/steamwar/command/TypeUtils.java @@ -21,12 +21,12 @@ package de.steamwar.command; import com.velocitypowered.api.network.ProtocolVersion; import com.velocitypowered.api.proxy.Player; -import de.steamwar.velocitycore.ServerVersion; -import de.steamwar.velocitycore.VelocityCore; -import de.steamwar.velocitycore.commands.TypeMappers; import de.steamwar.messages.Chatter; import de.steamwar.sql.SteamwarUser; import de.steamwar.sql.Team; +import de.steamwar.velocitycore.ServerVersion; +import de.steamwar.velocitycore.VelocityCore; +import de.steamwar.velocitycore.commands.TypeMappers; import lombok.experimental.UtilityClass; import java.util.Collection; diff --git a/VelocityCore/src/de/steamwar/sql/SQLConfigImpl.java b/VelocityCore/src/de/steamwar/sql/SQLConfigImpl.java index dc01e0aa..ca64efd6 100644 --- a/VelocityCore/src/de/steamwar/sql/SQLConfigImpl.java +++ b/VelocityCore/src/de/steamwar/sql/SQLConfigImpl.java @@ -19,8 +19,8 @@ package de.steamwar.sql; -import de.steamwar.velocitycore.VelocityCore; import de.steamwar.sql.internal.SQLConfig; +import de.steamwar.velocitycore.VelocityCore; import java.util.logging.Logger; diff --git a/VelocityCore/src/de/steamwar/velocitycore/ServerStarter.java b/VelocityCore/src/de/steamwar/velocitycore/ServerStarter.java index 3ea195cd..af2a2122 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/ServerStarter.java +++ b/VelocityCore/src/de/steamwar/velocitycore/ServerStarter.java @@ -22,7 +22,6 @@ package de.steamwar.velocitycore; import com.velocitypowered.api.proxy.Player; import com.viaversion.viaversion.api.Via; import com.viaversion.viaversion.velocity.platform.VelocityViaConfig; -import de.steamwar.sql.GameModeConfig; import de.steamwar.messages.Chatter; import de.steamwar.persistent.Arenaserver; import de.steamwar.persistent.Bauserver; diff --git a/VelocityCore/src/de/steamwar/velocitycore/ServerVersion.java b/VelocityCore/src/de/steamwar/velocitycore/ServerVersion.java index 5d3689f9..5360daf0 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/ServerVersion.java +++ b/VelocityCore/src/de/steamwar/velocitycore/ServerVersion.java @@ -21,7 +21,6 @@ package de.steamwar.velocitycore; import com.velocitypowered.api.network.ProtocolVersion; import de.steamwar.sql.GameModeConfig; -import de.steamwar.sql.SchematicType; import lombok.AllArgsConstructor; import lombok.Getter; diff --git a/VelocityCore/src/de/steamwar/velocitycore/SubserverSystem.java b/VelocityCore/src/de/steamwar/velocitycore/SubserverSystem.java index 8428a567..b6465b2e 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/SubserverSystem.java +++ b/VelocityCore/src/de/steamwar/velocitycore/SubserverSystem.java @@ -20,14 +20,14 @@ package de.steamwar.velocitycore; import com.velocitypowered.api.proxy.Player; -import de.steamwar.velocitycore.network.NetworkSender; -import de.steamwar.velocitycore.network.handlers.FightInfoHandler; import de.steamwar.messages.Chatter; import de.steamwar.messages.Message; import de.steamwar.network.packets.server.StartingServerPacket; import de.steamwar.persistent.Subserver; import de.steamwar.sql.IgnoreSystem; import de.steamwar.sql.SteamwarUser; +import de.steamwar.velocitycore.network.NetworkSender; +import de.steamwar.velocitycore.network.handlers.FightInfoHandler; import net.kyori.adventure.text.event.ClickEvent; import java.util.UUID; diff --git a/VelocityCore/src/de/steamwar/velocitycore/commands/AlertCommand.java b/VelocityCore/src/de/steamwar/velocitycore/commands/AlertCommand.java index 087afe7c..42dc6eb2 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/commands/AlertCommand.java +++ b/VelocityCore/src/de/steamwar/velocitycore/commands/AlertCommand.java @@ -19,11 +19,11 @@ package de.steamwar.velocitycore.commands; -import de.steamwar.linkage.Linked; -import de.steamwar.velocitycore.discord.DiscordBot; import de.steamwar.command.SWCommand; +import de.steamwar.linkage.Linked; import de.steamwar.messages.Chatter; import de.steamwar.sql.UserPerm; +import de.steamwar.velocitycore.discord.DiscordBot; @Linked public class AlertCommand extends SWCommand { diff --git a/VelocityCore/src/de/steamwar/velocitycore/commands/BuilderCloudCommand.java b/VelocityCore/src/de/steamwar/velocitycore/commands/BuilderCloudCommand.java index 5ae01fe7..674666d4 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/commands/BuilderCloudCommand.java +++ b/VelocityCore/src/de/steamwar/velocitycore/commands/BuilderCloudCommand.java @@ -19,19 +19,18 @@ package de.steamwar.velocitycore.commands; -import de.steamwar.sql.GameModeConfig; +import de.steamwar.command.PreviousArguments; +import de.steamwar.command.SWCommand; +import de.steamwar.command.TypeMapper; import de.steamwar.linkage.Linked; -import de.steamwar.sql.SchematicType; +import de.steamwar.messages.Chatter; +import de.steamwar.messages.PlayerChatter; +import de.steamwar.sql.GameModeConfig; +import de.steamwar.sql.UserPerm; import de.steamwar.velocitycore.ArenaMode; import de.steamwar.velocitycore.ServerStarter; import de.steamwar.velocitycore.ServerVersion; import de.steamwar.velocitycore.VelocityCore; -import de.steamwar.command.PreviousArguments; -import de.steamwar.command.SWCommand; -import de.steamwar.command.TypeMapper; -import de.steamwar.messages.Chatter; -import de.steamwar.messages.PlayerChatter; -import de.steamwar.sql.UserPerm; import java.io.File; import java.io.IOException; diff --git a/VelocityCore/src/de/steamwar/velocitycore/commands/ChallengeCommand.java b/VelocityCore/src/de/steamwar/velocitycore/commands/ChallengeCommand.java index c9ab1f84..cd8d91b2 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/commands/ChallengeCommand.java +++ b/VelocityCore/src/de/steamwar/velocitycore/commands/ChallengeCommand.java @@ -22,15 +22,14 @@ package de.steamwar.velocitycore.commands; import com.velocitypowered.api.proxy.Player; import de.steamwar.command.SWCommand; import de.steamwar.command.TypeValidator; -import de.steamwar.sql.GameModeConfig; import de.steamwar.linkage.EventMode; import de.steamwar.linkage.Linked; import de.steamwar.messages.Chatter; import de.steamwar.messages.Message; import de.steamwar.messages.PlayerChatter; import de.steamwar.persistent.Subserver; +import de.steamwar.sql.GameModeConfig; import de.steamwar.sql.IgnoreSystem; -import de.steamwar.sql.SchematicType; import de.steamwar.velocitycore.ServerStarter; import net.kyori.adventure.text.event.ClickEvent; diff --git a/VelocityCore/src/de/steamwar/velocitycore/commands/HistoricCommand.java b/VelocityCore/src/de/steamwar/velocitycore/commands/HistoricCommand.java index 639b25f5..ec4fda14 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/commands/HistoricCommand.java +++ b/VelocityCore/src/de/steamwar/velocitycore/commands/HistoricCommand.java @@ -20,13 +20,12 @@ package de.steamwar.velocitycore.commands; import de.steamwar.command.SWCommand; -import de.steamwar.sql.GameModeConfig; import de.steamwar.linkage.EventMode; import de.steamwar.linkage.Linked; import de.steamwar.messages.Chatter; import de.steamwar.messages.Message; import de.steamwar.messages.PlayerChatter; -import de.steamwar.sql.SchematicType; +import de.steamwar.sql.GameModeConfig; import de.steamwar.velocitycore.ServerStarter; import net.kyori.adventure.text.event.ClickEvent; diff --git a/VelocityCore/src/de/steamwar/velocitycore/commands/LocalCommand.java b/VelocityCore/src/de/steamwar/velocitycore/commands/LocalCommand.java index 86a971aa..40f48fbf 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/commands/LocalCommand.java +++ b/VelocityCore/src/de/steamwar/velocitycore/commands/LocalCommand.java @@ -19,10 +19,10 @@ package de.steamwar.velocitycore.commands; -import de.steamwar.linkage.Linked; -import de.steamwar.velocitycore.listeners.ChatListener; import de.steamwar.command.SWCommand; +import de.steamwar.linkage.Linked; import de.steamwar.messages.PlayerChatter; +import de.steamwar.velocitycore.listeners.ChatListener; @Linked public class LocalCommand extends SWCommand { diff --git a/VelocityCore/src/de/steamwar/velocitycore/commands/PunishmentCommand.java b/VelocityCore/src/de/steamwar/velocitycore/commands/PunishmentCommand.java index ec5015a3..c449cfd1 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/commands/PunishmentCommand.java +++ b/VelocityCore/src/de/steamwar/velocitycore/commands/PunishmentCommand.java @@ -29,7 +29,6 @@ import de.steamwar.messages.Message; import de.steamwar.sql.BannedUserIPs; import de.steamwar.sql.Punishment; import de.steamwar.sql.SteamwarUser; -import de.steamwar.sql.UserPerm; import de.steamwar.velocitycore.VelocityCore; import de.steamwar.velocitycore.listeners.IPSanitizer; diff --git a/VelocityCore/src/de/steamwar/velocitycore/commands/ReplayCommand.java b/VelocityCore/src/de/steamwar/velocitycore/commands/ReplayCommand.java index e4d8b3e0..62329b19 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/commands/ReplayCommand.java +++ b/VelocityCore/src/de/steamwar/velocitycore/commands/ReplayCommand.java @@ -20,7 +20,6 @@ package de.steamwar.velocitycore.commands; import de.steamwar.command.SWCommand; -import de.steamwar.sql.GameModeConfig; import de.steamwar.linkage.EventMode; import de.steamwar.linkage.Linked; import de.steamwar.messages.Message; diff --git a/VelocityCore/src/de/steamwar/velocitycore/commands/ServerSwitchCommand.java b/VelocityCore/src/de/steamwar/velocitycore/commands/ServerSwitchCommand.java index 6778c563..3031fe00 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/commands/ServerSwitchCommand.java +++ b/VelocityCore/src/de/steamwar/velocitycore/commands/ServerSwitchCommand.java @@ -19,16 +19,16 @@ package de.steamwar.velocitycore.commands; -import java.net.InetSocketAddress; -import java.util.List; - import com.velocitypowered.api.network.ProtocolVersion; import com.velocitypowered.api.proxy.server.RegisteredServer; -import de.steamwar.velocitycore.VelocityCore; import de.steamwar.command.SWCommand; import de.steamwar.messages.PlayerChatter; import de.steamwar.sql.EventFight; import de.steamwar.sql.SteamwarUser; +import de.steamwar.velocitycore.VelocityCore; + +import java.net.InetSocketAddress; +import java.util.List; public class ServerSwitchCommand extends SWCommand { diff --git a/VelocityCore/src/de/steamwar/velocitycore/commands/ServerTeamchatCommand.java b/VelocityCore/src/de/steamwar/velocitycore/commands/ServerTeamchatCommand.java index 7dbede8b..0b04183e 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/commands/ServerTeamchatCommand.java +++ b/VelocityCore/src/de/steamwar/velocitycore/commands/ServerTeamchatCommand.java @@ -19,11 +19,11 @@ package de.steamwar.velocitycore.commands; -import de.steamwar.linkage.Linked; -import de.steamwar.velocitycore.listeners.ChatListener; import de.steamwar.command.SWCommand; +import de.steamwar.linkage.Linked; import de.steamwar.messages.Chatter; import de.steamwar.sql.UserPerm; +import de.steamwar.velocitycore.listeners.ChatListener; @Linked public class ServerTeamchatCommand extends SWCommand { diff --git a/VelocityCore/src/de/steamwar/velocitycore/commands/StatCommand.java b/VelocityCore/src/de/steamwar/velocitycore/commands/StatCommand.java index 8b8f4526..9ab038cf 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/commands/StatCommand.java +++ b/VelocityCore/src/de/steamwar/velocitycore/commands/StatCommand.java @@ -19,11 +19,11 @@ package de.steamwar.velocitycore.commands; -import de.steamwar.linkage.Linked; -import de.steamwar.velocitycore.Node; import de.steamwar.command.SWCommand; +import de.steamwar.linkage.Linked; import de.steamwar.messages.Chatter; import de.steamwar.sql.UserPerm; +import de.steamwar.velocitycore.Node; import java.io.BufferedReader; import java.io.InputStreamReader; diff --git a/VelocityCore/src/de/steamwar/velocitycore/commands/TeamchatCommand.java b/VelocityCore/src/de/steamwar/velocitycore/commands/TeamchatCommand.java index 38f63ce2..91f7fcde 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/commands/TeamchatCommand.java +++ b/VelocityCore/src/de/steamwar/velocitycore/commands/TeamchatCommand.java @@ -19,12 +19,12 @@ package de.steamwar.velocitycore.commands; -import de.steamwar.linkage.Linked; -import de.steamwar.velocitycore.listeners.ChatListener; import de.steamwar.command.SWCommand; +import de.steamwar.linkage.Linked; import de.steamwar.messages.Chatter; import de.steamwar.messages.ChatterGroup; import de.steamwar.sql.SteamwarUser; +import de.steamwar.velocitycore.listeners.ChatListener; @Linked public class TeamchatCommand extends SWCommand { diff --git a/VelocityCore/src/de/steamwar/velocitycore/commands/TpCommand.java b/VelocityCore/src/de/steamwar/velocitycore/commands/TpCommand.java index 107e700f..5f791c12 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/commands/TpCommand.java +++ b/VelocityCore/src/de/steamwar/velocitycore/commands/TpCommand.java @@ -22,18 +22,20 @@ package de.steamwar.velocitycore.commands; import com.velocitypowered.api.proxy.Player; import com.velocitypowered.api.proxy.ServerConnection; import com.velocitypowered.api.proxy.server.RegisteredServer; -import de.steamwar.linkage.Linked; -import de.steamwar.velocitycore.*; -import de.steamwar.velocitycore.util.BauLock; import de.steamwar.command.PreviousArguments; import de.steamwar.command.SWCommand; import de.steamwar.command.TypeMapper; +import de.steamwar.linkage.Linked; import de.steamwar.messages.Chatter; import de.steamwar.messages.PlayerChatter; import de.steamwar.persistent.Bauserver; import de.steamwar.persistent.Storage; import de.steamwar.persistent.Subserver; import de.steamwar.sql.*; +import de.steamwar.velocitycore.EventStarter; +import de.steamwar.velocitycore.SubserverSystem; +import de.steamwar.velocitycore.VelocityCore; +import de.steamwar.velocitycore.util.BauLock; import java.util.ArrayList; import java.util.Collection; diff --git a/VelocityCore/src/de/steamwar/velocitycore/commands/TypeMappers.java b/VelocityCore/src/de/steamwar/velocitycore/commands/TypeMappers.java index 94c7f085..548ec6eb 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/commands/TypeMappers.java +++ b/VelocityCore/src/de/steamwar/velocitycore/commands/TypeMappers.java @@ -23,11 +23,10 @@ import de.steamwar.command.PreviousArguments; import de.steamwar.command.SWCommandUtils; import de.steamwar.command.TypeMapper; import de.steamwar.command.TypeValidator; -import de.steamwar.sql.GameModeConfig; import de.steamwar.messages.Chatter; import de.steamwar.messages.PlayerChatter; +import de.steamwar.sql.GameModeConfig; import de.steamwar.sql.Punishment; -import de.steamwar.sql.SchematicType; import de.steamwar.velocitycore.ArenaMode; import lombok.experimental.UtilityClass; diff --git a/VelocityCore/src/de/steamwar/velocitycore/commands/VerifyCommand.java b/VelocityCore/src/de/steamwar/velocitycore/commands/VerifyCommand.java index 9624123b..b761e2cd 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/commands/VerifyCommand.java +++ b/VelocityCore/src/de/steamwar/velocitycore/commands/VerifyCommand.java @@ -19,11 +19,11 @@ package de.steamwar.velocitycore.commands; +import de.steamwar.command.SWCommand; import de.steamwar.linkage.Linked; +import de.steamwar.messages.Chatter; import de.steamwar.velocitycore.VelocityCore; import de.steamwar.velocitycore.discord.util.AuthManager; -import de.steamwar.command.SWCommand; -import de.steamwar.messages.Chatter; import net.dv8tion.jda.api.entities.User; import java.util.Base64; diff --git a/VelocityCore/src/de/steamwar/velocitycore/discord/channels/DiscordChatRoom.java b/VelocityCore/src/de/steamwar/velocitycore/discord/channels/DiscordChatRoom.java index 5360cfe7..ef02ce11 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/discord/channels/DiscordChatRoom.java +++ b/VelocityCore/src/de/steamwar/velocitycore/discord/channels/DiscordChatRoom.java @@ -19,11 +19,11 @@ package de.steamwar.velocitycore.discord.channels; -import de.steamwar.velocitycore.listeners.ChatListener; import de.steamwar.messages.Chatter; import de.steamwar.messages.ChatterGroup; import de.steamwar.sql.Punishment; import de.steamwar.sql.SteamwarUser; +import de.steamwar.velocitycore.listeners.ChatListener; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import java.util.function.Supplier; diff --git a/VelocityCore/src/de/steamwar/velocitycore/discord/channels/StaticMessageChannel.java b/VelocityCore/src/de/steamwar/velocitycore/discord/channels/StaticMessageChannel.java index 915affbe..df7b4a6b 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/discord/channels/StaticMessageChannel.java +++ b/VelocityCore/src/de/steamwar/velocitycore/discord/channels/StaticMessageChannel.java @@ -28,7 +28,6 @@ import net.dv8tion.jda.api.utils.messages.MessageCreateBuilder; import net.dv8tion.jda.api.utils.messages.MessageEditData; import java.util.Collections; -import java.util.concurrent.TimeoutException; import java.util.function.Consumer; import java.util.function.Supplier; diff --git a/VelocityCore/src/de/steamwar/velocitycore/discord/listeners/DiscordSchemUpload.java b/VelocityCore/src/de/steamwar/velocitycore/discord/listeners/DiscordSchemUpload.java index c3c621fb..947b58e0 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/discord/listeners/DiscordSchemUpload.java +++ b/VelocityCore/src/de/steamwar/velocitycore/discord/listeners/DiscordSchemUpload.java @@ -19,19 +19,22 @@ package de.steamwar.velocitycore.discord.listeners; -import de.steamwar.velocitycore.VelocityCore; -import de.steamwar.velocitycore.discord.channels.DiscordChannel; import de.steamwar.sql.NodeData; import de.steamwar.sql.Punishment; import de.steamwar.sql.SchematicNode; import de.steamwar.sql.SteamwarUser; +import de.steamwar.velocitycore.VelocityCore; +import de.steamwar.velocitycore.discord.channels.DiscordChannel; import dev.dewy.nbt.Nbt; import dev.dewy.nbt.tags.collection.CompoundTag; import net.dv8tion.jda.api.entities.Message; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import net.dv8tion.jda.api.hooks.ListenerAdapter; -import java.io.*; +import java.io.ByteArrayInputStream; +import java.io.DataInputStream; +import java.io.IOException; +import java.io.InputStream; import java.util.Arrays; import java.util.List; import java.util.concurrent.ExecutionException; diff --git a/VelocityCore/src/de/steamwar/velocitycore/discord/listeners/DiscordTeamEvent.java b/VelocityCore/src/de/steamwar/velocitycore/discord/listeners/DiscordTeamEvent.java index 8e0f3955..8b3bac75 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/discord/listeners/DiscordTeamEvent.java +++ b/VelocityCore/src/de/steamwar/velocitycore/discord/listeners/DiscordTeamEvent.java @@ -19,10 +19,10 @@ package de.steamwar.velocitycore.discord.listeners; +import de.steamwar.sql.Event; import de.steamwar.velocitycore.VelocityCore; import de.steamwar.velocitycore.discord.DiscordBot; import de.steamwar.velocitycore.discord.channels.InteractionReply; -import de.steamwar.sql.Event; import net.dv8tion.jda.api.events.interaction.component.StringSelectInteractionEvent; import net.dv8tion.jda.api.hooks.ListenerAdapter; import org.jetbrains.annotations.NotNull; diff --git a/VelocityCore/src/de/steamwar/velocitycore/discord/util/AuthManager.java b/VelocityCore/src/de/steamwar/velocitycore/discord/util/AuthManager.java index 91766b26..fa4b6150 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/discord/util/AuthManager.java +++ b/VelocityCore/src/de/steamwar/velocitycore/discord/util/AuthManager.java @@ -19,9 +19,9 @@ package de.steamwar.velocitycore.discord.util; +import de.steamwar.sql.SteamwarUser; import de.steamwar.velocitycore.VelocityCore; import de.steamwar.velocitycore.discord.channels.DiscordChannel; -import de.steamwar.sql.SteamwarUser; import lombok.experimental.UtilityClass; import net.dv8tion.jda.api.entities.User; import net.dv8tion.jda.api.entities.emoji.Emoji; diff --git a/VelocityCore/src/de/steamwar/velocitycore/discord/util/DiscordRanks.java b/VelocityCore/src/de/steamwar/velocitycore/discord/util/DiscordRanks.java index 7ceec7b5..976f6782 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/discord/util/DiscordRanks.java +++ b/VelocityCore/src/de/steamwar/velocitycore/discord/util/DiscordRanks.java @@ -19,14 +19,16 @@ package de.steamwar.velocitycore.discord.util; -import de.steamwar.velocitycore.discord.DiscordBot; import de.steamwar.sql.SteamwarUser; import de.steamwar.sql.UserPerm; +import de.steamwar.velocitycore.discord.DiscordBot; import lombok.experimental.UtilityClass; import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.exceptions.ErrorResponseException; -import java.util.*; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; import java.util.stream.Collectors; diff --git a/VelocityCore/src/de/steamwar/velocitycore/inventory/SWInventory.java b/VelocityCore/src/de/steamwar/velocitycore/inventory/SWInventory.java index faf34d2f..b206d1ea 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/inventory/SWInventory.java +++ b/VelocityCore/src/de/steamwar/velocitycore/inventory/SWInventory.java @@ -19,13 +19,13 @@ package de.steamwar.velocitycore.inventory; -import de.steamwar.messages.Message; -import de.steamwar.velocitycore.network.NetworkSender; -import de.steamwar.velocitycore.network.handlers.InventoryCallbackHandler; import de.steamwar.messages.Chatter; +import de.steamwar.messages.Message; import de.steamwar.messages.PlayerChatter; import de.steamwar.network.packets.server.CloseInventoryPacket; import de.steamwar.network.packets.server.InventoryPacket; +import de.steamwar.velocitycore.network.NetworkSender; +import de.steamwar.velocitycore.network.handlers.InventoryCallbackHandler; import lombok.Getter; import lombok.Setter; diff --git a/VelocityCore/src/de/steamwar/velocitycore/listeners/ChatListener.java b/VelocityCore/src/de/steamwar/velocitycore/listeners/ChatListener.java index 93a376cf..ea88b70a 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/listeners/ChatListener.java +++ b/VelocityCore/src/de/steamwar/velocitycore/listeners/ChatListener.java @@ -29,7 +29,6 @@ import com.velocitypowered.api.proxy.ConsoleCommandSource; import com.velocitypowered.api.proxy.Player; import com.velocitypowered.api.proxy.ServerConnection; import com.velocitypowered.api.proxy.server.ServerInfo; -import de.steamwar.sql.GameModeConfig; import de.steamwar.linkage.Linked; import de.steamwar.messages.Chatter; import de.steamwar.messages.ChatterGroup; diff --git a/VelocityCore/src/de/steamwar/velocitycore/listeners/SessionManager.java b/VelocityCore/src/de/steamwar/velocitycore/listeners/SessionManager.java index c98bd62a..071932ec 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/listeners/SessionManager.java +++ b/VelocityCore/src/de/steamwar/velocitycore/listeners/SessionManager.java @@ -24,9 +24,9 @@ import com.velocitypowered.api.event.connection.DisconnectEvent; import com.velocitypowered.api.event.connection.PostLoginEvent; import de.steamwar.linkage.Linked; import de.steamwar.sql.AuditLog; -import de.steamwar.velocitycore.VelocityCore; import de.steamwar.sql.Session; import de.steamwar.sql.SteamwarUser; +import de.steamwar.velocitycore.VelocityCore; import java.sql.Timestamp; import java.time.Instant; diff --git a/VelocityCore/src/de/steamwar/velocitycore/listeners/SettingsChangedListener.java b/VelocityCore/src/de/steamwar/velocitycore/listeners/SettingsChangedListener.java index 49367da6..1b86bed9 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/listeners/SettingsChangedListener.java +++ b/VelocityCore/src/de/steamwar/velocitycore/listeners/SettingsChangedListener.java @@ -23,10 +23,10 @@ import com.velocitypowered.api.event.Subscribe; import com.velocitypowered.api.event.player.PlayerSettingsChangedEvent; import com.velocitypowered.api.proxy.Player; import de.steamwar.linkage.Linked; +import de.steamwar.network.packets.server.LocaleInvalidationPacket; +import de.steamwar.sql.SteamwarUser; import de.steamwar.velocitycore.VelocityCore; import de.steamwar.velocitycore.network.NetworkSender; -import de.steamwar.sql.SteamwarUser; -import de.steamwar.network.packets.server.LocaleInvalidationPacket; @Linked public class SettingsChangedListener extends BasicListener { diff --git a/VelocityCore/src/de/steamwar/velocitycore/mods/FML.java b/VelocityCore/src/de/steamwar/velocitycore/mods/FML.java index 91d0065d..20acaea2 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/mods/FML.java +++ b/VelocityCore/src/de/steamwar/velocitycore/mods/FML.java @@ -26,10 +26,10 @@ import com.velocitypowered.api.network.ProtocolVersion; import com.velocitypowered.api.proxy.Player; import com.velocitypowered.api.proxy.messages.LegacyChannelIdentifier; import com.velocitypowered.proxy.protocol.ProtocolUtils; -import de.steamwar.velocitycore.VelocityCore; -import de.steamwar.velocitycore.listeners.BasicListener; import de.steamwar.messages.Chatter; import de.steamwar.sql.Mod; +import de.steamwar.velocitycore.VelocityCore; +import de.steamwar.velocitycore.listeners.BasicListener; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; diff --git a/VelocityCore/src/de/steamwar/velocitycore/mods/FML2.java b/VelocityCore/src/de/steamwar/velocitycore/mods/FML2.java index 954febbb..905433a6 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/mods/FML2.java +++ b/VelocityCore/src/de/steamwar/velocitycore/mods/FML2.java @@ -26,10 +26,10 @@ import com.velocitypowered.api.proxy.messages.MinecraftChannelIdentifier; import com.velocitypowered.proxy.connection.client.LoginInboundConnection; import com.velocitypowered.proxy.protocol.ProtocolUtils; import de.steamwar.linkage.Linked; +import de.steamwar.sql.Mod; import de.steamwar.velocitycore.VelocityCore; import de.steamwar.velocitycore.listeners.BasicListener; import de.steamwar.velocitycore.listeners.PluginMessage; -import de.steamwar.sql.Mod; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import lombok.AllArgsConstructor; diff --git a/VelocityCore/src/de/steamwar/velocitycore/mods/FabricModSender.java b/VelocityCore/src/de/steamwar/velocitycore/mods/FabricModSender.java index e8b3e212..550d30c7 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/mods/FabricModSender.java +++ b/VelocityCore/src/de/steamwar/velocitycore/mods/FabricModSender.java @@ -30,11 +30,11 @@ import com.velocitypowered.api.proxy.Player; import com.velocitypowered.proxy.protocol.ProtocolUtils; import de.steamwar.linkage.Linked; import de.steamwar.persistent.Storage; -import de.steamwar.velocitycore.VelocityCore; -import de.steamwar.velocitycore.listeners.BasicListener; import de.steamwar.sql.Mod; import de.steamwar.sql.SWException; import de.steamwar.sql.SteamwarUser; +import de.steamwar.velocitycore.VelocityCore; +import de.steamwar.velocitycore.listeners.BasicListener; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; diff --git a/VelocityCore/src/de/steamwar/velocitycore/mods/LabyMod.java b/VelocityCore/src/de/steamwar/velocitycore/mods/LabyMod.java index 5e7d441d..192d0f9d 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/mods/LabyMod.java +++ b/VelocityCore/src/de/steamwar/velocitycore/mods/LabyMod.java @@ -25,9 +25,9 @@ import com.google.gson.JsonParser; import com.velocitypowered.api.event.connection.PluginMessageEvent; import com.velocitypowered.api.proxy.Player; import com.velocitypowered.proxy.protocol.ProtocolUtils; +import de.steamwar.sql.Mod; import de.steamwar.velocitycore.VelocityCore; import de.steamwar.velocitycore.listeners.PluginMessage; -import de.steamwar.sql.Mod; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; diff --git a/VelocityCore/src/de/steamwar/velocitycore/mods/ReplayMod.java b/VelocityCore/src/de/steamwar/velocitycore/mods/ReplayMod.java index 5af60178..48a950dd 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/mods/ReplayMod.java +++ b/VelocityCore/src/de/steamwar/velocitycore/mods/ReplayMod.java @@ -25,8 +25,8 @@ import com.velocitypowered.api.proxy.Player; import de.steamwar.linkage.Linked; import de.steamwar.persistent.Bauserver; import de.steamwar.persistent.Builderserver; -import de.steamwar.velocitycore.VelocityCore; import de.steamwar.persistent.Subserver; +import de.steamwar.velocitycore.VelocityCore; import de.steamwar.velocitycore.commands.DevCommand; import de.steamwar.velocitycore.listeners.BasicListener; import de.steamwar.velocitycore.listeners.PluginMessage; diff --git a/VelocityCore/src/de/steamwar/velocitycore/network/handlers/ExecuteCommandHandler.java b/VelocityCore/src/de/steamwar/velocitycore/network/handlers/ExecuteCommandHandler.java index d9276b23..42d7c87c 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/network/handlers/ExecuteCommandHandler.java +++ b/VelocityCore/src/de/steamwar/velocitycore/network/handlers/ExecuteCommandHandler.java @@ -20,10 +20,10 @@ package de.steamwar.velocitycore.network.handlers; import de.steamwar.linkage.Linked; -import de.steamwar.velocitycore.VelocityCore; import de.steamwar.network.packets.PacketHandler; import de.steamwar.network.packets.client.ExecuteCommandPacket; import de.steamwar.sql.SteamwarUser; +import de.steamwar.velocitycore.VelocityCore; @Linked public class ExecuteCommandHandler extends PacketHandler { diff --git a/VelocityCore/src/de/steamwar/velocitycore/network/handlers/FightInfoHandler.java b/VelocityCore/src/de/steamwar/velocitycore/network/handlers/FightInfoHandler.java index 784ba7bf..704acfec 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/network/handlers/FightInfoHandler.java +++ b/VelocityCore/src/de/steamwar/velocitycore/network/handlers/FightInfoHandler.java @@ -22,11 +22,11 @@ package de.steamwar.velocitycore.network.handlers; import com.velocitypowered.api.proxy.Player; import com.velocitypowered.api.proxy.server.RegisteredServer; import de.steamwar.linkage.Linked; +import de.steamwar.network.packets.PacketHandler; +import de.steamwar.network.packets.common.FightInfoPacket; import de.steamwar.velocitycore.network.NetworkSender; import de.steamwar.velocitycore.network.ServerMetaInfo; import de.steamwar.velocitycore.tablist.TablistManager; -import de.steamwar.network.packets.PacketHandler; -import de.steamwar.network.packets.common.FightInfoPacket; import java.util.HashSet; import java.util.Set; diff --git a/VelocityCore/src/de/steamwar/velocitycore/network/handlers/ImALobbyHandler.java b/VelocityCore/src/de/steamwar/velocitycore/network/handlers/ImALobbyHandler.java index 504bb8b8..9f04177c 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/network/handlers/ImALobbyHandler.java +++ b/VelocityCore/src/de/steamwar/velocitycore/network/handlers/ImALobbyHandler.java @@ -20,9 +20,9 @@ package de.steamwar.velocitycore.network.handlers; import de.steamwar.linkage.Linked; -import de.steamwar.velocitycore.network.ServerMetaInfo; import de.steamwar.network.packets.PacketHandler; import de.steamwar.network.packets.client.ImALobbyPacket; +import de.steamwar.velocitycore.network.ServerMetaInfo; @Linked public class ImALobbyHandler extends PacketHandler { diff --git a/VelocityCore/src/de/steamwar/velocitycore/network/handlers/InventoryCallbackHandler.java b/VelocityCore/src/de/steamwar/velocitycore/network/handlers/InventoryCallbackHandler.java index c5a42fa1..5ad72b27 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/network/handlers/InventoryCallbackHandler.java +++ b/VelocityCore/src/de/steamwar/velocitycore/network/handlers/InventoryCallbackHandler.java @@ -21,15 +21,15 @@ package de.steamwar.velocitycore.network.handlers; import com.velocitypowered.api.proxy.Player; import de.steamwar.linkage.Linked; -import de.steamwar.velocitycore.inventory.InvCallback; -import de.steamwar.velocitycore.inventory.SWInventory; -import de.steamwar.velocitycore.network.NetworkSender; -import de.steamwar.velocitycore.network.ServerMetaInfo; import de.steamwar.messages.Chatter; import de.steamwar.network.packets.PacketHandler; import de.steamwar.network.packets.client.InventoryCallbackPacket; import de.steamwar.network.packets.server.CloseInventoryPacket; import de.steamwar.sql.SteamwarUser; +import de.steamwar.velocitycore.inventory.InvCallback; +import de.steamwar.velocitycore.inventory.SWInventory; +import de.steamwar.velocitycore.network.NetworkSender; +import de.steamwar.velocitycore.network.ServerMetaInfo; import java.util.HashMap; import java.util.Map; diff --git a/VelocityCore/src/de/steamwar/velocitycore/network/handlers/PrepareSchemHandler.java b/VelocityCore/src/de/steamwar/velocitycore/network/handlers/PrepareSchemHandler.java index 04373cb1..fe5cea9b 100644 --- a/VelocityCore/src/de/steamwar/velocitycore/network/handlers/PrepareSchemHandler.java +++ b/VelocityCore/src/de/steamwar/velocitycore/network/handlers/PrepareSchemHandler.java @@ -20,10 +20,10 @@ package de.steamwar.velocitycore.network.handlers; import com.velocitypowered.api.proxy.Player; -import de.steamwar.sql.GameModeConfig; import de.steamwar.linkage.Linked; import de.steamwar.network.packets.PacketHandler; import de.steamwar.network.packets.client.PrepareSchemPacket; +import de.steamwar.sql.GameModeConfig; import de.steamwar.sql.SchematicType; import de.steamwar.sql.SteamwarUser; import de.steamwar.velocitycore.ArenaMode; diff --git a/WebsiteBackend/src/de/steamwar/Application.kt b/WebsiteBackend/src/de/steamwar/Application.kt index 9853d4ab..315f64fb 100644 --- a/WebsiteBackend/src/de/steamwar/Application.kt +++ b/WebsiteBackend/src/de/steamwar/Application.kt @@ -20,10 +20,10 @@ package de.steamwar import de.steamwar.plugins.configurePlugins -import io.ktor.server.application.* -import io.ktor.server.engine.* import de.steamwar.routes.configureRoutes import de.steamwar.sql.SteamwarUser +import io.ktor.server.application.* +import io.ktor.server.engine.* import io.ktor.server.netty.* import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.Serializable diff --git a/WebsiteBackend/src/de/steamwar/data/SkinCache.kt b/WebsiteBackend/src/de/steamwar/data/SkinCache.kt index 25474c0a..9985bc09 100644 --- a/WebsiteBackend/src/de/steamwar/data/SkinCache.kt +++ b/WebsiteBackend/src/de/steamwar/data/SkinCache.kt @@ -27,7 +27,8 @@ import io.ktor.client.request.* import io.ktor.client.statement.* import io.ktor.serialization.kotlinx.json.* import io.ktor.utils.io.jvm.javaio.* -import kotlinx.coroutines.* +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.withContext import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.Serializable import kotlinx.serialization.cbor.Cbor diff --git a/WebsiteBackend/src/de/steamwar/plugins/Auth.kt b/WebsiteBackend/src/de/steamwar/plugins/Auth.kt index 62f8456b..1e02937c 100644 --- a/WebsiteBackend/src/de/steamwar/plugins/Auth.kt +++ b/WebsiteBackend/src/de/steamwar/plugins/Auth.kt @@ -21,7 +21,6 @@ package de.steamwar.plugins import de.steamwar.sql.SWException import de.steamwar.sql.SteamwarUser -import de.steamwar.sql.Token import de.steamwar.sql.UserPerm import io.ktor.http.* import io.ktor.server.application.* @@ -29,8 +28,6 @@ import io.ktor.server.application.hooks.* import io.ktor.server.auth.* import io.ktor.server.request.* import io.ktor.server.response.* -import io.ktor.server.sessions.sessions -import io.ktor.util.* import kotlinx.serialization.Serializable @Serializable diff --git a/WebsiteBackend/src/de/steamwar/plugins/Plugins.kt b/WebsiteBackend/src/de/steamwar/plugins/Plugins.kt index 93abc473..1cd7c7e0 100644 --- a/WebsiteBackend/src/de/steamwar/plugins/Plugins.kt +++ b/WebsiteBackend/src/de/steamwar/plugins/Plugins.kt @@ -21,23 +21,15 @@ package de.steamwar.plugins import de.steamwar.config import de.steamwar.sql.SteamwarUser -import de.steamwar.sql.Token -import de.steamwar.util.TokenType -import de.steamwar.util.isValid -import de.steamwar.util.type import io.ktor.http.* -import io.ktor.http.auth.* import io.ktor.serialization.kotlinx.json.* import io.ktor.server.application.* import io.ktor.server.auth.* import io.ktor.server.plugins.contentnegotiation.* import io.ktor.server.plugins.cors.routing.* import io.ktor.server.plugins.ratelimit.* -import io.ktor.server.response.respond -import io.ktor.server.sessions.SessionTransportTransformerEncrypt -import io.ktor.server.sessions.Sessions -import io.ktor.server.sessions.cookie -import io.ktor.server.sessions.directorySessionStorage +import io.ktor.server.response.* +import io.ktor.server.sessions.* import kotlinx.serialization.json.Json import java.io.File import kotlin.time.Duration.Companion.seconds diff --git a/WebsiteBackend/src/de/steamwar/plugins/SteamWar.kt b/WebsiteBackend/src/de/steamwar/plugins/SteamWar.kt index 672ef329..d87499e1 100644 --- a/WebsiteBackend/src/de/steamwar/plugins/SteamWar.kt +++ b/WebsiteBackend/src/de/steamwar/plugins/SteamWar.kt @@ -22,7 +22,7 @@ package de.steamwar.plugins import de.steamwar.routes.catchException import de.steamwar.sql.SteamwarUser import io.ktor.server.request.* -import java.util.UUID +import java.util.* fun ApplicationRequest.getUser(key: String = "id"): SteamwarUser? { return SteamwarUser.get(call.parameters[key]?.let { catchException { UUID.fromString(it) } } ?: return null) diff --git a/WebsiteBackend/src/de/steamwar/routes/AuditLog.kt b/WebsiteBackend/src/de/steamwar/routes/AuditLog.kt index 7ac08d5f..54b258cf 100644 --- a/WebsiteBackend/src/de/steamwar/routes/AuditLog.kt +++ b/WebsiteBackend/src/de/steamwar/routes/AuditLog.kt @@ -25,23 +25,11 @@ import de.steamwar.sql.AuditLogTable import de.steamwar.sql.SteamwarUserTable import de.steamwar.sql.UserPerm import de.steamwar.sql.internal.useDb -import io.ktor.server.application.call -import io.ktor.server.application.install -import io.ktor.server.response.respond -import io.ktor.server.routing.Route -import io.ktor.server.routing.get -import io.ktor.server.routing.route +import io.ktor.server.application.* +import io.ktor.server.response.* +import io.ktor.server.routing.* import kotlinx.serialization.Serializable -import org.jetbrains.exposed.v1.core.Alias -import org.jetbrains.exposed.v1.core.JoinType -import org.jetbrains.exposed.v1.core.SortOrder -import org.jetbrains.exposed.v1.core.alias -import org.jetbrains.exposed.v1.core.greater -import org.jetbrains.exposed.v1.core.inList -import org.jetbrains.exposed.v1.core.isNull -import org.jetbrains.exposed.v1.core.less -import org.jetbrains.exposed.v1.core.like -import org.jetbrains.exposed.v1.core.or +import org.jetbrains.exposed.v1.core.* import org.jetbrains.exposed.v1.jdbc.Query import org.jetbrains.exposed.v1.jdbc.andWhere import org.jetbrains.exposed.v1.jdbc.select diff --git a/WebsiteBackend/src/de/steamwar/routes/Auth.kt b/WebsiteBackend/src/de/steamwar/routes/Auth.kt index 4710bd5b..ffb32098 100644 --- a/WebsiteBackend/src/de/steamwar/routes/Auth.kt +++ b/WebsiteBackend/src/de/steamwar/routes/Auth.kt @@ -22,21 +22,18 @@ package de.steamwar.routes import de.steamwar.ResponseError import de.steamwar.plugins.SWUserSession import de.steamwar.sql.SteamwarUser -import io.ktor.client.HttpClient -import io.ktor.client.engine.java.Java -import io.ktor.client.plugins.contentnegotiation.ContentNegotiation -import io.ktor.client.request.get -import io.ktor.client.request.headers -import io.ktor.client.statement.bodyAsText +import io.ktor.client.* +import io.ktor.client.engine.java.* +import io.ktor.client.plugins.contentnegotiation.* +import io.ktor.client.request.* +import io.ktor.client.statement.* import io.ktor.http.* -import io.ktor.serialization.kotlinx.json.json +import io.ktor.serialization.kotlinx.json.* import io.ktor.server.application.* import io.ktor.server.request.* import io.ktor.server.response.* import io.ktor.server.routing.* -import io.ktor.server.sessions.clear -import io.ktor.server.sessions.sessions -import io.ktor.server.sessions.set +import io.ktor.server.sessions.* import kotlinx.serialization.Serializable import kotlinx.serialization.json.Json import kotlinx.serialization.json.jsonObject diff --git a/WebsiteBackend/src/de/steamwar/routes/Data.kt b/WebsiteBackend/src/de/steamwar/routes/Data.kt index e52f72aa..2d72b0e1 100644 --- a/WebsiteBackend/src/de/steamwar/routes/Data.kt +++ b/WebsiteBackend/src/de/steamwar/routes/Data.kt @@ -23,11 +23,7 @@ import de.steamwar.ResponseError import de.steamwar.data.getCachedSkin import de.steamwar.plugins.SWAuthPrincipal import de.steamwar.plugins.SWPermissionCheck -import de.steamwar.sql.SchematicType -import de.steamwar.sql.SteamwarUser -import de.steamwar.sql.SteamwarUserTable -import de.steamwar.sql.Team -import de.steamwar.sql.UserPerm +import de.steamwar.sql.* import de.steamwar.sql.internal.useDb import de.steamwar.util.fetchData import io.ktor.http.* diff --git a/WebsiteBackend/src/de/steamwar/routes/EventFights.kt b/WebsiteBackend/src/de/steamwar/routes/EventFights.kt index 82569d40..9f81e3e8 100644 --- a/WebsiteBackend/src/de/steamwar/routes/EventFights.kt +++ b/WebsiteBackend/src/de/steamwar/routes/EventFights.kt @@ -20,7 +20,8 @@ package de.steamwar.routes import de.steamwar.ResponseError -import de.steamwar.sql.* +import de.steamwar.sql.EventFight +import de.steamwar.sql.Team import io.ktor.http.* import io.ktor.server.application.* import io.ktor.server.request.* diff --git a/WebsiteBackend/src/de/steamwar/routes/Events.kt b/WebsiteBackend/src/de/steamwar/routes/Events.kt index 2c76498b..1c13ea5d 100644 --- a/WebsiteBackend/src/de/steamwar/routes/Events.kt +++ b/WebsiteBackend/src/de/steamwar/routes/Events.kt @@ -30,7 +30,6 @@ import io.ktor.server.request.* import io.ktor.server.response.* import io.ktor.server.routing.* import kotlinx.serialization.Serializable -import java.lang.StringBuilder import java.sql.Timestamp import java.time.Instant import java.util.* diff --git a/WebsiteBackend/src/de/steamwar/routes/Page.kt b/WebsiteBackend/src/de/steamwar/routes/Page.kt index 8b88cf22..2300cb7e 100644 --- a/WebsiteBackend/src/de/steamwar/routes/Page.kt +++ b/WebsiteBackend/src/de/steamwar/routes/Page.kt @@ -38,11 +38,9 @@ import io.ktor.server.response.* import io.ktor.server.routing.* import kotlinx.serialization.Serializable import kotlinx.serialization.json.* -import java.time.Instant import java.time.LocalDate import java.time.format.DateTimeFormatter -import java.util.Base64 -import java.util.Date +import java.util.* val pathPageIdMap = mutableMapOf() var pageId = 1 diff --git a/WebsiteBackend/src/de/steamwar/routes/Schematic.kt b/WebsiteBackend/src/de/steamwar/routes/Schematic.kt index 0e8ef701..a8c745e1 100644 --- a/WebsiteBackend/src/de/steamwar/routes/Schematic.kt +++ b/WebsiteBackend/src/de/steamwar/routes/Schematic.kt @@ -22,8 +22,11 @@ package de.steamwar.routes import de.steamwar.ResponseError import de.steamwar.plugins.SWAuthPrincipal import de.steamwar.plugins.SWPermissionCheck -import de.steamwar.sql.* +import de.steamwar.sql.NodeData import de.steamwar.sql.NodeData.SchematicFormat +import de.steamwar.sql.NodeDownload +import de.steamwar.sql.SWException +import de.steamwar.sql.SchematicNode import dev.dewy.nbt.Nbt import dev.dewy.nbt.tags.collection.CompoundTag import io.ktor.http.* diff --git a/WebsiteBackend/src/de/steamwar/routes/UserPerms.kt b/WebsiteBackend/src/de/steamwar/routes/UserPerms.kt index 1c3987a7..9ae45944 100644 --- a/WebsiteBackend/src/de/steamwar/routes/UserPerms.kt +++ b/WebsiteBackend/src/de/steamwar/routes/UserPerms.kt @@ -23,17 +23,11 @@ import de.steamwar.plugins.SWPermissionCheck import de.steamwar.plugins.getUser import de.steamwar.sql.SteamwarUser import de.steamwar.sql.UserPerm -import io.ktor.http.HttpStatusCode -import io.ktor.server.application.ApplicationCall -import io.ktor.server.application.call -import io.ktor.server.application.install -import io.ktor.server.response.respond -import io.ktor.server.routing.Route -import io.ktor.server.routing.delete -import io.ktor.server.routing.get -import io.ktor.server.routing.put -import io.ktor.server.routing.route -import kotlinx.serialization.Serializable; +import io.ktor.http.* +import io.ktor.server.application.* +import io.ktor.server.response.* +import io.ktor.server.routing.* +import kotlinx.serialization.Serializable @Serializable data class RespondPrefix(val name: String, val colorCode: String, val chatPrefix: String) diff --git a/WebsiteBackend/src/de/steamwar/sql/Stats.kt b/WebsiteBackend/src/de/steamwar/sql/Stats.kt index ea0a0fef..dc46ca2d 100644 --- a/WebsiteBackend/src/de/steamwar/sql/Stats.kt +++ b/WebsiteBackend/src/de/steamwar/sql/Stats.kt @@ -21,7 +21,6 @@ package de.steamwar.sql import de.steamwar.sql.internal.useDb import org.jetbrains.exposed.v1.core.IntegerColumnType -import org.jetbrains.exposed.v1.core.VarCharColumnType import java.sql.ResultSet private val getNum: (ResultSet) -> Int? = { From 81dd8045f293acd59ddb81e6785462e1fc519bcf Mon Sep 17 00:00:00 2001 From: YoyoNow Date: Sat, 16 May 2026 22:41:17 +0200 Subject: [PATCH 05/19] Remove unused code --- .../features/gui/editor/BauGuiEditor.java | 3 +- .../features/loadtimer/LoadtimerListener.java | 6 +-- .../features/region/FreezeListener.java | 4 +- .../features/script/event/EventListener.java | 6 +-- .../team/boundary/BoundaryViewer.java | 3 +- .../features/techhider/TechHiderCommand.java | 2 +- .../features/util/NoClipCommand.java | 2 +- .../bausystem/features/xray/XrayCommand.java | 2 +- .../fightsystem/commands/GamemodeCommand.java | 13 +++--- .../fightsystem/event/HellsBells.java | 10 ++--- .../de/steamwar/fightsystem/event/Meteor.java | 2 - .../fightsystem/fight/FightWorld.java | 2 +- .../fightsystem/listener/Recording.java | 5 +-- .../fightsystem/listener/Spectator.java | 2 +- .../fightsystem/listener/WaterRemover.java | 4 +- .../fightsystem/record/PacketProcessor.java | 19 ++++---- .../fightsystem/utils/BlockIdWrapper.java | 4 +- .../fightsystem/utils/TechHiderWrapper.java | 5 ++- .../fightsystem/utils/WorldeditWrapper.java | 8 ++-- .../winconditions/WinconditionTimeTechKO.java | 6 +-- .../WinconditionTimedDamageTechKO.java | 4 +- .../de/steamwar/misslewars/FightWorld.java | 5 ++- .../src/de/steamwar/core/ChatWrapper.java | 44 ------------------ .../src/de/steamwar/core/CommandRemover.java | 38 ---------------- .../de/steamwar/core/CraftbukkitWrapper.java | 4 +- .../de/steamwar/core/FlatteningWrapper.java | 4 +- .../src/de/steamwar/core/ProtocolWrapper.java | 16 ++----- .../src/de/steamwar/core/TPSWatcher.java | 10 ++--- .../steamwar/core/TrickyParticleWrapper.java | 30 ------------- .../de/steamwar/core/TrickyTrialsWrapper.java | 45 ------------------- .../core/WorldEditRendererFallback.java | 2 +- .../src/de/steamwar/entity/REntity.java | 16 ++++--- .../src/de/steamwar/entity/RPlayer.java | 7 ++- .../src/de/steamwar/entity/RTextDisplay.java | 5 ++- .../src/de/steamwar/inventory/SWItem.java | 8 ++-- .../teamserver/listener/FreezeListener.java | 4 +- .../steamwar/towerrun/game/TowerRunGame.java | 5 ++- 37 files changed, 95 insertions(+), 260 deletions(-) delete mode 100644 SpigotCore/SpigotCore_Main/src/de/steamwar/core/ChatWrapper.java delete mode 100644 SpigotCore/SpigotCore_Main/src/de/steamwar/core/CommandRemover.java delete mode 100644 SpigotCore/SpigotCore_Main/src/de/steamwar/core/TrickyParticleWrapper.java delete mode 100644 SpigotCore/SpigotCore_Main/src/de/steamwar/core/TrickyTrialsWrapper.java diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/gui/editor/BauGuiEditor.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/gui/editor/BauGuiEditor.java index 092c95cf..2e487b27 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/gui/editor/BauGuiEditor.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/gui/editor/BauGuiEditor.java @@ -22,7 +22,6 @@ package de.steamwar.bausystem.features.gui.editor; import de.steamwar.bausystem.BauSystem; import de.steamwar.bausystem.features.gui.BauGUI; import de.steamwar.bausystem.linkage.BauGuiItem; -import de.steamwar.core.TrickyTrialsWrapper; import de.steamwar.data.CMDs; import de.steamwar.inventory.SWItem; import de.steamwar.inventory.SWListInv; @@ -74,7 +73,7 @@ public class BauGuiEditor implements Listener { inv.setItem(mapping.getSize() + 5, new SWItem(Material.BARRIER, BauSystem.MESSAGE.parse("GUI_EDITOR_ITEM_TRASH", p), Arrays.asList(BauSystem.MESSAGE.parse("GUI_EDITOR_ITEM_TRASH_LORE", p)), false, clickType -> { }).getItemStack()); - inv.setItem(mapping.getSize() + 6, new SWItem(TrickyTrialsWrapper.impl.getTurtleScute(), BauSystem.MESSAGE.parse("GUI_EDITOR_ITEM_MORE", p)).getItemStack()); + inv.setItem(mapping.getSize() + 6, new SWItem(Material.TURTLE_SCUTE, BauSystem.MESSAGE.parse("GUI_EDITOR_ITEM_MORE", p)).getItemStack()); inv.setItem(mapping.getSize() + 8, new SWItem(Material.ARROW, BauSystem.MESSAGE.parse("GUI_EDITOR_ITEM_CLOSE", p)).setCustomModelData(CMDs.BACK).getItemStack()); p.openInventory(inv); diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loadtimer/LoadtimerListener.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loadtimer/LoadtimerListener.java index bfc2736a..4eb92c8e 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loadtimer/LoadtimerListener.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loadtimer/LoadtimerListener.java @@ -20,9 +20,9 @@ package de.steamwar.bausystem.features.loadtimer; import de.steamwar.bausystem.region.Region; -import de.steamwar.core.TrickyTrialsWrapper; import de.steamwar.linkage.Linked; import org.bukkit.Material; +import org.bukkit.entity.EntityType; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.block.BlockPlaceEvent; @@ -57,7 +57,7 @@ public class LoadtimerListener implements Listener { @EventHandler public void onEntitySpawn(EntitySpawnEvent event) { - if (!getTimers().isEmpty() && event.getEntityType() == TrickyTrialsWrapper.impl.getTntEntityType()) { + if (!getTimers().isEmpty() && event.getEntityType() == EntityType.TNT) { Region r = Region.getRegion(event.getLocation()); if (hasTimer(r)) { getTimer(r).onTntSpawn(); @@ -67,7 +67,7 @@ public class LoadtimerListener implements Listener { @EventHandler public void onEntityExplode(EntityExplodeEvent event) { - if (!getTimers().isEmpty() && event.getEntityType() == TrickyTrialsWrapper.impl.getTntEntityType()) { + if (!getTimers().isEmpty() && event.getEntityType() == EntityType.TNT) { Region r = Region.getRegion(event.getLocation()); if (hasTimer(r)) { getTimer(r).onTntExplode(event); diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/FreezeListener.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/FreezeListener.java index 518adde8..deba61e7 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/FreezeListener.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/FreezeListener.java @@ -24,7 +24,6 @@ import de.steamwar.bausystem.region.Region; import de.steamwar.bausystem.region.flags.Flag; import de.steamwar.bausystem.region.flags.FreezeMode; import de.steamwar.bausystem.utils.ScoreboardElement; -import de.steamwar.core.TrickyTrialsWrapper; import de.steamwar.linkage.Linked; import org.bukkit.Bukkit; import org.bukkit.Material; @@ -32,6 +31,7 @@ import org.bukkit.block.Block; import org.bukkit.block.BlockState; import org.bukkit.block.data.type.NoteBlock; import org.bukkit.block.data.type.Switch; +import org.bukkit.entity.EntityType; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; @@ -59,7 +59,7 @@ public class FreezeListener implements Listener, ScoreboardElement { public void onEntitySpawn(EntitySpawnEvent e) { if (Region.getRegion(e.getLocation()).getRegionData().get(Flag.FREEZE).isWithDefault(FreezeMode.INACTIVE)) return; e.setCancelled(true); - if (e.getEntityType() == TrickyTrialsWrapper.impl.getTntEntityType()) { + if (e.getEntityType() == EntityType.TNT) { Bukkit.getScheduler().runTaskLater(BauSystem.getInstance(), () -> { e.getLocation().getBlock().setType(Material.TNT, false); }, 1L); diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/script/event/EventListener.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/script/event/EventListener.java index 641e25f8..6265cec4 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/script/event/EventListener.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/script/event/EventListener.java @@ -26,10 +26,10 @@ import de.steamwar.bausystem.features.script.lua.SteamWarGlobalLuaPlugin; import de.steamwar.bausystem.features.script.lua.libs.StorageLib; import de.steamwar.bausystem.region.Region; import de.steamwar.core.SWPlayer; -import de.steamwar.core.TrickyTrialsWrapper; import de.steamwar.linkage.Linked; import org.bukkit.Bukkit; import org.bukkit.Material; +import org.bukkit.entity.EntityType; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; @@ -141,7 +141,7 @@ public class EventListener implements Listener { @EventHandler(priority = EventPriority.HIGH) public void onEntitySpawn(EntitySpawnEvent event) { - if (event.getEntityType() != TrickyTrialsWrapper.impl.getTntEntityType()) { + if (event.getEntityType() != EntityType.TNT) { return; } Region tntRegion = Region.getRegion(event.getLocation()); @@ -156,7 +156,7 @@ public class EventListener implements Listener { @EventHandler(priority = EventPriority.LOWEST) public void onEntityExplode(EntityExplodeEvent event) { - if (event.getEntityType() != TrickyTrialsWrapper.impl.getTntEntityType()) { + if (event.getEntityType() != EntityType.TNT) { return; } Region tntRegion = Region.getRegion(event.getLocation()); diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/team/boundary/BoundaryViewer.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/team/boundary/BoundaryViewer.java index 2c0d81b9..fe242037 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/team/boundary/BoundaryViewer.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/team/boundary/BoundaryViewer.java @@ -22,7 +22,6 @@ package de.steamwar.bausystem.features.team.boundary; import de.steamwar.bausystem.BauSystem; import de.steamwar.bausystem.region.Point; import de.steamwar.bausystem.region.Region; -import de.steamwar.core.TrickyParticleWrapper; import de.steamwar.linkage.Linked; import org.bukkit.Bukkit; import org.bukkit.Particle; @@ -53,7 +52,7 @@ public class BoundaryViewer implements Listener { } private void showRegion(Region region, Player player) { - drawCuboid(player, TrickyParticleWrapper.impl.getVillagerHappy(), region.getArea().getMinPoint(false), region.getArea().getMaxPoint(false)); + drawCuboid(player, Particle.HAPPY_VILLAGER, region.getArea().getMinPoint(false), region.getArea().getMaxPoint(false)); if (!region.getTestblockArea().isEmpty()) { drawCuboid(player, Particle.END_ROD, region.getTestblockArea().getMinPoint(true), region.getTestblockArea().getMaxPoint(true)); } diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/techhider/TechHiderCommand.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/techhider/TechHiderCommand.java index 74888bec..f737af0a 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/techhider/TechHiderCommand.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/techhider/TechHiderCommand.java @@ -92,7 +92,7 @@ public class TechHiderCommand extends SWCommand implements Listener, ScoreboardE BauSystem.MESSAGE.sendPrefixless("TECHHIDER_ON", player, ChatMessageType.ACTION_BAR); } region.getBuildArea().forEachChunk((x, z) -> { - CraftbukkitWrapper.impl.sendChunk(player, x, z); + CraftbukkitWrapper.sendChunk(player, x, z); }); } diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/util/NoClipCommand.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/util/NoClipCommand.java index 0c1481e6..36829c3b 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/util/NoClipCommand.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/util/NoClipCommand.java @@ -147,6 +147,6 @@ public class NoClipCommand extends SWCommand implements Listener { } private static void pseudoGameMode(Player player, GameMode gameMode) { - TinyProtocol.instance.sendPacket(player, ProtocolWrapper.impl.playerInfoPacketConstructor(ProtocolWrapper.PlayerInfoAction.GAMEMODE, new GameProfile(player.getUniqueId(), player.getName()), gameMode)); + TinyProtocol.instance.sendPacket(player, ProtocolWrapper.playerInfoPacketConstructor(ProtocolWrapper.PlayerInfoAction.GAMEMODE, new GameProfile(player.getUniqueId(), player.getName()), gameMode)); } } \ No newline at end of file diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/xray/XrayCommand.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/xray/XrayCommand.java index b1d100f3..c2cb9091 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/xray/XrayCommand.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/xray/XrayCommand.java @@ -92,7 +92,7 @@ public class XrayCommand extends SWCommand implements Listener, ScoreboardElemen BauSystem.MESSAGE.sendPrefixless("XRAY_ON", player, ChatMessageType.ACTION_BAR); } region.getBuildArea().forEachChunk((x, z) -> { - CraftbukkitWrapper.impl.sendChunk(player, x, z); + CraftbukkitWrapper.sendChunk(player, x, z); }); } diff --git a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/commands/GamemodeCommand.java b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/commands/GamemodeCommand.java index 02a142d0..526ce7be 100644 --- a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/commands/GamemodeCommand.java +++ b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/commands/GamemodeCommand.java @@ -20,20 +20,22 @@ package de.steamwar.fightsystem.commands; import com.google.common.collect.ImmutableList; -import de.steamwar.core.CommandRemover; import de.steamwar.fightsystem.Config; import de.steamwar.fightsystem.FightSystem; import de.steamwar.linkage.Linked; import net.md_5.bungee.api.ChatMessageType; +import org.bukkit.Bukkit; import org.bukkit.GameMode; +import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.command.defaults.BukkitCommand; +import org.bukkit.craftbukkit.CraftServer; import org.bukkit.entity.Player; import org.bukkit.util.StringUtil; import java.util.ArrayList; import java.util.List; -import java.util.logging.Level; +import java.util.Map; @Linked public class GamemodeCommand extends BukkitCommand { @@ -47,11 +49,8 @@ public class GamemodeCommand extends BukkitCommand { aliases.add("gm"); this.setAliases(aliases); - try { - CommandRemover.removeAll("gamemode"); - } catch (Exception e) { - FightSystem.getPlugin().getLogger().log(Level.SEVERE, "Failed to replace commands", e); - } + Map knownCommands = ((CraftServer) Bukkit.getServer()).getCommandMap().getKnownCommands(); + knownCommands.remove("gamemode"); Commands.injectCommand(this); } diff --git a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/event/HellsBells.java b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/event/HellsBells.java index 9620e594..3ec8e498 100644 --- a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/event/HellsBells.java +++ b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/event/HellsBells.java @@ -19,7 +19,6 @@ package de.steamwar.fightsystem.event; -import de.steamwar.core.TrickyTrialsWrapper; import de.steamwar.fightsystem.Config; import de.steamwar.fightsystem.FightSystem; import de.steamwar.fightsystem.countdown.Countdown; @@ -31,6 +30,7 @@ import de.steamwar.fightsystem.utils.SWSound; import de.steamwar.fightsystem.winconditions.Winconditions; import de.steamwar.linkage.Linked; import org.bukkit.Bukkit; +import org.bukkit.entity.EntityType; import org.bukkit.scheduler.BukkitTask; import java.util.Arrays; @@ -98,13 +98,13 @@ public class HellsBells { currentDropping = Bukkit.getScheduler().runTaskTimer(FightSystem.getPlugin(), () -> { for (int w = 0; w < width; w++) { if (direction.isNorthOrWest()) { - Config.world.spawnEntity(redStart.addAndToLocation(Config.world, -1 * (direction.dx * length.get() + w * direction.other().dx), 0, -1 * (direction.dz * length.get() + w * direction.other().dz)), TrickyTrialsWrapper.impl.getTntEntityType()); + Config.world.spawnEntity(redStart.addAndToLocation(Config.world, -1 * (direction.dx * length.get() + w * direction.other().dx), 0, -1 * (direction.dz * length.get() + w * direction.other().dz)), EntityType.TNT); - Config.world.spawnEntity(blueStart.addAndToLocation(Config.world, direction.dx * length.get() + w * direction.other().dx, 0, direction.dz * length.get() + w * direction.other().dz), TrickyTrialsWrapper.impl.getTntEntityType()); + Config.world.spawnEntity(blueStart.addAndToLocation(Config.world, direction.dx * length.get() + w * direction.other().dx, 0, direction.dz * length.get() + w * direction.other().dz), EntityType.TNT); } else { - Config.world.spawnEntity(redStart.addAndToLocation(Config.world, direction.dx * length.get() + w * direction.other().dx, 0, direction.dz * length.get() + w * direction.other().dz), TrickyTrialsWrapper.impl.getTntEntityType()); + Config.world.spawnEntity(redStart.addAndToLocation(Config.world, direction.dx * length.get() + w * direction.other().dx, 0, direction.dz * length.get() + w * direction.other().dz), EntityType.TNT); - Config.world.spawnEntity(blueStart.addAndToLocation(Config.world, -1 * (direction.dx * length.get() + w * direction.other().dx), 0, -1 * (direction.dz * length.get() + w * direction.other().dz)), TrickyTrialsWrapper.impl.getTntEntityType()); + Config.world.spawnEntity(blueStart.addAndToLocation(Config.world, -1 * (direction.dx * length.get() + w * direction.other().dx), 0, -1 * (direction.dz * length.get() + w * direction.other().dz)), EntityType.TNT); } } if (length.addAndGet(-2) <= 0) { diff --git a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/event/Meteor.java b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/event/Meteor.java index 226caee8..14de4bb1 100644 --- a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/event/Meteor.java +++ b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/event/Meteor.java @@ -113,14 +113,12 @@ public class Meteor implements Listener { LargeFireball fireballRed = Config.world.spawn(redStart.toLocation(Config.world), LargeFireball.class); fireballRed.setDirection(vector); - fireballRed.setBounce(false); fireballRed.setIsIncendiary(false); fireballRed.setYield(current.explosionSize); LargeFireball fireballBlue = Config.world.spawn(blueStart.toLocation(Config.world), LargeFireball.class); vector.setZ(vector.getZ() * -1); fireballBlue.setDirection(vector); - fireballBlue.setBounce(false); fireballBlue.setIsIncendiary(false); fireballBlue.setYield(current.explosionSize); diff --git a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/fight/FightWorld.java b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/fight/FightWorld.java index 36a7c6fa..fc0afe9d 100644 --- a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/fight/FightWorld.java +++ b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/fight/FightWorld.java @@ -82,7 +82,7 @@ public class FightWorld extends StateDependent { Config.ArenaRegion.forEachChunk((x, z) -> { CraftbukkitWrapper.impl.resetChunk(Config.world, backup, x, z); for(Player p : Bukkit.getOnlinePlayers()) { - de.steamwar.core.CraftbukkitWrapper.impl.sendChunk(p, x, z); + de.steamwar.core.CraftbukkitWrapper.sendChunk(p, x, z); } }); Bukkit.unloadWorld(backup, false); diff --git a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/listener/Recording.java b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/listener/Recording.java index 2a7fdcae..76917e0a 100644 --- a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/listener/Recording.java +++ b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/listener/Recording.java @@ -21,7 +21,6 @@ package de.steamwar.fightsystem.listener; import com.comphenix.tinyprotocol.TinyProtocol; import de.steamwar.Reflection; -import de.steamwar.core.TrickyTrialsWrapper; import de.steamwar.fightsystem.ArenaMode; import de.steamwar.fightsystem.FightSystem; import de.steamwar.fightsystem.events.TeamDeathEvent; @@ -226,7 +225,7 @@ public class Recording implements Listener { @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true) public void onTNTSpawn(EntitySpawnEvent e){ - if(e.getEntityType() != TrickyTrialsWrapper.impl.getTntEntityType()) + if(e.getEntityType() != EntityType.TNT) return; GlobalRecorder.getInstance().tntSpawn(e.getEntity()); @@ -234,7 +233,7 @@ public class Recording implements Listener { @EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true) public void onExplosion(EntityExplodeEvent e){ - if(e.getEntityType() != TrickyTrialsWrapper.impl.getTntEntityType()) + if(e.getEntityType() != EntityType.TNT) return; Location loc = e.getLocation(); diff --git a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/listener/Spectator.java b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/listener/Spectator.java index f7dc3ef0..5abd8bba 100644 --- a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/listener/Spectator.java +++ b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/listener/Spectator.java @@ -108,6 +108,6 @@ public class Spectator implements Listener { } private static void pseudoSpectator(Player player, boolean enable) { - TinyProtocol.instance.sendPacket(player, ProtocolWrapper.impl.playerInfoPacketConstructor(ProtocolWrapper.PlayerInfoAction.GAMEMODE, new GameProfile(player.getUniqueId(), player.getName()), enable ? GameMode.CREATIVE : GameMode.SPECTATOR)); + TinyProtocol.instance.sendPacket(player, ProtocolWrapper.playerInfoPacketConstructor(ProtocolWrapper.PlayerInfoAction.GAMEMODE, new GameProfile(player.getUniqueId(), player.getName()), enable ? GameMode.CREATIVE : GameMode.SPECTATOR)); } } diff --git a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/listener/WaterRemover.java b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/listener/WaterRemover.java index 84d5cab2..886eec40 100644 --- a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/listener/WaterRemover.java +++ b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/listener/WaterRemover.java @@ -19,7 +19,6 @@ package de.steamwar.fightsystem.listener; -import de.steamwar.core.TrickyTrialsWrapper; import de.steamwar.fightsystem.ArenaMode; import de.steamwar.fightsystem.Config; import de.steamwar.fightsystem.fight.Fight; @@ -31,6 +30,7 @@ import de.steamwar.linkage.Linked; import org.bukkit.Location; import org.bukkit.block.Block; import org.bukkit.block.BlockFace; +import org.bukkit.entity.EntityType; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.entity.EntityExplodeEvent; @@ -58,7 +58,7 @@ public class WaterRemover implements Listener { @EventHandler public void handleEntitySpawn(EntitySpawnEvent event) { - if(event.getEntityType() != TrickyTrialsWrapper.impl.getTntEntityType()) + if(event.getEntityType() != EntityType.TNT) return; Location location = event.getLocation(); diff --git a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/record/PacketProcessor.java b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/record/PacketProcessor.java index dbae1968..0ddc3ebc 100644 --- a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/record/PacketProcessor.java +++ b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/record/PacketProcessor.java @@ -20,7 +20,6 @@ package de.steamwar.fightsystem.record; import com.sk89q.worldedit.extent.clipboard.Clipboard; -import de.steamwar.core.TrickyTrialsWrapper; import de.steamwar.core.WorldEditWrapper; import de.steamwar.entity.REntity; import de.steamwar.entity.REntityServer; @@ -56,6 +55,7 @@ import org.bukkit.event.EventPriority; import org.bukkit.event.HandlerList; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerJoinEvent; +import org.bukkit.inventory.EquipmentSlot; import org.bukkit.inventory.ItemStack; import org.bukkit.scheduler.BukkitTask; import org.bukkit.scoreboard.NameTagVisibility; @@ -305,7 +305,7 @@ public class PacketProcessor implements Listener { private void tntSpawn() throws IOException { int entityId = source.readInt(); - execSync(() -> addREntity(entityId, new REntity(entityServer, TrickyTrialsWrapper.impl.getTntEntityType(), Config.SpecSpawn))); + execSync(() -> addREntity(entityId, new REntity(entityServer, EntityType.TNT, Config.SpecSpawn))); } private void entityVelocity() throws IOException { @@ -332,26 +332,27 @@ public class PacketProcessor implements Listener { if(enchanted) stack.addUnsafeEnchantment(Enchantment.UNBREAKING, 1); - Object slot; + EquipmentSlot slot; switch(slotName){ case "HEAD": - slot = de.steamwar.core.ProtocolWrapper.itemSlots[5]; + slot = EquipmentSlot.HEAD; break; case "CHEST": - slot = de.steamwar.core.ProtocolWrapper.itemSlots[4]; + slot = EquipmentSlot.CHEST; break; case "LEGS": - slot = de.steamwar.core.ProtocolWrapper.itemSlots[3]; + slot = EquipmentSlot.LEGS; break; case "FEET": - slot = de.steamwar.core.ProtocolWrapper.itemSlots[2]; + slot = EquipmentSlot.FEET; break; case "OFFHAND": - slot = de.steamwar.core.ProtocolWrapper.itemSlots[1]; + slot = EquipmentSlot.OFF_HAND; break; case "MAINHAND": default: - slot = de.steamwar.core.ProtocolWrapper.itemSlots[0]; + slot = EquipmentSlot.HAND; + break; } execSync(() -> entities.get(entityId).setItem(slot, stack)); diff --git a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/utils/BlockIdWrapper.java b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/utils/BlockIdWrapper.java index a91de770..8bb7fe08 100644 --- a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/utils/BlockIdWrapper.java +++ b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/utils/BlockIdWrapper.java @@ -59,7 +59,7 @@ public class BlockIdWrapper { public void trackEntity(Player player, Entity entity) { if(entity instanceof Player) - TinyProtocol.instance.sendPacket(player, ProtocolWrapper.impl.playerInfoPacketConstructor(ProtocolWrapper.PlayerInfoAction.REMOVE, new GameProfile(entity.getUniqueId(), entity.getName()), GameMode.CREATIVE)); + TinyProtocol.instance.sendPacket(player, ProtocolWrapper.playerInfoPacketConstructor(ProtocolWrapper.PlayerInfoAction.REMOVE, new GameProfile(entity.getUniqueId(), entity.getName()), GameMode.CREATIVE)); player.showEntity(FightSystem.getPlugin(), entity); } @@ -68,6 +68,6 @@ public class BlockIdWrapper { player.hideEntity(FightSystem.getPlugin(), entity); if(entity instanceof Player) - TinyProtocol.instance.sendPacket(player, ProtocolWrapper.impl.playerInfoPacketConstructor(ProtocolWrapper.PlayerInfoAction.ADD, new GameProfile(entity.getUniqueId(), entity.getName()), GameMode.CREATIVE)); + TinyProtocol.instance.sendPacket(player, ProtocolWrapper.playerInfoPacketConstructor(ProtocolWrapper.PlayerInfoAction.ADD, new GameProfile(entity.getUniqueId(), entity.getName()), GameMode.CREATIVE)); } } diff --git a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/utils/TechHiderWrapper.java b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/utils/TechHiderWrapper.java index d72e6949..ceec1c5e 100644 --- a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/utils/TechHiderWrapper.java +++ b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/utils/TechHiderWrapper.java @@ -112,8 +112,9 @@ public class TechHiderWrapper extends StateDependent implements TechHider.Locati return; region.forEachChunk((chunkX, chunkZ) -> { - if(exclusion.chunkOutside(chunkX, chunkZ)) - CraftbukkitWrapper.impl.sendChunk(player, chunkX, chunkZ); + if (exclusion.chunkOutside(chunkX, chunkZ)) { + CraftbukkitWrapper.sendChunk(player, chunkX, chunkZ); + } }); } diff --git a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/utils/WorldeditWrapper.java b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/utils/WorldeditWrapper.java index 20d9b96f..835d75d3 100644 --- a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/utils/WorldeditWrapper.java +++ b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/utils/WorldeditWrapper.java @@ -77,9 +77,9 @@ public class WorldeditWrapper { Map replaceMap = new HashMap<>(); colorBlocks.forEach((base, postfix) -> replaceMap.put(base, Objects.requireNonNull(BlockTypes.get(c.name().toLowerCase() + postfix)).getDefaultState().toBaseBlock())); - for(int x = 0; x < clipboard.getDimensions().getX(); x++){ - for(int y = 0; y < clipboard.getDimensions().getY(); y++){ - for(int z = 0; z < clipboard.getDimensions().getZ(); z++){ + for(int x = 0; x < clipboard.getDimensions().x(); x++){ + for(int y = 0; y < clipboard.getDimensions().y(); y++){ + for(int z = 0; z < clipboard.getDimensions().z(); z++){ BlockVector3 pos = minimum.add(x, y, z); BaseBlock replacement = replaceMap.get(clipboard.getFullBlock(pos)); if(replacement != null) @@ -111,7 +111,7 @@ public class WorldeditWrapper { public Vector getDimensions(Clipboard clipboard) { BlockVector3 dims = clipboard.getDimensions(); - return new Vector(dims.getX(), dims.getY(), dims.getZ()); + return new Vector(dims.x(), dims.y(), dims.z()); } public Clipboard loadChar(String charName) throws IOException { diff --git a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/winconditions/WinconditionTimeTechKO.java b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/winconditions/WinconditionTimeTechKO.java index 9e9a92a9..043161d5 100644 --- a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/winconditions/WinconditionTimeTechKO.java +++ b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/winconditions/WinconditionTimeTechKO.java @@ -19,7 +19,6 @@ package de.steamwar.fightsystem.winconditions; -import de.steamwar.core.TrickyTrialsWrapper; import de.steamwar.fightsystem.Config; import de.steamwar.fightsystem.countdown.Countdown; import de.steamwar.fightsystem.fight.Fight; @@ -32,6 +31,7 @@ import de.steamwar.fightsystem.utils.Message; import de.steamwar.fightsystem.utils.SWSound; import de.steamwar.linkage.Linked; import org.bukkit.Location; +import org.bukkit.entity.EntityType; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.entity.EntityExplodeEvent; @@ -72,7 +72,7 @@ public class WinconditionTimeTechKO extends Wincondition implements Listener { @EventHandler public void onSpawn(EntitySpawnEvent e) { - if(e.getEntityType() != TrickyTrialsWrapper.impl.getTntEntityType()) + if(e.getEntityType() != EntityType.TNT) return; Location location = e.getLocation(); @@ -86,7 +86,7 @@ public class WinconditionTimeTechKO extends Wincondition implements Listener { @EventHandler public void onExplode(EntityExplodeEvent e) { - if(e.getEntityType() != TrickyTrialsWrapper.impl.getTntEntityType()) + if(e.getEntityType() != EntityType.TNT) return; FightTeam spawn = spawnLocations.remove(e.getEntity().getEntityId()); diff --git a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/winconditions/WinconditionTimedDamageTechKO.java b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/winconditions/WinconditionTimedDamageTechKO.java index f118a0eb..c0c0407b 100644 --- a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/winconditions/WinconditionTimedDamageTechKO.java +++ b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/winconditions/WinconditionTimedDamageTechKO.java @@ -19,7 +19,6 @@ package de.steamwar.fightsystem.winconditions; -import de.steamwar.core.TrickyTrialsWrapper; import de.steamwar.fightsystem.Config; import de.steamwar.fightsystem.countdown.Countdown; import de.steamwar.fightsystem.fight.Fight; @@ -31,6 +30,7 @@ import de.steamwar.fightsystem.utils.Message; import de.steamwar.fightsystem.utils.SWSound; import de.steamwar.linkage.Linked; import org.bukkit.Location; +import org.bukkit.entity.EntityType; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.entity.EntityExplodeEvent; @@ -72,7 +72,7 @@ public class WinconditionTimedDamageTechKO extends Wincondition implements Print @EventHandler public void onExplode(EntityExplodeEvent e) { - if (e.getEntityType() != TrickyTrialsWrapper.impl.getTntEntityType()) + if (e.getEntityType() != EntityType.TNT) return; Location location = e.getLocation(); diff --git a/MissileWars/src/de/steamwar/misslewars/FightWorld.java b/MissileWars/src/de/steamwar/misslewars/FightWorld.java index 501c18a2..6f2f93b7 100644 --- a/MissileWars/src/de/steamwar/misslewars/FightWorld.java +++ b/MissileWars/src/de/steamwar/misslewars/FightWorld.java @@ -84,7 +84,8 @@ public class FightWorld { worldChunk.heightmaps.clear(); worldChunk.heightmaps.putAll(backupChunk.heightmaps); - for(Player p : Bukkit.getOnlinePlayers()) - CraftbukkitWrapper.impl.sendChunk(p, x, z); + for(Player p : Bukkit.getOnlinePlayers()) { + CraftbukkitWrapper.sendChunk(p, x, z); + } } } diff --git a/SpigotCore/SpigotCore_Main/src/de/steamwar/core/ChatWrapper.java b/SpigotCore/SpigotCore_Main/src/de/steamwar/core/ChatWrapper.java deleted file mode 100644 index b2baf6bf..00000000 --- a/SpigotCore/SpigotCore_Main/src/de/steamwar/core/ChatWrapper.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * This file is a part of the SteamWar software. - * - * Copyright (C) 2025 SteamWar.de-Serverteam - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero 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 Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -package de.steamwar.core; - -import lombok.experimental.UtilityClass; -import net.minecraft.network.chat.MutableComponent; -import net.minecraft.network.chat.contents.PlainTextContents; -import net.minecraft.network.protocol.game.ClientboundSetEntityDataPacket; -import net.minecraft.network.syncher.SynchedEntityData; - -import java.util.ArrayList; - -@UtilityClass -public class ChatWrapper { - public Object stringToChatComponent(String text) { - return MutableComponent.create(PlainTextContents.create(text)); - } - - public Object getDataWatcherPacket(int entityId, Object... dataWatcherKeyValues) { - ArrayList> nativeWatchers = new ArrayList<>(1); - for(int i = 0; i < dataWatcherKeyValues.length; i+=2) { - nativeWatchers.add(((SynchedEntityData.DataItem) BountifulWrapper.impl.getDataWatcherItem(dataWatcherKeyValues[i], dataWatcherKeyValues[i+1])).value()); - } - - return new ClientboundSetEntityDataPacket(entityId, nativeWatchers); - } -} diff --git a/SpigotCore/SpigotCore_Main/src/de/steamwar/core/CommandRemover.java b/SpigotCore/SpigotCore_Main/src/de/steamwar/core/CommandRemover.java deleted file mode 100644 index b2da8b75..00000000 --- a/SpigotCore/SpigotCore_Main/src/de/steamwar/core/CommandRemover.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * This file is a part of the SteamWar software. - * - * Copyright (C) 2025 SteamWar.de-Serverteam - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero 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 Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -package de.steamwar.core; - -import lombok.experimental.UtilityClass; -import org.bukkit.Bukkit; -import org.bukkit.command.Command; -import org.bukkit.craftbukkit.CraftServer; - -import java.util.Map; - -@UtilityClass -public class CommandRemover { - private static final Map knownCommands = ((CraftServer) Bukkit.getServer()).getCommandMap().getKnownCommands(); - - public static void removeAll(String... cmds) { - for (String cmd : cmds) { - knownCommands.remove(cmd.toLowerCase()); - } - } -} diff --git a/SpigotCore/SpigotCore_Main/src/de/steamwar/core/CraftbukkitWrapper.java b/SpigotCore/SpigotCore_Main/src/de/steamwar/core/CraftbukkitWrapper.java index 17efee53..ea1fc09f 100644 --- a/SpigotCore/SpigotCore_Main/src/de/steamwar/core/CraftbukkitWrapper.java +++ b/SpigotCore/SpigotCore_Main/src/de/steamwar/core/CraftbukkitWrapper.java @@ -20,15 +20,15 @@ package de.steamwar.core; import com.comphenix.tinyprotocol.TinyProtocol; +import lombok.experimental.UtilityClass; import net.minecraft.network.protocol.game.ClientboundLevelChunkWithLightPacket; import net.minecraft.world.level.chunk.LevelChunk; import net.minecraft.world.level.chunk.status.ChunkStatus; import org.bukkit.craftbukkit.CraftChunk; import org.bukkit.entity.Player; +@UtilityClass public class CraftbukkitWrapper { - public static final CraftbukkitWrapper impl = new CraftbukkitWrapper(); - public void sendChunk(Player p, int chunkX, int chunkZ) { LevelChunk chunk = (LevelChunk) ((CraftChunk) p.getWorld().getChunkAt(chunkX, chunkZ)).getHandle(ChunkStatus.FULL); TinyProtocol.instance.sendPacket(p, new ClientboundLevelChunkWithLightPacket(chunk, chunk.level.getLightEngine(), null, null, true)); diff --git a/SpigotCore/SpigotCore_Main/src/de/steamwar/core/FlatteningWrapper.java b/SpigotCore/SpigotCore_Main/src/de/steamwar/core/FlatteningWrapper.java index 3792dc02..6d6d4d1b 100644 --- a/SpigotCore/SpigotCore_Main/src/de/steamwar/core/FlatteningWrapper.java +++ b/SpigotCore/SpigotCore_Main/src/de/steamwar/core/FlatteningWrapper.java @@ -20,6 +20,8 @@ package de.steamwar.core; import lombok.experimental.UtilityClass; +import net.minecraft.network.chat.MutableComponent; +import net.minecraft.network.chat.contents.PlainTextContents; import java.util.Optional; @@ -27,6 +29,6 @@ import java.util.Optional; public class FlatteningWrapper { public Object formatDisplayName(String displayName) { - return displayName != null ? Optional.of(ChatWrapper.stringToChatComponent(displayName)) : Optional.empty(); + return displayName != null ? Optional.of((Object) MutableComponent.create(PlainTextContents.create(displayName))) : Optional.empty(); } } diff --git a/SpigotCore/SpigotCore_Main/src/de/steamwar/core/ProtocolWrapper.java b/SpigotCore/SpigotCore_Main/src/de/steamwar/core/ProtocolWrapper.java index 41629609..7f6c0721 100644 --- a/SpigotCore/SpigotCore_Main/src/de/steamwar/core/ProtocolWrapper.java +++ b/SpigotCore/SpigotCore_Main/src/de/steamwar/core/ProtocolWrapper.java @@ -20,30 +20,22 @@ package de.steamwar.core; import com.mojang.authlib.GameProfile; -import net.minecraft.network.protocol.game.ClientboundAddEntityPacket; +import lombok.experimental.UtilityClass; import net.minecraft.network.protocol.game.ClientboundPlayerInfoRemovePacket; import net.minecraft.network.protocol.game.ClientboundPlayerInfoUpdatePacket; -import net.minecraft.world.entity.EquipmentSlot; -import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.GameType; import org.bukkit.GameMode; import java.util.Collections; import java.util.EnumSet; +@UtilityClass public class ProtocolWrapper { - public static final Class itemStack = ItemStack.class; - public static final Class spawnPacket = ClientboundAddEntityPacket.class; - - // 0: hand, 1: offhand, 2: feet, 3: legs, 4: chest, 5: head - public static final EquipmentSlot[] itemSlots = EquipmentSlot.values(); - - public static final ProtocolWrapper impl = new ProtocolWrapper(); - public Object playerInfoPacketConstructor(PlayerInfoAction action, GameProfile profile, GameMode mode) { - if(action == PlayerInfoAction.REMOVE) + if(action == PlayerInfoAction.REMOVE) { return new ClientboundPlayerInfoRemovePacket(Collections.singletonList(profile.getId())); + } return new ClientboundPlayerInfoUpdatePacket(action == PlayerInfoAction.ADD ? EnumSet.of(ClientboundPlayerInfoUpdatePacket.Action.ADD_PLAYER, ClientboundPlayerInfoUpdatePacket.Action.UPDATE_GAME_MODE) : EnumSet.of(ClientboundPlayerInfoUpdatePacket.Action.UPDATE_GAME_MODE), diff --git a/SpigotCore/SpigotCore_Main/src/de/steamwar/core/TPSWatcher.java b/SpigotCore/SpigotCore_Main/src/de/steamwar/core/TPSWatcher.java index 63aed6a1..a271b00b 100644 --- a/SpigotCore/SpigotCore_Main/src/de/steamwar/core/TPSWatcher.java +++ b/SpigotCore/SpigotCore_Main/src/de/steamwar/core/TPSWatcher.java @@ -68,21 +68,17 @@ public class TPSWatcher { case TEN_SECONDS: return round(tps_TenSecond.tps); case ONE_MINUTE: - return round(getSpigotTPS()[0]); + return round(MinecraftServer.getServer().tps1.getAverage()); case FIVE_MINUTES: - return round(getSpigotTPS()[1]); + return round(MinecraftServer.getServer().tps5.getAverage()); case TEN_MINUTES: - return round(getSpigotTPS()[2]); + return round(MinecraftServer.getServer().tps15.getAverage()); case ONE_SECOND: default: return round(tps_OneSecond.tps); } } - private static double[] getSpigotTPS() { - return MinecraftServer.getServer().recentTps; - } - private static double round(double d) { return Math.round(d * 10) / 10.0; } diff --git a/SpigotCore/SpigotCore_Main/src/de/steamwar/core/TrickyParticleWrapper.java b/SpigotCore/SpigotCore_Main/src/de/steamwar/core/TrickyParticleWrapper.java deleted file mode 100644 index 6ada7e0f..00000000 --- a/SpigotCore/SpigotCore_Main/src/de/steamwar/core/TrickyParticleWrapper.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * This file is a part of the SteamWar software. - * - * Copyright (C) 2025 SteamWar.de-Serverteam - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero 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 Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -package de.steamwar.core; - -import org.bukkit.Particle; - -public class TrickyParticleWrapper { - public static final TrickyParticleWrapper impl = new TrickyParticleWrapper(); - - public Particle getVillagerHappy() { - return Particle.HAPPY_VILLAGER; - } -} diff --git a/SpigotCore/SpigotCore_Main/src/de/steamwar/core/TrickyTrialsWrapper.java b/SpigotCore/SpigotCore_Main/src/de/steamwar/core/TrickyTrialsWrapper.java deleted file mode 100644 index f529fe9e..00000000 --- a/SpigotCore/SpigotCore_Main/src/de/steamwar/core/TrickyTrialsWrapper.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * This file is a part of the SteamWar software. - * - * Copyright (C) 2025 SteamWar.de-Serverteam - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero 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 Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -package de.steamwar.core; - -import com.mojang.authlib.properties.Property; -import org.bukkit.Material; -import org.bukkit.enchantments.Enchantment; -import org.bukkit.entity.EntityType; - -public class TrickyTrialsWrapper { - public static final TrickyTrialsWrapper impl = new TrickyTrialsWrapper(); - - public EntityType getTntEntityType() { - return EntityType.TNT; - } - - public Enchantment getUnbreakingEnchantment() { - return Enchantment.UNBREAKING; - } - - public Material getTurtleScute() { - return Material.TURTLE_SCUTE; - } - - public String getValue(Property property) { - return property.value(); - } -} diff --git a/SpigotCore/SpigotCore_Main/src/de/steamwar/core/WorldEditRendererFallback.java b/SpigotCore/SpigotCore_Main/src/de/steamwar/core/WorldEditRendererFallback.java index 4f2579c6..736c2f8a 100644 --- a/SpigotCore/SpigotCore_Main/src/de/steamwar/core/WorldEditRendererFallback.java +++ b/SpigotCore/SpigotCore_Main/src/de/steamwar/core/WorldEditRendererFallback.java @@ -56,7 +56,7 @@ public class WorldEditRendererFallback { private void drawLine(Player player, boolean clipboard, Vector min, Vector max) { Particle particle; if (clipboard) { - particle = TrickyParticleWrapper.impl.getVillagerHappy(); + particle = Particle.HAPPY_VILLAGER; } else { particle = Particle.DRAGON_BREATH; } diff --git a/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/REntity.java b/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/REntity.java index ddabb2cf..747898ff 100644 --- a/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/REntity.java +++ b/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/REntity.java @@ -22,9 +22,7 @@ package de.steamwar.entity; import com.mojang.datafixers.util.Pair; import de.steamwar.Reflection; import de.steamwar.core.BountifulWrapper; -import de.steamwar.core.ChatWrapper; import de.steamwar.core.FlatteningWrapper; -import de.steamwar.core.ProtocolWrapper; import it.unimi.dsi.fastutil.ints.IntArrayList; import lombok.Getter; import net.minecraft.core.registries.BuiltInRegistries; @@ -32,6 +30,7 @@ import net.minecraft.network.chat.Component; import net.minecraft.network.protocol.game.*; import net.minecraft.network.syncher.EntityDataAccessor; import net.minecraft.network.syncher.EntityDataSerializers; +import net.minecraft.network.syncher.SynchedEntityData; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.Pose; @@ -249,9 +248,9 @@ public class REntity { server.updateEntity(this,getDataWatcherPacket(entityStatusWatcher,getEntityStatus())); } - private static final Function spawnPacketGenerator = entitySpawnPacketGenerator(ProtocolWrapper.spawnPacket, 2); + private static final Function spawnPacketGenerator = entitySpawnPacketGenerator(ClientboundAddEntityPacket.class, 2); - private static final Reflection.Field additionalData = Reflection.getField(ProtocolWrapper.spawnPacket, int.class, 4); + private static final Reflection.Field additionalData = Reflection.getField(ClientboundAddEntityPacket.class, int.class, 4); private Object spawnPacketGenerator() { Object packet = spawnPacketGenerator.apply(this); @@ -332,7 +331,12 @@ public class REntity { } protected Object getDataWatcherPacket(Object... dataWatcherKeyValues) { - return ChatWrapper.getDataWatcherPacket(entityId, dataWatcherKeyValues); + ArrayList> nativeWatchers = new ArrayList<>(1); + for(int i = 0; i < dataWatcherKeyValues.length; i+=2) { + nativeWatchers.add(((SynchedEntityData.DataItem) BountifulWrapper.impl.getDataWatcherItem(dataWatcherKeyValues[i], dataWatcherKeyValues[i+1])).value()); + } + + return new ClientboundSetEntityDataPacket(entityId, nativeWatchers); } private Object getTeleportPacket(){ @@ -371,7 +375,7 @@ public class REntity { return new ClientboundSetEquipmentPacket(entityId, Collections.singletonList(Pair.of((EquipmentSlot) slot, CraftItemStack.asNMSCopy(stack)))); } - private static final Reflection.Field spawnType = Reflection.getField(ProtocolWrapper.spawnPacket, net.minecraft.world.entity.EntityType.class, 0); + private static final Reflection.Field spawnType = Reflection.getField(ClientboundAddEntityPacket.class, net.minecraft.world.entity.EntityType.class, 0); private static Function entitySpawnPacketGenerator(Class spawnPacket, int posOffset) { BountifulWrapper.UUIDSetter uuid = BountifulWrapper.impl.getUUIDSetter(spawnPacket); Function packetGenerator = spawnPacketGenerator(spawnPacket, posOffset); diff --git a/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/RPlayer.java b/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/RPlayer.java index 873c2f85..c827525c 100644 --- a/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/RPlayer.java +++ b/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/RPlayer.java @@ -23,7 +23,6 @@ import com.mojang.authlib.GameProfile; import com.mojang.authlib.properties.Property; import de.steamwar.core.BountifulWrapper; import de.steamwar.core.ProtocolWrapper; -import de.steamwar.core.TrickyTrialsWrapper; import de.steamwar.network.CoreNetworkHandler; import de.steamwar.network.NetworkSender; import de.steamwar.network.packets.common.PlayerSkinRequestPacket; @@ -61,7 +60,7 @@ public class RPlayer extends REntity { NetworkSender.sendOrQueue(new PlayerSkinRequestPacket(actualUUID)); return new Property("textures", null, null); }); - if (TrickyTrialsWrapper.impl.getValue(skinData) != null) { + if (skinData.value() != null) { GameProfile gameProfile = new GameProfile(uuid, name); gameProfile.getProperties().put("textures", skinData); return gameProfile; @@ -75,7 +74,7 @@ public class RPlayer extends REntity { @Override void list(Consumer packetSink) { saved = getGameProfile(); - packetSink.accept(ProtocolWrapper.impl.playerInfoPacketConstructor(ProtocolWrapper.PlayerInfoAction.ADD, saved, GameMode.CREATIVE)); + packetSink.accept(ProtocolWrapper.playerInfoPacketConstructor(ProtocolWrapper.PlayerInfoAction.ADD, saved, GameMode.CREATIVE)); } @Override @@ -93,7 +92,7 @@ public class RPlayer extends REntity { @Override void delist(Consumer packetSink) { if (saved == null) saved = getGameProfile(); - packetSink.accept(ProtocolWrapper.impl.playerInfoPacketConstructor(ProtocolWrapper.PlayerInfoAction.REMOVE, saved, GameMode.CREATIVE)); + packetSink.accept(ProtocolWrapper.playerInfoPacketConstructor(ProtocolWrapper.PlayerInfoAction.REMOVE, saved, GameMode.CREATIVE)); } private Object getNamedSpawnPacket() { diff --git a/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/RTextDisplay.java b/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/RTextDisplay.java index 3f50f309..16cf5951 100644 --- a/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/RTextDisplay.java +++ b/SpigotCore/SpigotCore_Main/src/de/steamwar/entity/RTextDisplay.java @@ -19,9 +19,10 @@ package de.steamwar.entity; -import de.steamwar.core.ChatWrapper; import lombok.Getter; import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.MutableComponent; +import net.minecraft.network.chat.contents.PlainTextContents; import net.minecraft.network.syncher.EntityDataAccessor; import net.minecraft.network.syncher.EntityDataSerializers; import org.bukkit.Location; @@ -77,7 +78,7 @@ public class RTextDisplay extends RDisplay { private static final EntityDataAccessor textWatcher = new EntityDataAccessor<>(23, EntityDataSerializers.COMPONENT); private void getText(boolean ignoreDefault, BiConsumer packetSink) { if (ignoreDefault || !text.isEmpty()) { - packetSink.accept(textWatcher, ChatWrapper.stringToChatComponent(text)); + packetSink.accept(textWatcher, MutableComponent.create(PlainTextContents.create(text))); } } diff --git a/SpigotCore/SpigotCore_Main/src/de/steamwar/inventory/SWItem.java b/SpigotCore/SpigotCore_Main/src/de/steamwar/inventory/SWItem.java index 7728cec1..05741791 100644 --- a/SpigotCore/SpigotCore_Main/src/de/steamwar/inventory/SWItem.java +++ b/SpigotCore/SpigotCore_Main/src/de/steamwar/inventory/SWItem.java @@ -22,10 +22,10 @@ package de.steamwar.inventory; import com.destroystokyo.paper.profile.PlayerProfile; import com.google.gson.JsonArray; import com.google.gson.JsonObject; -import de.steamwar.core.TrickyTrialsWrapper; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.OfflinePlayer; +import org.bukkit.enchantments.Enchantment; import org.bukkit.inventory.ItemFlag; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; @@ -114,7 +114,7 @@ public class SWItem { itemMeta.setDisplayName(name); if (lore != null && !lore.isEmpty()) itemMeta.setLore(lore); - if (enchanted) itemMeta.addEnchant(TrickyTrialsWrapper.impl.getUnbreakingEnchantment(), 10, true); + if (enchanted) itemMeta.addEnchant(Enchantment.UNBREAKING, 10, true); itemStack.setItemMeta(itemMeta); } callback = c; @@ -205,9 +205,9 @@ public class SWItem { public SWItem setEnchanted(boolean enchanted) { if (enchanted){ - itemMeta.addEnchant(TrickyTrialsWrapper.impl.getUnbreakingEnchantment() , 10, true); + itemMeta.addEnchant(Enchantment.UNBREAKING, 10, true); } else { - itemMeta.removeEnchant(TrickyTrialsWrapper.impl.getUnbreakingEnchantment()); + itemMeta.removeEnchant(Enchantment.UNBREAKING); } itemStack.setItemMeta(itemMeta); return this; diff --git a/Teamserver/src/de/steamwar/teamserver/listener/FreezeListener.java b/Teamserver/src/de/steamwar/teamserver/listener/FreezeListener.java index 5f9a379c..12c279c7 100644 --- a/Teamserver/src/de/steamwar/teamserver/listener/FreezeListener.java +++ b/Teamserver/src/de/steamwar/teamserver/listener/FreezeListener.java @@ -19,7 +19,6 @@ package de.steamwar.teamserver.listener; -import de.steamwar.core.TrickyTrialsWrapper; import de.steamwar.linkage.Linked; import de.steamwar.teamserver.Builder; import net.md_5.bungee.api.ChatMessageType; @@ -27,6 +26,7 @@ import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.block.Block; import org.bukkit.block.data.type.Switch; +import org.bukkit.entity.EntityType; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; @@ -54,7 +54,7 @@ public class FreezeListener implements Listener { public void onEntitySpawn(EntitySpawnEvent e) { if (!freeze) return; e.setCancelled(true); - if (e.getEntityType() == TrickyTrialsWrapper.impl.getTntEntityType()) { + if (e.getEntityType() == EntityType.TNT) { Bukkit.getScheduler().runTaskLater(Builder.getInstance(), () -> { e.getLocation().getBlock().setType(Material.TNT, false); }, 1L); diff --git a/TowerRun/src/de/steamwar/towerrun/game/TowerRunGame.java b/TowerRun/src/de/steamwar/towerrun/game/TowerRunGame.java index db2e09f9..0e548330 100644 --- a/TowerRun/src/de/steamwar/towerrun/game/TowerRunGame.java +++ b/TowerRun/src/de/steamwar/towerrun/game/TowerRunGame.java @@ -192,7 +192,8 @@ public class TowerRunGame { System.arraycopy(backupChunk.getSections(), 0, chunk.getSections(), 0, chunk.getSections().length); - for (Player p : Bukkit.getOnlinePlayers()) - CraftbukkitWrapper.impl.sendChunk(p, x, z); + for (Player p : Bukkit.getOnlinePlayers()) { + CraftbukkitWrapper.sendChunk(p, x, z); + } } } From d110df924e6b279ed781089b0b4f4abc28e0aaf4 Mon Sep 17 00:00:00 2001 From: YoyoNow Date: Sat, 16 May 2026 23:08:09 +0200 Subject: [PATCH 06/19] Format code --- .gitea/ISSUE_TEMPLATE/feature-request.yaml | 2 +- .../BauSystem_Main/src/BauSystem.properties | 1920 ++++++++--------- .../src/BauSystem_de.properties | 1794 +++++++-------- .../AttributesPlaceListener.java | 2 +- .../features/autostart/AutostartListener.java | 4 +- .../features/backup/BackupCommand.java | 3 +- .../features/countingwand/Countingwand.java | 16 +- .../countingwand/CountingwandCommand.java | 14 +- .../countingwand/CountingwandGuiItem.java | 34 +- .../countingwand/CountingwandListener.java | 54 +- .../features/hotbar/HotbarListener.java | 2 +- .../InventoryFillBauGuiItem.java | 3 +- .../inventoryfiller/InventoryFiller.java | 4 +- .../killchecker/KillcheckerVisualizer.java | 14 +- .../bausystem/features/loader/Loader.java | 7 +- .../loader/LoaderScoreboardElement.java | 2 +- .../loader/elements/LoaderElement.java | 2 + .../elements/LoaderInteractionElement.java | 19 +- .../loader/elements/LoaderSettingsEnum.java | 3 + .../loader/elements/impl/LoaderWait.java | 6 +- .../features/loadtimer/Loadtimer.java | 3 +- .../features/loadtimer/LoadtimerCommand.java | 6 +- .../features/loadtimer/LoadtimerGuiItem.java | 3 +- .../observer/ObserverTracerListener.java | 2 +- .../rayvisualizer/RayVisualizerCommand.java | 6 +- .../features/region/FireListener.java | 8 +- .../features/region/FreezeCommand.java | 4 +- .../features/region/FreezeListener.java | 12 +- .../features/region/ItemsCommand.java | 4 +- .../features/region/RegionCommand.java | 4 +- .../features/region/RegionListener.java | 4 +- .../features/region/TestblockCommand.java | 2 +- .../features/region/WaterDestroyCommand.java | 4 +- .../features/region/WaterDestroyListener.java | 4 +- .../bausystem/features/script/ScriptGUI.java | 19 +- .../features/script/ScriptHelper.java | 2 +- .../features/script/ScriptListener.java | 4 +- .../features/script/ScriptRunner.java | 2 +- .../script/event/CommandListener.java | 2 +- .../features/script/lua/libs/LuaLib.java | 22 +- .../features/script/lua/libs/RandomLib.java | 12 +- .../features/script/lua/libs/RegionLib.java | 2 +- .../features/script/lua/libs/StorageLib.java | 48 +- .../script/lua/libs/WorldEditLib.java | 2 +- .../BlockDataConfiguration.java | 2 + .../features/simulator/SimulatorCursor.java | 3 +- .../simulator/data/SimulatorElement.java | 8 +- .../simulator/data/SimulatorPhase.java | 8 +- .../features/simulator/data/tnt/TNTPhase.java | 4 +- .../simulator/execute/SimulatorExecutor.java | 2 +- .../simulator/execute/StabGenerator.java | 3 +- .../gui/SimulatorGroupSettingsGui.java | 8 +- .../simulator/gui/SimulatorObserverGui.java | 2 +- .../gui/SimulatorObserverSettingsGui.java | 2 +- .../simulator/gui/SimulatorRedstoneGui.java | 2 +- .../gui/SimulatorTNTSettingsGui.java | 4 +- .../slaves/laufbau/LaufbauSettings.java | 10 +- .../boundingboxes/CandleBoundingBox.java | 2 +- .../laufbau/states/ProcessingTracesState.java | 3 +- .../features/slaves/panzern/Panzern.java | 1 + .../slaves/panzern/PanzernCommand.java | 2 +- .../smartplace/SmartPlaceListener.java | 4 +- .../testblock/blockcounter/BlockCounter.java | 2 +- .../bausystem/features/tracer/Trace.java | 6 +- .../features/tracer/TraceManager.java | 9 +- .../tracer/rendering/TraceEntity.java | 4 +- .../features/tracer/rendering/ViewFlag.java | 5 +- .../bausystem/features/util/BindCommand.java | 4 +- .../features/util/GamemodeCommand.java | 40 +- .../features/util/MaterialCommand.java | 3 +- .../features/util/MaterialLazyInit.java | 2 +- .../features/util/PistonCalculator.java | 3 +- .../features/util/TNTClickListener.java | 4 +- .../util/items/GamemodeBauGuiItem.java | 3 +- .../util/items/KillAllBauGuiItem.java | 3 +- .../util/items/NavWandBauGuiItem.java | 9 +- .../features/util/items/SkullBauGuiItem.java | 2 +- .../features/world/AFKStopperListener.java | 17 +- .../features/world/BauMemberUpdate.java | 6 +- .../features/world/ItemFrameListener.java | 2 +- .../features/world/KickallCommand.java | 2 +- .../bausystem/features/world/SignEdit.java | 3 +- .../features/world/SignListener.java | 3 +- .../world/WorldEditSelectionSaver.java | 2 +- .../worldedit/ColorReplaceCommand.java | 1 + .../de/steamwar/bausystem/region/Point.java | 68 +- .../bausystem/region/flags/ChangedMode.java | 48 +- .../bausystem/region/flags/FireMode.java | 52 +- .../bausystem/region/flags/FreezeMode.java | 52 +- .../bausystem/region/flags/TNTMode.java | 48 +- .../bausystem/region/flags/TestblockMode.java | 50 +- .../de/steamwar/bausystem/shared/Pair.java | 40 +- .../bausystem/utils/FlatteningWrapper.java | 6 +- .../bausystem/utils/RayTraceUtils.java | 6 +- .../bausystem/utils/ScoreboardElement.java | 1 + .../utils/bossbar/BauSystemBossbar.java | 7 + .../bausystem/worlddata/SimulatorData.java | 4 +- BauSystem/SCRIPT.md | 140 +- BauSystem/hotkeys.lua | 2 +- BauSystem/sw.def.lua | 294 ++- CLI/src/Main.kt | 17 +- CLI/src/commands/SteamWar.kt | 2 +- CLI/src/commands/database/DatabaseCommand.kt | 5 +- CLI/src/commands/database/InfoCommand.kt | 23 +- CLI/src/commands/database/ResetCommand.kt | 35 +- CLI/src/commands/dev/DevCommand.kt | 38 +- CLI/src/commands/profiler/ProfilerCommand.kt | 5 +- CLI/src/commands/user/UserCommand.kt | 9 +- CLI/src/commands/user/UserInfoCommand.kt | 77 +- CLI/src/commands/user/UserSearchCommand.kt | 40 +- CLI/src/db/Database.kt | 11 +- CLI/src/logback.xml | 2 +- .../steamwar/command/AbstractSWCommand.java | 3 +- .../steamwar/command/AbstractValidator.java | 4 +- .../de/steamwar/command/CommandMetaData.java | 3 + .../src/de/steamwar/command/CommandPart.java | 6 +- .../src/de/steamwar/command/SubCommand.java | 3 +- .../command/NullMapperCommandTest.java | 4 +- .../command/NumberValidatorCommandTest.java | 2 +- .../steamwar/command/SimpleCommandTest.java | 2 +- .../steamwar/command/StaticValueCommand.java | 2 +- .../command/StaticValueCommandTest.java | 28 +- .../src/de/steamwar/linkage/PluginCheck.java | 1 + .../network/packets/PacketHandler.java | 5 +- .../testsrc/de/steamwar/RandomGenerator.java | 2 +- .../de/steamwar/ImplementationProvider.java | 6 +- .../SQL/src/de/steamwar/sql/AuditLog.kt | 61 +- .../SQL/src/de/steamwar/sql/BannedUserIPs.kt | 55 +- .../SQL/src/de/steamwar/sql/BauweltMember.kt | 81 +- .../src/de/steamwar/sql/CheckedSchematic.kt | 52 +- CommonCore/SQL/src/de/steamwar/sql/Event.kt | 75 +- .../SQL/src/de/steamwar/sql/EventFight.kt | 115 +- .../SQL/src/de/steamwar/sql/EventGroup.kt | 51 +- .../SQL/src/de/steamwar/sql/EventRelation.kt | 89 +- CommonCore/SQL/src/de/steamwar/sql/Fight.kt | 79 +- .../SQL/src/de/steamwar/sql/FightPlayer.kt | 29 +- .../src/de/steamwar/sql/GameModeConfig.java | 3 +- .../SQL/src/de/steamwar/sql/IgnoreSystem.kt | 42 +- .../SQL/src/de/steamwar/sql/Leaderboard.kt | 65 +- CommonCore/SQL/src/de/steamwar/sql/Mod.kt | 45 +- .../SQL/src/de/steamwar/sql/NodeData.kt | 75 +- .../SQL/src/de/steamwar/sql/NodeDownload.kt | 26 +- .../SQL/src/de/steamwar/sql/NodeMember.kt | 68 +- .../SQL/src/de/steamwar/sql/PersonalKit.kt | 84 +- .../SQL/src/de/steamwar/sql/Punishment.kt | 93 +- CommonCore/SQL/src/de/steamwar/sql/Referee.kt | 31 +- .../SQL/src/de/steamwar/sql/SWException.kt | 37 +- .../SQL/src/de/steamwar/sql/SchematicNode.kt | 388 ++-- CommonCore/SQL/src/de/steamwar/sql/Script.kt | 43 +- CommonCore/SQL/src/de/steamwar/sql/Session.kt | 13 +- .../SQL/src/de/steamwar/sql/SteamwarUser.kt | 180 +- CommonCore/SQL/src/de/steamwar/sql/Team.kt | 40 +- .../SQL/src/de/steamwar/sql/TeamTeilnahme.kt | 69 +- CommonCore/SQL/src/de/steamwar/sql/Token.kt | 31 +- .../SQL/src/de/steamwar/sql/UserConfig.kt | 48 +- .../SQL/src/de/steamwar/sql/UserPerm.kt | 30 +- .../steamwar/sql/internal/KotlinDatabase.kt | 27 +- .../src/de/steamwar/sql/internal/Statement.kt | 32 +- FightSystem/FightSystem_Core/src/config.yml | 22 +- .../src/de/steamwar/fightsystem/Config.java | 69 +- .../de/steamwar/fightsystem/FightSystem.java | 10 +- .../fightsystem/FightSystem.properties | 350 +-- .../fightsystem/FightSystem_de.properties | 326 +-- .../src/de/steamwar/fightsystem/ai/AI.java | 96 +- .../de/steamwar/fightsystem/ai/DummyAI.java | 3 +- .../fightsystem/commands/AkCommand.java | 7 +- .../fightsystem/commands/Commands.java | 70 +- .../de/steamwar/fightsystem/commands/GUI.java | 80 +- .../fightsystem/commands/GamemodeCommand.java | 18 +- .../fightsystem/commands/InfoCommand.java | 12 +- .../fightsystem/commands/KitCommand.java | 6 +- .../fightsystem/commands/LeaveCommand.java | 2 +- .../commands/LockschemCommand.java | 10 +- .../fightsystem/commands/ReadyCommand.java | 2 +- .../fightsystem/commands/RemoveCommand.java | 4 +- .../fightsystem/commands/RequestsCommand.java | 10 +- .../fightsystem/commands/SkipCommand.java | 4 +- .../fightsystem/commands/StateCommand.java | 2 +- .../fightsystem/commands/TBCommand.java | 2 +- .../fightsystem/commands/WGCommand.java | 2 +- .../fightsystem/commands/WinCommand.java | 10 +- .../fightsystem/countdown/Countdown.java | 45 +- .../countdown/EnternCountdown.java | 6 +- .../countdown/NoPlayersOnlineCountdown.java | 3 +- .../countdown/PostSchemCountdown.java | 3 +- .../fightsystem/event/HellsBells.java | 320 +-- .../de/steamwar/fightsystem/event/Meteor.java | 274 +-- .../fightsystem/event/PersistentDamage.java | 7 +- .../fightsystem/event/TNTDistributor.java | 4 +- .../de/steamwar/fightsystem/fight/Fight.java | 27 +- .../fightsystem/fight/FightPlayer.java | 30 +- .../fightsystem/fight/FightSchematic.java | 42 +- .../steamwar/fightsystem/fight/FightTeam.java | 127 +- .../fightsystem/fight/FightWorld.java | 9 +- .../fightsystem/fight/FreezeWorld.java | 23 +- .../steamwar/fightsystem/fight/HotbarKit.java | 7 +- .../fightsystem/fight/HotbarKitListener.java | 9 +- .../fightsystem/fight/JoinRequest.java | 48 +- .../de/steamwar/fightsystem/fight/Kit.java | 144 +- .../fightsystem/listener/ArenaBorder.java | 12 +- .../fightsystem/listener/ArrowStopper.java | 17 +- .../listener/BlockPlaceCollision.java | 12 +- .../steamwar/fightsystem/listener/Border.java | 39 +- .../steamwar/fightsystem/listener/Chat.java | 10 +- .../steamwar/fightsystem/listener/Check.java | 11 +- .../fightsystem/listener/ClickAnalyzer.java | 2 +- .../listener/DenyInventoryMovement.java | 6 +- .../listener/DenyWorldInteraction.java | 23 +- .../fightsystem/listener/EntityDamage.java | 6 +- .../fightsystem/listener/EventJoin.java | 49 +- .../fightsystem/listener/FightScoreboard.java | 10 +- .../fightsystem/listener/InFightDamage.java | 23 +- .../listener/InFightInventory.java | 12 +- .../fightsystem/listener/IngameDeath.java | 6 +- .../listener/JoinRequestListener.java | 7 +- .../fightsystem/listener/LeaveableArena.java | 19 +- .../fightsystem/listener/NormalJoin.java | 6 +- .../fightsystem/listener/Permanent.java | 67 +- .../listener/PersonalKitCreator.java | 47 +- .../fightsystem/listener/PistonListener.java | 21 +- .../fightsystem/listener/PrepareSchem.java | 21 +- .../fightsystem/listener/Recording.java | 87 +- .../listener/RunningWorldInteraction.java | 2 +- .../fightsystem/listener/SetupQuit.java | 4 +- .../fightsystem/listener/Shutdown.java | 6 +- .../fightsystem/listener/Spectator.java | 10 +- .../fightsystem/listener/TeamArea.java | 10 +- .../fightsystem/listener/TestJoin.java | 4 +- .../fightsystem/listener/WaterRemover.java | 20 +- .../listener/WindchargeStopper.java | 2 +- .../fightsystem/record/FileRecorder.java | 12 +- .../fightsystem/record/FileSource.java | 8 +- .../fightsystem/record/GlobalRecorder.java | 18 +- .../fightsystem/record/LiveRecorder.java | 2 +- .../fightsystem/record/LiveServer.java | 10 +- .../fightsystem/record/PacketProcessor.java | 83 +- .../fightsystem/record/PacketSource.java | 5 +- .../steamwar/fightsystem/record/Recorder.java | 130 +- .../fightsystem/states/FightState.java | 20 +- .../states/OneShotStateDependent.java | 2 +- .../fightsystem/states/StateDependent.java | 10 +- .../states/StateDependentCountdown.java | 4 +- .../states/StateDependentListener.java | 6 +- .../states/StateDependentTask.java | 4 +- .../fightsystem/utils/BlockIdWrapper.java | 4 +- .../fightsystem/utils/BountifulWrapper.java | 21 +- .../fightsystem/utils/ColorConverter.java | 9 +- .../fightsystem/utils/EnterHandler.java | 10 +- .../steamwar/fightsystem/utils/FightUI.java | 28 +- .../fightsystem/utils/FlatteningWrapper.java | 12 +- .../de/steamwar/fightsystem/utils/Hull.java | 52 +- .../steamwar/fightsystem/utils/HullHider.java | 34 +- .../fightsystem/utils/HullHiderWrapper.java | 14 +- .../fightsystem/utils/ItemBuilder.java | 44 +- .../de/steamwar/fightsystem/utils/Region.java | 36 +- .../steamwar/fightsystem/utils/SWSound.java | 2 +- .../fightsystem/utils/TechHiderWrapper.java | 25 +- .../utils/WorldOfColorWrapper.java | 2 +- .../fightsystem/utils/WorldeditWrapper.java | 10 +- .../EventTeamOffWincondition.java | 8 +- .../winconditions/Wincondition.java | 12 +- .../winconditions/WinconditionAllDead.java | 4 +- .../winconditions/WinconditionAmongUs.java | 4 +- .../WinconditionBasePercent.java | 7 +- .../winconditions/WinconditionBlocks.java | 6 +- .../WinconditionCaptainDead.java | 4 +- .../WinconditionComparisonTimeout.java | 2 +- .../winconditions/WinconditionPoints.java | 33 +- .../WinconditionPointsAirShip.java | 20 +- .../winconditions/WinconditionTimeTechKO.java | 24 +- .../winconditions/WinconditionTimeout.java | 2 +- FightSystem/FightSystem_Core/src/plugin.yml | 4 +- FightSystem/README.md | 6 +- .../src/de/steamwar/kotlin/KotlinInventory.kt | 3 +- .../src/de/steamwar/kotlin/util/Area.kt | 4 +- .../src/de/steamwar/lobby/Fightserver.java | 8 +- .../de/steamwar/lobby/LobbySystem.properties | 12 +- .../steamwar/lobby/LobbySystem_de.properties | 12 +- .../de/steamwar/lobby/boatrace/BoatRace.java | 8 +- .../lobby/boatrace/BoatRacePositions.java | 20 +- .../steamwar/lobby/command/ModifyCommand.java | 10 +- .../steamwar/lobby/command/PortalCommand.java | 8 +- .../de/steamwar/lobby/display/Hologram.java | 5 +- .../de/steamwar/lobby/listener/AlphaWall.java | 2 +- .../lobby/listener/DoubleJumpListener.java | 2 +- .../lobby/listener/InventoryInteraction.java | 10 +- .../lobby/listener/PlayerSeatListener.java | 6 +- .../de/steamwar/lobby/listener/Portals.java | 2 +- .../lobby/listener/TeleporterListener.java | 8 +- .../lobby/listener/WorldInteraction.java | 14 +- .../src/de/steamwar/lobby/map/ColorInit.java | 2 +- .../steamwar/lobby/particle/ParticleData.java | 3 +- .../lobby/particle/ParticleInventory.java | 2 +- .../lobby/particle/ParticleRequirement.java | 1 + .../elements/custom/PulseShimmer.java | 2 +- .../particles/EventParticlePlacement.java | 2 +- .../particle/particles/PlayerParticle.java | 6 +- .../custom/CustomEasterParticle.java | 2 +- .../custom/CustomPlayerParticle.java | 4 +- .../steamwar/lobby/portal/CommandPortal.java | 24 +- .../lobby/portal/FightserverPortal.java | 12 +- .../src/de/steamwar/lobby/portal/Portal.java | 12 +- .../steamwar/lobby/portal/TeleportPortal.java | 6 +- .../lobby/special/advent/AdventListener.java | 3 +- .../special/advent/PresentClickListener.java | 3 +- .../lobby/special/easter/EggHuntListener.java | 2 +- .../lobby/util/LeaderboardManager.java | 2 +- LobbySystem/src/plugin.yml | 2 +- MissileWars/src/config.yml | 34 +- .../src/de/steamwar/misslewars/Config.java | 12 +- .../de/steamwar/misslewars/FightState.java | 6 +- .../de/steamwar/misslewars/FightWorld.java | 18 +- .../src/de/steamwar/misslewars/MWTeam.java | 12 +- .../de/steamwar/misslewars/MissileWars.java | 227 +- .../misslewars/SpawnPlatformCreator.java | 85 +- .../steamwar/misslewars/StateDependent.java | 49 +- .../de/steamwar/misslewars/WinReasons.java | 4 +- .../misslewars/countdowns/EndCountdown.java | 5 +- .../misslewars/countdowns/ItemCountdown.java | 57 +- .../countdowns/WaitingCountdown.java | 32 +- .../steamwar/misslewars/items/CustomItem.java | 4 +- .../de/steamwar/misslewars/items/Missile.java | 140 +- .../misslewars/items/SpecialItem.java | 165 +- .../misslewars/listener/ArenaListener.java | 81 +- .../misslewars/listener/BasicListener.java | 22 +- .../misslewars/listener/ChatListener.java | 40 +- .../listener/ConnectionListener.java | 42 +- .../misslewars/listener/DeathListener.java | 77 +- .../misslewars/listener/EndListener.java | 16 +- .../misslewars/listener/FightListener.java | 24 +- .../misslewars/listener/ItemListener.java | 137 +- .../misslewars/listener/JoinListener.java | 116 +- .../listener/PortalDestructListener.java | 45 +- .../misslewars/listener/WaitingListener.java | 27 +- .../scripts/implemented/CooldownScript.java | 2 +- .../scripts/implemented/PasteScript.java | 6 +- .../scripts/implemented/RemoveScript.java | 3 +- .../misslewars/slowmo/SlowMoRunner.java | 2 +- MissileWars/src/plugin.yml | 18 +- Realtime/src/de/steamwar/realtime/Config.java | 3 +- .../src/de/steamwar/realtime/Realtime.java | 6 +- .../src/SchematicSystem.properties | 502 ++--- .../src/SchematicSystem_de.properties | 458 ++-- .../schematicsystem/SafeSchematicNode.java | 16 +- .../schematicsystem/SchematicSystem.java | 2 +- .../autocheck/AutoChecker.java | 5 +- .../autocheck/AutoCheckerResult.java | 32 +- .../commands/schematiccommand/GUI.java | 95 +- .../schematiccommand/SchematicCommand.java | 22 +- .../SchematicCommandUtils.java | 55 +- .../schematiccommand/SchematicMapper.java | 4 +- .../schematiccommand/SchematicValidator.java | 18 +- .../schematiccommand/parts/CheckPart.java | 4 +- .../schematiccommand/parts/MemberPart.java | 10 +- .../schematiccommand/parts/ModifyPart.java | 14 +- .../schematiccommand/parts/SavePart.java | 10 +- .../schematiccommand/parts/ViewPart.java | 6 +- SchematicSystem/src/plugin.yml | 4 +- SpigotCore/SpigotCore_Main/build.gradle.kts | 8 +- .../SpigotCore_Main/src/SpigotCore.properties | 142 +- .../src/SpigotCore_de.properties | 134 +- .../comphenix/tinyprotocol/TinyProtocol.java | 882 ++++---- .../src/de/steamwar/Reflection.java | 453 ++-- .../src/de/steamwar/command/SWCommand.java | 3 +- .../de/steamwar/core/BountifulWrapper.java | 15 +- .../src/de/steamwar/core/CheckpointUtils.java | 3 +- .../de/steamwar/core/CheckpointUtilsJ9.java | 18 +- .../src/de/steamwar/core/Core.java | 124 +- .../src/de/steamwar/core/CrashDetector.java | 10 +- .../src/de/steamwar/core/ErrorHandler.java | 20 +- .../src/de/steamwar/core/ProtocolWrapper.java | 2 +- .../src/de/steamwar/core/SWPlayer.java | 5 +- .../de/steamwar/core/WorldEditRenderer.java | 6 +- .../core/WorldEditRendererCUIEditor.java | 8 +- .../de/steamwar/core/WorldEditWrapper.java | 2 +- .../SteamwarGameProfileRepository.java | 6 +- .../de/steamwar/core/events/AntiNocom.java | 9 +- .../steamwar/core/events/ChattingEvent.java | 10 +- .../core/events/PlayerJoinedEvent.java | 41 +- .../steamwar/core/events/WorldLoadEvent.java | 4 +- .../src/de/steamwar/entity/CLine.java | 3 + .../src/de/steamwar/entity/RArmorStand.java | 2 +- .../src/de/steamwar/entity/RBlockDisplay.java | 1 + .../src/de/steamwar/entity/REntity.java | 79 +- .../src/de/steamwar/entity/REntityServer.java | 52 +- .../steamwar/entity/RFallingBlockEntity.java | 2 +- .../src/de/steamwar/entity/RItemDisplay.java | 2 + .../src/de/steamwar/entity/RPlayer.java | 2 +- .../src/de/steamwar/entity/RTextDisplay.java | 5 + .../src/de/steamwar/inventory/SWAnvilInv.java | 8 +- .../de/steamwar/inventory/SWInventory.java | 14 +- .../src/de/steamwar/inventory/SWItem.java | 36 +- .../src/de/steamwar/inventory/SWListInv.java | 48 +- .../steamwar/inventory/SchematicSelector.java | 141 +- .../SchematicSelectorInjectable.java | 29 +- .../src/de/steamwar/inventory/UtilGui.java | 6 +- .../src/de/steamwar/message/Message.java | 62 +- .../steamwar/network/CoreNetworkHandler.java | 2 +- .../network/handlers/InventoryHandler.java | 2 +- .../de/steamwar/providers/BauServerInfo.java | 3 +- .../de/steamwar/scoreboard/SWScoreboard.java | 2 +- .../src/de/steamwar/sql/PersonalKit.java | 12 +- .../src/de/steamwar/sql/SchematicData.java | 4 +- .../src/de/steamwar/techhider/BlockIds.java | 7 +- .../src/de/steamwar/techhider/ChunkHider.java | 43 +- .../de/steamwar/techhider/ProtocolUtils.java | 28 +- .../steamwar/techhider/ProtocolWrapper.java | 12 +- .../src/de/steamwar/techhider/TechHider.java | 9 +- .../src/de/steamwar/tntleague/TNTLeague.kt | 9 +- .../steamwar/tntleague/TNTLeague.properties | 74 +- .../tntleague/TNTLeague_de.properties | 56 +- .../tntleague/command/AcceptCommand.kt | 5 +- .../tntleague/command/InviteCommand.kt | 10 +- .../tntleague/command/LeaveCommand.kt | 6 +- .../tntleague/command/ReadyCommand.kt | 2 +- .../tntleague/command/RemoveCommand.kt | 5 +- .../tntleague/config/TNTLeagueConfig.kt | 15 +- .../tntleague/config/TNTLeagueWorldConfig.kt | 3 +- .../steamwar/tntleague/config/TeamConfig.kt | 21 +- .../tntleague/events/DummyListener.kt | 2 +- .../tntleague/events/GlobalListener.kt | 2 +- .../tntleague/events/IngameListener.kt | 6 +- .../tntleague/events/LobbyListener.kt | 4 +- .../steamwar/tntleague/game/TNTLeagueGame.kt | 46 +- .../steamwar/tntleague/game/TNTLeagueTeam.kt | 32 +- .../tntleague/inventory/CategoryInventory.kt | 5 +- .../tntleague/inventory/DealerInventory.kt | 20 +- .../tntleague/util/TNTLeagueScoreboard.kt | 13 +- .../steamwar/teamserver/Teamserver.properties | 69 +- .../command/ArenaconfigCommand.java | 5 +- .../teamserver/command/GamemodeCommand.java | 30 +- .../teamserver/command/MaterialCommand.java | 6 +- .../teamserver/listener/PlayerChange.java | 3 +- Teamserver/src/plugin.yml | 2 +- TowerRun/src/TowerRun.properties | 34 +- TowerRun/src/TowerRun_de.properties | 26 +- .../towerrun/countdowns/Countdown.java | 17 +- .../towerrun/listener/GlobalListener.java | 2 +- .../towerrun/listener/IngameListener.java | 2 +- TowerRun/src/plugin.yml | 2 +- .../src/de/steamwar/persistent/Bauserver.java | 5 +- .../de/steamwar/persistent/Builderserver.java | 6 +- .../de/steamwar/persistent/Persistent.java | 12 +- .../steamwar/persistent/ReloadablePlugin.java | 4 +- .../src/de/steamwar/persistent/Subserver.java | 2 +- VelocityCore/src/GDPRQueryREADME.md | 8 +- .../src/de/steamwar/command/SWCommand.java | 5 +- .../de/steamwar/command/TypeValidator.java | 3 +- .../steamwar/messages/BungeeCore.properties | 1122 +++++----- .../messages/BungeeCore_de.properties | 1020 ++++----- .../src/de/steamwar/messages/Chatter.java | 36 +- .../de/steamwar/messages/ChatterGroup.java | 2 +- .../src/de/steamwar/messages/Message.java | 3 +- .../de/steamwar/messages/PlayerChatter.java | 2 +- .../messages/SteamwarResourceBundle.java | 4 +- .../src/de/steamwar/sql/SQLWrapperImpl.java | 4 +- .../de/steamwar/velocitycore/ArenaMode.java | 12 +- .../de/steamwar/velocitycore/Broadcaster.java | 6 +- .../src/de/steamwar/velocitycore/Config.java | 4 +- .../de/steamwar/velocitycore/ErrorLogger.java | 10 +- .../steamwar/velocitycore/EventStarter.java | 10 +- .../src/de/steamwar/velocitycore/Node.java | 15 +- .../steamwar/velocitycore/ServerStarter.java | 54 +- .../steamwar/velocitycore/ServerVersion.java | 2 +- .../velocitycore/SubserverSystem.java | 7 +- .../steamwar/velocitycore/VelocityCore.java | 11 +- .../velocitycore/commands/BauCommand.java | 8 +- .../commands/BuilderCloudCommand.java | 20 +- .../commands/ChallengeCommand.java | 8 +- .../velocitycore/commands/CheckCommand.java | 44 +- .../velocitycore/commands/DevCommand.java | 2 +- .../velocitycore/commands/EventCommand.java | 3 +- .../commands/EventRescheduleCommand.java | 8 +- .../velocitycore/commands/FightCommand.java | 13 +- .../velocitycore/commands/GDPRQuery.java | 44 +- .../velocitycore/commands/HelpCommand.java | 24 +- .../velocitycore/commands/IgnoreCommand.java | 4 +- .../velocitycore/commands/ListCommand.java | 2 +- .../velocitycore/commands/ModCommand.java | 12 +- .../velocitycore/commands/MsgCommand.java | 4 +- .../commands/PunishmentCommand.java | 9 +- .../velocitycore/commands/ReplayCommand.java | 8 +- .../velocitycore/commands/RulesCommand.java | 2 +- .../velocitycore/commands/TeamCommand.java | 119 +- .../commands/TeamchatCommand.java | 2 +- .../velocitycore/commands/TpCommand.java | 22 +- .../commands/UnIgnoreCommand.java | 2 +- .../velocitycore/commands/VerifyCommand.java | 6 +- .../commands/WebpasswordCommand.java | 2 +- .../velocitycore/commands/WhoisCommand.java | 14 +- .../velocitycore/discord/DiscordConfig.java | 2 +- .../discord/DiscordTicketType.java | 2 +- .../discord/channels/ChecklistChannel.java | 16 +- .../discord/channels/CouncilChannel.java | 3 +- .../discord/channels/EventChannel.java | 6 +- .../discord/channels/InteractionReply.java | 4 +- .../channels/StaticMessageChannel.java | 3 +- .../discord/listeners/ChannelListener.java | 16 +- .../discord/listeners/DiscordSchemUpload.java | 12 +- .../discord/listeners/DiscordTeamEvent.java | 8 +- .../listeners/DiscordTicketHandler.java | 34 +- .../discord/util/AuthManager.java | 2 +- .../discord/util/DiscordAlert.java | 6 +- .../discord/util/DiscordRanks.java | 2 +- .../velocitycore/inventory/SWAnvilInv.java | 3 +- .../velocitycore/inventory/SWInventory.java | 6 +- .../velocitycore/inventory/SWItem.java | 10 +- .../velocitycore/inventory/SWListInv.java | 28 +- .../velocitycore/inventory/SWStreamInv.java | 14 +- .../velocitycore/listeners/BanListener.java | 8 +- .../velocitycore/listeners/ChatListener.java | 54 +- .../velocitycore/listeners/CheckListener.java | 18 +- .../listeners/ConnectionListener.java | 20 +- .../velocitycore/listeners/IPSanitizer.java | 2 +- .../velocitycore/listeners/PluginMessage.java | 50 +- .../listeners/SessionManager.java | 6 +- .../listeners/TexturePackSystem.java | 2 +- .../listeners/VersionAnnouncer.java | 4 +- .../de/steamwar/velocitycore/mods/Alpine.java | 4 +- .../velocitycore/mods/Controlify.java | 5 +- .../de/steamwar/velocitycore/mods/FML.java | 6 +- .../de/steamwar/velocitycore/mods/FML2.java | 24 +- .../velocitycore/mods/FabricModSender.java | 12 +- .../steamwar/velocitycore/mods/Feather.java | 1 + .../steamwar/velocitycore/mods/Hostname.java | 4 +- .../steamwar/velocitycore/mods/LabyMod.java | 9 +- .../steamwar/velocitycore/mods/ModUtils.java | 18 +- .../steamwar/velocitycore/mods/ReplayMod.java | 6 +- .../velocitycore/mods/Schematica.java | 2 +- .../velocitycore/network/ServerMetaInfo.java | 3 +- .../handlers/InventoryCallbackHandler.java | 10 +- .../network/handlers/PlayerSkinHandler.java | 3 +- .../velocitycore/tablist/Tablist.java | 78 +- .../velocitycore/tablist/TablistBuild.java | 4 +- .../velocitycore/tablist/TablistManager.java | 2 +- .../velocitycore/tablist/TablistPart.java | 1 + .../velocitycore/tablist/TablistServer.java | 5 +- .../tablist/UpdateTeamsPacket21.java | 6 +- .../steamwar/velocitycore/util/BauLock.java | 3 +- .../src/de/steamwar/data/SkinCache.kt | 3 +- .../src/de/steamwar/plugins/Auth.kt | 2 +- .../src/de/steamwar/plugins/Plugins.kt | 13 +- .../src/de/steamwar/plugins/SteamWar.kt | 3 +- .../src/de/steamwar/routes/AuditLog.kt | 106 +- WebsiteBackend/src/de/steamwar/routes/Auth.kt | 3 +- WebsiteBackend/src/de/steamwar/routes/Data.kt | 32 +- .../src/de/steamwar/routes/EventFights.kt | 30 +- .../src/de/steamwar/routes/EventGroups.kt | 37 +- .../src/de/steamwar/routes/EventReferees.kt | 9 +- .../src/de/steamwar/routes/EventRelations.kt | 33 +- .../src/de/steamwar/routes/EventTeams.kt | 9 +- .../src/de/steamwar/routes/Events.kt | 27 +- WebsiteBackend/src/de/steamwar/routes/Page.kt | 73 +- .../src/de/steamwar/routes/Schematic.kt | 80 +- .../src/de/steamwar/routes/Stats.kt | 17 +- .../src/de/steamwar/routes/UserPerms.kt | 9 +- .../src/de/steamwar/sql/SQLConfigImpl.kt | 8 +- .../src/de/steamwar/sql/SQLWrapperImpl.kt | 2 +- WebsiteBackend/src/de/steamwar/sql/Stats.kt | 53 +- WebsiteBackend/src/logback.xml | 2 +- gradle.properties | 2 +- gradle/wrapper/gradle-wrapper.properties | 10 +- 562 files changed, 11025 insertions(+), 10059 deletions(-) diff --git a/.gitea/ISSUE_TEMPLATE/feature-request.yaml b/.gitea/ISSUE_TEMPLATE/feature-request.yaml index fb8c2a5f..8c86a933 100644 --- a/.gitea/ISSUE_TEMPLATE/feature-request.yaml +++ b/.gitea/ISSUE_TEMPLATE/feature-request.yaml @@ -1,6 +1,6 @@ name: Feature Idee about: Du hast eine Idee für ein neues Feature, welches SteamWar nicht hat? Stelle sie hier vor. -labels: ["typ/idee"] +labels: [ "typ/idee" ] body: - type: textarea id: description diff --git a/BauSystem/BauSystem_Main/src/BauSystem.properties b/BauSystem/BauSystem_Main/src/BauSystem.properties index de74831d..a045edf4 100644 --- a/BauSystem/BauSystem_Main/src/BauSystem.properties +++ b/BauSystem/BauSystem_Main/src/BauSystem.properties @@ -16,1028 +16,1028 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . # -PREFIX=§eBau§8System§8» -TIME=HH:mm:ss -DATE=........ -COMMAND_HELP_HEAD=§7---=== (§e{0}§7) ===--- -ONLY_SCHEMS=§cFolders are unselectable -PAGE_LIST=§e Page ({0}/{1}) »» -LIST_PREVIOUS_PAGE=§ePrevious page -LIST_NEXT_PAGE=§eNext page +PREFIX = §eBau§8System§8» +TIME = HH:mm:ss +DATE = ........ +COMMAND_HELP_HEAD = §7---=== (§e{0}§7) ===--- +ONLY_SCHEMS = §cFolders are unselectable +PAGE_LIST = §e Page ({0}/{1}) »» +LIST_PREVIOUS_PAGE = §ePrevious page +LIST_NEXT_PAGE = §eNext page # Permissions -NO_PERMISSION=§7You are not allowed to use that here -SPECTATOR=§fSpectator +NO_PERMISSION = §7You are not allowed to use that here +SPECTATOR = §fSpectator # Scoreboard -SCOREBOARD_TIME=Time -SCOREBOARD_REGION=Region -SCOREBOARD_TRACE=Trace -SCOREBOARD_LOADER=Loader -SCOREBOARD_TPS=TPS -SCOREBOARD_TPS_FROZEN=§eFrozen -SCOREBOARD_TRACE_TICKS=Ticks -SCOREBOARD_TECHHIDER=TechHider§8: §aOn -SCOREBOARD_XRAY=XRay§8: §aOn -SCOREBOARD_LOCK_TEAM=Bau Lock§8: §eTeam -SCOREBOARD_LOCK_SUPERVISOR=Bau Lock§8: §eSupervisor -SCOREBOARD_LOCK_TEAM_AND_SERVERTEAM=Bau Lock§8: §e(Server) Team -SCOREBOARD_LOCK_SERVERTEAM=Bau Lock§8: §eServer Team -SCOREBOARD_LOCK_NOBODY=Bau Lock§8: §cNobody +SCOREBOARD_TIME = Time +SCOREBOARD_REGION = Region +SCOREBOARD_TRACE = Trace +SCOREBOARD_LOADER = Loader +SCOREBOARD_TPS = TPS +SCOREBOARD_TPS_FROZEN = §eFrozen +SCOREBOARD_TRACE_TICKS = Ticks +SCOREBOARD_TECHHIDER = TechHider§8: §aOn +SCOREBOARD_XRAY = XRay§8: §aOn +SCOREBOARD_LOCK_TEAM = Bau Lock§8: §eTeam +SCOREBOARD_LOCK_SUPERVISOR = Bau Lock§8: §eSupervisor +SCOREBOARD_LOCK_TEAM_AND_SERVERTEAM = Bau Lock§8: §e(Server) Team +SCOREBOARD_LOCK_SERVERTEAM = Bau Lock§8: §eServer Team +SCOREBOARD_LOCK_NOBODY = Bau Lock§8: §cNobody # Flags -FLAG_COLOR=Color -FLAG_TNT=TNT -FLAG_FIRE=Fire -FLAG_FREEZE=Freeze -FLAG_PROTECT=Protect -FLAG_ITEMS=Items +FLAG_COLOR = Color +FLAG_TNT = TNT +FLAG_FIRE = Fire +FLAG_FREEZE = Freeze +FLAG_PROTECT = Protect +FLAG_ITEMS = Items FLAG_NO_GRAVITY = No Gravity -FLAG_TESTBLOCK=Testblock -FLAG_CHANGED=Changed -FLAG_WATER_DESTROY=Water Destroy -FLAG_WATER_DESTROY_ALLOW=§coff -FLAG_WATER_DESTROY_DENY=§aon -FLAG_FIRE_ALLOW=§con -FLAG_FIRE_DENY=§aoff -FLAG_FREEZE_ACTIVE=§aon -FLAG_FREEZE_INACTIVE=§coff -FLAG_PROTECT_ACTIVE=§aon -FLAG_PROTECT_INACTIVE=§coff +FLAG_TESTBLOCK = Testblock +FLAG_CHANGED = Changed +FLAG_WATER_DESTROY = Water Destroy +FLAG_WATER_DESTROY_ALLOW = §coff +FLAG_WATER_DESTROY_DENY = §aon +FLAG_FIRE_ALLOW = §con +FLAG_FIRE_DENY = §aoff +FLAG_FREEZE_ACTIVE = §aon +FLAG_FREEZE_INACTIVE = §coff +FLAG_PROTECT_ACTIVE = §aon +FLAG_PROTECT_INACTIVE = §coff FLAG_NO_GRAVITY_ACTIVE = §aon FLAG_NO_GRAVITY_INACTIVE = §coff -FLAG_TNT_ALLOW=§aon -FLAG_TNT_DENY=§coff -FLAG_TNT_ONLY_TB=§7no §ebuild area -FLAG_TNT_ONLY_BUILD=§7no §etestblock area -FLAG_ITEMS_ACTIVE=§aon -FLAG_ITEMS_INACTIVE=§coff -FLAG_COLOR_WHITE=§fWhite -FLAG_COLOR_ORANGE=§6Orange -FLAG_COLOR_MAGENTA=§dMagenta -FLAG_COLOR_LIGHT_BLUE=§bLight blue -FLAG_COLOR_YELLOW=§eYellow -FLAG_COLOR_LIME=§aLime +FLAG_TNT_ALLOW = §aon +FLAG_TNT_DENY = §coff +FLAG_TNT_ONLY_TB = §7no §ebuild area +FLAG_TNT_ONLY_BUILD = §7no §etestblock area +FLAG_ITEMS_ACTIVE = §aon +FLAG_ITEMS_INACTIVE = §coff +FLAG_COLOR_WHITE = §fWhite +FLAG_COLOR_ORANGE = §6Orange +FLAG_COLOR_MAGENTA = §dMagenta +FLAG_COLOR_LIGHT_BLUE = §bLight blue +FLAG_COLOR_YELLOW = §eYellow +FLAG_COLOR_LIME = §aLime ## This cannot be converted -FLAG_COLOR_PINK=§ePink -FLAG_COLOR_GRAY=§8Gray -FLAG_COLOR_LIGHT_GRAY=§7Light gray -FLAG_COLOR_CYAN=§3Cyan -FLAG_COLOR_PURPLE=§5Purple -FLAG_COLOR_BLUE=§1Blue +FLAG_COLOR_PINK = §ePink +FLAG_COLOR_GRAY = §8Gray +FLAG_COLOR_LIGHT_GRAY = §7Light gray +FLAG_COLOR_CYAN = §3Cyan +FLAG_COLOR_PURPLE = §5Purple +FLAG_COLOR_BLUE = §1Blue ## This cannot be converted -FLAG_COLOR_BROWN=§eBrown -FLAG_COLOR_GREEN=§2Green -FLAG_COLOR_RED=§cRed -FLAG_COLOR_BLACK=§0Black -FLAG_TESTBLOCK_NO_VALUE=§eNo Value -FLAG_TESTBLOCK_NORTH=§eNorth -FLAG_TESTBLOCK_SOUTH=§eSouth -FLAG_CHANGED_NO_CHANGE=§cNo -FLAG_CHANGED_HAS_CHANGE=§aYes +FLAG_COLOR_BROWN = §eBrown +FLAG_COLOR_GREEN = §2Green +FLAG_COLOR_RED = §cRed +FLAG_COLOR_BLACK = §0Black +FLAG_TESTBLOCK_NO_VALUE = §eNo Value +FLAG_TESTBLOCK_NORTH = §eNorth +FLAG_TESTBLOCK_SOUTH = §eSouth +FLAG_CHANGED_NO_CHANGE = §cNo +FLAG_CHANGED_HAS_CHANGE = §aYes # Region -REGION_TYPE_NORMAL=Normal -REGION_TYPE_BUILD=Build area -REGION_TYPE_ONLY_TB=Dummy +REGION_TYPE_NORMAL = Normal +REGION_TYPE_BUILD = Build area +REGION_TYPE_ONLY_TB = Dummy # AttributesCopy -ATTRIBUTES_CANT_COPY=§cYou need to hold the same item type and hover over the same block to copy. -ATTRIBUTES_NO_COPY=§cNo attributes to copy. -ATTRIBUTES_COPIED=§eAttributes copied. -ATTRIBUTE_REMOVE_COMMAND_HELP=§8/§eattributeremove §8[§eattribute§8|§7all§8|§7*§8] -ATTRIBUTE_REMOVE_ALL=§eAll attributes removed. -ATTRIBUTE_REMOVE_SINGLE=§eAttribute §7{0}§e removed. -ATTRIBUTE_REMOVE_NOT_FOUND=§cAttribute not found +ATTRIBUTES_CANT_COPY = §cYou need to hold the same item type and hover over the same block to copy. +ATTRIBUTES_NO_COPY = §cNo attributes to copy. +ATTRIBUTES_COPIED = §eAttributes copied. +ATTRIBUTE_REMOVE_COMMAND_HELP = §8/§eattributeremove §8[§eattribute§8|§7all§8|§7*§8] +ATTRIBUTE_REMOVE_ALL = §eAll attributes removed. +ATTRIBUTE_REMOVE_SINGLE = §eAttribute §7{0}§e removed. +ATTRIBUTE_REMOVE_NOT_FOUND = §cAttribute not found # AutoStart -AUTOSTART_COMMAND_HELP=§8/§etimer §8- §7Retrieve AutostartTimer Tool -AUTOSTART_ITEM_NAME=§eAutostartTimer -AUTOSTART_ITEM_LORE=§eRight Click Block §8- §7Start Timer -AUTOSTART_MESSAGE_NO_REGION=§cYou are not inside any region -AUTOSTART_MESSAGE_RESET=§eAutostartTimer restarted -AUTOSTART_MESSAGE_START=§eAutostartTimer started -AUTOSTART_MESSAGE_RESULT1=§eTime §7until §eexplosion §7at enemy§8:§e {0}§7 game ticks -AUTOSTART_MESSAGE_RESULT2=§7Time difference in §egame-ticks §7until {0} seconds§8:§e {1} -AUTOSTART_MESSAGE_RESULT3=§7positive, if too few, negative if too many +AUTOSTART_COMMAND_HELP = §8/§etimer §8- §7Retrieve AutostartTimer Tool +AUTOSTART_ITEM_NAME = §eAutostartTimer +AUTOSTART_ITEM_LORE = §eRight Click Block §8- §7Start Timer +AUTOSTART_MESSAGE_NO_REGION = §cYou are not inside any region +AUTOSTART_MESSAGE_RESET = §eAutostartTimer restarted +AUTOSTART_MESSAGE_START = §eAutostartTimer started +AUTOSTART_MESSAGE_RESULT1 = §eTime §7until §eexplosion §7at enemy§8:§e {0}§7 game ticks +AUTOSTART_MESSAGE_RESULT2 = §7Time difference in §egame-ticks §7until {0} seconds§8:§e {1} +AUTOSTART_MESSAGE_RESULT3 = §7positive, if too few, negative if too many # Backup -BACKUP_HELP_CREATE=§8/§ebackup create §8- §7Create a region backup -BACKUP_HELP_LOAD=§8/§ebackup load §8[§7BackupName§8] §8- §7Load a region backup -BACKUP_HELP_LIST=§8/§ebackup list §8- §7List all region backups -BACKUP_HELP_GUI=§8/§ebackup gui §8- §7Open the backup GUI -BACKUP_REGION_NO_REGION=§cYou are not inside any region -BACKUP_CREATE_SUCCESS=§7Backup created -BACKUP_CREATE_FAILURE=§cBackup failed -BACKUP_CREATE_NO_CHANGE=§7No changes to save -BACKUP_LIST_HEAD=§7---=== (§eBackup §7{0}§7) ===--- -BACKUP_LIST_ENTRY=§7{0} §e[Load] -BACKUP_LOAD_FAILURE=§cBackup load failed -BACKUP_LOAD=§7Backup loaded -BACKUP_INV_NAME=§eBackup -BACKUP_ITEM_NAME=§eBackup §7from §e{0} -BACKUP_LORE=§eClick to load +BACKUP_HELP_CREATE = §8/§ebackup create §8- §7Create a region backup +BACKUP_HELP_LOAD = §8/§ebackup load §8[§7BackupName§8] §8- §7Load a region backup +BACKUP_HELP_LIST = §8/§ebackup list §8- §7List all region backups +BACKUP_HELP_GUI = §8/§ebackup gui §8- §7Open the backup GUI +BACKUP_REGION_NO_REGION = §cYou are not inside any region +BACKUP_CREATE_SUCCESS = §7Backup created +BACKUP_CREATE_FAILURE = §cBackup failed +BACKUP_CREATE_NO_CHANGE = §7No changes to save +BACKUP_LIST_HEAD = §7---=== (§eBackup §7{0}§7) ===--- +BACKUP_LIST_ENTRY = §7{0} §e[Load] +BACKUP_LOAD_FAILURE = §cBackup load failed +BACKUP_LOAD = §7Backup loaded +BACKUP_INV_NAME = §eBackup +BACKUP_ITEM_NAME = §eBackup §7from §e{0} +BACKUP_LORE = §eClick to load # Bau -BAU_COMMAND_HELP_INFO=§8/§ebau info §8- §7Alias for §8/§ebauinfo -BAU_INFO_ITEM_NAME=§eBau-Management +BAU_COMMAND_HELP_INFO = §8/§ebau info §8- §7Alias for §8/§ebauinfo +BAU_INFO_ITEM_NAME = §eBau-Management ## This is used in BauInfoBauGuiItem.java -BAU_INFO_ITEM_LORE_TNT=§7TNT§8: §e{0} -BAU_INFO_ITEM_LORE_FREEZE=§7Freeze§8: §e{0} -BAU_INFO_ITEM_LORE_FIRE=§7Fire§8: §e{0} -BAU_INFO_ITEM_LORE_COLOR=§7Color§8: §e{0} -BAU_INFO_ITEM_LORE_PROTECT=§7Protect§8: §e{0} -BAU_INFO_ITEM_LORE_ITEMS=§7Items§8: §e{0} +BAU_INFO_ITEM_LORE_TNT = §7TNT§8: §e{0} +BAU_INFO_ITEM_LORE_FREEZE = §7Freeze§8: §e{0} +BAU_INFO_ITEM_LORE_FIRE = §7Fire§8: §e{0} +BAU_INFO_ITEM_LORE_COLOR = §7Color§8: §e{0} +BAU_INFO_ITEM_LORE_PROTECT = §7Protect§8: §e{0} +BAU_INFO_ITEM_LORE_ITEMS = §7Items§8: §e{0} BAU_INFO_ITEM_LORE_NO_GRAVITY = §7NoGravity§8: §e{0} -BAU_INFO_ITEM_LORE_TESTBLOCK=§7Testblock§8: §e{0} -BAU_INFO_ITEM_LORE_CHANGED=§7Changed§8: §e{0} -BAU_INFO_ITEM_LORE_WATER_DESTROY=§7Water Destroy§8: §e{0} -BAU_INFO_COMMAND_HELP=§8/§ebauinfo §8- §7Information regarding this build server -BAU_INFO_COMMAND_OWNER=§7Owner§8: §e{0} -BAU_INFO_COMMAND_MEMBER=§7{0} §8[§7{1}§8]§8: §e{2} -BAU_INFO_COMMAND_FLAG=§7{0}§8: §7{1} -BAU_INFO_COMMAND_TPS=§7TPS§8:§e +BAU_INFO_ITEM_LORE_TESTBLOCK = §7Testblock§8: §e{0} +BAU_INFO_ITEM_LORE_CHANGED = §7Changed§8: §e{0} +BAU_INFO_ITEM_LORE_WATER_DESTROY = §7Water Destroy§8: §e{0} +BAU_INFO_COMMAND_HELP = §8/§ebauinfo §8- §7Information regarding this build server +BAU_INFO_COMMAND_OWNER = §7Owner§8: §e{0} +BAU_INFO_COMMAND_MEMBER = §7{0} §8[§7{1}§8]§8: §e{2} +BAU_INFO_COMMAND_FLAG = §7{0}§8: §7{1} +BAU_INFO_COMMAND_TPS = §7TPS§8:§e # Countingwand -COUNTINGWAND_COMMAND_HELP=§8/§ecountingwand §8- §7Receive a CountingWand -COUNTINGWAND_ITEM_NAME=§eMeterstick -COUNTINGWAND_ITEM_LORE1=§eLeft-Click §8- §7Set the first position -COUNTINGWAND_ITEM_LORE2=§eRicht-Click §8- §7Set the second position -COUNTINGWAND_MESSAGE_RCLICK=§7First position at: §8[§7{0}§8, §7{1}§8, §7{2}§8] ({3}§8) ({4}§8) -COUNTINGWAND_MESSAGE_LCLICK=§7Second position at: §8[§7{0}§8, §7{1}§8, §7{2}§8] ({3}§8) ({4}§8) -COUNTINGWAND_MESSAGE_VOLUME=§e{0} -COUNTINGWAND_MESSAGE_DIMENSION=§e{0}§8, §e{1}§8, §e{2} +COUNTINGWAND_COMMAND_HELP = §8/§ecountingwand §8- §7Receive a CountingWand +COUNTINGWAND_ITEM_NAME = §eMeterstick +COUNTINGWAND_ITEM_LORE1 = §eLeft-Click §8- §7Set the first position +COUNTINGWAND_ITEM_LORE2 = §eRicht-Click §8- §7Set the second position +COUNTINGWAND_MESSAGE_RCLICK = §7First position at: §8[§7{0}§8, §7{1}§8, §7{2}§8] ({3}§8) ({4}§8) +COUNTINGWAND_MESSAGE_LCLICK = §7Second position at: §8[§7{0}§8, §7{1}§8, §7{2}§8] ({3}§8) ({4}§8) +COUNTINGWAND_MESSAGE_VOLUME = §e{0} +COUNTINGWAND_MESSAGE_DIMENSION = §e{0}§8, §e{1}§8, §e{2} # Design Endstone -DESIGN_ENDSTONE_COMMAND_HELP=§8/§edesignendstone §8- §7Highlight endstone in design -DESIGN_ENDSTONE_REGION_ERROR=§cThis region has no build area -DESIGN_ENDSTONE_ENABLE=§aEndstone is highlighted -DESIGN_ENDSTONE_DISABLE=§cEndstone is no longer hightlighted +DESIGN_ENDSTONE_COMMAND_HELP = §8/§edesignendstone §8- §7Highlight endstone in design +DESIGN_ENDSTONE_REGION_ERROR = §cThis region has no build area +DESIGN_ENDSTONE_ENABLE = §aEndstone is highlighted +DESIGN_ENDSTONE_DISABLE = §cEndstone is no longer hightlighted # Detonator -DETONATOR_LOC_REMOVE=§e{0} removed -DETONATOR_LOC_ADD=§e{0} added -DETONATOR_BUTTON_SWITCH=Lever -DETONATOR_BUTTON_WOOD_BUTTON=Button -DETONATOR_BUTTON_STONE_BUTTON=Button -DETONATOR_BUTTON_PRESSURE_PLATE=Pressure plate -DETONATOR_BUTTON_WEIGHTED-PRESSURE_PLATE=Pressure plate -DETONATOR_BUTTON_TRIPWIRE=Tripwire -DETONATOR_BUTTON_NOTEBLOCK=Noteblock -DETONATOR_BUTTON_DAYLIGHTSENSOR=Daylight sensor -DETONATOR_BUTTON_POWERABLE=Activateable block -DETONATOR_BUTTON_INVALID=Invalid -DETONATOR_WAND_NAME=§eDetonator -DETONATOR_WAND_LORE_1=§eLeft-Click §8- §7Sets a point to be activated -DETONATOR_WAND_LORE_2=§eLeft-Click + Shift §8- §7Adds a point -DETONATOR_WAND_LORE_3=§eRight-Click §8- §7Activates all points -DETONATOR_HELP_WAND=§8/§edetonator wand §8-§7 Receive a Detonator -DETONATOR_HELP_CLICK=§8/§edetonator click §8-§7 Activate a Detonator (main-hand -> hotbar -> inventory) -DETONATOR_HELP_CLEAR=§8/§edetonator clear §8-§7 Clear a Detonator -DETONATOR_HELP_AUTOSTART=§8/§edetonator autostart §8-§7 Enable a Autostarttester automatically -DETONATOR_AUTOSTART_ENABLE=§7Autostart with detonate §aenabled -DETONATOR_AUTOSTART_DISABLE=§7Autostart with detonate §cdisabled -DETONATOR_POINT_ACT=§eSingle point activated -DETONATOR_POINTS_ACT=§e{0} points activated -DETONATOR_INVALID_POINT=§cOne point could not be activated -DETONATOR_INVALID_POINTS=§c{0} points could not be activated -DETONATOR_INVALID_BLOCK=§eThe block could not be addded +DETONATOR_LOC_REMOVE = §e{0} removed +DETONATOR_LOC_ADD = §e{0} added +DETONATOR_BUTTON_SWITCH = Lever +DETONATOR_BUTTON_WOOD_BUTTON = Button +DETONATOR_BUTTON_STONE_BUTTON = Button +DETONATOR_BUTTON_PRESSURE_PLATE = Pressure plate +DETONATOR_BUTTON_WEIGHTED-PRESSURE_PLATE = Pressure plate +DETONATOR_BUTTON_TRIPWIRE = Tripwire +DETONATOR_BUTTON_NOTEBLOCK = Noteblock +DETONATOR_BUTTON_DAYLIGHTSENSOR = Daylight sensor +DETONATOR_BUTTON_POWERABLE = Activateable block +DETONATOR_BUTTON_INVALID = Invalid +DETONATOR_WAND_NAME = §eDetonator +DETONATOR_WAND_LORE_1 = §eLeft-Click §8- §7Sets a point to be activated +DETONATOR_WAND_LORE_2 = §eLeft-Click + Shift §8- §7Adds a point +DETONATOR_WAND_LORE_3 = §eRight-Click §8- §7Activates all points +DETONATOR_HELP_WAND = §8/§edetonator wand §8-§7 Receive a Detonator +DETONATOR_HELP_CLICK = §8/§edetonator click §8-§7 Activate a Detonator (main-hand -> hotbar -> inventory) +DETONATOR_HELP_CLEAR = §8/§edetonator clear §8-§7 Clear a Detonator +DETONATOR_HELP_AUTOSTART = §8/§edetonator autostart §8-§7 Enable a Autostarttester automatically +DETONATOR_AUTOSTART_ENABLE = §7Autostart with detonate §aenabled +DETONATOR_AUTOSTART_DISABLE = §7Autostart with detonate §cdisabled +DETONATOR_POINT_ACT = §eSingle point activated +DETONATOR_POINTS_ACT = §e{0} points activated +DETONATOR_INVALID_POINT = §cOne point could not be activated +DETONATOR_INVALID_POINTS = §c{0} points could not be activated +DETONATOR_INVALID_BLOCK = §eThe block could not be addded # Hotbar -HOTBAR_HELP_GENERIC=§7Saves a hotbar. While joining a bau with an empty inventory this hotbar will be used. -HOTBAR_HELP_SAVE=§8/§ehotbar save §8-§7 Saves your current hotbar -HOTBAR_HELP_LOAD=§8/§ehotbar load §8-§7 Loads the saved hotbar -HOTBAR_HELP_SHOW=§8/§ehotbar show §8-§7 Displays the saved hotbar -HOTBAR_SAVED=§7Hotbar saved -HOTBAR_LOADED=§7Hotbar loaded -HOTBAR_INVENTORY=Standard hotbar +HOTBAR_HELP_GENERIC = §7Saves a hotbar. While joining a bau with an empty inventory this hotbar will be used. +HOTBAR_HELP_SAVE = §8/§ehotbar save §8-§7 Saves your current hotbar +HOTBAR_HELP_LOAD = §8/§ehotbar load §8-§7 Loads the saved hotbar +HOTBAR_HELP_SHOW = §8/§ehotbar show §8-§7 Displays the saved hotbar +HOTBAR_SAVED = §7Hotbar saved +HOTBAR_LOADED = §7Hotbar loaded +HOTBAR_INVENTORY = Standard hotbar # GUI -GUI_EDITOR_ITEM_NAME=§eGui editor -GUI_NAME=Bau GUI -GUI_ITEM_LORE1=§7Use this item to open the bau gui -GUI_ITEM_LORE2=§7or press swap hands twice. -GUI_EDITOR_TITLE=Bau GUI Editor -GUI_EDITOR_ITEM_ROW_P=§e+1 Row -GUI_EDITOR_ITEM_ROW_M=§e-1 Row -GUI_EDITOR_ITEM_TRASH=§cTrashcan -GUI_EDITOR_ITEM_TRASH_LORE=§7Drop item here -GUI_EDITOR_ITEM_MORE=§eMore items -GUI_EDITOR_ITEM_CLOSE=§eClose -GUI_EDITOR_TITLE_MORE=Select item +GUI_EDITOR_ITEM_NAME = §eGui editor +GUI_NAME = Bau GUI +GUI_ITEM_LORE1 = §7Use this item to open the bau gui +GUI_ITEM_LORE2 = §7or press swap hands twice. +GUI_EDITOR_TITLE = Bau GUI Editor +GUI_EDITOR_ITEM_ROW_P = §e+1 Row +GUI_EDITOR_ITEM_ROW_M = §e-1 Row +GUI_EDITOR_ITEM_TRASH = §cTrashcan +GUI_EDITOR_ITEM_TRASH_LORE = §7Drop item here +GUI_EDITOR_ITEM_MORE = §eMore items +GUI_EDITOR_ITEM_CLOSE = §eClose +GUI_EDITOR_TITLE_MORE = Select item # Script ## Errors -SCRIPT_ERROR_GUI=§cError in parsing script: Line {0} -SCRIPT_ERROR_GLOBAL=§cError in global script: Line {0} -SCRIPT_ERROR_CLICK=§cError in script: Line {0} -SCRIPT_ERROR_ONLY_IN_GLOBAL=§cThis function is only available in global scripts +SCRIPT_ERROR_GUI = §cError in parsing script: Line {0} +SCRIPT_ERROR_GLOBAL = §cError in global script: Line {0} +SCRIPT_ERROR_CLICK = §cError in script: Line {0} +SCRIPT_ERROR_ONLY_IN_GLOBAL = §cThis function is only available in global scripts ## CustomScript -SCRIPT_HOTKEY_ITEM_NAME=§7Hotkey§8: §e{0} -SCRIPT_EVENT_ITEM_NAME=§7Event§8: §e{0} -SCRIPT_COMMAND_ITEM_NAME=§7Command§8: §e/{0} +SCRIPT_HOTKEY_ITEM_NAME = §7Hotkey§8: §e{0} +SCRIPT_EVENT_ITEM_NAME = §7Event§8: §e{0} +SCRIPT_COMMAND_ITEM_NAME = §7Command§8: §e/{0} ## Script Menu GUI -SCRIPT_MENU_GUI_ITEM_LORE_1=§7Click to retrieve -SCRIPT_MENU_GUI_ITEM_LORE_2=§7Shift-Click to copy -SCRIPT_MENU_GUI_ITEM_LORE_3=§7Right-Click to edit -SCRIPT_MENU_GUI_ITEM_LORE_4=§7Middle-Click to preview -SCRIPT_MENU_GUI_NAME=§eScript-Menu -SCRIPT_MENU_GUI_ITEM_ADD_NAME=§eInsert -SCRIPT_MENU_GUI_ITEM_ADD_LORE=§7Click with a book to insert -SCRIPT_MENU_GUI_ENTER_NAME=§eEnter a name -SCRIPT_DEPRECATED=§cThe function §8\'§e{0}§8\'§c is deprecated and will be removed in the future. Please use §8\'§e{1}§8\'§c instead. +SCRIPT_MENU_GUI_ITEM_LORE_1 = §7Click to retrieve +SCRIPT_MENU_GUI_ITEM_LORE_2 = §7Shift-Click to copy +SCRIPT_MENU_GUI_ITEM_LORE_3 = §7Right-Click to edit +SCRIPT_MENU_GUI_ITEM_LORE_4 = §7Middle-Click to preview +SCRIPT_MENU_GUI_NAME = §eScript-Menu +SCRIPT_MENU_GUI_ITEM_ADD_NAME = §eInsert +SCRIPT_MENU_GUI_ITEM_ADD_LORE = §7Click with a book to insert +SCRIPT_MENU_GUI_ENTER_NAME = §eEnter a name +SCRIPT_DEPRECATED = §cThe function §8\'§e{0}§8\'§c is deprecated and will be removed in the future. Please use §8\'§e{1}§8\'§c instead. # Shield Printing -SHIELD_PRINTING_HELP_START=§8/§eshieldprinting start §8- §7Starts the shield printing -SHIELD_PRINTING_HELP_COPY=§8/§eshieldprinting copy §8- §7Copies the shield configuration -SHIELD_PRINTING_HELP_APPLY=§8/§eshieldprinting apply §8- §7Applies the shield configuration -SHIELD_PRINTING_HELP_STOP=§8/§eshieldprinting stop §8- §7Stops the shield printing -SHIELD_PRINTING_HELP_STEP_1=§81. §7Paste the schematic you want to use -SHIELD_PRINTING_HELP_STEP_2=§82. §7Start the shield printing with §8/§eshieldprinting start -SHIELD_PRINTING_HELP_STEP_3=§83. §7Wait until the shield printing is finished -SHIELD_PRINTING_HELP_STEP_4=§84. §7Edit the shields if necessary -SHIELD_PRINTING_HELP_STEP_5=§85. §7Copy the shields printing with §8/§eshieldprinting copy -SHIELD_PRINTING_HELP_STEP_6=§86. §7Paste the original schematic -SHIELD_PRINTING_HELP_STEP_7=§87. §7Apply the shield printing with §8/§eshieldprinting apply -SHIELD_PRINTING_NO_REGION=§cYou are not in a region. -SHIELD_PRINTING_NOT_RUNNING=§cThe shield printing is not running. -SHIELD_PRINTING_BOSSBAR=§fMovements: {0} -SHIELD_PRINTING_BOSSBAR_COPIED=§fMovements: {0} Copied: {1} -SHIELD_PRINTING_GUI_NAME=§7Shield Printing -SHIELD_PRINTING_GUI_APPLY=§aApply -SHIELD_PRINTING_GUI_STATE_PREVIOUS=§7R-Click§8: §7Previous -SHIELD_PRINTING_GUI_STATE_NEXT=§7L-Click§8: §7Next -SHIELD_PRINTING_GUI_STATE_ACTIVE=§e> §7{0} -SHIELD_PRINTING_GUI_STATE_INACTIVE=§8> §7{0} -SHIELD_PRINTING_GUI_STATE_FROM_ORIGINAL=Original -SHIELD_PRINTING_GUI_STATE_FROM_COPY=Copy -SHIELD_PRINTING_GUI_STATE_ALWAYS_ON=On -SHIELD_PRINTING_GUI_STATE_ALWAYS_OFF=Off -SHIELD_PRINTING_GUI_STATE_ALWAYS_OPEN=Open -SHIELD_PRINTING_GUI_STATE_ALWAYS_CLOSED=Closed -SHIELD_PRINTING_GUI_STATE_FENCE=§7{0} §fFence Connections -SHIELD_PRINTING_GUI_STATE_OPENABLE=§7{0} §fOpened -SHIELD_PRINTING_GUI_STATE_PISTON=§7{0} §fExtended -SHIELD_PRINTING_GUI_STATE_POWERABLE=§7{0} §fPowered -SHIELD_PRINTING_GUI_STATE_WALL=§7{0} §fWall Connections -SHIELD_PRINTING_START=§aThe shield printing has been started. -SHIELD_PRINTING_COPY=§aThe shield has been copied. -SHIELD_PRINTING_APPLY=§aThe shield has been applied. -SHIELD_PRINTING_STOP=§aThe shield printing has been stopped. +SHIELD_PRINTING_HELP_START = §8/§eshieldprinting start §8- §7Starts the shield printing +SHIELD_PRINTING_HELP_COPY = §8/§eshieldprinting copy §8- §7Copies the shield configuration +SHIELD_PRINTING_HELP_APPLY = §8/§eshieldprinting apply §8- §7Applies the shield configuration +SHIELD_PRINTING_HELP_STOP = §8/§eshieldprinting stop §8- §7Stops the shield printing +SHIELD_PRINTING_HELP_STEP_1 = §81. §7Paste the schematic you want to use +SHIELD_PRINTING_HELP_STEP_2 = §82. §7Start the shield printing with §8/§eshieldprinting start +SHIELD_PRINTING_HELP_STEP_3 = §83. §7Wait until the shield printing is finished +SHIELD_PRINTING_HELP_STEP_4 = §84. §7Edit the shields if necessary +SHIELD_PRINTING_HELP_STEP_5 = §85. §7Copy the shields printing with §8/§eshieldprinting copy +SHIELD_PRINTING_HELP_STEP_6 = §86. §7Paste the original schematic +SHIELD_PRINTING_HELP_STEP_7 = §87. §7Apply the shield printing with §8/§eshieldprinting apply +SHIELD_PRINTING_NO_REGION = §cYou are not in a region. +SHIELD_PRINTING_NOT_RUNNING = §cThe shield printing is not running. +SHIELD_PRINTING_BOSSBAR = §fMovements: {0} +SHIELD_PRINTING_BOSSBAR_COPIED = §fMovements: {0} Copied: {1} +SHIELD_PRINTING_GUI_NAME = §7Shield Printing +SHIELD_PRINTING_GUI_APPLY = §aApply +SHIELD_PRINTING_GUI_STATE_PREVIOUS = §7R-Click§8: §7Previous +SHIELD_PRINTING_GUI_STATE_NEXT = §7L-Click§8: §7Next +SHIELD_PRINTING_GUI_STATE_ACTIVE = §e> §7{0} +SHIELD_PRINTING_GUI_STATE_INACTIVE = §8> §7{0} +SHIELD_PRINTING_GUI_STATE_FROM_ORIGINAL = Original +SHIELD_PRINTING_GUI_STATE_FROM_COPY = Copy +SHIELD_PRINTING_GUI_STATE_ALWAYS_ON = On +SHIELD_PRINTING_GUI_STATE_ALWAYS_OFF = Off +SHIELD_PRINTING_GUI_STATE_ALWAYS_OPEN = Open +SHIELD_PRINTING_GUI_STATE_ALWAYS_CLOSED = Closed +SHIELD_PRINTING_GUI_STATE_FENCE = §7{0} §fFence Connections +SHIELD_PRINTING_GUI_STATE_OPENABLE = §7{0} §fOpened +SHIELD_PRINTING_GUI_STATE_PISTON = §7{0} §fExtended +SHIELD_PRINTING_GUI_STATE_POWERABLE = §7{0} §fPowered +SHIELD_PRINTING_GUI_STATE_WALL = §7{0} §fWall Connections +SHIELD_PRINTING_START = §aThe shield printing has been started. +SHIELD_PRINTING_COPY = §aThe shield has been copied. +SHIELD_PRINTING_APPLY = §aThe shield has been applied. +SHIELD_PRINTING_STOP = §aThe shield printing has been stopped. # Unsign Book -UNSIGN_HELP=§8/§eunsign §8- §7Make a signed book writable again +UNSIGN_HELP = §8/§eunsign §8- §7Make a signed book writable again # Simulator -SIMULATOR_HELP=§8/§esimulator §8-§7 Gives you the simulator wand -SIMULATOR_CREATE_HELP=§8/§esimulator create §8[§7name§8] §8-§7 Create a new simulator -SIMULATOR_CHANGE_HELP=§8/§esimulator change §8-§7 Change your simulator wand selection -SIMULATOR_DELETE_HELP=§8/§esimulator delete §8[§7name§8] §8-§7 Deletes the simulator -SIMULATOR_START_HELP=§8/§esimulator start §8[§7name§8] §8-§7 Starts the simulator -SIMULATOR_COPY_HELP=§8/§esimulator copy §8[§7to-copy§8] §8[§7name§8] §8-§7 Copy the simulator -SIMULATOR_RENAME_HELP=§8/§esimulator rename §8[§7to-rename§8] §8[§7name§8] §8-§7 Rename the simulator -SIMULATOR_GUI_ITEM_NAME=§eTNT Simulator -SIMULATOR_NO_SIM_IN_HAND=§cNo simulator item selected -SIMULATOR_GUI_SELECT_SIM=Simulator selection -SIMULATOR_GUI_CREATE_SIM=§eCreate simulator -SIMULATOR_GUI_CREATE_SIM_GUI=Create simulator -SIMULATOR_NAME_ALREADY_EXISTS=§cSimulator already exists -SIMULATOR_NAME_INVALID=§cInvalid name -SIMULATOR_ERROR_COPY=§cCopy failed -SIMULATOR_NOT_EXISTS=§cSimulator does not exist -SIMULATOR_CREATE=§aSimulator created -SIMULATOR_EDIT_LOCATION=§7Edit position -SIMULATOR_EDIT_PROPERTIES=§7Edit properties -SIMULATOR_EDIT_OTHER=§7Edit other -SIMULATOR_EDIT_GROUP=§7Edit group -SIMULATOR_EDIT_GROUP_MENU=§eEdit group -SIMULATOR_WAND_NAME=§eSimulator -SIMULATOR_WAND_NAME_SELECTED=§7Simulator §8- §e{0} -SIMULATOR_WAND_LORE_1=§eRight click §8- §7Adds a position -SIMULATOR_WAND_LORE_2=§eSneaking §8- §7Free movement -SIMULATOR_WAND_LORE_3=§eLeft click §8- §7Start the simulation -SIMULATOR_WAND_LORE_4=§eRight click in air §8- §7Opens the gui -SIMULATOR_WAND_LORE_5=§eDouble Sneak §8- §7Swap between TNT and Redstone Block -SIMULATOR_REGION_FROZEN=§cSimulator cannot be used inside frozen regions +SIMULATOR_HELP = §8/§esimulator §8-§7 Gives you the simulator wand +SIMULATOR_CREATE_HELP = §8/§esimulator create §8[§7name§8] §8-§7 Create a new simulator +SIMULATOR_CHANGE_HELP = §8/§esimulator change §8-§7 Change your simulator wand selection +SIMULATOR_DELETE_HELP = §8/§esimulator delete §8[§7name§8] §8-§7 Deletes the simulator +SIMULATOR_START_HELP = §8/§esimulator start §8[§7name§8] §8-§7 Starts the simulator +SIMULATOR_COPY_HELP = §8/§esimulator copy §8[§7to-copy§8] §8[§7name§8] §8-§7 Copy the simulator +SIMULATOR_RENAME_HELP = §8/§esimulator rename §8[§7to-rename§8] §8[§7name§8] §8-§7 Rename the simulator +SIMULATOR_GUI_ITEM_NAME = §eTNT Simulator +SIMULATOR_NO_SIM_IN_HAND = §cNo simulator item selected +SIMULATOR_GUI_SELECT_SIM = Simulator selection +SIMULATOR_GUI_CREATE_SIM = §eCreate simulator +SIMULATOR_GUI_CREATE_SIM_GUI = Create simulator +SIMULATOR_NAME_ALREADY_EXISTS = §cSimulator already exists +SIMULATOR_NAME_INVALID = §cInvalid name +SIMULATOR_ERROR_COPY = §cCopy failed +SIMULATOR_NOT_EXISTS = §cSimulator does not exist +SIMULATOR_CREATE = §aSimulator created +SIMULATOR_EDIT_LOCATION = §7Edit position +SIMULATOR_EDIT_PROPERTIES = §7Edit properties +SIMULATOR_EDIT_OTHER = §7Edit other +SIMULATOR_EDIT_GROUP = §7Edit group +SIMULATOR_EDIT_GROUP_MENU = §eEdit group +SIMULATOR_WAND_NAME = §eSimulator +SIMULATOR_WAND_NAME_SELECTED = §7Simulator §8- §e{0} +SIMULATOR_WAND_LORE_1 = §eRight click §8- §7Adds a position +SIMULATOR_WAND_LORE_2 = §eSneaking §8- §7Free movement +SIMULATOR_WAND_LORE_3 = §eLeft click §8- §7Start the simulation +SIMULATOR_WAND_LORE_4 = §eRight click in air §8- §7Opens the gui +SIMULATOR_WAND_LORE_5 = §eDouble Sneak §8- §7Swap between TNT and Redstone Block +SIMULATOR_REGION_FROZEN = §cSimulator cannot be used inside frozen regions ## Other -SIMULATOR_PLUS_ONE=§7+1 -SIMULATOR_PLUS_PIXEL_SHIFT=§eShift §7Click for §e+0,0625 -SIMULATOR_PLUS_FIVE_SHIFT=§eShift §7Click for §e+5 -SIMULATOR_MINUS_ONE=§7-1 -SIMULATOR_MINUS_PIXEL_SHIFT=§eShift §7Click for §e-0,0625 -SIMULATOR_MINUS_FIVE_SHIFT=§eShift §7Click for §e-5 -SIMULATOR_POSITION_X=§7x-Position -SIMULATOR_POSITION_Y=§7y-Position -SIMULATOR_POSITION_Z=§7z-Position -SIMULATOR_BACK=§eBack -SIMULATOR_GUI_TOTAL_TNT=§7Total TNT§8: §e{0} -SIMULATOR_DELETED=§cSimulator deleted -SIMULATOR_RENAMED=§cSimulator renamed from {0} to {1} +SIMULATOR_PLUS_ONE = §7+1 +SIMULATOR_PLUS_PIXEL_SHIFT = §eShift §7Click for §e+0,0625 +SIMULATOR_PLUS_FIVE_SHIFT = §eShift §7Click for §e+5 +SIMULATOR_MINUS_ONE = §7-1 +SIMULATOR_MINUS_PIXEL_SHIFT = §eShift §7Click for §e-0,0625 +SIMULATOR_MINUS_FIVE_SHIFT = §eShift §7Click for §e-5 +SIMULATOR_POSITION_X = §7x-Position +SIMULATOR_POSITION_Y = §7y-Position +SIMULATOR_POSITION_Z = §7z-Position +SIMULATOR_BACK = §eBack +SIMULATOR_GUI_TOTAL_TNT = §7Total TNT§8: §e{0} +SIMULATOR_DELETED = §cSimulator deleted +SIMULATOR_RENAMED = §cSimulator renamed from {0} to {1} ## GUI -SIMULATOR_POSITION_EDIT=§eEdit position -SIMULATOR_POSITION_ADD=§eSet position -SIMULATOR_GUI_TNT_SPAWN_NAME=§eTNT -SIMULATOR_GUI_TNT_SPAWN_LORE_1=§7TNT-Count§8: §e{0} -SIMULATOR_GUI_TNT_SPAWN_LORE_2=§7Tick§8: §e{0} -SIMULATOR_GUI_TNT_SPAWN_LORE_3=§7Lifespan§8: §e{0} -SIMULATOR_GUI_TNT_SPAWN_LORE_4=§7 -SIMULATOR_GUI_TNT_SPAWN_LORE_5=§7x§8: §e{0} -SIMULATOR_GUI_TNT_SPAWN_LORE_6=§7y§8: §e{0} -SIMULATOR_GUI_TNT_SPAWN_LORE_7=§7z§8: §e{0} -SIMULATOR_GUI_TNT_GROUP_NAME=§eTNT group -SIMULATOR_GUI_TNT_GROUP_LORE_1=§7Element count§8: §e{0} -SIMULATOR_GUI_TNT_GROUP_LORE_2=§7Tick§8: §e{0} -SIMULATOR_GUI_TNT_GROUP_LORE_3=§7 -SIMULATOR_GUI_TNT_GROUP_LORE_4=§7x§8: §e{0} -SIMULATOR_GUI_TNT_GROUP_LORE_5=§7y§8: §e{0} -SIMULATOR_GUI_TNT_GROUP_LORE_6=§7z§8: §e{0} -SIMULATOR_GUI_TNT_DISABLED=§cDisabled -SIMULATOR_GUI_NAME=Simulator -SIMULATOR_GUI_DELETE=§cDelete TNT -SIMULATOR_GUI_AUTO_TRACE=§eAutoTrace§8: §7{0} -SIMULATOR_GUI_MOVE_ALL=§eMove all -SIMULATOR_ALIGNMENT_CENTER=§7Alignment§8: §eCenter -SIMULATOR_ALIGNMENT_POSITIVE_X=§7Alignment§8: §ePositive X -SIMULATOR_ALIGNMENT_NEGATIVE_X=§7Alignment§8: §eNegative X -SIMULATOR_ALIGNMENT_POSITIVE_Z=§7Alignment§8: §ePositive Z -SIMULATOR_ALIGNMENT_NEGATIVE_Z=§7Alignment§8: §eNegative Z -SIMULATOR_MOVE_ALL_GUI_NAME=Move TNT -SIMULATOR_TNT_SPAWN_GUI_NAME=Configure TNT {0} -SIMULATOR_TNT_SPAWN_EDIT_LOCATION=- Location -SIMULATOR_TNT_SPAWN_EDIT_PROPERTIES=- Properties -SIMULATOR_TNT_SPAWN_EDIT_OTHER=- Other -SIMULATOR_TNT_SPAWN_LORE=§eClick to change -SIMULATOR_TNT_SPAWN_COUNT=§7TNT-Count §8- §e{0} -SIMULATOR_TNT_SPAWN_COUNT_ANVIL_GUI_NAME=TNT-Count -SIMULATOR_TNT_SPAWN_TICK=§7Tick §8- §e{0} -SIMULATOR_TNT_SPAWN_TICK_ANVIL_GUI_NAME=Tick offset -SIMULATOR_TNT_SPAWN_FUSE=§7Lifespan §8- §e{0} -SIMULATOR_TNT_SPAWN_FUSE_ANVIL_GUI_NAME=Fuse-Ticks -SIMULATOR_TNT_SPAWN_VELOCITY_NAME=§7TNT -SIMULATOR_TNT_SPAWN_VELOCITY_X=§7TNT §eJump X §8- {0} -SIMULATOR_TNT_SPAWN_VELOCITY_Y=§7TNT §eJump Y §8- {0} -SIMULATOR_TNT_SPAWN_VELOCITY_Z=§7TNT §eJump Z §8- {0} -SIMULATOR_TNT_SPAWN_VELOCITY_ON=§aon -SIMULATOR_TNT_SPAWN_VELOCITY_OFF=§coff -SIMULATOR_TNT_SPAWN_POSITION_X=§7x-Position §8- §e{0} -SIMULATOR_TNT_SPAWN_POSITION_Y=§7y-Position §8- §e{0} -SIMULATOR_TNT_SPAWN_POSITION_Z=§7z-Position §8- §e{0} -SIMULATOR_TNT_SPAWN_ACTIVATED_NAME=§7Primed by -SIMULATOR_TNT_SPAWN_ACTIVATED_WITH=§7Primed by §8- §e{0} -SIMULATOR_TNT_SPAWN_ACTIVATED_WITH_COMPARATOR=Comparator -SIMULATOR_TNT_SPAWN_ACTIVATED_WITH_REPEATER=Repeater -SIMULATOR_TNT_SPAWN_ACTIVATED_WITH_OBSERVER=Observer -SIMULATOR_TNT_SPAWN_INACTIVE=§7> §7{0} -SIMULATOR_TNT_SPAWN_ACTIVE=§e> §7{0} -SIMULATOR_TNT_SPAWN_MATERIAL=§eMaterial -SIMULATOR_TNT_SPAWN_MATERIAL_LORE_1=§7Current material§8: §e{0} -SIMULATOR_TNT_SPAWN_MATERIAL_LORE_2=§eLeft-Click §7to change -SIMULATOR_TNT_SPAWN_MATERIAL_LORE_3=§eRight-Click §7to reset -SIMULATOR_TNT_SPAWN_ENABLED=§aEnabled -SIMULATOR_TNT_SPAWN_DISABLED=§cDisabled -SIMULATOR_MATERIAL_GUI_NAME=Change material -SIMULATOR_MATERIAL_NAME=§e{0} -SIMULATOR_MATERIAL_NAME_LORE=§7Material §8- §e{0} -SIMULATOR_MATERIAL_CLICK=§eClick to choose -SIMULATOR_TNT_SPAWN_ADD_IGNITION_PHASE=§eAdd prime phase -SIMULATOR_TNT_SPAWN_ADD_TNT=§eAdd TNT -SIMULATOR_TNT_SPAWN_REMOVE_TNT=§cRemove -SIMULATOR_TNT_SPAWN_POSITION_ANVIL_GUI_NAME=Position +SIMULATOR_POSITION_EDIT = §eEdit position +SIMULATOR_POSITION_ADD = §eSet position +SIMULATOR_GUI_TNT_SPAWN_NAME = §eTNT +SIMULATOR_GUI_TNT_SPAWN_LORE_1 = §7TNT-Count§8: §e{0} +SIMULATOR_GUI_TNT_SPAWN_LORE_2 = §7Tick§8: §e{0} +SIMULATOR_GUI_TNT_SPAWN_LORE_3 = §7Lifespan§8: §e{0} +SIMULATOR_GUI_TNT_SPAWN_LORE_4 = §7 +SIMULATOR_GUI_TNT_SPAWN_LORE_5 = §7x§8: §e{0} +SIMULATOR_GUI_TNT_SPAWN_LORE_6 = §7y§8: §e{0} +SIMULATOR_GUI_TNT_SPAWN_LORE_7 = §7z§8: §e{0} +SIMULATOR_GUI_TNT_GROUP_NAME = §eTNT group +SIMULATOR_GUI_TNT_GROUP_LORE_1 = §7Element count§8: §e{0} +SIMULATOR_GUI_TNT_GROUP_LORE_2 = §7Tick§8: §e{0} +SIMULATOR_GUI_TNT_GROUP_LORE_3 = §7 +SIMULATOR_GUI_TNT_GROUP_LORE_4 = §7x§8: §e{0} +SIMULATOR_GUI_TNT_GROUP_LORE_5 = §7y§8: §e{0} +SIMULATOR_GUI_TNT_GROUP_LORE_6 = §7z§8: §e{0} +SIMULATOR_GUI_TNT_DISABLED = §cDisabled +SIMULATOR_GUI_NAME = Simulator +SIMULATOR_GUI_DELETE = §cDelete TNT +SIMULATOR_GUI_AUTO_TRACE = §eAutoTrace§8: §7{0} +SIMULATOR_GUI_MOVE_ALL = §eMove all +SIMULATOR_ALIGNMENT_CENTER = §7Alignment§8: §eCenter +SIMULATOR_ALIGNMENT_POSITIVE_X = §7Alignment§8: §ePositive X +SIMULATOR_ALIGNMENT_NEGATIVE_X = §7Alignment§8: §eNegative X +SIMULATOR_ALIGNMENT_POSITIVE_Z = §7Alignment§8: §ePositive Z +SIMULATOR_ALIGNMENT_NEGATIVE_Z = §7Alignment§8: §eNegative Z +SIMULATOR_MOVE_ALL_GUI_NAME = Move TNT +SIMULATOR_TNT_SPAWN_GUI_NAME = Configure TNT {0} +SIMULATOR_TNT_SPAWN_EDIT_LOCATION = - Location +SIMULATOR_TNT_SPAWN_EDIT_PROPERTIES = - Properties +SIMULATOR_TNT_SPAWN_EDIT_OTHER = - Other +SIMULATOR_TNT_SPAWN_LORE = §eClick to change +SIMULATOR_TNT_SPAWN_COUNT = §7TNT-Count §8- §e{0} +SIMULATOR_TNT_SPAWN_COUNT_ANVIL_GUI_NAME = TNT-Count +SIMULATOR_TNT_SPAWN_TICK = §7Tick §8- §e{0} +SIMULATOR_TNT_SPAWN_TICK_ANVIL_GUI_NAME = Tick offset +SIMULATOR_TNT_SPAWN_FUSE = §7Lifespan §8- §e{0} +SIMULATOR_TNT_SPAWN_FUSE_ANVIL_GUI_NAME = Fuse-Ticks +SIMULATOR_TNT_SPAWN_VELOCITY_NAME = §7TNT +SIMULATOR_TNT_SPAWN_VELOCITY_X = §7TNT §eJump X §8- {0} +SIMULATOR_TNT_SPAWN_VELOCITY_Y = §7TNT §eJump Y §8- {0} +SIMULATOR_TNT_SPAWN_VELOCITY_Z = §7TNT §eJump Z §8- {0} +SIMULATOR_TNT_SPAWN_VELOCITY_ON = §aon +SIMULATOR_TNT_SPAWN_VELOCITY_OFF = §coff +SIMULATOR_TNT_SPAWN_POSITION_X = §7x-Position §8- §e{0} +SIMULATOR_TNT_SPAWN_POSITION_Y = §7y-Position §8- §e{0} +SIMULATOR_TNT_SPAWN_POSITION_Z = §7z-Position §8- §e{0} +SIMULATOR_TNT_SPAWN_ACTIVATED_NAME = §7Primed by +SIMULATOR_TNT_SPAWN_ACTIVATED_WITH = §7Primed by §8- §e{0} +SIMULATOR_TNT_SPAWN_ACTIVATED_WITH_COMPARATOR = Comparator +SIMULATOR_TNT_SPAWN_ACTIVATED_WITH_REPEATER = Repeater +SIMULATOR_TNT_SPAWN_ACTIVATED_WITH_OBSERVER = Observer +SIMULATOR_TNT_SPAWN_INACTIVE = §7> §7{0} +SIMULATOR_TNT_SPAWN_ACTIVE = §e> §7{0} +SIMULATOR_TNT_SPAWN_MATERIAL = §eMaterial +SIMULATOR_TNT_SPAWN_MATERIAL_LORE_1 = §7Current material§8: §e{0} +SIMULATOR_TNT_SPAWN_MATERIAL_LORE_2 = §eLeft-Click §7to change +SIMULATOR_TNT_SPAWN_MATERIAL_LORE_3 = §eRight-Click §7to reset +SIMULATOR_TNT_SPAWN_ENABLED = §aEnabled +SIMULATOR_TNT_SPAWN_DISABLED = §cDisabled +SIMULATOR_MATERIAL_GUI_NAME = Change material +SIMULATOR_MATERIAL_NAME = §e{0} +SIMULATOR_MATERIAL_NAME_LORE = §7Material §8- §e{0} +SIMULATOR_MATERIAL_CLICK = §eClick to choose +SIMULATOR_TNT_SPAWN_ADD_IGNITION_PHASE = §eAdd prime phase +SIMULATOR_TNT_SPAWN_ADD_TNT = §eAdd TNT +SIMULATOR_TNT_SPAWN_REMOVE_TNT = §cRemove +SIMULATOR_TNT_SPAWN_POSITION_ANVIL_GUI_NAME = Position # SmartPlace -SMART_PLACE_HELP=§8/§esmartplace §8-§7 Toggles SmartPlace -SMART_PLACE_INFO=§7Places rotatable blocks §eaway§7 from you when §esneaking§7. -SMART_PLACE_ENABLE=§aSmartPlace activated -SMART_PLACE_DISABLE=§cSmartPlace deactivated +SMART_PLACE_HELP = §8/§esmartplace §8-§7 Toggles SmartPlace +SMART_PLACE_INFO = §7Places rotatable blocks §eaway§7 from you when §esneaking§7. +SMART_PLACE_ENABLE = §aSmartPlace activated +SMART_PLACE_DISABLE = §cSmartPlace deactivated # InventoryFiller -INVENTORY_FILL_HELP=§8/§einventoryfill §8- §7Toggles InventoryFill -INVENTORY_FILL_INFO=§7Helps you fill containers by looking at them while sneaking and dropping the item. Or just scroll on a container to change the amount of the item inside. -INVENTORY_FILL_ENABLE=§aInventoryFiller activated -INVENTORY_FILL_DISABLE=§cInventoryFiller deactivated -INVENTORY_FILL_GUI_NAME=Inventory Filler -INVENTORY_FILL_GUI_POWER=§ePower§8:§7 {0} -INVENTORY_FILL_GUI_TNT=§eTNT +INVENTORY_FILL_HELP = §8/§einventoryfill §8- §7Toggles InventoryFill +INVENTORY_FILL_INFO = §7Helps you fill containers by looking at them while sneaking and dropping the item. Or just scroll on a container to change the amount of the item inside. +INVENTORY_FILL_ENABLE = §aInventoryFiller activated +INVENTORY_FILL_DISABLE = §cInventoryFiller deactivated +INVENTORY_FILL_GUI_NAME = Inventory Filler +INVENTORY_FILL_GUI_POWER = §ePower§8:§7 {0} +INVENTORY_FILL_GUI_TNT = §eTNT # Ray Visualizer -RAY_VISUALIZER_ENABLE=§aRayVisualizer activated -RAY_VISUALIZER_DISABLE=§aRayVisualizer deactivated +RAY_VISUALIZER_ENABLE = §aRayVisualizer activated +RAY_VISUALIZER_DISABLE = §aRayVisualizer deactivated # Killchecker -KILLCHECKER_HELP_ENABLE=§8/§ekillchecker enable §8- §7Enables Killchecker / Recalculates kills -KILLCHECKER_HELP_DISABLE=§8/§ekillchecker disable §8- §7Disables Killchecker -KILLCHECKER_INFO=§7Shows the overlaps of cannon kills in your build area. -KILLCHECKER_INFO2=§7Only colorable blocks like Wool, Terractotta, Stained Glass and Concrete are counted. -KILLCHECKER_ENABLE=§aKillchecker activated -KILLCHECKER_DISABLE=§cKillchecker deactivated -KILLCHECKER_NO_BUILD=§cThere is no Build Area in this Region -KILLCHECKER_BOSSBAR=§e§l{0} §7(§e{1}%§7) §e§l{2}§7 cannons +KILLCHECKER_HELP_ENABLE = §8/§ekillchecker enable §8- §7Enables Killchecker / Recalculates kills +KILLCHECKER_HELP_DISABLE = §8/§ekillchecker disable §8- §7Disables Killchecker +KILLCHECKER_INFO = §7Shows the overlaps of cannon kills in your build area. +KILLCHECKER_INFO2 = §7Only colorable blocks like Wool, Terractotta, Stained Glass and Concrete are counted. +KILLCHECKER_ENABLE = §aKillchecker activated +KILLCHECKER_DISABLE = §cKillchecker deactivated +KILLCHECKER_NO_BUILD = §cThere is no Build Area in this Region +KILLCHECKER_BOSSBAR = §e§l{0} §7(§e{1}%§7) §e§l{2}§7 cannons # BlockCounter -BLOCK_COUNTER_HELP_TOGGLE=§8/§eblockcounter §8- §7Toggle on/off -BLOCK_COUNTER_HELP_ENABLE=§8/§eblockcounter enable §8- §7Toggles BlockCounter on -BLOCK_COUNTER_HELP_DISABLE=§8/§eblockcounter disable §8- §7Toggles BlockCounter off -BLOCK_COUNTER_MESSAGE=§7Damage §8> §e{0} §7Blocks §e{1} §7TNT §e{2} §7Blocks/TNT §e{3} §7Blocks/tick -BLOCK_COUNTER_MESSAGE_SECOND=§7Damage §8> §e{0} §7Blocks §e{1} §7TNT §e{2} §7Blocks/TNT §e{3} §7Blocks/s -BLOCK_COUNTER_ENABLE=§7BlockCounter activated -BLOCK_COUNTER_DISABLE=§7BlockCounter deactivated +BLOCK_COUNTER_HELP_TOGGLE = §8/§eblockcounter §8- §7Toggle on/off +BLOCK_COUNTER_HELP_ENABLE = §8/§eblockcounter enable §8- §7Toggles BlockCounter on +BLOCK_COUNTER_HELP_DISABLE = §8/§eblockcounter disable §8- §7Toggles BlockCounter off +BLOCK_COUNTER_MESSAGE = §7Damage §8> §e{0} §7Blocks §e{1} §7TNT §e{2} §7Blocks/TNT §e{3} §7Blocks/tick +BLOCK_COUNTER_MESSAGE_SECOND = §7Damage §8> §e{0} §7Blocks §e{1} §7TNT §e{2} §7Blocks/TNT §e{3} §7Blocks/s +BLOCK_COUNTER_ENABLE = §7BlockCounter activated +BLOCK_COUNTER_DISABLE = §7BlockCounter deactivated # DepthCounter -DEPTH_COUNTER_DISABLE=§7Depth Counter disabled -DEPTH_COUNTER_ENABLE=§7Depth Counter enabled -DEPTH_COUNTER_MESSAGE=§7Depth §8> §7 -DEPTH_COUNTER_COUNT={0}{1}§8×{2}{3}§8×{4}{5} -DEPTH_COUNTER_HOVER=§7X§8×§7Y§8×§7Z -DEPTH_COUNTER_TNT=§7 TNT§8: §e{0} +DEPTH_COUNTER_DISABLE = §7Depth Counter disabled +DEPTH_COUNTER_ENABLE = §7Depth Counter enabled +DEPTH_COUNTER_MESSAGE = §7Depth §8> §7 +DEPTH_COUNTER_COUNT = {0}{1}§8×{2}{3}§8×{4}{5} +DEPTH_COUNTER_HOVER = §7X§8×§7Y§8×§7Z +DEPTH_COUNTER_TNT = §7 TNT§8: §e{0} # TPSLimit -TPSLIMIT_FREEZE_HELP=§8/§etpslimit 0 §8-§7 Freeze TPS -TPSLIMIT_LIMIT_HELP=§8/§etpslimit §8[§720>x>0.5§8] §8-§7 Slow TPS down -TPSLIMIT_WARP_HELP=§8/§etpslimit §8[§7x>20§8] §8-§7 Speed TPS up -TPSLIMIT_DEFAULT_HELP=§8/§etpslimit default §8-§7 Set TPS to 20 -TPSLIMIT_HELP=§8/§etpslimit §8-§7 Show current TPS -TICK_FREEZE_HELP=§8/§etick rate 0 §8-§7 Freeze TPS -TICK_FREEZE_HELP_2=§8/§etick freeze §8-§7 Freeze TPS -TICK_UNFREEZE_HELP=§8/§etick unfreeze §8-§7 Set TPS to 20 -TICK_LIMIT_HELP=§8/§etick rate §8[§720>x>0.5§8] §8-§7 Slow TPS down -TICK_WARP_HELP=§8/§etick rate §8[§7x>20§8] §8-§7 Speed TPS up -TICK_DEFAULT_HELP=§8/§etick rate default §8-§7 Set TPS to 20 -TICK_HELP=§8/§etick rate §8-§7 Show current TPS -TICK_STEPPING_HELP=§8/§etick step §8<§7Ticks§8> §8-§7 Step n ticks or 1 forward -TICK_WARPING_HELP=§8/§etick warp §8<§7Ticks§8> §8<§7TPS§8> §8-§7 Warp n ticks or 1 forward -TICK_BOSSBAR=§7Skipped §e{0}§8/§7{1} -TPSLIMIT_GUI_ITEM_NAME=§eTPS limiter -TPSLIMIT_GUI_ITEM_LORE=§7Currently: §e{0} -TPSLIMIT_ANVIL_GUI=New TPS limit -TPSLIMIT_CURRENT=§7Current TPS limit§8: §e{0} -TPSLIMIT_SET=§eSet TPS limit to {0} -TPSLIMIT_FROZEN=§eTPS frozen +TPSLIMIT_FREEZE_HELP = §8/§etpslimit 0 §8-§7 Freeze TPS +TPSLIMIT_LIMIT_HELP = §8/§etpslimit §8[§720>x>0.5§8] §8-§7 Slow TPS down +TPSLIMIT_WARP_HELP = §8/§etpslimit §8[§7x>20§8] §8-§7 Speed TPS up +TPSLIMIT_DEFAULT_HELP = §8/§etpslimit default §8-§7 Set TPS to 20 +TPSLIMIT_HELP = §8/§etpslimit §8-§7 Show current TPS +TICK_FREEZE_HELP = §8/§etick rate 0 §8-§7 Freeze TPS +TICK_FREEZE_HELP_2 = §8/§etick freeze §8-§7 Freeze TPS +TICK_UNFREEZE_HELP = §8/§etick unfreeze §8-§7 Set TPS to 20 +TICK_LIMIT_HELP = §8/§etick rate §8[§720>x>0.5§8] §8-§7 Slow TPS down +TICK_WARP_HELP = §8/§etick rate §8[§7x>20§8] §8-§7 Speed TPS up +TICK_DEFAULT_HELP = §8/§etick rate default §8-§7 Set TPS to 20 +TICK_HELP = §8/§etick rate §8-§7 Show current TPS +TICK_STEPPING_HELP = §8/§etick step §8<§7Ticks§8> §8-§7 Step n ticks or 1 forward +TICK_WARPING_HELP = §8/§etick warp §8<§7Ticks§8> §8<§7TPS§8> §8-§7 Warp n ticks or 1 forward +TICK_BOSSBAR = §7Skipped §e{0}§8/§7{1} +TPSLIMIT_GUI_ITEM_NAME = §eTPS limiter +TPSLIMIT_GUI_ITEM_LORE = §7Currently: §e{0} +TPSLIMIT_ANVIL_GUI = New TPS limit +TPSLIMIT_CURRENT = §7Current TPS limit§8: §e{0} +TPSLIMIT_SET = §eSet TPS limit to {0} +TPSLIMIT_FROZEN = §eTPS frozen # Trace -TRACE_RECORD=§aon -TRACE_HAS_TRACES=§ehas Traces -TRACE_IDLE_AUTO=§eauto -TRACE_MESSAGE_START=§aTNT-Tracer started -TRACE_MESSAGE_AUTO_START=§eAuto TNT-Tracer started -TRACE_MESSAGE_AUTO_STOP=§cAuto TNT-Tracer stopped -TRACE_MESSAGE_STOP=§cTNT-Tracer stopped -TRACE_MESSAGE_CLEAR=§cAll TNT-positions deleted -TRACE_MESSAGE_DELETE=§cTrace TNT-positions deleted -TRACE_MESSAGE_SHOW=§aAll TNT-positions shown -TRACE_MESSAGE_HIDE=§cAll TNT-positions hidden -TRACE_MESSAGE_SHOW_AT=§aTNT-positions shown at {0} -TRACE_MESSAGE_SHOW_FROM=§aAll TNT-positions shown from {0} -TRACE_MESSAGE_SHOW_FROM_TO=§aAll TNT-positions shown from {0} to {1} -TRACE_MESSAGE_SHOW_TO_SMALLER=§cTo must be bigger then from -TRACE_MESSAGE_CLICK_ISOLATE=§eClick to §aisolate§8/§cunisolate -TRACE_MESSAGE_ISOLATE=§eTNT Positions have been isolated -TRACE_MESSAGE_BROADCAST=§e{0} shared his trace show state. -TRACE_MESSAGE_BROADCAST_HOVER=§eClick to view -TRACE_MESSAGE_FOLLOW=§aYou are now following {0} Trace show state -TRACE_MESSAGE_FOLLOW_SELF=§cYou cannot follow yourself! -TRACE_MESSAGE_UNFOLLOW=§cYou are no longer following a Trace show state -TRACE_COMMAND_HELP_START=§8/§etrace start §8- §7Starts recording of all TNT-positions -TRACE_COMMAND_HELP_STOP=§8/§etrace stop §8- §7Stops the TNT-Tracer -TRACE_COMMAND_HELP_AUTO=§8/§etrace toggleauto §8- §7Automatic start of recording -TRACE_COMMAND_HELP_SHOW=§8/§etrace show §8<§eParameter§8> - §7Shows all TNT-positions -TRACE_COMMAND_HELP_SHOW_AT=§8/§etrace show §7at §8<§eTIME§8> - §7Shows all Trace Positions at §8<§eTIME§8> -TRACE_COMMAND_HELP_SHOW_AT_WITH=§8/§etrace show §7at §8<§eTIME§8> §7with §8<§eParameter§8> - §7Shows all Trace Positions at §8<§eTIME§8> -TRACE_COMMAND_HELP_SHOW_FROM=§8/§etrace show §7from §8<§eFROM§8> - §7Shows all Trace Positions from §8<§eFROM§8> -TRACE_COMMAND_HELP_SHOW_FROM_WITH=§8/§etrace show §7from §8<§eFROM§8> §7with §8<§eParameter§8> - §7Shows all Trace Positions from §8<§eFROM§8> -TRACE_COMMAND_HELP_SHOW_FROM_TO=§8/§etrace show §7from §8<§eFROM§8> §7to §8<§eTO§8> - §7Shows all Trace Positions from §8<§eFROM§8> to §8<§eTO§8> -TRACE_COMMAND_HELP_SHOW_FROM_TO_WITH=§8/§etrace show §7from §8<§eFROM§8> §7to §8<§eTO§8> §7with §8<§eParameter§8> - §7Shows all Trace Positions from §8<§eFROM§8> to §8<§eTO§8> -TRACE_COMMAND_HELP_HIDE=§8/§etrace hide §8- §7Hides all TNT-positions -TRACE_COMMAND_HELP_DELETE=§8/§etrace delete §8[§eTrace§8] §8- §7Deletes all TNT-positions or a Trace -TRACE_COMMAND_HELP_ISOLATE=§8/§etrace isolate §8[§eTrace§8] §8[§eTNT§8] §8- §7Isolates specific TNTs from the Trace -TRACE_COMMAND_HELP_BROADCAST=§8/§etrace broadcast §8- §7Share your current Trace show state with others -TRACE_COMMAND_HELP_FOLLOW=§8/§etrace follow §8[§ePlayer§8] §8- §7Follow a players Trace show state -TRACE_COMMAND_HELP_UNFOLLOW=§8/§etrace unfollow §8- §7Unfollow the Trace show state -TRACE_GUI_ITEM_NAME=§eTracer -TRACE_GUI_ITEM_LORE=§7Status§8: {0} -TRACE_GUI_NAME=Trace Gui -TRACE_GUI_TRACE_INACTIVE=§eStart Tracer -TRACE_GUI_TRACE_ACTIVE=§eStop Tracer -TRACE_GUI_TRACE_ACTIVE_AUTO=§eAuto-Trace is active -TRACE_GUI_AUTO_TRACE_INACTIVE=§eacitvate Auto-Tracer -TRACE_GUI_AUTO_TRACE_ACTIVE=§edeactivate Auto-Tracer -TRACE_GUI_DELETE=§eDelete trace +TRACE_RECORD = §aon +TRACE_HAS_TRACES = §ehas Traces +TRACE_IDLE_AUTO = §eauto +TRACE_MESSAGE_START = §aTNT-Tracer started +TRACE_MESSAGE_AUTO_START = §eAuto TNT-Tracer started +TRACE_MESSAGE_AUTO_STOP = §cAuto TNT-Tracer stopped +TRACE_MESSAGE_STOP = §cTNT-Tracer stopped +TRACE_MESSAGE_CLEAR = §cAll TNT-positions deleted +TRACE_MESSAGE_DELETE = §cTrace TNT-positions deleted +TRACE_MESSAGE_SHOW = §aAll TNT-positions shown +TRACE_MESSAGE_HIDE = §cAll TNT-positions hidden +TRACE_MESSAGE_SHOW_AT = §aTNT-positions shown at {0} +TRACE_MESSAGE_SHOW_FROM = §aAll TNT-positions shown from {0} +TRACE_MESSAGE_SHOW_FROM_TO = §aAll TNT-positions shown from {0} to {1} +TRACE_MESSAGE_SHOW_TO_SMALLER = §cTo must be bigger then from +TRACE_MESSAGE_CLICK_ISOLATE = §eClick to §aisolate§8/§cunisolate +TRACE_MESSAGE_ISOLATE = §eTNT Positions have been isolated +TRACE_MESSAGE_BROADCAST = §e{0} shared his trace show state. +TRACE_MESSAGE_BROADCAST_HOVER = §eClick to view +TRACE_MESSAGE_FOLLOW = §aYou are now following {0} Trace show state +TRACE_MESSAGE_FOLLOW_SELF = §cYou cannot follow yourself! +TRACE_MESSAGE_UNFOLLOW = §cYou are no longer following a Trace show state +TRACE_COMMAND_HELP_START = §8/§etrace start §8- §7Starts recording of all TNT-positions +TRACE_COMMAND_HELP_STOP = §8/§etrace stop §8- §7Stops the TNT-Tracer +TRACE_COMMAND_HELP_AUTO = §8/§etrace toggleauto §8- §7Automatic start of recording +TRACE_COMMAND_HELP_SHOW = §8/§etrace show §8<§eParameter§8> - §7Shows all TNT-positions +TRACE_COMMAND_HELP_SHOW_AT = §8/§etrace show §7at §8<§eTIME§8> - §7Shows all Trace Positions at §8<§eTIME§8> +TRACE_COMMAND_HELP_SHOW_AT_WITH = §8/§etrace show §7at §8<§eTIME§8> §7with §8<§eParameter§8> - §7Shows all Trace Positions at §8<§eTIME§8> +TRACE_COMMAND_HELP_SHOW_FROM = §8/§etrace show §7from §8<§eFROM§8> - §7Shows all Trace Positions from §8<§eFROM§8> +TRACE_COMMAND_HELP_SHOW_FROM_WITH = §8/§etrace show §7from §8<§eFROM§8> §7with §8<§eParameter§8> - §7Shows all Trace Positions from §8<§eFROM§8> +TRACE_COMMAND_HELP_SHOW_FROM_TO = §8/§etrace show §7from §8<§eFROM§8> §7to §8<§eTO§8> - §7Shows all Trace Positions from §8<§eFROM§8> to §8<§eTO§8> +TRACE_COMMAND_HELP_SHOW_FROM_TO_WITH = §8/§etrace show §7from §8<§eFROM§8> §7to §8<§eTO§8> §7with §8<§eParameter§8> - §7Shows all Trace Positions from §8<§eFROM§8> to §8<§eTO§8> +TRACE_COMMAND_HELP_HIDE = §8/§etrace hide §8- §7Hides all TNT-positions +TRACE_COMMAND_HELP_DELETE = §8/§etrace delete §8[§eTrace§8] §8- §7Deletes all TNT-positions or a Trace +TRACE_COMMAND_HELP_ISOLATE = §8/§etrace isolate §8[§eTrace§8] §8[§eTNT§8] §8- §7Isolates specific TNTs from the Trace +TRACE_COMMAND_HELP_BROADCAST = §8/§etrace broadcast §8- §7Share your current Trace show state with others +TRACE_COMMAND_HELP_FOLLOW = §8/§etrace follow §8[§ePlayer§8] §8- §7Follow a players Trace show state +TRACE_COMMAND_HELP_UNFOLLOW = §8/§etrace unfollow §8- §7Unfollow the Trace show state +TRACE_GUI_ITEM_NAME = §eTracer +TRACE_GUI_ITEM_LORE = §7Status§8: {0} +TRACE_GUI_NAME = Trace Gui +TRACE_GUI_TRACE_INACTIVE = §eStart Tracer +TRACE_GUI_TRACE_ACTIVE = §eStop Tracer +TRACE_GUI_TRACE_ACTIVE_AUTO = §eAuto-Trace is active +TRACE_GUI_AUTO_TRACE_INACTIVE = §eacitvate Auto-Tracer +TRACE_GUI_AUTO_TRACE_ACTIVE = §edeactivate Auto-Tracer +TRACE_GUI_DELETE = §eDelete trace # Loader -LOADER_SETUP=§eSetup -LOADER_RUNNING=§aRunning -LOADER_PAUSE=§7Pause -LOADER_END=§8Finished -LOADER_SINGLE=§aSingle -LOADER_MESSAGE_INTERACT=§e{0} added {1} -LOADER_MESSAGE_UNINTERACT=§eRemoved Element -LOADER_BUTTON_TNT=TNT -LOADER_BUTTON_SWITCH=Lever -LOADER_BUTTON_WOOD_BUTTON=Wooden Button -LOADER_BUTTON_STONE_BUTTON=Stone Button -LOADER_BUTTON_PRESSURE_PLATE=Pressure plate -LOADER_BUTTON_WEIGHTED_PRESSURE_PLATE=Pressure plate -LOADER_BUTTON_TRIPWIRE=Tripwire -LOADER_BUTTON_NOTEBLOCK=Noteblock -LOADER_BUTTON_DAYLIGHT_DETECTOR=Daylight Detector -LOADER_BUTTON_COMPARATOR=Comparator -LOADER_BUTTON_REPEATER=Repeater -LOADER_BUTTON_LECTERN=Lectern -LOADER_BUTTON_TRAPDOOR=Trapdoor -LOADER_BUTTON_DOOR=Door -LOADER_BUTTON_FENCEGATE=Fencegate -LOADER_HELP_SETUP=§8/§eloader setup §8- §7Starts recording actions -LOADER_SETUP_STOP_FIRST=§cPlease stop the current loader first! -LOADER_HELP_START=§8/§eloader start §8- §7Playback of previously recorded actions -LOADER_HELP_SINGLE=§8/§7loader single - §7Single playback of previously recoded actions -LOADER_HELP_PAUSE=§8/§7loader pause §8- §7Pauses Loader -LOADER_HELP_GUI=§8/§7loader gui §8- §7Shows Loader gui -LOADER_HELP_STOP=§8/§eloader stop §8- §7Stops recording/playback -LOADER_HELP_WAIT=§8/§7loader wait §8[§7Ticks§8] - §7Sets wait time between shots -LOADER_HELP_SPEED=§8/§7loader speed §8[§7Ticks§8] - §7Sets wait time between actions -LOADER_NO_LOADER=§cYou have no Loader. Create one with /loader setup -LOADER_NEW=§7Load your cannon and fire it once, to initialise the loader. -LOADER_HOW_TO_START=§7Then, execute /§eloader start§7 to start the Loader -LOADER_ACTIVE=§7The Loader is now active. -LOADER_STOP=§7The Loader has been stopped. -LOADER_SINGLE_CMD=§7The Loader does a single playback. -LOADER_PAUSED=§7The Loader is now paused. -LOADER_SMALL_TIME=§cThe wait time is too small -LOADER_NEW_TIME=§7The wait time is now: {0} -LOADER_NEW_LOAD_TIME=§7The action wait time is now: {0} -LOADER_NOTHING_RECORDED=§cYou have not recorded anything yet! -LOADER_GUI_TITLE=Loader GUI -LOADER_GUI_SHOW_ALL=Show all -LOADER_GUI_SHOW_INTERACTIONS=Show only Interactions -LOADER_GUI_SHOW_WAITS=Show only Waits -LOADER_GUI_SHOW_WAITS_BETWEEN_TNT=Show only Waits between TNT -LOADER_GUI_SHOW_TNT=Show TNT -LOADER_GUI_SHOW_WAITS_SET_ALL=§7Wait Time all -LOADER_GUI_SHOW_WAITS_TITLE=§7Wait Time -LOADER_GUI_SETTINGS_TITLE=Settings -LOADER_GUI_COPY_TITLE=Copy amount -LOADER_GUI_SETTINGS_BACK=§8Back -LOADER_GUI_SETTINGS_COPY=§7Copy -LOADER_GUI_SETTINGS_DELETE=§cDelete -LOADER_GUI_WAIT_TITLE=Settings -LOADER_GUI_WAIT_BACK=§8Back -LOADER_GUI_CLICK_TO_EDIT=§7Click to edit -LOADER_GUI_ITEM_NAME=§7{0}§8: §e{1} -LOADER_SETTING_NAME=§7{0} -LOADER_SETTING_MODES=§7Modes§8: §e{0} -LOADER_SETTING_POWER=§7Power§8: §e{0} -LOADER_SETTING_TICKS=§7Ticks§8: §e{0} -LOADER_SETTING_REPEATER=§7Repeater§8: §e{0} -LOADER_SETTING_WAIT=§7Wait§8: §e{0} Tick(s) -LOADER_SETTING_WAIT_NAME=Wait -LOADER_SETTING_TICKS_NAME=Ticks -LOADER_SETTING_TICKS_REMOVE_ONE=§c-1 -LOADER_SETTING_TICKS_REMOVE_ONE_SHIFT=§7Shift§8: §c-5 -LOADER_SETTING_TICKS_ADD_ONE=§a+1 -LOADER_SETTING_TICKS_ADD_ONE_SHIFT=§7Shift§8: §a+5 -LOADER_SETTING_TNT_NAME=§cTNT -LOADER_SETTING_TNT_X=§7X§8: §e{0} -LOADER_SETTING_TNT_Y=§7Y§8: §e{0} -LOADER_SETTING_TNT_Z=§7Z§8: §e{0} -LOADER_INTERACTION_NOOP=NOOP -LOADER_INTERACTION_PLACE=Place -LOADER_INTERACTION_INTERACT=Interact -LOADER_INTERACTION_POWERED=Powered -LOADER_INTERACTION_UNPOWERED=Unpowered -LOADER_INTERACTION_PAGE_PREV=Previous Page -LOADER_INTERACTION_PAGE_NEXT=Next Page -LOADER_INTERACTION_PAGE=Page {0} -LOADER_INTERACTION_ACTIVE=Active -LOADER_INTERACTION_INACTIVE=Inactive -LOADER_INTERACTION_WAIT_FOR=Wait for -LOADER_INTERACTION_NO_WAIT_FOR=No wait for -LOADER_INTERACTION_OPEN=Open -LOADER_INTERACTION_CLOSED=Closed -LOADER_INTERACTION_COMPARE=Compare -LOADER_INTERACTION_SUBTRACT=Subtract +LOADER_SETUP = §eSetup +LOADER_RUNNING = §aRunning +LOADER_PAUSE = §7Pause +LOADER_END = §8Finished +LOADER_SINGLE = §aSingle +LOADER_MESSAGE_INTERACT = §e{0} added {1} +LOADER_MESSAGE_UNINTERACT = §eRemoved Element +LOADER_BUTTON_TNT = TNT +LOADER_BUTTON_SWITCH = Lever +LOADER_BUTTON_WOOD_BUTTON = Wooden Button +LOADER_BUTTON_STONE_BUTTON = Stone Button +LOADER_BUTTON_PRESSURE_PLATE = Pressure plate +LOADER_BUTTON_WEIGHTED_PRESSURE_PLATE = Pressure plate +LOADER_BUTTON_TRIPWIRE = Tripwire +LOADER_BUTTON_NOTEBLOCK = Noteblock +LOADER_BUTTON_DAYLIGHT_DETECTOR = Daylight Detector +LOADER_BUTTON_COMPARATOR = Comparator +LOADER_BUTTON_REPEATER = Repeater +LOADER_BUTTON_LECTERN = Lectern +LOADER_BUTTON_TRAPDOOR = Trapdoor +LOADER_BUTTON_DOOR = Door +LOADER_BUTTON_FENCEGATE = Fencegate +LOADER_HELP_SETUP = §8/§eloader setup §8- §7Starts recording actions +LOADER_SETUP_STOP_FIRST = §cPlease stop the current loader first! +LOADER_HELP_START = §8/§eloader start §8- §7Playback of previously recorded actions +LOADER_HELP_SINGLE = §8/§7loader single - §7Single playback of previously recoded actions +LOADER_HELP_PAUSE = §8/§7loader pause §8- §7Pauses Loader +LOADER_HELP_GUI = §8/§7loader gui §8- §7Shows Loader gui +LOADER_HELP_STOP = §8/§eloader stop §8- §7Stops recording/playback +LOADER_HELP_WAIT = §8/§7loader wait §8[§7Ticks§8] - §7Sets wait time between shots +LOADER_HELP_SPEED = §8/§7loader speed §8[§7Ticks§8] - §7Sets wait time between actions +LOADER_NO_LOADER = §cYou have no Loader. Create one with /loader setup +LOADER_NEW = §7Load your cannon and fire it once, to initialise the loader. +LOADER_HOW_TO_START = §7Then, execute /§eloader start§7 to start the Loader +LOADER_ACTIVE = §7The Loader is now active. +LOADER_STOP = §7The Loader has been stopped. +LOADER_SINGLE_CMD = §7The Loader does a single playback. +LOADER_PAUSED = §7The Loader is now paused. +LOADER_SMALL_TIME = §cThe wait time is too small +LOADER_NEW_TIME = §7The wait time is now: {0} +LOADER_NEW_LOAD_TIME = §7The action wait time is now: {0} +LOADER_NOTHING_RECORDED = §cYou have not recorded anything yet! +LOADER_GUI_TITLE = Loader GUI +LOADER_GUI_SHOW_ALL = Show all +LOADER_GUI_SHOW_INTERACTIONS = Show only Interactions +LOADER_GUI_SHOW_WAITS = Show only Waits +LOADER_GUI_SHOW_WAITS_BETWEEN_TNT = Show only Waits between TNT +LOADER_GUI_SHOW_TNT = Show TNT +LOADER_GUI_SHOW_WAITS_SET_ALL = §7Wait Time all +LOADER_GUI_SHOW_WAITS_TITLE = §7Wait Time +LOADER_GUI_SETTINGS_TITLE = Settings +LOADER_GUI_COPY_TITLE = Copy amount +LOADER_GUI_SETTINGS_BACK = §8Back +LOADER_GUI_SETTINGS_COPY = §7Copy +LOADER_GUI_SETTINGS_DELETE = §cDelete +LOADER_GUI_WAIT_TITLE = Settings +LOADER_GUI_WAIT_BACK = §8Back +LOADER_GUI_CLICK_TO_EDIT = §7Click to edit +LOADER_GUI_ITEM_NAME = §7{0}§8: §e{1} +LOADER_SETTING_NAME = §7{0} +LOADER_SETTING_MODES = §7Modes§8: §e{0} +LOADER_SETTING_POWER = §7Power§8: §e{0} +LOADER_SETTING_TICKS = §7Ticks§8: §e{0} +LOADER_SETTING_REPEATER = §7Repeater§8: §e{0} +LOADER_SETTING_WAIT = §7Wait§8: §e{0} Tick(s) +LOADER_SETTING_WAIT_NAME = Wait +LOADER_SETTING_TICKS_NAME = Ticks +LOADER_SETTING_TICKS_REMOVE_ONE = §c-1 +LOADER_SETTING_TICKS_REMOVE_ONE_SHIFT = §7Shift§8: §c-5 +LOADER_SETTING_TICKS_ADD_ONE = §a+1 +LOADER_SETTING_TICKS_ADD_ONE_SHIFT = §7Shift§8: §a+5 +LOADER_SETTING_TNT_NAME = §cTNT +LOADER_SETTING_TNT_X = §7X§8: §e{0} +LOADER_SETTING_TNT_Y = §7Y§8: §e{0} +LOADER_SETTING_TNT_Z = §7Z§8: §e{0} +LOADER_INTERACTION_NOOP = NOOP +LOADER_INTERACTION_PLACE = Place +LOADER_INTERACTION_INTERACT = Interact +LOADER_INTERACTION_POWERED = Powered +LOADER_INTERACTION_UNPOWERED = Unpowered +LOADER_INTERACTION_PAGE_PREV = Previous Page +LOADER_INTERACTION_PAGE_NEXT = Next Page +LOADER_INTERACTION_PAGE = Page {0} +LOADER_INTERACTION_ACTIVE = Active +LOADER_INTERACTION_INACTIVE = Inactive +LOADER_INTERACTION_WAIT_FOR = Wait for +LOADER_INTERACTION_NO_WAIT_FOR = No wait for +LOADER_INTERACTION_OPEN = Open +LOADER_INTERACTION_CLOSED = Closed +LOADER_INTERACTION_COMPARE = Compare +LOADER_INTERACTION_SUBTRACT = Subtract # Loadtimer -LOADTIMER_HELP_OVERVIEW=§7Compete with your friends loading your cannon and get information about the cannon -LOADTIMER_HELP_START_1=§8/§eloadtimer start §8-§7 Starts the simple Loadtimer -LOADTIMER_HELP_START_2=§8/§7loadtimer start §8[§7full/half§8] - §7Starts the Loadtimer in a given mode -LOADTIMER_HELP_START_3=§7Loadtimer Modes: Full -> Measures from the priming of the first TNT to the explosion of the first propellant. Is better at calculating the shot frequency. Half -> Only measures until activation -LOADTIMER_HELP_STOP=§8/§eloadtimer stop §8-§7 Stops current Loadtimer -LOADTIMER_GUI_GLOBAL=§eLoadtimer does not exist in the global region! -LOADTIMER_GUI_STOP=§eStop Loadtimer -LOADTIMER_GUI_START=§eStart Loadtimer -LOADTIMER_GUI_TITLE=Loadtimer Mode -LOADTIMER_GUI_FULL=§eFull -LOADTIMER_GUI_HALF=§eHalf -LOADTIMER_WAITING=§7Place a TNT to start... -LOADTIMER_BOSSBAR=§7Tick: §e{0}§7(§e{1}§7) Time: §e{2}s §7Tnt: §e{3} §7Blocks -LOADTIMER_ACTIVATED=§7Waiting until priming -LOADTIMER_IGNITION=§7Waiting for explosion -LOADTIMER_SUMARY_HEAD=§7---=== (§eLoadtimer-Results§7) ===--- -LOADTIMER_SUMARY_PLAYERTABLE_HEAD=§7Player: §eTNT §7(§eTNT/s§7) -LOADTIMER_SUMARY_PLAYERTABLE_PLAYER=§7{0}: §e{1} §7(§e{2}/s§7) -LOADTIMER_SUMARY_PLAYERTABLE_ALL=Total -LOADTIMER_SUMARY_TIMES_HEAD=§7Time: §eSeconds §7(§eTicks§7) -LOADTIMER_SUMARY_TIMES_START=§7 || §7Start! -LOADTIMER_SUMARY_TIMES_ACTIVATION=§7 || Activation: §e{0}s §7(§e{1}t§7) -LOADTIMER_SUMARY_TIMES_IGNITION=§7 || Priming: §e{0}s §7(§e{1}t§7) -LOADTIMER_SUMARY_TIMES_EXPLOSION=§7 || Explosion: §e{0}s §7(§e{1}t§7) -LOADTIMER_SUMARY_TIMES_LAST=§7\\/ -LOADTIMER_SUMARY_STATS_HEAD=§7Cannon-Stats§8: -LOADTIMER_SUMARY_STATS_TNT=§7TNT: §e{0} -LOADTIMER_SUMARY_STATS_FREQ=§7Loading frequency: §e{0}/m§8, §7Shot frequency: §e{1}/m +LOADTIMER_HELP_OVERVIEW = §7Compete with your friends loading your cannon and get information about the cannon +LOADTIMER_HELP_START_1 = §8/§eloadtimer start §8-§7 Starts the simple Loadtimer +LOADTIMER_HELP_START_2 = §8/§7loadtimer start §8[§7full/half§8] - §7Starts the Loadtimer in a given mode +LOADTIMER_HELP_START_3 = §7Loadtimer Modes: Full -> Measures from the priming of the first TNT to the explosion of the first propellant. Is better at calculating the shot frequency. Half -> Only measures until activation +LOADTIMER_HELP_STOP = §8/§eloadtimer stop §8-§7 Stops current Loadtimer +LOADTIMER_GUI_GLOBAL = §eLoadtimer does not exist in the global region! +LOADTIMER_GUI_STOP = §eStop Loadtimer +LOADTIMER_GUI_START = §eStart Loadtimer +LOADTIMER_GUI_TITLE = Loadtimer Mode +LOADTIMER_GUI_FULL = §eFull +LOADTIMER_GUI_HALF = §eHalf +LOADTIMER_WAITING = §7Place a TNT to start... +LOADTIMER_BOSSBAR = §7Tick: §e{0}§7(§e{1}§7) Time: §e{2}s §7Tnt: §e{3} §7Blocks +LOADTIMER_ACTIVATED = §7Waiting until priming +LOADTIMER_IGNITION = §7Waiting for explosion +LOADTIMER_SUMARY_HEAD = §7---=== (§eLoadtimer-Results§7) ===--- +LOADTIMER_SUMARY_PLAYERTABLE_HEAD = §7Player: §eTNT §7(§eTNT/s§7) +LOADTIMER_SUMARY_PLAYERTABLE_PLAYER = §7{0}: §e{1} §7(§e{2}/s§7) +LOADTIMER_SUMARY_PLAYERTABLE_ALL = Total +LOADTIMER_SUMARY_TIMES_HEAD = §7Time: §eSeconds §7(§eTicks§7) +LOADTIMER_SUMARY_TIMES_START = §7 || §7Start! +LOADTIMER_SUMARY_TIMES_ACTIVATION = §7 || Activation: §e{0}s §7(§e{1}t§7) +LOADTIMER_SUMARY_TIMES_IGNITION = §7 || Priming: §e{0}s §7(§e{1}t§7) +LOADTIMER_SUMARY_TIMES_EXPLOSION = §7 || Explosion: §e{0}s §7(§e{1}t§7) +LOADTIMER_SUMARY_TIMES_LAST = §7\\/ +LOADTIMER_SUMARY_STATS_HEAD = §7Cannon-Stats§8: +LOADTIMER_SUMARY_STATS_TNT = §7TNT: §e{0} +LOADTIMER_SUMARY_STATS_FREQ = §7Loading frequency: §e{0}/m§8, §7Shot frequency: §e{1}/m # Observer -OBSERVER_HELP=§7Right-Click an Observer to get the Trace. Flame particles have to be enabled. The Particles will be shown in the block. -OBSERVER_HELP_ENABLE=§8/§eobserver enable §8-§7 Activates the Observer-Tracer -OBSERVER_HELP_DISABLE=§8/§eobserver disable §8-§7 Deactivates the Observer-Tracer -OBSERVER_HELP_DELETE=§8/§eobserver delete §8-§7 Deletes the Obersver-Tracer -OBSERVER_HELP_RETRACE=§8/§eobserver retrace §8-§7 Retraces The Observer-Tracer -OBSERVER_ENABLE=§7Observer trace started -OBSERVER_DISABLE=§7Observer trace stopped -OBSERVER_DELETE=§7Observer trace deleted -OBSERVER_RETRACE_DONE=§7Observer trace retraced -OBSERVER_RETRACE_NO_TRACE=§7No Observer trace to retrace +OBSERVER_HELP = §7Right-Click an Observer to get the Trace. Flame particles have to be enabled. The Particles will be shown in the block. +OBSERVER_HELP_ENABLE = §8/§eobserver enable §8-§7 Activates the Observer-Tracer +OBSERVER_HELP_DISABLE = §8/§eobserver disable §8-§7 Deactivates the Observer-Tracer +OBSERVER_HELP_DELETE = §8/§eobserver delete §8-§7 Deletes the Obersver-Tracer +OBSERVER_HELP_RETRACE = §8/§eobserver retrace §8-§7 Retraces The Observer-Tracer +OBSERVER_ENABLE = §7Observer trace started +OBSERVER_DISABLE = §7Observer trace stopped +OBSERVER_DELETE = §7Observer trace deleted +OBSERVER_RETRACE_DONE = §7Observer trace retraced +OBSERVER_RETRACE_NO_TRACE = §7No Observer trace to retrace # Other -OTHER_ITEMS_TELEPORT_NAME=§eTeleporter -OTHER_ITEMS_TELEPORT_GUI_NAME=Teleport -OTHER_ITEMS_TELEPORT_PLAYER_OFFLINE=§cThis Player is offline -OTHER_ITEMS_CLEAR_NAME=§eClear -OTHER_ITEMS_DECLUTTER_NAME=§eDeclutter -OTHER_ITEMS_GAMEMODE_NAME=§eGamemode -OTHER_ITEMS_GAMEMODE_LORE_1=§eRight-Click§8:§7 Toggle between creative and spectator -OTHER_ITEMS_GAMEMODE_LORE_2=§eLeft-Click§8:§7 Toggle between survival and adventure -OTHER_ITEMS_KILLALL_NAME=§eKillAll -OTHER_ITEMS_KILLALL_LORE_1=§eWithout Shift§8:§7 only this region -OTHER_ITEMS_KILLALL_LORE_2=§eWith Shift§8:§7 global -OTHER_ITEMS_INVENTORY_FILL_NAME=§eInventoryFill -OTHER_ITEMS_INVENTORY_FILL_LORE_ACTIVE=§aActivated -OTHER_ITEMS_INVENTORY_FILL_LORE_INACTIVE=§aDisabled -OTHER_SLOT_INVALID_SLOT=§cInvalid slot -OTHER_NOCLIP_SLOT_INFO=§7With /slot you can change the selected slot and take another block in the slot. -OTHER_NOCLIP_SLOT_HELP_PICK=§8/§eslot pick §8-§7 Take the faced block into your inventory. -OTHER_NOCLIP_SLOT_HELP_DROP=§8/§eslot drop §8-§7 Clears your slot -OTHER_CLEAR_HELP_SELF=§8/§eclear §8- §7Clears your inventory -OTHER_CLEAR_HELP_PLAYER=§8/§eclear §8[§7Player§8] §8- §7Clears a player inventory -OTHER_CLEAR_CLEARED=§7Your inventory was cleared. -OTHER_CLEAR_FROM=§7Your invetnory was cleared by {0}. -OTHER_CLEAR_TO=§7The inventory of {0} §7was cleared. -OTHER_DECLUTTER_HELP=§8/§edeclutter §8- §7Organise your inventory -OTHER_DECLUTTER_DONE=§aYour inventory was organised. -OTHER_GAMEMODE_UNKNOWN=§cUnknown gamemode. -OTHER_GAMEMODE_POSSIBLE=§cPossible gamemodes: survival, adventure, creative, specator. -OTHER_KILLALL_HELP_SELF=§8/§ekillall §8- §7Remove all entities from your region -OTHER_KILLALL_HELP_ALL=§8/§ekillall §8[§7Global§8/Local§7] §8- §7Remove all entities from your region or globally -OTHER_KILLALL_REGION=§a{0} Entities removed -OTHER_KILLALL_GLOBAL=§a{0} Entities removed from the world -OTHER_TELEPORT_HELP=§8/§etp §8[§7Player§8] §8-§7 Teleports you to another player -OTHER_TELEPORT_SELF_0=§cBe one with yourself! -OTHER_TELEPORT_SELF_1=§cYou need someone to play with? We have a TeamSpeak! -OTHER_TELEPORT_SELF_2=§cBlocks left to travel: 0; ETA: 0:00 -OTHER_TELEPORT_SELF_3=§cA little Movement is important. -OTHER_TELEPORT_SELF_4=§cFor such a distance? -OTHER_TIME_HELP=§8/§etime §8<§7Time 0=Morining§8, §76000=Midday§8, §718000=Midnight§8> - §7Sets the time on the Build -OTHER_TIME_INVALID=§cPlease input a time between 0 and 24000 -OTHER_TIME_RESULT=§7§oWhooosh -OTHER_TPS_HEAD=§7TPS: 1s 10s 1m 5m 10m -OTHER_TPS_MESSAGE=§7 §e{0}§7 §e{1}§7 §e{2}§7 §e{3}§7 §e{4} -OTHER_TPS_SINGLE=§8TPS: §e{0} -OTHER_WORLDSPAWN_HELP=§8/§eworldspawn §8-§e Teleport to the spawn -OTHER_BIND_HELP=§8/§ebind §8[§7Command§8] §8-§e Bind a command on item interaction -OTHER_BIND_ERROR=§cInvalid or unknown command -OTHER_BIND_UNBINDABLE=§cCould not bind command -OTHER_BIND_LORE=§eCommand§8:§7 {0} -OTHER_BIND_MESSAGE_BIND=§7Bound command §e{0} §7to item -OTHER_BIND_MESSAGE_UNBIND=§7Unbound command +OTHER_ITEMS_TELEPORT_NAME = §eTeleporter +OTHER_ITEMS_TELEPORT_GUI_NAME = Teleport +OTHER_ITEMS_TELEPORT_PLAYER_OFFLINE = §cThis Player is offline +OTHER_ITEMS_CLEAR_NAME = §eClear +OTHER_ITEMS_DECLUTTER_NAME = §eDeclutter +OTHER_ITEMS_GAMEMODE_NAME = §eGamemode +OTHER_ITEMS_GAMEMODE_LORE_1 = §eRight-Click§8:§7 Toggle between creative and spectator +OTHER_ITEMS_GAMEMODE_LORE_2 = §eLeft-Click§8:§7 Toggle between survival and adventure +OTHER_ITEMS_KILLALL_NAME = §eKillAll +OTHER_ITEMS_KILLALL_LORE_1 = §eWithout Shift§8:§7 only this region +OTHER_ITEMS_KILLALL_LORE_2 = §eWith Shift§8:§7 global +OTHER_ITEMS_INVENTORY_FILL_NAME = §eInventoryFill +OTHER_ITEMS_INVENTORY_FILL_LORE_ACTIVE = §aActivated +OTHER_ITEMS_INVENTORY_FILL_LORE_INACTIVE = §aDisabled +OTHER_SLOT_INVALID_SLOT = §cInvalid slot +OTHER_NOCLIP_SLOT_INFO = §7With /slot you can change the selected slot and take another block in the slot. +OTHER_NOCLIP_SLOT_HELP_PICK = §8/§eslot pick §8-§7 Take the faced block into your inventory. +OTHER_NOCLIP_SLOT_HELP_DROP = §8/§eslot drop §8-§7 Clears your slot +OTHER_CLEAR_HELP_SELF = §8/§eclear §8- §7Clears your inventory +OTHER_CLEAR_HELP_PLAYER = §8/§eclear §8[§7Player§8] §8- §7Clears a player inventory +OTHER_CLEAR_CLEARED = §7Your inventory was cleared. +OTHER_CLEAR_FROM = §7Your invetnory was cleared by {0}. +OTHER_CLEAR_TO = §7The inventory of {0} §7was cleared. +OTHER_DECLUTTER_HELP = §8/§edeclutter §8- §7Organise your inventory +OTHER_DECLUTTER_DONE = §aYour inventory was organised. +OTHER_GAMEMODE_UNKNOWN = §cUnknown gamemode. +OTHER_GAMEMODE_POSSIBLE = §cPossible gamemodes: survival, adventure, creative, specator. +OTHER_KILLALL_HELP_SELF = §8/§ekillall §8- §7Remove all entities from your region +OTHER_KILLALL_HELP_ALL = §8/§ekillall §8[§7Global§8/Local§7] §8- §7Remove all entities from your region or globally +OTHER_KILLALL_REGION = §a{0} Entities removed +OTHER_KILLALL_GLOBAL = §a{0} Entities removed from the world +OTHER_TELEPORT_HELP = §8/§etp §8[§7Player§8] §8-§7 Teleports you to another player +OTHER_TELEPORT_SELF_0 = §cBe one with yourself! +OTHER_TELEPORT_SELF_1 = §cYou need someone to play with? We have a TeamSpeak! +OTHER_TELEPORT_SELF_2 = §cBlocks left to travel: 0; ETA: 0:00 +OTHER_TELEPORT_SELF_3 = §cA little Movement is important. +OTHER_TELEPORT_SELF_4 = §cFor such a distance? +OTHER_TIME_HELP = §8/§etime §8<§7Time 0=Morining§8, §76000=Midday§8, §718000=Midnight§8> - §7Sets the time on the Build +OTHER_TIME_INVALID = §cPlease input a time between 0 and 24000 +OTHER_TIME_RESULT = §7§oWhooosh +OTHER_TPS_HEAD = §7TPS: 1s 10s 1m 5m 10m +OTHER_TPS_MESSAGE = §7 §e{0}§7 §e{1}§7 §e{2}§7 §e{3}§7 §e{4} +OTHER_TPS_SINGLE = §8TPS: §e{0} +OTHER_WORLDSPAWN_HELP = §8/§eworldspawn §8-§e Teleport to the spawn +OTHER_BIND_HELP = §8/§ebind §8[§7Command§8] §8-§e Bind a command on item interaction +OTHER_BIND_ERROR = §cInvalid or unknown command +OTHER_BIND_UNBINDABLE = §cCould not bind command +OTHER_BIND_LORE = §eCommand§8:§7 {0} +OTHER_BIND_MESSAGE_BIND = §7Bound command §e{0} §7to item +OTHER_BIND_MESSAGE_UNBIND = §7Unbound command # DebugStick -DEBUG_STICK_COMMAND_HELP=§8/§edebugstick §8-§7 receive a debugstick -DEBUG_STICK_NAME=§eDebugstick +DEBUG_STICK_COMMAND_HELP = §8/§edebugstick §8-§7 receive a debugstick +DEBUG_STICK_NAME = §eDebugstick #Skull Gui -SKULL_GUI_ITEM_NAME=§ePlayer Heads -ANVIL_INV_NAME=Player name +SKULL_GUI_ITEM_NAME = §ePlayer Heads +ANVIL_INV_NAME = Player name # StructureVoid -STRUCTURE_VOID_COMMAND_HELP=§8/§estructureVoid §8-§7 Receive a StructureVoid +STRUCTURE_VOID_COMMAND_HELP = §8/§estructureVoid §8-§7 Receive a StructureVoid # Dragon Egg -DRAGON_EGG_COMMAND_HELP=§8/§edragonegg §8-§7 Receive a Dragon Egg +DRAGON_EGG_COMMAND_HELP = §8/§edragonegg §8-§7 Receive a Dragon Egg # NightVision -NIGHT_VISION_HELP=§8/§enightvision §8-§7 Toggel nightvision. -NIGHT_VISION_OFF=§eNightvision deactivated -NIGHT_VISION_ON=§eNightvision activated -NIGHT_VISION_ITEM_ON=§7Nightvision: §eActivated -NIGHT_VISION_ITEM_OFF=§7Nightvision: §eDeactivated +NIGHT_VISION_HELP = §8/§enightvision §8-§7 Toggel nightvision. +NIGHT_VISION_OFF = §eNightvision deactivated +NIGHT_VISION_ON = §eNightvision activated +NIGHT_VISION_ITEM_ON = §7Nightvision: §eActivated +NIGHT_VISION_ITEM_OFF = §7Nightvision: §eDeactivated #Navigation Wand -NAVIGATION_WAND=§eNavigation Wand -NAVIGATION_WAND_LEFT_CLICK=§eLeft click: jump to location -NAVIGATION_WAND_RIGHT_CLICK=§eRight click: pass through walls +NAVIGATION_WAND = §eNavigation Wand +NAVIGATION_WAND_LEFT_CLICK = §eLeft click: jump to location +NAVIGATION_WAND_RIGHT_CLICK = §eRight click: pass through walls # Material -MATERIAL_SEARCH_PROPERTY_TRUE=§aShould have -MATERIAL_SEARCH_PROPERTY_FALSE=§cShould not have -MATERIAL_SEARCH_PROPERTY_IGNORE=§eIgnore -MATERIAL_INV_NAME=§eMaterial {0}/{1} -MATERIAL_SEARCH=§eSearch -MATERIAL_BACK=§eBack -MATERIAL_SEARCH_NAME=§eName -MATERIAL_SEARCH_TRANSPARENT=§eTransparent -MATERIAL_SEARCH_SOLID=§eSolid -MATERIAL_SEARCH_GRAVITY=§eFalling -MATERIAL_SEARCH_OCCLUDING=§eOccluding -MATERIAL_SEARCH_INTERACTEABLE=§eInteractable -MATERIAL_SEARCH_FLAMMABLE=§eFlammable -MATERIAL_SEARCH_BURNABLE=§eBurnable -MATERIAL_SEARCH_WATERLOGGABLE=§eWaterloggable -MATERIAL_SEARCH_UNMOVEABLE=§eUnmoveable -MATERIAL_SEARCH_BLASTRESISTANCE=§eBlast resistance -MATERIAL_SEARCH_VALUE=§8: §e{0} -MATERIAL_BLAST_RESISTANCE=§8- §eBlast resistance§8: §7{0} -MATERIAL_HARDNESS=§8- §eHardness§8: §7{0} -MATERIAL_TNT_BREAKABLE=§8- §eDestructible by TNT -MATERIAL_TNT_UNBREAKABLE=§8- §eIndestructible by TNT -MATERIAL_TRANSPARENT=§8- §eTransparent block -MATERIAL_SOLID=§8- §eSolid block -MATERIAL_GRAVITY=§8- §eFalling block -MATERIAL_OCCLUDING=§8- §eOccluding block -MATERIAL_INTERACTABLE=§8- §eInteractable block -MATERIAL_FLAMMABLE=§8- §eFlammable block -MATERIAL_BURNABLE=§8- §eBurnable block -MATERIAL_WATERLOGGABLE=§8- §eWaterloggable block -MATERIAL_UNMOVABLE=§8- §eUnmovable block +MATERIAL_SEARCH_PROPERTY_TRUE = §aShould have +MATERIAL_SEARCH_PROPERTY_FALSE = §cShould not have +MATERIAL_SEARCH_PROPERTY_IGNORE = §eIgnore +MATERIAL_INV_NAME = §eMaterial {0}/{1} +MATERIAL_SEARCH = §eSearch +MATERIAL_BACK = §eBack +MATERIAL_SEARCH_NAME = §eName +MATERIAL_SEARCH_TRANSPARENT = §eTransparent +MATERIAL_SEARCH_SOLID = §eSolid +MATERIAL_SEARCH_GRAVITY = §eFalling +MATERIAL_SEARCH_OCCLUDING = §eOccluding +MATERIAL_SEARCH_INTERACTEABLE = §eInteractable +MATERIAL_SEARCH_FLAMMABLE = §eFlammable +MATERIAL_SEARCH_BURNABLE = §eBurnable +MATERIAL_SEARCH_WATERLOGGABLE = §eWaterloggable +MATERIAL_SEARCH_UNMOVEABLE = §eUnmoveable +MATERIAL_SEARCH_BLASTRESISTANCE = §eBlast resistance +MATERIAL_SEARCH_VALUE = §8: §e{0} +MATERIAL_BLAST_RESISTANCE = §8- §eBlast resistance§8: §7{0} +MATERIAL_HARDNESS = §8- §eHardness§8: §7{0} +MATERIAL_TNT_BREAKABLE = §8- §eDestructible by TNT +MATERIAL_TNT_UNBREAKABLE = §8- §eIndestructible by TNT +MATERIAL_TRANSPARENT = §8- §eTransparent block +MATERIAL_SOLID = §8- §eSolid block +MATERIAL_GRAVITY = §8- §eFalling block +MATERIAL_OCCLUDING = §8- §eOccluding block +MATERIAL_INTERACTABLE = §8- §eInteractable block +MATERIAL_FLAMMABLE = §8- §eFlammable block +MATERIAL_BURNABLE = §8- §eBurnable block +MATERIAL_WATERLOGGABLE = §8- §eWaterloggable block +MATERIAL_UNMOVABLE = §8- §eUnmovable block # Region Items -REGION_ITEM_COLOR=§7Color: §e{0} -REGION_ITEM_COLOR_CHOOSE=Choose color -REGION_ITEM_FIRE_ALLOW=§7Fire: §eActivated -REGION_ITEM_FIRE_DISALLOW=§7Fire: §eDeactivated -REGION_ITEM_FREEZE_ALLOW=§7Freeze: §eActivated -REGION_ITEM_FREEZE_DISALLOW=§7Freeze: §eDeactivated -REGION_ITEM_PROTECT_ALLOW=§7Protect: §eActivated -REGION_ITEM_PROTECT_DISALLOW=§7Protect: §eDeactivated -REGION_ITEM_RESET=§eReset -REGION_ITEM_TESTBLOCK=§eDummy -REGION_ITEM_TNT_OFF=§7TNT: §eDeactivated -REGION_ITEM_TNT_ONLY_TB=§7TNT: §eonly dummy -REGION_ITEM_TNT_ON=§7TNT: §eActivated -REGION_ITEM_SELECTOR_TITLE=Tnt Mode -REGION_ITEM_SELECTOR_ON=§eActivate -REGION_ITEM_SELECTOR_ONLY_TB=§eonly dummy -REGION_ITEM_SELECTOR_OFF=§eDeactivate +REGION_ITEM_COLOR = §7Color: §e{0} +REGION_ITEM_COLOR_CHOOSE = Choose color +REGION_ITEM_FIRE_ALLOW = §7Fire: §eActivated +REGION_ITEM_FIRE_DISALLOW = §7Fire: §eDeactivated +REGION_ITEM_FREEZE_ALLOW = §7Freeze: §eActivated +REGION_ITEM_FREEZE_DISALLOW = §7Freeze: §eDeactivated +REGION_ITEM_PROTECT_ALLOW = §7Protect: §eActivated +REGION_ITEM_PROTECT_DISALLOW = §7Protect: §eDeactivated +REGION_ITEM_RESET = §eReset +REGION_ITEM_TESTBLOCK = §eDummy +REGION_ITEM_TNT_OFF = §7TNT: §eDeactivated +REGION_ITEM_TNT_ONLY_TB = §7TNT: §eonly dummy +REGION_ITEM_TNT_ON = §7TNT: §eActivated +REGION_ITEM_SELECTOR_TITLE = Tnt Mode +REGION_ITEM_SELECTOR_ON = §eActivate +REGION_ITEM_SELECTOR_ONLY_TB = §eonly dummy +REGION_ITEM_SELECTOR_OFF = §eDeactivate #Region -REGION_COLOR_HELP_COLOR=§8/§ecolor §8[§7Color§8] §8- §7Sets the color of the region -REGION_COLOR_HELP_COLOR_TYPE=§8/§ecolor §8[§7Color§8] §8[§7Type§8] §8- §7Sets the color of the region or globally -REGION_COLOR_GLOBAL=§7All regions color set to §e{0} -REGION_COLOR_NO_REGION=§cYou are currently not in any region -REGION_FIRE_HELP=§8/§efire §8- §7Toggle fire damage -REGION_FIRE_ENABLED=§cFire damage deactivated in this region -REGION_FIRE_DISABLED=§aFire damage activated in this region -REGION_FREEZE_HELP=§8/§efreeze §8- §7Toggle Freeze -REGION_FREEZE_ENABLED=§cRegion frozen -REGION_FREEZE_DISABLED=§aRegion thawed -REGION_WATER_HELP=§8/§ewaterdestroy §8- §7Toggle water damage -REGION_WATER_ENABLED=§aWater damage deactivated in this region -REGION_WATER_DISABLED=§cWater damage activated in this region -REGION_ITEMS_HELP=§8/§eitems §8- §7Toggle Items -REGION_ITEMS_ENABLED=§aItems enabled in this region -REGION_ITEMS_DISABLED=§cItems disabled in this region -REGION_PROTECT_HELP=§8/§eprotect §8- §7Protect the region -REGION_PROTECT_DISABLE=§cProtection disabled -REGION_PROTECT_ENABLE=§aProtection enabled -REGION_PROTECT_FALSE_REGION=§cYou are not currently in a (M)WG-region +REGION_COLOR_HELP_COLOR = §8/§ecolor §8[§7Color§8] §8- §7Sets the color of the region +REGION_COLOR_HELP_COLOR_TYPE = §8/§ecolor §8[§7Color§8] §8[§7Type§8] §8- §7Sets the color of the region or globally +REGION_COLOR_GLOBAL = §7All regions color set to §e{0} +REGION_COLOR_NO_REGION = §cYou are currently not in any region +REGION_FIRE_HELP = §8/§efire §8- §7Toggle fire damage +REGION_FIRE_ENABLED = §cFire damage deactivated in this region +REGION_FIRE_DISABLED = §aFire damage activated in this region +REGION_FREEZE_HELP = §8/§efreeze §8- §7Toggle Freeze +REGION_FREEZE_ENABLED = §cRegion frozen +REGION_FREEZE_DISABLED = §aRegion thawed +REGION_WATER_HELP = §8/§ewaterdestroy §8- §7Toggle water damage +REGION_WATER_ENABLED = §aWater damage deactivated in this region +REGION_WATER_DISABLED = §cWater damage activated in this region +REGION_ITEMS_HELP = §8/§eitems §8- §7Toggle Items +REGION_ITEMS_ENABLED = §aItems enabled in this region +REGION_ITEMS_DISABLED = §cItems disabled in this region +REGION_PROTECT_HELP = §8/§eprotect §8- §7Protect the region +REGION_PROTECT_DISABLE = §cProtection disabled +REGION_PROTECT_ENABLE = §aProtection enabled +REGION_PROTECT_FALSE_REGION = §cYou are not currently in a (M)WG-region REGION_NO_GRAVITY_HELP = §8/§enogravity §8- §7Toggle NoGravity REGION_NO_GRAVITY_ENABLED = §aNoGravity enabled in this region REGION_NO_GRAVITY_DISABLED = §cNoGravity disabled in this region -REGION_REGION_HELP_UNDO=§8/§eregion undo §8- §7undo the last 20 /testblock or /reset -REGION_REGION_HELP_REDO=§8/§eregion redo §8- §7redo the last 20 §8/§7rg undo -REGION_REGION_HELP_RESTORE=§8/§eregion restore §8- §7Resets the region, without removing your builds -REGION_REGION_HELP_RESTORE_SCHEMATIC=§8/§eregion restore §8[§7Schematic§8] §8- §7Resets the region, withoout removing your builds -REGION_REGION_HELP_COPYPOINT=§8/§eregion copypoint §8- §7Teleport to the regions copy point -REGION_REGION_HELP_TESTBLOCKPOINT=§8/§eregion testblockpoint §8- §7Teleport to the regions dummy point -REGION_REGION_HELP_CHANGESKIN_INFO=§8/§eregion changeskin §8- §7Returns the region skin -REGION_REGION_HELP_CHANGESKIN=§8/§eregion changeskin §8[§7Skin§8] §8- §8Sets the region skin -REGION_REGION_HELP_COPY=§8/§eregion copy [-e] [-s] §8- §8Copy the build area optional with extensions or selection at the copypoint -REGION_REGION_HELP_PASTE=§8/§eregion paste [-a] [-s] §8[§7Skin§8] §8- §8Pastes at the copypoint optional without air and selecting the pasted region -REGION_REGION_NOTHING_UNDO=§cNothing left to undo -REGION_REGION_UNDID=§7Last action undone -REGION_REGION_NOTHING_REDO=§cNothing left to redo -REGION_REGION_REDID=§7Last action redone -REGION_REGION_RESTORED=§7Region reset -REGION_REGION_FAILED_RESTORE=§cError resetting the region -REGION_REGION_COLORED=§7Region recolored -REGION_REGION_COLORED_FAILED=§7Use §e/rg restore§7 to manually change the region's color -REGION_REGION_FAILED_COLORED=§cError recoloring the region -REGION_REGION_TP_COPY=§7Teleported to the copy point -REGION_REGION_TP_TEST_BLOCK=§7Teleported to the tesblock -REGION_REGION_TP_UNKNOWN=§cUndefined teleport point -REGION_REGION_NO_REGION=§cYou are not inside any region -REGION_REGION_NO_BUILD=§cThis region has no build area -REGION_REGION_COPY_DONE=§eBuild region or selection copied -REGION_REGION_PASTE_DONE=§eBuild region or selection pasted -REGION_REGION_CHANGESKIN_INFO=§7Region skin is §e{0} -REGION_REGION_CHANGESKIN_INFO_CREATOR=§7Skin created by §e{0} -REGION_REGION_CHANGESKIN_UNKNOWN=§cRegion skin is invalid -REGION_REGION_CHANGESKIN_INVALID=§cRegion skin is not allowed here -REGION_REGION_CHANGESKIN_CHANGE=§7Region skin changed to §e{0} -REGION_REGION_CHANGESKIN_CHANGE_UPDATE=§7Click §e§lHERE §7to apply the skin -REGION_REGION_CHANGESKIN_CHANGE_UPDATE_HOVER=§8/§ereset -REGION_RESET_HELP_RESET=§8/§ereset §8- §7Resets the region -REGION_RESET_HELP_SCHEMATIC=§8/§ereset §8[§7Schematic§8] §8- §7Resets the region using a schematic -REGION_RESET_RESETED=§7Region reset -REGION_RESET_ERROR=§cError reseting the region -REGION_RESET_NO_REGION=§cYou are currently not in any region -REGION_TB_HELP_RESET=§8/§etestblock §8- §7Reset the dummy -REGION_TB_HELP_RESET_EXTENSION=§8/§etestblock §8[§7ExtensionType§8] §8- §7Reset the dummy -REGION_TB_HELP_SCHEMATIC=§8/§etestblock §8[§7Schematic§8] §8- §7Reset the dummy using a schematic -REGION_TB_HELP_SCHEMATIC_EXTENSION=§8/§etestblock §8[§7Schematic§8] §8[§7ExtensionType§8] §8- §7Reset the dummy using a schematic -REGION_TB_DONE=§7Dummy reset -REGION_TB_ERROR=§cError resetting the dummy -REGION_TB_NO_REGION=§cYou are currently not in any region -REGION_TB_NO_SCHEMSHARING=§cYou currently cannot share schematics until {0}. -REGION_TB_NO_SCHEMRECEIVING=§cThe Owner of this build server cannot receive any schematics until {0}. -REGION_TNT_HELP=§8/§etnt §8- §7Change the TNT behaviour -REGION_TNT_HELP_MODE=§8/§etnt §8[§7Mode§8] §8- §7Set TNT behaviour to a given mode -REGION_TNT_ON=§aTNT-Damage activated -REGION_TNT_OFF=§cTNT-Damage deactivated -REGION_TNT_TB=§aTNT-Damage activated outside the building area -REGION_TNT_BUILD_DESTROY=§cAn explosion would have destroyed blocks in the building area -REGION_TNT_TB_DESTROY=§cAn explosion would have destroyed blocks in the testblock area -AFK_KICK_MESSAGE=§cNothing happened on this server for 15 minutes. -AFK_WARNING_MESSAGE=§cThis server will stop in one minute if you remain inactive -SKIN_HELP=§8/§eskin §8[§7Shortform§8] §8[§7Creator§8|§epublic§8] §8[§7Name...§8] §8- §7Creates the skin schematic. Use 'public' as creator to have no creator, then copy the message to YoyoNow by clicking -SKIN_NO_REGION=§7You are not in a region with a changealbe skin -SKIN_ALREADY_EXISTS=§cThis skin already exists like this -SKIN_MESSAGE=§7Skin created -SKIN_MESSAGE_HOVER=§eClick to copy for YoyoNow and send +REGION_REGION_HELP_UNDO = §8/§eregion undo §8- §7undo the last 20 /testblock or /reset +REGION_REGION_HELP_REDO = §8/§eregion redo §8- §7redo the last 20 §8/§7rg undo +REGION_REGION_HELP_RESTORE = §8/§eregion restore §8- §7Resets the region, without removing your builds +REGION_REGION_HELP_RESTORE_SCHEMATIC = §8/§eregion restore §8[§7Schematic§8] §8- §7Resets the region, withoout removing your builds +REGION_REGION_HELP_COPYPOINT = §8/§eregion copypoint §8- §7Teleport to the regions copy point +REGION_REGION_HELP_TESTBLOCKPOINT = §8/§eregion testblockpoint §8- §7Teleport to the regions dummy point +REGION_REGION_HELP_CHANGESKIN_INFO = §8/§eregion changeskin §8- §7Returns the region skin +REGION_REGION_HELP_CHANGESKIN = §8/§eregion changeskin §8[§7Skin§8] §8- §8Sets the region skin +REGION_REGION_HELP_COPY = §8/§eregion copy [-e] [-s] §8- §8Copy the build area optional with extensions or selection at the copypoint +REGION_REGION_HELP_PASTE = §8/§eregion paste [-a] [-s] §8[§7Skin§8] §8- §8Pastes at the copypoint optional without air and selecting the pasted region +REGION_REGION_NOTHING_UNDO = §cNothing left to undo +REGION_REGION_UNDID = §7Last action undone +REGION_REGION_NOTHING_REDO = §cNothing left to redo +REGION_REGION_REDID = §7Last action redone +REGION_REGION_RESTORED = §7Region reset +REGION_REGION_FAILED_RESTORE = §cError resetting the region +REGION_REGION_COLORED = §7Region recolored +REGION_REGION_COLORED_FAILED = §7Use §e/rg restore§7 to manually change the region's color +REGION_REGION_FAILED_COLORED = §cError recoloring the region +REGION_REGION_TP_COPY = §7Teleported to the copy point +REGION_REGION_TP_TEST_BLOCK = §7Teleported to the tesblock +REGION_REGION_TP_UNKNOWN = §cUndefined teleport point +REGION_REGION_NO_REGION = §cYou are not inside any region +REGION_REGION_NO_BUILD = §cThis region has no build area +REGION_REGION_COPY_DONE = §eBuild region or selection copied +REGION_REGION_PASTE_DONE = §eBuild region or selection pasted +REGION_REGION_CHANGESKIN_INFO = §7Region skin is §e{0} +REGION_REGION_CHANGESKIN_INFO_CREATOR = §7Skin created by §e{0} +REGION_REGION_CHANGESKIN_UNKNOWN = §cRegion skin is invalid +REGION_REGION_CHANGESKIN_INVALID = §cRegion skin is not allowed here +REGION_REGION_CHANGESKIN_CHANGE = §7Region skin changed to §e{0} +REGION_REGION_CHANGESKIN_CHANGE_UPDATE = §7Click §e§lHERE §7to apply the skin +REGION_REGION_CHANGESKIN_CHANGE_UPDATE_HOVER = §8/§ereset +REGION_RESET_HELP_RESET = §8/§ereset §8- §7Resets the region +REGION_RESET_HELP_SCHEMATIC = §8/§ereset §8[§7Schematic§8] §8- §7Resets the region using a schematic +REGION_RESET_RESETED = §7Region reset +REGION_RESET_ERROR = §cError reseting the region +REGION_RESET_NO_REGION = §cYou are currently not in any region +REGION_TB_HELP_RESET = §8/§etestblock §8- §7Reset the dummy +REGION_TB_HELP_RESET_EXTENSION = §8/§etestblock §8[§7ExtensionType§8] §8- §7Reset the dummy +REGION_TB_HELP_SCHEMATIC = §8/§etestblock §8[§7Schematic§8] §8- §7Reset the dummy using a schematic +REGION_TB_HELP_SCHEMATIC_EXTENSION = §8/§etestblock §8[§7Schematic§8] §8[§7ExtensionType§8] §8- §7Reset the dummy using a schematic +REGION_TB_DONE = §7Dummy reset +REGION_TB_ERROR = §cError resetting the dummy +REGION_TB_NO_REGION = §cYou are currently not in any region +REGION_TB_NO_SCHEMSHARING = §cYou currently cannot share schematics until {0}. +REGION_TB_NO_SCHEMRECEIVING = §cThe Owner of this build server cannot receive any schematics until {0}. +REGION_TNT_HELP = §8/§etnt §8- §7Change the TNT behaviour +REGION_TNT_HELP_MODE = §8/§etnt §8[§7Mode§8] §8- §7Set TNT behaviour to a given mode +REGION_TNT_ON = §aTNT-Damage activated +REGION_TNT_OFF = §cTNT-Damage deactivated +REGION_TNT_TB = §aTNT-Damage activated outside the building area +REGION_TNT_BUILD_DESTROY = §cAn explosion would have destroyed blocks in the building area +REGION_TNT_TB_DESTROY = §cAn explosion would have destroyed blocks in the testblock area +AFK_KICK_MESSAGE = §cNothing happened on this server for 15 minutes. +AFK_WARNING_MESSAGE = §cThis server will stop in one minute if you remain inactive +SKIN_HELP = §8/§eskin §8[§7Shortform§8] §8[§7Creator§8|§epublic§8] §8[§7Name...§8] §8- §7Creates the skin schematic. Use 'public' as creator to have no creator, then copy the message to YoyoNow by clicking +SKIN_NO_REGION = §7You are not in a region with a changealbe skin +SKIN_ALREADY_EXISTS = §cThis skin already exists like this +SKIN_MESSAGE = §7Skin created +SKIN_MESSAGE_HOVER = §eClick to copy for YoyoNow and send # Panzern -PANZERN_HELP=§8/§epanzern §8[§7Block§8] §8[§7Slab§8] §8- §7Armor your WorldEdit selection -PANZERN_PREPARE1=§71. Check, if barrels reach until border of armor. -PANZERN_PREPARE2=§72. Carpet on the floor in walkways helps with armoring. -PANZERN_PREPARE3=§73. Shieldtechnology should be encased. -PANZERN_PREPARE4=§74. Standing in the region that is being armored can improve armoring. -PANZERN_NO_WORLDEDIT=§cYou have no WorldEdit selcetion -PANZERN_PROGRESS=§e{0} §7Blocks left, §e{1} §7Blocks per second, §e{2} §7block delta -PANZERN_DONE=§aDone +PANZERN_HELP = §8/§epanzern §8[§7Block§8] §8[§7Slab§8] §8- §7Armor your WorldEdit selection +PANZERN_PREPARE1 = §71. Check, if barrels reach until border of armor. +PANZERN_PREPARE2 = §72. Carpet on the floor in walkways helps with armoring. +PANZERN_PREPARE3 = §73. Shieldtechnology should be encased. +PANZERN_PREPARE4 = §74. Standing in the region that is being armored can improve armoring. +PANZERN_NO_WORLDEDIT = §cYou have no WorldEdit selcetion +PANZERN_PROGRESS = §e{0} §7Blocks left, §e{1} §7Blocks per second, §e{2} §7block delta +PANZERN_DONE = §aDone # Laufbau -LAUFBAU_HELP=§8/§elaufbau §8[§7smallest§8|§7blastresistant§8] §8- §7Build a barrel in your WorldEdit selection using the traces -LAUFBAU_HELP_SETTINGS=§8/§elaufbau settings §8- §7Opens the settings GUI -LAUFBAU_PREPARE1=§71. Trace the cannons as often as necessary, in all modes. -LAUFBAU_PREPARE2=§72. Try to delete all fails from the traces. -LAUFBAU_NO_WORLDEDIT=§cYou don't have a WorldEdit selection -LAUFBAU_STATE_FILTERING_TRACES=Filtering traces -LAUFBAU_STATE_PROCESSING_TRACES=Connnecting traces -LAUFBAU_STATE_CREATE_LAUF=Create Barrel -LAUFBAU_SIMPLE_PROGRESS=§e{0}§8: §e{1}§8/§e{2} §7Time left§8: §e{3} -LAUFBAU_DONE=§aDone -LAUFBAU_SETTINGS_GUI_NAME=§eLaufbau -LAUFBAU_SETTINGS_ACTIVE=§aActive -LAUFBAU_SETTINGS_INACTIVE=§cInactive -LAUFBAU_SETTINGS_MIXED=§e{0}§8/§e{1} §aActive -LAUFBAU_SETTINGS_GUI_BACK=§eBack -LAUFBAU_SETTINGS_TOGGLE=§eClick §8-§7 Toggle -LAUFBAU_SETTINGS_ADVANCED=§eLeft-Click §8-§7 Advanced settings -LAUFBAU_BLOCK_COBWEB=§eCobweb -LAUFBAU_BLOCK_GRASS_PATH=§eGrass Path -LAUFBAU_BLOCK_SOUL_SAND=§eSoul Sand -LAUFBAU_BLOCK_COCOA=§eCocoa -LAUFBAU_BLOCK_TURTLE_EGG=§eTurtle Eggs -LAUFBAU_BLOCK_CHEST=§eChest -LAUFBAU_BLOCK_SNOW=§eSnow Layer -LAUFBAU_BLOCK_PLAYER_WALL_HEAD=§ePlayer Wall Head -LAUFBAU_BLOCK_STONECUTTER=§eStonecutter -LAUFBAU_BLOCK_PLAYER_HEAD=§ePlayer Head -LAUFBAU_BLOCK_CAKE=§eCake -LAUFBAU_BLOCK_END_STONE_BRICK_SLAB=§eEndstone Brick Slabs -LAUFBAU_BLOCK_SEA_PICKLE=§eSea Pickles -LAUFBAU_BLOCK_CAMPFIRE=§eCampfire -LAUFBAU_BLOCK_FLOWER_POT=§eFlower Pot -LAUFBAU_BLOCK_IRON_TRAPDOOR=§eIron Trapdoor -LAUFBAU_BLOCK_LILY_PAD=§eLily Pad -LAUFBAU_BLOCK_WHITE_CARPET=§eCarpet -LAUFBAU_BLOCK_END_ROD=§eEnd Rod -LAUFBAU_BLOCK_LIGHTNING_ROD=§eLightning Rod -LAUFBAU_BLOCK_CONDUIT=§eConduit -LAUFBAU_BLOCK_BREWING_STAND=§eBrewing Stand -LAUFBAU_BLOCK_BELL=§eBell -LAUFBAU_BLOCK_GRINDSTONE=§eGrindstone -LAUFBAU_BLOCK_HOPPER=§eHopper -LAUFBAU_BLOCK_LANTERN=§eLantern -LAUFBAU_BLOCK_END_STONE_BRICK_STAIRS=§eEndstone Brick Stairs -LAUFBAU_BLOCK_CHORUS_PLANT=§eChorus Plant -LAUFBAU_BLOCK_NETHER_BRICK_FENCE=§eNether Brick Fence -LAUFBAU_BLOCK_IRON_BARS=§eIron Bars -LAUFBAU_BLOCK_END_STONE_BRICK_WALL=§eEndstone Brick Walls -LAUFBAU_BLOCK_SMALL_AMETHYST_BUD=§eSmall Amethyst Bud -LAUFBAU_BLOCK_MEDIUM_AMETHYST_BUD=§eMedium Amethyst Bud -LAUFBAU_BLOCK_LARGE_AMETHYST_BUD=§eLarge Amethyst Bud -LAUFBAU_BLOCK_AMETHYST_CLUSTER=§eAmethyst Cluster -LAUFBAU_BLOCK_CHAIN=§eChain -LAUFBAU_BLOCK_BIG_DRIP_LEAF=§eBig Drip Leaf -LAUFBAU_BLOCK_DRAGON_EGG=§eDragon Egg -LAUFBAU_BLOCK_AZALEA=§eAzalea -LAUFBAU_BLOCK_CANDLE=§eCandle -LAUFBAU_BLOCK_CANDLE_CAKE=§eCake with Candle -LAUFBAU_BLOCK_LECTERN=§eLectern -LAUFBAU_FACING_NORTH=§8-§7 Facing North -LAUFBAU_FACING_SOUTH=§8-§7 Facing South -LAUFBAU_FACING_WEST=§8-§7 Facing West -LAUFBAU_FACING_EAST=§8-§7 Facing East -LAUFBAU_FACING_UP=§8-§7 Facing Up -LAUFBAU_FACING_DOWN=§8-§7 Facing Down -LAUFBAU_COUNT_1=§8-§7 Count 1 -LAUFBAU_COUNT_2=§8-§7 Count 2 -LAUFBAU_COUNT_3=§8-§7 Count 3 -LAUFBAU_COUNT_4=§8-§7 Count 4 -LAUFBAU_LAYERS_8=§8-§7 Layers 8 -LAUFBAU_LAYERS_7=§8-§7 Layers 7 -LAUFBAU_LAYERS_6=§8-§7 Layers 6 -LAUFBAU_LAYERS_3=§8-§7 Layers 3 -LAUFBAU_LAYERS_2=§8-§7 Layers 2 -LAUFBAU_TYPE_BOTTOM=§8-§7 Type bottom -LAUFBAU_TYPE_TOP=§8-§7 Type top -LAUFBAU_HALF_BOTTOM=§8-§7 Half bottom -LAUFBAU_HALF_TOP=§8-§7 Half top -LAUFBAU_OPEN=§8-§7 Opened -LAUFBAU_ATTACHMENT_CEILING=§8-§7 Attachment Ceiling -LAUFBAU_ATTACHMENT_FLOOR=§8-§7 Attachment Floor -LAUFBAU_ATTACHMENT_DOUBLE_WALL=§8-§7 Attachment double Wall -LAUFBAU_ATTACHMENT_SINGLE_WALL=§8-§7 Attachment single Wall -LAUFBAU_ATTACHMENT_WALL=§8-§7 Attachment Wall -LAUFBAU_CONNECTION_FLOOR=§8-§7 Connection Floor -LAUFBAU_CONNECTION_NORTH=§8-§7 Connection North -LAUFBAU_CONNECTION_SOUTH=§8-§7 Connection South -LAUFBAU_CONNECTION_EAST=§8-§7 Connection East -LAUFBAU_CONNECTION_WEST=§8-§7 Connection West -LAUFBAU_CONNECTION_DOWN=§8-§7 Connection Bottom -LAUFBAU_CONNECTION_UP=§8-§7 Connection Top -LAUFBAU_HANGING=§8-§7 hanging -LAUFBAU_SHAPE_STRAIGHT=§8-§7 Shape straight -LAUFBAU_SHAPE_OUTER_LEFT=§8-§7 Shape outer links -LAUFBAU_SHAPE_INNER_LEFT=§8-§7 Shape inner left -LAUFBAU_TILT_NONE=§8-§7 Tilt none -LAUFBAU_TILT_PARTIAL=§8-§7 Tilt partial +LAUFBAU_HELP = §8/§elaufbau §8[§7smallest§8|§7blastresistant§8] §8- §7Build a barrel in your WorldEdit selection using the traces +LAUFBAU_HELP_SETTINGS = §8/§elaufbau settings §8- §7Opens the settings GUI +LAUFBAU_PREPARE1 = §71. Trace the cannons as often as necessary, in all modes. +LAUFBAU_PREPARE2 = §72. Try to delete all fails from the traces. +LAUFBAU_NO_WORLDEDIT = §cYou don't have a WorldEdit selection +LAUFBAU_STATE_FILTERING_TRACES = Filtering traces +LAUFBAU_STATE_PROCESSING_TRACES = Connnecting traces +LAUFBAU_STATE_CREATE_LAUF = Create Barrel +LAUFBAU_SIMPLE_PROGRESS = §e{0}§8: §e{1}§8/§e{2} §7Time left§8: §e{3} +LAUFBAU_DONE = §aDone +LAUFBAU_SETTINGS_GUI_NAME = §eLaufbau +LAUFBAU_SETTINGS_ACTIVE = §aActive +LAUFBAU_SETTINGS_INACTIVE = §cInactive +LAUFBAU_SETTINGS_MIXED = §e{0}§8/§e{1} §aActive +LAUFBAU_SETTINGS_GUI_BACK = §eBack +LAUFBAU_SETTINGS_TOGGLE = §eClick §8-§7 Toggle +LAUFBAU_SETTINGS_ADVANCED = §eLeft-Click §8-§7 Advanced settings +LAUFBAU_BLOCK_COBWEB = §eCobweb +LAUFBAU_BLOCK_GRASS_PATH = §eGrass Path +LAUFBAU_BLOCK_SOUL_SAND = §eSoul Sand +LAUFBAU_BLOCK_COCOA = §eCocoa +LAUFBAU_BLOCK_TURTLE_EGG = §eTurtle Eggs +LAUFBAU_BLOCK_CHEST = §eChest +LAUFBAU_BLOCK_SNOW = §eSnow Layer +LAUFBAU_BLOCK_PLAYER_WALL_HEAD = §ePlayer Wall Head +LAUFBAU_BLOCK_STONECUTTER = §eStonecutter +LAUFBAU_BLOCK_PLAYER_HEAD = §ePlayer Head +LAUFBAU_BLOCK_CAKE = §eCake +LAUFBAU_BLOCK_END_STONE_BRICK_SLAB = §eEndstone Brick Slabs +LAUFBAU_BLOCK_SEA_PICKLE = §eSea Pickles +LAUFBAU_BLOCK_CAMPFIRE = §eCampfire +LAUFBAU_BLOCK_FLOWER_POT = §eFlower Pot +LAUFBAU_BLOCK_IRON_TRAPDOOR = §eIron Trapdoor +LAUFBAU_BLOCK_LILY_PAD = §eLily Pad +LAUFBAU_BLOCK_WHITE_CARPET = §eCarpet +LAUFBAU_BLOCK_END_ROD = §eEnd Rod +LAUFBAU_BLOCK_LIGHTNING_ROD = §eLightning Rod +LAUFBAU_BLOCK_CONDUIT = §eConduit +LAUFBAU_BLOCK_BREWING_STAND = §eBrewing Stand +LAUFBAU_BLOCK_BELL = §eBell +LAUFBAU_BLOCK_GRINDSTONE = §eGrindstone +LAUFBAU_BLOCK_HOPPER = §eHopper +LAUFBAU_BLOCK_LANTERN = §eLantern +LAUFBAU_BLOCK_END_STONE_BRICK_STAIRS = §eEndstone Brick Stairs +LAUFBAU_BLOCK_CHORUS_PLANT = §eChorus Plant +LAUFBAU_BLOCK_NETHER_BRICK_FENCE = §eNether Brick Fence +LAUFBAU_BLOCK_IRON_BARS = §eIron Bars +LAUFBAU_BLOCK_END_STONE_BRICK_WALL = §eEndstone Brick Walls +LAUFBAU_BLOCK_SMALL_AMETHYST_BUD = §eSmall Amethyst Bud +LAUFBAU_BLOCK_MEDIUM_AMETHYST_BUD = §eMedium Amethyst Bud +LAUFBAU_BLOCK_LARGE_AMETHYST_BUD = §eLarge Amethyst Bud +LAUFBAU_BLOCK_AMETHYST_CLUSTER = §eAmethyst Cluster +LAUFBAU_BLOCK_CHAIN = §eChain +LAUFBAU_BLOCK_BIG_DRIP_LEAF = §eBig Drip Leaf +LAUFBAU_BLOCK_DRAGON_EGG = §eDragon Egg +LAUFBAU_BLOCK_AZALEA = §eAzalea +LAUFBAU_BLOCK_CANDLE = §eCandle +LAUFBAU_BLOCK_CANDLE_CAKE = §eCake with Candle +LAUFBAU_BLOCK_LECTERN = §eLectern +LAUFBAU_FACING_NORTH = §8-§7 Facing North +LAUFBAU_FACING_SOUTH = §8-§7 Facing South +LAUFBAU_FACING_WEST = §8-§7 Facing West +LAUFBAU_FACING_EAST = §8-§7 Facing East +LAUFBAU_FACING_UP = §8-§7 Facing Up +LAUFBAU_FACING_DOWN = §8-§7 Facing Down +LAUFBAU_COUNT_1 = §8-§7 Count 1 +LAUFBAU_COUNT_2 = §8-§7 Count 2 +LAUFBAU_COUNT_3 = §8-§7 Count 3 +LAUFBAU_COUNT_4 = §8-§7 Count 4 +LAUFBAU_LAYERS_8 = §8-§7 Layers 8 +LAUFBAU_LAYERS_7 = §8-§7 Layers 7 +LAUFBAU_LAYERS_6 = §8-§7 Layers 6 +LAUFBAU_LAYERS_3 = §8-§7 Layers 3 +LAUFBAU_LAYERS_2 = §8-§7 Layers 2 +LAUFBAU_TYPE_BOTTOM = §8-§7 Type bottom +LAUFBAU_TYPE_TOP = §8-§7 Type top +LAUFBAU_HALF_BOTTOM = §8-§7 Half bottom +LAUFBAU_HALF_TOP = §8-§7 Half top +LAUFBAU_OPEN = §8-§7 Opened +LAUFBAU_ATTACHMENT_CEILING = §8-§7 Attachment Ceiling +LAUFBAU_ATTACHMENT_FLOOR = §8-§7 Attachment Floor +LAUFBAU_ATTACHMENT_DOUBLE_WALL = §8-§7 Attachment double Wall +LAUFBAU_ATTACHMENT_SINGLE_WALL = §8-§7 Attachment single Wall +LAUFBAU_ATTACHMENT_WALL = §8-§7 Attachment Wall +LAUFBAU_CONNECTION_FLOOR = §8-§7 Connection Floor +LAUFBAU_CONNECTION_NORTH = §8-§7 Connection North +LAUFBAU_CONNECTION_SOUTH = §8-§7 Connection South +LAUFBAU_CONNECTION_EAST = §8-§7 Connection East +LAUFBAU_CONNECTION_WEST = §8-§7 Connection West +LAUFBAU_CONNECTION_DOWN = §8-§7 Connection Bottom +LAUFBAU_CONNECTION_UP = §8-§7 Connection Top +LAUFBAU_HANGING = §8-§7 hanging +LAUFBAU_SHAPE_STRAIGHT = §8-§7 Shape straight +LAUFBAU_SHAPE_OUTER_LEFT = §8-§7 Shape outer links +LAUFBAU_SHAPE_INNER_LEFT = §8-§7 Shape inner left +LAUFBAU_TILT_NONE = §8-§7 Tilt none +LAUFBAU_TILT_PARTIAL = §8-§7 Tilt partial # UTILS -SELECT_HELP=§8/§eselect §8[§7RegionsTyp§8] §8- §7Select a region type -SELECT_EXTENSION_HELP=§8/§eselect §8[§7RegionsTyp§8] §8[§7Extension§8] §8- §7Select a region type with or without extension -SELECT_GLOBAL_REGION=§cThe global region cannot be selected -SELECT_NO_TYPE=§cThis region has no {0} -SELECT_MESSAGE=§7WorldEdit selection set to {0}, {1}, {2} and {3}, {4}, {5} -SKULL_HELP=§8/§eskull §8[§eplayer§8] §8-§7 Receive a player head -SKULL_INVALID=§cInvalid player name -SKULL_ITEM=§e{0}§8s Head -SPEED_HELP=§8/§espeed §8[§71§8-§710§8|§edefault§8] §8-§7 Set your flight and walking speed. -SPEED_CURRENT=§7Current speed§8: §e{0} -SPEED_TOO_SMALL=§c{0} is too small -SPEED_TOO_HIGH=§c{0} is too big -SPEED_ITEM=§eSpeed -SPEED_ITEM_LORE=§7Currently: §e -SPEED_TAB_NAME=Input speed -WORLDEDIT_WAND=WorldEdit Wand -WORLDEDIT_LEFTCLICK=Left click: select pos #1 -WORLDEDIT_RIGHTCLICK=Right click: select pos #2 -TNT_DETAILS_COMMAND=§8/§etntdetails §8-§7 Toggle information printed after clicking on a TNT +SELECT_HELP = §8/§eselect §8[§7RegionsTyp§8] §8- §7Select a region type +SELECT_EXTENSION_HELP = §8/§eselect §8[§7RegionsTyp§8] §8[§7Extension§8] §8- §7Select a region type with or without extension +SELECT_GLOBAL_REGION = §cThe global region cannot be selected +SELECT_NO_TYPE = §cThis region has no {0} +SELECT_MESSAGE = §7WorldEdit selection set to {0}, {1}, {2} and {3}, {4}, {5} +SKULL_HELP = §8/§eskull §8[§eplayer§8] §8-§7 Receive a player head +SKULL_INVALID = §cInvalid player name +SKULL_ITEM = §e{0}§8s Head +SPEED_HELP = §8/§espeed §8[§71§8-§710§8|§edefault§8] §8-§7 Set your flight and walking speed. +SPEED_CURRENT = §7Current speed§8: §e{0} +SPEED_TOO_SMALL = §c{0} is too small +SPEED_TOO_HIGH = §c{0} is too big +SPEED_ITEM = §eSpeed +SPEED_ITEM_LORE = §7Currently: §e +SPEED_TAB_NAME = Input speed +WORLDEDIT_WAND = WorldEdit Wand +WORLDEDIT_LEFTCLICK = Left click: select pos #1 +WORLDEDIT_RIGHTCLICK = Right click: select pos #2 +TNT_DETAILS_COMMAND = §8/§etntdetails §8-§7 Toggle information printed after clicking on a TNT TNT_DETAILS_ON = §eTNTDetails §aactivated TNT_DETAILS_OFF = §eTNTDetails §cdeactivated -TNT_CLICK_HEADER=§8---=== §eTNT §8===--- -TNT_CLICK_ORDER=§eEntity Order§8: §e{0} -TNT_CLICK_FUSE_TIME=§eFuseTime§8: §e{0} -TNT_CLICK_POSITION_X=§7Position §eX§8: §e{0} -TNT_CLICK_POSITION_Y=§7Position §eY§8: §e{0} -TNT_CLICK_POSITION_Z=§7Position §eZ§8: §e{0} -TNT_CLICK_VELOCITY_X=§7Velocity §eX§8: §e{0} -TNT_CLICK_VELOCITY_Y=§7Velocity §eY§8: §e{0} -TNT_CLICK_VELOCITY_Z=§7Velocity §eZ§8: §e{0} -TNT_CLICK_COUNT=§7Count §8: §e{0} -TNT_CLICK_ISOLATE=§eIsolate -SELECT_ITEM_CHOOSE_EXTENSION=Choose extension -SELECT_ITEM_CHOOSE_SELECTION=Choose selection -SELECT_ITEM_NORMAL_EXTENSION=§eNormal -SELECT_ITEM_EXTENDED_EXTENSION=§eExtension -SELECT_ITEM_SELECT=§eSelect -SELECT_ITEM_AUSWAHL=§7Selection: §7{0} {1} -SELECT_ITEM_RIGHT_CLICK=§7Right-Click to change -SELECT_ITEM_BAURAHMEN=§eBuild area -SELECT_ITEM_BAUPLATTFORM=§eBuild platform -SELECT_ITEM_TESTBLOCK=§eDummy -CHESTFILLER_FILLED=§eChest filled -CHESTFILLER_COUNT=§7{0}§8: §e§l{1} -PISTON_HELP_1=§7Right click on piston to calculate the moved blocks. -PISTON_HELP_2=§7Count is red, if one unmoveable block is present. -PISTON_HELP_3=§7Count is yellow, if too many blocks are present. -PISTON_INFO=§7Moved Blocks {0}{1}§8/§712 -PISTON_ENABLED=§aCalculator enabled -PISTON_DISABLED=§cCalculator disabled +TNT_CLICK_HEADER = §8---=== §eTNT §8===--- +TNT_CLICK_ORDER = §eEntity Order§8: §e{0} +TNT_CLICK_FUSE_TIME = §eFuseTime§8: §e{0} +TNT_CLICK_POSITION_X = §7Position §eX§8: §e{0} +TNT_CLICK_POSITION_Y = §7Position §eY§8: §e{0} +TNT_CLICK_POSITION_Z = §7Position §eZ§8: §e{0} +TNT_CLICK_VELOCITY_X = §7Velocity §eX§8: §e{0} +TNT_CLICK_VELOCITY_Y = §7Velocity §eY§8: §e{0} +TNT_CLICK_VELOCITY_Z = §7Velocity §eZ§8: §e{0} +TNT_CLICK_COUNT = §7Count §8: §e{0} +TNT_CLICK_ISOLATE = §eIsolate +SELECT_ITEM_CHOOSE_EXTENSION = Choose extension +SELECT_ITEM_CHOOSE_SELECTION = Choose selection +SELECT_ITEM_NORMAL_EXTENSION = §eNormal +SELECT_ITEM_EXTENDED_EXTENSION = §eExtension +SELECT_ITEM_SELECT = §eSelect +SELECT_ITEM_AUSWAHL = §7Selection: §7{0} {1} +SELECT_ITEM_RIGHT_CLICK = §7Right-Click to change +SELECT_ITEM_BAURAHMEN = §eBuild area +SELECT_ITEM_BAUPLATTFORM = §eBuild platform +SELECT_ITEM_TESTBLOCK = §eDummy +CHESTFILLER_FILLED = §eChest filled +CHESTFILLER_COUNT = §7{0}§8: §e§l{1} +PISTON_HELP_1 = §7Right click on piston to calculate the moved blocks. +PISTON_HELP_2 = §7Count is red, if one unmoveable block is present. +PISTON_HELP_3 = §7Count is yellow, if too many blocks are present. +PISTON_INFO = §7Moved Blocks {0}{1}§8/§712 +PISTON_ENABLED = §aCalculator enabled +PISTON_DISABLED = §cCalculator disabled # Warp -WARP_LOC_X=§7X§8: §e{0} -WARP_LOC_Y=§7Y§8: §e{0} -WARP_LOC_Z=§7Z§8: §e{0} -WARP_EXISTS=§7The warp with the name §e{0} §7already exists -WARP_NAME_RESERVED=§7You can not use §c{0} §7as name for a warp -WARP_CREATED=§7The warp §e{0} §7was created -WARP_DELETE_HOVER=§7delete §e{0} -WARP_DELETED=§e{0} §7deleted -WARP_TELEPORT_HOVER=§7Teleport to §e{0} -WARP_MATERIAL_CHOOSE=Choose material -WARP_GUI_NAME=Warps -WARP_GUI_NO=§cNo warps exist -WARP_GUI_DISTANCE=§7Distance: §e{0} §7blocks -WARP_GUI_LCLICK=§7Left click to teleport -WARP_GUI_RCLICK=§7Right click to edit -WARP_INFO_NAME=§7Name: §e{0} -WARP_HELP_ADD=§8/§ewarp add §8[§7name§8] §8- §7Create a new warp -WARP_HELP_TELEPORT=§8/§ewarp §8[§7name§8] §8- §7Teleport to a warp -WARP_HELP_INFO=§8/§ewarp info §8[§7name§8] §8- §7Information regarding one warp -WARP_HELP_DELETE=§8/§ewarp delete §8[§7name§8] §8- §7Delete a warp -WARP_HELP_GUI=§8/§ewarp gui §8- §7Open the Warp-GUI -WARP_HELP_LIST=§8/§ewarp list §8- §7List all warps +WARP_LOC_X = §7X§8: §e{0} +WARP_LOC_Y = §7Y§8: §e{0} +WARP_LOC_Z = §7Z§8: §e{0} +WARP_EXISTS = §7The warp with the name §e{0} §7already exists +WARP_NAME_RESERVED = §7You can not use §c{0} §7as name for a warp +WARP_CREATED = §7The warp §e{0} §7was created +WARP_DELETE_HOVER = §7delete §e{0} +WARP_DELETED = §e{0} §7deleted +WARP_TELEPORT_HOVER = §7Teleport to §e{0} +WARP_MATERIAL_CHOOSE = Choose material +WARP_GUI_NAME = Warps +WARP_GUI_NO = §cNo warps exist +WARP_GUI_DISTANCE = §7Distance: §e{0} §7blocks +WARP_GUI_LCLICK = §7Left click to teleport +WARP_GUI_RCLICK = §7Right click to edit +WARP_INFO_NAME = §7Name: §e{0} +WARP_HELP_ADD = §8/§ewarp add §8[§7name§8] §8- §7Create a new warp +WARP_HELP_TELEPORT = §8/§ewarp §8[§7name§8] §8- §7Teleport to a warp +WARP_HELP_INFO = §8/§ewarp info §8[§7name§8] §8- §7Information regarding one warp +WARP_HELP_DELETE = §8/§ewarp delete §8[§7name§8] §8- §7Delete a warp +WARP_HELP_GUI = §8/§ewarp gui §8- §7Open the Warp-GUI +WARP_HELP_LIST = §8/§ewarp list §8- §7List all warps # WORLD -STOP_HELP=§8/§estop §8- §7Stops the server -STOP_MESSAGE=§eServer is stopping -KICKALL_HELP=§8/§ekickall §8- §7Kick all players from the server except the owner +STOP_HELP = §8/§estop §8- §7Stops the server +STOP_MESSAGE = §eServer is stopping +KICKALL_HELP = §8/§ekickall §8- §7Kick all players from the server except the owner # Techhider -TECHHIDER_HELP=§8/§etechhider §8- §7Toggle Techhider -TECHHIDER_GLOBAL=§cNo techhider in global region -TECHHIDER_ON=§aTechhider activated -TECHHIDER_OFF=§cTechhider deactivated +TECHHIDER_HELP = §8/§etechhider §8- §7Toggle Techhider +TECHHIDER_GLOBAL = §cNo techhider in global region +TECHHIDER_ON = §aTechhider activated +TECHHIDER_OFF = §cTechhider deactivated # XRAY -XRAY_HELP=§8/§exray §8- §7Toggle Xray -XRAY_GLOBAL=§cNo xray in global region -XRAY_ON=§aXray activated -XRAY_OFF=§cXray deactivated +XRAY_HELP = §8/§exray §8- §7Toggle Xray +XRAY_GLOBAL = §cNo xray in global region +XRAY_ON = §aXray activated +XRAY_OFF = §cXray deactivated # WorldEdit -COLORREPLACE_HELP=§8//§ecolorreplace §8[§7color§8] §8[§7color§8] §8- §7Replace all blocks of one color with another -TYPEREPLACE_HELP=§8//§etypereplace §8[§7type§8] §8[§7type§8] §8- §7Replace all blocks of one type with another +COLORREPLACE_HELP = §8//§ecolorreplace §8[§7color§8] §8[§7color§8] §8- §7Replace all blocks of one color with another +TYPEREPLACE_HELP = §8//§etypereplace §8[§7type§8] §8[§7type§8] §8- §7Replace all blocks of one type with another # Schematic -SCHEMATIC_GUI_ITEM=§eSchematics +SCHEMATIC_GUI_ITEM = §eSchematics # TNTListener -TLS_MESSAGE_79=§7TLS§8> §7Tick §e{0} §8- §7TNT §e{1} -TLS_MESSAGE_80=§7TLS§8> §7Tick §e{0} §8- §7TNT §e{1} §8(§e{2} §7with Fuse 80§8) -TLS_START_HELP=§8/§etls start §8- §7Start the TNT Listener -TLS_STOP_HELP=§8/§etls stop §8- §7Stop the TNT Listener -TLS_SCOREBOARD_ELEMENT=§eTLS§8: §aon -TLS_TOGGLE_HELP=§8/§etls§8: §7Toggle the TNT Listener \ No newline at end of file +TLS_MESSAGE_79 = §7TLS§8> §7Tick §e{0} §8- §7TNT §e{1} +TLS_MESSAGE_80 = §7TLS§8> §7Tick §e{0} §8- §7TNT §e{1} §8(§e{2} §7with Fuse 80§8) +TLS_START_HELP = §8/§etls start §8- §7Start the TNT Listener +TLS_STOP_HELP = §8/§etls stop §8- §7Stop the TNT Listener +TLS_SCOREBOARD_ELEMENT = §eTLS§8: §aon +TLS_TOGGLE_HELP = §8/§etls§8: §7Toggle the TNT Listener \ No newline at end of file diff --git a/BauSystem/BauSystem_Main/src/BauSystem_de.properties b/BauSystem/BauSystem_Main/src/BauSystem_de.properties index 79ee1be0..dedc0599 100644 --- a/BauSystem/BauSystem_Main/src/BauSystem_de.properties +++ b/BauSystem/BauSystem_Main/src/BauSystem_de.properties @@ -16,959 +16,959 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . # -PREFIX=§eBau§8System§8» -TIME=HH:mm:ss -DATE=........ -COMMAND_HELP_HEAD=§7---=== (§e{0}§7) ===--- -ONLY_SCHEMS=§cDu kannst hier keinen Ordner angeben -PAGE_LIST=§e Seite ({0}/{1}) »» -LIST_PREVIOUS_PAGE=§eVorherige Seite -LIST_NEXT_PAGE=§eNächste Seite +PREFIX = §eBau§8System§8» +TIME = HH:mm:ss +DATE = ........ +COMMAND_HELP_HEAD = §7---=== (§e{0}§7) ===--- +ONLY_SCHEMS = §cDu kannst hier keinen Ordner angeben +PAGE_LIST = §e Seite ({0}/{1}) »» +LIST_PREVIOUS_PAGE = §eVorherige Seite +LIST_NEXT_PAGE = §eNächste Seite # Permission -NO_PERMISSION=§7Du darfst dies hier nicht nutzen -SPECTATOR=§fZuschauer +NO_PERMISSION = §7Du darfst dies hier nicht nutzen +SPECTATOR = §fZuschauer # Scoreboard -SCOREBOARD_TIME=Uhrzeit -SCOREBOARD_REGION=Region -SCOREBOARD_TRACE=Trace -SCOREBOARD_LOADER=Loader -SCOREBOARD_TPS=TPS -SCOREBOARD_TPS_FROZEN=§eEingefroren -SCOREBOARD_TRACE_TICKS=Ticks -SCOREBOARD_TECHHIDER=TechHider§8: §aAn -SCOREBOARD_XRAY=XRay§8: §aAn -SCOREBOARD_LOCK_TEAM=Bau Lock§8: §eTeam -SCOREBOARD_LOCK_TEAM_AND_SERVERTEAM=Bau Lock§8: §e(Server-) Team -SCOREBOARD_LOCK_SERVERTEAM=Bau Lock§8: §eServerteam -SCOREBOARD_LOCK_NOBODY=Bau Lock§8: §cNiemand +SCOREBOARD_TIME = Uhrzeit +SCOREBOARD_REGION = Region +SCOREBOARD_TRACE = Trace +SCOREBOARD_LOADER = Loader +SCOREBOARD_TPS = TPS +SCOREBOARD_TPS_FROZEN = §eEingefroren +SCOREBOARD_TRACE_TICKS = Ticks +SCOREBOARD_TECHHIDER = TechHider§8: §aAn +SCOREBOARD_XRAY = XRay§8: §aAn +SCOREBOARD_LOCK_TEAM = Bau Lock§8: §eTeam +SCOREBOARD_LOCK_TEAM_AND_SERVERTEAM = Bau Lock§8: §e(Server-) Team +SCOREBOARD_LOCK_SERVERTEAM = Bau Lock§8: §eServerteam +SCOREBOARD_LOCK_NOBODY = Bau Lock§8: §cNiemand # Flags -FLAG_COLOR=Color -FLAG_TNT=TNT -FLAG_FIRE=Fire -FLAG_FREEZE=Freeze -FLAG_PROTECT=Protect -FLAG_ITEMS=Items -FLAG_FIRE_ALLOW=§can -FLAG_FIRE_DENY=§aaus -FLAG_FREEZE_ACTIVE=§aan -FLAG_FREEZE_INACTIVE=§caus -FLAG_PROTECT_ACTIVE=§aan -FLAG_PROTECT_INACTIVE=§caus -FLAG_WATER_DESTROY=Wasserschaden -FLAG_WATER_DESTROY_ALLOW=§cerlaubt -FLAG_WATER_DESTROY_DENY=§aaus -FLAG_TNT_ALLOW=§aan -FLAG_TNT_DENY=§caus -FLAG_TNT_ONLY_TB=§7Kein §eBaurahmen -FLAG_TNT_ONLY_BUILD=§7Kein §eTestblock -FLAG_ITEMS_ACTIVE=§aan -FLAG_ITEMS_INACTIVE=§caus -FLAG_COLOR_WHITE=§fWeiß -FLAG_COLOR_ORANGE=§6Orange -FLAG_COLOR_MAGENTA=§dMagenta -FLAG_COLOR_LIGHT_BLUE=§bHellblau -FLAG_COLOR_YELLOW=§eGelb -FLAG_COLOR_LIME=§aHellgrün +FLAG_COLOR = Color +FLAG_TNT = TNT +FLAG_FIRE = Fire +FLAG_FREEZE = Freeze +FLAG_PROTECT = Protect +FLAG_ITEMS = Items +FLAG_FIRE_ALLOW = §can +FLAG_FIRE_DENY = §aaus +FLAG_FREEZE_ACTIVE = §aan +FLAG_FREEZE_INACTIVE = §caus +FLAG_PROTECT_ACTIVE = §aan +FLAG_PROTECT_INACTIVE = §caus +FLAG_WATER_DESTROY = Wasserschaden +FLAG_WATER_DESTROY_ALLOW = §cerlaubt +FLAG_WATER_DESTROY_DENY = §aaus +FLAG_TNT_ALLOW = §aan +FLAG_TNT_DENY = §caus +FLAG_TNT_ONLY_TB = §7Kein §eBaurahmen +FLAG_TNT_ONLY_BUILD = §7Kein §eTestblock +FLAG_ITEMS_ACTIVE = §aan +FLAG_ITEMS_INACTIVE = §caus +FLAG_COLOR_WHITE = §fWeiß +FLAG_COLOR_ORANGE = §6Orange +FLAG_COLOR_MAGENTA = §dMagenta +FLAG_COLOR_LIGHT_BLUE = §bHellblau +FLAG_COLOR_YELLOW = §eGelb +FLAG_COLOR_LIME = §aHellgrün ## This cannot be converted -FLAG_COLOR_PINK=§ePink -FLAG_COLOR_GRAY=§8Grau -FLAG_COLOR_LIGHT_GRAY=§7Hellgrau -FLAG_COLOR_CYAN=§3Cyan -FLAG_COLOR_PURPLE=§5Lila -FLAG_COLOR_BLUE=§1Blau +FLAG_COLOR_PINK = §ePink +FLAG_COLOR_GRAY = §8Grau +FLAG_COLOR_LIGHT_GRAY = §7Hellgrau +FLAG_COLOR_CYAN = §3Cyan +FLAG_COLOR_PURPLE = §5Lila +FLAG_COLOR_BLUE = §1Blau ## This cannot be converted -FLAG_COLOR_BROWN=§eBraun -FLAG_COLOR_GREEN=§2Grün -FLAG_COLOR_RED=§cRot -FLAG_COLOR_BLACK=§0Schwarz +FLAG_COLOR_BROWN = §eBraun +FLAG_COLOR_GREEN = §2Grün +FLAG_COLOR_RED = §cRot +FLAG_COLOR_BLACK = §0Schwarz # Region -REGION_TYPE_NORMAL=Normal -REGION_TYPE_BUILD=Baubereich -REGION_TYPE_ONLY_TB=Testblock +REGION_TYPE_NORMAL = Normal +REGION_TYPE_BUILD = Baubereich +REGION_TYPE_ONLY_TB = Testblock # AttributesCopy -ATTRIBUTES_CANT_COPY=§cDu musst den Item Type in der Hand halten wo du auch drauf guckst. -ATTRIBUTES_NO_COPY=§cKeine Attribute kopiert. -ATTRIBUTES_COPIED=§eAttribute kopiert. -ATTRIBUTE_REMOVE_ALL=§eAlle Attribute entfernt. -ATTRIBUTE_REMOVE_SINGLE=§eAttribut §7{0}§e entfernt. -ATTRIBUTE_REMOVE_NOT_FOUND=§cAttribut nicht gefunden +ATTRIBUTES_CANT_COPY = §cDu musst den Item Type in der Hand halten wo du auch drauf guckst. +ATTRIBUTES_NO_COPY = §cKeine Attribute kopiert. +ATTRIBUTES_COPIED = §eAttribute kopiert. +ATTRIBUTE_REMOVE_ALL = §eAlle Attribute entfernt. +ATTRIBUTE_REMOVE_SINGLE = §eAttribut §7{0}§e entfernt. +ATTRIBUTE_REMOVE_NOT_FOUND = §cAttribut nicht gefunden # AutoStart -AUTOSTART_COMMAND_HELP=§8/§etimer §8- §7Legt den AutostartTimer ins Inventar -AUTOSTART_ITEM_NAME=§eAutostartTimer -AUTOSTART_ITEM_LORE=§eRechtsklick Block §8- §7Starte den Timer -AUTOSTART_MESSAGE_NO_REGION=§cDu befindest dich derzeit in keiner Region -AUTOSTART_MESSAGE_RESET=§eDer AutostartTimer wurde zurückgesetzt -AUTOSTART_MESSAGE_START=§eAutostartTimer gestartet -AUTOSTART_MESSAGE_RESULT1=§eZeit §7bis zur §eExplosion §7am Gegner§8:§e {0}§7 in game ticks -AUTOSTART_MESSAGE_RESULT2=§7Zeitdifferenz in §egame ticks §7bis {0} Sekunden§8:§e {1} -AUTOSTART_MESSAGE_RESULT3=§7Positiv, wenn zu wenig, negativ wenn zu viel +AUTOSTART_COMMAND_HELP = §8/§etimer §8- §7Legt den AutostartTimer ins Inventar +AUTOSTART_ITEM_NAME = §eAutostartTimer +AUTOSTART_ITEM_LORE = §eRechtsklick Block §8- §7Starte den Timer +AUTOSTART_MESSAGE_NO_REGION = §cDu befindest dich derzeit in keiner Region +AUTOSTART_MESSAGE_RESET = §eDer AutostartTimer wurde zurückgesetzt +AUTOSTART_MESSAGE_START = §eAutostartTimer gestartet +AUTOSTART_MESSAGE_RESULT1 = §eZeit §7bis zur §eExplosion §7am Gegner§8:§e {0}§7 in game ticks +AUTOSTART_MESSAGE_RESULT2 = §7Zeitdifferenz in §egame ticks §7bis {0} Sekunden§8:§e {1} +AUTOSTART_MESSAGE_RESULT3 = §7Positiv, wenn zu wenig, negativ wenn zu viel # Backup -BACKUP_HELP_CREATE=§8/§ebackup create §8- §7Erstelle ein Backup der Region -BACKUP_HELP_LOAD=§8/§ebackup load §8[§7BackupName§8] §8- §7 Lade ein Backup -BACKUP_HELP_LIST=§8/§ebackup list §8- §7Liste alle Backups der Region auf -BACKUP_HELP_GUI=§8/§ebackup gui §8- §7Öffne die Backups in einer GUI -BACKUP_REGION_NO_REGION=§cDu bist in keiner Region -BACKUP_CREATE_SUCCESS=§7Das Backup wurde erstellt -BACKUP_CREATE_FAILURE=§cDas Backup erstellen ist schiefgegangen -BACKUP_CREATE_NO_CHANGE=§7Die Region hat keine Veränderung -BACKUP_LIST_HEAD=§7---=== (§eBackup §7{0}§7) ===--- -BACKUP_LIST_ENTRY=§7{0} §e[Laden] -BACKUP_LOAD_FAILURE=§cDas Backup laden ist schiefgegangen -BACKUP_LOAD=§7Backup geladen -BACKUP_INV_NAME=§eBackup -BACKUP_ITEM_NAME=§eBackup §7von §e{0} -BACKUP_LORE=§eKlicken zum Laden +BACKUP_HELP_CREATE = §8/§ebackup create §8- §7Erstelle ein Backup der Region +BACKUP_HELP_LOAD = §8/§ebackup load §8[§7BackupName§8] §8- §7 Lade ein Backup +BACKUP_HELP_LIST = §8/§ebackup list §8- §7Liste alle Backups der Region auf +BACKUP_HELP_GUI = §8/§ebackup gui §8- §7Öffne die Backups in einer GUI +BACKUP_REGION_NO_REGION = §cDu bist in keiner Region +BACKUP_CREATE_SUCCESS = §7Das Backup wurde erstellt +BACKUP_CREATE_FAILURE = §cDas Backup erstellen ist schiefgegangen +BACKUP_CREATE_NO_CHANGE = §7Die Region hat keine Veränderung +BACKUP_LIST_HEAD = §7---=== (§eBackup §7{0}§7) ===--- +BACKUP_LIST_ENTRY = §7{0} §e[Laden] +BACKUP_LOAD_FAILURE = §cDas Backup laden ist schiefgegangen +BACKUP_LOAD = §7Backup geladen +BACKUP_INV_NAME = §eBackup +BACKUP_ITEM_NAME = §eBackup §7von §e{0} +BACKUP_LORE = §eKlicken zum Laden # Bau -BAU_COMMAND_HELP_INFO=§8/§ebau info §8- §7Alias für §8/§ebauinfo -BAU_INFO_ITEM_NAME=§eBau-Management +BAU_COMMAND_HELP_INFO = §8/§ebau info §8- §7Alias für §8/§ebauinfo +BAU_INFO_ITEM_NAME = §eBau-Management ## This is used in BauInfoBauGuiItem.java -BAU_INFO_ITEM_LORE_FIRE=§7Feuer§8: §e{0} -BAU_INFO_ITEM_LORE_COLOR=§7Farbe§8: §e{0} -BAU_INFO_ITEM_LORE_CHANGED=§7Verändert§8: §e{0} -BAU_INFO_ITEM_LORE_WATER_DESTROY=§7Wasserschaden§8: §e{0} -BAU_INFO_COMMAND_HELP=§8/§ebauinfo §8- §7Gibt Informationen über den Bau -BAU_INFO_COMMAND_OWNER=§7Besitzer§8: §e{0} -BAU_INFO_COMMAND_MEMBER=§7{0} §8[§7{1}§8]§8: §e{2} -BAU_INFO_COMMAND_FLAG=§7{0}§8: §7{1} -BAU_INFO_COMMAND_TPS=§7TPS§8:§e +BAU_INFO_ITEM_LORE_FIRE = §7Feuer§8: §e{0} +BAU_INFO_ITEM_LORE_COLOR = §7Farbe§8: §e{0} +BAU_INFO_ITEM_LORE_CHANGED = §7Verändert§8: §e{0} +BAU_INFO_ITEM_LORE_WATER_DESTROY = §7Wasserschaden§8: §e{0} +BAU_INFO_COMMAND_HELP = §8/§ebauinfo §8- §7Gibt Informationen über den Bau +BAU_INFO_COMMAND_OWNER = §7Besitzer§8: §e{0} +BAU_INFO_COMMAND_MEMBER = §7{0} §8[§7{1}§8]§8: §e{2} +BAU_INFO_COMMAND_FLAG = §7{0}§8: §7{1} +BAU_INFO_COMMAND_TPS = §7TPS§8:§e # Countingwand -COUNTINGWAND_COMMAND_HELP=§8/§ecountingwand §8- §7Gibt dir ein CountingWand -COUNTINGWAND_ITEM_NAME=§eZollstock -COUNTINGWAND_ITEM_LORE1=§eLinksklick §8- §7Setzt die 1. Position -COUNTINGWAND_ITEM_LORE2=§eRechtsklick §8- §7Setzt die 2. Position -COUNTINGWAND_MESSAGE_RCLICK=§7Erste Position bei: §8[§7{0}§8, §7{1}§8, §7{2}§8] ({3}§8) ({4}§8) -COUNTINGWAND_MESSAGE_LCLICK=§7Zweite Position bei: §8[§7{0}§8, §7{1}§8, §7{2}§8] ({3}§8) ({4}§8) -COUNTINGWAND_MESSAGE_VOLUME=§e{0} -COUNTINGWAND_MESSAGE_DIMENSION=§e{0}§8, §e{1}§8, §e{2} +COUNTINGWAND_COMMAND_HELP = §8/§ecountingwand §8- §7Gibt dir ein CountingWand +COUNTINGWAND_ITEM_NAME = §eZollstock +COUNTINGWAND_ITEM_LORE1 = §eLinksklick §8- §7Setzt die 1. Position +COUNTINGWAND_ITEM_LORE2 = §eRechtsklick §8- §7Setzt die 2. Position +COUNTINGWAND_MESSAGE_RCLICK = §7Erste Position bei: §8[§7{0}§8, §7{1}§8, §7{2}§8] ({3}§8) ({4}§8) +COUNTINGWAND_MESSAGE_LCLICK = §7Zweite Position bei: §8[§7{0}§8, §7{1}§8, §7{2}§8] ({3}§8) ({4}§8) +COUNTINGWAND_MESSAGE_VOLUME = §e{0} +COUNTINGWAND_MESSAGE_DIMENSION = §e{0}§8, §e{1}§8, §e{2} # Design Endstone -DESIGN_ENDSTONE_COMMAND_HELP=§8/§edesign endstone §8- §7Zeige End Stone im Design -DESIGN_ENDSTONE_REGION_ERROR=§cDiese Region hat keinen Baubereich -DESIGN_ENDSTONE_ENABLE=§aEndstone im Design ist angezeigt -DESIGN_ENDSTONE_DISABLE=§cEndstone im Design ist versteckt +DESIGN_ENDSTONE_COMMAND_HELP = §8/§edesign endstone §8- §7Zeige End Stone im Design +DESIGN_ENDSTONE_REGION_ERROR = §cDiese Region hat keinen Baubereich +DESIGN_ENDSTONE_ENABLE = §aEndstone im Design ist angezeigt +DESIGN_ENDSTONE_DISABLE = §cEndstone im Design ist versteckt # Detonator -DETONATOR_LOC_REMOVE=§e{0} entfernt -DETONATOR_LOC_ADD=§e{0} hinzugefügt -DETONATOR_BUTTON_SWITCH=Hebel -DETONATOR_BUTTON_WOOD_BUTTON=Knopf -DETONATOR_BUTTON_STONE_BUTTON=Knopf -DETONATOR_BUTTON_PRESSURE_PLATE=Druckplatte -DETONATOR_BUTTON_WEIGHTED-PRESSURE_PLATE=Druckplatte -DETONATOR_BUTTON_TRIPWIRE=Tripwire -DETONATOR_BUTTON_NOTEBLOCK=Noteblock -DETONATOR_BUTTON_DAYLIGHTSENSOR=Tageslichtsensor -DETONATOR_BUTTON_POWERABLE=Aktivierbarer Block -DETONATOR_BUTTON_INVALID=Invalider -DETONATOR_WAND_NAME=§eFernzünder -DETONATOR_WAND_LORE_1=§eLinks Klick §8- §7Setzte einen Punkt zum Aktivieren -DETONATOR_WAND_LORE_2=§eLinks Klick + Shift §8- §7Füge einen Punkt hinzu -DETONATOR_WAND_LORE_3=§eRechts Klick §8- §7Löse alle Punkte aus -DETONATOR_HELP_WAND=§8/§edetonator wand §8-§7 Gibt den Fernzünder -DETONATOR_HELP_CLICK=§8/§edetonator click §8-§7 Aktiviere einen Fernzünder (Haupthand -> Hotbar -> Inventar) -DETONATOR_HELP_CLEAR=§8/§edetonator clear §8-§7 Cleare einen Fernzünder -DETONATOR_HELP_AUTOSTART=§8/§edetonator autostart §8-§7 Automatisch den Autostarttester Aktivieren -DETONATOR_AUTOSTART_ENABLE=§7Autostart beim detonate §aangeschaltet -DETONATOR_AUTOSTART_DISABLE=§7Autostart beim detonate §causgeschaltet -DETONATOR_POINT_ACT=§eEinen Punkt ausgelöst -DETONATOR_POINTS_ACT=§e{0} Punkte ausgelöst -DETONATOR_INVALID_POINT=§cEin Punkt konnte nicht ausgeführt werden -DETONATOR_INVALID_POINTS=§c{0} Punkte konnten nicht ausgeführt werden -DETONATOR_INVALID_BLOCK=§eDer Block konnte nicht hinzugefügt werden +DETONATOR_LOC_REMOVE = §e{0} entfernt +DETONATOR_LOC_ADD = §e{0} hinzugefügt +DETONATOR_BUTTON_SWITCH = Hebel +DETONATOR_BUTTON_WOOD_BUTTON = Knopf +DETONATOR_BUTTON_STONE_BUTTON = Knopf +DETONATOR_BUTTON_PRESSURE_PLATE = Druckplatte +DETONATOR_BUTTON_WEIGHTED-PRESSURE_PLATE = Druckplatte +DETONATOR_BUTTON_TRIPWIRE = Tripwire +DETONATOR_BUTTON_NOTEBLOCK = Noteblock +DETONATOR_BUTTON_DAYLIGHTSENSOR = Tageslichtsensor +DETONATOR_BUTTON_POWERABLE = Aktivierbarer Block +DETONATOR_BUTTON_INVALID = Invalider +DETONATOR_WAND_NAME = §eFernzünder +DETONATOR_WAND_LORE_1 = §eLinks Klick §8- §7Setzte einen Punkt zum Aktivieren +DETONATOR_WAND_LORE_2 = §eLinks Klick + Shift §8- §7Füge einen Punkt hinzu +DETONATOR_WAND_LORE_3 = §eRechts Klick §8- §7Löse alle Punkte aus +DETONATOR_HELP_WAND = §8/§edetonator wand §8-§7 Gibt den Fernzünder +DETONATOR_HELP_CLICK = §8/§edetonator click §8-§7 Aktiviere einen Fernzünder (Haupthand -> Hotbar -> Inventar) +DETONATOR_HELP_CLEAR = §8/§edetonator clear §8-§7 Cleare einen Fernzünder +DETONATOR_HELP_AUTOSTART = §8/§edetonator autostart §8-§7 Automatisch den Autostarttester Aktivieren +DETONATOR_AUTOSTART_ENABLE = §7Autostart beim detonate §aangeschaltet +DETONATOR_AUTOSTART_DISABLE = §7Autostart beim detonate §causgeschaltet +DETONATOR_POINT_ACT = §eEinen Punkt ausgelöst +DETONATOR_POINTS_ACT = §e{0} Punkte ausgelöst +DETONATOR_INVALID_POINT = §cEin Punkt konnte nicht ausgeführt werden +DETONATOR_INVALID_POINTS = §c{0} Punkte konnten nicht ausgeführt werden +DETONATOR_INVALID_BLOCK = §eDer Block konnte nicht hinzugefügt werden # Hotbar -HOTBAR_HELP_GENERIC=§7Speichert eine Hotbar. Diese wird beim Joinen eines Bauserver, wo du ein Leeres Inventar hast geladen. -HOTBAR_HELP_SAVE=§8/§ehotbar save §8-§7 Speicher deine Aktuelle Hotbar -HOTBAR_HELP_LOAD=§8/§ehotbar load §8-§7 Lade deine Standard Hotbar -HOTBAR_HELP_SHOW=§8/§ehotbar show §8-§7 Zeigt dir deine Standard Hotbar -HOTBAR_SAVED=§7Deine Hotbar wurde als Standard gespeichert -HOTBAR_LOADED=§7Deine Standard Hotbar wurde geladen -HOTBAR_INVENTORY=Standard Hotbar +HOTBAR_HELP_GENERIC = §7Speichert eine Hotbar. Diese wird beim Joinen eines Bauserver, wo du ein Leeres Inventar hast geladen. +HOTBAR_HELP_SAVE = §8/§ehotbar save §8-§7 Speicher deine Aktuelle Hotbar +HOTBAR_HELP_LOAD = §8/§ehotbar load §8-§7 Lade deine Standard Hotbar +HOTBAR_HELP_SHOW = §8/§ehotbar show §8-§7 Zeigt dir deine Standard Hotbar +HOTBAR_SAVED = §7Deine Hotbar wurde als Standard gespeichert +HOTBAR_LOADED = §7Deine Standard Hotbar wurde geladen +HOTBAR_INVENTORY = Standard Hotbar # GUI -GUI_EDITOR_ITEM_NAME=§eGui Editor -GUI_NAME=Bau GUI -GUI_ITEM_LORE1=§7Du kannst dieses Item zum Öffnen der BauGUI nutzen -GUI_ITEM_LORE2=§7oder Doppel F (Swap hands) drücken. -GUI_EDITOR_TITLE=Bau GUI Editor -GUI_EDITOR_ITEM_ROW_P=§e+1 Zeile -GUI_EDITOR_ITEM_ROW_M=§e-1 Zeile -GUI_EDITOR_ITEM_TRASH=§cTrashcan -GUI_EDITOR_ITEM_TRASH_LORE=§7Item hier rein Legen -GUI_EDITOR_ITEM_MORE=§eMehr Items -GUI_EDITOR_ITEM_CLOSE=§eSchließen -GUI_EDITOR_TITLE_MORE=Item auswählen +GUI_EDITOR_ITEM_NAME = §eGui Editor +GUI_NAME = Bau GUI +GUI_ITEM_LORE1 = §7Du kannst dieses Item zum Öffnen der BauGUI nutzen +GUI_ITEM_LORE2 = §7oder Doppel F (Swap hands) drücken. +GUI_EDITOR_TITLE = Bau GUI Editor +GUI_EDITOR_ITEM_ROW_P = §e+1 Zeile +GUI_EDITOR_ITEM_ROW_M = §e-1 Zeile +GUI_EDITOR_ITEM_TRASH = §cTrashcan +GUI_EDITOR_ITEM_TRASH_LORE = §7Item hier rein Legen +GUI_EDITOR_ITEM_MORE = §eMehr Items +GUI_EDITOR_ITEM_CLOSE = §eSchließen +GUI_EDITOR_TITLE_MORE = Item auswählen # Script ## CustomScript -SCRIPT_HOTKEY_ITEM_NAME=§7Hotkey§8: §e{0} -SCRIPT_EVENT_ITEM_NAME=§7Event§8: §e{0} -SCRIPT_COMMAND_ITEM_NAME=§7Befehl§8: §e/{0} -SCRIPT_ERROR_ONLY_IN_GLOBAL=§cDieses Skript kann nur als globales Skript ausgeführt werden +SCRIPT_HOTKEY_ITEM_NAME = §7Hotkey§8: §e{0} +SCRIPT_EVENT_ITEM_NAME = §7Event§8: §e{0} +SCRIPT_COMMAND_ITEM_NAME = §7Befehl§8: §e/{0} +SCRIPT_ERROR_ONLY_IN_GLOBAL = §cDieses Skript kann nur als globales Skript ausgeführt werden ## Script Menu GUI -SCRIPT_MENU_GUI_ITEM_LORE_1=§7Klicke zum rausnehmen -SCRIPT_MENU_GUI_ITEM_LORE_2=§7Shiftklick zum kopieren -SCRIPT_MENU_GUI_ITEM_LORE_3=§7Rechtsklick zum editieren -SCRIPT_MENU_GUI_ITEM_LORE_4=§7Mittelklick zum anschauen -SCRIPT_MENU_GUI_NAME=§eSkript-Menü -SCRIPT_MENU_GUI_ITEM_ADD_NAME=§eHinzufügen -SCRIPT_MENU_GUI_ITEM_ADD_LORE=§7Klicke mit einem Buch zum hinzufügen -SCRIPT_DEPRECATED=§cDie Funktion §e{0}§c ist veraltet und wird demnächst entfernt. Bitte benutze §e{1}§c. +SCRIPT_MENU_GUI_ITEM_LORE_1 = §7Klicke zum rausnehmen +SCRIPT_MENU_GUI_ITEM_LORE_2 = §7Shiftklick zum kopieren +SCRIPT_MENU_GUI_ITEM_LORE_3 = §7Rechtsklick zum editieren +SCRIPT_MENU_GUI_ITEM_LORE_4 = §7Mittelklick zum anschauen +SCRIPT_MENU_GUI_NAME = §eSkript-Menü +SCRIPT_MENU_GUI_ITEM_ADD_NAME = §eHinzufügen +SCRIPT_MENU_GUI_ITEM_ADD_LORE = §7Klicke mit einem Buch zum hinzufügen +SCRIPT_DEPRECATED = §cDie Funktion §e{0}§c ist veraltet und wird demnächst entfernt. Bitte benutze §e{1}§c. # Shield Printing -SHIELD_PRINTING_HELP_START=§8/§eshieldprinting start §8- §7Starte das Schild drucken -SHIELD_PRINTING_HELP_COPY=§8/§eshieldprinting copy §8- §7Kopiert die Schilder -SHIELD_PRINTING_HELP_APPLY=§8/§eshieldprinting apply §8- §7Wendet die Schilder an -SHIELD_PRINTING_HELP_STOP=§8/§eshieldprinting stop §8- §7Stoppt das Schild drucken -SHIELD_PRINTING_HELP_STEP_1=§81. §7Füge die Schematic in die Welt ein -SHIELD_PRINTING_HELP_STEP_2=§82. §7Starte das Schild drucken mit §8/§eshieldprinting start -SHIELD_PRINTING_HELP_STEP_3=§83. §7Warte bis alle Schilde ausgefahren sind -SHIELD_PRINTING_HELP_STEP_4=§84. §7Editiere die Schilde wenn nötig -SHIELD_PRINTING_HELP_STEP_5=§85. §7Kopiere das gedruckte mit §8/§eshieldprinting copy -SHIELD_PRINTING_HELP_STEP_6=§86. §7Füge die originale Schematic wieder ein -SHIELD_PRINTING_HELP_STEP_7=§87. §7Wende das gedruckte mit §8/§eshieldprinting apply§7 an -SHIELD_PRINTING_NO_REGION=§cDu bist in keiner Region. -SHIELD_PRINTING_NOT_RUNNING=§cShield printing ist nicht aktiv. -SHIELD_PRINTING_BOSSBAR=§fBewegungen: {0} -SHIELD_PRINTING_BOSSBAR_COPIED=§fBewegungen: {0} Kopiert: {1} -SHIELD_PRINTING_GUI_NAME=§7Schild Drucken -SHIELD_PRINTING_GUI_APPLY=§aAnwenden -SHIELD_PRINTING_GUI_STATE_PREVIOUS=§7R-Click§8: §7Vorherige -SHIELD_PRINTING_GUI_STATE_NEXT=§7L-Click§8: §7Nächste -SHIELD_PRINTING_GUI_STATE_ACTIVE=§e> §7{0} -SHIELD_PRINTING_GUI_STATE_INACTIVE=§8> §7{0} -SHIELD_PRINTING_GUI_STATE_FROM_ORIGINAL=Original -SHIELD_PRINTING_GUI_STATE_FROM_COPY=Kopie -SHIELD_PRINTING_GUI_STATE_ALWAYS_ON=An -SHIELD_PRINTING_GUI_STATE_ALWAYS_OFF=Aus -SHIELD_PRINTING_GUI_STATE_ALWAYS_OPEN=Offen -SHIELD_PRINTING_GUI_STATE_ALWAYS_CLOSED=Geschlossen -SHIELD_PRINTING_GUI_STATE_FENCE=§7{0} §fZaun Verbindungen -SHIELD_PRINTING_GUI_STATE_OPENABLE=§7{0} §fGeöffnet -SHIELD_PRINTING_GUI_STATE_PISTON=§7{0} §fAusgefahren -SHIELD_PRINTING_GUI_STATE_POWERABLE=§7{0} §fAktiviert -SHIELD_PRINTING_GUI_STATE_WALL=§7{0} §fWand Verbindungen -SHIELD_PRINTING_START=§aShield printing wurde gestartet. -SHIELD_PRINTING_COPY=§aSchilde wurden kopiert. -SHIELD_PRINTING_APPLY=§aSchilde wurden angewendet. -SHIELD_PRINTING_STOP=§aShield printing wurde gestoppt. +SHIELD_PRINTING_HELP_START = §8/§eshieldprinting start §8- §7Starte das Schild drucken +SHIELD_PRINTING_HELP_COPY = §8/§eshieldprinting copy §8- §7Kopiert die Schilder +SHIELD_PRINTING_HELP_APPLY = §8/§eshieldprinting apply §8- §7Wendet die Schilder an +SHIELD_PRINTING_HELP_STOP = §8/§eshieldprinting stop §8- §7Stoppt das Schild drucken +SHIELD_PRINTING_HELP_STEP_1 = §81. §7Füge die Schematic in die Welt ein +SHIELD_PRINTING_HELP_STEP_2 = §82. §7Starte das Schild drucken mit §8/§eshieldprinting start +SHIELD_PRINTING_HELP_STEP_3 = §83. §7Warte bis alle Schilde ausgefahren sind +SHIELD_PRINTING_HELP_STEP_4 = §84. §7Editiere die Schilde wenn nötig +SHIELD_PRINTING_HELP_STEP_5 = §85. §7Kopiere das gedruckte mit §8/§eshieldprinting copy +SHIELD_PRINTING_HELP_STEP_6 = §86. §7Füge die originale Schematic wieder ein +SHIELD_PRINTING_HELP_STEP_7 = §87. §7Wende das gedruckte mit §8/§eshieldprinting apply§7 an +SHIELD_PRINTING_NO_REGION = §cDu bist in keiner Region. +SHIELD_PRINTING_NOT_RUNNING = §cShield printing ist nicht aktiv. +SHIELD_PRINTING_BOSSBAR = §fBewegungen: {0} +SHIELD_PRINTING_BOSSBAR_COPIED = §fBewegungen: {0} Kopiert: {1} +SHIELD_PRINTING_GUI_NAME = §7Schild Drucken +SHIELD_PRINTING_GUI_APPLY = §aAnwenden +SHIELD_PRINTING_GUI_STATE_PREVIOUS = §7R-Click§8: §7Vorherige +SHIELD_PRINTING_GUI_STATE_NEXT = §7L-Click§8: §7Nächste +SHIELD_PRINTING_GUI_STATE_ACTIVE = §e> §7{0} +SHIELD_PRINTING_GUI_STATE_INACTIVE = §8> §7{0} +SHIELD_PRINTING_GUI_STATE_FROM_ORIGINAL = Original +SHIELD_PRINTING_GUI_STATE_FROM_COPY = Kopie +SHIELD_PRINTING_GUI_STATE_ALWAYS_ON = An +SHIELD_PRINTING_GUI_STATE_ALWAYS_OFF = Aus +SHIELD_PRINTING_GUI_STATE_ALWAYS_OPEN = Offen +SHIELD_PRINTING_GUI_STATE_ALWAYS_CLOSED = Geschlossen +SHIELD_PRINTING_GUI_STATE_FENCE = §7{0} §fZaun Verbindungen +SHIELD_PRINTING_GUI_STATE_OPENABLE = §7{0} §fGeöffnet +SHIELD_PRINTING_GUI_STATE_PISTON = §7{0} §fAusgefahren +SHIELD_PRINTING_GUI_STATE_POWERABLE = §7{0} §fAktiviert +SHIELD_PRINTING_GUI_STATE_WALL = §7{0} §fWand Verbindungen +SHIELD_PRINTING_START = §aShield printing wurde gestartet. +SHIELD_PRINTING_COPY = §aSchilde wurden kopiert. +SHIELD_PRINTING_APPLY = §aSchilde wurden angewendet. +SHIELD_PRINTING_STOP = §aShield printing wurde gestoppt. # Unsign Book -UNSIGN_HELP=§8/§eunsign §8- §7Mache ein Buch beschreibbar +UNSIGN_HELP = §8/§eunsign §8- §7Mache ein Buch beschreibbar # Simulator -SIMULATOR_HELP=§8/§esimulator §8-§7 Legt dir den Simulatorstab ins Inventar -SIMULATOR_CREATE_HELP=§8/§esimulator create §8[§7name§8] §8-§7 Erstelle einen neuen Simulator -SIMULATOR_CHANGE_HELP=§8/§esimulator change §8-§7 Wechsel zu einem anderen Simulator -SIMULATOR_DELETE_HELP=§8/§esimulator delete §8[§7name§8] §8-§7 Löscht den Simulator -SIMULATOR_START_HELP=§8/§esimulator start §8[§7name§8] §8-§7 Startet die Simulation -SIMULATOR_COPY_HELP=§8/§esimulator copy §8[§7to-copy§8] §8[§7name§8] §8-§7 Kopiert einen Simulator -SIMULATOR_RENAME_HELP=§8/§esimulator rename §8[§7to-rename§8] §8[§7name§8] §8-§7 Benennt einen Simulator um -SIMULATOR_GUI_ITEM_NAME=§eTNT Simulator -SIMULATOR_NO_SIM_IN_HAND=§cKein Simulator Item gewählt -SIMULATOR_GUI_SELECT_SIM=Simulator wählen -SIMULATOR_GUI_CREATE_SIM=§eSimulator erstellen -SIMULATOR_GUI_CREATE_SIM_GUI=Simulator erstellen -SIMULATOR_NAME_ALREADY_EXISTS=§cSimulator existiert bereits -SIMULATOR_NAME_INVALID=§cUngültiger Name -SIMULATOR_ERROR_COPY=§cFehler beim kopieren -SIMULATOR_NOT_EXISTS=§cSimulator existiert nicht -SIMULATOR_CREATE=§aSimulator erstellt -SIMULATOR_EDIT_LOCATION=§7Editiere Positionen -SIMULATOR_EDIT_PROPERTIES=§7Editiere Eigenschaften -SIMULATOR_EDIT_OTHER=§7Editiere Andere -SIMULATOR_EDIT_GROUP=§7Editiere Gruppe -SIMULATOR_EDIT_GROUP_MENU=§eEditiere Gruppe -SIMULATOR_WAND_NAME=§eKanonensimulator -SIMULATOR_WAND_NAME_SELECTED=§7Kanonensimulator §8- §e{0} -SIMULATOR_WAND_LORE_1=§eRechtsklick §8- §7Füge eine Position hinzu -SIMULATOR_WAND_LORE_2=§eSneaken §8- §7Freie Bewegung -SIMULATOR_WAND_LORE_3=§eLinksklick §8- §7Starte die Simulation -SIMULATOR_WAND_LORE_4=§eRechtsklick Luft §8- §7Öffne die GUI -SIMULATOR_WAND_LORE_5=§eDoppel Shift §8- §7Wechsel zwischen TNT und Redstone Block -SIMULATOR_REGION_FROZEN=§cSimulator kann nicht in eingefrorenen Regionen genutzt werden +SIMULATOR_HELP = §8/§esimulator §8-§7 Legt dir den Simulatorstab ins Inventar +SIMULATOR_CREATE_HELP = §8/§esimulator create §8[§7name§8] §8-§7 Erstelle einen neuen Simulator +SIMULATOR_CHANGE_HELP = §8/§esimulator change §8-§7 Wechsel zu einem anderen Simulator +SIMULATOR_DELETE_HELP = §8/§esimulator delete §8[§7name§8] §8-§7 Löscht den Simulator +SIMULATOR_START_HELP = §8/§esimulator start §8[§7name§8] §8-§7 Startet die Simulation +SIMULATOR_COPY_HELP = §8/§esimulator copy §8[§7to-copy§8] §8[§7name§8] §8-§7 Kopiert einen Simulator +SIMULATOR_RENAME_HELP = §8/§esimulator rename §8[§7to-rename§8] §8[§7name§8] §8-§7 Benennt einen Simulator um +SIMULATOR_GUI_ITEM_NAME = §eTNT Simulator +SIMULATOR_NO_SIM_IN_HAND = §cKein Simulator Item gewählt +SIMULATOR_GUI_SELECT_SIM = Simulator wählen +SIMULATOR_GUI_CREATE_SIM = §eSimulator erstellen +SIMULATOR_GUI_CREATE_SIM_GUI = Simulator erstellen +SIMULATOR_NAME_ALREADY_EXISTS = §cSimulator existiert bereits +SIMULATOR_NAME_INVALID = §cUngültiger Name +SIMULATOR_ERROR_COPY = §cFehler beim kopieren +SIMULATOR_NOT_EXISTS = §cSimulator existiert nicht +SIMULATOR_CREATE = §aSimulator erstellt +SIMULATOR_EDIT_LOCATION = §7Editiere Positionen +SIMULATOR_EDIT_PROPERTIES = §7Editiere Eigenschaften +SIMULATOR_EDIT_OTHER = §7Editiere Andere +SIMULATOR_EDIT_GROUP = §7Editiere Gruppe +SIMULATOR_EDIT_GROUP_MENU = §eEditiere Gruppe +SIMULATOR_WAND_NAME = §eKanonensimulator +SIMULATOR_WAND_NAME_SELECTED = §7Kanonensimulator §8- §e{0} +SIMULATOR_WAND_LORE_1 = §eRechtsklick §8- §7Füge eine Position hinzu +SIMULATOR_WAND_LORE_2 = §eSneaken §8- §7Freie Bewegung +SIMULATOR_WAND_LORE_3 = §eLinksklick §8- §7Starte die Simulation +SIMULATOR_WAND_LORE_4 = §eRechtsklick Luft §8- §7Öffne die GUI +SIMULATOR_WAND_LORE_5 = §eDoppel Shift §8- §7Wechsel zwischen TNT und Redstone Block +SIMULATOR_REGION_FROZEN = §cSimulator kann nicht in eingefrorenen Regionen genutzt werden ## Other -SIMULATOR_PLUS_ONE=§7+1 -SIMULATOR_PLUS_PIXEL_SHIFT=§eShift §7Click für §e+0,0625 -SIMULATOR_PLUS_FIVE_SHIFT=§eShift §7Click für §e+5 -SIMULATOR_MINUS_ONE=§7-1 -SIMULATOR_MINUS_PIXEL_SHIFT=§eShift §7Click für §e-0,0625 -SIMULATOR_MINUS_FIVE_SHIFT=§eShift §7Click für §e-5 -SIMULATOR_POSITION_X=§7x-Position -SIMULATOR_POSITION_Y=§7y-Position -SIMULATOR_POSITION_Z=§7z-Position -SIMULATOR_BACK=§eZurück -SIMULATOR_GUI_TOTAL_TNT=§7Gesamt TNT§8: §e{0} -SIMULATOR_DELETED=§cSimulator gelöscht -SIMULATOR_RENAMED=§cSimulator von {0} zu {1} umbenannt +SIMULATOR_PLUS_ONE = §7+1 +SIMULATOR_PLUS_PIXEL_SHIFT = §eShift §7Click für §e+0,0625 +SIMULATOR_PLUS_FIVE_SHIFT = §eShift §7Click für §e+5 +SIMULATOR_MINUS_ONE = §7-1 +SIMULATOR_MINUS_PIXEL_SHIFT = §eShift §7Click für §e-0,0625 +SIMULATOR_MINUS_FIVE_SHIFT = §eShift §7Click für §e-5 +SIMULATOR_POSITION_X = §7x-Position +SIMULATOR_POSITION_Y = §7y-Position +SIMULATOR_POSITION_Z = §7z-Position +SIMULATOR_BACK = §eZurück +SIMULATOR_GUI_TOTAL_TNT = §7Gesamt TNT§8: §e{0} +SIMULATOR_DELETED = §cSimulator gelöscht +SIMULATOR_RENAMED = §cSimulator von {0} zu {1} umbenannt ## GUI -SIMULATOR_POSITION_EDIT=§ePosition bearbeiten -SIMULATOR_POSITION_ADD=§ePosition setzen -SIMULATOR_GUI_TNT_SPAWN_NAME=§eTNT -SIMULATOR_GUI_TNT_SPAWN_LORE_1=§7TNT-Anzahl§8: §e{0} -SIMULATOR_GUI_TNT_SPAWN_LORE_3=§7Lebensdauer§8: §e{0} -SIMULATOR_GUI_TNT_GROUP_NAME=§eTNT Gruppe -SIMULATOR_GUI_TNT_GROUP_LORE_1=§7Elementanzahl§8: §e{0} -SIMULATOR_GUI_TNT_DISABLED=§cDisabled -SIMULATOR_GUI_NAME=Kanonensimulator -SIMULATOR_GUI_DELETE=§cTNT löschen -SIMULATOR_GUI_AUTO_TRACE=§eAutoTrace§8: §7{0} -SIMULATOR_GUI_MOVE_ALL=§eAlle Verschieben -SIMULATOR_ALIGNMENT_CENTER=§7Verschiebung§8: §eMitte -SIMULATOR_ALIGNMENT_POSITIVE_X=§7Verschiebung§8: §ePositive X -SIMULATOR_ALIGNMENT_NEGATIVE_X=§7Verschiebung§8: §eNegative X -SIMULATOR_ALIGNMENT_POSITIVE_Z=§7Verschiebung§8: §ePositive Z -SIMULATOR_ALIGNMENT_NEGATIVE_Z=§7Verschiebung§8: §eNegative Z -SIMULATOR_MOVE_ALL_GUI_NAME=TNT Verschieben -SIMULATOR_TNT_SPAWN_GUI_NAME=TNT konfigurieren {0} -SIMULATOR_TNT_SPAWN_LORE=§eZum Ändern klicken -SIMULATOR_TNT_SPAWN_COUNT=§7TNT-Anzahl §8- §e{0} -SIMULATOR_TNT_SPAWN_COUNT_ANVIL_GUI_NAME=Anzahl TNT -SIMULATOR_TNT_SPAWN_TICK=§7Tick §8- §e{0} -SIMULATOR_TNT_SPAWN_TICK_ANVIL_GUI_NAME=Tick Offset -SIMULATOR_TNT_SPAWN_FUSE=§7Lebensdauer §8- §e{0} -SIMULATOR_TNT_SPAWN_FUSE_ANVIL_GUI_NAME=Fuse-Ticks -SIMULATOR_TNT_SPAWN_VELOCITY_NAME=§7TNT -SIMULATOR_TNT_SPAWN_VELOCITY_X=§7TNT §eSprung X §8- {0} -SIMULATOR_TNT_SPAWN_VELOCITY_Y=§7TNT §eSprung Y §8- {0} -SIMULATOR_TNT_SPAWN_VELOCITY_Z=§7TNT §eSprung Z §8- {0} -SIMULATOR_TNT_SPAWN_VELOCITY_ON=§aan -SIMULATOR_TNT_SPAWN_VELOCITY_OFF=§caus -SIMULATOR_TNT_SPAWN_POSITION_X=§7x-Position §8- §e{0} -SIMULATOR_TNT_SPAWN_POSITION_Y=§7y-Position §8- §e{0} -SIMULATOR_TNT_SPAWN_POSITION_Z=§7z-Position §8- §e{0} -SIMULATOR_TNT_SPAWN_ACTIVATED_WITH=§7Gezündet durch §8- §e{0} -SIMULATOR_TNT_SPAWN_ACTIVATED_WITH_COMPARATOR=Comparator -SIMULATOR_TNT_SPAWN_ACTIVATED_WITH_REPEATER=Repeater -SIMULATOR_TNT_SPAWN_ACTIVATED_WITH_OBSERVER=Observer -SIMULATOR_TNT_SPAWN_MATERIAL=§eMaterial -SIMULATOR_TNT_SPAWN_MATERIAL_LORE_1=§7Jetziges Material§8: §e{0} -SIMULATOR_TNT_SPAWN_MATERIAL_LORE_2=§eLink-Click §7Zum ändern -SIMULATOR_TNT_SPAWN_MATERIAL_LORE_3=§eRechts-Click §7Zum zurücksetzten -SIMULATOR_MATERIAL_GUI_NAME=Material ändern -SIMULATOR_MATERIAL_CLICK=§eKlicken zum wählen -SIMULATOR_TNT_SPAWN_ADD_IGNITION_PHASE=§eZündphase hinzufügen -SIMULATOR_TNT_SPAWN_ADD_TNT=§eTNT hinzufügen -SIMULATOR_TNT_SPAWN_REMOVE_TNT=§cEntfernen -SIMULATOR_TNT_SPAWN_POSITION_ANVIL_GUI_NAME=Position +SIMULATOR_POSITION_EDIT = §ePosition bearbeiten +SIMULATOR_POSITION_ADD = §ePosition setzen +SIMULATOR_GUI_TNT_SPAWN_NAME = §eTNT +SIMULATOR_GUI_TNT_SPAWN_LORE_1 = §7TNT-Anzahl§8: §e{0} +SIMULATOR_GUI_TNT_SPAWN_LORE_3 = §7Lebensdauer§8: §e{0} +SIMULATOR_GUI_TNT_GROUP_NAME = §eTNT Gruppe +SIMULATOR_GUI_TNT_GROUP_LORE_1 = §7Elementanzahl§8: §e{0} +SIMULATOR_GUI_TNT_DISABLED = §cDisabled +SIMULATOR_GUI_NAME = Kanonensimulator +SIMULATOR_GUI_DELETE = §cTNT löschen +SIMULATOR_GUI_AUTO_TRACE = §eAutoTrace§8: §7{0} +SIMULATOR_GUI_MOVE_ALL = §eAlle Verschieben +SIMULATOR_ALIGNMENT_CENTER = §7Verschiebung§8: §eMitte +SIMULATOR_ALIGNMENT_POSITIVE_X = §7Verschiebung§8: §ePositive X +SIMULATOR_ALIGNMENT_NEGATIVE_X = §7Verschiebung§8: §eNegative X +SIMULATOR_ALIGNMENT_POSITIVE_Z = §7Verschiebung§8: §ePositive Z +SIMULATOR_ALIGNMENT_NEGATIVE_Z = §7Verschiebung§8: §eNegative Z +SIMULATOR_MOVE_ALL_GUI_NAME = TNT Verschieben +SIMULATOR_TNT_SPAWN_GUI_NAME = TNT konfigurieren {0} +SIMULATOR_TNT_SPAWN_LORE = §eZum Ändern klicken +SIMULATOR_TNT_SPAWN_COUNT = §7TNT-Anzahl §8- §e{0} +SIMULATOR_TNT_SPAWN_COUNT_ANVIL_GUI_NAME = Anzahl TNT +SIMULATOR_TNT_SPAWN_TICK = §7Tick §8- §e{0} +SIMULATOR_TNT_SPAWN_TICK_ANVIL_GUI_NAME = Tick Offset +SIMULATOR_TNT_SPAWN_FUSE = §7Lebensdauer §8- §e{0} +SIMULATOR_TNT_SPAWN_FUSE_ANVIL_GUI_NAME = Fuse-Ticks +SIMULATOR_TNT_SPAWN_VELOCITY_NAME = §7TNT +SIMULATOR_TNT_SPAWN_VELOCITY_X = §7TNT §eSprung X §8- {0} +SIMULATOR_TNT_SPAWN_VELOCITY_Y = §7TNT §eSprung Y §8- {0} +SIMULATOR_TNT_SPAWN_VELOCITY_Z = §7TNT §eSprung Z §8- {0} +SIMULATOR_TNT_SPAWN_VELOCITY_ON = §aan +SIMULATOR_TNT_SPAWN_VELOCITY_OFF = §caus +SIMULATOR_TNT_SPAWN_POSITION_X = §7x-Position §8- §e{0} +SIMULATOR_TNT_SPAWN_POSITION_Y = §7y-Position §8- §e{0} +SIMULATOR_TNT_SPAWN_POSITION_Z = §7z-Position §8- §e{0} +SIMULATOR_TNT_SPAWN_ACTIVATED_WITH = §7Gezündet durch §8- §e{0} +SIMULATOR_TNT_SPAWN_ACTIVATED_WITH_COMPARATOR = Comparator +SIMULATOR_TNT_SPAWN_ACTIVATED_WITH_REPEATER = Repeater +SIMULATOR_TNT_SPAWN_ACTIVATED_WITH_OBSERVER = Observer +SIMULATOR_TNT_SPAWN_MATERIAL = §eMaterial +SIMULATOR_TNT_SPAWN_MATERIAL_LORE_1 = §7Jetziges Material§8: §e{0} +SIMULATOR_TNT_SPAWN_MATERIAL_LORE_2 = §eLink-Click §7Zum ändern +SIMULATOR_TNT_SPAWN_MATERIAL_LORE_3 = §eRechts-Click §7Zum zurücksetzten +SIMULATOR_MATERIAL_GUI_NAME = Material ändern +SIMULATOR_MATERIAL_CLICK = §eKlicken zum wählen +SIMULATOR_TNT_SPAWN_ADD_IGNITION_PHASE = §eZündphase hinzufügen +SIMULATOR_TNT_SPAWN_ADD_TNT = §eTNT hinzufügen +SIMULATOR_TNT_SPAWN_REMOVE_TNT = §cEntfernen +SIMULATOR_TNT_SPAWN_POSITION_ANVIL_GUI_NAME = Position # SmartPlace -SMART_PLACE_HELP=§8/§esmartplace §8-§7 Toggled SmartPlace -SMART_PLACE_INFO=§7Plaziert rotierbare Blöcke beim §esneaken§7 von dir §eweg§7. -SMART_PLACE_ENABLE=§aSmartPlace aktiviert -SMART_PLACE_DISABLE=§cSmartPlace deaktiviert +SMART_PLACE_HELP = §8/§esmartplace §8-§7 Toggled SmartPlace +SMART_PLACE_INFO = §7Plaziert rotierbare Blöcke beim §esneaken§7 von dir §eweg§7. +SMART_PLACE_ENABLE = §aSmartPlace aktiviert +SMART_PLACE_DISABLE = §cSmartPlace deaktiviert # InventoryFiller -INVENTORY_FILL_HELP=§8/§einventoryfill §8- §7Toggled InventoryFill -INVENTORY_FILL_INFO=§7Hilft dir, Behälter zu füllen, indem du sie beim sneaken ansiehst und den Gegenstand fallen lässt. Oder scrolle einfach auf einen Behälter, um die Menge des gehaltenen Gegenstandes darin zu ändern. -INVENTORY_FILL_ENABLE=§aInventoryFiller aktiviert -INVENTORY_FILL_DISABLE=§cInventoryFiller deaktiviert +INVENTORY_FILL_HELP = §8/§einventoryfill §8- §7Toggled InventoryFill +INVENTORY_FILL_INFO = §7Hilft dir, Behälter zu füllen, indem du sie beim sneaken ansiehst und den Gegenstand fallen lässt. Oder scrolle einfach auf einen Behälter, um die Menge des gehaltenen Gegenstandes darin zu ändern. +INVENTORY_FILL_ENABLE = §aInventoryFiller aktiviert +INVENTORY_FILL_DISABLE = §cInventoryFiller deaktiviert # Ray Visualizer -RAY_VISUALIZER_ENABLE=§aRayVisualizer aktiviert -RAY_VISUALIZER_DISABLE=§aRayVisualizer deaktiviert +RAY_VISUALIZER_ENABLE = §aRayVisualizer aktiviert +RAY_VISUALIZER_DISABLE = §aRayVisualizer deaktiviert # Killchecker -KILLCHECKER_HELP_ENABLE=§8/§ekillchecker enable §8- §7Aktiviert Killchecker / Berechnet kills neu -KILLCHECKER_HELP_DISABLE=§8/§ekillchecker disable §8- §7Deaktiviert Killchecker -KILLCHECKER_INFO=§7Zeigt Überlappungen der Kanonen Kills im Baubereich an. -KILLCHECKER_INFO2=§7Nur farbige Blöcke wie Wolle, Terracotta, Stained Glass und Concrete wird gezählt. -KILLCHECKER_ENABLE=§aKillchecker aktiviert -KILLCHECKER_DISABLE=§cKillchecker deaktiviert -KILLCHECKER_NO_BUILD=§cEs gibt keinen Baubereich in dieser Region -KILLCHECKER_BOSSBAR=§e§l{0} §7(§e{1}%§7) §e§l{2}§7 Kanonnen +KILLCHECKER_HELP_ENABLE = §8/§ekillchecker enable §8- §7Aktiviert Killchecker / Berechnet kills neu +KILLCHECKER_HELP_DISABLE = §8/§ekillchecker disable §8- §7Deaktiviert Killchecker +KILLCHECKER_INFO = §7Zeigt Überlappungen der Kanonen Kills im Baubereich an. +KILLCHECKER_INFO2 = §7Nur farbige Blöcke wie Wolle, Terracotta, Stained Glass und Concrete wird gezählt. +KILLCHECKER_ENABLE = §aKillchecker aktiviert +KILLCHECKER_DISABLE = §cKillchecker deaktiviert +KILLCHECKER_NO_BUILD = §cEs gibt keinen Baubereich in dieser Region +KILLCHECKER_BOSSBAR = §e§l{0} §7(§e{1}%§7) §e§l{2}§7 Kanonnen # BlockCounter -BLOCK_COUNTER_HELP_TOGGLE=§8/§eblockcounter §8- §7Wechsel zwischen an und aus -BLOCK_COUNTER_HELP_ENABLE=§8/§eblockcounter enable §8- §7Schalte den BlockCounter an -BLOCK_COUNTER_HELP_DISABLE=§8/§eblockcounter disable §8- §7Schalte den BlockCounter aus -BLOCK_COUNTER_MESSAGE=§7Schaden §8> §e{0} §7Blöcke §e{1} §7TNT §e{2} §7Blöcke/TNT §e{3} §7Blöcke/tick -BLOCK_COUNTER_MESSAGE_SECOND=§7Schaden §8> §e{0} §7Blöcke §e{1} §7TNT §e{2} §7Blöcke/TNT §e{3} §7Blöcke/s -BLOCK_COUNTER_ENABLE=§7BlockCounter angemacht -BLOCK_COUNTER_DISABLE=§7BlockCounter ausgemacht +BLOCK_COUNTER_HELP_TOGGLE = §8/§eblockcounter §8- §7Wechsel zwischen an und aus +BLOCK_COUNTER_HELP_ENABLE = §8/§eblockcounter enable §8- §7Schalte den BlockCounter an +BLOCK_COUNTER_HELP_DISABLE = §8/§eblockcounter disable §8- §7Schalte den BlockCounter aus +BLOCK_COUNTER_MESSAGE = §7Schaden §8> §e{0} §7Blöcke §e{1} §7TNT §e{2} §7Blöcke/TNT §e{3} §7Blöcke/tick +BLOCK_COUNTER_MESSAGE_SECOND = §7Schaden §8> §e{0} §7Blöcke §e{1} §7TNT §e{2} §7Blöcke/TNT §e{3} §7Blöcke/s +BLOCK_COUNTER_ENABLE = §7BlockCounter angemacht +BLOCK_COUNTER_DISABLE = §7BlockCounter ausgemacht # DepthCounter -DEPTH_COUNTER_DISABLE=§7Depth Counter deaktiviert -DEPTH_COUNTER_ENABLE=§7Depth Counter aktiviert -DEPTH_COUNTER_MESSAGE=§7Tiefe §8> §7 +DEPTH_COUNTER_DISABLE = §7Depth Counter deaktiviert +DEPTH_COUNTER_ENABLE = §7Depth Counter aktiviert +DEPTH_COUNTER_MESSAGE = §7Tiefe §8> §7 # TPSLimit -TPSLIMIT_FREEZE_HELP=§8/§etpslimit 0 §8-§7 Friere TPS ein -TPSLIMIT_LIMIT_HELP=§8/§etpslimit §8[§720>x>0.5§8] §8-§7 Verlangsame die TPS -TPSLIMIT_WARP_HELP=§8/§etpslimit §8[§7x>20§8] §8-§7 Beschleunige die TPS -TPSLIMIT_DEFAULT_HELP=§8/§etpslimit default §8-§7 Setze die TPS auf 20 -TPSLIMIT_HELP=§8/§etpslimit §8-§7 Zeige die jetzige TPS -TICK_FREEZE_HELP=§8/§etick rate 0 §8-§7 Friere TPS ein -TICK_FREEZE_HELP_2=§8/§etick freeze §8-§7 Friere TPS ein -TICK_UNFREEZE_HELP=§8/§etick unfreeze §8-§7 Setze die TPS auf 20 -TICK_LIMIT_HELP=§8/§etick rate §8[§720>x>0.5§8] §8-§7 Verlangsame die TPS -TICK_WARP_HELP=§8/§etick rate §8[§7x>20§8] §8-§7 Beschleunige die TPS -TICK_DEFAULT_HELP=§8/§etick rate default §8-§7 Setze die TPS auf 20 -TICK_HELP=§8/§etick rate §8-§7 Zeige die jetzige TPS -TICK_STEPPING_HELP=§8/§etick step §8<§7Ticks§8> §8-§7 Spule n ticks oder 1 vor -TICK_WARPING_HELP=§8/§etick warp §8<§7Ticks§8> §8<§7TPS§8> §8-§7 Warpe n ticks oder 1 vor -TICK_BOSSBAR=§e{0}§8/§7{1} gesprungen -TPSLIMIT_GUI_ITEM_NAME=§eTPS Limiter -TPSLIMIT_GUI_ITEM_LORE=§7Aktuell: §e{0} -TPSLIMIT_ANVIL_GUI=Neues TPS Limit -TPSLIMIT_CURRENT=§7Jetziges TPS limit§8: §e{0} -TPSLIMIT_SET=§eTPS limit auf {0} gesetzt. -TPSLIMIT_FROZEN=§eTPS eingefroren. +TPSLIMIT_FREEZE_HELP = §8/§etpslimit 0 §8-§7 Friere TPS ein +TPSLIMIT_LIMIT_HELP = §8/§etpslimit §8[§720>x>0.5§8] §8-§7 Verlangsame die TPS +TPSLIMIT_WARP_HELP = §8/§etpslimit §8[§7x>20§8] §8-§7 Beschleunige die TPS +TPSLIMIT_DEFAULT_HELP = §8/§etpslimit default §8-§7 Setze die TPS auf 20 +TPSLIMIT_HELP = §8/§etpslimit §8-§7 Zeige die jetzige TPS +TICK_FREEZE_HELP = §8/§etick rate 0 §8-§7 Friere TPS ein +TICK_FREEZE_HELP_2 = §8/§etick freeze §8-§7 Friere TPS ein +TICK_UNFREEZE_HELP = §8/§etick unfreeze §8-§7 Setze die TPS auf 20 +TICK_LIMIT_HELP = §8/§etick rate §8[§720>x>0.5§8] §8-§7 Verlangsame die TPS +TICK_WARP_HELP = §8/§etick rate §8[§7x>20§8] §8-§7 Beschleunige die TPS +TICK_DEFAULT_HELP = §8/§etick rate default §8-§7 Setze die TPS auf 20 +TICK_HELP = §8/§etick rate §8-§7 Zeige die jetzige TPS +TICK_STEPPING_HELP = §8/§etick step §8<§7Ticks§8> §8-§7 Spule n ticks oder 1 vor +TICK_WARPING_HELP = §8/§etick warp §8<§7Ticks§8> §8<§7TPS§8> §8-§7 Warpe n ticks oder 1 vor +TICK_BOSSBAR = §e{0}§8/§7{1} gesprungen +TPSLIMIT_GUI_ITEM_NAME = §eTPS Limiter +TPSLIMIT_GUI_ITEM_LORE = §7Aktuell: §e{0} +TPSLIMIT_ANVIL_GUI = Neues TPS Limit +TPSLIMIT_CURRENT = §7Jetziges TPS limit§8: §e{0} +TPSLIMIT_SET = §eTPS limit auf {0} gesetzt. +TPSLIMIT_FROZEN = §eTPS eingefroren. # Trace -TRACE_RECORD=§aan -TRACE_HAS_TRACES=§ehat Traces -TRACE_MESSAGE_START=§aTNT-Tracer gestartet -TRACE_MESSAGE_AUTO_START=§eAuto TNT-Tracer gestartet -TRACE_MESSAGE_AUTO_STOP=§cAuto TNT-Tracer gestoppt -TRACE_MESSAGE_STOP=§cTNT-Tracer gestoppt -TRACE_MESSAGE_CLEAR=§cAlle TNT-Positionen gelöscht -TRACE_MESSAGE_CLICK_ISOLATE=§eKlicken zum §aisolieren§8/§causblenden -TRACE_MESSAGE_SHOW_AT=§aTNT-positions angezeigt bei {0} -TRACE_MESSAGE_SHOW_FROM=§aAll TNT-positions angezeigt von {0} -TRACE_MESSAGE_SHOW_FROM_TO=§aAll TNT-positions angezeigt von {0} bis {1} -TRACE_MESSAGE_BROADCAST=§e{0} teilte seinen Trace-Show-Status. -TRACE_MESSAGE_BROADCAST_HOVER=§eZum Ansehen klicken. -TRACE_MESSAGE_FOLLOW=§aSie folgen nun {0} Trace show state -TRACE_MESSAGE_FOLLOW_SELF=§cSie können sich selbst nicht folgen! -TRACE_MESSAGE_UNFOLLOW=§cSie folgen nicht mehr dem Status einer Trace-Show -TRACE_MESSAGE_SHOW_TO_SMALLER=§cBis muss größer als von sein -TRACE_MESSAGE_ISOLATE=§eTNT Positionen wurden isoliert -TRACE_COMMAND_HELP_BROADCAST=§8/§etrace broadcast §8- §7Teilt den aktuellen Trace-Show-Status mit anderen -TRACE_COMMAND_HELP_FOLLOW=§8/§etrace follow §8[§ePlayer§8] §8- §7Verfolgen eines Spielers Status anzeigen -TRACE_COMMAND_HELP_UNFOLLOW=§8/§etrace unfollow §8- §7Den Status der Trace-Anzeige aufheben -TRACE_COMMAND_HELP_START=§8/§etrace start §8- §7Startet die Aufnahme aller TNT-Positionen -TRACE_COMMAND_HELP_STOP=§8/§etrace stop §8- §7Stoppt den TNT-Tracer -TRACE_COMMAND_HELP_AUTO=§8/§etrace toggleauto §8- §7Automatischer Aufnahmenstart -TRACE_COMMAND_HELP_SHOW=§8/§etrace show §8<§eParameter§8> - §7Zeigt alle TNT-Positionen -TRACE_COMMAND_HELP_SHOW_AT=§8/§etrace show §8(§etime§8|§7fuse§8) §7at §8<§eTIME§8> - §7Zeigt alle TNT-Positionen bei §8<§eTIME§8> an -TRACE_COMMAND_HELP_SHOW_FROM=§8/§etrace show §8(§etime§8|§7fuse§8) §7from §8<§eFROM§8> - §7Zeigt alle TNT-Positionen von §8<§eFROM§8> -TRACE_COMMAND_HELP_SHOW_FROM_TO=§8/§etrace show §8(§etime§8|§7fuse§8) §7from §8<§eFROM§8> §7to §8<§eTO§8> - §7Zeigt alle TNT-Positionen zwischen §8<§eFROM§8> und §8<§eTO§8> -TRACE_COMMAND_HELP_HIDE=§8/§etrace hide §8- §7Versteckt alle TNT-Positionen -TRACE_COMMAND_HELP_DELETE=§8/§etrace delete §8- §7Löscht alle TNT-Positionen -TRACE_COMMAND_HELP_ISOLATE=§8/§etrace isolate §8[§eTrace§8] §8[§eTNT§8] §8- §7Isoliert spezifische TNTs des Traces -TRACE_GUI_ITEM_NAME=§eTracer -TRACE_GUI_ITEM_LORE=§7Status§8: {0} -TRACE_GUI_NAME=Tracer Gui -TRACE_GUI_TRACE_INACTIVE=§eTracer Starten -TRACE_GUI_TRACE_ACTIVE=§eTracer Stoppen -TRACE_GUI_TRACE_ACTIVE_AUTO=§eAuto-Trace ist Aktiv -TRACE_GUI_AUTO_TRACE_INACTIVE=§eAuto-Tracer Aktivieren -TRACE_GUI_AUTO_TRACE_ACTIVE=§eAuto-Tracer Deaktivieren -TRACE_GUI_DELETE=§eTrace Löschen +TRACE_RECORD = §aan +TRACE_HAS_TRACES = §ehat Traces +TRACE_MESSAGE_START = §aTNT-Tracer gestartet +TRACE_MESSAGE_AUTO_START = §eAuto TNT-Tracer gestartet +TRACE_MESSAGE_AUTO_STOP = §cAuto TNT-Tracer gestoppt +TRACE_MESSAGE_STOP = §cTNT-Tracer gestoppt +TRACE_MESSAGE_CLEAR = §cAlle TNT-Positionen gelöscht +TRACE_MESSAGE_CLICK_ISOLATE = §eKlicken zum §aisolieren§8/§causblenden +TRACE_MESSAGE_SHOW_AT = §aTNT-positions angezeigt bei {0} +TRACE_MESSAGE_SHOW_FROM = §aAll TNT-positions angezeigt von {0} +TRACE_MESSAGE_SHOW_FROM_TO = §aAll TNT-positions angezeigt von {0} bis {1} +TRACE_MESSAGE_BROADCAST = §e{0} teilte seinen Trace-Show-Status. +TRACE_MESSAGE_BROADCAST_HOVER = §eZum Ansehen klicken. +TRACE_MESSAGE_FOLLOW = §aSie folgen nun {0} Trace show state +TRACE_MESSAGE_FOLLOW_SELF = §cSie können sich selbst nicht folgen! +TRACE_MESSAGE_UNFOLLOW = §cSie folgen nicht mehr dem Status einer Trace-Show +TRACE_MESSAGE_SHOW_TO_SMALLER = §cBis muss größer als von sein +TRACE_MESSAGE_ISOLATE = §eTNT Positionen wurden isoliert +TRACE_COMMAND_HELP_BROADCAST = §8/§etrace broadcast §8- §7Teilt den aktuellen Trace-Show-Status mit anderen +TRACE_COMMAND_HELP_FOLLOW = §8/§etrace follow §8[§ePlayer§8] §8- §7Verfolgen eines Spielers Status anzeigen +TRACE_COMMAND_HELP_UNFOLLOW = §8/§etrace unfollow §8- §7Den Status der Trace-Anzeige aufheben +TRACE_COMMAND_HELP_START = §8/§etrace start §8- §7Startet die Aufnahme aller TNT-Positionen +TRACE_COMMAND_HELP_STOP = §8/§etrace stop §8- §7Stoppt den TNT-Tracer +TRACE_COMMAND_HELP_AUTO = §8/§etrace toggleauto §8- §7Automatischer Aufnahmenstart +TRACE_COMMAND_HELP_SHOW = §8/§etrace show §8<§eParameter§8> - §7Zeigt alle TNT-Positionen +TRACE_COMMAND_HELP_SHOW_AT = §8/§etrace show §8(§etime§8|§7fuse§8) §7at §8<§eTIME§8> - §7Zeigt alle TNT-Positionen bei §8<§eTIME§8> an +TRACE_COMMAND_HELP_SHOW_FROM = §8/§etrace show §8(§etime§8|§7fuse§8) §7from §8<§eFROM§8> - §7Zeigt alle TNT-Positionen von §8<§eFROM§8> +TRACE_COMMAND_HELP_SHOW_FROM_TO = §8/§etrace show §8(§etime§8|§7fuse§8) §7from §8<§eFROM§8> §7to §8<§eTO§8> - §7Zeigt alle TNT-Positionen zwischen §8<§eFROM§8> und §8<§eTO§8> +TRACE_COMMAND_HELP_HIDE = §8/§etrace hide §8- §7Versteckt alle TNT-Positionen +TRACE_COMMAND_HELP_DELETE = §8/§etrace delete §8- §7Löscht alle TNT-Positionen +TRACE_COMMAND_HELP_ISOLATE = §8/§etrace isolate §8[§eTrace§8] §8[§eTNT§8] §8- §7Isoliert spezifische TNTs des Traces +TRACE_GUI_ITEM_NAME = §eTracer +TRACE_GUI_ITEM_LORE = §7Status§8: {0} +TRACE_GUI_NAME = Tracer Gui +TRACE_GUI_TRACE_INACTIVE = §eTracer Starten +TRACE_GUI_TRACE_ACTIVE = §eTracer Stoppen +TRACE_GUI_TRACE_ACTIVE_AUTO = §eAuto-Trace ist Aktiv +TRACE_GUI_AUTO_TRACE_INACTIVE = §eAuto-Tracer Aktivieren +TRACE_GUI_AUTO_TRACE_ACTIVE = §eAuto-Tracer Deaktivieren +TRACE_GUI_DELETE = §eTrace Löschen # Loader -LOADER_SETUP=§eEinrichtung -LOADER_RUNNING=§aLaufend -LOADER_PAUSE=§7Pausiert -LOADER_END=§8Beendet -LOADER_SINGLE=§aEinmal -LOADER_MESSAGE_INTERACT=§e{0} hinzugefügt {1} -LOADER_BUTTON_TNT=TNT -LOADER_BUTTON_SWITCH=Hebel -LOADER_BUTTON_WOOD_BUTTON=Holzknopf -LOADER_BUTTON_STONE_BUTTON=Steinknopf -LOADER_BUTTON_PRESSURE_PLATE=Druckplatte -LOADER_BUTTON_WEIGHTED_PRESSURE_PLATE=Druckplatte -LOADER_BUTTON_TRIPWIRE=Tripwire -LOADER_BUTTON_NOTEBLOCK=Noteblock -LOADER_BUTTON_DAYLIGHT_DETECTOR=Tageslichtsensor -LOADER_BUTTON_COMPARATOR=Comparator -LOADER_BUTTON_REPEATER=Repeater -LOADER_BUTTON_LECTERN=Lectern -LOADER_BUTTON_TRAPDOOR=Trapdoor -LOADER_BUTTON_DOOR=Door -LOADER_BUTTON_FENCEGATE=Fencegate -LOADER_HELP_SETUP=§8/§eloader setup §8- §7Startet die Aufnahme der Aktionen -LOADER_SETUP_STOP_FIRST=§cBitte stoppe zuerst den Loader -LOADER_HELP_START=§8/§eloader start §8- §7Spielt die zuvor aufgenommenen Aktionen ab -LOADER_HELP_SINGLE=§8/§eloader single §8- §7Spielt die zuvor aufgenommenen Aktionen einmal ab -LOADER_HELP_PAUSE=§8/§7loader pause §8- §7Pausiert das Abspielen -LOADER_HELP_GUI=§8/§7loader settings §8- §7Zeigt die Einstellungen an -LOADER_HELP_STOP=§8/§eloader stop §8- §7Stoppt die Aufnahme bzw. das Abspielen -LOADER_HELP_WAIT=§8/§7loader wait §8[§7Ticks§8] - §7Setzt die Wartezeit zwischen Schüssen -LOADER_HELP_SPEED=§8/§7loader speed §8[§7Ticks§8] - §7Setzt die Wartezeit zwischen Aktionen -LOADER_NO_LOADER=§cDu hast noch keinen Loader. Erstelle dir einen mit /loader setup -LOADER_NEW=§7Belade und feuer einmal die Kanone ab, um den Loader zu initialisieren. -LOADER_HOW_TO_START=§7Führe dann /§eloader start§7 um den Loader zu starten -LOADER_ACTIVE=§7Der Loader ist nun aktiviert. -LOADER_STOP=§7Der Loader ist nun gestoppt. -LOADER_SINGLE_CMD=§7Der Loader spielt nun einmal ab. -LOADER_PAUSED=§7Der Loader ist nun pausiert. -LOADER_SMALL_TIME=§cDie Wartezeit ist zu klein -LOADER_NEW_TIME=§7Die Schusswartezeit ist nun: {0} -LOADER_NEW_LOAD_TIME=§7Die Setzwartezeit ist nun: {0} -LOADER_NOTHING_RECORDED=§cEs wurden keine Elemente aufgenommen! -LOADER_GUI_TITLE=Loader Einstellungen -LOADER_GUI_SHOW_ALL=Zeige alles -LOADER_GUI_SHOW_INTERACTIONS=Zeige Interaktionen -LOADER_GUI_SHOW_WAITS=Zeige Wartezeiten -LOADER_GUI_SHOW_WAITS_BETWEEN_TNT=Zeige Wartezeiten zwischen TNT -LOADER_GUI_SHOW_TNT=Zeige TNT -LOADER_GUI_SHOW_WAITS_SET_ALL=§7Wait Time alle -LOADER_GUI_SHOW_WAITS_TITLE=§7Wartezeit -LOADER_GUI_SETTINGS_TITLE=Einstellungen -LOADER_GUI_COPY_TITLE=Anzahl Kopien -LOADER_GUI_SETTINGS_BACK=§8Zurück -LOADER_GUI_SETTINGS_COPY=§7Kopieren -LOADER_GUI_SETTINGS_DELETE=§cLöschen -LOADER_GUI_WAIT_TITLE=Wartezeit -LOADER_GUI_WAIT_BACK=§8Zurück -LOADER_GUI_CLICK_TO_EDIT=§7Klicke zum editieren -LOADER_GUI_ITEM_NAME=§7{0}§8: §e{1} -LOADER_SETTING_NAME=§7{0} -LOADER_SETTING_MODES=§7Modi§8: §e{0} -LOADER_SETTING_POWER=§7Redstone Stärke§8: §e{0} -LOADER_SETTING_TICKS=§7Ticks§8: §e{0} -LOADER_SETTING_REPEATER=§7Repeater§8: §e{0} -LOADER_SETTING_WAIT=§7Wartezeit§8: §e{0} Tick(s) -LOADER_SETTING_WAIT_NAME=Wartezeit -LOADER_SETTING_TICKS_NAME=Ticks -LOADER_SETTING_TICKS_REMOVE_ONE=§c-1 -LOADER_SETTING_TICKS_REMOVE_ONE_SHIFT=§7Shift§8: §c-5 -LOADER_SETTING_TICKS_ADD_ONE=§a+1 -LOADER_SETTING_TICKS_ADD_ONE_SHIFT=§7Shift§8: §a+5 -LOADER_SETTING_TNT_NAME=§cTNT -LOADER_SETTING_TNT_X=§7X§8: §e{0} -LOADER_SETTING_TNT_Y=§7Y§8: §e{0} -LOADER_SETTING_TNT_Z=§7Z§8: §e{0} -LOADER_INTERACTION_NOOP=NOOP -LOADER_INTERACTION_PLACE=Platzieren -LOADER_INTERACTION_INTERACT=Interagiere -LOADER_INTERACTION_POWERED=Aktiviert -LOADER_INTERACTION_UNPOWERED=Deaktiviert -LOADER_INTERACTION_PAGE_PREV=Vorherige Seite -LOADER_INTERACTION_PAGE_NEXT=Nächste Seite -LOADER_INTERACTION_PAGE=Seite {0} -LOADER_INTERACTION_ACTIVE=Aktiviert -LOADER_INTERACTION_INACTIVE=Deaktiviert -LOADER_INTERACTION_WAIT_FOR=Darauf warten -LOADER_INTERACTION_NO_WAIT_FOR=Nicht darauf warten -LOADER_INTERACTION_OPEN=Geöffnet -LOADER_INTERACTION_CLOSED=Geschlossen -LOADER_INTERACTION_COMPARE=Vergleichen -LOADER_INTERACTION_SUBTRACT=Subtrahieren +LOADER_SETUP = §eEinrichtung +LOADER_RUNNING = §aLaufend +LOADER_PAUSE = §7Pausiert +LOADER_END = §8Beendet +LOADER_SINGLE = §aEinmal +LOADER_MESSAGE_INTERACT = §e{0} hinzugefügt {1} +LOADER_BUTTON_TNT = TNT +LOADER_BUTTON_SWITCH = Hebel +LOADER_BUTTON_WOOD_BUTTON = Holzknopf +LOADER_BUTTON_STONE_BUTTON = Steinknopf +LOADER_BUTTON_PRESSURE_PLATE = Druckplatte +LOADER_BUTTON_WEIGHTED_PRESSURE_PLATE = Druckplatte +LOADER_BUTTON_TRIPWIRE = Tripwire +LOADER_BUTTON_NOTEBLOCK = Noteblock +LOADER_BUTTON_DAYLIGHT_DETECTOR = Tageslichtsensor +LOADER_BUTTON_COMPARATOR = Comparator +LOADER_BUTTON_REPEATER = Repeater +LOADER_BUTTON_LECTERN = Lectern +LOADER_BUTTON_TRAPDOOR = Trapdoor +LOADER_BUTTON_DOOR = Door +LOADER_BUTTON_FENCEGATE = Fencegate +LOADER_HELP_SETUP = §8/§eloader setup §8- §7Startet die Aufnahme der Aktionen +LOADER_SETUP_STOP_FIRST = §cBitte stoppe zuerst den Loader +LOADER_HELP_START = §8/§eloader start §8- §7Spielt die zuvor aufgenommenen Aktionen ab +LOADER_HELP_SINGLE = §8/§eloader single §8- §7Spielt die zuvor aufgenommenen Aktionen einmal ab +LOADER_HELP_PAUSE = §8/§7loader pause §8- §7Pausiert das Abspielen +LOADER_HELP_GUI = §8/§7loader settings §8- §7Zeigt die Einstellungen an +LOADER_HELP_STOP = §8/§eloader stop §8- §7Stoppt die Aufnahme bzw. das Abspielen +LOADER_HELP_WAIT = §8/§7loader wait §8[§7Ticks§8] - §7Setzt die Wartezeit zwischen Schüssen +LOADER_HELP_SPEED = §8/§7loader speed §8[§7Ticks§8] - §7Setzt die Wartezeit zwischen Aktionen +LOADER_NO_LOADER = §cDu hast noch keinen Loader. Erstelle dir einen mit /loader setup +LOADER_NEW = §7Belade und feuer einmal die Kanone ab, um den Loader zu initialisieren. +LOADER_HOW_TO_START = §7Führe dann /§eloader start§7 um den Loader zu starten +LOADER_ACTIVE = §7Der Loader ist nun aktiviert. +LOADER_STOP = §7Der Loader ist nun gestoppt. +LOADER_SINGLE_CMD = §7Der Loader spielt nun einmal ab. +LOADER_PAUSED = §7Der Loader ist nun pausiert. +LOADER_SMALL_TIME = §cDie Wartezeit ist zu klein +LOADER_NEW_TIME = §7Die Schusswartezeit ist nun: {0} +LOADER_NEW_LOAD_TIME = §7Die Setzwartezeit ist nun: {0} +LOADER_NOTHING_RECORDED = §cEs wurden keine Elemente aufgenommen! +LOADER_GUI_TITLE = Loader Einstellungen +LOADER_GUI_SHOW_ALL = Zeige alles +LOADER_GUI_SHOW_INTERACTIONS = Zeige Interaktionen +LOADER_GUI_SHOW_WAITS = Zeige Wartezeiten +LOADER_GUI_SHOW_WAITS_BETWEEN_TNT = Zeige Wartezeiten zwischen TNT +LOADER_GUI_SHOW_TNT = Zeige TNT +LOADER_GUI_SHOW_WAITS_SET_ALL = §7Wait Time alle +LOADER_GUI_SHOW_WAITS_TITLE = §7Wartezeit +LOADER_GUI_SETTINGS_TITLE = Einstellungen +LOADER_GUI_COPY_TITLE = Anzahl Kopien +LOADER_GUI_SETTINGS_BACK = §8Zurück +LOADER_GUI_SETTINGS_COPY = §7Kopieren +LOADER_GUI_SETTINGS_DELETE = §cLöschen +LOADER_GUI_WAIT_TITLE = Wartezeit +LOADER_GUI_WAIT_BACK = §8Zurück +LOADER_GUI_CLICK_TO_EDIT = §7Klicke zum editieren +LOADER_GUI_ITEM_NAME = §7{0}§8: §e{1} +LOADER_SETTING_NAME = §7{0} +LOADER_SETTING_MODES = §7Modi§8: §e{0} +LOADER_SETTING_POWER = §7Redstone Stärke§8: §e{0} +LOADER_SETTING_TICKS = §7Ticks§8: §e{0} +LOADER_SETTING_REPEATER = §7Repeater§8: §e{0} +LOADER_SETTING_WAIT = §7Wartezeit§8: §e{0} Tick(s) +LOADER_SETTING_WAIT_NAME = Wartezeit +LOADER_SETTING_TICKS_NAME = Ticks +LOADER_SETTING_TICKS_REMOVE_ONE = §c-1 +LOADER_SETTING_TICKS_REMOVE_ONE_SHIFT = §7Shift§8: §c-5 +LOADER_SETTING_TICKS_ADD_ONE = §a+1 +LOADER_SETTING_TICKS_ADD_ONE_SHIFT = §7Shift§8: §a+5 +LOADER_SETTING_TNT_NAME = §cTNT +LOADER_SETTING_TNT_X = §7X§8: §e{0} +LOADER_SETTING_TNT_Y = §7Y§8: §e{0} +LOADER_SETTING_TNT_Z = §7Z§8: §e{0} +LOADER_INTERACTION_NOOP = NOOP +LOADER_INTERACTION_PLACE = Platzieren +LOADER_INTERACTION_INTERACT = Interagiere +LOADER_INTERACTION_POWERED = Aktiviert +LOADER_INTERACTION_UNPOWERED = Deaktiviert +LOADER_INTERACTION_PAGE_PREV = Vorherige Seite +LOADER_INTERACTION_PAGE_NEXT = Nächste Seite +LOADER_INTERACTION_PAGE = Seite {0} +LOADER_INTERACTION_ACTIVE = Aktiviert +LOADER_INTERACTION_INACTIVE = Deaktiviert +LOADER_INTERACTION_WAIT_FOR = Darauf warten +LOADER_INTERACTION_NO_WAIT_FOR = Nicht darauf warten +LOADER_INTERACTION_OPEN = Geöffnet +LOADER_INTERACTION_CLOSED = Geschlossen +LOADER_INTERACTION_COMPARE = Vergleichen +LOADER_INTERACTION_SUBTRACT = Subtrahieren # Loadtimer -LOADTIMER_HELP_OVERVIEW=§7Messe dich und deine Freunde beim Beladen einer Kanone und bekomme informationen über die Kanone -LOADTIMER_HELP_START_1=§8/§eloadtimer start §8-§7 Startet den einfachen Loadtimer -LOADTIMER_HELP_START_2=§8/§7loadtimer start §8[§7full/half§8] - §7Starte den Timer in einem bestimmten Modus -LOADTIMER_HELP_START_3=§7Loadtimer Modis: Full -> Misst vom ersten TNT bis zur Treib-Explosion, kann somit besser die Schuss Frequent berechnen. Half -> Misst nur bis zur Aktivierung -LOADTIMER_HELP_STOP=§8/§eloadtimer stop §8-§7 Stoppe den Aktuellen Loadtimer -LOADTIMER_GUI_GLOBAL=§eLoadtimer gibt es nicht in der Global Region! -LOADTIMER_GUI_STOP=§eLoadtimer stoppen -LOADTIMER_GUI_START=§eLoadtimer starten -LOADTIMER_GUI_TITLE=Loadtimer Modus -LOADTIMER_GUI_FULL=§eFull -LOADTIMER_GUI_HALF=§eHalf -LOADTIMER_WAITING=§7Platziere ein TNT zum starten... -LOADTIMER_BOSSBAR=§7Tick: §e{0}§7(§e{1}§7) Zeit: §e{2}s §7Tnt: §e{3} §7Blöcke -LOADTIMER_ACTIVATED=§7Warte auf Zündung -LOADTIMER_IGNITION=§7Warte auf Explosion -LOADTIMER_SUMARY_HEAD=§7---=== (§eLoadtimer-Auswertung§7) ===--- -LOADTIMER_SUMARY_PLAYERTABLE_HEAD=§7Spieler: §eTNT §7(§eTNT/s§7) -LOADTIMER_SUMARY_PLAYERTABLE_PLAYER=§7{0}: §e{1} §7(§e{2}/s§7) -LOADTIMER_SUMARY_PLAYERTABLE_ALL=Insgesamt -LOADTIMER_SUMARY_TIMES_HEAD=§7Zeiten: §eSekunden §7(§eTicks§7) -LOADTIMER_SUMARY_TIMES_START=§7 || §7Start! -LOADTIMER_SUMARY_TIMES_ACTIVATION=§7 || Aktivierung: §e{0}s §7(§e{1}t§7) -LOADTIMER_SUMARY_TIMES_IGNITION=§7 || Zündung: §e{0}s §7(§e{1}t§7) -LOADTIMER_SUMARY_TIMES_EXPLOSION=§7 || Explosion: §e{0}s §7(§e{1}t§7) -LOADTIMER_SUMARY_TIMES_LAST=§7\\/ -LOADTIMER_SUMARY_STATS_HEAD=§7Kanonen-Stats§8: -LOADTIMER_SUMARY_STATS_TNT=§7TNT: §e{0} -LOADTIMER_SUMARY_STATS_FREQ=§7Belade Frequenz: §e{0}/m§8, §7Schuss Frequenz: §e{1}/m +LOADTIMER_HELP_OVERVIEW = §7Messe dich und deine Freunde beim Beladen einer Kanone und bekomme informationen über die Kanone +LOADTIMER_HELP_START_1 = §8/§eloadtimer start §8-§7 Startet den einfachen Loadtimer +LOADTIMER_HELP_START_2 = §8/§7loadtimer start §8[§7full/half§8] - §7Starte den Timer in einem bestimmten Modus +LOADTIMER_HELP_START_3 = §7Loadtimer Modis: Full -> Misst vom ersten TNT bis zur Treib-Explosion, kann somit besser die Schuss Frequent berechnen. Half -> Misst nur bis zur Aktivierung +LOADTIMER_HELP_STOP = §8/§eloadtimer stop §8-§7 Stoppe den Aktuellen Loadtimer +LOADTIMER_GUI_GLOBAL = §eLoadtimer gibt es nicht in der Global Region! +LOADTIMER_GUI_STOP = §eLoadtimer stoppen +LOADTIMER_GUI_START = §eLoadtimer starten +LOADTIMER_GUI_TITLE = Loadtimer Modus +LOADTIMER_GUI_FULL = §eFull +LOADTIMER_GUI_HALF = §eHalf +LOADTIMER_WAITING = §7Platziere ein TNT zum starten... +LOADTIMER_BOSSBAR = §7Tick: §e{0}§7(§e{1}§7) Zeit: §e{2}s §7Tnt: §e{3} §7Blöcke +LOADTIMER_ACTIVATED = §7Warte auf Zündung +LOADTIMER_IGNITION = §7Warte auf Explosion +LOADTIMER_SUMARY_HEAD = §7---=== (§eLoadtimer-Auswertung§7) ===--- +LOADTIMER_SUMARY_PLAYERTABLE_HEAD = §7Spieler: §eTNT §7(§eTNT/s§7) +LOADTIMER_SUMARY_PLAYERTABLE_PLAYER = §7{0}: §e{1} §7(§e{2}/s§7) +LOADTIMER_SUMARY_PLAYERTABLE_ALL = Insgesamt +LOADTIMER_SUMARY_TIMES_HEAD = §7Zeiten: §eSekunden §7(§eTicks§7) +LOADTIMER_SUMARY_TIMES_START = §7 || §7Start! +LOADTIMER_SUMARY_TIMES_ACTIVATION = §7 || Aktivierung: §e{0}s §7(§e{1}t§7) +LOADTIMER_SUMARY_TIMES_IGNITION = §7 || Zündung: §e{0}s §7(§e{1}t§7) +LOADTIMER_SUMARY_TIMES_EXPLOSION = §7 || Explosion: §e{0}s §7(§e{1}t§7) +LOADTIMER_SUMARY_TIMES_LAST = §7\\/ +LOADTIMER_SUMARY_STATS_HEAD = §7Kanonen-Stats§8: +LOADTIMER_SUMARY_STATS_TNT = §7TNT: §e{0} +LOADTIMER_SUMARY_STATS_FREQ = §7Belade Frequenz: §e{0}/m§8, §7Schuss Frequenz: §e{1}/m # Observer -OBSERVER_HELP=§7Rechts-Klicke einen Observer um den Trace zu bekommen. Hierfür müssen Flammenpartikel an sein. Die Partikel werden im Block angezeigt. -OBSERVER_HELP_ENABLE=§8/§eobserver enable §8-§7 Aktiviere den Observer Tracer -OBSERVER_HELP_DISABLE=§8/§eobserver disable §8-§7 Deaktiviere den Observer Tracer -OBSERVER_HELP_DELETE=§8/§eobserver delete §8-§7 Lösche den Observer Tracer -OBSERVER_HELP_RETRACE=§8/§eobserver retrace §8-§7 Retrace den Observer Tracer -OBSERVER_ENABLE=§7Observer Trace gestartet -OBSERVER_DISABLE=§7Observer Trace gestoppt -OBSERVER_DELETE=§7Observer Trace gelöscht -OBSERVER_RETRACE_DONE=§7Observer Trace neu berechnet -OBSERVER_RETRACE_NO_TRACE=§7Kein Observer Trace zum neu berechnen +OBSERVER_HELP = §7Rechts-Klicke einen Observer um den Trace zu bekommen. Hierfür müssen Flammenpartikel an sein. Die Partikel werden im Block angezeigt. +OBSERVER_HELP_ENABLE = §8/§eobserver enable §8-§7 Aktiviere den Observer Tracer +OBSERVER_HELP_DISABLE = §8/§eobserver disable §8-§7 Deaktiviere den Observer Tracer +OBSERVER_HELP_DELETE = §8/§eobserver delete §8-§7 Lösche den Observer Tracer +OBSERVER_HELP_RETRACE = §8/§eobserver retrace §8-§7 Retrace den Observer Tracer +OBSERVER_ENABLE = §7Observer Trace gestartet +OBSERVER_DISABLE = §7Observer Trace gestoppt +OBSERVER_DELETE = §7Observer Trace gelöscht +OBSERVER_RETRACE_DONE = §7Observer Trace neu berechnet +OBSERVER_RETRACE_NO_TRACE = §7Kein Observer Trace zum neu berechnen # Other -OTHER_ITEMS_TELEPORT_NAME=§eTeleporter -OTHER_ITEMS_TELEPORT_GUI_NAME=Teleportieren -OTHER_ITEMS_TELEPORT_PLAYER_OFFLINE=§cDer Spieler ist Offline -OTHER_ITEMS_CLEAR_NAME=§eClear -OTHER_ITEMS_DECLUTTER_NAME=§eDeclutter -OTHER_ITEMS_GAMEMODE_NAME=§eGamemode -OTHER_ITEMS_GAMEMODE_LORE_1=§eRechts-Click§8:§7 Umschalten zwischen Creative und Spectator -OTHER_ITEMS_GAMEMODE_LORE_2=§eLinks-Click§8:§7 Umschalten zwischen Survival und Adventure -OTHER_ITEMS_KILLALL_NAME=§eKillAll -OTHER_ITEMS_KILLALL_LORE_1=§eOhne Shift§8:§7 nur die Region -OTHER_ITEMS_KILLALL_LORE_2=§eMit Shift§8:§7 Global -OTHER_ITEMS_INVENTORY_FILL_LORE_ACTIVE=§aAktiviert -OTHER_ITEMS_INVENTORY_FILL_LORE_INACTIVE=§aDeaktiviert -OTHER_SLOT_INVALID_SLOT=§cInvalider Slot -OTHER_NOCLIP_SLOT_INFO=§7Mit /slot kannst du den ausgewählten Slot ändern und einen anderen Block in den Slot nehmen. -OTHER_NOCLIP_SLOT_HELP_PICK=§8/§eslot pick §8-§7 Lege den angeguckten Block ins Inventar -OTHER_NOCLIP_SLOT_HELP_DROP=§8/§eslot drop §8-§7 Cleared deinen Slot -OTHER_CLEAR_HELP_SELF=§8/§eclear §8- §7Leere dein Inventar -OTHER_CLEAR_HELP_PLAYER=§8/§eclear §8[§7Player§8] §8- §7Leere ein Spieler Inventar -OTHER_CLEAR_CLEARED=§7Dein Inventar wurde geleert. -OTHER_CLEAR_FROM=§7Dein Inventar wurde von {0} §7geleert. -OTHER_CLEAR_TO=§7Das Inventar von {0} §7wurde geleert. -OTHER_DECLUTTER_HELP=§8/§edeclutter §8- §7Räume dein Inventar auf -OTHER_DECLUTTER_DONE=§aDein Inventar wurde aufgeräumt. -OTHER_GAMEMODE_UNKNOWN=§cUnbekannter Spielmodus. -OTHER_GAMEMODE_POSSIBLE=§cMögliche Spielmodi: survival, adventure, creative, specator. -OTHER_KILLALL_HELP_SELF=§8/§ekillall §8- §7Entferne alle Entities aus deiner Region -OTHER_KILLALL_HELP_ALL=§8/§ekillall §8[§7Global§8/Local§7] §8- §7Entferne alle Entities aus deiner Region oder global -OTHER_KILLALL_REGION=§a{0} Entities aus der Region entfernt -OTHER_KILLALL_GLOBAL=§a{0} Entities aus der Welt entfernt -OTHER_TELEPORT_HELP=§8/§etp §8[§7Player§8] §8-§7 Teleportiere dich zu einem Spieler -OTHER_TELEPORT_SELF_0=§cSei eins mit dir selbst! -OTHER_TELEPORT_SELF_1=§cDu brauchst Leute zum spielen? Wir haben auch einen TeamSpeak! -OTHER_TELEPORT_SELF_2=§cNoch zu reisende Blöcke: 0; ETA: 0:00 -OTHER_TELEPORT_SELF_3=§cEin wenig bewegung muss ein. -OTHER_TELEPORT_SELF_4=§cFür eine solche Distanz? -OTHER_TIME_HELP=§8/§etime §8<§7Zeit 0=Morgen§8, §76000=Mittag§8, §718000=Mitternacht§8> - §7Setzt die Zeit auf dem Bau -OTHER_TIME_INVALID=§cBitte gib eine Zahl zwischen 0 und 24000 an -OTHER_TIME_RESULT=§7§oWhooosh -OTHER_TPS_HEAD=§7TPS: 1s 10s 1m 5m 10m -OTHER_TPS_MESSAGE=§7 §e{0}§7 §e{1}§7 §e{2}§7 §e{3}§7 §e{4} -OTHER_TPS_SINGLE=§8TPS: §e{0} -OTHER_BIND_HELP=§8/§ebind §8[§7Command§8] §8-§e Binde ein Befehl auf Item Interaktion -OTHER_BIND_ERROR=§cFalscher oder unbekannter Befehl -OTHER_BIND_UNBINDABLE=§cBefehl konnte nicht gebunden werden -OTHER_BIND_MESSAGE_BIND=§7Befehl §e{0} §7ans Item gebunden -OTHER_BIND_MESSAGE_UNBIND=§7Befehl entbunden +OTHER_ITEMS_TELEPORT_NAME = §eTeleporter +OTHER_ITEMS_TELEPORT_GUI_NAME = Teleportieren +OTHER_ITEMS_TELEPORT_PLAYER_OFFLINE = §cDer Spieler ist Offline +OTHER_ITEMS_CLEAR_NAME = §eClear +OTHER_ITEMS_DECLUTTER_NAME = §eDeclutter +OTHER_ITEMS_GAMEMODE_NAME = §eGamemode +OTHER_ITEMS_GAMEMODE_LORE_1 = §eRechts-Click§8:§7 Umschalten zwischen Creative und Spectator +OTHER_ITEMS_GAMEMODE_LORE_2 = §eLinks-Click§8:§7 Umschalten zwischen Survival und Adventure +OTHER_ITEMS_KILLALL_NAME = §eKillAll +OTHER_ITEMS_KILLALL_LORE_1 = §eOhne Shift§8:§7 nur die Region +OTHER_ITEMS_KILLALL_LORE_2 = §eMit Shift§8:§7 Global +OTHER_ITEMS_INVENTORY_FILL_LORE_ACTIVE = §aAktiviert +OTHER_ITEMS_INVENTORY_FILL_LORE_INACTIVE = §aDeaktiviert +OTHER_SLOT_INVALID_SLOT = §cInvalider Slot +OTHER_NOCLIP_SLOT_INFO = §7Mit /slot kannst du den ausgewählten Slot ändern und einen anderen Block in den Slot nehmen. +OTHER_NOCLIP_SLOT_HELP_PICK = §8/§eslot pick §8-§7 Lege den angeguckten Block ins Inventar +OTHER_NOCLIP_SLOT_HELP_DROP = §8/§eslot drop §8-§7 Cleared deinen Slot +OTHER_CLEAR_HELP_SELF = §8/§eclear §8- §7Leere dein Inventar +OTHER_CLEAR_HELP_PLAYER = §8/§eclear §8[§7Player§8] §8- §7Leere ein Spieler Inventar +OTHER_CLEAR_CLEARED = §7Dein Inventar wurde geleert. +OTHER_CLEAR_FROM = §7Dein Inventar wurde von {0} §7geleert. +OTHER_CLEAR_TO = §7Das Inventar von {0} §7wurde geleert. +OTHER_DECLUTTER_HELP = §8/§edeclutter §8- §7Räume dein Inventar auf +OTHER_DECLUTTER_DONE = §aDein Inventar wurde aufgeräumt. +OTHER_GAMEMODE_UNKNOWN = §cUnbekannter Spielmodus. +OTHER_GAMEMODE_POSSIBLE = §cMögliche Spielmodi: survival, adventure, creative, specator. +OTHER_KILLALL_HELP_SELF = §8/§ekillall §8- §7Entferne alle Entities aus deiner Region +OTHER_KILLALL_HELP_ALL = §8/§ekillall §8[§7Global§8/Local§7] §8- §7Entferne alle Entities aus deiner Region oder global +OTHER_KILLALL_REGION = §a{0} Entities aus der Region entfernt +OTHER_KILLALL_GLOBAL = §a{0} Entities aus der Welt entfernt +OTHER_TELEPORT_HELP = §8/§etp §8[§7Player§8] §8-§7 Teleportiere dich zu einem Spieler +OTHER_TELEPORT_SELF_0 = §cSei eins mit dir selbst! +OTHER_TELEPORT_SELF_1 = §cDu brauchst Leute zum spielen? Wir haben auch einen TeamSpeak! +OTHER_TELEPORT_SELF_2 = §cNoch zu reisende Blöcke: 0; ETA: 0:00 +OTHER_TELEPORT_SELF_3 = §cEin wenig bewegung muss ein. +OTHER_TELEPORT_SELF_4 = §cFür eine solche Distanz? +OTHER_TIME_HELP = §8/§etime §8<§7Zeit 0=Morgen§8, §76000=Mittag§8, §718000=Mitternacht§8> - §7Setzt die Zeit auf dem Bau +OTHER_TIME_INVALID = §cBitte gib eine Zahl zwischen 0 und 24000 an +OTHER_TIME_RESULT = §7§oWhooosh +OTHER_TPS_HEAD = §7TPS: 1s 10s 1m 5m 10m +OTHER_TPS_MESSAGE = §7 §e{0}§7 §e{1}§7 §e{2}§7 §e{3}§7 §e{4} +OTHER_TPS_SINGLE = §8TPS: §e{0} +OTHER_BIND_HELP = §8/§ebind §8[§7Command§8] §8-§e Binde ein Befehl auf Item Interaktion +OTHER_BIND_ERROR = §cFalscher oder unbekannter Befehl +OTHER_BIND_UNBINDABLE = §cBefehl konnte nicht gebunden werden +OTHER_BIND_MESSAGE_BIND = §7Befehl §e{0} §7ans Item gebunden +OTHER_BIND_MESSAGE_UNBIND = §7Befehl entbunden # DebugStick -DEBUG_STICK_COMMAND_HELP=§8/§edebugstick §8-§7 Erhalte einen DebugStick -DEBUG_STICK_NAME=§eDebugstick +DEBUG_STICK_COMMAND_HELP = §8/§edebugstick §8-§7 Erhalte einen DebugStick +DEBUG_STICK_NAME = §eDebugstick #Skull Gui -SKULL_GUI_ITEM_NAME=§eSpieler Köpfe -ANVIL_INV_NAME=Spieler name +SKULL_GUI_ITEM_NAME = §eSpieler Köpfe +ANVIL_INV_NAME = Spieler name # StructureVoid -STRUCTURE_VOID_COMMAND_HELP=§8/§estructureVoid §8-§7 Erhalte ein StructureVoid +STRUCTURE_VOID_COMMAND_HELP = §8/§estructureVoid §8-§7 Erhalte ein StructureVoid # Dragon Egg -DRAGON_EGG_COMMAND_HELP=§8/§edragonegg §8-§7 Erhalte ein Drachenei +DRAGON_EGG_COMMAND_HELP = §8/§edragonegg §8-§7 Erhalte ein Drachenei # NightVision -NIGHT_VISION_HELP=§8/§enightvision §8-§7 Schalte Nightvision an oder aus. -NIGHT_VISION_OFF=§eNightvision deaktiviert -NIGHT_VISION_ON=§eNightvision aktiviert -NIGHT_VISION_ITEM_ON=§7Nightvision: §eAktiviert -NIGHT_VISION_ITEM_OFF=§7Nightvision: §eDeaktiviert +NIGHT_VISION_HELP = §8/§enightvision §8-§7 Schalte Nightvision an oder aus. +NIGHT_VISION_OFF = §eNightvision deaktiviert +NIGHT_VISION_ON = §eNightvision aktiviert +NIGHT_VISION_ITEM_ON = §7Nightvision: §eAktiviert +NIGHT_VISION_ITEM_OFF = §7Nightvision: §eDeaktiviert #Navigation Wand -NAVIGATION_WAND=§eNavigation Wand -NAVIGATION_WAND_LEFT_CLICK=§eLeft click: jump to location -NAVIGATION_WAND_RIGHT_CLICK=§eRight click: pass through walls +NAVIGATION_WAND = §eNavigation Wand +NAVIGATION_WAND_LEFT_CLICK = §eLeft click: jump to location +NAVIGATION_WAND_RIGHT_CLICK = §eRight click: pass through walls # Material -MATERIAL_SEARCH_PROPERTY_TRUE=§aHat -MATERIAL_SEARCH_PROPERTY_FALSE=§cHat nicht -MATERIAL_SEARCH_PROPERTY_IGNORE=§eEgal -MATERIAL_INV_NAME=§eMaterial {0}/{1} -MATERIAL_SEARCH=§eSuchen -MATERIAL_BACK=§eZurück -MATERIAL_SEARCH_NAME=§eName -MATERIAL_SEARCH_TRANSPARENT=§eTransparent -MATERIAL_SEARCH_SOLID=§eSolide -MATERIAL_SEARCH_GRAVITY=§eFallend -MATERIAL_SEARCH_OCCLUDING=§eOccluding -MATERIAL_SEARCH_INTERACTEABLE=§eInterargierbar -MATERIAL_SEARCH_FLAMMABLE=§eFlammbar -MATERIAL_SEARCH_BURNABLE=§eBrennbar -MATERIAL_SEARCH_WATERLOGGABLE=§eWasserspeicherbar -MATERIAL_SEARCH_BLASTRESISTANCE=§eBlast Resistance -MATERIAL_SEARCH_VALUE=§8: §e{0} -MATERIAL_BLAST_RESISTANCE=§8- §eBlast Resistance§8: §7{0} -MATERIAL_HARDNESS=§8- §eHärte§8: §7{0} -MATERIAL_TNT_BREAKABLE=§8- §eZerstörbar durch TNT -MATERIAL_TNT_UNBREAKABLE=§8- §eNicht Zerstörbar durch TNT -MATERIAL_TRANSPARENT=§8- §eTransparenter Block -MATERIAL_SOLID=§8- §eSolider Block -MATERIAL_GRAVITY=§8- §eFallender Block -MATERIAL_OCCLUDING=§8- §eOccluding Block -MATERIAL_INTERACTABLE=§8- §eInterargierbarer Block -MATERIAL_FLAMMABLE=§8- §eFlammbarer Block -MATERIAL_BURNABLE=§8- §eBrennbarer Block -MATERIAL_WATERLOGGABLE=§8- §eWasserspeicherbarer Block +MATERIAL_SEARCH_PROPERTY_TRUE = §aHat +MATERIAL_SEARCH_PROPERTY_FALSE = §cHat nicht +MATERIAL_SEARCH_PROPERTY_IGNORE = §eEgal +MATERIAL_INV_NAME = §eMaterial {0}/{1} +MATERIAL_SEARCH = §eSuchen +MATERIAL_BACK = §eZurück +MATERIAL_SEARCH_NAME = §eName +MATERIAL_SEARCH_TRANSPARENT = §eTransparent +MATERIAL_SEARCH_SOLID = §eSolide +MATERIAL_SEARCH_GRAVITY = §eFallend +MATERIAL_SEARCH_OCCLUDING = §eOccluding +MATERIAL_SEARCH_INTERACTEABLE = §eInterargierbar +MATERIAL_SEARCH_FLAMMABLE = §eFlammbar +MATERIAL_SEARCH_BURNABLE = §eBrennbar +MATERIAL_SEARCH_WATERLOGGABLE = §eWasserspeicherbar +MATERIAL_SEARCH_BLASTRESISTANCE = §eBlast Resistance +MATERIAL_SEARCH_VALUE = §8: §e{0} +MATERIAL_BLAST_RESISTANCE = §8- §eBlast Resistance§8: §7{0} +MATERIAL_HARDNESS = §8- §eHärte§8: §7{0} +MATERIAL_TNT_BREAKABLE = §8- §eZerstörbar durch TNT +MATERIAL_TNT_UNBREAKABLE = §8- §eNicht Zerstörbar durch TNT +MATERIAL_TRANSPARENT = §8- §eTransparenter Block +MATERIAL_SOLID = §8- §eSolider Block +MATERIAL_GRAVITY = §8- §eFallender Block +MATERIAL_OCCLUDING = §8- §eOccluding Block +MATERIAL_INTERACTABLE = §8- §eInterargierbarer Block +MATERIAL_FLAMMABLE = §8- §eFlammbarer Block +MATERIAL_BURNABLE = §8- §eBrennbarer Block +MATERIAL_WATERLOGGABLE = §8- §eWasserspeicherbarer Block # Region Items -REGION_ITEM_COLOR=§7Color: §e{0} -REGION_ITEM_COLOR_CHOOSE=Farbe Wählen -REGION_ITEM_FIRE_ALLOW=§7Feuer: §eEingeschaltet -REGION_ITEM_FIRE_DISALLOW=§7Feuer: §eAusgeschaltet -REGION_ITEM_FREEZE_ALLOW=§7Freeze: §eEingeschaltet -REGION_ITEM_FREEZE_DISALLOW=§7Freeze: §eAusgeschaltet -REGION_ITEM_PROTECT_ALLOW=§7Protect: §eEingeschaltet -REGION_ITEM_PROTECT_DISALLOW=§7Protect: §eAusgeschaltet -REGION_ITEM_RESET=§eReset -REGION_ITEM_TESTBLOCK=§eTestblock -REGION_ITEM_TNT_OFF=§7TNT: §eAusgeschaltet -REGION_ITEM_TNT_ONLY_TB=§7TNT: §enur Testblock -REGION_ITEM_TNT_ON=§7TNT: §eEingeschaltet -REGION_ITEM_SELECTOR_TITLE=Tnt Modus -REGION_ITEM_SELECTOR_ON=§eEinschalten -REGION_ITEM_SELECTOR_ONLY_TB=§enur Testblock -REGION_ITEM_SELECTOR_OFF=§eAusschalten +REGION_ITEM_COLOR = §7Color: §e{0} +REGION_ITEM_COLOR_CHOOSE = Farbe Wählen +REGION_ITEM_FIRE_ALLOW = §7Feuer: §eEingeschaltet +REGION_ITEM_FIRE_DISALLOW = §7Feuer: §eAusgeschaltet +REGION_ITEM_FREEZE_ALLOW = §7Freeze: §eEingeschaltet +REGION_ITEM_FREEZE_DISALLOW = §7Freeze: §eAusgeschaltet +REGION_ITEM_PROTECT_ALLOW = §7Protect: §eEingeschaltet +REGION_ITEM_PROTECT_DISALLOW = §7Protect: §eAusgeschaltet +REGION_ITEM_RESET = §eReset +REGION_ITEM_TESTBLOCK = §eTestblock +REGION_ITEM_TNT_OFF = §7TNT: §eAusgeschaltet +REGION_ITEM_TNT_ONLY_TB = §7TNT: §enur Testblock +REGION_ITEM_TNT_ON = §7TNT: §eEingeschaltet +REGION_ITEM_SELECTOR_TITLE = Tnt Modus +REGION_ITEM_SELECTOR_ON = §eEinschalten +REGION_ITEM_SELECTOR_ONLY_TB = §enur Testblock +REGION_ITEM_SELECTOR_OFF = §eAusschalten #Region -REGION_COLOR_HELP_COLOR=§8/§ecolor §8[§7Color§8] §8- §7Setze die Farbe der Region -REGION_COLOR_HELP_COLOR_TYPE=§8/§ecolor §8[§7Color§8] §8[§7Type§8] §8- §7Setze die Farbe der Region oder Global -REGION_COLOR_GLOBAL=§7Alle Regions farben auf §e{0}§7 gesetzt -REGION_COLOR_NO_REGION=§cDu befindest dich derzeit in keiner Region -REGION_FIRE_HELP=§8/§efire §8- §7Toggle Feuerschaden -REGION_FIRE_ENABLED=§cRegions Feuerschaden deaktiviert -REGION_FIRE_DISABLED=§aRegions Feuerschaden aktiviert -REGION_FREEZE_HELP=§8/§efreeze §8- §7Toggle Freeze -REGION_FREEZE_ENABLED=§cRegion eingefroren -REGION_FREEZE_DISABLED=§aRegion aufgetaut -REGION_ITEMS_HELP=§8/§eitems §8- §7Toggle Items -REGION_ITEMS_ENABLED=§aItems aktiviert in dieser Region -REGION_ITEMS_DISABLED=§cItems deaktiviert in dieser Region -REGION_PROTECT_HELP=§8/§eprotect §8- §7Schütze die Region -REGION_PROTECT_DISABLE=§cBoden Schutz aufgehoben -REGION_PROTECT_ENABLE=§aBoden geschützt -REGION_PROTECT_FALSE_REGION=§cDu befindest dich derzeit in keiner (M)WG-Region +REGION_COLOR_HELP_COLOR = §8/§ecolor §8[§7Color§8] §8- §7Setze die Farbe der Region +REGION_COLOR_HELP_COLOR_TYPE = §8/§ecolor §8[§7Color§8] §8[§7Type§8] §8- §7Setze die Farbe der Region oder Global +REGION_COLOR_GLOBAL = §7Alle Regions farben auf §e{0}§7 gesetzt +REGION_COLOR_NO_REGION = §cDu befindest dich derzeit in keiner Region +REGION_FIRE_HELP = §8/§efire §8- §7Toggle Feuerschaden +REGION_FIRE_ENABLED = §cRegions Feuerschaden deaktiviert +REGION_FIRE_DISABLED = §aRegions Feuerschaden aktiviert +REGION_FREEZE_HELP = §8/§efreeze §8- §7Toggle Freeze +REGION_FREEZE_ENABLED = §cRegion eingefroren +REGION_FREEZE_DISABLED = §aRegion aufgetaut +REGION_ITEMS_HELP = §8/§eitems §8- §7Toggle Items +REGION_ITEMS_ENABLED = §aItems aktiviert in dieser Region +REGION_ITEMS_DISABLED = §cItems deaktiviert in dieser Region +REGION_PROTECT_HELP = §8/§eprotect §8- §7Schütze die Region +REGION_PROTECT_DISABLE = §cBoden Schutz aufgehoben +REGION_PROTECT_ENABLE = §aBoden geschützt +REGION_PROTECT_FALSE_REGION = §cDu befindest dich derzeit in keiner (M)WG-Region REGION_NO_GRAVITY_HELP = §8/§enogravity §8- §7Toggle NoGravity REGION_NO_GRAVITY_ENABLED = §aNoGravity aktiviert in dieser Region REGION_NO_GRAVITY_DISABLED = §cNoGravity deaktiviert in dieser Region -REGION_WATER_HELP=§8/§ewaterblock §8- §7Wasserschaden umschalten -REGION_WATER_ENABLED=§aWasserschaden deaktiviert -REGION_WATER_DISABLED=§cWasserschaden aktiviert -REGION_REGION_HELP_UNDO=§8/§eregion undo §8- §7Mache die letzten 20 /testblock oder /reset rückgängig -REGION_REGION_HELP_REDO=§8/§eregion redo §8- §7Wiederhole die letzten 20 §8/§7rg undo -REGION_REGION_HELP_RESTORE=§8/§eregion restore §8- §7Setzte die Region zurück, ohne das Gebaute zu löschen -REGION_REGION_HELP_RESTORE_SCHEMATIC=§8/§eregion restore §8[§7Schematic§8] §8- §7Setzte die Region zurück, ohne das Gebaute zu löschen -REGION_REGION_HELP_COPYPOINT=§8/§eregion copypoint §8- §7Teleportiere dich zum Regions Kopierpunkt -REGION_REGION_HELP_TESTBLOCKPOINT=§8/§eregion testblockpoint §8- §7Teleportiere dich zum Regions Testblockpunkt -REGION_REGION_HELP_CHANGESKIN_INFO=§8/§eregion changeskin §8- §7Gebe den Regions Skin aus -REGION_REGION_HELP_CHANGESKIN=§8/§eregion changeskin §8[§7Skin§8] §8- §8Setzte den Regions Skin -REGION_REGION_HELP_COPY=§8/§eregion copy [-e] [-s] §8- §8Kopieren des Baubereichs optional mit Erweiterungen oder Auswahl am Kopierpunkt -REGION_REGION_HELP_PASTE=§8/§eregion paste [-a] [-s] §8[§7Skin§8] §8- §8Einfügen am Kopierpunkt optional ohne Luft und Auswahl des eingefügten Bereichs -REGION_REGION_NOTHING_UNDO=§cNichts zum rückgängig machen -REGION_REGION_UNDID=§7Letzte Aktion rückgangig gemacht -REGION_REGION_NOTHING_REDO=§cNichts zum wiederhohlen -REGION_REGION_REDID=§7Letzte Aktion wiederhohlt -REGION_REGION_RESTORED=§7Region zurückgesetzt -REGION_REGION_FAILED_RESTORE=§cFehler beim Zurücksetzen der Region -REGION_REGION_COLORED=§7Region umgefärbt -REGION_REGION_COLORED_FAILED=§7Nutze §e/rg restore§7 um manuell die Farbe zu ändern -REGION_REGION_FAILED_COLORED=§cFehler beim umfärben der Region -REGION_REGION_TP_COPY=§7Zum Kopierpunkt teleportiert -REGION_REGION_TP_TEST_BLOCK=§7Zum Testblock teleportiert -REGION_REGION_TP_UNKNOWN=§cNicht definierter Teleportierpunkt -REGION_REGION_NO_REGION=§cDu bist in keiner Region -REGION_REGION_NO_BUILD=§cDiese Region hat kein Baugebiet -REGION_REGION_COPY_DONE=§eBauregion oder Selektion kopiert -REGION_REGION_PASTE_DONE=§eBauregion oder Selektion eingefügt -REGION_REGION_CHANGESKIN_INFO=§7Regions Skin ist §e{0} -REGION_REGION_CHANGESKIN_INFO_CREATOR=§7Skin erstellt von §e{0} -REGION_REGION_CHANGESKIN_UNKNOWN=§cRegions Skin ist nicht valide -REGION_REGION_CHANGESKIN_INVALID=§cRegions Skin ist nicht erlaubt hier -REGION_REGION_CHANGESKIN_CHANGE=§7Regions Skin ist auf §e{0}§7 geändert -REGION_REGION_CHANGESKIN_CHANGE_UPDATE=§7Klicke §e§lHIER §7um den Skin anzuwenden -REGION_REGION_CHANGESKIN_CHANGE_UPDATE_HOVER=§8/§ereset -REGION_RESET_HELP_RESET=§8/§ereset §8- §7Setzte die Region zurück -REGION_RESET_HELP_SCHEMATIC=§8/§ereset §8[§7Schematic§8] §8- §7Setzte die Region mit einer Schematic zurück -REGION_RESET_RESETED=§7Region zurückgesetzt -REGION_RESET_ERROR=§cFehler beim Zurücksetzen der Region -REGION_RESET_NO_REGION=§cDu befindest dich derzeit in keiner Region -REGION_TB_HELP_RESET=§8/§etestblock §8- §7Setzte den Testblock zurück -REGION_TB_HELP_RESET_EXTENSION=§8/§etestblock §8[§7ExtensionType§8] §8- §7Setzte den Testblock zurück -REGION_TB_HELP_SCHEMATIC=§8/§etestblock §8[§7Schematic§8] §8- §7Setzte den Testblock mit einer Schematic zurück -REGION_TB_HELP_SCHEMATIC_EXTENSION=§8/§etestblock §8[§7Schematic§8] §8[§7ExtensionType§8] §8- §7Setzte den Testblock mit einer Schematic zurück -REGION_TB_DONE=§7Testblock zurückgesetzt -REGION_TB_ERROR=§cFehler beim Zurücksetzen des Testblocks -REGION_TB_NO_REGION=§cDu befindest dich derzeit in keiner Region -REGION_TB_NO_SCHEMSHARING=§cDu kannst aktuell keine Schematics teilen bis {0}. -REGION_TB_NO_SCHEMRECEIVING=§cDer Besitzer dieses Bauservers kann keine Schematics erhalten bis {0}. -REGION_TNT_HELP=§8/§etnt §8- §7Ändere das TNT verhalten -REGION_TNT_HELP_MODE=§8/§etnt §8[§7Mode§8] §8- §7Setzte das TNT verhalten auf einen Modus -REGION_TNT_ON=§aTNT-Schaden aktiviert -REGION_TNT_OFF=§cTNT-Schaden deaktiviert -REGION_TNT_TB=§aTNT-Schaden außerhalb Baurahmen aktiviert -REGION_TNT_BUILD_DESTROY=§cEine Explosion hätte Blöcke im Baubereich zerstört -REGION_TNT_TB_DESTROY=§cEine Explosion hätte Blöcke im Testblockbereich zerstört -AFK_KICK_MESSAGE=§cAuf diesem Server ist seit 15 Minuten nichts passiert. -AFK_WARNING_MESSAGE=§cDieser Server wird bei weiterer Inaktivität in einer Minute gestoppt -SKIN_HELP=§8/§eskin §8[§7Kuerzel§8] §8[§7Creator§8|§epublic§8] §8[§7Name...§8] §8- §7Erstellt die Skin Schematics. 'public' als Creator nutzen für keinen Creator, danach die nachricht an YoyoNow kopieren (mit Click kopieren) -SKIN_NO_REGION=§7Du steht in keiner Region, welche mit einem Skin versehen werden kann -SKIN_ALREADY_EXISTS=§cDieser Skin existiert in der Form bereits -SKIN_MESSAGE=§7Skin erstellt -SKIN_MESSAGE_HOVER=§eKlicken zum kopieren für YoyoNow und an diesen senden +REGION_WATER_HELP = §8/§ewaterblock §8- §7Wasserschaden umschalten +REGION_WATER_ENABLED = §aWasserschaden deaktiviert +REGION_WATER_DISABLED = §cWasserschaden aktiviert +REGION_REGION_HELP_UNDO = §8/§eregion undo §8- §7Mache die letzten 20 /testblock oder /reset rückgängig +REGION_REGION_HELP_REDO = §8/§eregion redo §8- §7Wiederhole die letzten 20 §8/§7rg undo +REGION_REGION_HELP_RESTORE = §8/§eregion restore §8- §7Setzte die Region zurück, ohne das Gebaute zu löschen +REGION_REGION_HELP_RESTORE_SCHEMATIC = §8/§eregion restore §8[§7Schematic§8] §8- §7Setzte die Region zurück, ohne das Gebaute zu löschen +REGION_REGION_HELP_COPYPOINT = §8/§eregion copypoint §8- §7Teleportiere dich zum Regions Kopierpunkt +REGION_REGION_HELP_TESTBLOCKPOINT = §8/§eregion testblockpoint §8- §7Teleportiere dich zum Regions Testblockpunkt +REGION_REGION_HELP_CHANGESKIN_INFO = §8/§eregion changeskin §8- §7Gebe den Regions Skin aus +REGION_REGION_HELP_CHANGESKIN = §8/§eregion changeskin §8[§7Skin§8] §8- §8Setzte den Regions Skin +REGION_REGION_HELP_COPY = §8/§eregion copy [-e] [-s] §8- §8Kopieren des Baubereichs optional mit Erweiterungen oder Auswahl am Kopierpunkt +REGION_REGION_HELP_PASTE = §8/§eregion paste [-a] [-s] §8[§7Skin§8] §8- §8Einfügen am Kopierpunkt optional ohne Luft und Auswahl des eingefügten Bereichs +REGION_REGION_NOTHING_UNDO = §cNichts zum rückgängig machen +REGION_REGION_UNDID = §7Letzte Aktion rückgangig gemacht +REGION_REGION_NOTHING_REDO = §cNichts zum wiederhohlen +REGION_REGION_REDID = §7Letzte Aktion wiederhohlt +REGION_REGION_RESTORED = §7Region zurückgesetzt +REGION_REGION_FAILED_RESTORE = §cFehler beim Zurücksetzen der Region +REGION_REGION_COLORED = §7Region umgefärbt +REGION_REGION_COLORED_FAILED = §7Nutze §e/rg restore§7 um manuell die Farbe zu ändern +REGION_REGION_FAILED_COLORED = §cFehler beim umfärben der Region +REGION_REGION_TP_COPY = §7Zum Kopierpunkt teleportiert +REGION_REGION_TP_TEST_BLOCK = §7Zum Testblock teleportiert +REGION_REGION_TP_UNKNOWN = §cNicht definierter Teleportierpunkt +REGION_REGION_NO_REGION = §cDu bist in keiner Region +REGION_REGION_NO_BUILD = §cDiese Region hat kein Baugebiet +REGION_REGION_COPY_DONE = §eBauregion oder Selektion kopiert +REGION_REGION_PASTE_DONE = §eBauregion oder Selektion eingefügt +REGION_REGION_CHANGESKIN_INFO = §7Regions Skin ist §e{0} +REGION_REGION_CHANGESKIN_INFO_CREATOR = §7Skin erstellt von §e{0} +REGION_REGION_CHANGESKIN_UNKNOWN = §cRegions Skin ist nicht valide +REGION_REGION_CHANGESKIN_INVALID = §cRegions Skin ist nicht erlaubt hier +REGION_REGION_CHANGESKIN_CHANGE = §7Regions Skin ist auf §e{0}§7 geändert +REGION_REGION_CHANGESKIN_CHANGE_UPDATE = §7Klicke §e§lHIER §7um den Skin anzuwenden +REGION_REGION_CHANGESKIN_CHANGE_UPDATE_HOVER = §8/§ereset +REGION_RESET_HELP_RESET = §8/§ereset §8- §7Setzte die Region zurück +REGION_RESET_HELP_SCHEMATIC = §8/§ereset §8[§7Schematic§8] §8- §7Setzte die Region mit einer Schematic zurück +REGION_RESET_RESETED = §7Region zurückgesetzt +REGION_RESET_ERROR = §cFehler beim Zurücksetzen der Region +REGION_RESET_NO_REGION = §cDu befindest dich derzeit in keiner Region +REGION_TB_HELP_RESET = §8/§etestblock §8- §7Setzte den Testblock zurück +REGION_TB_HELP_RESET_EXTENSION = §8/§etestblock §8[§7ExtensionType§8] §8- §7Setzte den Testblock zurück +REGION_TB_HELP_SCHEMATIC = §8/§etestblock §8[§7Schematic§8] §8- §7Setzte den Testblock mit einer Schematic zurück +REGION_TB_HELP_SCHEMATIC_EXTENSION = §8/§etestblock §8[§7Schematic§8] §8[§7ExtensionType§8] §8- §7Setzte den Testblock mit einer Schematic zurück +REGION_TB_DONE = §7Testblock zurückgesetzt +REGION_TB_ERROR = §cFehler beim Zurücksetzen des Testblocks +REGION_TB_NO_REGION = §cDu befindest dich derzeit in keiner Region +REGION_TB_NO_SCHEMSHARING = §cDu kannst aktuell keine Schematics teilen bis {0}. +REGION_TB_NO_SCHEMRECEIVING = §cDer Besitzer dieses Bauservers kann keine Schematics erhalten bis {0}. +REGION_TNT_HELP = §8/§etnt §8- §7Ändere das TNT verhalten +REGION_TNT_HELP_MODE = §8/§etnt §8[§7Mode§8] §8- §7Setzte das TNT verhalten auf einen Modus +REGION_TNT_ON = §aTNT-Schaden aktiviert +REGION_TNT_OFF = §cTNT-Schaden deaktiviert +REGION_TNT_TB = §aTNT-Schaden außerhalb Baurahmen aktiviert +REGION_TNT_BUILD_DESTROY = §cEine Explosion hätte Blöcke im Baubereich zerstört +REGION_TNT_TB_DESTROY = §cEine Explosion hätte Blöcke im Testblockbereich zerstört +AFK_KICK_MESSAGE = §cAuf diesem Server ist seit 15 Minuten nichts passiert. +AFK_WARNING_MESSAGE = §cDieser Server wird bei weiterer Inaktivität in einer Minute gestoppt +SKIN_HELP = §8/§eskin §8[§7Kuerzel§8] §8[§7Creator§8|§epublic§8] §8[§7Name...§8] §8- §7Erstellt die Skin Schematics. 'public' als Creator nutzen für keinen Creator, danach die nachricht an YoyoNow kopieren (mit Click kopieren) +SKIN_NO_REGION = §7Du steht in keiner Region, welche mit einem Skin versehen werden kann +SKIN_ALREADY_EXISTS = §cDieser Skin existiert in der Form bereits +SKIN_MESSAGE = §7Skin erstellt +SKIN_MESSAGE_HOVER = §eKlicken zum kopieren für YoyoNow und an diesen senden # Panzern -PANZERN_HELP=§8/§epanzern §8[§7Block§8] §8[§7Slab§8] §8- §7Panzer deine WorldEdit Auswahl -PANZERN_PREPARE1=§71. Gucke nochmal nach, ob Läufe auch bis zur Panzergrenze führen. -PANZERN_PREPARE2=§72. Teppich in Gänge auf dem Boden vereinfacht das panzern. -PANZERN_PREPARE3=§73. Schildtechnik sollte explizit eingeschlossen sein. -PANZERN_PREPARE4=§74. Innerhalb der zu panzernden Region zu stehen, beim Befehlausführen kann das Panzern verbessern. -PANZERN_NO_WORLDEDIT=§cDu hast keine WorldEdit Selection -PANZERN_PROGRESS=§e{0} §7Blöcke übrig, §e{1} §7Blöcke pro Sekunde, §e{2} §7Block Delta -PANZERN_DONE=§aZuende gepanzert +PANZERN_HELP = §8/§epanzern §8[§7Block§8] §8[§7Slab§8] §8- §7Panzer deine WorldEdit Auswahl +PANZERN_PREPARE1 = §71. Gucke nochmal nach, ob Läufe auch bis zur Panzergrenze führen. +PANZERN_PREPARE2 = §72. Teppich in Gänge auf dem Boden vereinfacht das panzern. +PANZERN_PREPARE3 = §73. Schildtechnik sollte explizit eingeschlossen sein. +PANZERN_PREPARE4 = §74. Innerhalb der zu panzernden Region zu stehen, beim Befehlausführen kann das Panzern verbessern. +PANZERN_NO_WORLDEDIT = §cDu hast keine WorldEdit Selection +PANZERN_PROGRESS = §e{0} §7Blöcke übrig, §e{1} §7Blöcke pro Sekunde, §e{2} §7Block Delta +PANZERN_DONE = §aZuende gepanzert # Laufbau -LAUFBAU_HELP=§8/§elaufbau §8[§7smallest§8|§7blastresistant§8] §8- §7Baue einen Lauf in deiner WorldEdit Auswahl mit den Traces -LAUFBAU_HELP_SETTINGS=§8/§elaufbau settings §8- §7Öffnet die Settings GUI -LAUFBAU_PREPARE1=§71. Trace die Kanonen so oft wie nötig, in allen Modi. -LAUFBAU_PREPARE2=§72. Versuche alle Fails aus dem Trace zu löschen. -LAUFBAU_NO_WORLDEDIT=§cDu hast keine WorldEdit Selection -LAUFBAU_STATE_FILTERING_TRACES=Traces filtern -LAUFBAU_STATE_PROCESSING_TRACES=Traces verbinden -LAUFBAU_STATE_CREATE_LAUF=Lauf erstellen -LAUFBAU_SIMPLE_PROGRESS=§e{0}§8: §e{1}§8/§e{2} §7Übrige Zeit §8: §e{3} -LAUFBAU_DONE=§aZuende gebaut -LAUFBAU_SETTINGS_GUI_NAME=§eLaufbau -LAUFBAU_SETTINGS_ACTIVE=§aAktiv -LAUFBAU_SETTINGS_INACTIVE=§cInaktiv -LAUFBAU_SETTINGS_MIXED=§e{0}§8/§e{1} §aAktiv -LAUFBAU_SETTINGS_GUI_BACK=§eBack -LAUFBAU_SETTINGS_TOGGLE=§eClick §8-§7 Toggle -LAUFBAU_SETTINGS_ADVANCED=§eLinks-Click §8-§7 Erweiterte Einstellung -LAUFBAU_BLOCK_COBWEB=§eCobweb -LAUFBAU_BLOCK_GRASS_PATH=§eGrass Path -LAUFBAU_BLOCK_SOUL_SAND=§eSoul Sand -LAUFBAU_BLOCK_COCOA=§eCocoa -LAUFBAU_BLOCK_TURTLE_EGG=§eTurtle Eggs -LAUFBAU_BLOCK_CHEST=§eChest -LAUFBAU_BLOCK_SNOW=§eSnow Layer -LAUFBAU_BLOCK_PLAYER_WALL_HEAD=§ePlayer Wall Head -LAUFBAU_BLOCK_STONECUTTER=§eStonecutter -LAUFBAU_BLOCK_PLAYER_HEAD=§ePlayer Head -LAUFBAU_BLOCK_CAKE=§eCake -LAUFBAU_BLOCK_END_STONE_BRICK_SLAB=§eEndstone Brick Slabs -LAUFBAU_BLOCK_SEA_PICKLE=§eSea Pickles -LAUFBAU_BLOCK_CAMPFIRE=§eCampfire -LAUFBAU_BLOCK_FLOWER_POT=§eFlower Pot -LAUFBAU_BLOCK_IRON_TRAPDOOR=§eIron Trapdoor -LAUFBAU_BLOCK_LILY_PAD=§eLily Pad -LAUFBAU_BLOCK_WHITE_CARPET=§eCarpet -LAUFBAU_BLOCK_END_ROD=§eEnd Rod -LAUFBAU_BLOCK_LIGHTNING_ROD=§eLightning Rod -LAUFBAU_BLOCK_CONDUIT=§eConduit -LAUFBAU_BLOCK_BREWING_STAND=§eBrewing Stand -LAUFBAU_BLOCK_BELL=§eBell -LAUFBAU_BLOCK_GRINDSTONE=§eGrindstone -LAUFBAU_BLOCK_HOPPER=§eHopper -LAUFBAU_BLOCK_LANTERN=§eLantern -LAUFBAU_BLOCK_END_STONE_BRICK_STAIRS=§eEndstone Brick Stairs -LAUFBAU_BLOCK_CHORUS_PLANT=§eChorus Plant -LAUFBAU_BLOCK_NETHER_BRICK_FENCE=§eNether Brick Fence -LAUFBAU_BLOCK_IRON_BARS=§eIron Bars -LAUFBAU_BLOCK_END_STONE_BRICK_WALL=§eEndstone Brick Walls -LAUFBAU_BLOCK_CHAIN=§eChain -LAUFBAU_BLOCK_BIG_DRIP_LEAF=§eBig Drip Leaf -LAUFBAU_BLOCK_DRAGON_EGG=§eDragon Egg -LAUFBAU_BLOCK_AZALEA=§eAzalea -LAUFBAU_BLOCK_CANDLE=§eKerze -LAUFBAU_BLOCK_CANDLE_CAKE=§eKuchen mit Kerze -LAUFBAU_BLOCK_LECTERN=§eLectern -LAUFBAU_FACING_NORTH=§8-§7 Richtung Norden -LAUFBAU_FACING_SOUTH=§8-§7 Richtung Süden -LAUFBAU_FACING_WEST=§8-§7 Richtung Westen -LAUFBAU_FACING_EAST=§8-§7 Richtung Osten -LAUFBAU_FACING_UP=§8-§7 Richtung Oben -LAUFBAU_FACING_DOWN=§8-§7 Richtung Unten -LAUFBAU_COUNT_1=§8-§7 Anzahl 1 -LAUFBAU_COUNT_2=§8-§7 Anzahl 2 -LAUFBAU_COUNT_3=§8-§7 Anzahl 3 -LAUFBAU_COUNT_4=§8-§7 Anzahl 4 -LAUFBAU_LAYERS_8=§8-§7 Ebenen 8 -LAUFBAU_LAYERS_7=§8-§7 Ebenen 7 -LAUFBAU_LAYERS_6=§8-§7 Ebenen 6 -LAUFBAU_LAYERS_3=§8-§7 Ebenen 3 -LAUFBAU_LAYERS_2=§8-§7 Ebenen 2 -LAUFBAU_TYPE_BOTTOM=§8-§7 Type Unten -LAUFBAU_TYPE_TOP=§8-§7 Type Oben -LAUFBAU_HALF_BOTTOM=§8-§7 Hälfte Unten -LAUFBAU_HALF_TOP=§8-§7 Hälfte Oben -LAUFBAU_OPEN=§8-§7 Geöffnet -LAUFBAU_ATTACHMENT_CEILING=§8-§7 Befestigung Decke -LAUFBAU_ATTACHMENT_FLOOR=§8-§7 Befestigung Boden -LAUFBAU_ATTACHMENT_DOUBLE_WALL=§8-§7 Befestigung beidseitige Wand -LAUFBAU_ATTACHMENT_SINGLE_WALL=§8-§7 Befestigung einseitige Wand -LAUFBAU_ATTACHMENT_WALL=§8-§7 Befestigung Wand -LAUFBAU_CONNECTION_FLOOR=§8-§7 Verbindung Boden -LAUFBAU_CONNECTION_NORTH=§8-§7 Verbindung Norden -LAUFBAU_CONNECTION_SOUTH=§8-§7 Verbindung Süden -LAUFBAU_CONNECTION_EAST=§8-§7 Verbindung Osten -LAUFBAU_CONNECTION_WEST=§8-§7 Verbindung Westen -LAUFBAU_CONNECTION_DOWN=§8-§7 Verbindung Unten -LAUFBAU_CONNECTION_UP=§8-§7 Verbindung Oben -LAUFBAU_HANGING=§8-§7 hängend -LAUFBAU_SHAPE_STRAIGHT=§8-§7 Form gerade -LAUFBAU_SHAPE_OUTER_LEFT=§8-§7 Form äußere links -LAUFBAU_SHAPE_INNER_LEFT=§8-§7 Form innere links -LAUFBAU_TILT_NONE=§8-§7 Neigung keine -LAUFBAU_TILT_PARTIAL=§8-§7 Neigung teilweise +LAUFBAU_HELP = §8/§elaufbau §8[§7smallest§8|§7blastresistant§8] §8- §7Baue einen Lauf in deiner WorldEdit Auswahl mit den Traces +LAUFBAU_HELP_SETTINGS = §8/§elaufbau settings §8- §7Öffnet die Settings GUI +LAUFBAU_PREPARE1 = §71. Trace die Kanonen so oft wie nötig, in allen Modi. +LAUFBAU_PREPARE2 = §72. Versuche alle Fails aus dem Trace zu löschen. +LAUFBAU_NO_WORLDEDIT = §cDu hast keine WorldEdit Selection +LAUFBAU_STATE_FILTERING_TRACES = Traces filtern +LAUFBAU_STATE_PROCESSING_TRACES = Traces verbinden +LAUFBAU_STATE_CREATE_LAUF = Lauf erstellen +LAUFBAU_SIMPLE_PROGRESS = §e{0}§8: §e{1}§8/§e{2} §7Übrige Zeit §8: §e{3} +LAUFBAU_DONE = §aZuende gebaut +LAUFBAU_SETTINGS_GUI_NAME = §eLaufbau +LAUFBAU_SETTINGS_ACTIVE = §aAktiv +LAUFBAU_SETTINGS_INACTIVE = §cInaktiv +LAUFBAU_SETTINGS_MIXED = §e{0}§8/§e{1} §aAktiv +LAUFBAU_SETTINGS_GUI_BACK = §eBack +LAUFBAU_SETTINGS_TOGGLE = §eClick §8-§7 Toggle +LAUFBAU_SETTINGS_ADVANCED = §eLinks-Click §8-§7 Erweiterte Einstellung +LAUFBAU_BLOCK_COBWEB = §eCobweb +LAUFBAU_BLOCK_GRASS_PATH = §eGrass Path +LAUFBAU_BLOCK_SOUL_SAND = §eSoul Sand +LAUFBAU_BLOCK_COCOA = §eCocoa +LAUFBAU_BLOCK_TURTLE_EGG = §eTurtle Eggs +LAUFBAU_BLOCK_CHEST = §eChest +LAUFBAU_BLOCK_SNOW = §eSnow Layer +LAUFBAU_BLOCK_PLAYER_WALL_HEAD = §ePlayer Wall Head +LAUFBAU_BLOCK_STONECUTTER = §eStonecutter +LAUFBAU_BLOCK_PLAYER_HEAD = §ePlayer Head +LAUFBAU_BLOCK_CAKE = §eCake +LAUFBAU_BLOCK_END_STONE_BRICK_SLAB = §eEndstone Brick Slabs +LAUFBAU_BLOCK_SEA_PICKLE = §eSea Pickles +LAUFBAU_BLOCK_CAMPFIRE = §eCampfire +LAUFBAU_BLOCK_FLOWER_POT = §eFlower Pot +LAUFBAU_BLOCK_IRON_TRAPDOOR = §eIron Trapdoor +LAUFBAU_BLOCK_LILY_PAD = §eLily Pad +LAUFBAU_BLOCK_WHITE_CARPET = §eCarpet +LAUFBAU_BLOCK_END_ROD = §eEnd Rod +LAUFBAU_BLOCK_LIGHTNING_ROD = §eLightning Rod +LAUFBAU_BLOCK_CONDUIT = §eConduit +LAUFBAU_BLOCK_BREWING_STAND = §eBrewing Stand +LAUFBAU_BLOCK_BELL = §eBell +LAUFBAU_BLOCK_GRINDSTONE = §eGrindstone +LAUFBAU_BLOCK_HOPPER = §eHopper +LAUFBAU_BLOCK_LANTERN = §eLantern +LAUFBAU_BLOCK_END_STONE_BRICK_STAIRS = §eEndstone Brick Stairs +LAUFBAU_BLOCK_CHORUS_PLANT = §eChorus Plant +LAUFBAU_BLOCK_NETHER_BRICK_FENCE = §eNether Brick Fence +LAUFBAU_BLOCK_IRON_BARS = §eIron Bars +LAUFBAU_BLOCK_END_STONE_BRICK_WALL = §eEndstone Brick Walls +LAUFBAU_BLOCK_CHAIN = §eChain +LAUFBAU_BLOCK_BIG_DRIP_LEAF = §eBig Drip Leaf +LAUFBAU_BLOCK_DRAGON_EGG = §eDragon Egg +LAUFBAU_BLOCK_AZALEA = §eAzalea +LAUFBAU_BLOCK_CANDLE = §eKerze +LAUFBAU_BLOCK_CANDLE_CAKE = §eKuchen mit Kerze +LAUFBAU_BLOCK_LECTERN = §eLectern +LAUFBAU_FACING_NORTH = §8-§7 Richtung Norden +LAUFBAU_FACING_SOUTH = §8-§7 Richtung Süden +LAUFBAU_FACING_WEST = §8-§7 Richtung Westen +LAUFBAU_FACING_EAST = §8-§7 Richtung Osten +LAUFBAU_FACING_UP = §8-§7 Richtung Oben +LAUFBAU_FACING_DOWN = §8-§7 Richtung Unten +LAUFBAU_COUNT_1 = §8-§7 Anzahl 1 +LAUFBAU_COUNT_2 = §8-§7 Anzahl 2 +LAUFBAU_COUNT_3 = §8-§7 Anzahl 3 +LAUFBAU_COUNT_4 = §8-§7 Anzahl 4 +LAUFBAU_LAYERS_8 = §8-§7 Ebenen 8 +LAUFBAU_LAYERS_7 = §8-§7 Ebenen 7 +LAUFBAU_LAYERS_6 = §8-§7 Ebenen 6 +LAUFBAU_LAYERS_3 = §8-§7 Ebenen 3 +LAUFBAU_LAYERS_2 = §8-§7 Ebenen 2 +LAUFBAU_TYPE_BOTTOM = §8-§7 Type Unten +LAUFBAU_TYPE_TOP = §8-§7 Type Oben +LAUFBAU_HALF_BOTTOM = §8-§7 Hälfte Unten +LAUFBAU_HALF_TOP = §8-§7 Hälfte Oben +LAUFBAU_OPEN = §8-§7 Geöffnet +LAUFBAU_ATTACHMENT_CEILING = §8-§7 Befestigung Decke +LAUFBAU_ATTACHMENT_FLOOR = §8-§7 Befestigung Boden +LAUFBAU_ATTACHMENT_DOUBLE_WALL = §8-§7 Befestigung beidseitige Wand +LAUFBAU_ATTACHMENT_SINGLE_WALL = §8-§7 Befestigung einseitige Wand +LAUFBAU_ATTACHMENT_WALL = §8-§7 Befestigung Wand +LAUFBAU_CONNECTION_FLOOR = §8-§7 Verbindung Boden +LAUFBAU_CONNECTION_NORTH = §8-§7 Verbindung Norden +LAUFBAU_CONNECTION_SOUTH = §8-§7 Verbindung Süden +LAUFBAU_CONNECTION_EAST = §8-§7 Verbindung Osten +LAUFBAU_CONNECTION_WEST = §8-§7 Verbindung Westen +LAUFBAU_CONNECTION_DOWN = §8-§7 Verbindung Unten +LAUFBAU_CONNECTION_UP = §8-§7 Verbindung Oben +LAUFBAU_HANGING = §8-§7 hängend +LAUFBAU_SHAPE_STRAIGHT = §8-§7 Form gerade +LAUFBAU_SHAPE_OUTER_LEFT = §8-§7 Form äußere links +LAUFBAU_SHAPE_INNER_LEFT = §8-§7 Form innere links +LAUFBAU_TILT_NONE = §8-§7 Neigung keine +LAUFBAU_TILT_PARTIAL = §8-§7 Neigung teilweise # UTILS -SELECT_HELP=§8/§eselect §8[§7RegionsTyp§8] §8- §7Wähle einen RegionsTyp aus -SELECT_EXTENSION_HELP=§8/§eselect §8[§7RegionsTyp§8] §8[§7Extension§8] §8- §7Wähle einen RegionsTyp aus mit oder ohne Extension -SELECT_GLOBAL_REGION=§cDie globale Region kannst du nicht auswählen -SELECT_NO_TYPE=§cDiese Region hat keinen {0} -SELECT_MESSAGE=§7WorldEdit auswahl auf {0}, {1}, {2} und {3}, {4}, {5} gesetzt -SKULL_HELP=§8/§eskull §8[§eSpieler§8] §8-§7 Gibt einen SpielerKopf -SKULL_INVALID=§cUngültiger Spieler -SKULL_ITEM=§e{0}§8s Kopf -SPEED_HELP=§8/§espeed §8[§71§8-§710§8|§edefault§8] §8-§7 Setzte deine Flug- und Laufgeschindigkeit. -SPEED_CURRENT=§7Aktuelle geschwindigkeit§8: §e{0} -SPEED_TOO_SMALL=§c{0} ist zu klein -SPEED_TOO_HIGH=§c{0} ist zu hoch -SPEED_ITEM=§eGeschwindigkeit -SPEED_ITEM_LORE=§7Aktuell: §e -SPEED_TAB_NAME=Geschwindigkeit eingeben -WORLDEDIT_WAND=WorldEdit Wand -WORLDEDIT_LEFTCLICK=Left click: select pos #1 -WORLDEDIT_RIGHTCLICK=Right click: select pos #2 -TNT_DETAILS_COMMAND=§8/§etntdetails §8-§7 Aktiviert/Deaktiviert das senden von Details beim Klick auf TNT +SELECT_HELP = §8/§eselect §8[§7RegionsTyp§8] §8- §7Wähle einen RegionsTyp aus +SELECT_EXTENSION_HELP = §8/§eselect §8[§7RegionsTyp§8] §8[§7Extension§8] §8- §7Wähle einen RegionsTyp aus mit oder ohne Extension +SELECT_GLOBAL_REGION = §cDie globale Region kannst du nicht auswählen +SELECT_NO_TYPE = §cDiese Region hat keinen {0} +SELECT_MESSAGE = §7WorldEdit auswahl auf {0}, {1}, {2} und {3}, {4}, {5} gesetzt +SKULL_HELP = §8/§eskull §8[§eSpieler§8] §8-§7 Gibt einen SpielerKopf +SKULL_INVALID = §cUngültiger Spieler +SKULL_ITEM = §e{0}§8s Kopf +SPEED_HELP = §8/§espeed §8[§71§8-§710§8|§edefault§8] §8-§7 Setzte deine Flug- und Laufgeschindigkeit. +SPEED_CURRENT = §7Aktuelle geschwindigkeit§8: §e{0} +SPEED_TOO_SMALL = §c{0} ist zu klein +SPEED_TOO_HIGH = §c{0} ist zu hoch +SPEED_ITEM = §eGeschwindigkeit +SPEED_ITEM_LORE = §7Aktuell: §e +SPEED_TAB_NAME = Geschwindigkeit eingeben +WORLDEDIT_WAND = WorldEdit Wand +WORLDEDIT_LEFTCLICK = Left click: select pos #1 +WORLDEDIT_RIGHTCLICK = Right click: select pos #2 +TNT_DETAILS_COMMAND = §8/§etntdetails §8-§7 Aktiviert/Deaktiviert das senden von Details beim Klick auf TNT TNT_DETAILS_ON = §eTNTDetails §aaktiviert TNT_DETAILS_OFF = §eTNTDetails §cdeaktiviert -TNT_CLICK_HEADER=§8---=== §eTNT §8===--- -TNT_CLICK_ORDER=§eEntity Order§8: §e{0} -TNT_CLICK_FUSE_TIME=§eFuseTime§8: §e{0} -TNT_CLICK_POSITION_X=§7Position §eX§8: §e{0} -TNT_CLICK_POSITION_Y=§7Position §eY§8: §e{0} -TNT_CLICK_POSITION_Z=§7Position §eZ§8: §e{0} -TNT_CLICK_VELOCITY_X=§7Velocity §eX§8: §e{0} -TNT_CLICK_VELOCITY_Y=§7Velocity §eY§8: §e{0} -TNT_CLICK_VELOCITY_Z=§7Velocity §eZ§8: §e{0} -TNT_CLICK_COUNT=§7Anzahl §8: §e{0} -TNT_CLICK_ISOLATE=§eIsolieren -SELECT_ITEM_CHOOSE_EXTENSION=Extension auswählen -SELECT_ITEM_CHOOSE_SELECTION=Auswahl auswählen -SELECT_ITEM_NORMAL_EXTENSION=§eNormal -SELECT_ITEM_EXTENDED_EXTENSION=§eAusgefahren -SELECT_ITEM_SELECT=§eSelect -SELECT_ITEM_AUSWAHL=§7Auswahl: §7{0} {1} -SELECT_ITEM_RIGHT_CLICK=§7Rechtklick zum ändern -SELECT_ITEM_BAURAHMEN=§eBaurahmen -SELECT_ITEM_BAUPLATTFORM=§eBauplattform -SELECT_ITEM_TESTBLOCK=§eTestblock -CHESTFILLER_FILLED=§eKiste gefüllt -PISTON_HELP_1=§7Rechts Klick auf einen Piston berechnet dir die bewegten Blöcke. -PISTON_HELP_2=§7Die Anzahl ist Rot, wenn ein unmovable Block vorhanden ist. -PISTON_HELP_3=§7Die Anzahl ist Gelb, wenn zu viele Blöcke vorhanden sind. -PISTON_INFO=§7Bewegte Blöcke {0}{1}§8/§712 -PISTON_ENABLED=§aPiston-Berechnung aktiviert -PISTON_DISABLED=§cPiston-Berechnung deaktiviert +TNT_CLICK_HEADER = §8---=== §eTNT §8===--- +TNT_CLICK_ORDER = §eEntity Order§8: §e{0} +TNT_CLICK_FUSE_TIME = §eFuseTime§8: §e{0} +TNT_CLICK_POSITION_X = §7Position §eX§8: §e{0} +TNT_CLICK_POSITION_Y = §7Position §eY§8: §e{0} +TNT_CLICK_POSITION_Z = §7Position §eZ§8: §e{0} +TNT_CLICK_VELOCITY_X = §7Velocity §eX§8: §e{0} +TNT_CLICK_VELOCITY_Y = §7Velocity §eY§8: §e{0} +TNT_CLICK_VELOCITY_Z = §7Velocity §eZ§8: §e{0} +TNT_CLICK_COUNT = §7Anzahl §8: §e{0} +TNT_CLICK_ISOLATE = §eIsolieren +SELECT_ITEM_CHOOSE_EXTENSION = Extension auswählen +SELECT_ITEM_CHOOSE_SELECTION = Auswahl auswählen +SELECT_ITEM_NORMAL_EXTENSION = §eNormal +SELECT_ITEM_EXTENDED_EXTENSION = §eAusgefahren +SELECT_ITEM_SELECT = §eSelect +SELECT_ITEM_AUSWAHL = §7Auswahl: §7{0} {1} +SELECT_ITEM_RIGHT_CLICK = §7Rechtklick zum ändern +SELECT_ITEM_BAURAHMEN = §eBaurahmen +SELECT_ITEM_BAUPLATTFORM = §eBauplattform +SELECT_ITEM_TESTBLOCK = §eTestblock +CHESTFILLER_FILLED = §eKiste gefüllt +PISTON_HELP_1 = §7Rechts Klick auf einen Piston berechnet dir die bewegten Blöcke. +PISTON_HELP_2 = §7Die Anzahl ist Rot, wenn ein unmovable Block vorhanden ist. +PISTON_HELP_3 = §7Die Anzahl ist Gelb, wenn zu viele Blöcke vorhanden sind. +PISTON_INFO = §7Bewegte Blöcke {0}{1}§8/§712 +PISTON_ENABLED = §aPiston-Berechnung aktiviert +PISTON_DISABLED = §cPiston-Berechnung deaktiviert # Warp -WARP_LOC_X=§7X§8: §e{0} -WARP_LOC_Y=§7Y§8: §e{0} -WARP_LOC_Z=§7Z§8: §e{0} -WARP_EXISTS=§7Ein Warp mit dem namen §e{0} §7existiert bereits -WARP_NAME_RESERVED=§7Du kannst nicht §c{0} §7als name für einen Warp nutzen -WARP_CREATED=§7Der Warp §e{0} §7wurde erstellt -WARP_DELETE_HOVER=§e{0} §7löschen -WARP_DELETED=§e{0} §7wurde gelöscht -WARP_TELEPORT_HOVER=§7Zu §e{0} §7teleportieren -WARP_MATERIAL_CHOOSE=Material auswählen -WARP_GUI_NAME=Warps -WARP_GUI_NO=§cHier gibt es noch keine Warps -WARP_GUI_DISTANCE=§7Distanz: §e{0} §7Blöcke -WARP_GUI_LCLICK=§7Links klicken zum teleportieren -WARP_GUI_RCLICK=§7Rechts klicken zum editieren -WARP_INFO_NAME=§7Name: §e{0} -WARP_HELP_ADD=§8/§ewarp add §8[§7Name§8] §8- §7Erstelle einen neuen Warp Punkt -WARP_HELP_TELEPORT=§8/§ewarp §8[§7Name§8] §8- §7Teleportiere dich zu einen Warp-Punkt -WARP_HELP_INFO=§8/§ewarp info §8[§7Name§8] §8- §7Infos zu einem Punkt -WARP_HELP_DELETE=§8/§ewarp delete §8[§7Name§8] §8- §7Lösche einen Warp -WARP_HELP_GUI=§8/§ewarp gui §8- §7Öffne die Warp-GUI -WARP_HELP_LIST=§8/§ewarp list §8- §7Liste alle Warp-Punkt auf +WARP_LOC_X = §7X§8: §e{0} +WARP_LOC_Y = §7Y§8: §e{0} +WARP_LOC_Z = §7Z§8: §e{0} +WARP_EXISTS = §7Ein Warp mit dem namen §e{0} §7existiert bereits +WARP_NAME_RESERVED = §7Du kannst nicht §c{0} §7als name für einen Warp nutzen +WARP_CREATED = §7Der Warp §e{0} §7wurde erstellt +WARP_DELETE_HOVER = §e{0} §7löschen +WARP_DELETED = §e{0} §7wurde gelöscht +WARP_TELEPORT_HOVER = §7Zu §e{0} §7teleportieren +WARP_MATERIAL_CHOOSE = Material auswählen +WARP_GUI_NAME = Warps +WARP_GUI_NO = §cHier gibt es noch keine Warps +WARP_GUI_DISTANCE = §7Distanz: §e{0} §7Blöcke +WARP_GUI_LCLICK = §7Links klicken zum teleportieren +WARP_GUI_RCLICK = §7Rechts klicken zum editieren +WARP_INFO_NAME = §7Name: §e{0} +WARP_HELP_ADD = §8/§ewarp add §8[§7Name§8] §8- §7Erstelle einen neuen Warp Punkt +WARP_HELP_TELEPORT = §8/§ewarp §8[§7Name§8] §8- §7Teleportiere dich zu einen Warp-Punkt +WARP_HELP_INFO = §8/§ewarp info §8[§7Name§8] §8- §7Infos zu einem Punkt +WARP_HELP_DELETE = §8/§ewarp delete §8[§7Name§8] §8- §7Lösche einen Warp +WARP_HELP_GUI = §8/§ewarp gui §8- §7Öffne die Warp-GUI +WARP_HELP_LIST = §8/§ewarp list §8- §7Liste alle Warp-Punkt auf # WORLD -STOP_HELP=§8/§estop §8- §7Stoppt den Server -STOP_MESSAGE=§eDer Server wird gestoppt -KICKALL_HELP=§8/§ekickall §8- §7Kickt alle Spieler vom Server außer den Owner +STOP_HELP = §8/§estop §8- §7Stoppt den Server +STOP_MESSAGE = §eDer Server wird gestoppt +KICKALL_HELP = §8/§ekickall §8- §7Kickt alle Spieler vom Server außer den Owner # Techhider -TECHHIDER_HELP=§8/§etechhider §8- §7Techhider umschalten -TECHHIDER_GLOBAL=§cKein Techhider in der globalen region -TECHHIDER_ON=§aTechhider aktiviert -TECHHIDER_OFF=§cTechHider deaktiviert +TECHHIDER_HELP = §8/§etechhider §8- §7Techhider umschalten +TECHHIDER_GLOBAL = §cKein Techhider in der globalen region +TECHHIDER_ON = §aTechhider aktiviert +TECHHIDER_OFF = §cTechHider deaktiviert # XRAY -XRAY_HELP=§8/§exray §8- §7Xray umschalten -XRAY_GLOBAL=§cKein Xray in der globalen region -XRAY_ON=§aXray aktiviert -XRAY_OFF=§cXray deaktiviert +XRAY_HELP = §8/§exray §8- §7Xray umschalten +XRAY_GLOBAL = §cKein Xray in der globalen region +XRAY_ON = §aXray aktiviert +XRAY_OFF = §cXray deaktiviert # WorldEdit -COLORREPLACE_HELP=§8//§ecolorreplace §8[§7color§8] §8[§7color§8] §8- §7Ersetzt eine Farbe mit einer anderen -TYPEREPLACE_HELP=§8//§etyreplace §8[§7type§8] §8[§7type§8] §8- §7Ersetzt einen Blockgruppe mit einer anderen +COLORREPLACE_HELP = §8//§ecolorreplace §8[§7color§8] §8[§7color§8] §8- §7Ersetzt eine Farbe mit einer anderen +TYPEREPLACE_HELP = §8//§etyreplace §8[§7type§8] §8[§7type§8] §8- §7Ersetzt einen Blockgruppe mit einer anderen # Schematics -SCHEMATIC_GUI_ITEM=§eSchematics -TLS_MESSAGE_80=§7TLS§8> §7Tick §e{0} §8- §7TNT §e{1} §8(§e{2} §7mit Fuse 80§8) -TLS_START_HELP=§8/§etls start §8- §7Starte den TNT Listener -TLS_STOP_HELP=§8/§etls stop §8- §7Stope den TNT Listener -TLS_SCOREBOARD_ELEMENT=§eTLS§8: §aan -TLS_TOGGLE_HELP=§8/§etls §8: §7Toggle den TNT Listener \ No newline at end of file +SCHEMATIC_GUI_ITEM = §eSchematics +TLS_MESSAGE_80 = §7TLS§8> §7Tick §e{0} §8- §7TNT §e{1} §8(§e{2} §7mit Fuse 80§8) +TLS_START_HELP = §8/§etls start §8- §7Starte den TNT Listener +TLS_STOP_HELP = §8/§etls stop §8- §7Stope den TNT Listener +TLS_SCOREBOARD_ELEMENT = §eTLS§8: §aan +TLS_TOGGLE_HELP = §8/§etls §8: §7Toggle den TNT Listener \ No newline at end of file diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/attributescopy/AttributesPlaceListener.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/attributescopy/AttributesPlaceListener.java index 79cf7821..6883d9e8 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/attributescopy/AttributesPlaceListener.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/attributescopy/AttributesPlaceListener.java @@ -41,7 +41,7 @@ public class AttributesPlaceListener implements Listener { @EventHandler public void onBlockPlace(BlockPlaceEvent event) { - if(!Permission.BUILD.hasPermission(event.getPlayer())) return; + if (!Permission.BUILD.hasPermission(event.getPlayer())) return; ItemStack itemStack = event.getItemInHand(); ItemMeta itemMeta = itemStack.getItemMeta(); if (itemMeta == null) return; diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/autostart/AutostartListener.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/autostart/AutostartListener.java index efa7f199..fa504c12 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/autostart/AutostartListener.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/autostart/AutostartListener.java @@ -65,7 +65,7 @@ public class AutostartListener implements Listener { @EventHandler public void onPlayerInteract(PlayerInteractEvent event) { - if(!Permission.BUILD.hasPermission(event.getPlayer())) return; + if (!Permission.BUILD.hasPermission(event.getPlayer())) return; if (!ItemUtils.isItem(event.getItem(), "autostart")) { return; } @@ -89,7 +89,7 @@ public class AutostartListener implements Listener { if (!(event.getPlayer() instanceof Player)) { return; } - if(!Permission.BUILD.hasPermission((Player) event.getPlayer())) return; + if (!Permission.BUILD.hasPermission((Player) event.getPlayer())) return; if (!ItemUtils.isItem(event.getPlayer().getInventory().getItemInMainHand(), "autostart")) { return; } diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/backup/BackupCommand.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/backup/BackupCommand.java index 53607f9c..801af78f 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/backup/BackupCommand.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/backup/BackupCommand.java @@ -104,7 +104,8 @@ public class BackupCommand extends SWCommand { List lore = Arrays.asList(BauSystem.MESSAGE.parse("BACKUP_LORE", p)); for (int i = 0; i < backups.size(); i++) { RegionBackups.Backup backup = backups.get(i); - SWItem swItem = new SWItem(Material.BRICK, BauSystem.MESSAGE.parse("BACKUP_ITEM_NAME", p, backup.getName()), lore, false, clickType -> {}); + SWItem swItem = new SWItem(Material.BRICK, BauSystem.MESSAGE.parse("BACKUP_ITEM_NAME", p, backup.getName()), lore, false, clickType -> { + }); swItem.getItemStack().setAmount(i + 1); swListEntries.add(new SWListInv.SWListEntry<>(swItem, backup)); } diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/countingwand/Countingwand.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/countingwand/Countingwand.java index 0fbaf1b7..03bc146e 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/countingwand/Countingwand.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/countingwand/Countingwand.java @@ -58,14 +58,14 @@ public class Countingwand { } } - public static ItemStack getWandItem(Player player) { - ItemStack itemStack = new SWItem(Material.STICK, BauSystem.MESSAGE.parse("COUNTINGWAND_ITEM_NAME", player), Arrays.asList(BauSystem.MESSAGE.parse("COUNTINGWAND_ITEM_LORE1", player), BauSystem.MESSAGE.parse("COUNTINGWAND_ITEM_LORE2", player)), false, null).getItemStack(); - ItemUtils.setItem(itemStack, "countingwand"); - ItemMeta itemMeta = itemStack.getItemMeta(); - itemMeta.setCustomModelData(1); - itemStack.setItemMeta(itemMeta); - return itemStack; - } + public static ItemStack getWandItem(Player player) { + ItemStack itemStack = new SWItem(Material.STICK, BauSystem.MESSAGE.parse("COUNTINGWAND_ITEM_NAME", player), Arrays.asList(BauSystem.MESSAGE.parse("COUNTINGWAND_ITEM_LORE1", player), BauSystem.MESSAGE.parse("COUNTINGWAND_ITEM_LORE2", player)), false, null).getItemStack(); + ItemUtils.setItem(itemStack, "countingwand"); + ItemMeta itemMeta = itemStack.getItemMeta(); + itemMeta.setCustomModelData(1); + itemStack.setItemMeta(itemMeta); + return itemStack; + } public boolean isCountingwand(ItemStack itemStack) { return ItemUtils.isItem(itemStack, "countingwand"); diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/countingwand/CountingwandCommand.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/countingwand/CountingwandCommand.java index f35420fe..c28c0eb9 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/countingwand/CountingwandCommand.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/countingwand/CountingwandCommand.java @@ -28,12 +28,12 @@ import org.bukkit.entity.Player; @Linked public class CountingwandCommand extends SWCommand { - public CountingwandCommand() { - super("countingwand", "/countingwand", "cwand", "/cwand", "zollstock", "/zollstock"); - } + public CountingwandCommand() { + super("countingwand", "/countingwand", "cwand", "/cwand", "zollstock", "/zollstock"); + } - @Register(description = "COUNTINGWAND_COMMAND_HELP") - public void genericCommand(final Player p) { - SWUtils.giveItemToPlayer(p, Countingwand.getWandItem(p)); - } + @Register(description = "COUNTINGWAND_COMMAND_HELP") + public void genericCommand(final Player p) { + SWUtils.giveItemToPlayer(p, Countingwand.getWandItem(p)); + } } \ No newline at end of file diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/countingwand/CountingwandGuiItem.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/countingwand/CountingwandGuiItem.java index 86cb0332..b376a76f 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/countingwand/CountingwandGuiItem.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/countingwand/CountingwandGuiItem.java @@ -30,24 +30,24 @@ import org.bukkit.inventory.ItemStack; @Linked public class CountingwandGuiItem extends BauGuiItem { - public CountingwandGuiItem() { - super(22); - } + public CountingwandGuiItem() { + super(22); + } - @Override - public ItemStack getItem(Player player) { - return Countingwand.getWandItem(player); - } + @Override + public ItemStack getItem(Player player) { + return Countingwand.getWandItem(player); + } - @Override - public boolean click(ClickType click, Player p) { - p.closeInventory(); - p.performCommand("countingwand"); - return false; - } + @Override + public boolean click(ClickType click, Player p) { + p.closeInventory(); + p.performCommand("countingwand"); + return false; + } - @Override - public Permission permission() { - return Permission.MEMBER; - } + @Override + public Permission permission() { + return Permission.MEMBER; + } } \ No newline at end of file diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/countingwand/CountingwandListener.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/countingwand/CountingwandListener.java index 9daab3f0..5c5ce62d 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/countingwand/CountingwandListener.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/countingwand/CountingwandListener.java @@ -35,35 +35,35 @@ import java.util.Objects; @Linked public class CountingwandListener implements Listener { - @EventHandler - public void onBlockBreak(final BlockBreakEvent event) { - if (!Countingwand.isCountingwand(event.getPlayer().getInventory().getItemInMainHand())) { - return; - } + @EventHandler + public void onBlockBreak(final BlockBreakEvent event) { + if (!Countingwand.isCountingwand(event.getPlayer().getInventory().getItemInMainHand())) { + return; + } - event.setCancelled(true); - Countingwand.checkSelection(Point.fromLocation(event.getBlock().getLocation()), true, event.getPlayer()); - } + event.setCancelled(true); + Countingwand.checkSelection(Point.fromLocation(event.getBlock().getLocation()), true, event.getPlayer()); + } - @EventHandler - public void onPlayerInteract(final PlayerInteractEvent event) { - if (!Countingwand.isCountingwand(event.getItem())) { - return; - } + @EventHandler + public void onPlayerInteract(final PlayerInteractEvent event) { + if (!Countingwand.isCountingwand(event.getItem())) { + return; + } - if (event.getAction() == Action.RIGHT_CLICK_AIR || event.getAction() == Action.LEFT_CLICK_AIR) { - RayTraceResult rayTraceResult = event.getPlayer().rayTraceBlocks(200, FluidCollisionMode.NEVER); - if (rayTraceResult == null) { - return; - } - Countingwand.checkSelection(Point.fromLocation(Objects.requireNonNull(rayTraceResult.getHitBlock()).getLocation()), event.getAction() == Action.LEFT_CLICK_AIR, event.getPlayer()); - return; - } - if (event.getAction() != Action.RIGHT_CLICK_BLOCK) { - return; - } + if (event.getAction() == Action.RIGHT_CLICK_AIR || event.getAction() == Action.LEFT_CLICK_AIR) { + RayTraceResult rayTraceResult = event.getPlayer().rayTraceBlocks(200, FluidCollisionMode.NEVER); + if (rayTraceResult == null) { + return; + } + Countingwand.checkSelection(Point.fromLocation(Objects.requireNonNull(rayTraceResult.getHitBlock()).getLocation()), event.getAction() == Action.LEFT_CLICK_AIR, event.getPlayer()); + return; + } + if (event.getAction() != Action.RIGHT_CLICK_BLOCK) { + return; + } - event.setCancelled(true); - Countingwand.checkSelection(Point.fromLocation(Objects.requireNonNull(event.getClickedBlock()).getLocation()), false, event.getPlayer()); - } + event.setCancelled(true); + Countingwand.checkSelection(Point.fromLocation(Objects.requireNonNull(event.getClickedBlock()).getLocation()), false, event.getPlayer()); + } } \ No newline at end of file diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/hotbar/HotbarListener.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/hotbar/HotbarListener.java index 11d5481d..cdb8ce28 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/hotbar/HotbarListener.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/hotbar/HotbarListener.java @@ -31,7 +31,7 @@ public class HotbarListener implements Listener { @EventHandler(priority = EventPriority.LOWEST) public void onPlayerJoin(PlayerJoinEvent event) { - if(!Permission.BUILD.hasPermission(event.getPlayer())) return; + if (!Permission.BUILD.hasPermission(event.getPlayer())) return; if (allNull(event.getPlayer().getInventory().getContents()) && allNull(event.getPlayer().getInventory().getArmorContents())) { DefaultHotbar.setHotbar(event.getPlayer()); } diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/inventoryfiller/InventoryFillBauGuiItem.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/inventoryfiller/InventoryFillBauGuiItem.java index fe62c7e2..13e3af35 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/inventoryfiller/InventoryFillBauGuiItem.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/inventoryfiller/InventoryFillBauGuiItem.java @@ -50,7 +50,8 @@ public class InventoryFillBauGuiItem extends BauGuiItem { @Override public ItemStack getItem(Player player) { String loreKey = Config.getInstance().get(player).getPlainValueOrDefault("inventoryfill", false) ? "OTHER_ITEMS_INVENTORY_FILL_LORE_ACTIVE" : "OTHER_ITEMS_INVENTORY_FILL_LORE_INACTIVE"; - return new SWItem(Material.HOPPER, BauSystem.MESSAGE.parse("OTHER_ITEMS_INVENTORY_FILL_NAME", player), Collections.singletonList(BauSystem.MESSAGE.parse(loreKey, player)), false, clickType -> {}).getItemStack(); + return new SWItem(Material.HOPPER, BauSystem.MESSAGE.parse("OTHER_ITEMS_INVENTORY_FILL_NAME", player), Collections.singletonList(BauSystem.MESSAGE.parse(loreKey, player)), false, clickType -> { + }).getItemStack(); } @Override diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/inventoryfiller/InventoryFiller.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/inventoryfiller/InventoryFiller.java index a64904ce..8312e77c 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/inventoryfiller/InventoryFiller.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/inventoryfiller/InventoryFiller.java @@ -39,7 +39,7 @@ public class InventoryFiller implements Listener { @EventHandler public void onPlayerDropItem(PlayerDropItemEvent event) { - if(!Permission.BUILD.hasPermission(event.getPlayer())) return; + if (!Permission.BUILD.hasPermission(event.getPlayer())) return; if (!Config.getInstance().get(event.getPlayer()).getPlainValueOrDefault("inventoryfill", false)) return; if (!event.getPlayer().isSneaking()) return; Block block = event.getPlayer().getTargetBlockExact(5); @@ -61,7 +61,7 @@ public class InventoryFiller implements Listener { */ @EventHandler public void onPlayerItemHeld(PlayerItemHeldEvent event) { - if(!Permission.BUILD.hasPermission(event.getPlayer())) return; + if (!Permission.BUILD.hasPermission(event.getPlayer())) return; if (!Config.getInstance().get(event.getPlayer()).getPlainValueOrDefault("inventoryfill", false)) return; if (!event.getPlayer().isSneaking()) return; ItemStack itemStack = event.getPlayer().getInventory().getItemInMainHand(); diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/killchecker/KillcheckerVisualizer.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/killchecker/KillcheckerVisualizer.java index f303380d..9efd6dc2 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/killchecker/KillcheckerVisualizer.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/killchecker/KillcheckerVisualizer.java @@ -58,9 +58,9 @@ public class KillcheckerVisualizer { Material.BLACK_CONCRETE, }; private static final World WORLD = Bukkit.getWorlds().get(0); - + private static final double SURROUND = 4.5; - + private final Point minPoint; private final Point maxPoint; @@ -104,7 +104,9 @@ public class KillcheckerVisualizer { Block block = WORLD.getBlockAt(x, y, z); if (block.getType().isAir()) continue; String name = block.getType().name(); - if (!name.endsWith("_WOOL") && !name.endsWith("_STAINED_GLASS") && !name.endsWith("_CONCRETE") && !name.endsWith("_TERRACOTTA")) continue; + if (!name.endsWith("_WOOL") && !name.endsWith("_STAINED_GLASS") && !name.endsWith("_CONCRETE") && !name.endsWith("_TERRACOTTA")) { + continue; + } if (name.equals("_GLAZED_TERRACOTTA")) continue; Cuboid cuboid = create(block.getType(), x, y, z); cuboids.add(cuboid); @@ -283,7 +285,9 @@ public class KillcheckerVisualizer { } kill.forEach((point, count) -> { if (rEntities.containsKey(point)) { - if (killCount.get(point) == count && outlinePoints.contains(point) == outlinePointsCacheLast.contains(point)) return; + if (killCount.get(point) == count && outlinePoints.contains(point) == outlinePointsCacheLast.contains(point)) { + return; + } rEntities.get(point).die(); } RFallingBlockEntity entity = new RFallingBlockEntity(outlinePoints.contains(point) ? outline : inner, point.toLocation(WORLD, 0.5, 0, 0.5), MATERIALS[Math.min(count - 1, MATERIALS.length) - 1]); @@ -325,7 +329,7 @@ public class KillcheckerVisualizer { if (point.getX() < minPoint.getX() || point.getX() > maxPoint.getX()) continue; if (point.getY() < minPoint.getY() || point.getY() > maxPoint.getY()) continue; if (point.getZ() < minPoint.getZ() || point.getZ() > maxPoint.getZ()) continue; - + if (WORLD.getBlockAt(point.getX() + 1, point.getY(), point.getZ()).getType() == type) { points.add(new Point(point.getX() + 1, point.getY(), point.getZ())); } diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loader/Loader.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loader/Loader.java index 4f990052..dd6e3f6d 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loader/Loader.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loader/Loader.java @@ -71,7 +71,7 @@ public class Loader implements Listener, SWPlayer.Component { BauSystem.runTaskTimer(BauSystem.getInstance(), () -> { if (stage != Stage.RUNNING && stage != Stage.SINGLE) return; - if(!Permission.BUILD.hasPermission(p)) return; + if (!Permission.BUILD.hasPermission(p)) return; if (waitTime > 0) { waitTime--; return; @@ -213,7 +213,8 @@ public class Loader implements Listener, SWPlayer.Component { }; updateRunnable.run(); - SWListInv swListInv = new SWListInv<>(p, BauSystem.MESSAGE.parse("LOADER_GUI_TITLE", p), false, list, (clickType, loaderElement) -> {}); + SWListInv swListInv = new SWListInv<>(p, BauSystem.MESSAGE.parse("LOADER_GUI_TITLE", p), false, list, (clickType, loaderElement) -> { + }); swListInv.setCallback((clickType, entry) -> entry.click(p, () -> { updateRunnable.run(); swListInv.open(); @@ -363,7 +364,9 @@ public class Loader implements Listener, SWPlayer.Component { public static int LENGTH = SettingsSorting.values().length; public abstract Material getMaterial(); + public abstract String getName(); + public abstract boolean shouldShow(LoaderElement previous, LoaderElement current, LoaderElement next); } diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loader/LoaderScoreboardElement.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loader/LoaderScoreboardElement.java index a51417d4..419cb8ed 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loader/LoaderScoreboardElement.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loader/LoaderScoreboardElement.java @@ -41,7 +41,7 @@ public class LoaderScoreboardElement implements ScoreboardElement { @Override public String get(Region region, Player p) { - if(!Permission.BUILD.hasPermission(p)) return null; + if (!Permission.BUILD.hasPermission(p)) return null; Loader loader = Loader.getLoader(p); if (loader == null) return null; if (loader.getStage() == Loader.Stage.RUNNING) { diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loader/elements/LoaderElement.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loader/elements/LoaderElement.java index 61ece4d3..b1e4c791 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loader/elements/LoaderElement.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loader/elements/LoaderElement.java @@ -26,6 +26,8 @@ import java.util.function.Consumer; public interface LoaderElement { SWItem menu(Player player); + void execute(Consumer delay); + void click(Player player, Runnable backAction); } diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loader/elements/LoaderInteractionElement.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loader/elements/LoaderInteractionElement.java index 5a6c547a..5094f12e 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loader/elements/LoaderInteractionElement.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loader/elements/LoaderInteractionElement.java @@ -95,7 +95,8 @@ public abstract class LoaderInteractionElement & LoaderSetting }; updateRunnable.run(); - SWListInv listInv = new SWListInv<>(player, "Interaction Settings", false, entries, (clickType, entry) -> {}); + SWListInv listInv = new SWListInv<>(player, "Interaction Settings", false, entries, (clickType, entry) -> { + }); listInv.setCallback((clickType, entry) -> { openIndividualSettingsMenu(player, entry, () -> { updateRunnable.run(); @@ -150,7 +151,9 @@ public abstract class LoaderInteractionElement & LoaderSetting } SWInventory swInventory = new SWInventory(player, guiSize, BauSystem.MESSAGE.parse("LOADER_GUI_SETTINGS_TITLE", player)); - for (int i = guiSize - 9; i < guiSize; i++) swInventory.setItem(i, new SWItem(Material.GRAY_STAINED_GLASS_PANE, "§7", clickType -> {})); + for (int i = guiSize - 9; i < guiSize; i++) + swInventory.setItem(i, new SWItem(Material.GRAY_STAINED_GLASS_PANE, "§7", clickType -> { + })); swInventory.setItem(guiSize - 9, new SWItem(Material.ARROW, BauSystem.MESSAGE.parse("LOADER_GUI_SETTINGS_BACK", player)).setCustomModelData(CMDs.BACK).getItemStack(), clickType -> back.run()); swInventory.setItem(guiSize - 5, new SWItem(Material.WOODEN_AXE, BauSystem.MESSAGE.parse("LOADER_GUI_SETTINGS_COPY", player)).getItemStack(), clickType -> { SWAnvilInv swAnvilInv = new SWAnvilInv(player, BauSystem.MESSAGE.parse("LOADER_GUI_COPY_TITLE", player), "1"); @@ -197,7 +200,8 @@ public abstract class LoaderInteractionElement & LoaderSetting for (int power = 0; power < 16; power++) { int finalPowerPosition = power; if (power >= 9) finalPowerPosition++; - SWItem powerItem = new SWItem(Material.REDSTONE, BauSystem.MESSAGE.parse("LOADER_SETTING_POWER", player, power), Arrays.asList(), false, clickType -> {}); + SWItem powerItem = new SWItem(Material.REDSTONE, BauSystem.MESSAGE.parse("LOADER_SETTING_POWER", player, power), Arrays.asList(), false, clickType -> { + }); powerItem.getItemStack().setAmount(Math.max(power, 1)); if (extraPower.get(index) == power) powerItem.setEnchanted(true); @@ -210,7 +214,8 @@ public abstract class LoaderInteractionElement & LoaderSetting } if (currentElement.hasTicks(this)) { - swInventory.setItem(ticksStart + 3, new SWItem(Material.RED_DYE, BauSystem.MESSAGE.parse("LOADER_SETTING_TICKS_REMOVE_ONE", player), Arrays.asList(BauSystem.MESSAGE.parse("LOADER_SETTING_TICKS_REMOVE_ONE_SHIFT", player)), false, clickType -> {}).getItemStack(), clickType -> { + swInventory.setItem(ticksStart + 3, new SWItem(Material.RED_DYE, BauSystem.MESSAGE.parse("LOADER_SETTING_TICKS_REMOVE_ONE", player), Arrays.asList(BauSystem.MESSAGE.parse("LOADER_SETTING_TICKS_REMOVE_ONE_SHIFT", player)), false, clickType -> { + }).getItemStack(), clickType -> { long ticks = extraTicks.get(index); ticks -= clickType.isShiftClick() ? 5 : 1; if (ticks < 1) ticks = 1; @@ -218,7 +223,8 @@ public abstract class LoaderInteractionElement & LoaderSetting openIndividualSettingsMenu(player, index, back, delete); }); - SWItem ticksItem = new SWItem(Material.CLOCK, BauSystem.MESSAGE.parse("LOADER_SETTING_TICKS", player, extraTicks.get(index)), Arrays.asList(BauSystem.MESSAGE.parse("LOADER_GUI_CLICK_TO_EDIT", player)), false, clickType -> {}); + SWItem ticksItem = new SWItem(Material.CLOCK, BauSystem.MESSAGE.parse("LOADER_SETTING_TICKS", player, extraTicks.get(index)), Arrays.asList(BauSystem.MESSAGE.parse("LOADER_GUI_CLICK_TO_EDIT", player)), false, clickType -> { + }); ticksItem.getItemStack().setAmount((int) Math.min(extraTicks.get(index), 64)); swInventory.setItem(ticksStart + 4, ticksItem.getItemStack(), clickType -> { SWAnvilInv swAnvilInv = new SWAnvilInv(player, BauSystem.MESSAGE.parse("LOADER_SETTING_TICKS_NAME", player), extraTicks.get(index) + ""); @@ -234,7 +240,8 @@ public abstract class LoaderInteractionElement & LoaderSetting swAnvilInv.open(); }); - swInventory.setItem(ticksStart + 5, new SWItem(Material.LIME_DYE, BauSystem.MESSAGE.parse("LOADER_SETTING_TICKS_ADD_ONE", player), Arrays.asList(BauSystem.MESSAGE.parse("LOADER_SETTING_TICKS_ADD_ONE_SHIFT", player)), false, clickType -> {}).getItemStack(), clickType -> { + swInventory.setItem(ticksStart + 5, new SWItem(Material.LIME_DYE, BauSystem.MESSAGE.parse("LOADER_SETTING_TICKS_ADD_ONE", player), Arrays.asList(BauSystem.MESSAGE.parse("LOADER_SETTING_TICKS_ADD_ONE_SHIFT", player)), false, clickType -> { + }).getItemStack(), clickType -> { long ticks = extraTicks.get(index); ticks += clickType.isShiftClick() ? 5 : 1; extraTicks.set(index, ticks); diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loader/elements/LoaderSettingsEnum.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loader/elements/LoaderSettingsEnum.java index 9fae7e20..0b4c7d1d 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loader/elements/LoaderSettingsEnum.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loader/elements/LoaderSettingsEnum.java @@ -28,10 +28,13 @@ import java.util.function.Consumer; public interface LoaderSettingsEnum, E extends Enum & LoaderSettingsEnum> { int getPos(); + SWItem menu(Player player, P parent, int power, long ticks); + default boolean hasPower(P parent) { return false; } + default boolean hasTicks(P parent) { return false; } diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loader/elements/impl/LoaderWait.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loader/elements/impl/LoaderWait.java index b36bf320..33cb5219 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loader/elements/impl/LoaderWait.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loader/elements/impl/LoaderWait.java @@ -63,7 +63,8 @@ public class LoaderWait implements LoaderElement { for (int i = 9; i < 18; i++) swInventory.setItem(i, new SWItem(Material.GRAY_STAINED_GLASS_PANE, "§7")); swInventory.setItem(9, new SWItem(Material.ARROW, BauSystem.MESSAGE.parse("LOADER_GUI_WAIT_BACK", player)).setCustomModelData(CMDs.BACK).getItemStack(), clickType -> backAction.run()); - swInventory.setItem(3, new SWItem(Material.RED_DYE, BauSystem.MESSAGE.parse("LOADER_SETTING_TICKS_REMOVE_ONE", player), Arrays.asList(BauSystem.MESSAGE.parse("LOADER_SETTING_TICKS_REMOVE_ONE_SHIFT", player)), false, clickType -> {}).getItemStack(), clickType -> { + swInventory.setItem(3, new SWItem(Material.RED_DYE, BauSystem.MESSAGE.parse("LOADER_SETTING_TICKS_REMOVE_ONE", player), Arrays.asList(BauSystem.MESSAGE.parse("LOADER_SETTING_TICKS_REMOVE_ONE_SHIFT", player)), false, clickType -> { + }).getItemStack(), clickType -> { delay -= clickType.isShiftClick() ? 5 : 1; if (delay < 0) delay = 0; swInventory.setItem(4, menu(player)); @@ -80,7 +81,8 @@ public class LoaderWait implements LoaderElement { }); swAnvilInv.open(); }); - swInventory.setItem(5, new SWItem(Material.LIME_DYE, BauSystem.MESSAGE.parse("LOADER_SETTING_TICKS_ADD_ONE", player), Arrays.asList(BauSystem.MESSAGE.parse("LOADER_SETTING_TICKS_ADD_ONE_SHIFT", player)), false, clickType -> {}).getItemStack(), clickType -> { + swInventory.setItem(5, new SWItem(Material.LIME_DYE, BauSystem.MESSAGE.parse("LOADER_SETTING_TICKS_ADD_ONE", player), Arrays.asList(BauSystem.MESSAGE.parse("LOADER_SETTING_TICKS_ADD_ONE_SHIFT", player)), false, clickType -> { + }).getItemStack(), clickType -> { delay += clickType.isShiftClick() ? 5 : 1; swInventory.setItem(4, menu(player)); }); diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loadtimer/Loadtimer.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loadtimer/Loadtimer.java index a7d642fe..0d0498dd 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loadtimer/Loadtimer.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loadtimer/Loadtimer.java @@ -146,8 +146,7 @@ public class Loadtimer implements Listener { if ((stage == Stage.COUNTING || stage == Stage.ACTIVATED)) { stage = Stage.IGNITION; ignite = TPSUtils.currentRealTick.get(); - if (activate == -1) - activate = TPSUtils.currentRealTick.get(); + if (activate == -1) activate = TPSUtils.currentRealTick.get(); if (finishOnActive) { stage = Stage.END; print(); diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loadtimer/LoadtimerCommand.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loadtimer/LoadtimerCommand.java index a73e6d45..12393456 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loadtimer/LoadtimerCommand.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loadtimer/LoadtimerCommand.java @@ -40,16 +40,18 @@ public class LoadtimerCommand extends SWCommand { public void start(@Validator Player p, TimerMode mode) { Region r = Region.getRegion(p.getLocation()); if (r.getType().isGlobal()) return; - if (!Loadtimer.hasTimer(r)) + if (!Loadtimer.hasTimer(r)) { Loadtimer.createLoadtimer(r, mode == TimerMode.HALF); + } } @Register(value = "stop", description = "LOADTIMER_HELP_STOP") public void stop(@Validator Player p) { Region r = Region.getRegion(p.getLocation()); if (r.getType().isGlobal()) return; - if (Loadtimer.hasTimer(r)) + if (Loadtimer.hasTimer(r)) { Loadtimer.getTimer(r).delete(); + } } public enum TimerMode { diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loadtimer/LoadtimerGuiItem.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loadtimer/LoadtimerGuiItem.java index cdee3114..6a97e510 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loadtimer/LoadtimerGuiItem.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/loadtimer/LoadtimerGuiItem.java @@ -46,8 +46,9 @@ public class LoadtimerGuiItem extends BauGuiItem { @Override public ItemStack getItem(Player player) { Region r = Region.getRegion(player.getLocation()); - if (r.getType().isGlobal()) + if (r.getType().isGlobal()) { return new SWItem(Material.BOWL, BauSystem.MESSAGE.parse("LOADTIMER_GUI_GLOBAL", player)).getItemStack(); + } if (Loadtimer.hasTimer(r)) { return new SWItem(Material.BOW, BauSystem.MESSAGE.parse("LOADTIMER_GUI_STOP", player)).getItemStack(); } else { diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/observer/ObserverTracerListener.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/observer/ObserverTracerListener.java index 9af75f76..987b2a23 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/observer/ObserverTracerListener.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/observer/ObserverTracerListener.java @@ -54,7 +54,7 @@ public class ObserverTracerListener implements Listener { @EventHandler public void onPlayerInteract(PlayerInteractEvent event) { - if(!Permission.BUILD.hasPermission(event.getPlayer())) return; + if (!Permission.BUILD.hasPermission(event.getPlayer())) return; if (!enabled.contains(event.getPlayer())) return; if (event.getClickedBlock() == null) return; ObserverTracer observerTracer = SWPlayer.of(event.getPlayer()).getComponent(ObserverTracer.class).orElse(null); diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/rayvisualizer/RayVisualizerCommand.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/rayvisualizer/RayVisualizerCommand.java index 9fe231db..2732c140 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/rayvisualizer/RayVisualizerCommand.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/rayvisualizer/RayVisualizerCommand.java @@ -61,9 +61,9 @@ public class RayVisualizerCommand extends SWCommand implements Listener { } private boolean locEquals(Location loc1, Location loc2) { - if ((long)(loc1.getX() * 1000) != (long)(loc2.getX() * 1000)) return false; - if ((long)(loc1.getY() * 1000) != (long)(loc2.getY() * 1000)) return false; - if ((long)(loc1.getZ() * 1000) != (long)(loc2.getZ() * 1000)) return false; + if ((long) (loc1.getX() * 1000) != (long) (loc2.getX() * 1000)) return false; + if ((long) (loc1.getY() * 1000) != (long) (loc2.getY() * 1000)) return false; + if ((long) (loc1.getZ() * 1000) != (long) (loc2.getZ() * 1000)) return false; return true; } diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/FireListener.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/FireListener.java index 54a0bf13..7c29cd96 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/FireListener.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/FireListener.java @@ -36,12 +36,16 @@ public class FireListener implements Listener, ScoreboardElement { @EventHandler public void onFireDamage(BlockBurnEvent e) { - if (Region.getRegion(e.getBlock().getLocation()).getRegionData().get(Flag.FIRE).isWithDefault(FireMode.DENY)) e.setCancelled(true); + if (Region.getRegion(e.getBlock().getLocation()).getRegionData().get(Flag.FIRE).isWithDefault(FireMode.DENY)) { + e.setCancelled(true); + } } @EventHandler public void onFireSpread(BlockSpreadEvent e) { - if (Region.getRegion(e.getBlock().getLocation()).getRegionData().get(Flag.FIRE).isWithDefault(FireMode.DENY)) e.setCancelled(true); + if (Region.getRegion(e.getBlock().getLocation()).getRegionData().get(Flag.FIRE).isWithDefault(FireMode.DENY)) { + e.setCancelled(true); + } } @Override diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/FreezeCommand.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/FreezeCommand.java index 2e89c378..bf9982f7 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/FreezeCommand.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/FreezeCommand.java @@ -44,11 +44,11 @@ public class FreezeCommand extends SWCommand { } } - private String getEnableMessage(){ + private String getEnableMessage() { return "REGION_FREEZE_ENABLED"; } - private String getDisableMessage(){ + private String getDisableMessage() { return "REGION_FREEZE_DISABLED"; } diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/FreezeListener.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/FreezeListener.java index deba61e7..976b48b4 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/FreezeListener.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/FreezeListener.java @@ -47,7 +47,9 @@ public class FreezeListener implements Listener, ScoreboardElement { @EventHandler public void onBlockExplode(BlockExplodeEvent e) { - if (Region.getRegion(e.getBlock().getLocation()).getRegionData().get(Flag.FREEZE).isWithDefault(FreezeMode.INACTIVE)) return; + if (Region.getRegion(e.getBlock().getLocation()).getRegionData().get(Flag.FREEZE).isWithDefault(FreezeMode.INACTIVE)) { + return; + } e.setCancelled(true); BlockState state = e.getBlock().getState(); Bukkit.getScheduler().runTaskLater(BauSystem.getInstance(), () -> { @@ -57,7 +59,9 @@ public class FreezeListener implements Listener, ScoreboardElement { @EventHandler public void onEntitySpawn(EntitySpawnEvent e) { - if (Region.getRegion(e.getLocation()).getRegionData().get(Flag.FREEZE).isWithDefault(FreezeMode.INACTIVE)) return; + if (Region.getRegion(e.getLocation()).getRegionData().get(Flag.FREEZE).isWithDefault(FreezeMode.INACTIVE)) { + return; + } e.setCancelled(true); if (e.getEntityType() == EntityType.TNT) { Bukkit.getScheduler().runTaskLater(BauSystem.getInstance(), () -> { @@ -69,7 +73,9 @@ public class FreezeListener implements Listener, ScoreboardElement { @EventHandler public void onBlockCanBuild(BlockCanBuildEvent e) { if (!e.isBuildable()) return; - if (Region.getRegion(e.getBlock().getLocation()).getRegionData().get(Flag.FREEZE).isWithDefault(FreezeMode.INACTIVE)) return; + if (Region.getRegion(e.getBlock().getLocation()).getRegionData().get(Flag.FREEZE).isWithDefault(FreezeMode.INACTIVE)) { + return; + } if (e.getMaterial() == Material.TNT) { e.setBuildable(false); e.getBlock().setType(Material.TNT, false); diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/ItemsCommand.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/ItemsCommand.java index 9db80d57..fc6c4ff8 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/ItemsCommand.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/ItemsCommand.java @@ -44,11 +44,11 @@ public class ItemsCommand extends SWCommand { } } - private String getEnableMessage(){ + private String getEnableMessage() { return "REGION_ITEMS_ENABLED"; } - private String getDisableMessage(){ + private String getDisableMessage() { return "REGION_ITEMS_DISABLED"; } diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/RegionCommand.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/RegionCommand.java index f680b7d5..640d4eb3 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/RegionCommand.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/RegionCommand.java @@ -97,7 +97,7 @@ public class RegionCommand extends SWCommand { @Register(value = "restore", description = "REGION_REGION_HELP_RESTORE") public void genericRestoreCommand(@Validator Player p) { Region region = Region.getRegion(p.getLocation()); - if(checkGlobalRegion(region, p)) return; + if (checkGlobalRegion(region, p)) return; try { PasteBuilder pasteBuilder = new PasteBuilder(new PasteBuilder.FileProvider(region.getArea().getResetFile())) @@ -116,7 +116,7 @@ public class RegionCommand extends SWCommand { Region region = Region.getRegion(p.getLocation()); if (checkGlobalRegion(region, p)) return; - if(node.isDir()) { + if (node.isDir()) { BauSystem.MESSAGE.send("ONLY_SCHEMS", p); return; } diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/RegionListener.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/RegionListener.java index f02452d2..2cde1434 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/RegionListener.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/RegionListener.java @@ -59,7 +59,9 @@ public class RegionListener implements Listener { @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onBlockPhysics(final BlockPhysicsEvent event) { - if (event.getBlock().getType() != event.getChangedType()) RegionListener.tagChangedRegion(event.getBlock().getLocation()); + if (event.getBlock().getType() != event.getChangedType()) { + RegionListener.tagChangedRegion(event.getBlock().getLocation()); + } } @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/TestblockCommand.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/TestblockCommand.java index ff17b4ce..1644aaea 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/TestblockCommand.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/TestblockCommand.java @@ -72,7 +72,7 @@ public class TestblockCommand extends SWCommand { resetRegion(p, node, isExtension ? RegionExtensionType.EXTENSION : RegionExtensionType.NORMAL, isIgnoreAir, isOnlyColor, replaceTNT, replaceWater); } - @Register(value="default") + @Register(value = "default") public void setTestblockDefault(Player p) { Region region = regionCheck(p); if (region == null) return; diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/WaterDestroyCommand.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/WaterDestroyCommand.java index ec2e82b9..776eca20 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/WaterDestroyCommand.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/WaterDestroyCommand.java @@ -33,11 +33,11 @@ public class WaterDestroyCommand extends SWCommand { super("waterdestroy"); } - private String getEnableMessage(){ + private String getEnableMessage() { return "REGION_WATER_ENABLED"; } - private String getDisableMessage(){ + private String getDisableMessage() { return "REGION_WATER_DISABLED"; } diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/WaterDestroyListener.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/WaterDestroyListener.java index 4e4ba725..0b0083f9 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/WaterDestroyListener.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/region/WaterDestroyListener.java @@ -36,7 +36,9 @@ public class WaterDestroyListener implements Listener, ScoreboardElement { @EventHandler public void onBlockFromTo(BlockFromToEvent event) { - if (event.getBlock().getType() == Material.WATER && event.getToBlock().getType() != Material.AIR && Region.getRegion(event.getBlock().getLocation()).getRegionData().get(Flag.WATER_DESTROY).isWithDefault(WaterDestroyMode.DENY)) event.setCancelled(true); + if (event.getBlock().getType() == Material.WATER && event.getToBlock().getType() != Material.AIR && Region.getRegion(event.getBlock().getLocation()).getRegionData().get(Flag.WATER_DESTROY).isWithDefault(WaterDestroyMode.DENY)) { + event.setCancelled(true); + } } @Override diff --git a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/script/ScriptGUI.java b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/script/ScriptGUI.java index 5558412e..69309cd7 100644 --- a/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/script/ScriptGUI.java +++ b/BauSystem/BauSystem_Main/src/de/steamwar/bausystem/features/script/ScriptGUI.java @@ -67,7 +67,7 @@ public class ScriptGUI implements Listener { lore.add(BauSystem.MESSAGE.parse("SCRIPT_ERROR_GUI", player, String.join(":", Arrays.copyOfRange(sp, 1, sp.length)))); } - if(!lore.isEmpty()) { + if (!lore.isEmpty()) { lore.add(""); } lore.add(BauSystem.MESSAGE.parse("SCRIPT_MENU_GUI_ITEM_LORE_1", player)); @@ -75,16 +75,17 @@ public class ScriptGUI implements Listener { lore.add(BauSystem.MESSAGE.parse("SCRIPT_MENU_GUI_ITEM_LORE_3", player)); lore.add(BauSystem.MESSAGE.parse("SCRIPT_MENU_GUI_ITEM_LORE_4", player)); - entries.add(new SWListInv.SWListEntry<>(new SWItem(Material.ENCHANTED_BOOK, script.getName(), new ArrayList<>(lore), false, clickType -> {}), script)); + entries.add(new SWListInv.SWListEntry<>(new SWItem(Material.ENCHANTED_BOOK, script.getName(), new ArrayList<>(lore), false, clickType -> { + }), script)); lore.clear(); }); SWListInv