0
0
mirror of https://github.com/Wurst-Imperium/Wurst7.git synced 2024-09-20 01:12:13 +02:00

Merge branch 'master' into 1.19.1-rc1

This commit is contained in:
Alexander01998 2022-07-19 13:00:25 +02:00
commit a23b26c4fc
62 changed files with 1682 additions and 453 deletions

16
.github/workflows/jsonsyntax.yml vendored Normal file
View File

@ -0,0 +1,16 @@
name: JSON syntax
on:
pull_request:
paths:
- '**.json'
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: json-syntax-check
uses: limitusus/json-syntax-check@v1.0.3
with:
pattern: "\\.json$"

View File

@ -36,6 +36,10 @@ dependencies {
modImplementation 'com.google.code.findbugs:jsr305:3.0.2'
}
loom {
accessWidenerPath = file("src/main/resources/wurst.accesswidener")
}
processResources {
inputs.property "version", project.version

View File

@ -12,7 +12,7 @@ loader_version=0.14.8
fabric_version=0.56.3+1.19
# Mod Properties
mod_version = v7.26-MC1.19.1-rc1
mod_version = v7.27-MC1.19.1-rc1
maven_group = net.wurstclient
archives_base_name = Wurst-Client

View File

@ -18,6 +18,7 @@ import java.util.stream.Stream;
import org.lwjgl.glfw.GLFW;
import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper;
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.option.KeyBinding;
import net.minecraft.client.resource.language.I18n;
@ -42,6 +43,7 @@ import net.wurstclient.keybinds.KeybindList;
import net.wurstclient.keybinds.KeybindProcessor;
import net.wurstclient.mixinterface.IMinecraftClient;
import net.wurstclient.navigator.Navigator;
import net.wurstclient.nochatreports.NoChatReportsChannelHandler;
import net.wurstclient.other_feature.OtfList;
import net.wurstclient.other_feature.OtherFeature;
import net.wurstclient.settings.SettingsFile;
@ -55,7 +57,7 @@ public enum WurstClient
public static final MinecraftClient MC = MinecraftClient.getInstance();
public static final IMinecraftClient IMC = (IMinecraftClient)MC;
public static final String VERSION = "7.26";
public static final String VERSION = "7.27";
public static final String MC_VERSION = "1.19.1-rc1";
private WurstAnalytics analytics;
@ -303,6 +305,9 @@ public enum WurstClient
{
hax.panicHack.setEnabled(true);
hax.panicHack.onUpdate();
ClientPlayNetworking
.unregisterGlobalReceiver(NoChatReportsChannelHandler.CHANNEL);
}
}

View File

@ -7,6 +7,8 @@
*/
package net.wurstclient.commands;
import org.apache.commons.lang3.StringUtils;
import net.minecraft.client.network.ClientPlayerEntity;
import net.wurstclient.command.CmdError;
import net.wurstclient.command.CmdException;
@ -96,7 +98,8 @@ public final class AnnoyCmd extends Command implements ChatInputListener
private void repeat(String message, String prefix)
{
int beginIndex = message.indexOf(prefix) + prefix.length();
String repeated = message.substring(beginIndex);
String repeated = message.substring(beginIndex).trim();
repeated = StringUtils.normalizeSpace(repeated);
MC.player.sendChatMessage(repeated);
}
}

View File

@ -48,7 +48,7 @@ public final class GmCmd extends Command
break;
}
String message = "/gamemode " + args2;
MC.player.sendChatMessage(message);
String message = "gamemode " + args2;
MC.player.sendCommand(message);
}
}

View File

@ -29,6 +29,9 @@ public final class SayCmd extends Command
throw new CmdSyntaxError();
String message = String.join(" ", args);
IMC.getPlayer().sendChatMessageBypass(message);
if(message.startsWith("/"))
MC.player.sendCommand(message.substring(1));
else
MC.player.sendChatMessage(message);
}
}

View File

@ -8,6 +8,10 @@
package net.wurstclient.commands;
import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.util.math.Box;
import net.minecraft.util.math.Direction;
import net.minecraft.util.shape.VoxelShape;
import net.wurstclient.command.CmdError;
import net.wurstclient.command.CmdException;
import net.wurstclient.command.CmdSyntaxError;
import net.wurstclient.command.Command;
@ -17,8 +21,10 @@ public final class VClipCmd extends Command
{
public VClipCmd()
{
super("vclip", "Lets you clip through blocks vertically.\n"
+ "The maximum distance is 10 blocks.", ".vclip <height>");
super("vclip",
"Lets you clip through blocks vertically.\n"
+ "The maximum distance is 10 blocks.",
".vclip <height>", ".vclip (up|down)");
}
@Override
@ -27,11 +33,80 @@ public final class VClipCmd extends Command
if(args.length != 1)
throw new CmdSyntaxError();
if(!MathUtils.isInteger(args[0]))
throw new CmdSyntaxError();
if(MathUtils.isDouble(args[0]))
{
vclip(Double.parseDouble(args[0]));
return;
}
ClientPlayerEntity player = MC.player;
player.setPosition(player.getX(),
player.getY() + Integer.parseInt(args[0]), player.getZ());
switch(args[0].toLowerCase())
{
case "up":
vclip(calculateHeight(Direction.UP));
break;
case "down":
vclip(calculateHeight(Direction.DOWN));
break;
default:
throw new CmdSyntaxError();
}
}
private double calculateHeight(Direction direction) throws CmdError
{
Box box = MC.player.getBoundingBox();
Box maxOffsetBox = box.offset(0, direction.getOffsetY() * 10, 0);
if(!hasCollisions(box.union(maxOffsetBox)))
throw new CmdError("There is nothing to clip through!");
for(int i = 1; i <= 10; i++)
{
double height = direction.getOffsetY() * i;
Box offsetBox = box.offset(0, height, 0);
if(hasCollisions(offsetBox))
{
double subBlockOffset = getSubBlockOffset(offsetBox);
if(subBlockOffset >= 1 || height + subBlockOffset > 10)
continue;
Box newOffsetBox = offsetBox.offset(0, subBlockOffset, 0);
if(hasCollisions(newOffsetBox))
continue;
height += subBlockOffset;
offsetBox = newOffsetBox;
}
if(!hasCollisions(box.union(offsetBox)))
continue;
return height;
}
throw new CmdError("There are no free blocks where you can fit!");
}
private boolean hasCollisions(Box box)
{
Iterable<VoxelShape> collisions =
MC.world.getBlockCollisions(MC.player, box);
return collisions.iterator().hasNext();
}
private double getSubBlockOffset(Box offsetBox)
{
return IMC.getWorld().getCollidingBoxes(MC.player, offsetBox)
.mapToDouble(box -> box.maxY).max().getAsDouble() - offsetBox.minY;
}
private void vclip(double height)
{
ClientPlayerEntity p = MC.player;
p.setPosition(p.getX(), p.getY() + height, p.getZ());
}
}

View File

@ -121,7 +121,6 @@ public final class HackList implements UpdateListener
public final NavigatorHack navigatorHack = new NavigatorHack();
public final NoBackgroundHack noBackgroundHack = new NoBackgroundHack();
public final NoClipHack noClipHack = new NoClipHack();
public final NocomCrashHack nocomCrashHack = new NocomCrashHack();
public final NoFallHack noFallHack = new NoFallHack();
public final NoFireOverlayHack noFireOverlayHack = new NoFireOverlayHack();
public final NoHurtcamHack noHurtcamHack = new NoHurtcamHack();

View File

@ -11,7 +11,10 @@ import net.wurstclient.Category;
import net.wurstclient.SearchTags;
import net.wurstclient.hack.Hack;
@SearchTags({"AntiBlindness", "NoBlindness", "anti blindness", "no blindness"})
@SearchTags({"AntiBlindness", "NoBlindness", "anti blindness", "no blindness",
"AntiDarkness", "NoDarkness", "anti darkness", "no darkness",
"AntiWardenEffect", "anti warden effect", "NoWardenEffect",
"no warden effect"})
public final class AntiBlindHack extends Hack
{
public AntiBlindHack()
@ -20,5 +23,5 @@ public final class AntiBlindHack extends Hack
setCategory(Category.RENDER);
}
// See BackgroundRendererMixin
// See BackgroundRendererMixin, LightTextureManagerMixin, WorldRendererMixin
}

View File

@ -92,7 +92,7 @@ public final class AutoLeaveHack extends Hack implements UpdateListener
break;
case CHARS:
IMC.getPlayer().sendChatMessageBypass("\u00a7");
MC.player.sendChatMessage("\u00a7");
break;
case TELEPORT:

View File

@ -48,6 +48,7 @@ import net.wurstclient.hack.DontSaveState;
import net.wurstclient.hack.Hack;
import net.wurstclient.settings.AttackSpeedSliderSetting;
import net.wurstclient.settings.CheckboxSetting;
import net.wurstclient.settings.PauseAttackOnContainersSetting;
import net.wurstclient.settings.SliderSetting;
import net.wurstclient.settings.SliderSetting.ValueDisplay;
import net.wurstclient.util.FakePlayerEntity;
@ -71,6 +72,9 @@ public final class FightBotHack extends Hack
private final CheckboxSetting useAi =
new CheckboxSetting("Use AI (experimental)", false);
private final PauseAttackOnContainersSetting pauseOnContainers =
new PauseAttackOnContainersSetting(true);
private final CheckboxSetting filterPlayers = new CheckboxSetting(
"Filter players", "Won't attack other players.", false);
@ -134,6 +138,7 @@ public final class FightBotHack extends Hack
addSetting(speed);
addSetting(distance);
addSetting(useAi);
addSetting(pauseOnContainers);
addSetting(filterPlayers);
addSetting(filterSleeping);
@ -191,6 +196,9 @@ public final class FightBotHack extends Hack
{
speed.updateTimer();
if(pauseOnContainers.shouldPause())
return;
// set entity
Stream<Entity> stream = StreamSupport
.stream(MC.world.getEntities().spliterator(), true)

View File

@ -172,7 +172,7 @@ public final class ForceOpHack extends Hack implements ChatInputListener
return;
}
MC.player.sendChatMessage("/login " + MC.getSession().getUsername());
MC.player.sendCommand("login " + MC.getSession().getUsername());
lastPW = 0;
sendIndexToDialog();
@ -202,7 +202,7 @@ public final class ForceOpHack extends Hack implements ChatInputListener
while(!sent)
try
{
MC.player.sendChatMessage("/login " + passwords[i]);
MC.player.sendCommand("login " + passwords[i]);
sent = true;
}catch(Exception e)

View File

@ -67,8 +67,8 @@ public final class JesusHack extends Hack
ClientPlayerEntity player = MC.player;
// move up in water
if(player.isTouchingWater())
// move up in liquid
if(player.isTouchingWater() || player.isInLava())
{
Vec3d velocity = player.getVelocity();
player.setVelocity(velocity.x, 0.11, velocity.z);
@ -180,6 +180,7 @@ public final class JesusHack extends Hack
public boolean shouldBeSolid()
{
return isEnabled() && MC.player != null && MC.player.fallDistance <= 3
&& !MC.options.sneakKey.isPressed() && !MC.player.isTouchingWater();
&& !MC.options.sneakKey.isPressed() && !MC.player.isTouchingWater()
&& !MC.player.isInLava();
}
}

View File

@ -48,6 +48,7 @@ import net.wurstclient.hack.Hack;
import net.wurstclient.settings.AttackSpeedSliderSetting;
import net.wurstclient.settings.CheckboxSetting;
import net.wurstclient.settings.EnumSetting;
import net.wurstclient.settings.PauseAttackOnContainersSetting;
import net.wurstclient.settings.SliderSetting;
import net.wurstclient.settings.SliderSetting.ValueDisplay;
import net.wurstclient.util.FakePlayerEntity;
@ -84,6 +85,9 @@ public final class KillauraHack extends Hack
"Renders a colored box within the target, inversely proportional to its remaining health.",
true);
private final PauseAttackOnContainersSetting pauseOnContainers =
new PauseAttackOnContainersSetting(true);
private final CheckboxSetting filterPlayers = new CheckboxSetting(
"Filter players", "Won't attack other players.", false);
@ -154,6 +158,8 @@ public final class KillauraHack extends Hack
addSetting(priority);
addSetting(fov);
addSetting(damageIndicator);
addSetting(pauseOnContainers);
addSetting(filterPlayers);
addSetting(filterSleeping);
addSetting(filterFlying);
@ -208,6 +214,9 @@ public final class KillauraHack extends Hack
if(!speed.isTimeToAttack())
return;
if(pauseOnContainers.shouldPause())
return;
ClientPlayerEntity player = MC.player;
ClientWorld world = MC.world;

View File

@ -16,6 +16,7 @@ import org.lwjgl.opengl.GL11;
import com.mojang.blaze3d.systems.RenderSystem;
import net.minecraft.client.gui.screen.ingame.HandledScreen;
import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.client.render.GameRenderer;
import net.minecraft.client.util.math.MatrixStack;
@ -187,6 +188,10 @@ public final class KillauraLegitHack extends Hack
if(!speed.isTimeToAttack())
return;
// don't attack when a container/inventory screen is open
if(MC.currentScreen instanceof HandledScreen)
return;
ClientPlayerEntity player = MC.player;
ClientWorld world = MC.world;

View File

@ -92,7 +92,7 @@ public final class MassTpaHack extends Hack
return;
}
MC.player.sendChatMessage("/tpa " + players.get(index));
MC.player.sendCommand("tpa " + players.get(index));
index++;
timer = 20;
}

View File

@ -40,6 +40,7 @@ import net.wurstclient.events.UpdateListener;
import net.wurstclient.hack.Hack;
import net.wurstclient.settings.AttackSpeedSliderSetting;
import net.wurstclient.settings.CheckboxSetting;
import net.wurstclient.settings.PauseAttackOnContainersSetting;
import net.wurstclient.settings.SliderSetting;
import net.wurstclient.settings.SliderSetting.ValueDisplay;
import net.wurstclient.util.FakePlayerEntity;
@ -57,6 +58,9 @@ public final class MultiAuraHack extends Hack implements UpdateListener
private final SliderSetting fov =
new SliderSetting("FOV", 360, 30, 360, 10, ValueDisplay.DEGREES);
private final PauseAttackOnContainersSetting pauseOnContainers =
new PauseAttackOnContainersSetting(false);
private final CheckboxSetting filterPlayers = new CheckboxSetting(
"Filter players", "Won't attack other players.", false);
private final CheckboxSetting filterSleeping = new CheckboxSetting(
@ -109,6 +113,7 @@ public final class MultiAuraHack extends Hack implements UpdateListener
addSetting(range);
addSetting(speed);
addSetting(fov);
addSetting(pauseOnContainers);
addSetting(filterPlayers);
addSetting(filterSleeping);
@ -157,6 +162,9 @@ public final class MultiAuraHack extends Hack implements UpdateListener
if(!speed.isTimeToAttack())
return;
if(pauseOnContainers.shouldPause())
return;
ClientPlayerEntity player = MC.player;
ClientWorld world = MC.world;

View File

@ -1,106 +0,0 @@
/*
* Copyright (c) 2014-2022 Wurst-Imperium and contributors.
*
* This source code is subject to the terms of the GNU General Public
* License, version 3. If a copy of the GPL was not distributed with this
* file, You can obtain one at: https://www.gnu.org/licenses/gpl-3.0.txt
*/
package net.wurstclient.hacks;
import java.text.NumberFormat;
import java.util.Locale;
import java.util.Random;
import net.minecraft.util.Hand;
import net.minecraft.util.hit.BlockHitResult;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Direction;
import net.minecraft.util.math.Vec3d;
import net.wurstclient.Category;
import net.wurstclient.SearchTags;
import net.wurstclient.hack.Hack;
import net.wurstclient.settings.SliderSetting;
import net.wurstclient.settings.SliderSetting.ValueDisplay;
import net.wurstclient.util.ChatUtils;
@SearchTags({"nocom crash", "ServerCrasher", "server crasher", "ServerLagger",
"server lagger"})
public final class NocomCrashHack extends Hack
{
private final Random random = new Random();
private final SliderSetting packets =
new SliderSetting("Packets", "The number of packets to send.", 500, 1,
1000, 1, ValueDisplay.INTEGER);
public NocomCrashHack()
{
super("NocomCrash");
setCategory(Category.OTHER);
addSetting(packets);
}
@Override
public void onEnable()
{
String seconds = NumberFormat.getNumberInstance(Locale.ENGLISH)
.format(packets.getValueI() / 100.0);
ChatUtils.message(
"Sending packets. Will take approximately " + seconds + "s.");
Thread thread = new Thread(() -> {
try
{
sendPackets(packets.getValueI());
ChatUtils.message("Done sending, server should start to lag");
}catch(Exception e)
{
e.printStackTrace();
ChatUtils.error("Failed to crash, caught "
+ e.getClass().getSimpleName() + ".");
}
setEnabled(false);
}, "NocomCrash");
thread.start();
}
public void sendPackets(int nPackets) throws InterruptedException
{
for(int i = 0; i < nPackets; i++)
{
// display current packet
if(i % 100 == 0 || i == nPackets)
ChatUtils.message(String.format("%d/%d", i, nPackets));
if(MC.getNetworkHandler() == null)
break;
Thread.sleep(10);
sendNocomPacket();
}
}
public void sendNocomPacket()
{
Vec3d pos = pickRandomPos();
BlockHitResult blockHitResult =
new BlockHitResult(pos, Direction.DOWN, new BlockPos(pos), false);
IMC.getInteractionManager()
.sendPlayerInteractBlockPacket(Hand.MAIN_HAND, blockHitResult);
}
private Vec3d pickRandomPos()
{
int x = random.nextInt(16777215);
int y = 255;
int z = random.nextInt(16777215);
return new Vec3d(x, y, z);
}
}

View File

@ -44,6 +44,7 @@ import net.wurstclient.hack.DontSaveState;
import net.wurstclient.hack.Hack;
import net.wurstclient.settings.AttackSpeedSliderSetting;
import net.wurstclient.settings.CheckboxSetting;
import net.wurstclient.settings.PauseAttackOnContainersSetting;
import net.wurstclient.settings.SliderSetting;
import net.wurstclient.settings.SliderSetting.ValueDisplay;
import net.wurstclient.util.FakePlayerEntity;
@ -58,6 +59,9 @@ public final class ProtectHack extends Hack
private final CheckboxSetting useAi =
new CheckboxSetting("Use AI (experimental)", false);
private final PauseAttackOnContainersSetting pauseOnContainers =
new PauseAttackOnContainersSetting(true);
private final CheckboxSetting filterPlayers = new CheckboxSetting(
"Filter players", "Won't attack other players.", false);
@ -125,6 +129,7 @@ public final class ProtectHack extends Hack
setCategory(Category.COMBAT);
addSetting(speed);
addSetting(useAi);
addSetting(pauseOnContainers);
addSetting(filterPlayers);
addSetting(filterSleeping);
@ -215,6 +220,9 @@ public final class ProtectHack extends Hack
{
speed.updateTimer();
if(pauseOnContainers.shouldPause())
return;
// check if player died, friend died or disappeared
if(friend == null || friend.isRemoved()
|| !(friend instanceof LivingEntity)

View File

@ -41,6 +41,7 @@ import net.wurstclient.hack.Hack;
import net.wurstclient.settings.AttackSpeedSliderSetting;
import net.wurstclient.settings.CheckboxSetting;
import net.wurstclient.settings.EnumSetting;
import net.wurstclient.settings.PauseAttackOnContainersSetting;
import net.wurstclient.settings.SliderSetting;
import net.wurstclient.settings.SliderSetting.ValueDisplay;
import net.wurstclient.util.FakePlayerEntity;
@ -65,6 +66,9 @@ public final class TpAuraHack extends Hack implements UpdateListener
+ "\u00a7lHealth\u00a7r - Attacks the weakest entity.",
Priority.values(), Priority.ANGLE);
private final PauseAttackOnContainersSetting pauseOnContainers =
new PauseAttackOnContainersSetting(true);
private final CheckboxSetting filterPlayers = new CheckboxSetting(
"Filter players", "Won't attack other players.", false);
private final CheckboxSetting filterSleeping = new CheckboxSetting(
@ -117,6 +121,7 @@ public final class TpAuraHack extends Hack implements UpdateListener
addSetting(range);
addSetting(speed);
addSetting(priority);
addSetting(pauseOnContainers);
addSetting(filterPlayers);
addSetting(filterSleeping);
@ -165,6 +170,9 @@ public final class TpAuraHack extends Hack implements UpdateListener
if(!speed.isTimeToAttack())
return;
if(pauseOnContainers.shouldPause())
return;
ClientPlayerEntity player = MC.player;
// set entity

View File

@ -9,6 +9,7 @@ package net.wurstclient.hacks;
import java.util.stream.Stream;
import net.minecraft.client.gui.screen.ingame.HandledScreen;
import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.client.world.ClientWorld;
import net.minecraft.entity.Entity;
@ -148,6 +149,10 @@ public final class TriggerBotHack extends Hack implements UpdateListener
if(!speed.isTimeToAttack())
return;
// don't attack when a container/inventory screen is open
if(MC.currentScreen instanceof HandledScreen)
return;
ClientPlayerEntity player = MC.player;
if(MC.crosshairTarget == null

View File

@ -8,6 +8,7 @@
package net.wurstclient.mixin;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@ -19,6 +20,7 @@ import net.minecraft.block.AbstractBlock.AbstractBlockState;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.block.ShapeContext;
import net.minecraft.fluid.FluidState;
import net.minecraft.state.State;
import net.minecraft.state.property.Property;
import net.minecraft.util.math.BlockPos;
@ -33,7 +35,7 @@ import net.wurstclient.hack.HackList;
import net.wurstclient.hacks.HandNoClipHack;
@Mixin(AbstractBlockState.class)
public class AbstractBlockStateMixin extends State<Block, BlockState>
public abstract class AbstractBlockStateMixin extends State<Block, BlockState>
{
private AbstractBlockStateMixin(WurstClient wurst, Block object,
ImmutableMap<Property<?>, Comparable<?>> immutableMap,
@ -42,7 +44,7 @@ public class AbstractBlockStateMixin extends State<Block, BlockState>
super(object, immutableMap, mapCodec);
}
@Inject(at = {@At("TAIL")},
@Inject(at = @At("TAIL"),
method = {
"isFullCube(Lnet/minecraft/world/BlockView;Lnet/minecraft/util/math/BlockPos;)Z"},
cancellable = true)
@ -55,7 +57,7 @@ public class AbstractBlockStateMixin extends State<Block, BlockState>
cir.setReturnValue(cir.getReturnValue() && !event.isCancelled());
}
@Inject(at = {@At("TAIL")},
@Inject(at = @At("TAIL"),
method = {
"getAmbientOcclusionLightLevel(Lnet/minecraft/world/BlockView;Lnet/minecraft/util/math/BlockPos;)F"},
cancellable = true)
@ -70,7 +72,7 @@ public class AbstractBlockStateMixin extends State<Block, BlockState>
cir.setReturnValue(event.getLightLevel());
}
@Inject(at = {@At("HEAD")},
@Inject(at = @At("HEAD"),
method = {
"getOutlineShape(Lnet/minecraft/world/BlockView;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/ShapeContext;)Lnet/minecraft/util/shape/VoxelShape;"},
cancellable = true)
@ -90,4 +92,24 @@ public class AbstractBlockStateMixin extends State<Block, BlockState>
cir.setReturnValue(VoxelShapes.empty());
}
@Inject(at = @At("HEAD"),
method = "getCollisionShape(Lnet/minecraft/world/BlockView;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/ShapeContext;)Lnet/minecraft/util/shape/VoxelShape;",
cancellable = true)
private void onGetCollisionShape(BlockView world, BlockPos pos,
ShapeContext context, CallbackInfoReturnable<VoxelShape> cir)
{
if(getFluidState().isEmpty())
return;
HackList hax = WurstClient.INSTANCE.getHax();
if(hax == null || !hax.jesusHack.shouldBeSolid())
return;
cir.setReturnValue(VoxelShapes.fullCube());
cir.cancel();
}
@Shadow
public abstract FluidState getFluidState();
}

View File

@ -9,43 +9,25 @@ package net.wurstclient.mixin;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import net.minecraft.client.render.BackgroundRenderer;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.effect.StatusEffect;
import net.minecraft.entity.effect.StatusEffects;
import net.minecraft.client.render.BackgroundRenderer.StatusEffectFogModifier;
import net.minecraft.entity.Entity;
import net.wurstclient.WurstClient;
@Mixin(BackgroundRenderer.class)
public class BackgroundRendererMixin
{
@Redirect(at = @At(value = "INVOKE",
target = "Lnet/minecraft/entity/LivingEntity;hasStatusEffect(Lnet/minecraft/entity/effect/StatusEffect;)Z",
ordinal = 0),
method = "render(Lnet/minecraft/client/render/Camera;FLnet/minecraft/client/world/ClientWorld;IF)V")
private static boolean hasStatusEffectRender(LivingEntity entity,
StatusEffect effect)
@Inject(at = {@At("HEAD")},
method = {
"getFogModifier(Lnet/minecraft/entity/Entity;F)Lnet/minecraft/client/render/BackgroundRenderer$StatusEffectFogModifier;"},
cancellable = true)
private static void onGetFogModifier(Entity entity, float tickDelta,
CallbackInfoReturnable<StatusEffectFogModifier> ci)
{
if(effect == StatusEffects.BLINDNESS
&& WurstClient.INSTANCE.getHax().antiBlindHack.isEnabled())
return false;
return entity.hasStatusEffect(effect);
}
@Redirect(at = @At(value = "INVOKE",
target = "Lnet/minecraft/entity/LivingEntity;hasStatusEffect(Lnet/minecraft/entity/effect/StatusEffect;)Z",
ordinal = 1),
method = "applyFog(Lnet/minecraft/client/render/Camera;Lnet/minecraft/client/render/BackgroundRenderer$FogType;FZF)V",
require = 0)
private static boolean hasStatusEffectApplyFog(LivingEntity entity,
StatusEffect effect)
{
if(effect == StatusEffects.BLINDNESS
&& WurstClient.INSTANCE.getHax().antiBlindHack.isEnabled())
return false;
return entity.hasStatusEffect(effect);
if(WurstClient.INSTANCE.getHax().antiBlindHack.isEnabled())
ci.setReturnValue(null);
}
}

View File

@ -19,6 +19,8 @@ import net.minecraft.client.gui.widget.TextFieldWidget;
import net.minecraft.client.network.ChatPreviewer;
import net.minecraft.text.Text;
import net.wurstclient.WurstClient;
import net.wurstclient.event.EventManager;
import net.wurstclient.events.ChatOutputListener.ChatOutputEvent;
@Mixin(ChatScreen.class)
public class ChatScreenMixin extends Screen
@ -29,9 +31,9 @@ public class ChatScreenMixin extends Screen
@Shadow
private ChatPreviewer chatPreviewer;
private ChatScreenMixin(WurstClient wurst, Text text_1)
private ChatScreenMixin(WurstClient wurst, Text text)
{
super(text_1);
super(text);
}
@Inject(at = {@At("TAIL")}, method = {"init()V"})
@ -46,6 +48,9 @@ public class ChatScreenMixin extends Screen
cancellable = true)
private void onUpdatePreviewer(String chatText, CallbackInfo ci)
{
if(!shouldPreviewChat())
return;
String normalized = normalize(chatText);
if(normalized.startsWith(".say "))
@ -62,9 +67,49 @@ public class ChatScreenMixin extends Screen
}
}
@Inject(at = @At(value = "INVOKE",
target = "Lnet/minecraft/client/network/ClientPlayerEntity;sendChatMessage(Ljava/lang/String;Lnet/minecraft/text/Text;)V"),
method = "sendMessage(Ljava/lang/String;Z)V",
cancellable = true)
public void onSendMessage(String message, boolean addToHistory,
CallbackInfo ci)
{
if(!addToHistory || (message = normalize(message)).isEmpty())
return;
ChatOutputEvent event = new ChatOutputEvent(message);
EventManager.fire(event);
if(event.isCancelled())
{
ci.cancel();
return;
}
if(!event.isModified())
return;
String newMessage = event.getMessage();
client.inGameHud.getChatHud().addToMessageHistory(newMessage);
Text preview = chatPreviewer.tryConsumeResponse(newMessage);
if(newMessage.startsWith("/"))
client.player.sendCommand(newMessage.substring(1), preview);
else
client.player.sendChatMessage(newMessage, preview);
ci.cancel();
}
@Shadow
public String normalize(String chatText)
{
return null;
}
@Shadow
private boolean shouldPreviewChat()
{
return false;
}
}

View File

@ -19,6 +19,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import com.mojang.authlib.GameProfile;
import com.mojang.brigadier.ParseResults;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.Screen;
@ -26,16 +27,18 @@ import net.minecraft.client.network.AbstractClientPlayerEntity;
import net.minecraft.client.network.ClientPlayNetworkHandler;
import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.client.world.ClientWorld;
import net.minecraft.command.CommandSource;
import net.minecraft.entity.MovementType;
import net.minecraft.entity.effect.StatusEffect;
import net.minecraft.entity.effect.StatusEffects;
import net.minecraft.network.encryption.PlayerPublicKey;
import net.minecraft.network.message.ArgumentSignatureDataMap;
import net.minecraft.network.message.ChatMessageSigner;
import net.minecraft.network.message.MessageSignature;
import net.minecraft.text.Text;
import net.minecraft.util.math.Vec3d;
import net.wurstclient.WurstClient;
import net.wurstclient.event.EventManager;
import net.wurstclient.events.ChatOutputListener.ChatOutputEvent;
import net.wurstclient.events.IsPlayerInWaterListener.IsPlayerInWaterEvent;
import net.wurstclient.events.KnockbackListener.KnockbackEvent;
import net.wurstclient.events.PlayerMoveListener.PlayerMoveEvent;
@ -67,35 +70,6 @@ public class ClientPlayerEntityMixin extends AbstractClientPlayerEntity
super(world, profile, playerPublicKey);
}
@Inject(at = @At("HEAD"),
method = "sendChatMessage(Ljava/lang/String;Lnet/minecraft/text/Text;)V",
cancellable = true)
private void onSendChatMessage(String message, @Nullable Text preview,
CallbackInfo ci)
{
ChatOutputEvent event = new ChatOutputEvent(message);
EventManager.fire(event);
if(event.isCancelled())
{
ci.cancel();
return;
}
if(!event.isModified())
return;
sendChatMessageBypass(event.getMessage());
ci.cancel();
}
@Override
public void sendChatMessageBypass(String message)
{
ChatMessageSigner signer = ChatMessageSigner.create(getUuid());
sendChatMessagePacket(signer, message, null);
}
@Inject(at = @At(value = "INVOKE",
target = "Lnet/minecraft/client/network/AbstractClientPlayerEntity;tick()V",
ordinal = 0), method = "tick()V")
@ -171,6 +145,27 @@ public class ClientPlayerEntityMixin extends AbstractClientPlayerEntity
tempCurrentScreen = null;
}
@Inject(at = @At("HEAD"),
method = "signChatMessage(Lnet/minecraft/network/message/ChatMessageSigner;Lnet/minecraft/text/Text;)Lnet/minecraft/network/message/MessageSignature;",
cancellable = true)
private void onSignChatMessage(ChatMessageSigner signer, Text message,
CallbackInfoReturnable<MessageSignature> cir)
{
if(WurstClient.INSTANCE.getOtfs().noChatReportsOtf.isActive())
cir.setReturnValue(MessageSignature.none());
}
@Inject(at = @At("HEAD"),
method = "signArguments(Lnet/minecraft/network/message/ChatMessageSigner;Lcom/mojang/brigadier/ParseResults;Lnet/minecraft/text/Text;)Lnet/minecraft/network/message/ArgumentSignatureDataMap;",
cancellable = true)
private void onSignArguments(ChatMessageSigner signer,
ParseResults<CommandSource> parseResults, @Nullable Text preview,
CallbackInfoReturnable<ArgumentSignatureDataMap> cir)
{
if(WurstClient.INSTANCE.getOtfs().noChatReportsOtf.isActive())
cir.setReturnValue(ArgumentSignatureDataMap.empty());
}
@Override
public void setVelocityClient(double x, double y, double z)
{
@ -258,11 +253,4 @@ public class ClientPlayerEntityMixin extends AbstractClientPlayerEntity
{
this.movementMultiplier = movementMultiplier;
}
@Shadow
private void sendChatMessagePacket(ChatMessageSigner signer, String message,
@Nullable Text preview)
{
}
}

View File

@ -20,33 +20,53 @@ import net.minecraft.client.gui.widget.ButtonWidget;
import net.minecraft.text.Text;
import net.wurstclient.WurstClient;
import net.wurstclient.hacks.AutoReconnectHack;
import net.wurstclient.nochatreports.ForcedChatReportsScreen;
import net.wurstclient.nochatreports.NcrModRequiredScreen;
import net.wurstclient.util.LastServerRememberer;
@Mixin(DisconnectedScreen.class)
public class DisconnectedScreenMixin extends Screen
{
private int autoReconnectTimer;
private ButtonWidget autoReconnectButton;
@Shadow
@Final
private Text reason;
@Shadow
@Final
private Screen parent;
@Shadow
private int reasonHeight;
private DisconnectedScreenMixin(WurstClient wurst, Text text_1)
private DisconnectedScreenMixin(WurstClient wurst, Text title)
{
super(text_1);
super(title);
}
@Inject(at = {@At("TAIL")}, method = {"init()V"})
@Inject(at = @At("TAIL"), method = {"init()V"})
private void onInit(CallbackInfo ci)
{
if(!WurstClient.INSTANCE.isEnabled())
return;
if(ForcedChatReportsScreen.isCausedByNoChatReports(reason))
{
client.setScreen(new ForcedChatReportsScreen(parent));
return;
}
if(NcrModRequiredScreen.isCausedByLackOfNCR(reason))
{
client.setScreen(new NcrModRequiredScreen(parent));
return;
}
addReconnectButtons();
}
private void addReconnectButtons()
{
int backButtonX = width / 2 - 100;
int backButtonY =
Math.min(height / 2 + reasonHeight / 2 + 9, height - 30);
@ -77,6 +97,9 @@ public class DisconnectedScreenMixin extends Screen
@Override
public void tick()
{
if(!WurstClient.INSTANCE.isEnabled() || autoReconnectButton == null)
return;
AutoReconnectHack autoReconnect =
WurstClient.INSTANCE.getHax().autoReconnectHack;

View File

@ -1,45 +0,0 @@
/*
* Copyright (c) 2014-2022 Wurst-Imperium and contributors.
*
* This source code is subject to the terms of the GNU General Public
* License, version 3. If a copy of the GPL was not distributed with this
* file, You can obtain one at: https://www.gnu.org/licenses/gpl-3.0.txt
*/
package net.wurstclient.mixin;
import org.spongepowered.asm.mixin.Mixin;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.block.FluidBlock;
import net.minecraft.block.FluidDrainable;
import net.minecraft.block.ShapeContext;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.shape.VoxelShape;
import net.minecraft.util.shape.VoxelShapes;
import net.minecraft.world.BlockView;
import net.wurstclient.WurstClient;
import net.wurstclient.hack.HackList;
@Mixin(FluidBlock.class)
public abstract class FluidBlockMixin extends Block implements FluidDrainable
{
private FluidBlockMixin(WurstClient wurst, Settings block$Settings_1)
{
super(block$Settings_1);
}
@SuppressWarnings("deprecation")
@Override
public VoxelShape getCollisionShape(BlockState blockState_1,
BlockView blockView_1, BlockPos blockPos_1,
ShapeContext entityContext_1)
{
HackList hax = WurstClient.INSTANCE.getHax();
if(hax != null && hax.jesusHack.shouldBeSolid())
return VoxelShapes.fullCube();
return super.getCollisionShape(blockState_1, blockView_1, blockPos_1,
entityContext_1);
}
}

View File

@ -113,7 +113,7 @@ public abstract class GameMenuScreenMixin extends Screen
private void onRender(MatrixStack matrixStack, int mouseX, int mouseY,
float partialTicks, CallbackInfo ci)
{
if(!WurstClient.INSTANCE.isEnabled())
if(!WurstClient.INSTANCE.isEnabled() || wurstOptionsButton == null)
return;
GL11.glEnable(GL11.GL_CULL_FACE);

View File

@ -35,22 +35,43 @@ import net.wurstclient.mixinterface.IGameRenderer;
public abstract class GameRendererMixin
implements AutoCloseable, SynchronousResourceReloader, IGameRenderer
{
@Redirect(at = @At(value = "INVOKE",
private boolean cancelNextBobView;
@Inject(at = @At(value = "INVOKE",
target = "Lnet/minecraft/client/render/GameRenderer;bobView(Lnet/minecraft/client/util/math/MatrixStack;F)V",
ordinal = 0),
method = {
"renderWorld(FJLnet/minecraft/client/util/math/MatrixStack;)V"})
private void onRenderWorldViewBobbing(GameRenderer gameRenderer,
MatrixStack matrixStack, float partalTicks)
private void onRenderWorldViewBobbing(float tickDelta, long limitTime,
MatrixStack matrices, CallbackInfo ci)
{
CameraTransformViewBobbingEvent event =
new CameraTransformViewBobbingEvent();
EventManager.fire(event);
if(event.isCancelled())
cancelNextBobView = true;
}
@Inject(at = @At("HEAD"),
method = "bobView(Lnet/minecraft/client/util/math/MatrixStack;F)V",
cancellable = true)
private void onBobView(MatrixStack matrices, float tickDelta,
CallbackInfo ci)
{
if(!cancelNextBobView)
return;
bobView(matrixStack, partalTicks);
ci.cancel();
cancelNextBobView = false;
}
@Inject(at = @At("HEAD"),
method = "renderHand(Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/Camera;F)V")
private void renderHand(MatrixStack matrices, Camera camera,
float tickDelta, CallbackInfo ci)
{
cancelNextBobView = false;
}
@Inject(

View File

@ -0,0 +1,30 @@
/*
* Copyright (c) 2014-2022 Wurst-Imperium and contributors.
*
* This source code is subject to the terms of the GNU General Public
* License, version 3. If a copy of the GPL was not distributed with this
* file, You can obtain one at: https://www.gnu.org/licenses/gpl-3.0.txt
*/
package net.wurstclient.mixin;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import net.minecraft.client.render.LightmapTextureManager;
import net.wurstclient.WurstClient;
@Mixin(LightmapTextureManager.class)
public class LightTextureManagerMixin
{
@Inject(at = {@At("HEAD")},
method = {"getDarknessFactor(F)F"},
cancellable = true)
private void onGetDarknessFactor(float delta,
CallbackInfoReturnable<Float> ci)
{
if(WurstClient.INSTANCE.getHax().antiBlindHack.isEnabled())
ci.setReturnValue(0F);
}
}

View File

@ -7,6 +7,9 @@
*/
package net.wurstclient.mixin;
import java.io.File;
import java.util.UUID;
import org.objectweb.asm.Opcodes;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
@ -17,11 +20,16 @@ import org.spongepowered.asm.mixin.injection.Redirect;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import com.mojang.authlib.exceptions.AuthenticationException;
import com.mojang.authlib.minecraft.UserApiService;
import com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.WindowEventHandler;
import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.client.network.ClientPlayerInteractionManager;
import net.minecraft.client.resource.language.LanguageManager;
import net.minecraft.client.util.ProfileKeys;
import net.minecraft.client.util.Session;
import net.minecraft.client.world.ClientWorld;
import net.minecraft.entity.Entity;
@ -43,6 +51,9 @@ public abstract class MinecraftClientMixin
extends ReentrantThreadExecutor<Runnable>
implements WindowEventHandler, IMinecraftClient
{
@Shadow
@Final
public File runDirectory;
@Shadow
private int itemUseCooldown;
@Shadow
@ -57,8 +68,12 @@ public abstract class MinecraftClientMixin
@Shadow
@Final
private Session session;
@Shadow
@Final
private YggdrasilAuthenticationService authenticationService;
private Session wurstSession;
private ProfileKeys wurstProfileKeys;
private MinecraftClientMixin(WurstClient wurst, String string_1)
{
@ -103,7 +118,7 @@ public abstract class MinecraftClientMixin
WurstClient.INSTANCE.getFriends().middleClick(entity);
}
@Inject(at = {@At("HEAD")},
@Inject(at = @At("HEAD"),
method = {"getSession()Lnet/minecraft/client/util/Session;"},
cancellable = true)
private void onGetSession(CallbackInfoReturnable<Session> cir)
@ -124,9 +139,21 @@ public abstract class MinecraftClientMixin
{
if(wurstSession != null)
return wurstSession;
return session;
}
@Inject(at = @At("HEAD"),
method = {"getProfileKeys()Lnet/minecraft/client/util/ProfileKeys;"},
cancellable = true)
public void onGetProfileKeys(CallbackInfoReturnable<ProfileKeys> cir)
{
if(wurstProfileKeys == null)
return;
cir.setReturnValue(wurstProfileKeys);
}
@Override
public void rightClick()
{
@ -173,6 +200,25 @@ public abstract class MinecraftClientMixin
public void setSession(Session session)
{
wurstSession = session;
UserApiService userApiService =
wurst_createUserApiService(session.getAccessToken());
UUID uuid = wurstSession.getProfile().getId();
wurstProfileKeys =
new ProfileKeys(userApiService, uuid, runDirectory.toPath());
}
private UserApiService wurst_createUserApiService(String accessToken)
{
try
{
return authenticationService.createUserApiService(accessToken);
}catch(AuthenticationException e)
{
e.printStackTrace();
return UserApiService.OFFLINE;
}
}
@Shadow

View File

@ -0,0 +1,53 @@
/*
* Copyright (c) 2014-2022 Wurst-Imperium and contributors.
*
* This source code is subject to the terms of the GNU General Public
* License, version 3. If a copy of the GPL was not distributed with this
* file, You can obtain one at: https://www.gnu.org/licenses/gpl-3.0.txt
*/
package net.wurstclient.mixin;
import java.util.Optional;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import net.minecraft.client.util.ProfileKeys;
import net.minecraft.network.encryption.PlayerPublicKey;
import net.minecraft.network.encryption.Signer;
import net.wurstclient.WurstClient;
@Mixin(ProfileKeys.class)
public class ProfileKeysMixin
{
@Inject(at = @At("HEAD"),
method = "getSigner()Lnet/minecraft/network/encryption/Signer;",
cancellable = true)
private void onGetSigner(CallbackInfoReturnable<Signer> cir)
{
if(WurstClient.INSTANCE.getOtfs().noChatReportsOtf.isActive())
cir.setReturnValue(null);
}
@Inject(at = @At("HEAD"),
method = "getPublicKey()Ljava/util/Optional;",
cancellable = true)
private void onGetPublicKey(
CallbackInfoReturnable<Optional<PlayerPublicKey>> cir)
{
if(WurstClient.INSTANCE.getOtfs().noChatReportsOtf.isActive())
cir.setReturnValue(Optional.empty());
}
@Inject(at = @At("HEAD"),
method = "getPublicKeyData()Ljava/util/Optional;",
cancellable = true)
private void onGetPublicKeyData(
CallbackInfoReturnable<Optional<PlayerPublicKey.PublicKeyData>> cir)
{
if(WurstClient.INSTANCE.getOtfs().noChatReportsOtf.isActive())
cir.setReturnValue(Optional.empty());
}
}

View File

@ -0,0 +1,43 @@
/*
* Copyright (c) 2014-2022 Wurst-Imperium and contributors.
*
* This source code is subject to the terms of the GNU General Public
* License, version 3. If a copy of the GPL was not distributed with this
* file, You can obtain one at: https://www.gnu.org/licenses/gpl-3.0.txt
*/
package net.wurstclient.mixin;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import net.minecraft.client.util.telemetry.TelemetrySender;
import net.minecraft.client.util.telemetry.TelemetrySender.PlayerGameMode;
import net.wurstclient.WurstClient;
@Mixin(TelemetrySender.class)
public class TelemetrySenderMixin
{
@Shadow
private boolean sent;
@Inject(at = @At("HEAD"),
method = "send(Lnet/minecraft/client/util/telemetry/TelemetrySender$PlayerGameMode;)V",
cancellable = true)
private void onSend(PlayerGameMode gameMode, CallbackInfo ci)
{
if(!WurstClient.INSTANCE.getOtfs().noTelemetryOtf.isEnabled())
return;
// Pretend it was sent successfully so that the TelemetrySender
// won't try again later.
sent = true;
// Don't actually send anything. :)
ci.cancel();
System.out.println("Telemetry sending attempt blocked.");
}
}

View File

@ -0,0 +1,31 @@
/*
* Copyright (c) 2014-2022 Wurst-Imperium and contributors.
*
* This source code is subject to the terms of the GNU General Public
* License, version 3. If a copy of the GPL was not distributed with this
* file, You can obtain one at: https://www.gnu.org/licenses/gpl-3.0.txt
*/
package net.wurstclient.mixin;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import net.minecraft.client.render.Camera;
import net.minecraft.client.render.WorldRenderer;
import net.wurstclient.WurstClient;
@Mixin(WorldRenderer.class)
public class WorldRendererMixin
{
@Inject(at = {@At("HEAD")},
method = {"method_43788(Lnet/minecraft/client/render/Camera;)Z"},
cancellable = true)
private void onHasBlindnessOrDarknessEffect(Camera camera,
CallbackInfoReturnable<Boolean> ci)
{
if(WurstClient.INSTANCE.getHax().antiBlindHack.isEnabled())
ci.setReturnValue(false);
}
}

View File

@ -20,6 +20,4 @@ public interface IClientPlayerEntity
public void setMovementMultiplier(Vec3d movementMultiplier);
public boolean isTouchingWaterBypass();
public void sendChatMessageBypass(String message);
}

View File

@ -19,4 +19,12 @@ public interface IWorld
{
public Stream<VoxelShape> getBlockCollisionsStream(@Nullable Entity entity,
Box box);
public default Stream<Box> getCollidingBoxes(@Nullable Entity entity,
Box box)
{
return getBlockCollisionsStream(entity, box)
.flatMap(vs -> vs.getBoundingBoxes().stream())
.filter(b -> b.intersects(box));
}
}

View File

@ -312,7 +312,8 @@ public final class NavigatorFeatureScreen extends NavigatorScreen
@Override
protected void onUpdate()
{
if(primaryButton != null)
primaryButton.setMessage(Text.literal(feature.getPrimaryAction()));
}
@Override

View File

@ -0,0 +1,129 @@
/*
* Copyright (c) 2014-2022 Wurst-Imperium and contributors.
*
* This source code is subject to the terms of the GNU General Public
* License, version 3. If a copy of the GPL was not distributed with this
* file, You can obtain one at: https://www.gnu.org/licenses/gpl-3.0.txt
*/
package net.wurstclient.nochatreports;
import java.util.Arrays;
import java.util.List;
import java.util.function.Supplier;
import net.minecraft.client.font.MultilineText;
import net.minecraft.client.gui.DrawableHelper;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.widget.ButtonWidget;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.text.Text;
import net.minecraft.text.TranslatableTextContent;
import net.wurstclient.WurstClient;
import net.wurstclient.other_features.NoChatReportsOtf;
import net.wurstclient.util.ChatUtils;
import net.wurstclient.util.LastServerRememberer;
public final class ForcedChatReportsScreen extends Screen
{
private static final List<String> DISCONNECT_REASONS =
Arrays.asList("multiplayer.disconnect.missing_public_key",
"multiplayer.disconnect.invalid_public_key_signature",
"multiplayer.disconnect.invalid_public_key");
private final Screen prevScreen;
private final Text reason;
private MultilineText reasonFormatted = MultilineText.EMPTY;
private int reasonHeight;
private ButtonWidget signatureButton;
private final Supplier<String> sigButtonMsg;
public ForcedChatReportsScreen(Screen prevScreen)
{
super(Text.literal(ChatUtils.WURST_PREFIX).append(
Text.translatable("gui.wurst.nochatreports.unsafe_server.title")));
this.prevScreen = prevScreen;
reason =
Text.translatable("gui.wurst.nochatreports.unsafe_server.message");
NoChatReportsOtf ncr = WurstClient.INSTANCE.getOtfs().noChatReportsOtf;
sigButtonMsg = () -> WurstClient.INSTANCE
.translate("button.wurst.nochatreports.signatures_status")
+ blockedOrAllowed(ncr.isEnabled());
}
private String blockedOrAllowed(boolean blocked)
{
return WurstClient.INSTANCE.translate(
"gui.wurst.generic.allcaps_" + (blocked ? "blocked" : "allowed"));
}
@Override
protected void init()
{
reasonFormatted =
MultilineText.create(textRenderer, reason, width - 50);
reasonHeight = reasonFormatted.count() * textRenderer.fontHeight;
int buttonX = width / 2 - 100;
int belowReasonY =
(height - 78) / 2 + reasonHeight / 2 + textRenderer.fontHeight * 2;
int signaturesY = Math.min(belowReasonY, height - 68);
int reconnectY = signaturesY + 24;
int backButtonY = reconnectY + 24;
addDrawableChild(
signatureButton = new ButtonWidget(buttonX, signaturesY, 200, 20,
Text.literal(sigButtonMsg.get()), b -> toggleSignatures()));
addDrawableChild(new ButtonWidget(buttonX, reconnectY, 200, 20,
Text.literal("Reconnect"),
b -> LastServerRememberer.reconnect(prevScreen)));
addDrawableChild(new ButtonWidget(buttonX, backButtonY, 200, 20,
Text.translatable("gui.toMenu"),
b -> client.setScreen(prevScreen)));
}
private void toggleSignatures()
{
WurstClient.INSTANCE.getOtfs().noChatReportsOtf.doPrimaryAction();
signatureButton.setMessage(Text.literal(sigButtonMsg.get()));
}
@Override
public void render(MatrixStack matrices, int mouseX, int mouseY,
float delta)
{
renderBackground(matrices);
int centerX = width / 2;
int reasonY = (height - 68) / 2 - reasonHeight / 2;
int titleY = reasonY - textRenderer.fontHeight * 2;
DrawableHelper.drawCenteredText(matrices, textRenderer, title, centerX,
titleY, 0xAAAAAA);
reasonFormatted.drawCenterWithShadow(matrices, centerX, reasonY);
super.render(matrices, mouseX, mouseY, delta);
}
@Override
public boolean shouldCloseOnEsc()
{
return false;
}
public static boolean isCausedByNoChatReports(Text disconnectReason)
{
if(!WurstClient.INSTANCE.getOtfs().noChatReportsOtf.isActive())
return false;
if(!(disconnectReason
.getContent() instanceof TranslatableTextContent tr))
return false;
return DISCONNECT_REASONS.contains(tr.getKey());
}
}

View File

@ -0,0 +1,155 @@
/*
* Copyright (c) 2014-2022 Wurst-Imperium and contributors.
*
* This source code is subject to the terms of the GNU General Public
* License, version 3. If a copy of the GPL was not distributed with this
* file, You can obtain one at: https://www.gnu.org/licenses/gpl-3.0.txt
*/
package net.wurstclient.nochatreports;
import java.util.Arrays;
import java.util.List;
import java.util.function.Supplier;
import net.minecraft.client.font.MultilineText;
import net.minecraft.client.gui.DrawableHelper;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.widget.ButtonWidget;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.text.Text;
import net.minecraft.util.StringHelper;
import net.wurstclient.WurstClient;
import net.wurstclient.other_feature.OtfList;
import net.wurstclient.util.ChatUtils;
import net.wurstclient.util.LastServerRememberer;
public final class NcrModRequiredScreen extends Screen
{
private static final List<String> DISCONNECT_REASONS = Arrays.asList(
// Older versions of NCR have a bug that sends the raw translation key.
"disconnect.nochatreports.server",
"You do not have No Chat Reports, and this server is configured to require it on client!");
private final Screen prevScreen;
private final Text reason;
private MultilineText reasonFormatted = MultilineText.EMPTY;
private int reasonHeight;
private ButtonWidget signatureButton;
private final Supplier<String> sigButtonMsg;
private ButtonWidget vsButton;
private final Supplier<String> vsButtonMsg;
public NcrModRequiredScreen(Screen prevScreen)
{
super(Text.literal(ChatUtils.WURST_PREFIX).append(
Text.translatable("gui.wurst.nochatreports.ncr_mod_server.title")));
this.prevScreen = prevScreen;
reason =
Text.translatable("gui.wurst.nochatreports.ncr_mod_server.message");
OtfList otfs = WurstClient.INSTANCE.getOtfs();
sigButtonMsg = () -> WurstClient.INSTANCE
.translate("button.wurst.nochatreports.signatures_status")
+ blockedOrAllowed(otfs.noChatReportsOtf.isEnabled());
vsButtonMsg =
() -> "VanillaSpoof: " + onOrOff(otfs.vanillaSpoofOtf.isEnabled());
}
private String onOrOff(boolean on)
{
return WurstClient.INSTANCE.translate("options." + (on ? "on" : "off"))
.toUpperCase();
}
private String blockedOrAllowed(boolean blocked)
{
return WurstClient.INSTANCE.translate(
"gui.wurst.generic.allcaps_" + (blocked ? "blocked" : "allowed"));
}
@Override
protected void init()
{
reasonFormatted =
MultilineText.create(textRenderer, reason, width - 50);
reasonHeight = reasonFormatted.count() * textRenderer.fontHeight;
int buttonX = width / 2 - 100;
int belowReasonY =
(height - 78) / 2 + reasonHeight / 2 + textRenderer.fontHeight * 2;
int signaturesY = Math.min(belowReasonY, height - 68);
int reconnectY = signaturesY + 24;
int backButtonY = reconnectY + 24;
addDrawableChild(
signatureButton = new ButtonWidget(buttonX - 48, signaturesY, 148,
20, Text.literal(sigButtonMsg.get()), b -> toggleSignatures()));
addDrawableChild(
vsButton = new ButtonWidget(buttonX + 102, signaturesY, 148, 20,
Text.literal(vsButtonMsg.get()), b -> toggleVanillaSpoof()));
addDrawableChild(new ButtonWidget(buttonX, reconnectY, 200, 20,
Text.literal("Reconnect"),
b -> LastServerRememberer.reconnect(prevScreen)));
addDrawableChild(new ButtonWidget(buttonX, backButtonY, 200, 20,
Text.translatable("gui.toMenu"),
b -> client.setScreen(prevScreen)));
}
private void toggleSignatures()
{
WurstClient.INSTANCE.getOtfs().noChatReportsOtf.doPrimaryAction();
signatureButton.setMessage(Text.literal(sigButtonMsg.get()));
}
private void toggleVanillaSpoof()
{
WurstClient.INSTANCE.getOtfs().vanillaSpoofOtf.doPrimaryAction();
vsButton.setMessage(Text.literal(vsButtonMsg.get()));
}
@Override
public void render(MatrixStack matrices, int mouseX, int mouseY,
float delta)
{
renderBackground(matrices);
int centerX = width / 2;
int reasonY = (height - 68) / 2 - reasonHeight / 2;
int titleY = reasonY - textRenderer.fontHeight * 2;
DrawableHelper.drawCenteredText(matrices, textRenderer, title, centerX,
titleY, 0xAAAAAA);
reasonFormatted.drawCenterWithShadow(matrices, centerX, reasonY);
super.render(matrices, mouseX, mouseY, delta);
}
@Override
public boolean shouldCloseOnEsc()
{
return false;
}
public static boolean isCausedByLackOfNCR(Text disconnectReason)
{
OtfList otfs = WurstClient.INSTANCE.getOtfs();
if(otfs.noChatReportsOtf.isActive()
&& !otfs.vanillaSpoofOtf.isEnabled())
return false;
String text = disconnectReason.getString();
if(text == null)
return false;
text = StringHelper.stripTextFormat(text);
return DISCONNECT_REASONS.contains(text);
}
}

View File

@ -0,0 +1,35 @@
/*
* Copyright (c) 2014-2022 Wurst-Imperium and contributors.
*
* This source code is subject to the terms of the GNU General Public
* License, version 3. If a copy of the GPL was not distributed with this
* file, You can obtain one at: https://www.gnu.org/licenses/gpl-3.0.txt
*/
package net.wurstclient.nochatreports;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking.PlayChannelHandler;
import net.fabricmc.fabric.api.networking.v1.PacketSender;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.network.ClientPlayNetworkHandler;
import net.minecraft.network.PacketByteBuf;
import net.minecraft.util.Identifier;
@Environment(EnvType.CLIENT)
public class NoChatReportsChannelHandler implements PlayChannelHandler
{
public static final Identifier CHANNEL =
new Identifier("nochatreports", "sync");
public static final NoChatReportsChannelHandler INSTANCE =
new NoChatReportsChannelHandler();
@Override
public void receive(MinecraftClient client,
ClientPlayNetworkHandler handler, PacketByteBuf buf,
PacketSender responseSender)
{
// NO-OP
}
}

View File

@ -22,6 +22,8 @@ public final class OtfList
public final DisableOtf disableOtf = new DisableOtf();
public final HackListOtf hackListOtf = new HackListOtf();
public final LastServerOtf lastServerOtf = new LastServerOtf();
public final NoChatReportsOtf noChatReportsOtf = new NoChatReportsOtf();
public final NoTelemetryOtf noTelemetryOtf = new NoTelemetryOtf();
public final ReconnectOtf reconnectOtf = new ReconnectOtf();
public final ServerFinderOtf serverFinderOtf = new ServerFinderOtf();
public final TabGuiOtf tabGuiOtf = new TabGuiOtf();

View File

@ -29,7 +29,7 @@ public abstract class OtherFeature extends Feature
@Override
public String getDescription()
{
return description;
return WURST.translate(description);
}
@Override

View File

@ -0,0 +1,84 @@
/*
* Copyright (c) 2014-2022 Wurst-Imperium and contributors.
*
* This source code is subject to the terms of the GNU General Public
* License, version 3. If a copy of the GPL was not distributed with this
* file, You can obtain one at: https://www.gnu.org/licenses/gpl-3.0.txt
*/
package net.wurstclient.other_features;
import net.fabricmc.fabric.api.client.networking.v1.ClientLoginConnectionEvents;
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayConnectionEvents;
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.network.ClientLoginNetworkHandler;
import net.minecraft.client.network.ClientPlayNetworkHandler;
import net.wurstclient.DontBlock;
import net.wurstclient.SearchTags;
import net.wurstclient.WurstClient;
import net.wurstclient.nochatreports.NoChatReportsChannelHandler;
import net.wurstclient.other_feature.OtherFeature;
import net.wurstclient.settings.CheckboxSetting;
@DontBlock
@SearchTags({"no chat reports", "NoEncryption", "no encryption",
"NoChatSigning", "no chat signing"})
public final class NoChatReportsOtf extends OtherFeature
{
private final CheckboxSetting disableSignatures =
new CheckboxSetting("Disable signatures", true);
public NoChatReportsOtf()
{
super("NoChatReports", "description.wurst.other_feature.nochatreports");
addSetting(disableSignatures);
ClientLoginConnectionEvents.INIT.register(this::onLoginStart);
ClientPlayConnectionEvents.DISCONNECT.register(this::onPlayDisconnect);
}
private void onLoginStart(ClientLoginNetworkHandler handler,
MinecraftClient client)
{
if(isActive() && !WURST.getOtfs().vanillaSpoofOtf.isEnabled())
ClientPlayNetworking.registerGlobalReceiver(
NoChatReportsChannelHandler.CHANNEL,
NoChatReportsChannelHandler.INSTANCE);
else
ClientPlayNetworking
.unregisterGlobalReceiver(NoChatReportsChannelHandler.CHANNEL);
}
private void onPlayDisconnect(ClientPlayNetworkHandler handler,
MinecraftClient client)
{
ClientPlayNetworking
.unregisterGlobalReceiver(NoChatReportsChannelHandler.CHANNEL);
}
@Override
public boolean isEnabled()
{
return disableSignatures.isChecked();
}
public boolean isActive()
{
return isEnabled() && WurstClient.INSTANCE.isEnabled();
}
@Override
public String getPrimaryAction()
{
return WURST.translate("button.wurst.nochatreports."
+ (isEnabled() ? "re-enable_signatures" : "disable_signatures"));
}
@Override
public void doPrimaryAction()
{
disableSignatures.setChecked(!disableSignatures.isChecked());
}
// See ClientPlayerEntityMixin, ProfileKeysMixin
}

View File

@ -0,0 +1,48 @@
/*
* Copyright (c) 2014-2022 Wurst-Imperium and contributors.
*
* This source code is subject to the terms of the GNU General Public
* License, version 3. If a copy of the GPL was not distributed with this
* file, You can obtain one at: https://www.gnu.org/licenses/gpl-3.0.txt
*/
package net.wurstclient.other_features;
import net.wurstclient.DontBlock;
import net.wurstclient.SearchTags;
import net.wurstclient.other_feature.OtherFeature;
import net.wurstclient.settings.CheckboxSetting;
@DontBlock
@SearchTags({"privacy", "data", "tracking", "snooper", "spyware"})
public final class NoTelemetryOtf extends OtherFeature
{
private final CheckboxSetting disableTelemetry =
new CheckboxSetting("Disable telemetry", true);
public NoTelemetryOtf()
{
super("NoTelemetry",
"Disables the forced telemetry that Mojang introduced in 21w38a.");
addSetting(disableTelemetry);
}
@Override
public boolean isEnabled()
{
return disableTelemetry.isChecked();
}
@Override
public String getPrimaryAction()
{
return isEnabled() ? "Re-enable Telemetry" : "Disable Telemetry";
}
@Override
public void doPrimaryAction()
{
disableTelemetry.setChecked(!disableTelemetry.isChecked());
}
// See TelemetrySenderMixin
}

View File

@ -0,0 +1,40 @@
/*
* Copyright (c) 2014-2022 Wurst-Imperium and contributors.
*
* This source code is subject to the terms of the GNU General Public
* License, version 3. If a copy of the GPL was not distributed with this
* file, You can obtain one at: https://www.gnu.org/licenses/gpl-3.0.txt
*/
package net.wurstclient.settings;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.screen.ingame.AbstractInventoryScreen;
import net.minecraft.client.gui.screen.ingame.HandledScreen;
import net.wurstclient.WurstClient;
public final class PauseAttackOnContainersSetting extends CheckboxSetting
{
public PauseAttackOnContainersSetting(boolean checked)
{
super("Pause on containers",
"description.wurst.setting.generic.pause_attack_on_containers",
checked);
}
public PauseAttackOnContainersSetting(String name, String description,
boolean checked)
{
super(name, description, checked);
}
public boolean shouldPause()
{
if(!isChecked())
return false;
Screen screen = WurstClient.MC.currentScreen;
return screen instanceof HandledScreen
&& !(screen instanceof AbstractInventoryScreen);
}
}

View File

@ -0,0 +1,169 @@
{
"description.wurst.hack.anchoraura": "Automaticky umísťí (volitelně), nabije a odpalí kotvy oživení k zabití entit kolem vás.",
"description.wurst.hack.antiafk": "Prochází se náhodně, aby vás skryl před AFK detektory.\nPotřebuje alespoň 3x3 bloků volného místa.",
"OUTDATED.description.wurst.hack.antiblind": "Zabraňuje slepotě.\nNekompatibilní s OptiFine.",
"description.wurst.hack.anticactus": "Chrání vás před poškozením kaktusem.",
"description.wurst.hack.antiknockback": "Zabraní strkání hráči a moby.",
"description.wurst.hack.antispam": "Blokuje spam chatu přidáním čítače k opakovaným zprávám.",
"description.wurst.hack.antiwaterpush": "Zabraňuje posouvání vodou.",
"description.wurst.hack.antiwobble": "Zabraňuje viklavému efektu způsobenému nevolností a portály.",
"description.wurst.hack.arrowdmg": "Masivně zvyšuje poškození šípem, ale také spotřebovává hodně hladu a snižuje přesnost.\n\nNefunguje s kušemi a zdá se nefunkční na Paper serverech.",
"description.wurst.setting.arrowdmg.packets": "Množství odeslaných paketů.\nVíce paketů = větší poškození.",
"description.wurst.setting.arrowdmg.trident_yeet_mode": "Povolením, trojzubce létají mnohem dál. Nezdá se, že by to mělo vliv na poškození nebo Mocný záběr.\n\n§c§lUPOZORNĚNÍ:§r Povolením této možnosti můžete snadno přijít o trojzubec!",
"description.wurst.hack.autoarmor": "Automaticky spravuje vaše brnění.",
"description.wurst.hack.autobuild": "Automaticky staví.\nUmístěte blok k započatí stavby.",
"description.wurst.hack.autodrop": "Automaticky vyhazuje nechtěné předměty.",
"description.wurst.hack.autoleave": "Automaticky opustí server, když jsou vaše životy nízké.",
"description.wurst.hack.autoeat": "Automaticky jí jídlo, když je potřeba.",
"description.wurst.setting.autoeat.target_hunger": "Snaží se držet laťku hladu na této úrovni nebo nad ní, ale jen v případě, že nepromrhá žádné body hladu.",
"description.wurst.setting.autoeat.min_hunger": "Vždy udržuje laťku hladu na této úrovni nebo nad ní, i když promrhá některé body hladu.\n6.5 - Nepusobí plýtvání s vanilovými potravinami.\n10.0 - Zcela ignoruje plýtvání a jen udržuje hlad plný.",
"description.wurst.setting.autoeat.injured_hunger": "Naplňuje laťku hladu alespoň na tuto úroveň, když jste zraněni, i když to plýtvá některé body hladu.\n10,0 - nejrychlejší hojení\n9,0 - nejpomalejší hojení\n<9,0 - bez hojení <3,5 - bez sprintu",
"description.wurst.setting.autoeat.injury_threshold": "Zabrání drobným úrazům v plýtvání jídlem. AutoEat vás bude považovat za zraněného pouze v případě, že jste ztratil alespoň tento počet srdcí.",
"description.wurst.setting.autoeat.take_items_from": "Kde by měl AutoEat hledat jídlo.",
"description.wurst.setting.autoeat.eat_while_walking": "Zpomaluje, nedoporučuje se.",
"description.wurst.setting.autoeat.allow_hunger": "Shnilé maso má neškodný \"hladový\" efekt.\nJe bezpečné a užitečné jako nouzové jídlo.",
"description.wurst.setting.autoeat.allow_poison": "Jedovatá potrava časem působí poškození.\n Nedoporučuje se.",
"description.wurst.setting.autoeat.allow_chorus": "Ovoce chorusovníku vás teleportuje na náhodné místo.\nNedoporučuje se.",
"description.wurst.hack.autofarm": "Automaticky sklízí a přesazuje plodiny.\nPracuje s pšenicí, mrkví, bramborami, řepou, dýněmi, melouny, kaktusy, cukrovou třtinou, chaluhou, bambusem, bradavičníkem a kakaovými boby.",
"description.wurst.hack.autofish": "Automaticky chytá ryby pomocí vašeho nejlepšího rybářského prutu. Pokud najde lepší prut při rybaření, automaticky na něj přepne.",
"description.wurst.hack.automine": "Automaticky vytěží jakýkoli blok, na který se podíváte.",
"description.wurst.hack.autopotion": "Automaticky hází lektvary okamžitého zdraví, když je vaše zdraví nízké.",
"description.wurst.hack.autoreconnect": "Automaticky se znovu připojí, když vás vyhodí ze serveru.",
"description.wurst.hack.autorespawn": "Automaticky vás oživí, když zemřete.",
"description.wurst.hack.autosign": "Okamžitě napíše jakýkoliv text, který chcete, na každou ceduli, kterou umístíte. Po aktivaci můžete normálně psát na první ceduli a vytvořit tak šablonu pro všechny ostatní cedule.",
"description.wurst.hack.autosoup": "Automaticky jí polévku, když jsou vaše životy nízké.\n\n§lPoznámka:§r Tento hack ignoruje hlad a předpokládá, že konzumace polévky přímo doplňuje vaše zdraví. Pokud server, na kterém hrajete, není takto nastaven, použijte radši AutoEat.",
"description.wurst.hack.autosprint": "Neustálý sprint.",
"description.wurst.hack.autosteal": "Automaticky ukradne vše ze všech truhel a shulkerových schránek, které otevřete.",
"description.wurst.hack.autoswim": "Automaticky spustí animaci plavání.",
"description.wurst.hack.autoswitch": "Neustále přepíná předmět ve vaší ruce.\n\n§lProRada:§r Použijte to v kombinaci s BuildRandom, zatímco máte ve svém hotbaru spoustu různobarevných vlněných nebo betonových bloků.",
"description.wurst.hack.autosword": "Automaticky použije nejlepší zbraň ve vašem hotbaru k útoku na entity.\nRada: Funguje s Killaurou.",
"description.wurst.hack.autotool": "Automaticky vybaví nejrychlejším použitelným nástroj v hotbaru k rozbití bloku.",
"description.wurst.hack.autototem": "Automaticky přesune totemy nesmrtelnosti do vaší druhé ruky.",
"description.wurst.hack.autowalk": "Neustálá chůze.",
"description.wurst.hack.basefinder": "Vyhledá hráčské základny vyhledáváním uměle vytvořených bloků.\nBloky, které vyhledá, budou zvýrazněny vybranou barvou.\nDobré pro vyhledání frakčních základen.",
"description.wurst.hack.blink": "Pozastaví všechny možnosti pohybu při povolení.",
"description.wurst.hack.boatfly": "Umožňuje létat s loděmi.",
"description.wurst.hack.bonemealaura": "Automaticky používá kostní moučku na určité druhy rostlin.\nPomocí zaškrtávacích políček určujete tyto druhy rostlin.",
"description.wurst.hack.bowaimbot": "Automaticky zaměří luk nebo kuši.",
"description.wurst.hack.buildrandom": "Náhodně umísťuje bloky kolem vás.",
"description.wurst.hack.bunnyhop": "Neustálé skákání.",
"description.wurst.hack.cameranoclip": "Umožňuje kameře ve třetí osobě procházet zdmi.",
"description.wurst.hack.cavefinder": "Pomáhá najít jeskyně tím, že je zvýrazní vybranou barvou.",
"description.wurst.hack.chattranslator": "Překládá příchozí zprávy v chatu pomocí Google Translate.",
"description.wurst.hack.chestesp": "Zvýrazní okolní truhly.",
"description.wurst.hack.clickaura": "S každým kliknutím automaticky zaútočí na nejbližší platnou entitu.\n\n§c§lWAROVÁNÍ:§r ClickAury sjou obecně podezřelejší než Killaury a jsou i snadněji rozpoznatelné pro pluginy. Doporučuje se namísto nich používat buďto Killauru, či TriggerBota.",
"description.wurst.hack.clickgui": "Okenní rozhraní ClickGUI.",
"description.wurst.hack.crashchest": "Generuje truhlu, která lidem v podstatě zakáže přístup k serveru pokud jich mají v inventáři příliš mnoho. §c§lVAROVÁNÍ:§r §cToto nelze vzít zpět. Používejte s opatrností!§r\n\nPokud se místo toho vloží kopie do truhly, každý, kdo truhlu otevře, bude ze serveru jen odpojen (může se znovupřipojit).",
"description.wurst.hack.creativeflight": "Umožňuje létat jako v kreativním režimu.\n\n§c§lVAROVÁNÍ:§r Pokud nepoužíváte NoFall, dojde k zranění pádem.",
"description.wurst.hack.criticals": "Změní všechny vaše údery na kritické.",
"description.wurst.hack.crystalaura": "Automaticky umístí (volitelně) a odpálí endové krystaly, k zabití entit kolem vás.",
"description.wurst.hack.derp": "Šibuje s hlavou do všech stran.\nViditelné jen ostatním hráčům.",
"description.wurst.hack.dolphin": "Neustálé nadskakování ve vodě.\n(úplně jako delfín)",
"description.wurst.hack.excavator": "Automaticky ztěží všechny bloky ve vybrané oblasti.",
"description.wurst.hack.extraelytra": "Usnadňuje používání Elytry.",
"description.wurst.hack.fancychat": "Nahradí ASCII znaky ve vašich zprávách hezčími unicode znaky. Lze využít k obcházení filtru sprostých slov na některých serverech.\nNefunguje na serverech, které blokují znaky unicode.",
"description.wurst.hack.fastbreak": "Umožňuje rozbíjet bloky rychleji.\nTip: Funguje s Nukerem.",
"description.wurst.hack.fastladder": "Umožňuje rychlejší šplhání po žebřících.",
"description.wurst.hack.fastplace": "Umožňuje umístit bloky 5x rychleji.\nRada: Může urychlit další hacky jako AutoBuild.",
"description.wurst.hack.feedaura": "Automaticky krmí zvířata kolem vás.",
"description.wurst.hack.fightbot": "Bot, který automaticky pochoduje kolem a všechno zabíjí.\nDobré pro MobArenu.",
"description.wurst.hack.fish": "Deaktivuje podvodní gravitaci, takže můžete plavat jako ryba.",
"description.wurst.hack.flight": "Umožňuje létat.\n\n§c§lUPOZORNĚNÍ:§r Budete poškozeni pádem, pokud nepoužijete NoFall.",
"description.wurst.hack.follow": "Bot, který následuje nejbližší entitu.\nVelice otravné.\n\nPoužijte .follow pro sledování konkrétní entity.",
"description.wurst.hack.forceop": "Prolomuje AuthMe hesla.\nLze použít k získání OP.",
"description.wurst.hack.freecam": "Umožňuje pohybovat kamerou, aniž byste pohnuli postavou.",
"description.wurst.hack.fullbright": "Umožňuje vidět ve tmě.",
"description.wurst.hack.glide": "Při pádu padáte dolů pomalu.\n\n§c§lUPOZORNĚNÍ:§r Pokud nepoužíváte NoFall, zraníte se pádem.",
"description.wurst.hack.handnoclip": "Umožňuje dosáhnout určitých bloků skrz zdi.",
"description.wurst.hack.headroll": "Neustále přikyvujete.\nViditelné jen ostatními.",
"description.wurst.hack.healthtags": "Ukazuje zdraví hráčů v jejich jmenovkách.",
"description.wurst.hack.highjump": "Umožňuje skákat výš.\n\n§c§lUPOZORNĚNÍ:§r Pokud nepoužIJETE NoFall, zraníte se pádem.",
"description.wurst.hack.infinichat": "Odstraňuje limit 256 znaků z chatu.\nUžitečné pro dlouhé příkazy, které upravují data NBT.\n\n§6§lPOZNÁMKA:§r Nedoporučuje se pro komunikaci s ostatníma. Většina serverů na svém konci zkrátí zprávy na 256 znaků.",
"description.wurst.hack.instantbunker": "Postaví kolem vás malý bunkr. Potřebuje 57 bloků.",
"description.wurst.hack.invwalk": "Umožňuje pohyb s otevřeným inventářem.",
"description.wurst.setting.invwalk.allow_clickgui": "Umožňuje pohyb s otevřeným Wurstským ClickGUI.",
"description.wurst.setting.invwalk.allow_other": "Umožňuje pohybovat se s dalšími překrytími (např. truhly, koně, obchodu s vesničany...), pokud obrazovka neobsahuje textové pole (např. cedule).",
"description.wurst.hack.itemesp": "Zvýrazní blízké položky.",
"description.wurst.hack.itemgenerator": "Vytváří náhodné položky a odhazuje je na zem.\n§oPouze v kreativním režiu.§r",
"description.wurst.hack.jesus": "Umožňuje chodit po vodě.\nJežíš použil tento hack asi tak před 2000 lety.",
"description.wurst.hack.jetpack": "Umožňuje létat, jako byste měli jetpack.\n\n§c§lUPOZORNĚNÍ:§r Pokud nepoužijete NoFall, zraníte se pádem.",
"description.wurst.hack.kaboom": "Rozbíjí bloky kolem vás polo-explozí.\nMůže být mnohem rychlejší než Nuker, pokud server nemá NoCheat+. Nejlépe to funguje s rychlými nástroji a slabými bloky.\nPoznámka: Nejedná se o skutečnou explozi.",
"description.wurst.hack.killauralegit": "Pomalejší, hůře detekovatelná Killaura.\nZbytečné na obyčejných NoCheat+ serverech!",
"description.wurst.hack.killaura": "Automaticky útočí na entity kolem vás.",
"description.wurst.hack.killpotion": "Vytvoří lektvar, který může zabít téměř cokoliv, včetně hráčů v kreativním režimu. Nefunguje na nemrtvé, protože jsou již mrtví.\n\nVyžaduje kreativní režim.",
"description.wurst.hack.liquids": "Umožňuje umístit bloky do kapalin.",
"description.wurst.hack.lsd": "Způsobuje halucinace.",
"description.wurst.hack.masstpa": "Odešle požadavek na TPA všem hráčům.\nZastaví, když někdo přijme.",
"description.wurst.hack.mileycyrus": "Neustálé twerkování.",
"description.wurst.hack.mobesp": "Zvýrazní moby v okolí.",
"description.wurst.hack.mobspawnesp": "Zvýrazní oblasti, kde se mohou mobové objevovat.\n§ežlutá§r - mobové se mohou oběvovat v noci\n§cred§r - mobové se mohou oběvovat vždy",
"description.wurst.hack.multiaura": "Rychlejší Killaura, která útočí na více entit najednou.",
"description.wurst.hack.nameprotect": "Skryje jména všech hráčů.",
"description.wurst.hack.nametags": "Změní měřítko jmenovek tak, abyste je mohli vždy číst. Také vám umožní vidět jmenovky krčících se hráčů.",
"description.wurst.hack.navigator": "Prohledávatelné GUI, které se časem naučí vaše preference.",
"description.wurst.hack.nobackground": "Odstraní tmavé pozadí za inventářem.",
"description.wurst.hack.noclip": "Umožňuje volný pohyb mezi bloky.\nBlok (např. písek) musí spadnout na vaši hlavu k aktivovaci.\n\n§c§lUPOZORNĚNÍ:§r Při pohybu mezi bloky se budete zraňovat!",
"description.wurst.hack.nocomcrash": "Laguje a shazuje servery Nocom exploitem.\nNefunguje na Paper serverech. Testováno na Vanile, Spigotu a Fabricu. Některé AntiCheaty mohou znemožňovat jeho použití.",
"description.wurst.hack.nofall": "Chrání vás před poškozením pádem.",
"description.wurst.hack.nofireoverlay": "Blokuje překrytí ohně.\n\n§c§lUPOZORNĚNÍ:§r Může způsobit uhoření bez povšimnutí.",
"description.wurst.hack.nohurtcam": "Zakáže třes obrazovky při zranění.",
"description.wurst.hack.nooverlay": "Blokuje překrytí vody a lávy.",
"description.wurst.hack.nopumpkin": "Blokuje překrytí dýně na hlavě.",
"description.wurst.hack.noslowdown": "Zruší zpomalení medem, písekm duší i používáním itemů.",
"description.wurst.hack.noweather": "Umožňuje změnit počasí, čas a fázi měsíce na straně klienta.",
"description.wurst.hack.noweb": "Zabraňuje zpomalení pavučinami.",
"description.wurst.hack.nuker": "Automaticky ničí bloky kolem vás.",
"description.wurst.hack.nukerlegit": "Pomalejší Nuker, který obchází všechny moduly AntiCheat.\nNení vyžadován na běžných serverech s NoCheat+!",
"description.wurst.hack.openwateresp": "Zobrazí, zda rybaříte na otevřené vodě, nebo ne, a nakreslí ohraničení kolem oblasti, která se považuje za otevřenou vodu.",
"description.wurst.hack.overlay": "Vykreslí Nukerovu animaci, kdykoli vytěžíte blok.",
"description.wurst.hack.panic": "Okamžitě vypne všechny povolené hacky.\nS tímhle opatrně!",
"description.wurst.hack.parkour": "Při dosažení hrany bloku skáčete automaticky.\nUžitečné pro parkoury a skoko-běhách.",
"description.wurst.hack.playeresp": "Zvýrazní okolní hráče.\nESP boxy přátel se zobrazí modře.",
"description.wurst.hack.playerfinder": "Vyhledává vzdálené hráče během bouřek.",
"description.wurst.hack.portalgui": "Umožňuje otevření inventářů v portálech.",
"description.wurst.hack.potionsaver": "Pozastaví všecny efekty lektvarů, dokud stojíte na místě.",
"description.wurst.hack.prophuntesp": "Umožňuje vidět falešné bloky v Prophuntu.\nVyrobeno pro Mineplexí Prophunt. Může však fungovat i na jiných serverech.",
"description.wurst.hack.protect": "Bot, který sleduje nejbližší entitu a chrání ji před ostatními entitami.\nPoužijte .protect k ochraně konkrétní entity místo té nejbližší.",
"description.wurst.hack.radar": "Zobrazí polohu blízkých entit.\n§cčerveně§r - hráči\n§6oranžově§r - monstra\n§azeleně§r - zvířata\n§7šedě§r - ostatní",
"description.wurst.hack.rainbowui": "§cD§aě§9l§cá §av§9š§ce§ac§9h§cn§ao §9k§cr§aá§9s§cn§aě §9b§ca§ar§9e§cv§an§9é§c.",
"description.wurst.hack.reach": "Umožňuje dosáhnout dále.",
"description.wurst.hack.remoteview": "Umožňuje vidět svět pohledem někoho jiného.\nPoužijte příkaz .rv k použití na konkrétní entitu.",
"description.wurst.hack.safewalk": "Zabraňuje pádu z hran.",
"description.wurst.hack.scaffoldwalk": "Automaticky umísťuje bloky pod nohy.",
"description.wurst.hack.search": "Pomáhá najít konkrétní bloky zvýrazněním jich barevně.",
"description.wurst.hack.servercrasher": "Vygeneruje položku, která dokáže shodit servery 1.15.x.\n§oPouze pro kreativní režim.§r",
"description.wurst.hack.skinderp": "Náhodně přepíná části postavy.",
"description.wurst.hack.sneak": "Neustálé plížení.",
"description.wurst.hack.snowshoe": "Umožňuje chůzi po prašanu.",
"description.wurst.hack.speedhack": "Umožní vám běžet ~2.5x rychleji, než byste běželi sprintem se skokem.\n\n§6§lVAROVÁNÍ:§r Opraveno v NoCheat+ verzi 3.13.2. Obchází pouze starší verze NoCheat+.\nNapište §l/ncp version§r pro kontrolu verze NoCheat+ na serveru.",
"description.wurst.hack.speednuker": "Rychlejší verze nukeru, která nemůže obejít NoCheat+.",
"description.wurst.hack.spider": "Umožňuje šplhat po zdech jako pavouk.",
"description.wurst.hack.step": "Samovýstup celých bloků jako u schodů.",
"description.wurst.hack.throw": "Použije položku vícekrát. Lze použít k vrhání sněhových koulí a vajec, vyvolání mobů, umisťování vozíků, atd. ve velmi velkém množství.\n\nTo může způsobit velké zpomalení a dokonce i pád serveru.",
"description.wurst.hack.tillaura": "Automaticky zorá hlínu, trávu, atd. na zemědělskou půdu.\nNezaměňovat s Killaurou.",
"description.wurst.hack.timer": "Mění rychlost téměř všeho.",
"description.wurst.hack.tired": "Vypadáte jako Alexander v dubnu 2015.\nViditelný jen ostatními hráči.",
"description.wurst.hack.toomanyhax": "Blokuje všechny funkce, které nechcete.\nUmožňuje vám ujistit se, že omylem nepovolíte špatný hack a nedostanete za to ban.\nPro ty, kteří chtějí 'hackovat jen trochu'.\n\nPoužijte příkaz §6.toomanyhax§r pro výběr, které funkce budou zablokovány.\nNapište §6.help toomanyhax§r pro více informací.",
"description.wurst.hack.tp-aura": "Automaticky útočí na nejbližší platnou entitu, zatímco se teleportuje kolem ní.",
"description.wurst.hack.trajectories": "Předvídá dráhu letu šipek a hoditelných předmětů.",
"description.wurst.hack.treebot": "Experimentální bot, který automaticky chodí kolem a kácí stromy.\nProzatím omezeno na malé stromy.",
"description.wurst.hack.triggerbot": "Automaticky zaútočí na entitu, na kterou se díváte.",
"description.wurst.hack.trollpotion": "Vytvoří lektvar s mnoha otravnými účinky.",
"description.wurst.hack.truesight": "Umožňuje vidět neviditelné entity.",
"description.wurst.hack.tunneller": "Automaticky kope tunel.\n\n§c§lUPOZORNĚNÍ:§r I když se tento bot pokusí vyhnout lávě a dalším nebezpečím, není zaručeno, že nezemře. Vyšlete ho jen s výstrojí, o kterou vám nevadí přijít.",
"description.wurst.hack.x-ray": "Zobrazuje rudy skrz bloky.",
"description.wurst.setting.generic.attack_speed": "Rychlost útoku v klikách za sekundu.\n0 = dynamicky upravuje rychlost tak, aby odpovídala zpomalení útoku.",
"description.wurst.altmanager.premium": "Tento alt má heslo a může se připojit ke všem serverům.",
"description.wurst.altmanager.cracked": "Tento alt nemá heslo a bude fungovat pouze na cracknutých serverech.",
"description.wurst.altmanager.failed": "Posledně, když jste se pokoušeli přihlásit s tímhle altem, nefungovalo to.",
"description.wurst.altmanager.checked": "Heslo v minulosti fungovalo.",
"description.wurst.altmanager.unchecked": "S tímto altem jste se nikdy úspěšně nepřihlásili.",
"description.wurst.altmanager.favorite": "Označili jste tento alt jako jeden z vašich oblíbených.",
"description.wurst.altmanager.window": "Toto tlačítko otevře jiné okno.",
"description.wurst.altmanager.window_freeze": "Může to vypadat, že hra neodpovídá, dokud je toto okno otevřené.",
"description.wurst.altmanager.fullscreen": "§cVypnout režim celé obrazovky!",
"gui.wurst.altmanager.folder_error.title": "Nelze vytvořit složku '.Wurst encryption'!",
"gui.wurst.altmanager.folder_error.message": "Možná jste omylem zablokovali Wurstu přístup k této složce.\nAltManager bez ní nemůže šifrovat nebo dešifrovat váš seznam altů.\nStále můžete používat AltManager, ale žádné alty, které nyní vytvoříte, nebudou uloženy.\n\nCelá chyba zní následovně:\n%s",
"gui.wurst.altmanager.empty.title": "Váš seznam altů je prázdný.",
"gui.wurst.altmanager.empty.message": "Chcete na začátek nějaké náhodné alty?"
}

View File

@ -1,7 +1,7 @@
{
"description.wurst.hack.anchoraura": "Platziert automatisch Seelenanker um dich herum, lädt diese mit Glowstone auf, und sprengt sie dann, um damit Mobs und Spieler um dich herum zu killen.",
"description.wurst.hack.antiafk": "Läuft zufällig durch die Gegend, um dich vor Anti-AFK Plugins zu verstecken.\nBenötigt mindestens 3x3 Blöcke freien Platz.",
"description.wurst.hack.antiblind": "Verhindert den Blindheitseffekt.\nNicht kompatibel mit OptiFine.",
"description.wurst.hack.antiblind": "Verhindert Blindheits- und Dunkelheitseffekte.\nNicht kompatibel mit OptiFine.",
"description.wurst.hack.anticactus": "Schützt dich vor Kakteen.",
"description.wurst.hack.antiknockback": "Verhindert dass du von Mobs und Spielern weggeschubst wirst.",
"description.wurst.hack.antispam": "Blockiert Chat-Spam indem es wiederholte Nachrichten durch einen Zähler ersetzt.",
@ -51,7 +51,11 @@
"description.wurst.setting.invwalk.allow_clickgui": "Ermöglicht dir, herumzulaufen während Wursts ClickGUI offen ist.",
"description.wurst.setting.invwalk.allow_other": "Ermöglicht dir, herumzulaufen während andere In-Game-Fenster offen sind (z.B. Kisten, Pferde, Dorfbewohner-Handel), es sei denn das Fenster hat ein Textfeld.",
"description.wurst.hack.snowshoe": "Ermöglicht dir, auf Pulverschnee zu laufen.",
"description.wurst.other_feature.nochatreports": "Deaktiviert die kryptografischen Signaturen, die seit 1.19 an deine Chat-Nachrichten angehängt sind.\n\n§c§lWARNUNG: §cWenn §cdu §cChat-Nachrichten §cmit §cSignaturen §csendest, §ckann §cdein §cMinecraft-Account §cgemeldet §cund §cglobal §cvom §cMultiplayer §cverbannt §cwerden!§r\n\nSelbst wenn du immer nur harmlosere Dinge im Chat sagst, können deine signierten Nachrichten missbraucht werden um einen gefälschten Chat-Report zu erstellen, durch den dein Account dann trotzdem gesperrt wird.\n\nWenn du die Chat-Signaturen wieder aktivieren musst um einem Server beizutreten, solltest du in Erwägung ziehen, dort überhaupt nicht zu chatten. Oder du kannst einen Alt-Account benutzen, bei dem es dir egal ist wenn du ihn verlierst.",
"button.wurst.nochatreports.disable_signatures": "Signaturen deaktivieren",
"button.wurst.nochatreports.re-enable_signatures": "Signaturen wieder aktivieren",
"description.wurst.setting.generic.attack_speed": "Angriffsgeschwindigkeit in Klicks pro Sekunde.\n0 = Geschwindigkeit passt sich dynamisch an deine Abklingzeit an.",
"description.wurst.setting.generic.pause_attack_on_containers": "Greift nicht an wenn ein Behälter (Kiste, Trichter, usw.) geöffnet ist.\nNützlich für Minigame-Server die ein Kisten-ähnliches Inventar als Menü anzeigen.",
"description.wurst.altmanager.premium": "Dieser Alt hat ein Passwort und kann allen Servern beitreten.",
"description.wurst.altmanager.cracked": "Dieser Alt hat kein Passwort und funktioniert nur auf cracked Servern.",
"description.wurst.altmanager.failed": "Als du das letzte Mal versucht hast, dich mit diesem Alt einzuloggen, hat es nicht funktioniert.",
@ -64,5 +68,12 @@
"gui.wurst.altmanager.folder_error.title": "Konnte den '.Wurst encryption'-Ordner nicht erstellen!",
"gui.wurst.altmanager.folder_error.message": "Eventuell hast du Wurst aus Versehen den Zugriff auf diesen Ordner verweigert.\nAltManager kann deine Alt-Liste ohne diesen Ordner nicht ver- order entschlüsseln.\nDu kannst AltManager trotzdem noch benutzen, aber alle Alts die du jetzt erstellst werden nicht gespeichert.\n\nDie komplette Fehlermeldung lautet wie folgt:\n%s",
"gui.wurst.altmanager.empty.title": "Deine Alt-Liste ist noch leer.",
"gui.wurst.altmanager.empty.message": "Möchtest du mit ein paar zufällig generierten Alts anfangen?"
"gui.wurst.altmanager.empty.message": "Möchtest du mit ein paar zufällig generierten Alts anfangen?",
"gui.wurst.nochatreports.unsafe_server.title": "§4§lWARNUNG:§r Unsicherer Server",
"gui.wurst.nochatreports.unsafe_server.message": "Dieser Server verlangt dass Chat-Signaturen aktiviert sind, was deinen Account dem Risiko von betrügerischen Chat-Reports aussetzt.\n\nDu kannst diesem Server beitreten, wenn du Chat-Signaturen erlaubst und dich dann neu verbindest. Wenn du das tust, solltest du in Erwägung ziehen, überhaupt nicht zu chatten. Oder benutze einen Alt-Account, bei dem es dir egal ist wenn du ihn verlierst.\n\nWenn das dein Server ist, kannst du das Problem beheben, indem du 'enforce-secure-profile' in server.properties auf false setzt. In typischer Mojang-Manier bewirkt diese Einstellung genau das Gegenteil von dem, wonach es klingt.",
"gui.wurst.nochatreports.ncr_mod_server.title": "\"No Chat Reports\"-Server",
"gui.wurst.nochatreports.ncr_mod_server.message": "Dieser Server benutzt den \"No Chat Reports\"-Mod.\n\nDu kannst diesem Server beitreten, wenn du Chat-Signaturen blockierst und VanillaSpoof ausschaltest.",
"button.wurst.nochatreports.signatures_status": "Signaturen: ",
"gui.wurst.generic.allcaps_blocked": "BLOCKIERT",
"gui.wurst.generic.allcaps_allowed": "ERLAUBT"
}

View File

@ -1,7 +1,7 @@
{
"description.wurst.hack.anchoraura": "Automatically places (optional), charges, and detonates respawn anchors to kill entities around you.",
"description.wurst.hack.antiafk": "Walks around randomly to hide you from AFK detectors.\nNeeds at least 3x3 blocks of free space.",
"description.wurst.hack.antiblind": "Prevents blindness.\nIncompatible with OptiFine.",
"description.wurst.hack.antiblind": "Prevents blindness and darkness effects.\nIncompatible with OptiFine.",
"description.wurst.hack.anticactus": "Protects you from cactus damage.",
"description.wurst.hack.antiknockback": "Prevents you from getting pushed by players and mobs.",
"description.wurst.hack.antispam": "Blocks chat spam by adding a counter to repeated messages.",
@ -152,7 +152,11 @@
"description.wurst.hack.truesight": "Allows you to see invisible entities.",
"description.wurst.hack.tunneller": "Automatically digs a tunnel.\n\n§c§lWARNING:§r Although this bot will try to avoid lava and other dangers, there is no guarantee that it won't die. Only send it out with gear that you don't mind losing.",
"description.wurst.hack.x-ray": "Allows you to see ores through walls.",
"description.wurst.other_feature.nochatreports": "Disables the cryptographic signatures that since 1.19 are attached to your chat messages.\n\n§c§lWARNING: §cIf §cyou §csend §cchat §cmessages §cwith §csignatures, §cyour §cMinecraft §caccount §ccan §cget §creported §cand §cglobally §cbanned §cfrom §cmultiplayer!§r\n\nEven if you only say harmless things in chat, your signed messages can be abused to create a fake chat report that gets your account banned unfairly.\n\nIf you have to re-enable chat signatures to join a server, consider not using their chat at all. Or play on an alt account that you don't mind losing.",
"button.wurst.nochatreports.disable_signatures": "Disable Signatures",
"button.wurst.nochatreports.re-enable_signatures": "Re-enable Signatures",
"description.wurst.setting.generic.attack_speed": "Attack speed in clicks per second.\n0 = dynamically adjusts the speed to match your attack cooldown.",
"description.wurst.setting.generic.pause_attack_on_containers": "Won't attack while a container screen (chest, hopper, etc.) is open.\nUseful for minigame servers that display chest-like menus.",
"description.wurst.altmanager.premium": "This alt has a password and can join all servers.",
"description.wurst.altmanager.cracked": "This alt has no password and will only work on cracked servers.",
"description.wurst.altmanager.failed": "Last time you tried to log in with this alt, it didn't work.",
@ -165,5 +169,12 @@
"gui.wurst.altmanager.folder_error.title": "Couldn't create the '.Wurst encryption' folder!",
"gui.wurst.altmanager.folder_error.message": "You may have accidentally blocked Wurst from accessing this folder.\nAltManager cannot encrypt or decrypt your alt list without it.\nYou can still use AltManager, but any alts you create now won't be saved.\n\nThe full error is as follows:\n%s",
"gui.wurst.altmanager.empty.title": "Your alt list is empty.",
"gui.wurst.altmanager.empty.message": "Would you like some random alts to get started?"
"gui.wurst.altmanager.empty.message": "Would you like some random alts to get started?",
"gui.wurst.nochatreports.unsafe_server.title": "§4§lWARNING:§r Unsafe Server",
"gui.wurst.nochatreports.unsafe_server.message": "This server requires chat signatures to be enabled, which puts your account at risk of fraudulent chat reports.\n\nYou can join this server if you un-block chat signatures and then reconnect. If you do, consider not using the chat at all. Or play on an alt account that you don't mind losing.\n\nIf this is your server, you can fix this by setting 'enforce-secure-profile' to false in server.properties. In typical Mojang fashion, this setting does the opposite of what it sounds like.",
"gui.wurst.nochatreports.ncr_mod_server.title": "\"No Chat Reports\" Server",
"gui.wurst.nochatreports.ncr_mod_server.message": "This server uses the \"No Chat Reports\" mod.\n\nYou can join this server if you block chat signatures and disable VanillaSpoof.",
"button.wurst.nochatreports.signatures_status": "Signatures: ",
"gui.wurst.generic.allcaps_blocked": "BLOCKED",
"gui.wurst.generic.allcaps_allowed": "ALLOWED"
}

View File

@ -0,0 +1,166 @@
{
"description.wurst.hack.anchoraura": "Place automatiquement (optionel), charge et fait exploser les ancres de réapparition pour tuer les entités autour de vous.",
"description.wurst.hack.antiafk": "Marche au hasard pour vous cacher des détecteurs d'AFK.\nNécessite au moins 3x3 blocs d'espace libre.",
"OUTDATED.description.wurst.hack.antiblind": "Empeche l'effet cécité.\nIncompatible avec OptiFine.",
"description.wurst.hack.anticactus": "Vous protège des dommages causés par les cactus.",
"description.wurst.hack.antiknockback": "Vous empêche d'être poussé par les joueurs et les mobs.",
"description.wurst.hack.antispam": "Bloque les spams de chat en ajoutant un compteur aux messages répétés.",
"description.wurst.hack.antiwaterpush": "Vous empêche d'être poussé par l'eau.",
"description.wurst.hack.antiwobble": "Désactive l'effet d'oscillation causé par la nausée et les portails.",
"description.wurst.hack.arrowdmg": "Augmente massivement les dégâts des flèches, mais consomme également beaucoup de faim et réduit la précision. \n\nNe fonctionne pas avec les arbalètes et semble être corrigé sur les serveurs Paper.",
"description.wurst.setting.arrowdmg.packets": "Quantité de paquets à envoyer.\nPlus de paquets = plus de dégâts.",
"description.wurst.setting.arrowdmg.trident_yeet_mode": "Lorsqu'il est activé, les tridents volent beaucoup plus loin. Ne semble pas affecter les dégâts ou l'impulsion.\n\n§c§lATTENTION:§r Vous pouvez facilement perdre votre trident en activant cette option !",
"description.wurst.hack.autoarmor": "Gère votre armure automatiquement.",
"description.wurst.hack.autobuild": "Construit les choses automatiquement.\nPlacez un seul bloc pour commencer à construire.",
"description.wurst.hack.autodrop": "Supprime automatiquement les objets indésirables.",
"description.wurst.hack.autoleave": "Quitte automatiquement le serveur lorsque votre santé est faible.",
"description.wurst.hack.autoeat": "Mange automatiquement de la nourriture si nécessaire.",
"description.wurst.setting.autoeat.target_hunger": "Essaie de maintenir la barre de faim à ce niveau ou au-dessus, mais seulement si elle ne gaspille aucun point de faim.",
"description.wurst.setting.autoeat.min_hunger": "Maintient toujours la barre de faim à ce niveau ou au-dessus, même si cela gaspille des points de faim.\n6.5 - Ne peut pas causer de gaspillage avec de la nourriture vanilla.\n10.0 - Ignore complètement le gaspillage et garde juste la barre de la faim pleine.",
"description.wurst.setting.autoeat.injured_hunger": "Remplit la barre de faim au moins à ce niveau lorsque vous êtes blessé, même si cela gaspille des points de faim.\n10.0 - guérison la plus rapide\n9.0 - guérison la plus lente\n<9.0 - pas de guérison\n<3.5 - pas de sprint",
"description.wurst.setting.autoeat.injury_threshold": "Empêche les petites blessures de gaspiller toute votre nourriture. L'AutoEat ne vous considérera comme blessé que si vous avez perdu au moins ce nombre de cœurs.",
"description.wurst.setting.autoeat.take_items_from": "Où l'AutoEat devrait chercher de la nourriture.",
"description.wurst.setting.autoeat.eat_while_walking": "Vous ralentit, non recommandé.",
"description.wurst.setting.autoeat.allow_hunger": "La chair pourrie applique un effet de \"faim\" inoffensif.\nIl est sûr à manger et utile comme nourriture d'urgence.",
"description.wurst.setting.autoeat.allow_poison": "La nourriture empoisonné applique des dégâts au fil du temps.\nNon recommandé.",
"description.wurst.setting.autoeat.allow_chorus": "Manger des chorus vous téléporte à un endroit aléatoire.\nNot recommended.",
"description.wurst.hack.autofarm": "Récolte et replante les cultures automatiquement.\nFonctionne avec le blé, les carottes, les pommes de terre, les betteraves, les citrouilles, les melons, les cactus, les cannes à sucre, les algues, le bambou, les verrues du nether et les fèves de cacao.",
"description.wurst.hack.autofish": "Attrape automatiquement les poissons en utilisant votre meilleure canne à pêche. S'il trouve une meilleure canne pendant la pêche, il passera automatiquement à celle-ci.",
"description.wurst.hack.automine": "Mine automatiquement n'importe quel bloc que vous regardez.",
"description.wurst.hack.autopotion": "Lance automatiquement des potions jetables de soin instantanée lorsque votre santé est faible.",
"description.wurst.hack.autoreconnect": "Se reconnecte automatiquement lorsque vous êtes expulsé du serveur.",
"description.wurst.hack.autorespawn": "Vous réapparaît automatiquement chaque fois que vous mourez.",
"description.wurst.hack.autosign": "Écrit instantanément le texte que vous voulez sur chaque panneau que vous placez. Une fois activé, vous pouvez écrire normalement sur le premier panneau pour spécifier le texte de tous les autres panneaux.",
"description.wurst.hack.autosoup": "Mange automatiquement de la soupe lorsque votre santé est faible.\n\n§lNote:§r Ce hack ignore la faim et suppose que manger de la soupe recharge directement votre santé. Si le serveur sur lequel vous jouez n'est pas configuré pour cela, utilisez plutôt AutoEat.",
"description.wurst.hack.autosprint": "Vous fait sprinter automatiquement.",
"description.wurst.hack.autosteal": "Vole automatiquement tout dans tous les coffres et boîtes de shulker que vous ouvrez.",
"description.wurst.hack.autoswim": "Déclenche automatiquement l'animation de natation.",
"description.wurst.hack.autoswitch": "Change l'objet dans votre main tout le temps.\n\n§lConseil de Pro:§r Utilisez-le en combinaison avec BuildRandom tout en ayant beaucoup de blocs de laine ou de béton de différentes couleurs dans votre barre de raccourcis.",
"description.wurst.hack.autosword": "Utilise automatiquement la meilleure arme de votre barre de raccourcis pour attaquer les entités.\nConseil: Cela fonctionne avec le Killaura.",
"description.wurst.hack.autotool": "Équipe automatiquement l'outil applicable le plus rapide dans votre barre de raccourci lorsque vous essayez de casser un bloc.",
"description.wurst.hack.autototem": "Déplace automatiquement les totems d'immortalité vers votre main secondaire.",
"description.wurst.hack.autowalk": "Vous fait marcher automatiquement.",
"description.wurst.hack.basefinder": "Trouve les bases de joueurs en recherchant des blocs artificiels.\nLes blocs qu'il trouve seront mis en surbrillance dans la couleur sélectionnée.\nBon pour trouver des bases de faction.",
"description.wurst.hack.blink": "Suspend toutes les mises à jour de mouvement lorsqu'elles sont activées.",
"description.wurst.hack.boatfly": "Permet de voler avec des bateaux.",
"description.wurst.hack.bonemealaura": "Utilise automatiquement la poudre d'os sur des types de plantes spécifiques.\nCocher des cases pour spécifier les types de plantes.",
"description.wurst.hack.bowaimbot": "Viser automatiquement avec votre arc ou votre arbalète.",
"description.wurst.hack.buildrandom": "Place aléatoirement des blocs autour de vous.",
"description.wurst.hack.bunnyhop": "Vous fait sauter automatiquement.",
"description.wurst.hack.cameranoclip": "Permet à la caméra à la 3ème personne de traverser les murs.",
"description.wurst.hack.cavefinder": "Vous aide à trouver des grottes en les mettant en surbrillance dans la couleur sélectionnée.",
"description.wurst.hack.chattranslator": "Traduit les messages de chat entrants à l'aide de Google Traduction.",
"description.wurst.hack.chestesp": "Met en évidence les coffres à proximité.",
"description.wurst.hack.clickaura": "Attaque automatiquement l'entité valide la plus proche chaque fois que vous cliquez.\n\n§c§lATTENTION:§r ClickAuras semble généralement plus suspect que Killauras et est plus facile à détecter pour les plugins. Il est recommandé d'utiliser Killaura ou TriggerBot à la place.",
"description.wurst.hack.clickgui": "ClickGUI basé sur une fenêtre.",
"description.wurst.hack.crashchest": "Génère un coffre qui bannit essentiellement les gens du serveur s'ils en ont trop de copies dans leur inventaire. §c§lATTENTION:§r §cCela ne peut pas être annulé. Utiliser avec précaution !§r\n\nSi des copies sont plutôt placées dans un coffre, quiconque ouvre le coffre sera expulsé du serveur (une seule fois).",
"description.wurst.hack.creativeflight": "Vous permet de voler comme en mode Créatif.\n\n§c§lATTENTION:§r Vous subirez des dégâts de chute si vous n'utilisez pas le NoFall.",
"description.wurst.hack.criticals": "Change tous vos coups en coups critiques.",
"description.wurst.hack.crystalaura": "Place automatiquement (optionel) et fait exploser les cristaux de l'end pour tuer les entités autour de vous.",
"description.wurst.hack.derp": "Bouge la tête au hasard.\nUniquement visible par les autres joueurs.",
"description.wurst.hack.dolphin": "Vous fait sauter dans l'eau automatiquement.\n(juste comme un dophin)",
"description.wurst.hack.excavator": "Casse automatiquement tous les blocs de la zone sélectionnée.",
"description.wurst.hack.extraelytra": "Rend l'Elytre plus facile à utiliser.",
"description.wurst.hack.fancychat": "Remplace les caractères ASCII dans les messages de chat envoyés par des caractères Unicode plus sophistiqués. Peut être utilisé pour contourner les filtres de mots maudits sur certains serveurs.\nNe fonctionne pas sur les serveurs qui bloquent les caractères unicode.",
"description.wurst.hack.fastbreak": "Vous permet de casser des blocs plus rapidement.\nConseil: Cela fonctionne avec le Nuker.",
"description.wurst.hack.fastladder": "Permet de grimper plus rapidement aux échelles.",
"description.wurst.hack.fastplace": "Vous permet de placer des blocs 5 fois plus rapidement.\nConseil: Cela peut accélérer d'autres hacks comme l'AutoBuild.",
"description.wurst.hack.feedaura": "Nourrit automatiquement les animaux autour de vous.",
"description.wurst.hack.fightbot": "Un bot qui se promène automatiquement et tue tout.\nBon pour les MobArena.",
"description.wurst.hack.fish": "Désactive la gravité sous-marine pour que vous puissiez nager comme un poisson.",
"description.wurst.hack.flight": "Permet de voler.\n\n§c§lATTENTION:§r Vous subirez des dégâts de chute si vous n'utilisez pas le NoFall.",
"description.wurst.hack.follow": "Un bot qui suit l'entité la plus proche.\nTrès ennuyant.\n\nUtilisez .follow pour suivre une entité spécifique.",
"description.wurst.hack.forceop": "Cracke les mots de passe AuthMe.\nPeut être utilisé pour devenir OP.",
"description.wurst.hack.freecam": "Permet de déplacer la caméra sans déplacer votre personnage.",
"description.wurst.hack.fullbright": "Permet de voir dans le noir.",
"description.wurst.hack.glide": "Vous fait glisser lentement en tombant.\n\n§c§lATTENTION:§r Vous subirez des dégâts de chute si vous n'utilisez pas le NoFall.",
"description.wurst.hack.handnoclip": "Vous permet d'atteindre des blocs spécifiques à travers les murs.",
"description.wurst.hack.headroll": "Vous fait hocher la tête tout le temps.\nUniquement visible par les autres joueurs.",
"description.wurst.hack.healthtags": "Affiche la santé des joueurs dans leurs nametags.",
"description.wurst.hack.highjump": "Permet de sauter plus haut.\n\n§c§lATTENTION:§r Vous subirez des dégâts de chute si vous n'utilisez pas le NoFall.",
"description.wurst.hack.infinichat": "Supprime la limite de 256 caractères du chat.\nUtile pour les commandes longues qui modifient les données NBT.\n\n§6§lREMARQUE:§r Pas recommandé pour parler aux gens. La plupart des serveurs réduiront les messages à 256 caractères de leur côté.",
"description.wurst.hack.instantbunker": "Construit un petit bunker autour de vous. Nécessite 57 blocs.",
"description.wurst.hack.invwalk": "Permet de se déplacer pendant que l'inventaire est ouvert.",
"description.wurst.setting.invwalk.allow_clickgui": "Vous permet de vous déplacer pendant que le ClickGUI de Wurst est ouvert.",
"description.wurst.setting.invwalk.allow_other": "Vous permet de vous déplacer pendant que d'autres écrans du jeu sont ouverts (par ex: coffre, cheval, vente avec un villageois), à moins que l'écran ne comporte une zone de texte.",
"description.wurst.hack.itemesp": "Met en évidence les objets à proximité.",
"description.wurst.hack.itemgenerator": "Génère des objets aléatoires et les laisse tomber sur le sol.\n§oMode Créatif uniquement.§r",
"description.wurst.hack.jesus": "Permet de marcher sur l'eau.\nJésus a utilisé ce hack il y a environ 2000 ans.",
"description.wurst.hack.jetpack": "Permet de voler comme si vous aviez un jetpack.\n\n§c§lATTENTION:§r Vous subirez des dégâts de chute si vous n'utilisez pas le NoFall.",
"description.wurst.hack.kaboom": "Brise les blocs autour de vous comme une explosion.\nCela peut être beaucoup plus rapide que le Nuker si le serveur n'a pas NoCheat+. Cela fonctionne mieux avec des outils rapides et des blocs faibles.\nNote: Ceci n'est pas une véritable explosion.",
"description.wurst.hack.killauralegit": "Killaura plus lent qui est plus difficile à détecter.\nNon requis sur les serveurs NoCheat+ normaux !",
"description.wurst.hack.killaura": "Attaque automatiquement les entités autour de vous.",
"description.wurst.hack.killpotion": "Génère une potion qui peut presque tout tuer, y compris les joueurs en mode Créatif. Ne fonctionne pas sur les monstres morts-vivants, car ils sont déjà morts.\n\nNécessite le mode Créatif.",
"description.wurst.hack.liquids": "Permet de placer des blocs dans des liquides.",
"description.wurst.hack.lsd": "Provoque des hallucinations.",
"description.wurst.hack.masstpa": "Envoie une requête TPA à tous les joueurs.\nS'arrête si quelqu'un accepte.",
"description.wurst.hack.mileycyrus": "Vous fait twerker.",
"description.wurst.hack.mobesp": "Met en évidence les monstres à proximité.",
"description.wurst.hack.mobspawnesp": "Met en évidence les zones où les monstres peuvent apparaître.\n§ejaune§r - les monstres peuvent apparaître la nuit\n§crouge§r - les monstres peuvent toujours apparaître",
"description.wurst.hack.multiaura": "Killaura plus rapide qui attaque plusieurs entités à la fois.",
"description.wurst.hack.nameprotect": "Masque tous les noms de joueurs.",
"description.wurst.hack.nametags": "Modifie l'échelle des nametags de nom afin que vous puissiez toujours les lire. Vous permet également de voir les nametags des joueurs accroupis.",
"description.wurst.hack.navigator": "Une interface graphique consultable qui apprend vos préférences au fil du temps.",
"description.wurst.hack.nobackground": "Supprime le fond sombre derrière les inventaires.",
"description.wurst.hack.noclip": "Vous permet de vous déplacer librement à travers les blocs.\nUn bloc (par exemple du sable) doit tomber sur votre tête pour l'activer.\n\n§c§lATTENTION:§r Vous subirez des dégâts en vous déplaçant à travers les blocs !",
"description.wurst.hack.nocomcrash": "Lags et plantages des serveurs en utilisant l'exploit Nocom.\nNe fonctionne pas sur les serveurs Paper. Testé en Vanilla, Spigot et Fabric. Peut être désactivé par certains AntiCheats.",
"description.wurst.hack.nofall": "Vous protège des dommages causés par les chutes.",
"description.wurst.hack.nofireoverlay": "Bloque l'overlay lorsque vous êtes en feu.\n\n§c§lATTENTION:§r Cela peut vous faire brûler jusqu'à la mort sans que vous vous en apercevez.",
"description.wurst.hack.nohurtcam": "Désactive l'effet de tremblement lorsque vous vous blessez.",
"description.wurst.hack.nooverlay": "Bloque les overlays d'eau et de lave.",
"description.wurst.hack.nopumpkin": "Bloque l'overlay lorsque vous portez une citrouille sur la tête.",
"description.wurst.hack.noslowdown": "Annule les effets de lenteur causés par le miel, le sable des âmes et l'utilisation d'objets.",
"description.wurst.hack.noweather": "Vous permet de modifier la météo, l'heure et la phase de lune côté client.",
"description.wurst.hack.noweb": "Vous évite d'être ralenti par les toiles d'araignées.",
"description.wurst.hack.nuker": "Brise automatiquement les blocs autour de vous.",
"description.wurst.hack.nukerlegit": "Nuker plus lent qui contourne tous les plugins AntiCheat.\nNon requis sur les serveurs NoCheat+ normaux !",
"description.wurst.hack.openwateresp": "Indique si vous pêchez ou non dans l'eau libre et dessine un cadre autour de la zone utilisée pour le calcul de l'eau libre.",
"description.wurst.hack.overlay": "Rend l'animation du Nuker chaque fois que vous cassez un bloc.",
"description.wurst.hack.panic": "Désactive instantanément tous les hacks activés.\nSoyez prudent avec celui-ci !",
"description.wurst.hack.parkour": "Vous fait sauter automatiquement lorsque vous atteignez le bord d'un bloc.\nUtile pour les parcours.",
"description.wurst.hack.playeresp": "Met en évidence les joueurs à proximité.\nLes boîtes ESP des amis apparaîtront en bleu.",
"description.wurst.hack.playerfinder": "Trouve les joueurs éloignés pendant les orages.",
"description.wurst.hack.portalgui": "Vous permet d'ouvrir les GUI dans des portails.",
"description.wurst.hack.potionsaver": "Gèle tous les effets de potion pendant que vous êtes immobile.",
"description.wurst.hack.prophuntesp": "Permet de voir les faux blocs dans le Prophunt.\nConçu pour le Prohunt de Mineplex. Peut ne pas fonctionner sur d'autres serveurs.",
"description.wurst.hack.protect": "Un bot qui suit l'entité la plus proche et la protège des autres entités.\nUtilisez .protect pour protéger une entité spécifique au lieu de la plus proche.",
"description.wurst.hack.radar": "Affiche l'emplacement des entités à proximité.\n§crouge§r - joueurs\n§6orange§r - monstres\n§avert§r - animaux\n§7gris§r - autres",
"description.wurst.hack.reach": "Permet d'atteindre plus loin.",
"description.wurst.hack.remoteview": "Permet de voir le monde comme quelqu'un d'autre.\nUtilisez la commande .rv pour qu'il cible une entité spécifique.",
"description.wurst.hack.scaffoldwalk": "Place automatiquement des blocs sous vos pieds.",
"description.wurst.hack.search": "Vous aide à trouver des blocs spécifiques en les mettant en évidence en couleur arc-en-ciel.",
"description.wurst.hack.servercrasher": "Génère un élément qui peut planter les serveurs 1.15.x.\n§oMode Créatif uniquement.§r",
"description.wurst.hack.skinderp": "Bascule aléatoirement des parties de votre skin.",
"description.wurst.hack.sneak": "Vous fait vous s'accroupir automatiquement.",
"description.wurst.hack.snowshoe": "Permet de marcher sur de la poudreuse.",
"description.wurst.hack.speedhack": "Permet de courir ~2.5x plus vite que vous ne le feriez en sprintant et en sautant.\n\n§6§lATTENTION:§r Corrigé avec NoCheat+ version 3.13.2. Ne contournera que les anciennes versions de NoCheat+.\nTapez §l/ncp version§r pour vérifier la version NoCheat+ d'un serveur.",
"description.wurst.hack.speednuker": "Version plus rapide de Nuker qui ne peut pas contourner NoCheat+.",
"description.wurst.hack.spider": "Permet de grimper aux murs comme une araignée.",
"description.wurst.hack.step": "Vous permet d'intensifier les blocs complets.",
"description.wurst.hack.throw": "Utilise un objet plusieurs fois. Peut être utilisé pour lancer des boules de neige et des oeufs, faire apparaître des mobs, placer des minecarts, etc. en très grande quantité.\n\nCela peut causer beaucoup de lag et même planter un serveur.",
"description.wurst.hack.tillaura": "Transforme automatiquement la terre, l'herbe, etc. en terres labourés. À ne pas confondre avec le Killaura.",
"description.wurst.hack.timer": "Change la vitesse de presque tout.",
"description.wurst.hack.tired": "Vous fait ressembler à Alexander en avril 2015.\nUniquement visible par les autres joueurs.",
"description.wurst.hack.toomanyhax": "Bloque toutes les fonctionnalités dont vous ne voulez pas.\nVous permet de vous assurer que vous n'activez pas accidentellement le mauvais hack et que vous n'êtes pas banni pour cela.\nPour ceux qui veulent \"seulement cheat un peu\".\n\nUtilisez la commande §6.toomanyhax§r pour choisir les fonctionnalités à bloquer.\nFaites §6.help toomanyhax§r pour plus d'infos.",
"description.wurst.hack.tp-aura": "Attaque automatiquement l'entité valide la plus proche tout en se téléportant autour d'elle.",
"description.wurst.hack.trajectories": "Prédit la trajectoire de vol des flèches et des objets jetables.",
"description.wurst.hack.treebot": "Un bot expérimental qui se promène et coupe automatiquement les arbres.\nLimité aux petits arbres pour l'instant.",
"description.wurst.hack.triggerbot": "Attaque automatiquement l'entité que vous regardez.",
"description.wurst.hack.trollpotion": "Génère une potion avec de nombreux effets ennuyeux.",
"description.wurst.hack.truesight": "Permet de voir les entités invisibles.",
"description.wurst.hack.tunneller": "Creuse automatiquement un tunnel.\n\n§c§lATTENTION:§r Bien que ce bot essaie d'éviter la lave et d'autres dangers, il n'y a aucune garantie qu'il ne mourra pas. N'envoyez-le qu'avec du matériel que vous ne craignez pas de perdre.",
"description.wurst.hack.x-ray": "Permet de voir les minerais à travers les murs.",
"description.wurst.altmanager.premium": "Cet alt a un mot de passe et peut rejoindre tous les serveurs.",
"description.wurst.altmanager.cracked": "Cet alt n'a pas de mot de passe et ne fonctionnera que sur les serveurs cracks.",
"description.wurst.altmanager.failed": "La dernière fois que vous avez essayé de vous connecter avec cet alt, cela n'a pas fonctionné.",
"description.wurst.altmanager.checked": "Le mot de passe a fonctionné dans le passé.",
"description.wurst.altmanager.unchecked": "Vous ne vous êtes jamais connecté avec succès avec cet alt.",
"description.wurst.altmanager.favorite": "Vous avez marqué cet alt comme l'un de vos favoris.",
"description.wurst.altmanager.window": "Ce bouton ouvre une autre fenêtre.",
"description.wurst.altmanager.window_freeze": "Il peut sembler que le jeu ne répond pas lorsque cette fenêtre est ouverte.",
"description.wurst.altmanager.fullscreen": "§cDésactiver le mode plein écran !",
"gui.wurst.altmanager.folder_error.title": "Impossible de créer le dossier '.Wurst encryption' !",
"gui.wurst.altmanager.folder_error.message": "Vous avez peut-être accidentellement bloqué l'accès de Wurst à ce dossier.\nL'AltManager ne peut pas chiffrer ou déchiffrer votre liste d'alt sans lui.\nVous pouvez toujours utiliser l'AltManager, mais les alts que vous créez maintenant ne seront pas enregistrés.\n\nL'erreur complète est la suivante :\n%s",
"gui.wurst.altmanager.empty.title": "Votre liste d'alt est vide.",
"gui.wurst.altmanager.empty.message": "Aimeriez-vous quelques alts aléatoires pour commencer ?"
}

View File

@ -1,7 +1,7 @@
{
"description.wurst.hack.anchoraura": "Posiziona automaticamente (opzionale), carica e fa esplodere le ancore di rigenerazione per uccidere le entità intorno a te.",
"description.wurst.hack.antiafk": "Cammina randomicamente per nasconderti dai detector di player AFK.\nHa bisogno di almeno un 3x3 di spazio libero.",
"description.wurst.hack.antiblind": "Previene gli effetti della pozione di cecità.\nIncompatibile con la OptiFine.",
"OUTDATED.description.wurst.hack.antiblind": "Previene gli effetti della pozione di cecità.\nIncompatibile con la OptiFine.",
"description.wurst.hack.anticactus": "Ti protegge dai danni causati dai cactus.",
"description.wurst.hack.antiknockback": "Annulla il knockback (non permette alle entità di spingerti).",
"description.wurst.hack.antispam": "Blocca gli spammer in chat mettendo un counter per i messaggi.",

View File

@ -1,7 +1,7 @@
{
"description.wurst.hack.anchoraura": "リスポーンアンカーを自動で設置(任意)、チャージ、爆発させ、付近にいるエンティティを倒す。",
"description.wurst.hack.antiafk": "離席を検知されないよう、辺りをランダムに歩き回る。\n最低3×3の広さの自由なスペースが必要。",
"description.wurst.hack.antiblind": "盲目効果を無効化する。\nOptiFineとの同時使用不可。",
"OUTDATED.description.wurst.hack.antiblind": "盲目効果を無効化する。\nOptiFineとの同時使用不可。",
"description.wurst.hack.anticactus": "サボテンのダメージを無効化する。",
"description.wurst.hack.antiknockback": "プレイヤーやモブからのノックバックを無効化する。",
"description.wurst.hack.antispam": "繰り返し送信されたメッセージにカウントを表示し、チャットスパムを防ぐ。",
@ -15,6 +15,15 @@
"description.wurst.hack.autodrop": "必要のないアイテムを自動で捨てる。",
"description.wurst.hack.autoleave": "残り体力が少ない際に自動でサーバーから離脱する。",
"description.wurst.hack.autoeat": "必要であれば自動で食料を食べる。",
"description.wurst.setting.autoeat.target_hunger": "空腹バーをこのレベル以上に維持しようとしますが、空腹ポイントを無駄にしないことが条件です。",
"description.wurst.setting.autoeat.min_hunger": "空腹ポイントを消費してでも、常に空腹バーをこのレベル以上に保ちます。\n6.5 - バニラ食品でゴミを出さない。\n10.0 - 無駄を徹底的に省き、満腹ゲージを満タンにする。",
"description.wurst.setting.autoeat.injured_hunger": "怪我をしたときに、空腹ポイントを消費してでも、少なくともこのレベルまで空腹バーを満たします。\n10.0 - 最速の治癒\n9.0 - 最も遅い治癒\n<9.0 - 回復しない\n<3.5 - ノースプリント",
"description.wurst.setting.autoeat.injury_threshold": "小さな怪我による食料の浪費を防ぎます。AutoEatはハートを一定数以上失った場合のみ、負傷したとみなします。",
"description.wurst.setting.autoeat.take_items_from": "AutoEatが食材を探すべき場所。",
"description.wurst.setting.autoeat.eat_while_walking": "速度を落とす, 推奨しません。",
"description.wurst.setting.autoeat.allow_hunger": "腐った肉には無害な \"空腹\"の効果がある。\n食べても安全で、非常食としても有用です。",
"description.wurst.setting.autoeat.allow_poison": "毒のある食べ物は、時間経過とともにダメージが加わります。\n推奨しません。",
"description.wurst.setting.autoeat.allow_chorus": "コーラスフルーツを食べて、ランダムな場所にテレポートします。\n推奨しません。",
"description.wurst.hack.autofarm": "収穫と植え直しを自動で行う。\n小麦、ニンジン、ジャガイモ、ビートルート、カボチャ、スイカ、サボテン、サトウキビ、コンブ、竹、ネザーウォート、カカオ豆に対応している。",
"description.wurst.hack.autofish": "インベントリ内で一番良い釣り竿を使用し、自動で魚を釣る。釣りの際中により良い釣り竿が見つかった際は持ち替える。",
"description.wurst.hack.automine": "視線の先にあるブロックを自動で採掘する。",
@ -143,6 +152,7 @@
"description.wurst.hack.truesight": "透明なエンティティを見ることができるようになる。",
"description.wurst.hack.tunneller": "自動でトンネルを掘る。\n\n§c§l注意: §r溶岩などの危険は回避しようとはするものの、絶対に死なないという保証はない。失っても大丈夫なツールで使用すること。",
"description.wurst.hack.x-ray": "壁越しに鉱石を見ることができるようになる。",
"description.wurst.setting.generic.attack_speed": "攻撃速度(クリック数/秒)。\n0 = は、攻撃のクールダウンに合わせて速度を自動的に調整します。",
"description.wurst.altmanager.premium": "このAltにはパスワードがあり、すべてのサーバーに参加可能です。",
"description.wurst.altmanager.cracked": "このAltにはパスワードがなく、非正規アカウントが参加可能なサーバーでのみ使用可能です。",
"description.wurst.altmanager.failed": "最後にこのAltへのログインを試みた際には、失敗しています。",

View File

@ -1,7 +1,7 @@
{
"description.wurst.hack.anchoraura": "Automatycznie umieszcza (opcjonalnie), ładuje i wysadza kotwice odrodzenia, aby zabijać otaczające cię istoty.",
"description.wurst.hack.antiafk": "Spaceruje losowo dookoła, aby ukryć cię przed wykrywaczami AFK.\nWymaga co najmniej 3x3 bloków wolnego miejsca.",
"description.wurst.hack.antiblind": "Zapobiega oślepieniu.\nNiekompatybilny z OptiFine.",
"OUTDATED.description.wurst.hack.antiblind": "Zapobiega oślepieniu.\nNiekompatybilny z OptiFine.",
"description.wurst.hack.anticactus": "Ochrania cię przed obrażeniami od kaktusa.",
"description.wurst.hack.antiknockback": "Zapobiega popychaniu cię przez innych graczy i moby.",
"description.wurst.hack.antispam": "Blokuje spam na czacie, dodając licznik do powtarzających się wiadomości.",

View File

@ -1,7 +1,7 @@
{
"description.wurst.hack.anchoraura": "Plaseaza automat (optional), incarca, si detoneaza respawn anchoruri pentru a ucide entitati din jurul tau.",
"description.wurst.hack.antiafk": "Umbla anapoda pentru a evita pluginuri anti-afk.\nNeceseita un spatiu liber de cel putin 3x3.",
"description.wurst.hack.antiblind": "Previne efectul de orbire.\nIncompatibl cu OptiFine.",
"OUTDATED.description.wurst.hack.antiblind": "Previne efectul de orbire.\nIncompatibl cu OptiFine.",
"description.wurst.hack.anticactus": "Esti protejat de damage-ul dat de cactusi.",
"description.wurst.hack.antiknockback": "Te previne din a fi impins de catre playeri sau mobi.",
"description.wurst.hack.antispam": "Opreste chat spam-ul prin adaugarea unui raspuns la mesaje repetate.",

View File

@ -1,7 +1,7 @@
{
"description.wurst.hack.anchoraura": "Автоматически ставит (если отмечено), заряжает, и взрывает якоря возрождения чтобы убить сущности вокруг.",
"description.wurst.hack.antiafk": "Ходит в случайном направлении чтобы сервер не знал что Вы АФК.\nДля работы необходимо пустое пространство в 3 на 3 блока.",
"description.wurst.hack.antiblind": "Отключает эффект слепоты.\nНесовместим с OptiFine.",
"OUTDATED.description.wurst.hack.antiblind": "Отключает эффект слепоты.\nНесовместим с OptiFine.",
"description.wurst.hack.anticactus": "Защищает Вас от урона от столкновения с кактусами.",
"description.wurst.hack.antiknockback": "Предотвращает откидывание при получении урона.",
"description.wurst.hack.antispam": "Блокирует спам в чате добавляя счетчик повторений у сообщения.",

View File

@ -1,17 +1,29 @@
{
"description.wurst.hack.anchoraura": "Автоматично ставить (якщо прийнято), заряджає і підриває якоря відродження, щоб убити сутності навколо.",
"description.wurst.hack.antiafk": "Ходить у випадковому напрямку, щоб сервер не знав, що ви є АФК.\nДля роботи необхідний простір хоча б 3х3 блоку.",
"description.wurst.hack.antiblind": "Вимикає ефект сліпоти.\nНесумісний із OptiFine.",
"OUTDATED.description.wurst.hack.antiblind": "Вимикає ефект сліпоти.\nНесумісний із OptiFine.",
"description.wurst.hack.anticactus": "Захищає вас від урону від зіткнення з кактусами.",
"description.wurst.hack.antiknockback": "Запобігає відкиданням при отриманні урону.",
"description.wurst.hack.antispam": "Блокує спам у чаті, натомість додаючи кількість повторень біля повідомлень.",
"description.wurst.hack.antiwaterpush": "Вас більше не зносить течією води.",
"description.wurst.hack.antiwobble": "Вимикає похитування екрана від порталу та ефекту нудоти.",
"description.wurst.hack.arrowdmg": "Суттєво збільшує ушкодження від стріл, але також споживає багато голоду та знижує точність.\n\nНе працює з арбалетами і, здається, виправлено на серверах Paper.",
"description.wurst.setting.arrowdmg.packets": "Кількість пакетів для відправки.\nБільше пакетів = більша шкода.",
"description.wurst.setting.arrowdmg.trident_yeet_mode": "Коли ввімкнено, тризуби летять набагато далі. Здається, не впливає на пошкодження чи Riptide.\n\n§c§lПОПЕРЕДЖЕННЯ:§r Ви можете легко втратити свій тризуб, увімкнувши цю опцію!",
"description.wurst.hack.autoarmor": "Автоматично екіпірує найкращу броню.",
"description.wurst.hack.autobuild": "Автоматично будує об'єкти.\nПоставте блок, щоб почати будівництво.",
"description.wurst.hack.autodrop": "Автоматично викидає непотрібні речі.",
"description.wurst.hack.autoleave": "Автоматичний вихід із сервера, коли залишилося мало здоров'я.",
"description.wurst.hack.autoeat": "Автоматично їсть, коли голод не повний.",
"description.wurst.setting.autoeat.target_hunger": "Намагається утримувати планку голоду на цьому рівні або вище, але лише якщо він не витрачає жодних балів голоду.",
"description.wurst.setting.autoeat.min_hunger": "Завжди утримує планку голоду на цьому рівні або вище, навіть якщо втрачає деякі точки голоду.\n6.5 Не може викликати жодних відходів із ванільними продуктами.\n10.0 Повністю ігнорує відходи та просто підтримує панель голоду повною.",
"description.wurst.setting.autoeat.injured_hunger": "Заповнює смужку голоду принаймні до цього рівня, коли ви поранені, навіть якщо це витрачає кілька очок голоду.\n10.0 - найшвидше загоєння\n9.0 - найповільніше загоєння\n<9.0 - немає загоєння\n<3.5 - немає спринту",
"description.wurst.setting.autoeat.injury_threshold": "Запобігає дрібним травмам від втрати всієї їжі. AutoEat вважатиме вас пораненим, лише якщо ви втратили принаймні таку кількість сердець.",
"description.wurst.setting.autoeat.take_items_from": "Де AutoEat має шукати їжу.",
"description.wurst.setting.autoeat.eat_while_walking": "Уповільнює, не рекомендується.",
"description.wurst.setting.autoeat.allow_hunger": "Гнила м’якоть застосовує нешкідливий ефект «голоду».\nВона безпечна для вживання в їжу та корисна як їжа для невідкладної допомоги.",
"description.wurst.setting.autoeat.allow_poison": "Отруйна їжа з часом завдає шкоди.\nНе рекомендується.",
"description.wurst.setting.autoeat.allow_chorus": "З’їдаючи фрукти хору, ви телепортуєтеся у випадкове місце.\nНе рекомендується.",
"description.wurst.hack.autofarm": "Автоматично збирає та садить урожай.\nПрацює з пшеницею, морквою, картоплею, буряком, гарбузами, кавунами, кактусами, тростиною, водоростями, бамбуком, пекельним наростом, та какао-бобами.",
"description.wurst.hack.autofish": "Автоматично ловить рибу використовуючи вашу найкращу вудку. Якщо під час риболовлі знайдеться вудка ще краще переключиться на неї.",
"description.wurst.hack.automine": "Автоматично копає блоки на погляд.",
@ -68,6 +80,9 @@
"description.wurst.hack.highjump": "Дозволяє стрибати вище.\n\n§c§lУВАГА:§r Ви будете отримувати урон від падіння, якщо не увімкніть NoFall.",
"description.wurst.hack.infinichat": "Скасовує ліміт 256 символів на повідомлення в чаті.\nКорисно для довгих команд з NBT-тегами.\n\n§6§lПРИМІТКА:§r Не рекомендується для спілкування, примусово обрізатимуть повідомлення на 256 символах.",
"description.wurst.hack.instantbunker": "Будує довкола вас невеликий бункер. Потрібно 57 блоків.",
"description.wurst.hack.invwalk": "Дозволяє пересуватися, поки інвентар відкритий.",
"description.wurst.setting.invwalk.allow_clickgui": "Дозволяє переміщатися, коли відкритий клікГІ Wurst.",
"description.wurst.setting.invwalk.allow_other": "Дозволяє пересуватися, поки відкриті інші екрани в грі (наприклад, скриня, кінь, торгівля селянами), якщо на екрані немає текстового поля.",
"description.wurst.hack.itemesp": "Підсвічує речі, що лежать.",
"description.wurst.hack.itemgenerator": "Створює випадкові речі та викидає їх.\n§oПрацює тільки в креативі.§r",
"description.wurst.hack.jesus": "Дозволяє ходити по воді.\nБлизько двох тисяч років тому ним користувався Ісус.",

View File

@ -1,149 +1,170 @@
{
"description.wurst.hack.anchoraura": "自动放置(可选),充能,引爆重生锚并击杀你附近的实体。",
"description.wurst.hack.antiafk": "随机走动,用于避免服务器挂机检测。\n需要至少有 3x3 的区域可以走动。",
"description.wurst.hack.antiblind": "防止失明。\n与 OptiFine即高清修复不兼容。",
"OUTDATED.description.wurst.hack.antiblind": "防止失明。\n与 OptiFine即高清修复不兼容。",
"description.wurst.hack.anticactus": "保护你免受仙人掌伤害。",
"description.wurst.hack.antiknockback": "保护你不被其他生物或玩家推动和用剑击退。",
"description.wurst.hack.antispam": "预防存在的重复刷屏,改为用计数器显示。",
"description.wurst.hack.antiknockback": "保护你不被其他生物或玩家推动和用剑击退。",
"description.wurst.hack.antispam": "将重复的刷屏改为计数器显示。",
"description.wurst.hack.antiwaterpush": "防止你被水流推动。",
"description.wurst.hack.antiwobble": "关闭因反胃和传送门引起的摇晃效果。",
"description.wurst.hack.antiwobble": "关闭由反胃和传送门引起的摇晃效果。",
"description.wurst.hack.arrowdmg": "显著提高箭的伤害,但同时消耗更多的饥饿值以及降低箭的精度。\n\n对弩而言无效并且在Paper服务端似乎已经被修复了。",
"description.wurst.setting.arrowdmg.packets": "发送数据包的数量。\n更多的数据包意味着更高的伤害。",
"description.wurst.setting.arrowdmg.trident_yeet_mode": "打开之后,三叉戟将飞得更远。似乎不影响伤害以及“激流”魔咒。\n\n§c§l警告§r打开这个选项之后你很容易弄丢你的三叉戟",
"description.wurst.hack.autoarmor": "自动管理你的盔甲。",
"description.wurst.hack.autobuild": "自动建筑东西。\n放一个方块就开始自动建造。",
"description.wurst.hack.autodrop": "自动丢弃你不想要的物品(有预设)。",
"description.wurst.hack.autoleave": "如果你的血量低于规定值,将会自动离开服务器。",
"description.wurst.hack.autoeat": "当必要的时候将会自动进食。",
"description.wurst.hack.autofarm": "自动收获与种植农作物。\n有效作物为小麦、胡萝卜、马铃薯、甜菜根、南瓜、西瓜、仙人掌、甘蔗、海带、竹子、 地狱疣和可可豆。",
"description.wurst.hack.autofish": "当你在钓鱼的时候,自动钓鱼同时使用你最好的鱼竿,如果有更好的鱼竿将会自动使用。",
"description.wurst.hack.automine": "自动挖掘你眼前所指的方块。",
"description.wurst.hack.autopotion": "当你的生命值过低时候,自动扔一瓶喷溅型瞬间恢复。",
"description.wurst.hack.autoreconnect": "当你被服务器踢出时候,自动重连。",
"description.wurst.hack.autorespawn": "当你死亡的时候自动重生。",
"description.wurst.hack.autosign": "立即在每个牌子上写下任何你想要的文字,当此功能激活的时候,你只需要很普通的在第一个牌子上,写你想要的文字,之后接下来所有牌子都跟上一个一样。",
"description.wurst.hack.autosoup": "当你生命值低下的时候自动喝汤。\n\n§l注意§r 这个功能是忽视 “饥饿值”,因为特定服务器小游戏内(如 Hypixel喝汤是直接补充生命而不是回复饱腹值。如果你正在玩的服务器没有这个功能请使用 AutoEat 功能而不是这个。",
"description.wurst.hack.autosprint": "让你自动进入疾跑。",
"description.wurst.hack.autosteal": "你所打开的箱子以及潜影盒会自动盗窃里面所有物品。",
"description.wurst.hack.autoswim": "当你在水中会自动切换泳姿状态。",
"description.wurst.hack.autoswitch": "自动更换手上拿着的物品。\n\n§l进阶提示§r 倘若在你的快捷栏有不同颜色的羊毛以及,不同颜色的混粘土,利用这个功能与 BuildRandom 同时使用会出现意想不到的效果。",
"description.wurst.hack.autosword": "当你击杀实体的时候,自动使用快捷栏中最好的武器。\n提示 在使用 Killaura 功能时候,最好开启。",
"description.wurst.hack.autotool": "当你破坏方块的时候会在你的物品快捷栏中切换成最优的破坏工具。",
"description.wurst.hack.autodrop": "自动丢弃你不想要的物品(可以预设)。",
"description.wurst.hack.autoleave": "血量过低时自动离开服务器。",
"description.wurst.hack.autoeat": "当必要的时候将会自动进食(可以预设)。",
"description.wurst.setting.autoeat.target_hunger": "在不浪费任何饥饿值的前提下,尝试将饥饿条保持在此水准之上。",
"description.wurst.setting.autoeat.min_hunger": "即便浪费一些补充的饥饿值,也总是将饥饿条保持在此水准之上。\n6.5 - 不会导致任何原版食物所补充饥饿值的浪费。\n10.0 - 完全忽视饥饿值的浪费,总是将饥饿条补满。",
"description.wurst.setting.autoeat.injured_hunger": "当你受伤时将你的饥饿条补充到此水准之上,即使这会导致食物补充的饥饿值被浪费。\n10.0 - 最快的回复速度\n9.0 - 最慢的回复速度\n<9.0 - 不回复生命值\n<3.5 - 无法疾跑",
"description.wurst.setting.autoeat.injury_threshold": "防止轻微的受伤就浪费掉你所有的食物。AutoEat 将只会考虑你失去这么多颗心的情况。",
"description.wurst.setting.autoeat.take_items_from": "决定 AutoEat 从哪寻找食物。",
"description.wurst.setting.autoeat.eat_while_walking": "边走边吃,这会使你减速(不推荐)。",
"description.wurst.setting.autoeat.allow_hunger": "食用腐肉会带来一个无害的“饥饿“效果。\n将腐肉作为应急食物安全又有用。",
"description.wurst.setting.autoeat.allow_poison": "食用有毒的食物会带来持续伤害。\n不推荐。",
"description.wurst.setting.autoeat.allow_chorus": "食用紫颂果会将你随机传送。\n不推荐。",
"description.wurst.hack.autofarm": "自动种植与收获农作物。\n有效作物为小麦、胡萝卜、马铃薯、甜菜根、南瓜、西瓜、仙人掌、甘蔗、海带、竹子、地狱疣和可可豆。",
"description.wurst.hack.autofish": "当你在钓鱼的时切换到最好的鱼竿并自动钓鱼。",
"description.wurst.hack.automine": "自动挖掘你准星所指的方块。",
"description.wurst.hack.autopotion": "当你的生命值过低时,自动扔出一瓶喷溅型瞬间恢复药水。",
"description.wurst.hack.autoreconnect": "被踢出服务器后自动重连。",
"description.wurst.hack.autorespawn": "死亡后自动重生。",
"description.wurst.hack.autosign": "瞬间在每个告示牌上写下你想要的文字。激活此功能后,你只需要正常在第一个告示牌上输入文字,接下来所有的告示牌上的文字都将与第一个相同。",
"description.wurst.hack.autosoup": "当你生命值低下的时候自动喝汤。\n\n§l注意§r 这个功能是无视“饥饿值”设定的,因为在特定服务器的小游戏内(如 Hypixel喝汤是直接补充生命而不是回复饥饿值。如果你正在玩的服务器没有这个功能请使用 AutoEat 功能而不是这个。",
"description.wurst.hack.autosprint": "使你自动疾跑。",
"description.wurst.hack.autosteal": "自动盗窃你所打开的箱子以及潜影盒内的所有物品。",
"description.wurst.hack.autoswim": "在水中自动切换泳姿状态。",
"description.wurst.hack.autoswitch": "持续切换手持的物品。\n\n§l进阶提示§r 倘若你的快捷栏有不同颜色的羊毛或不同颜色的混凝土,这个功能与 BuildRandom 同时使用会出现意想不到的效果。",
"description.wurst.hack.autosword": "击杀实体的时候,自动使用快捷栏中最好的武器。\n提示在使用 Killaura 时候,最好开启此功能。",
"description.wurst.hack.autotool": "破坏方块时自动切换成快捷栏中最优的破坏工具。",
"description.wurst.hack.autototem": "自动将不死图腾移动到副手上。",
"description.wurst.hack.autowalk": "让你自动走路不需要自己按着W键。",
"description.wurst.hack.basefinder": "通过寻找人为建造的方块以找到玩家的基地\n假如方块被找到将会高亮以你所选的颜色。\n建议用于寻找帮派的基地。",
"description.wurst.hack.autowalk": "使你自动走路而无需按住W键。",
"description.wurst.hack.basefinder": "通过寻找人为建造的方块来寻找玩家的基地。\n假如方块被找到将以所选的颜色高亮。\n建议用于寻找帮派基地。",
"description.wurst.hack.blink": "暂停所有动作更新,并在关闭时继续。",
"description.wurst.hack.boatfly": "允许玩家在使用船飞天。",
"description.wurst.hack.bonemealaura": "在指定的作物上自动使用骨粉。\n使用 复选框 来指定作物。",
"description.wurst.hack.bowaimbot": "当你用弓或者弩时自动瞄准所设定的实体。",
"description.wurst.hack.buildrandom": "在你的附近随机放方块。",
"description.wurst.hack.boatfly": "使玩家可以乘船飞上天。",
"description.wurst.hack.bonemealaura": "往指定的作物上自动使用骨粉。\n使用复选框来指定作物。",
"description.wurst.hack.bowaimbot": "当你使用弓或弩时自动瞄准所设定的实体。",
"description.wurst.hack.buildrandom": "在你的附近随机放方块。",
"description.wurst.hack.bunnyhop": "让你自动跳跃,但不能做到像 CSGO 一样。",
"description.wurst.hack.cameranoclip": "允许第三人称忽视墙体碰撞直接把视角穿过去。",
"description.wurst.hack.cavefinder": "帮助你找到洞穴并以所选的颜色将他们高亮。",
"description.wurst.hack.chattranslator": "从聊天栏的信息利用 Google 翻译成你所指定的语言(在中国大陆内不起效,除非你懂得如何重新起效)。",
"description.wurst.hack.chestesp": "按你所设定的颜色高亮附近的箱子,潜影盒,陷阱箱,末影箱。",
"description.wurst.hack.clickaura": "当瞄准的时候。自动攻击你附近有效的实体\n\n§c§l警告§r 此功能通常来说比 Killaura 更加容易被发现且被检测出来,这极力推荐使用 Killaura 或者 TriggerBot 作为替代。",
"description.wurst.hack.cameranoclip": "在第三人称下,可以忽视墙体碰撞而直接把视角穿过去。",
"description.wurst.hack.cavefinder": "帮助你找到洞穴并以所选的颜色将他们高亮。",
"description.wurst.hack.chattranslator": "利用 Google 翻译翻译聊天框内的信息(在中国大陆内不起效,除非你懂得如何重新起效)。",
"description.wurst.hack.chestesp": "以所设定的颜色高亮附近的箱子(包括潜影盒、陷阱箱和末影箱)。",
"description.wurst.hack.clickaura": "当瞄准的时候。自动攻击你附近有效的实体\n\n§c§l警告§r 此功能通常来说比 Killaura 更加容易被发现或检测,因此推荐使用 Killaura 或者 TriggerBot 代替。",
"description.wurst.hack.clickgui": "基于窗口的点击式 GUI有分类。",
"description.wurst.hack.crashchest": "生成一个容易封禁玩家的箱子,如果他们复制大量的箱子在他们背包里面 §c§l警告§r §c这个无法撤销。 请小心使用§r\n\n如果复制出来被放在箱子里无论谁打开箱子就会被踢出服务器只要一个)。",
"description.wurst.hack.creativeflight": "可以跟创造模式的飞行没啥两样(即双击空格起飞)。\n\n§c§l警告§r 如果你不使用 NoFall会导致受到掉落伤害。",
"description.wurst.hack.criticals": "将你的攻击全变为暴击。",
"description.wurst.hack.crystalaura": "自动放置(可选)并引爆末影水晶杀死你附近的实体。",
"description.wurst.hack.derp": "让你的头疯狂到处随机转动。\n仅限其他玩家可视。",
"description.wurst.hack.dolphin": "让你在水中起来。\n就像海豚一样",
"description.wurst.hack.crashchest": "生成一个箱子,当玩家复制大量的箱子在他们背包里面时容易被封禁。 §c§l警告§r §c这无法撤销请小心使用§r\n\n如果这个箱子被复制出来放在箱子里无论谁打开箱子都会被踢出服务器只需放一个)。",
"description.wurst.hack.creativeflight": "类似创造模式的飞行(即双击空格起飞)。\n\n§c§l警告§r 如果你不使用 NoFall依然会受到摔落伤害。",
"description.wurst.hack.criticals": "使你每次攻击都打出暴击。",
"description.wurst.hack.crystalaura": "自动放置(可选)并引爆末影水晶杀死你附近的实体。",
"description.wurst.hack.derp": "让你的头疯狂地到处随机转动。\n仅限其他玩家可见。",
"description.wurst.hack.dolphin": "让你在水中浮。\n就像海豚一样",
"description.wurst.hack.excavator": "自动破坏所选区域内的所有方块。",
"description.wurst.hack.extraelytra": "让你的鞘翅更加容易使用。",
"description.wurst.hack.fancychat": "替换 ASCII 字符在发送消息时,变成更好的 Unicode 字符。可以用于绕过英文单词字符限制在一些服务器上。\n但对于那些禁用 Unicode 字符的服务器不起作用。",
"description.wurst.hack.fastbreak": "允许你更快的破坏方块。\n提示可以和 Nuker 功能配合利用。",
"description.wurst.hack.fastladder": "允许你爬梯的速度加快。",
"description.wurst.hack.fastplace": "允许你正常放置方块速度的5倍或以上。\n提示这个能增加 AutoBuild 功能的速度。",
"description.wurst.hack.fancychat": "在发送消息时,用更好的 Unicode 字符替换 ASCII 字符。这个功能可以用于绕过在一些服务器上对于英文字符的限制。\n但对于那些禁用 Unicode 字符的服务器不起作用。",
"description.wurst.hack.fastbreak": "使你更快地破坏方块。\n提示可以和 Nuker 功能配合利用。",
"description.wurst.hack.fastladder": "加快你攀爬梯子的速度。",
"description.wurst.hack.fastplace": "使你放置方块的速度达到原本的5倍或以上。\n提示这个能增加 AutoBuild 功能的速度。",
"description.wurst.hack.feedaura": "自动喂食你附近的动物。",
"description.wurst.hack.fightbot": "仿照机器人会自动跟随并击杀最近的实体。\n很适合刷怪区域。",
"description.wurst.hack.fish": "关闭水底的重力,所以你可以像鱼一样游泳。",
"description.wurst.hack.flight": "允许你飞天。\n\n§c§l警告§r 如果你不使用 NoFall会导致受到掉落伤害。",
"description.wurst.hack.follow": "跟机器人一样跟随最近的实体。\n非常惹恼人。\n\n使用 .follow 指令跟随特定的实体。",
"description.wurst.hack.forceop": "破解 AuthMe 登录插件 密码。\n一般用于获得OP。PS只是撞库,跑密码的软件)",
"description.wurst.hack.freecam": "允许在不移动你角色的情况下自由移动角色。",
"description.wurst.hack.fightbot": "自动寻找并击杀最近的实体。\n很适合刷怪区域。",
"description.wurst.hack.fish": "关闭水底的重力,使你可以像鱼一样游泳。",
"description.wurst.hack.flight": "允许你飞天。\n\n§c§l警告§r 如果你不使用 NoFall依然会受到摔落伤害。",
"description.wurst.hack.follow": "自动跟随最近的实体。\n非常恼人。\n\n使用 .follow 指令跟随特定的实体。",
"description.wurst.hack.forceop": "破解 AuthMe 登录插件密码。\n一般用于获得 OP。PS只是跑密码的软件",
"description.wurst.hack.freecam": "允许在不移动你角色的情况下自由移动摄像机。(效果类似灵魂出窍)",
"description.wurst.hack.fullbright": "可以在黑暗中看的一清二楚。",
"description.wurst.hack.glide": "使你在下落时缓慢下降。\n\n§c§l警告§r 如果你不使用 NoFall 则可能会摔落致死。",
"description.wurst.hack.glide": "使你缓慢掉落。\n\n§c§l警告§r 如果你不使用 NoFall依然会受到摔落伤害。",
"description.wurst.hack.handnoclip": "允许你能透过墙壁触碰到特殊的方块。",
"description.wurst.hack.headroll": "让你不断点头。\n仅限其他玩家可视。",
"description.wurst.hack.healthtags": "在玩家名字旁边显示血量。",
"description.wurst.hack.highjump": "允许你跳的更高。\n\n§c§l警告§r 如果你不使用 NoFall 则可能会摔落致死。",
"description.wurst.hack.highjump": "使你跳的更高。\n\n§c§l警告§r 如果你不使用 NoFall依然会受到摔落伤害。",
"description.wurst.hack.infinichat": "移除聊天栏的 256 字符限制。\n一般用于编辑 NBT 的指令。\n\n§6§l注意§r不推荐用于和别人聊天。大多数服务器一般超过 256 字符就会无法显示后面的内容。",
"description.wurst.hack.instantbunker": "建造一个小小的火柴盒需要57个方块。",
"description.wurst.hack.invwalk": "允许你在物品栏打开时移动。",
"description.wurst.setting.invwalk.allow_clickgui": "允许你在 Wurst 的 ClickGUI 打开时移动。",
"description.wurst.setting.invwalk.allow_other": "允许你在其他一些游戏内界面打开时移动(比如箱子、马匹、村民交易界面等),除非这个界面有文字输入框。",
"description.wurst.hack.itemesp": "高亮附近的掉落物品。",
"description.wurst.hack.itemgenerator": "生成随机的物品并将其丢在地上。\n§o仅限创造模式。§r",
"description.wurst.hack.jesus": "允许你走在水面上。\n耶稣曾经用这个功能约 ~2000 年前。",
"description.wurst.hack.jetpack": "模仿你好像真的有飞行背包一样飞行。\n\n§c§l警告§r 如果你不使用 NoFall会导致受到掉落伤害。",
"description.wurst.hack.kaboom": "像爆炸一样破坏你附近的方块。\n这个可能比 Nuker 功能破坏更快如果服务器没有反作弊的话,使用适合的工具和破坏脆弱的方块可以事半功倍。\n注意这并不是真正的爆炸。",
"description.wurst.hack.jesus": "允许你走在水面上。\n2000年前耶稣曾经用这个功能。",
"description.wurst.hack.jetpack": "使你像有喷气背包一样飞行。\n\n§c§l警告§r 如果你不使用 NoFall依然会受到摔落伤害。",
"description.wurst.hack.kaboom": "像爆炸一样破坏你附近的方块。\n如果服务器没有反作弊的话,这个可能比 Nuker 功能破坏更快,使用适合的工具和破坏脆弱的方块可以事半功倍。\n注意这并不是真正的爆炸。",
"description.wurst.hack.killauralegit": "KillauraLegit 更难被反作弊检测。\n在正常的 NoCheat+NCP服务器上不需要",
"description.wurst.hack.killaura": "自动攻击你附近的实体。",
"description.wurst.hack.killpotion": "生成一个能杀死绝大多数生物的药水,包括创造模式的玩家,但对那些不死的生物或者已死生物无效。\n\n需要在创造模式下。",
"description.wurst.hack.liquids": "取消限制,允许你在水中直接放置方块。",
"description.wurst.hack.lsd": "产生吃了云南的蘑菇一样的效果。",
"description.wurst.hack.masstpa": "给每个人发送 TPA 请求。\n直到有人接受就会停止\n\n§c§l警告§r国内服务器使用会因为 Wurst 判断的是英文而导致 TPA 仍在继续。",
"description.wurst.hack.killpotion": "生成一个能杀死绝大多数生物(包括创造模式的玩家)的药水,但对那些不死的生物或者已死生物无效。\n\n需要在创造模式下。",
"description.wurst.hack.liquids": "取消无法把方块直接放置在水中的限制,允许你直接在水方块中放置方块。",
"description.wurst.hack.lsd": "让你像吃了云南蘑菇一样。",
"description.wurst.hack.masstpa": "给每个人发送 TPA 请求。\n直到有人接受就会停止\n\n§c§l警告§r当在国内服务器使用会因为 Wurst 无法判断中文返回消息而导致 TPA 请求继续。",
"description.wurst.hack.mileycyrus": "类似疯狂按 Shift 潜行。",
"description.wurst.hack.mobesp": "高亮附近的生物。",
"description.wurst.hack.mobspawnesp": "高亮那些生物可以生成的区域。\n§e黄色§r 可以在夜间生成\n§c红色§r - 可以在任意时候生成",
"description.wurst.hack.multiaura": "比 Killaura 更高级,能同攻击多个实体。",
"description.wurst.hack.mobspawnesp": "高亮生物可以生成的区域。\n§e黄色§r 可以在夜间生成\n§c红色§r - 可以在任意时候生成",
"description.wurst.hack.multiaura": "比 Killaura 更高级,能同时攻击多个实体。",
"description.wurst.hack.nameprotect": "隐藏所有玩家的名字。",
"description.wurst.hack.nametags": "改变名字标签大小使你可以经常可以看到他们,同时也能让你看到那些正潜行的玩家名字标签。",
"description.wurst.hack.navigator": "一个可供你搜索的 GUI可以随着时间的推移了解您的偏好。",
"description.wurst.hack.nobackground": "移除GUI后的暗色背景。",
"description.wurst.hack.noclip": "允许你自由的穿过方块。\n一个例如沙子可以掉落的方块掉在你的头顶才能激活。\n\n§c§l警告§r 你会受到伤害当你穿墙的时候",
"description.wurst.hack.nametags": "改变名字大小使你更容易看到他们,同时也能让你看到那些潜行玩家的名字。",
"description.wurst.hack.navigator": "一个可以搜索功能的 GUI随着时间的推移了解您的偏好。",
"description.wurst.hack.nobackground": "移除 GUI 后的暗色背景。",
"description.wurst.hack.noclip": "允许你自由地穿过方块。\n一个可以掉落的方块例如沙子掉在你的头顶才能激活。\n\n§c§l警告§r 你会在你穿墙时受到伤害!",
"description.wurst.hack.nocomcrash": "利用 Nocom 漏洞使服务器卡顿或崩溃。\n经测试可在 Vanilla、Spigot 和 Fabric 上工作Paper 和一些拥有特定反作弊的服务器无法使用。",
"description.wurst.hack.nofall": "使你从高处摔下来免受伤害。",
"description.wurst.hack.nofireoverlay": "防止火焰阻挡视野。\n\n§c§l警告§r这可能会导致你因不知道身上有火而烧伤致死。",
"description.wurst.hack.nofall": "使你免受摔落伤害。",
"description.wurst.hack.nofireoverlay": "关闭第一人称视角下着火时的火焰贴图。\n\n§c§l警告§r这可能会导致你因不知道身上有火而烧伤致死。",
"description.wurst.hack.nohurtcam": "关闭因受伤而产生视野摇晃效果。",
"description.wurst.hack.nooverlay": "防止因在水中或岩浆产生视野阻挡。",
"description.wurst.hack.nopumpkin": "防止因带南瓜头而导致视野阻挡。",
"description.wurst.hack.noslowdown": "取消减速的效果。像蜂蜜、灵魂沙或者使用物品。",
"description.wurst.hack.nooverlay": "关闭因在水或岩浆中的视野阻挡。",
"description.wurst.hack.nopumpkin": "关闭南瓜头的视野阻挡。",
"description.wurst.hack.noslowdown": "取消在蜂蜜、灵魂沙上或使用物品时产生的减速效果。",
"description.wurst.hack.noweather": "允许你更改本地客户端的天气,时间和月相(仅在本地生效,与服务器无关)。",
"description.wurst.hack.noweb": "使你不会因为蜘蛛网而慢下来。",
"description.wurst.hack.noweb": "使你不会因为蜘蛛网而减速。",
"description.wurst.hack.nuker": "自动挖掘你附近的方块。",
"description.wurst.hack.nukerlegit": "NukerLegit 能够绕过所有的反作弊检测。\n在正常的 NoCheat+NCP服务器上不需要",
"description.wurst.hack.openwateresp": "显示你是否在一个“开放水域”的地方,在区域内画一个大方块用于计算检测是否为开放水域。",
"description.wurst.hack.overlay": "开采一个方块时渲染 “Nuker 功能” 动画。",
"description.wurst.hack.openwateresp": "显示你是否在一个“开放水域”,在区域内画一个盒子用于计算检测是否为开放水域。",
"description.wurst.hack.overlay": "开采一个方块时渲染 Nuker 的动画。",
"description.wurst.hack.panic": "瞬间关闭所有的作弊功能。\n请小心使用",
"description.wurst.hack.parkour": "你会自动跳跃起来,当到方块的边缘。\n适用于跑酷或跳和跑。",
"description.wurst.hack.playeresp": "高亮透视附近的玩家。\n如果是你的好友的话会显示蓝色框框。",
"description.wurst.hack.parkour": "当你到达方块边缘时自动跳起。\n适用于跑酷或部分需要跑跳的场景。",
"description.wurst.hack.playeresp": "高亮透视附近的玩家。\n你的好友会显示蓝色框框。",
"description.wurst.hack.playerfinder": "在雷雨中寻找远处的玩家。",
"description.wurst.hack.portalgui": "允许你在传送门内打开 GUI。",
"description.wurst.hack.potionsaver": "当你站着不动时冻结所有的药水效果时间。",
"description.wurst.hack.prophuntesp": "在躲猫猫小游戏中知道哪些是人扮的方块。\n用于 Mineplex 服务器的 Prophunt躲猫猫其他服务器未必效。",
"description.wurst.hack.prophuntesp": "在躲猫猫小游戏中知道哪些是人扮的方块。\n用于 Mineplex 服务器的 Prophunt躲猫猫其他服务器未必效。",
"description.wurst.hack.protect": "使用 AI 模式保护最近的实体,并保护它免受其他实体的伤害。\n使用指令 .protect 来保护指定的实体,而不是最近的一个。",
"description.wurst.hack.radar": "生成一个雷达 UI 并显示附近的实体。\n§c红色§r - 玩家\n§6橘色§r - 怪物\n§a绿色§r - 动物\n§7灰色§r - 其他",
"description.wurst.hack.rainbowui": "§c让§a每§9一§c样§a都 §9充§c满§a五§9彩§c斑§a斓§9的§c样§a子§9§c包§a括§9你§c当§a前§9所§c在 §aU§9I",
"description.wurst.hack.rainbowui": "§c让§a每§9一§c样§a都§9充§c满§a五§9彩§c斑§a斓§9的§c样§a子§9§c包§a括§9你§c当§a前§9所§c在 §aU§9I",
"description.wurst.hack.reach": "允许你碰到更远的距离。",
"description.wurst.hack.remoteview": "允许你以另一个视角观看世界。\n使用 .rv 指令来指定一个特的实体。",
"description.wurst.hack.safewalk": "防止你从方块边缘掉出。",
"description.wurst.hack.remoteview": "允许你以另一个视角观看世界。\n使用 .rv 指令来指定一个特的实体。",
"description.wurst.hack.safewalk": "防止你从方块边缘摔落。",
"description.wurst.hack.scaffoldwalk": "自动在你的脚下搭方块。",
"description.wurst.hack.search": "帮助你找到所需要的方块并以彩虹色的方式高亮。",
"description.wurst.hack.servercrasher": "生成一个物品可以崩掉 1.15.x 的服务器。\n§o仅限创造模式§r。",
"description.wurst.hack.servercrasher": "生成一个可以崩掉 1.15.x 服务器的物品。\n§o需要创造模式。§r",
"description.wurst.hack.skinderp": "随机切换你的皮肤。",
"description.wurst.hack.sneak": "让你自动保持潜行行走。",
"description.wurst.hack.snowshoe": "可以让你在细雪上行走。",
"description.wurst.hack.speedhack": "允许你以大约 ~2.5x 或更快的速度跳跃或疾跑。\n\n§6§l警告§r只有低于反作弊版本 3.13.2 才会工作且绕过,如果你不知道服务器反作弊是哪个版本。\n输入 §l/ncp version§r 来查看反作弊版本。",
"description.wurst.hack.speednuker": "一个比 Nuker 更快的版本,但无法绕过反作弊。",
"description.wurst.hack.spider": "像蜘蛛一样能够爬墙。",
"description.wurst.hack.step": "允许你走上更高高度(取决于你的设定)的格子方块。",
"description.wurst.hack.throw": "迅速丢你手中种类的物品,可以用于丢雪球、鸡蛋、刷怪蛋、矿车,诸如此类。\n\n会生成大量的数量这会产生大量的 lag 且可能会导致服务器崩溃。",
"description.wurst.hack.tillaura": "自动将泥土、草块、诸如此类。转化为耕地。\n不要和 Killaura 搞混。",
"description.wurst.hack.snowshoe": "允许你在细雪上行走。",
"description.wurst.hack.speedhack": "允许你以大约 2.5x 或更快的速度疾跑和跳跃。\n\n§6§l警告§r只在反作弊版本低于 3.13.2 的服务器有效,如果你不知道服务器反作弊是哪个版本。\n输入 §l/ncp version§r 来查看反作弊版本。",
"description.wurst.hack.speednuker": "一个比 Nuker 更快的版本,但无法绕过反作弊。",
"description.wurst.hack.spider": "允许你像蜘蛛一样爬墙。",
"description.wurst.hack.step": "允许你走上更高(取决于你的设定)的方块。(类似你走上半砖的效果)",
"description.wurst.hack.throw": "多次使用你手中的物品,可以用于丢雪球、鸡蛋、刷怪蛋、矿车,诸如此类。\n\n会生成大量的数量这会产生巨大的延迟且可能导致服务器崩溃。",
"description.wurst.hack.tillaura": "自动将泥土、草块等方块转化为耕地。\n不要和 Killaura 搞混。",
"description.wurst.hack.timer": "改变大部分东西的速度。",
"description.wurst.hack.tired": "让你看起来很像 Alexander 回到 4月 2015年。\n仅限其他玩家可视。",
"description.wurst.hack.toomanyhax": "屏蔽那些你并不想要有的功能。\n让你确保你不会不小心开启错误的作弊功能导致被服务器封禁。\n这个是给那些 “只想作弊一点点的用户”。\n\n使用指令 §6.toomanyhax§r 来选择哪些功能需要被屏蔽。\n输入 §6.help toomanyhax§r 寻求更多。",
"description.wurst.hack.tp-aura": "自动传送到实体附近并自动攻击。",
"description.wurst.hack.tired": "让你看起来很像 2015 年 4 月的 Alexander。\n仅限其他玩家可见。",
"description.wurst.hack.toomanyhax": "屏蔽那些你并不想要有的功能。\n确保你不会不小心开启错误的作弊功能导致被服务器封禁。\n这个是给那些 “只想轻度作弊的用户”。\n\n使用指令 §6.toomanyhax§r 来选择哪些功能需要被屏蔽。\n输入 §6.help toomanyhax§r 查看详细信息。",
"description.wurst.hack.tp-aura": "自动传送到实体附近并自动攻击。",
"description.wurst.hack.trajectories": "预测箭和投掷物品的飞行路径。",
"description.wurst.hack.treebot": "一个实验性的机器人将会在树木附近砍树。\n目前仅限于砍小树。",
"description.wurst.hack.triggerbot": "自动攻击你所看的实体。",
"description.wurst.hack.trollpotion": "生成一个惹人恼怒的药水效果。\n§o仅限创造模式。§r",
"description.wurst.hack.treebot": "实验性的自动砍树机器人。\n目前仅限于砍小树。",
"description.wurst.hack.triggerbot": "自动攻击准星所指的实体。",
"description.wurst.hack.trollpotion": "生成一个恼人的药水效果。\n§o需要创造模式。§r",
"description.wurst.hack.truesight": "允许你看到隐身的实体。",
"description.wurst.hack.tunneller": "自动挖一个隧道。\n\n§c§l警告§r 尽管这个 AI 会自动避开岩浆和其他危险的地下,这里没有守卫确保你不会死亡,除非你不介意你的东西全部有一定概率会失去。",
"description.wurst.hack.x-ray": "允许你透视矿物所在的位置(请自行确保服务器内无假矿插件)。",
"description.wurst.hack.tunneller": "自动挖一个隧道。\n\n§c§l警告§r 尽管这个 AI 会自动避开岩浆和其他危险,但无法确保你不会死亡,除非你不介意一定概率失去你的全部物品。",
"description.wurst.hack.x-ray": "透视矿物所在位置(请自行确保服务器内无假矿插件)。",
"description.wurst.setting.generic.attack_speed": "以每秒点击次数计算的攻击速度。\n0 = 根据你的攻击冷却时间动态调整攻击速度。",
"description.wurst.setting.generic.pause_attack_on_containers": "当一个容器界面(如箱子、漏洞等)打开时不会攻击。\n在一些显示容器界面作为菜单的小游戏服务器很有用。",
"description.wurst.altmanager.premium": "这个账户拥有密码,且可以加入所有服务器。",
"description.wurst.altmanager.cracked": "这个账户没有密码,只能加入盗版服务器。",
"description.wurst.altmanager.failed": "上次你尝试登录这个,但是它不起作用。",
"description.wurst.altmanager.failed": "上次你尝试登录这个账户,但是它不起作用。",
"description.wurst.altmanager.checked": "这个密码在过去是有效的。",
"description.wurst.altmanager.unchecked": "你从未成功登录过这一个账户。",
"description.wurst.altmanager.favorite": "你标记了这其中一个账户为你的喜爱。",
"description.wurst.altmanager.favorite": "你将此账户标记为收藏账户。",
"description.wurst.altmanager.window": "这个按钮是打开另一个窗口的。",
"description.wurst.altmanager.window_freeze": "当打开另一个窗口时,这会导致游戏看起来未响应。",
"description.wurst.altmanager.fullscreen": "§c请关闭全屏模式"
"description.wurst.altmanager.fullscreen": "§c请关闭全屏模式",
"gui.wurst.altmanager.folder_error.title": "无法创建 “.Wurst encryption” 文件夹!",
"gui.wurst.altmanager.folder_error.message": "你也许不小心禁止了 Wurst 访问这个目录,\n因此 AltManager 无法加解密你的备用账户列表。\n你仍然可以使用 AltManager但你新建的备用账户将不会被保存。\n\n完整错误信息如下\n%s",
"gui.wurst.altmanager.empty.title": "你的备用账户列表为空。",
"gui.wurst.altmanager.empty.message": "你希望创建一些随机的备用账户吗?"
}

View File

@ -1,50 +1,59 @@
{
"description.wurst.hack.anchoraura": "自動放置(可選),充能,引爆重生錨並且擊殺你附近嘅實體。",
"description.wurst.hack.antiafk": "隨便行,避免被器掛機檢查。\n需 3x3 嘅區域。",
"description.wurst.hack.antiblind": "以防盲咗。\n同 OptiFine高清修復唔兼容。",
"description.wurst.hack.anchoraura": "自動放置(可選),充能並引爆重生錨以擊殺你附近嘅實體。",
"description.wurst.hack.antiafk": "隨便行,避免被服器掛機檢查。\n需 3x3 嘅區域。",
"OUTDATED.description.wurst.hack.antiblind": "以防盲咗。\n同 OptiFine高清修復唔兼容。",
"description.wurst.hack.anticactus": "保護你避免受到仙人掌傷害。",
"description.wurst.hack.antiknockback": "保护你唔会被其他生物或者玩家推动同埋用剑击退。",
"description.wurst.hack.antiknockback": "保護你唔會被其他生物或者玩家推動同埋用劍擊退。",
"description.wurst.hack.antispam": "預防存在嘅重復刷屏,改為用計數器顯示。",
"description.wurst.hack.antiwaterpush": "防止你被水流推動。",
"description.wurst.hack.antiwobble": "關閉因反胃同埋傳送門引起嘅搖晃效果。",
"description.wurst.hack.arrowdmg": "大量增加箭矢傷害,但會消耗大量飢餓值同降低精度。\n\n唔能夠用喺弩上以及Paper器中無法使用。",
"description.wurst.setting.arrowdmg.packets": "發送多少個網絡包裹(請求)。\n更多網絡包 = 更高傷害。",
"description.wurst.hack.arrowdmg": "大量增加箭矢傷害,但會消耗大量飢餓值同降低精度。\n\n唔能夠用喺弩上以及Paper服器中無法使用。",
"description.wurst.setting.arrowdmg.packets": "發送多少個網絡封包(請求)。\n更多封包 = 更高傷害。",
"description.wurst.setting.arrowdmg.trident_yeet_mode": "當開啟後,三叉戟將飛更遠,但似乎並唔會影響傷害或激流飛行。\n\n§c§l警告:§r 如果你咁樣做會好容易導致你嘅三叉戟丟失!",
"description.wurst.hack.autoarmor": "自動管理你嘅盔甲。",
"description.wurst.hack.autobuild": "自動建築嘅功能。\n放一個方塊就開始自己自動建造。",
"description.wurst.hack.autodrop": "自動丢咗你唔想要嘅嘢(有預設)。",
"description.wurst.hack.autoleave": "如果你嘅血量低於規定值,將會自動離開服務器。",
"description.wurst.hack.autoeat": "當必要陣會自動進食。",
"description.wurst.hack.autofarm": "自動收獲與種植農作物。\n有效作物為小麥、紅蘿蔔、薯仔、紅菜頭、南瓜、西瓜、仙人掌、蔗、海帶、竹、 地獄孢子和可可豆。",
"description.wurst.hack.autofish": "當你喺釣魚,自動釣魚同時使用你最好嘅魚竿,如果有更好嘅魚竿將會自動使用。",
"description.wurst.hack.autodrop": "自動掉咗你唔想要嘅嘢(有預設)。",
"description.wurst.hack.autoleave": "如果你嘅血量低於規定值,將會自動離開伺服器。",
"description.wurst.hack.autoeat": "當必要時自動進食。",
"description.wurst.setting.autoeat.target_hunger": "嘗試保持飢餓條喺呢個水平或以上,前提係佢唔會嘥咗食物。",
"description.wurst.setting.autoeat.min_hunger": "永遠保持飢餓條喺呢個水平或以上,就算會嘥咗食物。\n6.5 - 唔會導致浪費任何原版食物。\n10.0 - 完全忽略浪費,只為保持飢餓條滿。",
"description.wurst.setting.autoeat.injured_hunger": "當你受傷時,恢復飢餓條至少到呢個等級,就算會嘥咗食物。\n10.0 - 能夠快速恢復生命\n9.0 - 較慢恢復生命\n<9.0 - 唔會恢復生命\n<3.5 - 無法疾跑",
"description.wurst.setting.autoeat.injury_threshold": "防止輕傷就進食浪費你嘅食物。AutoEat 功能只會喺你失去至少呢個數嘅血量先會認為你受傷。",
"description.wurst.setting.autoeat.take_items_from": "AutoEat 功能應該從邊裸你嘅食物。",
"description.wurst.setting.autoeat.eat_while_walking": "會讓你慢落嚟, 唔推薦。",
"description.wurst.setting.autoeat.allow_hunger": "食腐肉時會有一個無害嘅 \"飢餓\" 效果。\n可安全食用或作應急食品。",
"description.wurst.setting.autoeat.allow_poison": "有毒嘅食物將會隨時間嘅推移造成傷害。\n唔推薦。",
"description.wurst.setting.autoeat.allow_chorus": "(如果允許)食歌萊果將會傳送你到一個隨機嘅地點。\n唔推薦。",
"description.wurst.hack.autofarm": "自動收獲並種植農作物。\n有效作物為小麥、紅蘿蔔、薯仔、紅菜頭、南瓜、西瓜、仙人掌、蔗、海帶、竹、 地獄孢子同可可豆。",
"description.wurst.hack.autofish": "自動釣魚同時使用你最好嘅魚竿,如果有更好嘅魚竿將會自動使用。",
"description.wurst.hack.automine": "自動挖掘你眼前所指嘅方塊。",
"description.wurst.hack.autopotion": "當你嘅生命值過低時候,自動掟一樽噴濺型瞬間恢復。",
"description.wurst.hack.autoreconnect": "當你被服務器踢出時候,自動重連。",
"description.wurst.hack.autopotion": "當你嘅生命值過低時,自動掟一樽噴濺型瞬間恢復。",
"description.wurst.hack.autoreconnect": "當你被服器踢出時候,自動重連。",
"description.wurst.hack.autorespawn": "當你仆街果陣自動重生。",
"description.wurst.hack.autosign": "立即喺每個牌子上寫任何你想要嘅文字,當此功能激活果陣,你只需要喺第一個牌子上,寫你想要嘅文字,之後接囉嚟所有牌子都同上一個一樣。",
"description.wurst.hack.autosoup": "當你生命值過低陣自動飲湯。\n\n§l注意§r 呢個功能系忽視 「飢餓值」,因為特定服務器小游戲(如 Hypixel飲湯系直接補充生命而唔系回復飽腹值。如果你玩嘅服務器冇呢個功能請使用 AutoEat 功能而唔系呢個。",
"description.wurst.hack.autosign": "喺每個你放置嘅告示牌上立即寫上文字。當呢個功能激活果陣,你只需要喺第一個告示牌上寫你想要嘅嘢,之後接落嚟嘅所有告示牌都同上一個一樣。",
"description.wurst.hack.autosoup": "當你生命值過低時自動飲湯。\n\n§l注意§r 呢個功能係忽視 「飢餓值」,因為特定伺服器小游戲(如 Hypixel飲湯係直接補充生命而唔係回復飽腹值。如果你玩嘅伺服器冇呢個功能請使用 AutoEat 功能而唔係呢個。",
"description.wurst.hack.autosprint": "讓你自動進入疾跑模式。",
"description.wurst.hack.autosteal": "你所打開嘅儲物箱以及界伏盒會自動盜竊里面所有物品。",
"description.wurst.hack.autoswim": "當你喺水中會自動切換泳姿狀態。",
"description.wurst.hack.autoswitch": "自動更換手上拿着嘅物品。\n\n§l進階提示§r 如果你嘅快捷欄有唔同顏色嘅羊毛以及唔同顏色嘅混粘土,利用呢個功能同埋 BuildRandom 同時使用會出現意想唔到嘅效果。",
"description.wurst.hack.autosword": "當你擊殺實體果陣,自動使用快捷欄中最好嘅武器。\n提示 喺使用 Killaura 功能時,最好開啟。",
"description.wurst.hack.autotool": "當你破壞方塊果陣會喺你嘅物品快捷欄中切換成最嘅破壞工具。",
"description.wurst.hack.autototem": "自動將不死圖騰到副手上。",
"description.wurst.hack.autosteal": "自動偷曬你打開嘅儲物箱同埋界伏盒入面嘅所有物品。",
"description.wurst.hack.autoswim": "當你喺水入面會自動切換泳姿狀態。",
"description.wurst.hack.autoswitch": "自動更換手上攞住嘅物品。\n\n§l進階提示§r 如果你嘅快捷欄有唔同顏色嘅羊毛以及唔同顏色嘅混粘土,利用呢個功能同埋 BuildRandom 同時使用會出現意想唔到嘅效果。",
"description.wurst.hack.autosword": "當你擊殺實體果陣,自動使用快捷欄中最好嘅武器。\n提示 喺使用 Killaura 功能時,最好開啟。",
"description.wurst.hack.autotool": "當你破壞方塊果陣會喺你嘅物品快捷欄中切換成最嘅破壞工具。",
"description.wurst.hack.autototem": "自動將不死圖騰到副手上。",
"description.wurst.hack.autowalk": "讓自己自動走路唔使自己按着W鍵。",
"description.wurst.hack.basefinder": "通過搵人為建造嘅方塊以搵到玩家基地\n如果方塊被搵到將會高亮以你所選嘅顏色。\n建議用於尋找幫派基地。",
"description.wurst.hack.basefinder": "通過搵人為建造嘅方塊嚟揾玩家基地\n如果方塊被搵到將會以你所選嘅顏色高亮。\n建議用嚟搵幫派基地。",
"description.wurst.hack.blink": "暫停所有動作更新,並喺關閉時繼續。",
"description.wurst.hack.boatfly": "允许玩家使用船飞天。",
"description.wurst.hack.bonemealaura": "喺指定作物上自动使用骨粉。\n使用 复选框 嚟指定作物。",
"description.wurst.hack.bowaimbot": "当你用弓或弩果陣自动瞄准所设定嘅实体。",
"description.wurst.hack.buildrandom": "喺你嘅附近随机放方块。",
"description.wurst.hack.bunnyhop": "让你自动跳跃,但做唔都像 CSGO 一样。",
"description.wurst.hack.cameranoclip": "允许第三人称忽视墙体碰撞直接把视角穿越过去。",
"description.wurst.hack.cavefinder": "帮助你揾到洞穴并以你所选嘅颜色将佢哋高亮。",
"description.wurst.hack.chattranslator": "将聊天欄嘅信息利用 Google 翻译成你所指定嘅语言。",
"description.wurst.hack.chestesp": "按你所设定嘅颜色高亮附近嘅儲物箱,界伏盒,陷阱箱,終界箱。",
"description.wurst.hack.clickaura": "当瞄准果陣。自动攻击你附近有效嘅实体\n\n§c§l警告§r 此功能通常嚟讲比 Killaura 更加容易被发现且被检测出嚟,极力推荐使用 Killaura 抑或 TriggerBot 作为替代。",
"description.wurst.hack.clickgui": "基于窗口嘅点击式 GUI有分类)。",
"description.wurst.hack.crashchest": "生成一個容易封禁玩家嘅儲物箱,如果佢哋復制大量嘅儲物箱喺佢哋背包里面 §c§l警告§r §c呢個無法撤銷。 請小心使用§r\n\n如果復制出嚟被放喺儲物箱無論邊個打開儲物箱就會被踢出器(只要一個)。",
"description.wurst.hack.boatfly": "允許玩家用船飛上天。",
"description.wurst.hack.bonemealaura": "喺指定作物上自動使用骨粉。\n使用 複選框 嚟指定作物。",
"description.wurst.hack.bowaimbot": "當你用弓或弩果陣自動瞄準所設定嘅實體。",
"description.wurst.hack.buildrandom": "喺你嘅附近隨機放方塊。",
"description.wurst.hack.bunnyhop": "讓你自動跳躍。",
"description.wurst.hack.cameranoclip": "允許第三人稱忽視牆體碰撞直接將視覺穿越過去。",
"description.wurst.hack.cavefinder": "幫助你揾到洞穴並以你所選嘅顏色將佢哋高亮。",
"description.wurst.hack.chattranslator": "將聊天欄嘅信息利用 Google 翻譯成你所指定嘅語言。",
"description.wurst.hack.chestesp": "按你所設定嘅顏色高亮附近嘅儲物箱,界伏盒,陷阱箱,終界箱。",
"description.wurst.hack.clickaura": "當瞄準果陣。自動攻擊你附近有效嘅實體\n\n§c§l警告§r 呢個功能通常嚟講比 Killaura 更加容易被發現且被檢測出嚟,極力推薦使用 Killaura 抑或 TriggerBot 作為替代。",
"description.wurst.hack.clickgui": "基於窗口嘅點擊式 GUI有分類)。",
"description.wurst.hack.crashchest": "生成一個容易封禁玩家嘅儲物箱,如果佢哋復制大量嘅儲物箱喺佢哋背包里面 §c§l警告§r §c呢個無法撤銷。 請小心使用§r\n\n如果復制出嚟被放喺儲物箱無論邊個打開儲物箱就會被踢出服器(只要一個)。",
"description.wurst.hack.creativeflight": "同創造模式嘅飛行冇咩唔同(即雙擊空格起飛)。\n\n§c§l警告§r 如果你唔使用 NoFall可能會仆街。",
"description.wurst.hack.criticals": "將你嘅攻擊全變為暴擊。",
"description.wurst.hack.crystalaura": "自動放置(可選)並引爆末影水晶殺死你附近嘅實體。",
@ -52,7 +61,7 @@
"description.wurst.hack.dolphin": "讓你喺水中浮起嚟。\n就似海豚一樣",
"description.wurst.hack.excavator": "自動破壞所選區域內嘅所有方塊。",
"description.wurst.hack.extraelytra": "讓你嘅鞘翅更加容易使用。",
"description.wurst.hack.fancychat": "替換 ASCII 字符喺發送消息時,變成更好嘅 Unicode 字符。可以用於繞過英文單詞字符限制喺一些器上。\n但對於禁用 Unicode 字符嘅服器唔起作用。",
"description.wurst.hack.fancychat": "替換 ASCII 字符喺發送消息時,變成更好嘅 Unicode 字符。可以用於繞過英文單詞字符限制喺一些服器上。\n但對於禁用 Unicode 字符嘅服器唔起作用。",
"description.wurst.hack.fastbreak": "允許你更快嘅破壞方塊。\n提示可以同 Nuker 功能配合利用。",
"description.wurst.hack.fastladder": "允許你爬梯嘅速度加快。",
"description.wurst.hack.fastplace": "允許你正常放置方塊速度嘅5倍或以上。\n提示呢個能增加 AutoBuild 功能嘅速度。",
@ -60,97 +69,102 @@
"description.wurst.hack.fightbot": "仿照機器人自動跟隨並擊殺最近嘅實體。\n好適合刷怪區域。",
"description.wurst.hack.fish": "關閉水底嘅重力,所以你可以似魚一樣游泳。",
"description.wurst.hack.flight": "允許你飛天。\n\n§c§l警告§r 如果你唔使用 NoFall可能會仆街。",
"description.wurst.hack.follow": "機器人一樣跟隨最近嘅實體。\n非常乞人憎。\n\n使用 .follow 指令跟隨特定嘅實體。",
"description.wurst.hack.forceop": "破解 AuthMe 登錄插件 密碼。\n一般用於獲得OP。PS撞庫,跑密碼嘅軟件)",
"description.wurst.hack.follow": "機器人一樣跟隨最近嘅實體。\n非常乞人憎。\n\n使用 .follow 指令跟隨特定嘅實體。",
"description.wurst.hack.forceop": "破解 AuthMe 登錄插件 密碼。\n一般用於獲得OP。PS撞庫,跑密碼嘅軟件)",
"description.wurst.hack.freecam": "允許喺唔郁你角色嘅情況下自由移動角色。",
"description.wurst.hack.fullbright": "可以喺黑暗中睇一清二楚。",
"description.wurst.hack.glide": "使你喺下落時緩慢降落。\n\n§c§l警告§r 如果你唔使用 NoFall 可能會仆街。",
"description.wurst.hack.fullbright": "可以喺黑暗中睇一清二楚。",
"description.wurst.hack.glide": "你喺下落時緩慢降落。\n\n§c§l警告§r 如果你唔使用 NoFall 可能會仆街。",
"description.wurst.hack.handnoclip": "允許你能透過牆壁掂到特殊嘅方塊。",
"description.wurst.hack.headroll": "讓你不斷點頭。\n僅限其他玩家可視。",
"description.wurst.hack.healthtags": "喺玩家名字旁邊顯示血量。",
"description.wurst.hack.highjump": "允許你跳更高。\n\n§c§l警告§r 如果你唔使用 NoFall 則可能會仆街。",
"description.wurst.hack.infinichat": "移除聊天欄 256 字符限制。\n一般用於編輯 NBT 指令。\n\n§6§l注意§r唔推薦用於同人哋傾計。大多數器一般超過 256 字符就會無法顯示後面嘅內容。",
"description.wurst.hack.infinichat": "移除聊天欄 256 字符限制。\n一般用於編輯 NBT 指令。\n\n§6§l注意§r唔推薦用於同人哋傾計。大多數服器一般超過 256 字符就會無法顯示後面嘅內容。",
"description.wurst.hack.instantbunker": "建造一個小小嘅火柴盒需要57個方塊。",
"description.wurst.hack.invwalk": "可以喺你開着物品欄時周圍走。",
"description.wurst.setting.invwalk.allow_clickgui": "可以允許你開着Wurst嘅 ClickGUI 功能時周圍走。",
"description.wurst.setting.invwalk.allow_other": "允許你開着游戲內嘅其他窗口(如箱子,馬,村民交易)時周圍走,除非窗口上有文本框。",
"description.wurst.hack.itemesp": "高亮附近嘅掉落物品。",
"description.wurst.hack.itemgenerator": "生成隨機嘅物品並將其丟喺地上。\n§o僅限創造模式。§r",
"description.wurst.hack.jesus": "允許你行喺水面上。\n耶穌曾經用呢個功能約 ~2000 年前。",
"description.wurst.hack.itemgenerator": "生成隨機嘅物品然後掉喺地上。\n§o僅限創造模式。§r",
"description.wurst.hack.jesus": "允許你喺水上暢行。\n耶穌喺 ~2000 年前用過呢個功能。",
"description.wurst.hack.jetpack": "模仿你好似真係有飛行背包一樣飛行。\n\n§c§l警告§r 如果你唔使用 NoFall可能會仆街。",
"description.wurst.hack.kaboom": "似爆炸一樣破壞你附近嘅方塊。\n呢個可能比 Nuker 功能破壞更快如果器冇反作弊話,用合適嘅工具破壞脆弱嘅方塊可以事半功倍。\n注意呢並唔真正嘅爆炸。",
"description.wurst.hack.killauralegit": "KillauraLegit 更難被反作弊檢測。\n喺正常嘅 NoCheat+NCP器上唔使!",
"description.wurst.hack.kaboom": "似爆炸一樣破壞你附近嘅方塊。\n呢個可能比 Nuker 功能破壞更快如果服器冇反作弊話,用合適嘅工具破壞脆弱嘅方塊可以事半功倍。\n注意呢並唔真正嘅爆炸。",
"description.wurst.hack.killauralegit": "KillauraLegit 更難被反作弊檢測。\n喺正常嘅 NoCheat+NCP服器上唔使!",
"description.wurst.hack.killaura": "自動攻擊你附近嘅實體。",
"description.wurst.hack.killpotion": "生成一個能殺死絕大多數生物嘅葯水,包括創造模式嘅玩家,但對唔死嘅生物抑或已死生物無效。\n\n需要喺創造模式下。",
"description.wurst.hack.liquids": "解除限制,允許你喺水中直接放置方塊。",
"description.wurst.hack.lsd": "產生食咗雲南蘑菇一樣嘅效果。",
"description.wurst.hack.masstpa": "畀每個人發送 傳送申請。\n直到有人接受就會停止\n\n§c§l警告§r中文服務器使用會因為 Wurst 判斷嘅系英文而導致 傳送申請 仍喺繼續。",
"description.wurst.hack.masstpa": "畀每個人發送 傳送申請。\n直到有人接受就會停止\n\n§c§l警告§r中文伺服器使用會因為 Wurst 判斷嘅係英文而導致 傳送申請 仍喺繼續。",
"description.wurst.hack.mileycyrus": "類似瘋狂按 Shift 潛行。",
"description.wurst.hack.mobesp": "高亮附近嘅生物。",
"description.wurst.hack.mobspawnesp": "高亮生物可以生成嘅區域。\n§e黃色§r 可以喺夜間生成\n§c紅色§r - 可以喺任意時候生成",
"description.wurst.hack.mobspawnesp": "高亮生物可以生成嘅區域。\n§e黃色§r 可以喺夜間生成\n§c紅色§r - 可以喺任意時候生成",
"description.wurst.hack.multiaura": "比 Killaura 更高級,能同一時間攻擊多個實體。",
"description.wurst.hack.nameprotect": "隱藏所有玩家嘅名字。",
"description.wurst.hack.nametags": "改變名字標簽大小使你可以經常可以睇到佢哋,同時也能讓你睇到啲正潛行嘅玩家名字標簽。",
"description.wurst.hack.nametags": "改變名字標簽大小使你可以經常可以睇到佢哋,同時都可以令你睇到啲正潛行嘅玩家名字標簽。",
"description.wurst.hack.navigator": "一個可供你搜索嘅 GUI可以隨着時間嘅推移了解你嘅偏好。",
"description.wurst.hack.nobackground": "移除GUI後邊嘅暗色背景。",
"description.wurst.hack.noclip": "允許你自由穿透過方塊。\n一個例如沙子可以掉落嘅方塊掉喺你嘅頭頂才能激活。\n\n§c§l警告§r 你將會受到傷害當你穿透牆果陣!",
"description.wurst.hack.nocomcrash": "利用 Nocom 漏洞使器卡頓或崩潰。\n經測試可喺 Vanilla、Spigot 和 Fabric 上工作Paper 和一些擁有特定反作弊嘅服務器無法使用。",
"description.wurst.hack.nocomcrash": "利用 Nocom 漏洞使服器卡頓或崩潰。\n經測試可喺 Vanilla、Spigot 同 Fabric 上工作Paper 同一啲擁有特定反作弊嘅伺服器無法使用。",
"description.wurst.hack.nofall": "從高處仆落嚟免受傷害。",
"description.wurst.hack.nofireoverlay": "防止火焰阻擋視野。\n\n§c§l警告§r呢可能會導致你因唔知身上有火而燒傷致死。",
"description.wurst.hack.nofireoverlay": "防止火焰阻擋視野。\n\n§c§l警告§r呢可能會導致你因唔知身上有火而燒傷致死。",
"description.wurst.hack.nohurtcam": "關閉因受傷而產生視野搖晃效果。",
"description.wurst.hack.nooverlay": "防止因喺水中或岩漿產生視野阻擋。",
"description.wurst.hack.nopumpkin": "防止因帶南瓜頭而導致視野阻擋。",
"description.wurst.hack.noslowdown": "解除減速嘅效果。蜂蜜、靈魂沙抑或使用物品。",
"description.wurst.hack.noweather": "允許改變你當地客戶端當前時間,和月亮嘅階段(僅喺本地生效,同服務器無關)。",
"description.wurst.hack.noweb": "讓你唔會因為蜘蛛網而慢嚟。",
"description.wurst.hack.noslowdown": "解除減速嘅效果。例如蜂蜜、靈魂沙抑或使用物品。",
"description.wurst.hack.noweather": "允許改變你當地客戶端當前時間,同埋月相(僅喺本地生效,同伺服器無關)。",
"description.wurst.hack.noweb": "讓你唔會因為蜘蛛網而慢嚟。",
"description.wurst.hack.nuker": "自動挖掘你附近嘅方塊。",
"description.wurst.hack.nukerlegit": "NukerLegit 能夠繞過所有嘅反作弊檢測。\n喺正常嘅 NoCheat+NCP器上唔使!",
"description.wurst.hack.openwateresp": "顯示你系否喺一個「開放水域」嘅地方,喺區域內畫一個大方塊用於計算檢測系否為開放水域。",
"description.wurst.hack.nukerlegit": "NukerLegit 能夠繞過所有嘅反作弊檢測。\n喺正常嘅 NoCheat+NCP服器上唔使!",
"description.wurst.hack.openwateresp": "顯示你係否喺一個「開放水域」嘅地方,喺區域內畫一個大方塊用於計算檢測係否為開放水域。",
"description.wurst.hack.overlay": "開采一個方塊時渲染 「Nuker 功能」 動畫。",
"description.wurst.hack.panic": "瞬間關閉所有嘅作弊功能。\n請小心使用",
"description.wurst.hack.parkour": "你會自動跳起身,當到方塊邊緣。\n適用於跑酷或跳同跑。",
"description.wurst.hack.playeresp": "高亮透視附近嘅玩家。\n如果你嘅好友話會顯示藍色框框。",
"description.wurst.hack.parkour": "當到方塊邊緣你會自動跳起身。\n適用於跑酷或跳同跑。",
"description.wurst.hack.playeresp": "高亮透視附近嘅玩家。\n如果你嘅好友話會顯示藍色框框。",
"description.wurst.hack.playerfinder": "喺雷雨天中尋找遠處嘅玩家。",
"description.wurst.hack.portalgui": "允許你喺傳送門內打開 GUI。",
"description.wurst.hack.potionsaver": "當你企住唔郁時凍結所有嘅葯水效果時間。",
"description.wurst.hack.prophuntesp": "喺捉依因小游戲中知都邊滴人扮嘅方塊。\n用於 Mineplex 服務器嘅 Prophunt捉依因其他服務器未必湊效。",
"description.wurst.hack.protect": "使用 AI 模式保護最近嘅實體,並保護佢免受其他實體嘅傷害。\n使用指令 .protect 嚟保護指定嘅實體,而唔最近嘅一個。",
"description.wurst.hack.radar": "生成一個雷達 UI 並顯示附近嘅實體。\n§c紅色§r - 玩家\n§6色§r - 怪物\n§a綠色§r - 動物\n§7灰色§r - 其他",
"description.wurst.hack.rainbowui": "§c讓§a每§9一§c樣§a嘢§9充§c滿§a五§9彩§c斑§a斕§9嘅§c樣§a子§9\n§c包§a括§9你§c當§a前§9所§c喺 §aU§9I§c。",
"description.wurst.hack.reach": "允許你到更遠嘅距離。",
"description.wurst.hack.prophuntesp": "喺捉依因小游戲中知道邊啲係人扮嘅方塊。\n用於 Mineplex 伺服器嘅 Prophunt捉依因其他伺服器未必湊效。",
"description.wurst.hack.protect": "使用 AI 模式保護最近嘅實體,並保護佢免受其他實體嘅傷害。\n使用指令 .protect 嚟保護指定嘅實體,而唔最近嘅一個。",
"description.wurst.hack.radar": "生成一個雷達 UI 並顯示附近嘅實體。\n§c紅色§r - 玩家\n§6色§r - 怪物\n§a綠色§r - 動物\n§7灰色§r - 其他",
"description.wurst.hack.rainbowui": "§c讓§a每§9一§c樣§a嘢§9充§c滿§a五§9彩§c斑§a斕§9嘅§c樣§a子§9\n§c包§a括§9你§c當§a前§9嘅 §cU§aI§9。",
"description.wurst.hack.reach": "允許你到更遠嘅距離。",
"description.wurst.hack.remoteview": "允許你以另一個視角睇世界。\n使用 .rv 指令嚟指定一個特殊嘅實體。",
"description.wurst.hack.safewalk": "防止你從方塊邊緣掉出。",
"description.wurst.hack.safewalk": "防止你從方塊邊緣跌落嚟。",
"description.wurst.hack.scaffoldwalk": "自動喺你嘅腳下搭方塊。",
"description.wurst.hack.search": "幫助你搵到所需要嘅方塊並以彩虹色嘅方式高亮。",
"description.wurst.hack.servercrasher": "生成一個物品可以崩咗 1.15.x 嘅服務器。\n§o僅限創造模式§r。",
"description.wurst.hack.servercrasher": "生成一個物品可以崩潰 1.15.x 嘅伺服器。\n§o僅限創造模式§r。",
"description.wurst.hack.skinderp": "隨機切換你嘅皮膚。",
"description.wurst.hack.sneak": "讓你自動保持潛行行走。",
"description.wurst.hack.snowshoe": "可以讓你喺細雪上行走。",
"description.wurst.hack.speedhack": "允許你以約 ~2.5x 或更快嘅速度跳躍或疾跑。\n\n§6§l警告§r只有低於反作弊版本 3.13.2 才會工作並繞過,如果你唔知服務器反作弊系邊個版本。\n輸入 §l/ncp version§r 嚟睇反作弊版本。",
"description.wurst.hack.speedhack": "允許你以約 ~2.5x 或更快嘅速度跳躍或疾跑。\n\n§6§l警告§r只有低於反作弊版本 3.13.2 才會工作並繞過,如果你唔知伺服器反作弊係邊個版本。\n輸入 §l/ncp version§r 嚟睇反作弊版本。",
"description.wurst.hack.speednuker": "一個比 Nuker 更快嘅版本,但會無法繞過反作弊。",
"description.wurst.hack.spider": "似蜘蛛一樣能夠爬牆。",
"description.wurst.hack.step": "允許你行上更高高度(睇你嘅設定)格方塊。",
"description.wurst.hack.throw": "迅速丟你手中種類嘅物品,可以用於丟雪球、雞蛋、刷怪蛋、礦車,等類似。\n\n會生成大量嘅數量呢會產生大量嘅 lag 且可能會導致器崩潰。",
"description.wurst.hack.tillaura": "自動將泥土、草塊、等類似。轉化為耕地。\n唔好 Killaura 搞混。",
"description.wurst.hack.throw": "迅速丟你手中種類嘅物品,可以用於丟雪球、雞蛋、刷怪蛋、礦車,等類似。\n\n會生成大量嘅數量呢會產生大量嘅 lag 且可能會導致服器崩潰。",
"description.wurst.hack.tillaura": "自動將泥土、草塊、等類似。轉化為耕地。\n唔好 Killaura 搞混。",
"description.wurst.hack.timer": "改變大部分嘢嘅速度。",
"description.wurst.hack.tired": "讓你睇起身似 Alexander 回到 4月 2015年。\n僅限其他玩家可視。",
"description.wurst.hack.toomanyhax": "屏蔽你並唔想要有嘅功能。\n讓你確保你唔會唔小心開啟錯誤嘅作弊功能導致被服務器封禁。\n呢個系為咗 「只想作弊些少用戶」。\n\n使用指令 §6.toomanyhax§r 嚟選擇邊滴功能需要被屏蔽。\n輸入 §6.help toomanyhax§r 尋求更多。",
"description.wurst.hack.toomanyhax": "屏蔽你並唔想要有嘅功能。\n讓你確保你唔會唔小心開啟錯誤嘅作弊功能導致被伺服器封禁。\n呢個係為咗 「只想作弊些少用戶」。\n\n使用指令 §6.toomanyhax§r 嚟選擇邊啲功能需要被屏蔽。\n輸入 §6.help toomanyhax§r 尋求更多。",
"description.wurst.hack.tp-aura": "自動傳送到實體附近並自動攻擊佢。",
"description.wurst.hack.trajectories": "預測箭投掟物品嘅飛行路徑。",
"description.wurst.hack.trajectories": "預測箭投掟物品嘅飛行路徑。",
"description.wurst.hack.treebot": "一個實驗性嘅機器人將會喺樹木附近斬樹。\n目前僅限於斬小樹。",
"description.wurst.hack.triggerbot": "自動攻擊你睇實體。",
"description.wurst.hack.triggerbot": "自動攻擊你緊嘅實體。",
"description.wurst.hack.trollpotion": "生成一個乞人憎嘅葯水效果。\n§o僅限創造模式。§r",
"description.wurst.hack.truesight": "允許你睇到隱身嘅實體。",
"description.wurst.hack.tunneller": "自動挖一個隧道。\n\n§c§l警告§r 盡管呢個 AI 會自動避開岩漿和其他牙煙嘅地下,呢度冇守衛確保你唔會死亡,除非你唔介意你嘅嘢全部有一定概率會失去。",
"description.wurst.hack.x-ray": "允許你透視礦物所喺嘅位置(請自行確保服務器內無假礦插件)。",
"description.wurst.altmanager.premium": "呢個賬戶擁有密碼,且可以加入所有服務器。",
"description.wurst.altmanager.cracked": "呢個賬戶冇密碼,只能加入盜版服務器。",
"description.wurst.altmanager.failed": "上次你嘗試登錄呢個,但系佢唔起作用。",
"description.wurst.altmanager.checked": "呢個密碼喺曾經系有效嘅。",
"description.wurst.altmanager.unchecked": "你從未成功登錄過呢個賬戶。",
"description.wurst.altmanager.favorite": "你標記咗呢其中一個賬戶為你嘅喜愛。",
"description.wurst.altmanager.window": "呢個按鈕系打開另一個窗口嘅。",
"description.wurst.altmanager.window_freeze": "當打開另一個窗口時,呢會導致游戲睇起身冇反應。",
"description.wurst.hack.tunneller": "自動挖一個隧道。\n\n§c§l警告§r 盡管呢個 AI 會自動避開岩漿同埋其他牙煙嘅地下,但係唔包生仔,除非你唔介意你嘅嘢全部有一定概率會失去。",
"description.wurst.hack.x-ray": "允許你透視礦物所喺嘅位置(請自行確保伺服器內無假礦插件)。",
"description.wurst.setting.generic.attack_speed": "每秒點擊嘅攻擊速度,\n0 = 動態調整速度以匹配你嘅攻擊冷卻時間。",
"description.wurst.setting.generic.pause_attack_on_containers": "當容器介面(譬如:儲物箱、漏斗)開啟時會暫停攻擊,\n對於用儲物箱介面作為菜單嘅迷你遊戲伺服器好有用。",
"description.wurst.altmanager.premium": "呢個帳號擁有密碼,且可以加入所有伺服器。",
"description.wurst.altmanager.cracked": "呢個帳號冇密碼,只能加入盜版伺服器。",
"description.wurst.altmanager.failed": "上次你嘗試登錄呢個,但係佢唔起作用。",
"description.wurst.altmanager.checked": "呢個密碼喺曾經係有效嘅。",
"description.wurst.altmanager.unchecked": "你從未成功登錄過呢個帳號。",
"description.wurst.altmanager.favorite": "你標記咗其中一個帳號為你嘅喜愛。",
"description.wurst.altmanager.window": "呢個按鈕係打開另一個窗口嘅。",
"description.wurst.altmanager.window_freeze": "當打開另一個窗口時,呢會導致游戲睇起嚟冇反應。",
"description.wurst.altmanager.fullscreen": "§c請關閉全屏模式",
"gui.wurst.altmanager.folder_error.title": "無法創建 「.Wurst encryption」 文件夾!",
"gui.wurst.altmanager.folder_error.message": "你可能唔小心阻止 Wurst 訪問呢個文件夾。\n如果Wurst無法訪問 AltManager 將無法加密或解密你嘅帳戶列表。\n你依然可以使用 AltManager但你依家創建嘅任何賬戶將冇辦法被保存。\n\n全部錯誤如下\n%s",
"gui.wurst.altmanager.empty.title": "你嘅賬戶列表系空嘅。",
"gui.wurst.altmanager.empty.message": "你想唔想要滴隨機嘅賬戶嚟開始?"
"gui.wurst.altmanager.folder_error.message": "你可能唔小心阻止 Wurst 訪問呢個文件夾。\n如果Wurst無法訪問 AltManager 將無法加密或解密你嘅帳號列表。\n你依然可以使用 AltManager但你依家創建嘅任何帳號將冇辦法被保存。\n\n全部錯誤如下\n%s",
"gui.wurst.altmanager.empty.title": "你嘅帳號列表係空嘅。",
"gui.wurst.altmanager.empty.message": "你想唔想要啲隨機嘅帳號嚟開始?"
}

View File

@ -1,17 +1,29 @@
{
"description.wurst.hack.anchoraura": "自動放置(可選),充能並引爆重生錨並擊殺你附近的實體。",
"description.wurst.hack.antiafk": "隨機走動,用於避免伺服器掛機檢測。\n需要至少有3x3的區域可以走動。",
"description.wurst.hack.antiblind": "防止失明。\n與OptiFine高清修復不相容。",
"OUTDATED.description.wurst.hack.antiblind": "防止失明。\n與OptiFine高清修復不相容。",
"description.wurst.hack.anticactus": "保護你免受仙人掌傷害。",
"description.wurst.hack.antiknockback": "保護你不會被其他生物或玩家推動和用劍擊退。",
"description.wurst.hack.antispam": "預防存在的重複刷屏,改為用計數器顯示。",
"description.wurst.hack.antiwaterpush": "防止你被水流推動。",
"description.wurst.hack.antiwobble": "關閉因反胃和傳送門引起的搖晃效果。",
"description.wurst.hack.arrowdmg": "大幅增加箭的傷害,但也會消耗大量飢餓值並降低準確性。\n\n不適用於弩並且似乎已在紙質服務器上進行了修補。",
"description.wurst.setting.arrowdmg.packets": "要發送的數據包數量。\n更多數據包 = 更高的傷害。",
"description.wurst.setting.arrowdmg.trident_yeet_mode": "啟用後,三叉戟飛得更遠。 似乎不會影響傷害或激流。\n\n§c§l警告§r 啟用此選項很容易丟失三叉戟!",
"description.wurst.hack.autoarmor": "自動管理你的盔甲。",
"description.wurst.hack.autobuild": "自動建築東西。\n放一個方塊就開始自動建造。",
"description.wurst.hack.autodrop": "自動丟棄你不想要的物品(有預設)。",
"description.wurst.hack.autoleave": "如果你的血量低於設定值,將會自動退出伺服器。",
"description.wurst.hack.autoeat": "當必要的時候將會自動進食。",
"description.wurst.setting.autoeat.target_hunger": "嘗試將飢餓值保持在或高於此水平,但前提是它不會浪費任何飢餓值。",
"description.wurst.setting.autoeat.min_hunger": "始終將飢餓條保持在此水平或以上,即使它會浪費一些飢餓點。\n6.5 - 不會對香草食品造成任何浪費。\n10.0 - 完全忽略浪費並保持飢餓條充滿。",
"description.wurst.setting.autoeat.injured_hunger": "當你受傷時,將飢餓條填充到至少這個水平,即使它會浪費一些飢餓點。\n10.0 - 最快的治療\n9.0 - 最慢的治療\n<9.0 - 沒有治療\n<3.5 - 沒有衝刺",
"description.wurst.setting.autoeat.injury_threshold": "防止小傷浪費你所有的食物。 AutoEat 僅在您至少失去此數量的心時才會認為您受傷。",
"description.wurst.setting.autoeat.take_items_from": "AutoEat 應該在哪裡尋找食物。",
"description.wurst.setting.autoeat.eat_while_walking": "減慢速度,不推薦。",
"description.wurst.setting.autoeat.allow_hunger": "腐肉具有無害的“飢餓”效果。\n可安全食用可用作緊急食品。",
"description.wurst.setting.autoeat.allow_poison": "有毒食物會隨著時間的推移造成傷害。\n不推薦。",
"description.wurst.setting.autoeat.allow_chorus": "吃紫頌果會將你傳送到一個隨機位置。\n不推薦。",
"description.wurst.hack.autofarm": "自動收穫與種植農作物。\n有效作物為小麥、胡蘿蔔、馬鈴薯、紅菜頭根、南瓜、西瓜、仙人掌、甘蔗、海帶、竹子、地狱疙瘩和可可豆。",
"description.wurst.hack.autofish": "自動使用最好的魚竿釣魚,如果在此期間獲得了更好的魚竿,就會自動切換到它。",
"description.wurst.hack.automine": "自動挖掘你眼前所指的方塊。",

View File

@ -25,6 +25,7 @@
"mixins": [
"wurst.mixins.json"
],
"accessWidener" : "wurst.accesswidener",
"depends": {
"fabricloader": ">=0.14.8",

View File

@ -0,0 +1,3 @@
accessWidener v1 named
accessible class net/minecraft/client/render/BackgroundRenderer$StatusEffectFogModifier
accessible class net/minecraft/client/util/telemetry/TelemetrySender$PlayerGameMode

View File

@ -30,7 +30,6 @@
"EntityMixin",
"EntityRendererMixin",
"FishingBobberEntityMixin",
"FluidBlockMixin",
"FluidRendererMixin",
"GameMenuScreenMixin",
"GameRendererMixin",
@ -39,6 +38,7 @@
"KeyBindingMixin",
"KeyboardMixin",
"LanguageManagerMixin",
"LightTextureManagerMixin",
"LivingEntityRendererMixin",
"MinecraftClientMixin",
"MiningToolItemMixin",
@ -47,6 +47,7 @@
"PlayerInventoryMixin",
"PlayerSkinProviderMixin",
"PowderSnowBlockMixin",
"ProfileKeysMixin",
"RenderTickCounterMixin",
"ScreenMixin",
"ServerListMixin",
@ -57,10 +58,12 @@
"StatsScreenMixin",
"StatusEffectInstanceMixin",
"SwordItemMixin",
"TelemetrySenderMixin",
"TerrainRenderContextMixin",
"TextVisitFactoryMixin",
"TitleScreenMixin",
"WorldMixin"
"WorldMixin",
"WorldRendererMixin"
],
"injectors": {
"defaultRequire": 1