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

Merge branch '1.16.1'

Conflicts:
	gradle.properties
	src/main/java/net/wurstclient/WurstClient.java
	src/main/java/net/wurstclient/options/ZoomManagerScreen.java
This commit is contained in:
Alexander01998 2020-06-24 18:38:08 +02:00
commit 8e57bb1b38
160 changed files with 1908 additions and 1165 deletions

View File

@ -4,15 +4,15 @@ org.gradle.jvmargs=-Xmx1G
# Fabric Properties
# check these on https://modmuss50.me/fabric.html and
# https://www.curseforge.com/minecraft/mc-mods/fabric-api
minecraft_version=1.15.2
yarn_mappings=1.15.2+build.17
minecraft_version=1.16.1
yarn_mappings=1.16.1+build.1
loader_version=0.8.8+build.202
#Fabric api
fabric_version=0.13.1+build.316-1.15
fabric_version=0.13.1+build.370-1.16
# Mod Properties
mod_version = v7.2-MC1.15.2
mod_version = v7.2-MC1.16.1
maven_group = net.wurstclient
archives_base_name = Wurst-Client

View File

@ -57,7 +57,7 @@ public enum WurstClient
public static final IMinecraftClient IMC = (IMinecraftClient)MC;
public static final String VERSION = "7.2";
public static final String MC_VERSION = "1.15.2";
public static final String MC_VERSION = "1.16.1";
private WurstAnalytics analytics;
private EventManager eventManager;

View File

@ -30,7 +30,7 @@ public class FlyPathProcessor extends PathProcessor
public void process()
{
// get positions
BlockPos pos = new BlockPos(MC.player);
BlockPos pos = new BlockPos(MC.player.getPos());
Vec3d posVec = MC.player.getPos();
BlockPos nextPos = path.get(index);
int posIndex = path.indexOf(pos);
@ -44,9 +44,10 @@ public class FlyPathProcessor extends PathProcessor
ticksOffPath = 0;
// update index
if(posIndex > index || posVec.x >= nextBox.x1 && posVec.x <= nextBox.x2
&& posVec.y >= nextBox.y1 && posVec.y <= nextBox.y2
&& posVec.z >= nextBox.z1 && posVec.z <= nextBox.z2)
if(posIndex > index
|| posVec.x >= nextBox.minX && posVec.x <= nextBox.maxX
&& posVec.y >= nextBox.minY && posVec.y <= nextBox.maxY
&& posVec.z >= nextBox.minZ && posVec.z <= nextBox.maxZ)
{
if(posIndex > index)
index = posIndex + 1;
@ -71,18 +72,17 @@ public class FlyPathProcessor extends PathProcessor
lockControls();
MC.player.abilities.flying = creativeFlying;
boolean x = posVec.x < nextBox.x1 || posVec.x > nextBox.x2;
boolean y = posVec.y < nextBox.y1 || posVec.y > nextBox.y2;
boolean z = posVec.z < nextBox.z1 || posVec.z > nextBox.z2;
boolean x = posVec.x < nextBox.minX || posVec.x > nextBox.maxX;
boolean y = posVec.y < nextBox.minY || posVec.y > nextBox.maxY;
boolean z = posVec.z < nextBox.minZ || posVec.z > nextBox.maxZ;
boolean horizontal = x || z;
// face next position
if(horizontal)
{
facePosition(nextPos);
if(Math.abs(MathHelper
.wrapDegrees(RotationUtils.getHorizontalAngleToLookVec(
new Vec3d(nextPos).add(0.5, 0.5, 0.5)))) > 1)
if(Math.abs(MathHelper.wrapDegrees(RotationUtils
.getHorizontalAngleToLookVec(Vec3d.ofCenter(nextPos)))) > 1)
return;
}
@ -123,9 +123,9 @@ public class FlyPathProcessor extends PathProcessor
MC.options.keyForward.setPressed(true);
if(MC.player.horizontalCollision)
if(posVec.y > nextBox.y2)
if(posVec.y > nextBox.maxY)
MC.options.keySneak.setPressed(true);
else if(posVec.y < nextBox.y1)
else if(posVec.y < nextBox.minY)
MC.options.keyJump.setPressed(true);
// vertical movement
@ -138,7 +138,7 @@ public class FlyPathProcessor extends PathProcessor
return;
}
if(posVec.y < nextBox.y1)
if(posVec.y < nextBox.minY)
MC.options.keyJump.setPressed(true);
else
MC.options.keySneak.setPressed(true);

View File

@ -58,12 +58,12 @@ public class PathFinder
public PathFinder(BlockPos goal)
{
if(WurstClient.MC.player.onGround)
if(WurstClient.MC.player.isOnGround())
start = new PathPos(new BlockPos(WurstClient.MC.player.getX(),
WurstClient.MC.player.getY() + 0.5,
WurstClient.MC.player.getZ()));
else
start = new PathPos(new BlockPos(WurstClient.MC.player));
start = new PathPos(new BlockPos(WurstClient.MC.player.getPos()));
this.goal = goal;
costMap.put(start, 0F);

View File

@ -58,7 +58,7 @@ public abstract class PathProcessor
protected final void facePosition(BlockPos pos)
{
WURST.getRotationFaker()
.faceVectorClientIgnorePitch(new Vec3d(pos).add(0.5, 0.5, 0.5));
.faceVectorClientIgnorePitch(Vec3d.ofCenter(pos));
}
public static final void lockControls()

View File

@ -31,12 +31,12 @@ public class WalkPathProcessor extends PathProcessor
{
// get positions
BlockPos pos;
if(WurstClient.MC.player.onGround)
if(WurstClient.MC.player.isOnGround())
pos = new BlockPos(WurstClient.MC.player.getX(),
WurstClient.MC.player.getY() + 0.5,
WurstClient.MC.player.getZ());
else
pos = new BlockPos(WurstClient.MC.player);
pos = new BlockPos(WurstClient.MC.player.getPos());
PathPos nextPos = path.get(index);
int posIndex = path.indexOf(pos);
@ -69,9 +69,8 @@ public class WalkPathProcessor extends PathProcessor
// face next position
facePosition(nextPos);
if(MathHelper
.wrapDegrees(Math.abs(RotationUtils.getHorizontalAngleToLookVec(
new Vec3d(nextPos).add(0.5, 0.5, 0.5)))) > 90)
if(MathHelper.wrapDegrees(Math.abs(RotationUtils
.getHorizontalAngleToLookVec(Vec3d.ofCenter(nextPos)))) > 90)
return;
if(WURST.getHax().jesusHack.isEnabled())
@ -134,7 +133,7 @@ public class WalkPathProcessor extends PathProcessor
index++;
// walk off the edge
if(WurstClient.MC.player.onGround)
if(WurstClient.MC.player.isOnGround())
MC.options.keyForward.setPressed(true);
}
}

View File

@ -68,8 +68,9 @@ public final class Alt implements Comparable<Alt>
{
cracked = true;
return "";
}else
return password;
}
return password;
}
public boolean isCracked()

View File

@ -17,6 +17,7 @@ import net.minecraft.client.gui.DrawableHelper;
import net.minecraft.client.network.AbstractClientPlayerEntity;
import net.minecraft.client.texture.PlayerSkinTexture;
import net.minecraft.client.util.DefaultSkinHelper;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.util.Identifier;
import net.wurstclient.WurstClient;
@ -51,8 +52,8 @@ public final class AltRenderer
loadedSkins.add(name);
}
public static void drawAltFace(String name, int x, int y, int w, int h,
boolean selected)
public static void drawAltFace(MatrixStack matrixStack, String name, int x,
int y, int w, int h, boolean selected)
{
try
{
@ -69,14 +70,14 @@ public final class AltRenderer
int fh = 192;
float u = 24;
float v = 24;
DrawableHelper.blit(x, y, u, v, w, h, fw, fh);
DrawableHelper.drawTexture(matrixStack, x, y, u, v, w, h, fw, fh);
// Hat
fw = 192;
fh = 192;
u = 120;
v = 24;
DrawableHelper.blit(x, y, u, v, w, h, fw, fh);
DrawableHelper.drawTexture(matrixStack, x, y, u, v, w, h, fw, fh);
GL11.glDisable(GL11.GL_BLEND);
@ -86,8 +87,8 @@ public final class AltRenderer
}
}
public static void drawAltBody(String name, int x, int y, int width,
int height)
public static void drawAltBody(MatrixStack matrixStack, String name, int x,
int y, int width, int height)
{
try
{
@ -109,7 +110,7 @@ public final class AltRenderer
int fh = height * 2;
float u = height / 4;
float v = height / 4;
DrawableHelper.blit(x, y, u, v, w, h, fw, fh);
DrawableHelper.drawTexture(matrixStack, x, y, u, v, w, h, fw, fh);
// Hat
x = x + 0;
@ -118,7 +119,7 @@ public final class AltRenderer
h = height / 4;
u = height / 4 * 5;
v = height / 4;
DrawableHelper.blit(x, y, u, v, w, h, fw, fh);
DrawableHelper.drawTexture(matrixStack, x, y, u, v, w, h, fw, fh);
// Chest
x = x + 0;
@ -127,7 +128,7 @@ public final class AltRenderer
h = height / 8 * 3;
u = height / 4 * 2.5F;
v = height / 4 * 2.5F;
DrawableHelper.blit(x, y, u, v, w, h, fw, fh);
DrawableHelper.drawTexture(matrixStack, x, y, u, v, w, h, fw, fh);
// Jacket
x = x + 0;
@ -136,7 +137,7 @@ public final class AltRenderer
h = height / 8 * 3;
u = height / 4 * 2.5F;
v = height / 4 * 4.5F;
DrawableHelper.blit(x, y, u, v, w, h, fw, fh);
DrawableHelper.drawTexture(matrixStack, x, y, u, v, w, h, fw, fh);
// Left Arm
x = x - width / 16 * (slim ? 3 : 4);
@ -145,7 +146,7 @@ public final class AltRenderer
h = height / 8 * 3;
u = height / 4 * 5.5F;
v = height / 4 * 2.5F;
DrawableHelper.blit(x, y, u, v, w, h, fw, fh);
DrawableHelper.drawTexture(matrixStack, x, y, u, v, w, h, fw, fh);
// Left Sleeve
x = x + 0;
@ -154,7 +155,7 @@ public final class AltRenderer
h = height / 8 * 3;
u = height / 4 * 5.5F;
v = height / 4 * 4.5F;
DrawableHelper.blit(x, y, u, v, w, h, fw, fh);
DrawableHelper.drawTexture(matrixStack, x, y, u, v, w, h, fw, fh);
// Right Arm
x = x + width / 16 * (slim ? 11 : 12);
@ -163,7 +164,7 @@ public final class AltRenderer
h = height / 8 * 3;
u = height / 4 * 5.5F;
v = height / 4 * 2.5F;
DrawableHelper.blit(x, y, u, v, w, h, fw, fh);
DrawableHelper.drawTexture(matrixStack, x, y, u, v, w, h, fw, fh);
// Right Sleeve
x = x + 0;
@ -172,7 +173,7 @@ public final class AltRenderer
h = height / 8 * 3;
u = height / 4 * 5.5F;
v = height / 4 * 4.5F;
DrawableHelper.blit(x, y, u, v, w, h, fw, fh);
DrawableHelper.drawTexture(matrixStack, x, y, u, v, w, h, fw, fh);
// Left Leg
x = x - width / 2;
@ -181,7 +182,7 @@ public final class AltRenderer
h = height / 8 * 3;
u = height / 4 * 0.5F;
v = height / 4 * 2.5F;
DrawableHelper.blit(x, y, u, v, w, h, fw, fh);
DrawableHelper.drawTexture(matrixStack, x, y, u, v, w, h, fw, fh);
// Left Pants
x = x + 0;
@ -190,7 +191,7 @@ public final class AltRenderer
h = height / 8 * 3;
u = height / 4 * 0.5F;
v = height / 4 * 4.5F;
DrawableHelper.blit(x, y, u, v, w, h, fw, fh);
DrawableHelper.drawTexture(matrixStack, x, y, u, v, w, h, fw, fh);
// Right Leg
x = x + width / 4;
@ -199,7 +200,7 @@ public final class AltRenderer
h = height / 8 * 3;
u = height / 4 * 0.5F;
v = height / 4 * 2.5F;
DrawableHelper.blit(x, y, u, v, w, h, fw, fh);
DrawableHelper.drawTexture(matrixStack, x, y, u, v, w, h, fw, fh);
// Right Pants
x = x + 0;
@ -208,7 +209,7 @@ public final class AltRenderer
h = height / 8 * 3;
u = height / 4 * 0.5F;
v = height / 4 * 4.5F;
DrawableHelper.blit(x, y, u, v, w, h, fw, fh);
DrawableHelper.drawTexture(matrixStack, x, y, u, v, w, h, fw, fh);
GL11.glDisable(GL11.GL_BLEND);
@ -218,8 +219,8 @@ public final class AltRenderer
}
}
public static void drawAltBack(String name, int x, int y, int width,
int height)
public static void drawAltBack(MatrixStack matrixStack, String name, int x,
int y, int width, int height)
{
try
{
@ -241,7 +242,7 @@ public final class AltRenderer
int fh = height * 2;
float u = height / 4 * 3;
float v = height / 4;
DrawableHelper.blit(x, y, u, v, w, h, fw, fh);
DrawableHelper.drawTexture(matrixStack, x, y, u, v, w, h, fw, fh);
// Hat
x = x + 0;
@ -250,7 +251,7 @@ public final class AltRenderer
h = height / 4;
u = height / 4 * 7;
v = height / 4;
DrawableHelper.blit(x, y, u, v, w, h, fw, fh);
DrawableHelper.drawTexture(matrixStack, x, y, u, v, w, h, fw, fh);
// Chest
x = x + 0;
@ -259,7 +260,7 @@ public final class AltRenderer
h = height / 8 * 3;
u = height / 4 * 4;
v = height / 4 * 2.5F;
DrawableHelper.blit(x, y, u, v, w, h, fw, fh);
DrawableHelper.drawTexture(matrixStack, x, y, u, v, w, h, fw, fh);
// Jacket
x = x + 0;
@ -268,7 +269,7 @@ public final class AltRenderer
h = height / 8 * 3;
u = height / 4 * 4;
v = height / 4 * 4.5F;
DrawableHelper.blit(x, y, u, v, w, h, fw, fh);
DrawableHelper.drawTexture(matrixStack, x, y, u, v, w, h, fw, fh);
// Left Arm
x = x - width / 16 * (slim ? 3 : 4);
@ -277,7 +278,7 @@ public final class AltRenderer
h = height / 8 * 3;
u = height / 4 * (slim ? 6.375F : 6.5F);
v = height / 4 * 2.5F;
DrawableHelper.blit(x, y, u, v, w, h, fw, fh);
DrawableHelper.drawTexture(matrixStack, x, y, u, v, w, h, fw, fh);
// Left Sleeve
x = x + 0;
@ -286,7 +287,7 @@ public final class AltRenderer
h = height / 8 * 3;
u = height / 4 * (slim ? 6.375F : 6.5F);
v = height / 4 * 4.5F;
DrawableHelper.blit(x, y, u, v, w, h, fw, fh);
DrawableHelper.drawTexture(matrixStack, x, y, u, v, w, h, fw, fh);
// Right Arm
x = x + width / 16 * (slim ? 11 : 12);
@ -295,7 +296,7 @@ public final class AltRenderer
h = height / 8 * 3;
u = height / 4 * (slim ? 6.375F : 6.5F);
v = height / 4 * 2.5F;
DrawableHelper.blit(x, y, u, v, w, h, fw, fh);
DrawableHelper.drawTexture(matrixStack, x, y, u, v, w, h, fw, fh);
// Right Sleeve
x = x + 0;
@ -304,7 +305,7 @@ public final class AltRenderer
h = height / 8 * 3;
u = height / 4 * (slim ? 6.375F : 6.5F);
v = height / 4 * 4.5F;
DrawableHelper.blit(x, y, u, v, w, h, fw, fh);
DrawableHelper.drawTexture(matrixStack, x, y, u, v, w, h, fw, fh);
// Left Leg
x = x - width / 2;
@ -313,7 +314,7 @@ public final class AltRenderer
h = height / 8 * 3;
u = height / 4 * 1.5F;
v = height / 4 * 2.5F;
DrawableHelper.blit(x, y, u, v, w, h, fw, fh);
DrawableHelper.drawTexture(matrixStack, x, y, u, v, w, h, fw, fh);
// Left Pants
x = x + 0;
@ -322,7 +323,7 @@ public final class AltRenderer
h = height / 8 * 3;
u = height / 4 * 1.5F;
v = height / 4 * 4.5F;
DrawableHelper.blit(x, y, u, v, w, h, fw, fh);
DrawableHelper.drawTexture(matrixStack, x, y, u, v, w, h, fw, fh);
// Right Leg
x = x + width / 4;
@ -331,7 +332,7 @@ public final class AltRenderer
h = height / 8 * 3;
u = height / 4 * 1.5F;
v = height / 4 * 2.5F;
DrawableHelper.blit(x, y, u, v, w, h, fw, fh);
DrawableHelper.drawTexture(matrixStack, x, y, u, v, w, h, fw, fh);
// Right Pants
x = x + 0;
@ -340,7 +341,7 @@ public final class AltRenderer
h = height / 8 * 3;
u = height / 4 * 1.5F;
v = height / 4 * 4.5F;
DrawableHelper.blit(x, y, u, v, w, h, fw, fh);
DrawableHelper.drawTexture(matrixStack, x, y, u, v, w, h, fw, fh);
GL11.glDisable(GL11.GL_BLEND);

View File

@ -74,15 +74,15 @@ public final class Encryption
}
}
public JsonElement parseFile(Path path) throws IOException, JsonException
public byte[] decrypt(byte[] bytes)
{
try(BufferedReader reader = Files.newBufferedReader(path))
try
{
return JsonUtils.JSON_PARSER.parse(loadEncryptedFile(path));
return decryptCipher.doFinal(Base64.getDecoder().decode(bytes));
}catch(JsonParseException e)
}catch(IllegalArgumentException | GeneralSecurityException e)
{
throw new JsonException(e);
throw new CrashException(CrashReport.create(e, "Decrypting bytes"));
}
}
@ -98,6 +98,18 @@ public final class Encryption
}
}
public JsonElement parseFile(Path path) throws IOException, JsonException
{
try(BufferedReader reader = Files.newBufferedReader(path))
{
return JsonUtils.JSON_PARSER.parse(loadEncryptedFile(path));
}catch(JsonParseException e)
{
throw new JsonException(e);
}
}
public WsonArray parseFileToArray(Path path)
throws IOException, JsonException
{
@ -120,28 +132,15 @@ public final class Encryption
return new WsonObject(json.getAsJsonObject());
}
public byte[] decrypt(byte[] bytes)
public byte[] encrypt(byte[] bytes)
{
try
{
return decryptCipher.doFinal(Base64.getDecoder().decode(bytes));
return Base64.getEncoder().encode(encryptCipher.doFinal(bytes));
}catch(IllegalArgumentException | GeneralSecurityException e)
}catch(GeneralSecurityException e)
{
throw new CrashException(CrashReport.create(e, "Decrypting bytes"));
}
}
public void toEncryptedJson(JsonObject json, Path path)
throws IOException, JsonException
{
try
{
saveEncryptedFile(path, JsonUtils.PRETTY_GSON.toJson(json));
}catch(JsonParseException e)
{
throw new JsonException(e);
throw new CrashException(CrashReport.create(e, "Encrypting bytes"));
}
}
@ -157,15 +156,16 @@ public final class Encryption
}
}
public byte[] encrypt(byte[] bytes)
public void toEncryptedJson(JsonObject json, Path path)
throws IOException, JsonException
{
try
{
return Base64.getEncoder().encode(encryptCipher.doFinal(bytes));
saveEncryptedFile(path, JsonUtils.PRETTY_GSON.toJson(json));
}catch(GeneralSecurityException e)
}catch(JsonParseException e)
{
throw new CrashException(CrashReport.create(e, "Encrypting bytes"));
throw new JsonException(e);
}
}

View File

@ -31,6 +31,6 @@ public final class AddAltScreen extends AltEditorScreen
protected void pressDoneButton()
{
altManager.add(getEmail(), getPassword(), false);
minecraft.openScreen(prevScreen);
client.openScreen(prevScreen);
}
}

View File

@ -28,6 +28,8 @@ import com.google.gson.JsonObject;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.widget.ButtonWidget;
import net.minecraft.client.gui.widget.TextFieldWidget;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.text.LiteralText;
import net.minecraft.text.Text;
import net.minecraft.util.Util;
import net.wurstclient.WurstClient;
@ -59,32 +61,34 @@ public abstract class AltEditorScreen extends Screen
@Override
public final void init()
{
addButton(
doneButton = new ButtonWidget(width / 2 - 100, height / 4 + 72 + 12,
200, 20, getDoneButtonText(), b -> pressDoneButton()));
addButton(doneButton =
new ButtonWidget(width / 2 - 100, height / 4 + 72 + 12, 200, 20,
new LiteralText(getDoneButtonText()), b -> pressDoneButton()));
addButton(new ButtonWidget(width / 2 - 100, height / 4 + 120 + 12, 200,
20, "Cancel", b -> minecraft.openScreen(prevScreen)));
20, new LiteralText("Cancel"), b -> client.openScreen(prevScreen)));
addButton(new ButtonWidget(width / 2 - 100, height / 4 + 96 + 12, 200,
20, "Random Name",
20, new LiteralText("Random Name"),
b -> emailBox.setText(NameGenerator.generateName())));
addButton(stealSkinButton =
new ButtonWidget(width - (width / 2 - 100) / 2 - 64, height - 32,
128, 20, "Steal Skin", b -> message = stealSkin(getEmail())));
128, 20, new LiteralText("Steal Skin"),
b -> message = stealSkin(getEmail())));
addButton(new ButtonWidget((width / 2 - 100) / 2 - 64, height - 32, 128,
20, "Open Skin Folder", b -> openSkinFolder()));
20, new LiteralText("Open Skin Folder"), b -> openSkinFolder()));
emailBox = new TextFieldWidget(font, width / 2 - 100, 60, 200, 20, "");
emailBox = new TextFieldWidget(textRenderer, width / 2 - 100, 60, 200,
20, new LiteralText(""));
emailBox.setMaxLength(48);
emailBox.setSelected(true);
emailBox.setText(getDefaultEmail());
children.add(emailBox);
passwordBox =
new TextFieldWidget(font, width / 2 - 100, 100, 200, 20, "");
passwordBox = new TextFieldWidget(textRenderer, width / 2 - 100, 100,
200, 20, new LiteralText(""));
passwordBox.setText(getDefaultPassword());
passwordBox.setRenderTextProvider((text, int_1) -> {
String stars = "";
@ -143,7 +147,7 @@ public abstract class AltEditorScreen extends Screen
protected String getDefaultEmail()
{
return minecraft.getSession().getUsername();
return client.getSession().getUsername();
}
protected String getDefaultPassword()
@ -312,24 +316,28 @@ public abstract class AltEditorScreen extends Screen
}
@Override
public void render(int mouseX, int mouseY, float partialTicks)
public void render(MatrixStack matrixStack, int mouseX, int mouseY,
float partialTicks)
{
renderBackground();
renderBackground(matrixStack);
// skin preview
AltRenderer.drawAltBack(emailBox.getText(), (width / 2 - 100) / 2 - 64,
height / 2 - 128, 128, 256);
AltRenderer.drawAltBody(emailBox.getText(),
AltRenderer.drawAltBack(matrixStack, emailBox.getText(),
(width / 2 - 100) / 2 - 64, height / 2 - 128, 128, 256);
AltRenderer.drawAltBody(matrixStack, emailBox.getText(),
width - (width / 2 - 100) / 2 - 64, height / 2 - 128, 128, 256);
// text
drawString(font, "Name or E-Mail", width / 2 - 100, 47, 10526880);
drawString(font, "Password", width / 2 - 100, 87, 10526880);
drawCenteredString(font, message, width / 2, 142, 16777215);
drawStringWithShadow(matrixStack, textRenderer, "Name or E-Mail",
width / 2 - 100, 47, 10526880);
drawStringWithShadow(matrixStack, textRenderer, "Password",
width / 2 - 100, 87, 10526880);
drawCenteredString(matrixStack, textRenderer, message, width / 2, 142,
16777215);
// text boxes
emailBox.render(mouseX, mouseY, partialTicks);
passwordBox.render(mouseX, mouseY, partialTicks);
emailBox.render(matrixStack, mouseX, mouseY, partialTicks);
passwordBox.render(matrixStack, mouseX, mouseY, partialTicks);
// red flash for errors
if(errorTimer > 0)
@ -355,6 +363,6 @@ public abstract class AltEditorScreen extends Screen
errorTimer--;
}
super.render(mouseX, mouseY, partialTicks);
super.render(matrixStack, mouseX, mouseY, partialTicks);
}
}

View File

@ -21,7 +21,7 @@ import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.ConfirmScreen;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.widget.ButtonWidget;
import net.minecraft.client.gui.widget.ListWidget;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.text.LiteralText;
import net.minecraft.util.math.MathHelper;
import net.wurstclient.WurstClient;
@ -31,6 +31,7 @@ import net.wurstclient.altmanager.AltRenderer;
import net.wurstclient.altmanager.ImportAltsFileChooser;
import net.wurstclient.altmanager.LoginManager;
import net.wurstclient.altmanager.NameGenerator;
import net.wurstclient.util.ListWidget;
import net.wurstclient.util.MultiProcessingUtils;
public final class AltManagerScreen extends Screen
@ -57,37 +58,38 @@ public final class AltManagerScreen extends Screen
@Override
public void init()
{
listGui = new ListGui(minecraft, this, altManager.getList());
listGui = new ListGui(client, this, altManager.getList());
if(altManager.getList().isEmpty() && shouldAsk)
minecraft.openScreen(new ConfirmScreen(this::confirmGenerate,
client.openScreen(new ConfirmScreen(this::confirmGenerate,
new LiteralText("Your alt list is empty."), new LiteralText(
"Would you like some random alts to get started?")));
addButton(useButton = new ButtonWidget(width / 2 - 154, height - 52,
100, 20, "Use", b -> pressUse()));
100, 20, new LiteralText("Use"), b -> pressUse()));
addButton(new ButtonWidget(width / 2 - 50, height - 52, 100, 20,
"Direct Login",
b -> minecraft.openScreen(new DirectLoginScreen(this))));
new LiteralText("Direct Login"),
b -> client.openScreen(new DirectLoginScreen(this))));
addButton(new ButtonWidget(width / 2 + 54, height - 52, 100, 20, "Add",
b -> minecraft.openScreen(new AddAltScreen(this, altManager))));
addButton(new ButtonWidget(width / 2 + 54, height - 52, 100, 20,
new LiteralText("Add"),
b -> client.openScreen(new AddAltScreen(this, altManager))));
addButton(starButton = new ButtonWidget(width / 2 - 154, height - 28,
75, 20, "Star", b -> pressStar()));
75, 20, new LiteralText("Star"), b -> pressStar()));
addButton(editButton = new ButtonWidget(width / 2 - 76, height - 28, 74,
20, "Edit", b -> pressEdit()));
20, new LiteralText("Edit"), b -> pressEdit()));
addButton(deleteButton = new ButtonWidget(width / 2 + 2, height - 28,
74, 20, "Delete", b -> pressDelete()));
74, 20, new LiteralText("Delete"), b -> pressDelete()));
addButton(new ButtonWidget(width / 2 + 80, height - 28, 75, 20,
"Cancel", b -> minecraft.openScreen(prevScreen)));
new LiteralText("Cancel"), b -> client.openScreen(prevScreen)));
addButton(new ButtonWidget(8, 8, 100, 20, "Import Alts",
b -> pressImportAlts()));
addButton(new ButtonWidget(8, 8, 100, 20,
new LiteralText("Import Alts"), b -> pressImportAlts()));
}
@Override
@ -152,7 +154,7 @@ public final class AltManagerScreen extends Screen
if(alt.isCracked())
{
LoginManager.changeCrackedName(alt.getEmail());
minecraft.openScreen(prevScreen);
client.openScreen(prevScreen);
return;
}
@ -165,8 +167,8 @@ public final class AltManagerScreen extends Screen
}
altManager.setChecked(listGui.selected,
minecraft.getSession().getUsername());
minecraft.openScreen(prevScreen);
client.getSession().getUsername());
client.openScreen(prevScreen);
}
private void pressStar()
@ -179,7 +181,7 @@ public final class AltManagerScreen extends Screen
private void pressEdit()
{
Alt alt = listGui.getSelectedAlt();
minecraft.openScreen(new EditAltScreen(this, altManager, alt));
client.openScreen(new EditAltScreen(this, altManager, alt));
}
private void pressDelete()
@ -192,8 +194,8 @@ public final class AltManagerScreen extends Screen
"\"" + altName + "\" will be lost forever! (A long time!)");
ConfirmScreen screen = new ConfirmScreen(this::confirmRemove, text,
message, "Delete", "Cancel");
minecraft.openScreen(screen);
message, new LiteralText("Delete"), new LiteralText("Cancel"));
client.openScreen(screen);
}
private void pressImportAlts()
@ -248,7 +250,7 @@ public final class AltManagerScreen extends Screen
}
shouldAsk = false;
minecraft.openScreen(this);
client.openScreen(this);
}
private void confirmRemove(boolean confirmed)
@ -256,34 +258,37 @@ public final class AltManagerScreen extends Screen
if(confirmed)
altManager.remove(listGui.selected);
minecraft.openScreen(this);
client.openScreen(this);
}
@Override
public void render(int mouseX, int mouseY, float partialTicks)
public void render(MatrixStack matrixStack, int mouseX, int mouseY,
float partialTicks)
{
renderBackground();
listGui.render(mouseX, mouseY, partialTicks);
renderBackground(matrixStack);
listGui.render(matrixStack, mouseX, mouseY, partialTicks);
// skin preview
if(listGui.getSelectedSlot() != -1
&& listGui.getSelectedSlot() < altManager.getList().size())
{
Alt alt = listGui.getSelectedAlt();
AltRenderer.drawAltBack(alt.getNameOrEmail(),
AltRenderer.drawAltBack(matrixStack, alt.getNameOrEmail(),
(width / 2 - 125) / 2 - 32, height / 2 - 64 - 9, 64, 128);
AltRenderer.drawAltBody(alt.getNameOrEmail(),
AltRenderer.drawAltBody(matrixStack, alt.getNameOrEmail(),
width - (width / 2 - 140) / 2 - 32, height / 2 - 64 - 9, 64,
128);
}
// title text
drawCenteredString(font, "Alt Manager", width / 2, 4, 16777215);
drawCenteredString(font, "Alts: " + altManager.getList().size(),
width / 2, 14, 10526880);
drawCenteredString(font, "premium: " + altManager.getNumPremium()
+ ", cracked: " + altManager.getNumCracked(), width / 2, 24,
10526880);
drawCenteredString(matrixStack, textRenderer, "Alt Manager", width / 2,
4, 16777215);
drawCenteredString(matrixStack, textRenderer,
"Alts: " + altManager.getList().size(), width / 2, 14, 10526880);
drawCenteredString(
matrixStack, textRenderer, "premium: " + altManager.getNumPremium()
+ ", cracked: " + altManager.getNumCracked(),
width / 2, 24, 10526880);
// red flash for errors
if(errorTimer > 0)
@ -309,7 +314,7 @@ public final class AltManagerScreen extends Screen
errorTimer--;
}
super.render(mouseX, mouseY, partialTicks);
super.render(matrixStack, mouseX, mouseY, partialTicks);
}
public static final class ListGui extends ListWidget
@ -368,13 +373,13 @@ public final class AltManagerScreen extends Screen
}
@Override
protected void renderItem(int id, int x, int y, int var4, int var5,
int var6, float partialTicks)
protected void renderItem(MatrixStack matrixStack, int id, int x, int y,
int var4, int var5, int var6, float partialTicks)
{
Alt alt = list.get(id);
// green glow when logged in
if(minecraft.getSession().getUsername().equals(alt.getName()))
if(client.getSession().getUsername().equals(alt.getName()))
{
GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glDisable(GL11.GL_CULL_FACE);
@ -401,12 +406,12 @@ public final class AltManagerScreen extends Screen
}
// face
AltRenderer.drawAltFace(alt.getNameOrEmail(), x + 1, y + 1, 24, 24,
isSelectedItem(id));
AltRenderer.drawAltFace(matrixStack, alt.getNameOrEmail(), x + 1,
y + 1, 24, 24, isSelectedItem(id));
// name / email
minecraft.textRenderer.draw("Name: " + alt.getNameOrEmail(), x + 31,
y + 3, 10526880);
client.textRenderer.draw(matrixStack,
"Name: " + alt.getNameOrEmail(), x + 31, y + 3, 10526880);
// tags
String tags = alt.isCracked() ? "\u00a78cracked" : "\u00a72premium";
@ -414,7 +419,8 @@ public final class AltManagerScreen extends Screen
tags += "\u00a7r, \u00a7estarred";
if(alt.isUnchecked())
tags += "\u00a7r, \u00a7cunchecked";
minecraft.textRenderer.draw(tags, x + 31, y + 15, 10526880);
client.textRenderer.draw(matrixStack, tags, x + 31, y + 15,
10526880);
}
}
}

View File

@ -37,7 +37,7 @@ public final class DirectLoginScreen extends AltEditorScreen
message = LoginManager.login(getEmail(), getPassword());
if(message.isEmpty())
minecraft.openScreen(new TitleScreen());
client.openScreen(new TitleScreen());
else
doErrorEffect();
}

View File

@ -47,6 +47,6 @@ public final class EditAltScreen extends AltEditorScreen
protected void pressDoneButton()
{
altManager.edit(editedAlt, getEmail(), getPassword());
minecraft.openScreen(prevScreen);
client.openScreen(prevScreen);
}
}

View File

@ -25,6 +25,9 @@ import com.google.gson.JsonObject;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.text.LiteralText;
import net.minecraft.text.Text;
import net.wurstclient.Category;
import net.wurstclient.Feature;
import net.wurstclient.WurstClient;
@ -443,7 +446,8 @@ public final class ClickGui
}
}
public void render(int mouseX, int mouseY, float partialTicks)
public void render(MatrixStack matrixStack, int mouseX, int mouseY,
float partialTicks)
{
updateColors();
@ -477,18 +481,19 @@ public final class ClickGui
else
window.stopDraggingScrollbar();
renderWindow(window, mouseX, mouseY, partialTicks);
renderWindow(matrixStack, window, mouseX, mouseY, partialTicks);
}
GL11.glDisable(GL11.GL_TEXTURE_2D);
renderPopupsAndTooltip(mouseX, mouseY);
renderPopupsAndTooltip(matrixStack, mouseX, mouseY);
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glDisable(GL11.GL_BLEND);
}
public void renderPopupsAndTooltip(int mouseX, int mouseY)
public void renderPopupsAndTooltip(MatrixStack matrixStack, int mouseX,
int mouseY)
{
// popups
for(Popup popup : popups)
@ -505,7 +510,7 @@ public final class ClickGui
int cMouseX = mouseX - x1;
int cMouseY = mouseY - y1;
popup.render(cMouseX, cMouseY);
popup.render(matrixStack, cMouseX, cMouseY);
GL11.glPopMatrix();
}
@ -520,7 +525,7 @@ public final class ClickGui
int th = lines.length * fr.fontHeight;
for(String line : lines)
{
int lw = fr.getStringWidth(line);
int lw = fr.getWidth(line);
if(lw > tw)
tw = lw;
}
@ -557,15 +562,15 @@ public final class ClickGui
// text
GL11.glEnable(GL11.GL_TEXTURE_2D);
for(int i = 0; i < lines.length; i++)
fr.draw(lines[i], xt1 + 2, yt1 + 2 + i * fr.fontHeight,
0xffffff);
fr.draw(matrixStack, lines[i], xt1 + 2,
yt1 + 2 + i * fr.fontHeight, 0xffffff);
GL11.glEnable(GL11.GL_BLEND);
GL11.glPopMatrix();
}
}
public void renderPinnedWindows(float partialTicks)
public void renderPinnedWindows(MatrixStack matrixStack, float partialTicks)
{
GL11.glDisable(GL11.GL_CULL_FACE);
GL11.glDisable(GL11.GL_TEXTURE_2D);
@ -576,8 +581,8 @@ public final class ClickGui
for(Window window : windows)
if(window.isPinned() && !window.isInvisible())
renderWindow(window, Integer.MIN_VALUE, Integer.MIN_VALUE,
partialTicks);
renderWindow(matrixStack, window, Integer.MIN_VALUE,
Integer.MIN_VALUE, partialTicks);
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glEnable(GL11.GL_TEXTURE_2D);
@ -602,8 +607,8 @@ public final class ClickGui
acColor = clickGui.getAcColor();
}
private void renderWindow(Window window, int mouseX, int mouseY,
float partialTicks)
private void renderWindow(MatrixStack matrixStack, Window window,
int mouseX, int mouseY, float partialTicks)
{
int x1 = window.getX();
int y1 = window.getY();
@ -751,7 +756,8 @@ public final class ClickGui
int cMouseX = mouseX - x1;
int cMouseY = mouseY - y4;
for(int i = 0; i < window.countChildren(); i++)
window.getChild(i).render(cMouseX, cMouseY, partialTicks);
window.getChild(i).render(matrixStack, cMouseX, cMouseY,
partialTicks);
GL11.glPopMatrix();
GL11.glDisable(GL11.GL_SCISSOR_TEST);
@ -833,8 +839,10 @@ public final class ClickGui
GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glColor4f(1, 1, 1, 1);
TextRenderer fr = MC.textRenderer;
String title = fr.trimToWidth(window.getTitle(), x3 - x1);
fr.draw(title, x1 + 2, y1 + 3, 0xf0f0f0);
String title =
((Text)fr.trimToWidth(new LiteralText(window.getTitle()), x3 - x1))
.getString();
fr.draw(matrixStack, title, x1 + 2, y1 + 3, 0xf0f0f0);
GL11.glEnable(GL11.GL_BLEND);
}

View File

@ -10,6 +10,7 @@ package net.wurstclient.clickgui;
import org.lwjgl.opengl.GL11;
import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.util.math.MatrixStack;
import net.wurstclient.WurstClient;
import net.wurstclient.settings.EnumSetting;
@ -60,7 +61,7 @@ public final class ComboBoxPopup<T extends Enum<T>> extends Popup
}
@Override
public void render(int mouseX, int mouseY)
public void render(MatrixStack matrixStack, int mouseX, int mouseY)
{
int x1 = getX();
int x2 = x1 + getWidth();
@ -86,7 +87,7 @@ public final class ComboBoxPopup<T extends Enum<T>> extends Popup
boolean hValue = hovering && mouseY >= yi1 && mouseY < yi2;
drawValueBackground(x1, x2, yi1, yi2, hValue);
drawValueName(x1, yi1, value);
drawValueName(matrixStack, x1, yi1, value);
}
}
@ -124,11 +125,12 @@ public final class ComboBoxPopup<T extends Enum<T>> extends Popup
GL11.glEnd();
}
private void drawValueName(int x1, int yi1, Enum<?> value)
private void drawValueName(MatrixStack matrixStack, int x1, int yi1,
Enum<?> value)
{
GL11.glColor4f(1, 1, 1, 1);
GL11.glEnable(GL11.GL_TEXTURE_2D);
tr.draw(value.toString(), x1 + 2, yi1 + 2, 0xF0F0F0);
tr.draw(matrixStack, value.toString(), x1 + 2, yi1 + 2, 0xF0F0F0);
GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glEnable(GL11.GL_BLEND);
}

View File

@ -7,6 +7,8 @@
*/
package net.wurstclient.clickgui;
import net.minecraft.client.util.math.MatrixStack;
public abstract class Component
{
private int x;
@ -21,7 +23,8 @@ public abstract class Component
}
public abstract void render(int mouseX, int mouseY, float partialTicks);
public abstract void render(MatrixStack matrixStack, int mouseX, int mouseY,
float partialTicks);
public abstract int getDefaultWidth();

View File

@ -7,6 +7,8 @@
*/
package net.wurstclient.clickgui;
import net.minecraft.client.util.math.MatrixStack;
public abstract class Popup
{
private final Component owner;
@ -25,7 +27,8 @@ public abstract class Popup
public abstract void handleMouseClick(int mouseX, int mouseY,
int mouseButton);
public abstract void render(int mouseX, int mouseY);
public abstract void render(MatrixStack matrixStack, int mouseX,
int mouseY);
public abstract int getDefaultWidth();

View File

@ -116,7 +116,7 @@ public class Window
maxChildWidth += 4;
TextRenderer tr = WurstClient.MC.textRenderer;
int titleBarWidth = tr.getStringWidth(title) + 4;
int titleBarWidth = tr.getWidth(title) + 4;
if(minimizable)
titleBarWidth += 11;
if(pinnable)

View File

@ -13,6 +13,7 @@ import net.minecraft.block.Blocks;
import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.render.DiffuseLighting;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.item.ItemStack;
import net.wurstclient.WurstClient;
import net.wurstclient.clickgui.ClickGui;
@ -51,7 +52,8 @@ public final class BlockComponent extends Component
}
@Override
public void render(int mouseX, int mouseY, float partialTicks)
public void render(MatrixStack matrixStack, int mouseX, int mouseY,
float partialTicks)
{
ClickGui gui = WurstClient.INSTANCE.getGui();
float[] bgColor = gui.getBgColor();
@ -99,9 +101,9 @@ public final class BlockComponent extends Component
GL11.glEnable(GL11.GL_TEXTURE_2D);
TextRenderer fr = WurstClient.MC.textRenderer;
String text = setting.getName() + ":";
fr.draw(text, x1, y1 + 2, 0xf0f0f0);
fr.draw(matrixStack, text, x1, y1 + 2, 0xf0f0f0);
renderIcon(stack, x3, y1, true);
renderIcon(matrixStack, stack, x3, y1, true);
GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glEnable(GL11.GL_BLEND);
@ -112,7 +114,7 @@ public final class BlockComponent extends Component
{
TextRenderer tr = WurstClient.MC.textRenderer;
String text = setting.getName() + ":";
return tr.getStringWidth(text) + BLOCK_WITDH + 4;
return tr.getWidth(text) + BLOCK_WITDH + 4;
}
@Override
@ -121,7 +123,8 @@ public final class BlockComponent extends Component
return BLOCK_WITDH;
}
private void renderIcon(ItemStack stack, int x, int y, boolean large)
private void renderIcon(MatrixStack matrixStack, ItemStack stack, int x,
int y, boolean large)
{
GL11.glPushMatrix();
@ -132,16 +135,18 @@ public final class BlockComponent extends Component
DiffuseLighting.enable();
ItemStack grass = new ItemStack(Blocks.GRASS_BLOCK);
ItemStack renderStack = !stack.isEmpty() ? stack : grass;
WurstClient.MC.getItemRenderer().renderGuiItem(renderStack, 0, 0);
WurstClient.MC.getItemRenderer().renderInGuiWithOverrides(renderStack,
0, 0);
DiffuseLighting.disable();
GL11.glPopMatrix();
if(stack.isEmpty())
renderQuestionMark(x, y, large);
renderQuestionMark(matrixStack, x, y, large);
}
private void renderQuestionMark(int x, int y, boolean large)
private void renderQuestionMark(MatrixStack matrixStack, int x, int y,
boolean large)
{
GL11.glPushMatrix();
@ -151,7 +156,7 @@ public final class BlockComponent extends Component
GL11.glDisable(GL11.GL_DEPTH_TEST);
TextRenderer tr = WurstClient.MC.textRenderer;
tr.drawWithShadow("?", 3, 2, 0xf0f0f0);
tr.drawWithShadow(matrixStack, "?", 3, 2, 0xf0f0f0);
GL11.glEnable(GL11.GL_DEPTH_TEST);
GL11.glEnable(GL11.GL_BLEND);
@ -163,6 +168,6 @@ public final class BlockComponent extends Component
if(stack.isEmpty())
return "\u00a7ounknown block\u00a7r";
else
return stack.getName().asFormattedString();
return stack.getName().getString();
}
}

View File

@ -10,6 +10,7 @@ package net.wurstclient.clickgui.components;
import org.lwjgl.opengl.GL11;
import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.util.math.MatrixStack;
import net.wurstclient.WurstClient;
import net.wurstclient.clickgui.ClickGui;
import net.wurstclient.clickgui.Component;
@ -26,7 +27,7 @@ public final class BlockListEditButton extends Component
this.setting = setting;
TextRenderer fr = WurstClient.MC.textRenderer;
buttonWidth = fr.getStringWidth("Edit...");
buttonWidth = fr.getWidth("Edit...");
setWidth(getDefaultWidth());
setHeight(getDefaultHeight());
@ -46,7 +47,8 @@ public final class BlockListEditButton extends Component
}
@Override
public void render(int mouseX, int mouseY, float partialTicks)
public void render(MatrixStack matrixStack, int mouseX, int mouseY,
float partialTicks)
{
ClickGui gui = WurstClient.INSTANCE.getGui();
float[] bgColor = gui.getBgColor();
@ -102,8 +104,8 @@ public final class BlockListEditButton extends Component
GL11.glEnable(GL11.GL_TEXTURE_2D);
TextRenderer fr = WurstClient.MC.textRenderer;
String text = setting.getName() + ": " + setting.getBlockNames().size();
fr.draw(text, x1, y1 + 2, 0xf0f0f0);
fr.draw("Edit...", x3 + 2, y1 + 2, 0xf0f0f0);
fr.draw(matrixStack, text, x1, y1 + 2, 0xf0f0f0);
fr.draw(matrixStack, "Edit...", x3 + 2, y1 + 2, 0xf0f0f0);
GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glEnable(GL11.GL_BLEND);
}
@ -113,7 +115,7 @@ public final class BlockListEditButton extends Component
{
TextRenderer fr = WurstClient.MC.textRenderer;
String text = setting.getName() + ": " + setting.getBlockNames().size();
return fr.getStringWidth(text) + buttonWidth + 6;
return fr.getWidth(text) + buttonWidth + 6;
}
@Override

View File

@ -10,6 +10,7 @@ package net.wurstclient.clickgui.components;
import org.lwjgl.opengl.GL11;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.util.math.MatrixStack;
import net.wurstclient.WurstClient;
import net.wurstclient.clickgui.ClickGui;
import net.wurstclient.clickgui.Component;
@ -46,7 +47,8 @@ public final class CheckboxComponent extends Component
}
@Override
public void render(int mouseX, int mouseY, float partialTicks)
public void render(MatrixStack matrixStack, int mouseX, int mouseY,
float partialTicks)
{
int x1 = getX();
int x2 = x1 + getWidth();
@ -68,7 +70,7 @@ public final class CheckboxComponent extends Component
if(setting.isChecked())
drawCheck(x1, y1, hovering);
drawName(x3, y1);
drawName(matrixStack, x3, y1);
}
private boolean isHovering(int mouseX, int mouseY, int x1, int x2, int y1,
@ -174,7 +176,7 @@ public final class CheckboxComponent extends Component
GL11.glEnd();
}
private void drawName(int x3, int y1)
private void drawName(MatrixStack matrixStack, int x3, int y1)
{
GL11.glColor4f(1, 1, 1, 1);
GL11.glEnable(GL11.GL_TEXTURE_2D);
@ -183,7 +185,7 @@ public final class CheckboxComponent extends Component
int tx = x3 + 2;
int ty = y1 + 2;
int color = setting.isLocked() ? 0xAAAAAA : 0xF0F0F0;
MC.textRenderer.draw(name, tx, ty, color);
MC.textRenderer.draw(matrixStack, name, tx, ty, color);
GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glEnable(GL11.GL_BLEND);
@ -192,7 +194,7 @@ public final class CheckboxComponent extends Component
@Override
public int getDefaultWidth()
{
return MC.textRenderer.getStringWidth(setting.getName()) + 13;
return MC.textRenderer.getWidth(setting.getName()) + 13;
}
@Override

View File

@ -14,6 +14,7 @@ import java.util.stream.Stream;
import org.lwjgl.opengl.GL11;
import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.util.math.MatrixStack;
import net.wurstclient.WurstClient;
import net.wurstclient.clickgui.ClickGui;
import net.wurstclient.clickgui.ComboBoxPopup;
@ -43,7 +44,7 @@ public final class ComboBoxComponent<T extends Enum<T>> extends Component
{
Stream<T> values = Arrays.stream(setting.getValues());
Stream<String> vNames = values.map(T::toString);
IntStream vWidths = vNames.mapToInt(s -> tr.getStringWidth(s));
IntStream vWidths = vNames.mapToInt(s -> tr.getWidth(s));
return vWidths.max().getAsInt();
}
@ -93,7 +94,8 @@ public final class ComboBoxComponent<T extends Enum<T>> extends Component
}
@Override
public void render(int mouseX, int mouseY, float partialTicks)
public void render(MatrixStack matrixStack, int mouseX, int mouseY,
float partialTicks)
{
int x1 = getX();
int x2 = x1 + getWidth();
@ -116,7 +118,7 @@ public final class ComboBoxComponent<T extends Enum<T>> extends Component
drawSeparator(x3, y1, y2);
drawArrow(x2, x3, y1, y2, hBox);
drawNameAndValue(x1, x4, y1);
drawNameAndValue(matrixStack, x1, x4, y1);
}
private boolean isHovering(int mouseX, int mouseY, int x1, int x2, int y1,
@ -215,7 +217,8 @@ public final class ComboBoxComponent<T extends Enum<T>> extends Component
GL11.glEnd();
}
private void drawNameAndValue(int x1, int x4, int y1)
private void drawNameAndValue(MatrixStack matrixStack, int x1, int x4,
int y1)
{
GL11.glColor4f(1, 1, 1, 1);
GL11.glEnable(GL11.GL_TEXTURE_2D);
@ -224,8 +227,8 @@ public final class ComboBoxComponent<T extends Enum<T>> extends Component
String value = "" + setting.getSelected();
int color = 0xF0F0F0;
tr.draw(name, x1, y1 + 2, color);
tr.draw(value, x4 + 2, y1 + 2, color);
tr.draw(matrixStack, name, x1, y1 + 2, color);
tr.draw(matrixStack, value, x4 + 2, y1 + 2, color);
GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glEnable(GL11.GL_BLEND);
@ -234,7 +237,7 @@ public final class ComboBoxComponent<T extends Enum<T>> extends Component
@Override
public int getDefaultWidth()
{
return tr.getStringWidth(setting.getName()) + popupWidth + 17;
return tr.getWidth(setting.getName()) + popupWidth + 17;
}
@Override

View File

@ -13,6 +13,7 @@ import org.lwjgl.opengl.GL11;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.util.math.MatrixStack;
import net.wurstclient.Feature;
import net.wurstclient.WurstClient;
import net.wurstclient.clickgui.ClickGui;
@ -86,7 +87,8 @@ public final class FeatureButton extends Component
}
@Override
public void render(int mouseX, int mouseY, float partialTicks)
public void render(MatrixStack matrixStack, int mouseX, int mouseY,
float partialTicks)
{
int x1 = getX();
int x2 = x1 + getWidth();
@ -114,7 +116,7 @@ public final class FeatureButton extends Component
drawSettingsArrow(x2, x3, y1, y2, hSettings);
}
drawName(x1, x3, y1);
drawName(matrixStack, x1, x3, y1);
}
private boolean isHovering(int mouseX, int mouseY, int x1, int x2, int y1,
@ -246,18 +248,18 @@ public final class FeatureButton extends Component
GL11.glEnd();
}
private void drawName(int x1, int x3, int y1)
private void drawName(MatrixStack matrixStack, int x1, int x3, int y1)
{
GL11.glColor4f(1, 1, 1, 1);
GL11.glEnable(GL11.GL_TEXTURE_2D);
TextRenderer tr = MC.textRenderer;
String name = feature.getName();
int nameWidth = tr.getStringWidth(name);
int nameWidth = tr.getWidth(name);
int tx = x1 + (x3 - x1 - nameWidth) / 2;
int ty = y1 + 2;
tr.draw(name, tx, ty, 0xF0F0F0);
tr.draw(matrixStack, name, tx, ty, 0xF0F0F0);
GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glEnable(GL11.GL_BLEND);
@ -268,7 +270,7 @@ public final class FeatureButton extends Component
{
String name = feature.getName();
TextRenderer tr = MC.textRenderer;
int width = tr.getStringWidth(name) + 4;
int width = tr.getWidth(name) + 4;
if(hasSettings)
width += 11;

View File

@ -10,6 +10,7 @@ package net.wurstclient.clickgui.components;
import org.lwjgl.opengl.GL11;
import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.util.math.MatrixStack;
import net.wurstclient.WurstClient;
import net.wurstclient.clickgui.ClickGui;
import net.wurstclient.clickgui.Component;
@ -35,7 +36,7 @@ public final class FileComponent extends Component
return;
TextRenderer fr = WurstClient.MC.textRenderer;
int buttonWidth = fr.getStringWidth(setting.getSelectedFileName());
int buttonWidth = fr.getWidth(setting.getSelectedFileName());
if(mouseX < getX() + getWidth() - buttonWidth - 4)
return;
@ -45,7 +46,8 @@ public final class FileComponent extends Component
}
@Override
public void render(int mouseX, int mouseY, float partialTicks)
public void render(MatrixStack matrixStack, int mouseX, int mouseY,
float partialTicks)
{
ClickGui gui = WurstClient.INSTANCE.getGui();
float[] bgColor = gui.getBgColor();
@ -53,7 +55,7 @@ public final class FileComponent extends Component
float opacity = gui.getOpacity();
TextRenderer fr = WurstClient.MC.textRenderer;
int buttonWidth = fr.getStringWidth(setting.getSelectedFileName());
int buttonWidth = fr.getWidth(setting.getSelectedFileName());
int x1 = getX();
int x2 = x1 + getWidth();
@ -108,8 +110,9 @@ public final class FileComponent extends Component
GL11.glColor4f(1, 1, 1, 1);
GL11.glEnable(GL11.GL_TEXTURE_2D);
String text = setting.getName() + ": ";
fr.draw(text, x1, y1 + 2, 0xf0f0f0);
fr.draw(setting.getSelectedFileName(), x3 + 2, y1 + 2, 0xf0f0f0);
fr.draw(matrixStack, text, x1, y1 + 2, 0xf0f0f0);
fr.draw(matrixStack, setting.getSelectedFileName(), x3 + 2, y1 + 2,
0xf0f0f0);
GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glEnable(GL11.GL_BLEND);
}
@ -120,9 +123,9 @@ public final class FileComponent extends Component
TextRenderer fr = WurstClient.MC.textRenderer;
String text = setting.getName() + ": ";
int buttonWidth = fr.getStringWidth(setting.getSelectedFileName());
int buttonWidth = fr.getWidth(setting.getSelectedFileName());
return fr.getStringWidth(text) + buttonWidth + 6;
return fr.getWidth(text) + buttonWidth + 6;
}
@Override

View File

@ -10,6 +10,7 @@ package net.wurstclient.clickgui.components;
import org.lwjgl.opengl.GL11;
import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.util.math.MatrixStack;
import net.wurstclient.WurstClient;
import net.wurstclient.clickgui.ClickGui;
import net.wurstclient.clickgui.Component;
@ -26,7 +27,7 @@ public final class ItemListEditButton extends Component
this.setting = setting;
TextRenderer fr = WurstClient.MC.textRenderer;
buttonWidth = fr.getStringWidth("Edit...");
buttonWidth = fr.getWidth("Edit...");
setWidth(getDefaultWidth());
setHeight(getDefaultHeight());
@ -46,7 +47,8 @@ public final class ItemListEditButton extends Component
}
@Override
public void render(int mouseX, int mouseY, float partialTicks)
public void render(MatrixStack matrixStack, int mouseX, int mouseY,
float partialTicks)
{
ClickGui gui = WurstClient.INSTANCE.getGui();
float[] bgColor = gui.getBgColor();
@ -102,8 +104,8 @@ public final class ItemListEditButton extends Component
GL11.glEnable(GL11.GL_TEXTURE_2D);
TextRenderer fr = WurstClient.MC.textRenderer;
String text = setting.getName() + ": " + setting.getItemNames().size();
fr.draw(text, x1, y1 + 2, 0xf0f0f0);
fr.draw("Edit...", x3 + 2, y1 + 2, 0xf0f0f0);
fr.draw(matrixStack, text, x1, y1 + 2, 0xf0f0f0);
fr.draw(matrixStack, "Edit...", x3 + 2, y1 + 2, 0xf0f0f0);
GL11.glDisable(GL11.GL_TEXTURE_2D);
}
@ -112,7 +114,7 @@ public final class ItemListEditButton extends Component
{
TextRenderer fr = WurstClient.MC.textRenderer;
String text = setting.getName() + ": " + setting.getItemNames().size();
return fr.getStringWidth(text) + buttonWidth + 6;
return fr.getWidth(text) + buttonWidth + 6;
}
@Override

View File

@ -10,6 +10,7 @@ package net.wurstclient.clickgui.components;
import org.lwjgl.opengl.GL11;
import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.entity.Entity;
import net.minecraft.entity.mob.AmbientEntity;
import net.minecraft.entity.mob.Monster;
@ -33,7 +34,8 @@ public final class RadarComponent extends Component
}
@Override
public void render(int mouseX, int mouseY, float partialTicks)
public void render(MatrixStack matrixStack, int mouseX, int mouseY,
float partialTicks)
{
ClickGui gui = WurstClient.INSTANCE.getGui();
float[] bgColor = gui.getBgColor();

View File

@ -12,6 +12,7 @@ import org.lwjgl.opengl.GL11;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.util.math.MatrixStack;
import net.wurstclient.WurstClient;
import net.wurstclient.clickgui.ClickGui;
import net.wurstclient.clickgui.Component;
@ -66,7 +67,8 @@ public final class SliderComponent extends Component
}
@Override
public void render(int mouseX, int mouseY, float partialTicks)
public void render(MatrixStack matrixStack, int mouseX, int mouseY,
float partialTicks)
{
int x1 = getX();
int x2 = x1 + getWidth();
@ -99,7 +101,7 @@ public final class SliderComponent extends Component
drawBackground(x1, x2, x3, x4, y1, y2, y4, y5);
drawRail(x3, x4, y4, y5, hSlider, renderAsDisabled);
drawKnob(x1, x2, y2, y3, hSlider, renderAsDisabled);
drawNameAndValue(x1, x2, y1, renderAsDisabled);
drawNameAndValue(matrixStack, x1, x2, y1, renderAsDisabled);
}
private void handleDragging(int mouseX, int x3, int x4)
@ -266,8 +268,8 @@ public final class SliderComponent extends Component
GL11.glEnd();
}
private void drawNameAndValue(int x1, int x2, int y1,
boolean renderAsDisabled)
private void drawNameAndValue(MatrixStack matrixStack, int x1, int x2,
int y1, boolean renderAsDisabled)
{
GL11.glColor4f(1, 1, 1, 1);
GL11.glEnable(GL11.GL_TEXTURE_2D);
@ -275,10 +277,10 @@ public final class SliderComponent extends Component
TextRenderer tr = MC.textRenderer;
String name = setting.getName();
String value = setting.getValueString();
int valueWidth = tr.getStringWidth(value);
int valueWidth = tr.getWidth(value);
int color = renderAsDisabled ? 0xAAAAAA : 0xF0F0F0;
tr.draw(name, x1, y1 + 2, color);
tr.draw(value, x2 - valueWidth, y1 + 2, color);
tr.draw(matrixStack, name, x1, y1 + 2, color);
tr.draw(matrixStack, value, x2 - valueWidth, y1 + 2, color);
GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glEnable(GL11.GL_BLEND);
@ -288,8 +290,8 @@ public final class SliderComponent extends Component
public int getDefaultWidth()
{
TextRenderer tr = MC.textRenderer;
int nameWitdh = tr.getStringWidth(setting.getName());
int valueWidth = tr.getStringWidth(setting.getValueString());
int nameWitdh = tr.getWidth(setting.getName());
int valueWidth = tr.getWidth(setting.getValueString());
return nameWitdh + valueWidth + 6;
}

View File

@ -8,6 +8,7 @@
package net.wurstclient.clickgui.screens;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.text.LiteralText;
import net.wurstclient.clickgui.ClickGui;
@ -49,9 +50,10 @@ public final class ClickGuiScreen extends Screen
}
@Override
public void render(int mouseX, int mouseY, float partialTicks)
public void render(MatrixStack matrixStack, int mouseX, int mouseY,
float partialTicks)
{
super.render(mouseX, mouseY, partialTicks);
gui.render(mouseX, mouseY, partialTicks);
super.render(matrixStack, mouseX, mouseY, partialTicks);
gui.render(matrixStack, mouseX, mouseY, partialTicks);
}
}

View File

@ -19,13 +19,14 @@ import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.gui.screen.ConfirmScreen;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.widget.ButtonWidget;
import net.minecraft.client.gui.widget.ListWidget;
import net.minecraft.client.gui.widget.TextFieldWidget;
import net.minecraft.client.render.DiffuseLighting;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.item.ItemStack;
import net.minecraft.text.LiteralText;
import net.wurstclient.settings.BlockListSetting;
import net.wurstclient.util.BlockUtils;
import net.wurstclient.util.ListWidget;
public final class EditBlockListScreen extends Screen
{
@ -56,32 +57,34 @@ public final class EditBlockListScreen extends Screen
@Override
public void init()
{
listGui = new ListGui(minecraft, this, blockList.getBlockNames());
listGui = new ListGui(client, this, blockList.getBlockNames());
blockNameField = new TextFieldWidget(minecraft.textRenderer,
width / 2 - 152, height - 55, 150, 18, "");
blockNameField = new TextFieldWidget(client.textRenderer,
width / 2 - 152, height - 55, 150, 18, new LiteralText(""));
children.add(blockNameField);
addButton(addButton =
new ButtonWidget(width / 2 - 2, height - 56, 30, 20, "Add", b -> {
addButton(addButton = new ButtonWidget(width / 2 - 2, height - 56, 30,
20, new LiteralText("Add"), b -> {
blockList.add(blockToAdd);
blockNameField.setText("");
}));
addButton(removeButton =
new ButtonWidget(width / 2 + 52, height - 56, 100, 20,
"Remove Selected", b -> blockList.remove(listGui.selected)));
addButton(removeButton = new ButtonWidget(width / 2 + 52, height - 56,
100, 20, new LiteralText("Remove Selected"),
b -> blockList.remove(listGui.selected)));
addButton(new ButtonWidget(width - 108, 8, 100, 20, "Reset to Defaults",
b -> minecraft.openScreen(new ConfirmScreen(b2 -> {
addButton(new ButtonWidget(width - 108, 8, 100, 20,
new LiteralText("Reset to Defaults"),
b -> client.openScreen(new ConfirmScreen(b2 -> {
if(b2)
blockList.resetToDefaults();
minecraft.openScreen(EditBlockListScreen.this);
client.openScreen(EditBlockListScreen.this);
}, new LiteralText("Reset to Defaults"),
new LiteralText("Are you sure?")))));
addButton(doneButton = new ButtonWidget(width / 2 - 100, height - 28,
200, 20, "Done", b -> minecraft.openScreen(prevScreen)));
addButton(
doneButton = new ButtonWidget(width / 2 - 100, height - 28, 200, 20,
new LiteralText("Done"), b -> client.openScreen(prevScreen)));
}
@Override
@ -149,37 +152,38 @@ public final class EditBlockListScreen extends Screen
}
@Override
public void render(int mouseX, int mouseY, float partialTicks)
public void render(MatrixStack matrixStack, int mouseX, int mouseY,
float partialTicks)
{
renderBackground();
listGui.render(mouseX, mouseY, partialTicks);
renderBackground(matrixStack);
listGui.render(matrixStack, mouseX, mouseY, partialTicks);
drawCenteredString(minecraft.textRenderer,
drawCenteredString(matrixStack, client.textRenderer,
blockList.getName() + " (" + listGui.getItemCount() + ")",
width / 2, 12, 0xffffff);
blockNameField.render(mouseX, mouseY, partialTicks);
super.render(mouseX, mouseY, partialTicks);
blockNameField.render(matrixStack, mouseX, mouseY, partialTicks);
super.render(matrixStack, mouseX, mouseY, partialTicks);
GL11.glPushMatrix();
GL11.glTranslated(-64 + width / 2 - 152, 0, 0);
GL11.glTranslated(0, 0, 300);
if(blockNameField.getText().isEmpty() && !blockNameField.isFocused())
drawString(minecraft.textRenderer, "block name or ID", 68,
height - 50, 0x808080);
drawStringWithShadow(matrixStack, client.textRenderer,
"block name or ID", 68, height - 50, 0x808080);
fill(48, height - 56, 64, height - 36, 0xffa0a0a0);
fill(49, height - 55, 64, height - 37, 0xff000000);
fill(214, height - 56, 244, height - 55, 0xffa0a0a0);
fill(214, height - 37, 244, height - 36, 0xffa0a0a0);
fill(244, height - 56, 246, height - 36, 0xffa0a0a0);
fill(214, height - 55, 243, height - 52, 0xff000000);
fill(214, height - 40, 243, height - 37, 0xff000000);
fill(214, height - 55, 216, height - 37, 0xff000000);
fill(242, height - 55, 245, height - 37, 0xff000000);
listGui.renderIconAndGetName(new ItemStack(blockToAdd), 52, height - 52,
false);
fill(matrixStack, 48, height - 56, 64, height - 36, 0xffa0a0a0);
fill(matrixStack, 49, height - 55, 64, height - 37, 0xff000000);
fill(matrixStack, 214, height - 56, 244, height - 55, 0xffa0a0a0);
fill(matrixStack, 214, height - 37, 244, height - 36, 0xffa0a0a0);
fill(matrixStack, 244, height - 56, 246, height - 36, 0xffa0a0a0);
fill(matrixStack, 214, height - 55, 243, height - 52, 0xff000000);
fill(matrixStack, 214, height - 40, 243, height - 37, 0xff000000);
fill(matrixStack, 214, height - 55, 216, height - 37, 0xff000000);
fill(matrixStack, 242, height - 55, 245, height - 37, 0xff000000);
listGui.renderIconAndGetName(matrixStack, new ItemStack(blockToAdd), 52,
height - 52, false);
GL11.glPopMatrix();
}
@ -227,23 +231,23 @@ public final class EditBlockListScreen extends Screen
}
@Override
protected void renderItem(int index, int x, int y, int var4, int var5,
int var6, float partialTicks)
protected void renderItem(MatrixStack matrixStack, int index, int x,
int y, int var4, int var5, int var6, float partialTicks)
{
String name = list.get(index);
ItemStack stack = new ItemStack(BlockUtils.getBlockFromName(name));
TextRenderer fr = mc.textRenderer;
String displayName =
renderIconAndGetName(stack, x + 1, y + 1, true);
fr.draw(displayName, x + 28, y, 0xf0f0f0);
fr.draw(name, x + 28, y + 9, 0xa0a0a0);
fr.draw("ID: " + BlockUtils.getBlockFromName(name), x + 28, y + 18,
0xa0a0a0);
renderIconAndGetName(matrixStack, stack, x + 1, y + 1, true);
fr.draw(matrixStack, displayName, x + 28, y, 0xf0f0f0);
fr.draw(matrixStack, name, x + 28, y + 9, 0xa0a0a0);
fr.draw(matrixStack, "ID: " + BlockUtils.getBlockFromName(name),
x + 28, y + 18, 0xa0a0a0);
}
private String renderIconAndGetName(ItemStack stack, int x, int y,
boolean large)
private String renderIconAndGetName(MatrixStack matrixStack,
ItemStack stack, int x, int y, boolean large)
{
if(stack.isEmpty())
{
@ -255,8 +259,8 @@ public final class EditBlockListScreen extends Screen
GL11.glScaled(0.75, 0.75, 0.75);
DiffuseLighting.enable();
mc.getItemRenderer()
.renderGuiItem(new ItemStack(Blocks.GRASS_BLOCK), 0, 0);
mc.getItemRenderer().renderInGuiWithOverrides(
new ItemStack(Blocks.GRASS_BLOCK), 0, 0);
DiffuseLighting.disable();
GL11.glPopMatrix();
@ -266,7 +270,7 @@ public final class EditBlockListScreen extends Screen
GL11.glScaled(2, 2, 2);
GL11.glDisable(GL11.GL_DEPTH_TEST);
TextRenderer fr = mc.textRenderer;
fr.drawWithShadow("?", 3, 2, 0xf0f0f0);
fr.drawWithShadow(matrixStack, "?", 3, 2, 0xf0f0f0);
GL11.glEnable(GL11.GL_DEPTH_TEST);
GL11.glPopMatrix();
@ -282,12 +286,12 @@ public final class EditBlockListScreen extends Screen
GL11.glScaled(0.75, 0.75, 0.75);
DiffuseLighting.enable();
mc.getItemRenderer().renderGuiItem(stack, 0, 0);
mc.getItemRenderer().renderInGuiWithOverrides(stack, 0, 0);
DiffuseLighting.disable();
GL11.glPopMatrix();
return stack.getName().asFormattedString();
return stack.getName().getString();
}
}
}

View File

@ -17,6 +17,7 @@ import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.widget.ButtonWidget;
import net.minecraft.client.gui.widget.TextFieldWidget;
import net.minecraft.client.render.DiffuseLighting;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.item.ItemStack;
import net.minecraft.text.LiteralText;
import net.wurstclient.WurstClient;
@ -45,10 +46,11 @@ public final class EditBlockScreen extends Screen
int y1 = 60;
int y2 = height / 3 * 2;
TextRenderer tr = minecraft.textRenderer;
TextRenderer tr = client.textRenderer;
String valueString = setting.getBlockName();
blockField = new TextFieldWidget(tr, x1, y1, 178, 18, "");
blockField =
new TextFieldWidget(tr, x1, y1, 178, 18, new LiteralText(""));
blockField.setText(valueString);
blockField.setSelectionStart(0);
@ -56,7 +58,8 @@ public final class EditBlockScreen extends Screen
setInitialFocus(blockField);
blockField.setSelected(true);
doneButton = new ButtonWidget(x1, y2, 200, 20, "Done", b -> done());
doneButton = new ButtonWidget(x1, y2, 200, 20, new LiteralText("Done"),
b -> done());
addButton(doneButton);
}
@ -68,7 +71,7 @@ public final class EditBlockScreen extends Screen
if(block != null)
setting.setBlock(block);
minecraft.openScreen(prevScreen);
client.openScreen(prevScreen);
}
@Override
@ -81,7 +84,7 @@ public final class EditBlockScreen extends Screen
break;
case GLFW.GLFW_KEY_ESCAPE:
minecraft.openScreen(prevScreen);
client.openScreen(prevScreen);
break;
}
@ -95,15 +98,17 @@ public final class EditBlockScreen extends Screen
}
@Override
public void render(int mouseX, int mouseY, float partialTicks)
public void render(MatrixStack matrixStack, int mouseX, int mouseY,
float partialTicks)
{
TextRenderer tr = minecraft.textRenderer;
TextRenderer tr = client.textRenderer;
renderBackground();
drawCenteredString(tr, setting.getName(), width / 2, 20, 0xFFFFFF);
renderBackground(matrixStack);
drawCenteredString(matrixStack, tr, setting.getName(), width / 2, 20,
0xFFFFFF);
blockField.render(mouseX, mouseY, partialTicks);
super.render(mouseX, mouseY, partialTicks);
blockField.render(matrixStack, mouseX, mouseY, partialTicks);
super.render(matrixStack, mouseX, mouseY, partialTicks);
GL11.glPushMatrix();
GL11.glTranslated(-64 + width / 2 - 100, 115, 0);
@ -114,20 +119,20 @@ public final class EditBlockScreen extends Screen
int lblX = lblAbove ? 50 : 68;
int lblY = lblAbove ? -66 : -50;
int lblColor = lblAbove ? 0xF0F0F0 : 0x808080;
drawString(tr, lblText, lblX, lblY, lblColor);
drawStringWithShadow(matrixStack, tr, lblText, lblX, lblY, lblColor);
fill(48, -56, 64, -36, 0xffa0a0a0);
fill(49, -55, 64, -37, 0xff000000);
fill(214, -56, 244, -55, 0xffa0a0a0);
fill(214, -37, 244, -36, 0xffa0a0a0);
fill(244, -56, 246, -36, 0xffa0a0a0);
fill(214, -55, 243, -52, 0xff000000);
fill(214, -40, 243, -37, 0xff000000);
fill(215, -55, 216, -37, 0xff000000);
fill(242, -55, 245, -37, 0xff000000);
fill(matrixStack, 48, -56, 64, -36, 0xffa0a0a0);
fill(matrixStack, 49, -55, 64, -37, 0xff000000);
fill(matrixStack, 214, -56, 244, -55, 0xffa0a0a0);
fill(matrixStack, 214, -37, 244, -36, 0xffa0a0a0);
fill(matrixStack, 244, -56, 246, -36, 0xffa0a0a0);
fill(matrixStack, 214, -55, 243, -52, 0xff000000);
fill(matrixStack, 214, -40, 243, -37, 0xff000000);
fill(matrixStack, 215, -55, 216, -37, 0xff000000);
fill(matrixStack, 242, -55, 245, -37, 0xff000000);
Block blockToAdd = BlockUtils.getBlockFromName(blockField.getText());
renderIcon(new ItemStack(blockToAdd), 52, -52, false);
renderIcon(matrixStack, new ItemStack(blockToAdd), 52, -52, false);
GL11.glPopMatrix();
}
@ -144,7 +149,8 @@ public final class EditBlockScreen extends Screen
return false;
}
private void renderIcon(ItemStack stack, int x, int y, boolean large)
private void renderIcon(MatrixStack matrixStack, ItemStack stack, int x,
int y, boolean large)
{
GL11.glPushMatrix();
@ -155,16 +161,18 @@ public final class EditBlockScreen extends Screen
DiffuseLighting.enable();
ItemStack grass = new ItemStack(Blocks.GRASS_BLOCK);
ItemStack renderStack = !stack.isEmpty() ? stack : grass;
WurstClient.MC.getItemRenderer().renderGuiItem(renderStack, 0, 0);
WurstClient.MC.getItemRenderer().renderInGuiWithOverrides(renderStack,
0, 0);
DiffuseLighting.disable();
GL11.glPopMatrix();
if(stack.isEmpty())
renderQuestionMark(x, y, large);
renderQuestionMark(matrixStack, x, y, large);
}
private void renderQuestionMark(int x, int y, boolean large)
private void renderQuestionMark(MatrixStack matrixStack, int x, int y,
boolean large)
{
GL11.glPushMatrix();
@ -174,7 +182,7 @@ public final class EditBlockScreen extends Screen
GL11.glDisable(GL11.GL_DEPTH_TEST);
TextRenderer tr = WurstClient.MC.textRenderer;
tr.drawWithShadow("?", 3, 2, 0xf0f0f0);
tr.drawWithShadow(matrixStack, "?", 3, 2, 0xf0f0f0);
GL11.glEnable(GL11.GL_DEPTH_TEST);
GL11.glPopMatrix();

View File

@ -18,9 +18,9 @@ import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.gui.screen.ConfirmScreen;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.widget.ButtonWidget;
import net.minecraft.client.gui.widget.ListWidget;
import net.minecraft.client.gui.widget.TextFieldWidget;
import net.minecraft.client.render.DiffuseLighting;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.text.LiteralText;
@ -28,6 +28,7 @@ import net.minecraft.util.Identifier;
import net.minecraft.util.InvalidIdentifierException;
import net.minecraft.util.registry.Registry;
import net.wurstclient.settings.ItemListSetting;
import net.wurstclient.util.ListWidget;
public final class EditItemListScreen extends Screen
{
@ -58,32 +59,34 @@ public final class EditItemListScreen extends Screen
@Override
public void init()
{
listGui = new ListGui(minecraft, this, itemList.getItemNames());
listGui = new ListGui(client, this, itemList.getItemNames());
itemNameField = new TextFieldWidget(minecraft.textRenderer,
width / 2 - 152, height - 55, 150, 18, "");
itemNameField = new TextFieldWidget(client.textRenderer,
width / 2 - 152, height - 55, 150, 18, new LiteralText(""));
children.add(itemNameField);
addButton(addButton =
new ButtonWidget(width / 2 - 2, height - 56, 30, 20, "Add", b -> {
addButton(addButton = new ButtonWidget(width / 2 - 2, height - 56, 30,
20, new LiteralText("Add"), b -> {
itemList.add(itemToAdd);
itemNameField.setText("");
}));
addButton(
removeButton = new ButtonWidget(width / 2 + 52, height - 56, 100,
20, "Remove Selected", b -> itemList.remove(listGui.selected)));
addButton(removeButton = new ButtonWidget(width / 2 + 52, height - 56,
100, 20, new LiteralText("Remove Selected"),
b -> itemList.remove(listGui.selected)));
addButton(new ButtonWidget(width - 108, 8, 100, 20, "Reset to Defaults",
b -> minecraft.openScreen(new ConfirmScreen(b2 -> {
addButton(new ButtonWidget(width - 108, 8, 100, 20,
new LiteralText("Reset to Defaults"),
b -> client.openScreen(new ConfirmScreen(b2 -> {
if(b2)
itemList.resetToDefaults();
minecraft.openScreen(EditItemListScreen.this);
client.openScreen(EditItemListScreen.this);
}, new LiteralText("Reset to Defaults"),
new LiteralText("Are you sure?")))));
addButton(doneButton = new ButtonWidget(width / 2 - 100, height - 28,
200, 20, "Done", b -> minecraft.openScreen(prevScreen)));
addButton(
doneButton = new ButtonWidget(width / 2 - 100, height - 28, 200, 20,
new LiteralText("Done"), b -> client.openScreen(prevScreen)));
}
@Override
@ -163,17 +166,18 @@ public final class EditItemListScreen extends Screen
}
@Override
public void render(int mouseX, int mouseY, float partialTicks)
public void render(MatrixStack matrixStack, int mouseX, int mouseY,
float partialTicks)
{
renderBackground();
listGui.render(mouseX, mouseY, partialTicks);
renderBackground(matrixStack);
listGui.render(matrixStack, mouseX, mouseY, partialTicks);
drawCenteredString(minecraft.textRenderer,
drawCenteredString(matrixStack, client.textRenderer,
itemList.getName() + " (" + listGui.getItemCount() + ")", width / 2,
12, 0xffffff);
itemNameField.render(mouseX, mouseY, partialTicks);
super.render(mouseX, mouseY, partialTicks);
itemNameField.render(matrixStack, mouseX, mouseY, partialTicks);
super.render(matrixStack, mouseX, mouseY, partialTicks);
GL11.glPushMatrix();
GL11.glTranslated(-64 + width / 2 - 152, 0, 0);
@ -182,22 +186,22 @@ public final class EditItemListScreen extends Screen
{
GL11.glPushMatrix();
GL11.glTranslated(0, 0, 300);
drawString(minecraft.textRenderer, "item name or ID", 68,
height - 50, 0x808080);
drawStringWithShadow(matrixStack, client.textRenderer,
"item name or ID", 68, height - 50, 0x808080);
GL11.glPopMatrix();
}
fill(48, height - 56, 64, height - 36, 0xffa0a0a0);
fill(49, height - 55, 64, height - 37, 0xff000000);
fill(214, height - 56, 244, height - 55, 0xffa0a0a0);
fill(214, height - 37, 244, height - 36, 0xffa0a0a0);
fill(244, height - 56, 246, height - 36, 0xffa0a0a0);
fill(214, height - 55, 243, height - 52, 0xff000000);
fill(214, height - 40, 243, height - 37, 0xff000000);
fill(215, height - 55, 216, height - 37, 0xff000000);
fill(242, height - 55, 245, height - 37, 0xff000000);
listGui.renderIconAndGetName(new ItemStack(itemToAdd), 52, height - 52,
false);
fill(matrixStack, 48, height - 56, 64, height - 36, 0xffa0a0a0);
fill(matrixStack, 49, height - 55, 64, height - 37, 0xff000000);
fill(matrixStack, 214, height - 56, 244, height - 55, 0xffa0a0a0);
fill(matrixStack, 214, height - 37, 244, height - 36, 0xffa0a0a0);
fill(matrixStack, 244, height - 56, 246, height - 36, 0xffa0a0a0);
fill(matrixStack, 214, height - 55, 243, height - 52, 0xff000000);
fill(matrixStack, 214, height - 40, 243, height - 37, 0xff000000);
fill(matrixStack, 215, height - 55, 216, height - 37, 0xff000000);
fill(matrixStack, 242, height - 55, 245, height - 37, 0xff000000);
listGui.renderIconAndGetName(matrixStack, new ItemStack(itemToAdd), 52,
height - 52, false);
GL11.glPopMatrix();
}
@ -245,8 +249,8 @@ public final class EditItemListScreen extends Screen
}
@Override
protected void renderItem(int index, int x, int y, int var4, int var5,
int var6, float partialTicks)
protected void renderItem(MatrixStack matrixStack, int index, int x,
int y, int var4, int var5, int var6, float partialTicks)
{
String name = list.get(index);
Item item = Registry.ITEM.get(new Identifier(name));
@ -254,15 +258,15 @@ public final class EditItemListScreen extends Screen
TextRenderer fr = mc.textRenderer;
String displayName =
renderIconAndGetName(stack, x + 1, y + 1, true);
fr.draw(displayName, x + 28, y, 0xf0f0f0);
fr.draw(name, x + 28, y + 9, 0xa0a0a0);
fr.draw("ID: " + Registry.ITEM.getId(item).toString(), x + 28,
y + 18, 0xa0a0a0);
renderIconAndGetName(matrixStack, stack, x + 1, y + 1, true);
fr.draw(matrixStack, displayName, x + 28, y, 0xf0f0f0);
fr.draw(matrixStack, name, x + 28, y + 9, 0xa0a0a0);
fr.draw(matrixStack, "ID: " + Registry.ITEM.getId(item).toString(),
x + 28, y + 18, 0xa0a0a0);
}
private String renderIconAndGetName(ItemStack stack, int x, int y,
boolean large)
private String renderIconAndGetName(MatrixStack matrixStack,
ItemStack stack, int x, int y, boolean large)
{
if(stack.isEmpty())
{
@ -274,8 +278,8 @@ public final class EditItemListScreen extends Screen
GL11.glScaled(0.75, 0.75, 0.75);
DiffuseLighting.enable();
mc.getItemRenderer()
.renderGuiItem(new ItemStack(Blocks.GRASS_BLOCK), 0, 0);
mc.getItemRenderer().renderInGuiWithOverrides(
new ItemStack(Blocks.GRASS_BLOCK), 0, 0);
DiffuseLighting.disable();
GL11.glPopMatrix();
@ -285,7 +289,7 @@ public final class EditItemListScreen extends Screen
GL11.glScaled(2, 2, 2);
GL11.glDisable(GL11.GL_DEPTH_TEST);
TextRenderer fr = mc.textRenderer;
fr.drawWithShadow("?", 3, 2, 0xf0f0f0);
fr.drawWithShadow(matrixStack, "?", 3, 2, 0xf0f0f0);
GL11.glEnable(GL11.GL_DEPTH_TEST);
GL11.glPopMatrix();
@ -301,12 +305,12 @@ public final class EditItemListScreen extends Screen
GL11.glScaled(0.75, 0.75, 0.75);
DiffuseLighting.enable();
mc.getItemRenderer().renderGuiItem(stack, 0, 0);
mc.getItemRenderer().renderInGuiWithOverrides(stack, 0, 0);
DiffuseLighting.disable();
GL11.glPopMatrix();
return stack.getName().asFormattedString();
return stack.getName().getString();
}
}
}

View File

@ -13,6 +13,7 @@ import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.widget.ButtonWidget;
import net.minecraft.client.gui.widget.TextFieldWidget;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.text.LiteralText;
import net.wurstclient.settings.SliderSetting;
import net.wurstclient.settings.SliderSetting.ValueDisplay;
@ -40,11 +41,12 @@ public final class EditSliderScreen extends Screen
int y1 = 60;
int y2 = height / 3 * 2;
TextRenderer tr = minecraft.textRenderer;
TextRenderer tr = client.textRenderer;
ValueDisplay vd = ValueDisplay.DECIMAL;
String valueString = vd.getValueString(slider.getValue());
valueField = new TextFieldWidget(tr, x1, y1, 200, 20, "");
valueField =
new TextFieldWidget(tr, x1, y1, 200, 20, new LiteralText(""));
valueField.setText(valueString);
valueField.setSelectionStart(0);
@ -52,7 +54,8 @@ public final class EditSliderScreen extends Screen
setInitialFocus(valueField);
valueField.setSelected(true);
doneButton = new ButtonWidget(x1, y2, 200, 20, "Done", b -> done());
doneButton = new ButtonWidget(x1, y2, 200, 20, new LiteralText("Done"),
b -> done());
addButton(doneButton);
}
@ -63,7 +66,7 @@ public final class EditSliderScreen extends Screen
if(MathUtils.isDouble(value))
slider.setValue(Double.parseDouble(value));
minecraft.openScreen(prevScreen);
client.openScreen(prevScreen);
}
@Override
@ -76,7 +79,7 @@ public final class EditSliderScreen extends Screen
break;
case GLFW.GLFW_KEY_ESCAPE:
minecraft.openScreen(prevScreen);
client.openScreen(prevScreen);
break;
}
@ -90,14 +93,15 @@ public final class EditSliderScreen extends Screen
}
@Override
public void render(int mouseX, int mouseY, float partialTicks)
public void render(MatrixStack matrixStack, int mouseX, int mouseY,
float partialTicks)
{
renderBackground();
drawCenteredString(minecraft.textRenderer, slider.getName(), width / 2,
20, 0xFFFFFF);
renderBackground(matrixStack);
drawCenteredString(matrixStack, client.textRenderer, slider.getName(),
width / 2, 20, 0xFFFFFF);
valueField.render(mouseX, mouseY, partialTicks);
super.render(mouseX, mouseY, partialTicks);
valueField.render(matrixStack, mouseX, mouseY, partialTicks);
super.render(matrixStack, mouseX, mouseY, partialTicks);
}
@Override

View File

@ -9,6 +9,7 @@ package net.wurstclient.clickgui.screens;
import java.nio.file.Path;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.lwjgl.glfw.GLFW;
@ -18,10 +19,11 @@ import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.gui.screen.ConfirmScreen;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.widget.ButtonWidget;
import net.minecraft.client.gui.widget.ListWidget;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.text.LiteralText;
import net.minecraft.util.Util;
import net.wurstclient.settings.FileSetting;
import net.wurstclient.util.ListWidget;
public final class SelectFileScreen extends Screen
{
@ -47,17 +49,17 @@ public final class SelectFileScreen extends Screen
@Override
public void init()
{
listGui = new ListGui(minecraft, this, setting.listFiles());
listGui = new ListGui(client, this, setting.listFiles());
addButton(
new ButtonWidget(8, 8, 100, 20, "Open Folder", b -> openFolder()));
addButton(new ButtonWidget(width - 108, 8, 100, 20, "Reset to Defaults",
b -> askToConfirmReset()));
addButton(new ButtonWidget(8, 8, 100, 20,
new LiteralText("Open Folder"), b -> openFolder()));
addButton(new ButtonWidget(width - 108, 8, 100, 20,
new LiteralText("Reset to Defaults"), b -> askToConfirmReset()));
doneButton = addButton(new ButtonWidget(width / 2 - 102, height - 48,
100, 20, "Done", b -> done()));
100, 20, new LiteralText("Done"), b -> done()));
addButton(new ButtonWidget(width / 2 + 2, height - 48, 100, 20,
"Cancel", b -> openPrevScreen()));
new LiteralText("Cancel"), b -> openPrevScreen()));
}
private void openFolder()
@ -67,7 +69,7 @@ public final class SelectFileScreen extends Screen
private void openPrevScreen()
{
minecraft.openScreen(prevScreen);
client.openScreen(prevScreen);
}
private void done()
@ -91,7 +93,7 @@ public final class SelectFileScreen extends Screen
+ "' folder and then re-generate the default files.\n"
+ "Are you sure you want to do this?");
minecraft.openScreen(
client.openScreen(
new ConfirmScreen(c -> confirmReset(c), title, message));
}
@ -100,7 +102,7 @@ public final class SelectFileScreen extends Screen
if(confirmed)
setting.resetFolder();
minecraft.openScreen(SelectFileScreen.this);
client.openScreen(SelectFileScreen.this);
}
@Override
@ -160,18 +162,21 @@ public final class SelectFileScreen extends Screen
}
@Override
public void render(int mouseX, int mouseY, float partialTicks)
public void render(MatrixStack matrixStack, int mouseX, int mouseY,
float partialTicks)
{
renderBackground();
listGui.render(mouseX, mouseY, partialTicks);
renderBackground(matrixStack);
listGui.render(matrixStack, mouseX, mouseY, partialTicks);
drawCenteredString(minecraft.textRenderer, setting.getName(), width / 2,
12, 0xffffff);
drawCenteredString(matrixStack, client.textRenderer, setting.getName(),
width / 2, 12, 0xffffff);
super.render(mouseX, mouseY, partialTicks);
super.render(matrixStack, mouseX, mouseY, partialTicks);
if(doneButton.isHovered() && !doneButton.active)
renderTooltip("You must first select a file.", mouseX, mouseY);
renderTooltip(matrixStack,
Arrays.asList(new LiteralText("You must first select a file.")),
mouseX, mouseY);
}
private static class ListGui extends ListWidget
@ -217,15 +222,16 @@ public final class SelectFileScreen extends Screen
}
@Override
protected void renderItem(int index, int x, int y, int var4, int var5,
int var6, float partialTicks)
protected void renderItem(MatrixStack matrixStack, int index, int x,
int y, int var4, int var5, int var6, float partialTicks)
{
TextRenderer fr = mc.textRenderer;
Path path = list.get(index);
fr.draw("" + path.getFileName(), x + 28, y, 0xf0f0f0);
fr.draw("" + minecraft.runDirectory.toPath().relativize(path),
x + 28, y + 9, 0xa0a0a0);
fr.draw(matrixStack, "" + path.getFileName(), x + 28, y, 0xf0f0f0);
fr.draw(matrixStack,
"" + client.runDirectory.toPath().relativize(path), x + 28,
y + 9, 0xa0a0a0);
}
}
}

View File

@ -54,7 +54,7 @@ public final class AnnoyCmd extends Command implements ChatInputListener
ChatUtils.message("Now annoying " + target + ".");
ClientPlayerEntity player = MC.player;
if(player != null && target.equals(player.getName().asString()))
if(player != null && target.equals(player.getName().getString()))
ChatUtils.warning("Annoying yourself is a bad idea!");
EVENTS.add(ChatInputListener.class, this);

View File

@ -125,7 +125,7 @@ public final class BindsCmd extends Command
try
{
InputUtil.fromName(key);
InputUtil.fromTranslationKey(key);
return key;
}catch(IllegalArgumentException e)

View File

@ -76,7 +76,7 @@ public final class DropCmd extends Command implements UpdateListener
if(adjustedSlot >= 36)
adjustedSlot -= 36;
if(!MC.player.inventory.getInvStack(adjustedSlot).isEmpty())
if(!MC.player.inventory.getStack(adjustedSlot).isEmpty())
break;
slowModeSlotCounter++;

View File

@ -35,7 +35,7 @@ public final class ExcavateCmd extends Command
private BlockPos argsToXyzPos(String... xyz) throws CmdSyntaxError
{
BlockPos playerPos = new BlockPos(MC.player);
BlockPos playerPos = new BlockPos(MC.player.getPos());
int[] player =
new int[]{playerPos.getX(), playerPos.getY(), playerPos.getZ()};
int[] pos = new int[3];

View File

@ -43,7 +43,7 @@ public final class FollowCmd extends Command
.filter(e -> !e.removed && ((LivingEntity)e).getHealth() > 0)
.filter(e -> e != MC.player)
.filter(e -> !(e instanceof FakePlayerEntity))
.filter(e -> args[0].equalsIgnoreCase(e.getName().asString()))
.filter(e -> args[0].equalsIgnoreCase(e.getName().getString()))
.min(
Comparator.comparingDouble(e -> MC.player.squaredDistanceTo(e)))
.orElse(null);

View File

@ -24,7 +24,7 @@ public final class GetPosCmd extends Command
@Override
public void call(String[] args) throws CmdException
{
BlockPos pos = new BlockPos(MC.player);
BlockPos pos = new BlockPos(MC.player.getPos());
String posString = pos.getX() + " " + pos.getY() + " " + pos.getZ();
switch(String.join(" ", args).toLowerCase())

View File

@ -114,7 +114,7 @@ public final class GiveCmd extends Command
{
for(int i = 0; i < 9; i++)
{
if(!MC.player.inventory.getInvStack(i).isEmpty())
if(!MC.player.inventory.getStack(i).isEmpty())
continue;
MC.player.networkHandler.sendPacket(

View File

@ -93,7 +93,7 @@ public final class GoToCmd extends Command
.filter(e -> !e.removed && e.getHealth() > 0)
.filter(e -> e != MC.player)
.filter(e -> !(e instanceof FakePlayerEntity))
.filter(e -> name.equalsIgnoreCase(e.getDisplayName().asString()))
.filter(e -> name.equalsIgnoreCase(e.getDisplayName().getString()))
.min(
Comparator.comparingDouble(e -> MC.player.squaredDistanceTo(e)))
.orElse(null);
@ -101,12 +101,12 @@ public final class GoToCmd extends Command
if(entity == null)
throw new CmdError("Entity \"" + name + "\" could not be found.");
return new BlockPos(entity);
return new BlockPos(entity.getPos());
}
private BlockPos argsToXyzPos(String... xyz) throws CmdSyntaxError
{
BlockPos playerPos = new BlockPos(MC.player);
BlockPos playerPos = new BlockPos(MC.player.getPos());
int[] player =
new int[]{playerPos.getX(), playerPos.getY(), playerPos.getZ()};
int[] pos = new int[3];

View File

@ -54,7 +54,7 @@ public final class InvseeCmd extends Command implements RenderListener
continue;
OtherClientPlayerEntity player = (OtherClientPlayerEntity)entity;
String otherPlayerName = player.getName().asString();
String otherPlayerName = player.getName().getString();
if(!otherPlayerName.equalsIgnoreCase(targetName))
continue;

View File

@ -25,7 +25,7 @@ public final class JumpCmd extends Command
if(args.length != 0)
throw new CmdSyntaxError();
if(!MC.player.onGround && !WURST.getHax().jetpackHack.isEnabled())
if(!MC.player.isOnGround() && !WURST.getHax().jetpackHack.isEnabled())
throw new CmdError("Can't jump in mid-air.");
MC.player.jump();

View File

@ -132,7 +132,7 @@ public final class PathCmd extends Command
.filter(e -> !e.removed && e.getHealth() > 0)
.filter(e -> e != MC.player)
.filter(e -> !(e instanceof FakePlayerEntity))
.filter(e -> name.equalsIgnoreCase(e.getDisplayName().asString()))
.filter(e -> name.equalsIgnoreCase(e.getDisplayName().getString()))
.min(
Comparator.comparingDouble(e -> MC.player.squaredDistanceTo(e)))
.orElse(null);
@ -140,12 +140,12 @@ public final class PathCmd extends Command
if(entity == null)
throw new CmdError("Entity \"" + name + "\" could not be found.");
return new BlockPos(entity);
return new BlockPos(entity.getPos());
}
private BlockPos argsToXyzPos(String... xyz) throws CmdSyntaxError
{
BlockPos playerPos = new BlockPos(MC.player);
BlockPos playerPos = new BlockPos(MC.player.getPos());
int[] player =
new int[]{playerPos.getX(), playerPos.getY(), playerPos.getZ()};
int[] pos = new int[3];

View File

@ -44,7 +44,7 @@ public final class ProtectCmd extends Command
.filter(e -> !e.removed && ((LivingEntity)e).getHealth() > 0)
.filter(e -> e != MC.player)
.filter(e -> !(e instanceof FakePlayerEntity))
.filter(e -> args[0].equalsIgnoreCase(e.getName().asString()))
.filter(e -> args[0].equalsIgnoreCase(e.getName().getString()))
.min(
Comparator.comparingDouble(e -> MC.player.squaredDistanceTo(e)))
.orElse(null);

View File

@ -42,7 +42,7 @@ public final class SvCmd extends Command
throw new IllegalStateException(
"LastServerRememberer doesn't remember the last server!");
return lastServer.version;
return lastServer.version.getString();
}
@Override

View File

@ -11,6 +11,7 @@ import org.lwjgl.opengl.GL11;
import net.minecraft.client.gui.DrawableHelper;
import net.minecraft.client.util.Window;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.util.Identifier;
import net.wurstclient.Category;
import net.wurstclient.command.CmdException;
@ -80,7 +81,7 @@ public final class TacoCmd extends Command
}
@Override
public void onRenderGUI(float partialTicks)
public void onRenderGUI(MatrixStack matrixStack, float partialTicks)
{
GL11.glEnable(GL11.GL_BLEND);
GL11.glDisable(GL11.GL_CULL_FACE);
@ -101,7 +102,7 @@ public final class TacoCmd extends Command
int y = sr.getScaledHeight() - 32 - 19;
int w = 64;
int h = 32;
DrawableHelper.blit(x, y, 0, 0, w, h, w, h);
DrawableHelper.drawTexture(matrixStack, x, y, 0, 0, w, h, w, h);
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glDisable(GL11.GL_BLEND);

View File

@ -60,7 +60,7 @@ public final class TpCmd extends Command
.filter(e -> !e.removed && e.getHealth() > 0)
.filter(e -> e != MC.player)
.filter(e -> !(e instanceof FakePlayerEntity))
.filter(e -> name.equalsIgnoreCase(e.getDisplayName().asString()))
.filter(e -> name.equalsIgnoreCase(e.getDisplayName().getString()))
.min(
Comparator.comparingDouble(e -> MC.player.squaredDistanceTo(e)))
.orElse(null);
@ -68,12 +68,12 @@ public final class TpCmd extends Command
if(entity == null)
throw new CmdError("Entity \"" + name + "\" could not be found.");
return new BlockPos(entity);
return new BlockPos(entity.getPos());
}
private BlockPos argsToXyzPos(String... xyz) throws CmdSyntaxError
{
BlockPos playerPos = new BlockPos(MC.player);
BlockPos playerPos = new BlockPos(MC.player.getPos());
int[] player =
new int[]{playerPos.getX(), playerPos.getY(), playerPos.getZ()};
int[] pos = new int[3];

View File

@ -9,19 +9,22 @@ package net.wurstclient.events;
import java.util.ArrayList;
import net.minecraft.client.util.math.MatrixStack;
import net.wurstclient.event.Event;
import net.wurstclient.event.Listener;
public interface GUIRenderListener extends Listener
{
public void onRenderGUI(float partialTicks);
public void onRenderGUI(MatrixStack matrixStack, float partialTicks);
public static class GUIRenderEvent extends Event<GUIRenderListener>
{
private final float partialTicks;
private final MatrixStack matrixStack;
public GUIRenderEvent(float partialTicks)
public GUIRenderEvent(MatrixStack matrixStack, float partialTicks)
{
this.matrixStack = matrixStack;
this.partialTicks = partialTicks;
}
@ -29,7 +32,7 @@ public interface GUIRenderListener extends Listener
public void fire(ArrayList<GUIRenderListener> listeners)
{
for(GUIRenderListener listener : listeners)
listener.onRenderGUI(partialTicks);
listener.onRenderGUI(matrixStack, partialTicks);
}
@Override

View File

@ -54,7 +54,7 @@ public final class AntiAfkHack extends Hack
@Override
public void onEnable()
{
start = new BlockPos(MC.player);
start = new BlockPos(MC.player.getPos());
nextBlock = null;
pathFinder = new RandomPathFinder(start);
creativeFlying = MC.player.abilities.flying;
@ -149,12 +149,11 @@ public final class AntiAfkHack extends Hack
}
// face block
WURST.getRotationFaker().faceVectorClientIgnorePitch(
new Vec3d(nextBlock).add(0.5, 0.5, 0.5));
WURST.getRotationFaker()
.faceVectorClientIgnorePitch(Vec3d.ofCenter(nextBlock));
// walk
if(MC.player.squaredDistanceTo(
new Vec3d(nextBlock).add(0.5, 0.5, 0.5)) > 0.5)
if(MC.player.squaredDistanceTo(Vec3d.ofCenter(nextBlock)) > 0.5)
MC.options.keyForward.setPressed(true);
else
MC.options.keyForward.setPressed(false);

View File

@ -8,11 +8,14 @@
package net.wurstclient.hacks;
import java.util.List;
import java.util.Optional;
import net.minecraft.client.gui.hud.ChatHud;
import net.minecraft.client.gui.hud.ChatHudLine;
import net.minecraft.client.util.Texts;
import net.minecraft.text.Text;
import net.minecraft.client.util.ChatMessages;
import net.minecraft.text.LiteralText;
import net.minecraft.text.StringRenderable;
import net.minecraft.text.StringRenderable.Visitor;
import net.minecraft.util.math.MathHelper;
import net.wurstclient.Category;
import net.wurstclient.SearchTags;
@ -49,22 +52,49 @@ public final class AntiSpamHack extends Hack implements ChatInputListener
if(chatLines.isEmpty())
return;
/**
* A {@link Visitor} to completely bypass Mojang's visitor system and
* just get the damn {@link String} out of a {@link ChatHudLine}.
*
* <p>
* Is this seriously the replacement for <code>getString()</code>? What
* were they thinking?!
*/
class JustGiveMeTheStringVisitor implements Visitor<Object>
{
String s = "";
@Override
public Optional<Object> accept(String asString)
{
s += asString;
return Optional.empty();
}
}
ChatHud chat = MC.inGameHud.getChatHud();
int maxTextLength =
MathHelper.floor(chat.getWidth() / chat.getChatScale());
List<Text> newLines = Texts.wrapLines(event.getComponent(),
maxTextLength, MC.textRenderer, false, false);
List<StringRenderable> newLines =
ChatMessages.breakRenderedChatMessageLines(event.getComponent(),
maxTextLength, MC.textRenderer);
int spamCounter = 1;
int matchingLines = 0;
for(int i = chatLines.size() - 1; i >= 0; i--)
{
String oldLine = chatLines.get(i).getText().getString();
JustGiveMeTheStringVisitor oldLineVS =
new JustGiveMeTheStringVisitor();
chatLines.get(i).getText().visit(oldLineVS);
String oldLine = oldLineVS.s;
if(matchingLines <= newLines.size() - 1)
{
String newLine = newLines.get(matchingLines).getString();
JustGiveMeTheStringVisitor newLineVS =
new JustGiveMeTheStringVisitor();
newLines.get(matchingLines).visit(newLineVS);
String newLine = newLineVS.s;
if(matchingLines < newLines.size() - 1)
{
@ -84,8 +114,12 @@ public final class AntiSpamHack extends Hack implements ChatInputListener
if(i > 0 && matchingLines == newLines.size() - 1)
{
String twoLines =
oldLine + chatLines.get(i - 1).getText().getString();
JustGiveMeTheStringVisitor nextOldLineVS =
new JustGiveMeTheStringVisitor();
chatLines.get(i - 1).getText().visit(nextOldLineVS);
String nextOldLine = nextOldLineVS.s;
String twoLines = oldLine + nextOldLine;
String addedText = twoLines.substring(newLine.length());
if(addedText.startsWith(" [x") && addedText.endsWith("]"))
@ -131,6 +165,7 @@ public final class AntiSpamHack extends Hack implements ChatInputListener
}
if(spamCounter > 1)
event.getComponent().append(" [x" + spamCounter + "]");
event.setComponent(new LiteralText(
event.getComponent().getString() + " [x" + spamCounter + "]"));
}
}

View File

@ -56,7 +56,7 @@ public final class AntiWaterPushHack extends Hack implements UpdateListener,
if(!MC.options.keyJump.isPressed())
return;
if(!MC.player.onGround)
if(!MC.player.isOnGround())
return;
if(!IMC.getPlayer().isTouchingWaterBypass())

View File

@ -11,7 +11,7 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import net.minecraft.client.gui.screen.ingame.ContainerScreen;
import net.minecraft.client.gui.screen.ingame.HandledScreen;
import net.minecraft.client.gui.screen.ingame.InventoryScreen;
import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.enchantment.Enchantment;
@ -93,7 +93,7 @@ public final class AutoArmorHack extends Hack
}
// check screen
if(MC.currentScreen instanceof ContainerScreen
if(MC.currentScreen instanceof HandledScreen
&& !(MC.currentScreen instanceof InventoryScreen))
return;
@ -124,7 +124,7 @@ public final class AutoArmorHack extends Hack
// search inventory for better armor
for(int slot = 0; slot < 36; slot++)
{
ItemStack stack = inventory.getInvStack(slot);
ItemStack stack = inventory.getStack(slot);
if(stack.isEmpty() || !(stack.getItem() instanceof ArmorItem))
continue;

View File

@ -229,7 +229,7 @@ public final class AutoBuildHack extends Hack
private boolean tryToPlace(BlockPos pos, Vec3d eyesPos, double rangeSq)
{
Vec3d posVec = new Vec3d(pos).add(0.5, 0.5, 0.5);
Vec3d posVec = Vec3d.ofCenter(pos);
double distanceSqPosVec = eyesPos.squaredDistanceTo(posVec);
for(Direction side : Direction.values())
@ -241,7 +241,7 @@ public final class AutoBuildHack extends Hack
|| BlockUtils.getState(neighbor).getMaterial().isReplaceable())
continue;
Vec3d dirVec = new Vec3d(side.getVector());
Vec3d dirVec = Vec3d.of(side.getVector());
Vec3d hitVec = posVec.add(dirVec.multiply(0.5));
// check if hitVec is within range
@ -264,7 +264,7 @@ public final class AutoBuildHack extends Hack
Rotation rotation = RotationUtils.getNeededRotations(hitVec);
PlayerMoveC2SPacket.LookOnly packet =
new PlayerMoveC2SPacket.LookOnly(rotation.getYaw(),
rotation.getPitch(), MC.player.onGround);
rotation.getPitch(), MC.player.isOnGround());
MC.player.networkHandler.sendPacket(packet);
// place block
@ -316,7 +316,7 @@ public final class AutoBuildHack extends Hack
if(!BlockUtils.getState(pos).getMaterial().isReplaceable())
continue;
Vec3d posVec = new Vec3d(pos).add(0.5, 0.5, 0.5);
Vec3d posVec = Vec3d.ofCenter(pos);
for(Direction side : Direction.values())
{
@ -326,7 +326,7 @@ public final class AutoBuildHack extends Hack
if(!BlockUtils.canBeClicked(neighbor))
continue;
Vec3d sideVec = new Vec3d(side.getVector());
Vec3d sideVec = Vec3d.of(side.getVector());
Vec3d hitVec = posVec.add(sideVec.multiply(0.5));
// check if hitVec is within range
@ -380,7 +380,7 @@ public final class AutoBuildHack extends Hack
GL11.glTranslated(offset, offset, offset);
GL11.glScaled(scale, scale, scale);
Vec3d posVec = new Vec3d(pos).add(0.5, 0.5, 0.5);
Vec3d posVec = Vec3d.ofCenter(pos);
if(eyesPos.squaredDistanceTo(posVec) <= rangeSq)
drawGreenBox();

View File

@ -66,7 +66,7 @@ public final class AutoDropHack extends Hack implements UpdateListener
int adjustedSlot = slot;
if(adjustedSlot >= 36)
adjustedSlot -= 36;
ItemStack stack = MC.player.inventory.getInvStack(adjustedSlot);
ItemStack stack = MC.player.inventory.getStack(adjustedSlot);
if(stack.isEmpty())
continue;

View File

@ -9,7 +9,7 @@ package net.wurstclient.hacks;
import java.util.Comparator;
import org.apache.commons.lang3.tuple.Pair;
import com.mojang.datafixers.util.Pair;
import net.minecraft.block.Block;
import net.minecraft.block.BlockWithEntity;
@ -126,7 +126,7 @@ public final class AutoEatHack extends Hack implements UpdateListener
for(int i = 0; i < 9; i++)
{
// filter out non-food items
Item item = MC.player.inventory.getInvStack(i).getItem();
Item item = MC.player.inventory.getStack(i).getItem();
if(!item.isFood())
continue;
@ -152,7 +152,7 @@ public final class AutoEatHack extends Hack implements UpdateListener
for(Pair<StatusEffectInstance, Float> pair : food.getStatusEffects())
{
StatusEffect effect = pair.getLeft().getEffectType();
StatusEffect effect = pair.getFirst().getEffectType();
if(!allowHunger.isChecked() && effect == StatusEffects.HUNGER)
return false;

View File

@ -128,7 +128,7 @@ public final class AutoFarmHack extends Hack
int blockRange = (int)Math.ceil(range.getValue());
List<BlockPos> blocks = getBlockStream(eyesBlock, blockRange)
.filter(pos -> eyesVec.squaredDistanceTo(new Vec3d(pos)) <= rangeSq)
.filter(pos -> eyesVec.squaredDistanceTo(Vec3d.of(pos)) <= rangeSq)
.filter(pos -> BlockUtils.canBeClicked(pos))
.collect(Collectors.toList());
@ -142,18 +142,18 @@ public final class AutoFarmHack extends Hack
blocksToHarvest =
blocks.parallelStream().filter(this::shouldBeHarvested)
.sorted(Comparator.comparingDouble(
pos -> eyesVec.squaredDistanceTo(new Vec3d(pos))))
pos -> eyesVec.squaredDistanceTo(Vec3d.of(pos))))
.collect(Collectors.toList());
blocksToReplant = getBlockStream(eyesBlock, blockRange)
.filter(
pos -> eyesVec.squaredDistanceTo(new Vec3d(pos)) <= rangeSq)
pos -> eyesVec.squaredDistanceTo(Vec3d.of(pos)) <= rangeSq)
.filter(pos -> BlockUtils.getState(pos).getMaterial()
.isReplaceable())
.filter(pos -> plants.containsKey(pos))
.filter(this::canBeReplanted)
.sorted(Comparator.comparingDouble(
pos -> eyesVec.squaredDistanceTo(new Vec3d(pos))))
pos -> eyesVec.squaredDistanceTo(Vec3d.of(pos))))
.collect(Collectors.toList());
}
@ -310,7 +310,7 @@ public final class AutoFarmHack extends Hack
if(slot == player.inventory.selectedSlot)
continue;
ItemStack stack = player.inventory.getInvStack(slot);
ItemStack stack = player.inventory.getStack(slot);
if(stack.isEmpty() || stack.getItem() != neededItem)
continue;
@ -344,13 +344,13 @@ public final class AutoFarmHack extends Hack
Direction[] sides = Direction.values();
Vec3d eyesPos = RotationUtils.getEyesPos();
Vec3d posVec = new Vec3d(pos).add(0.5, 0.5, 0.5);
Vec3d posVec = Vec3d.ofCenter(pos);
double distanceSqPosVec = eyesPos.squaredDistanceTo(posVec);
Vec3d[] hitVecs = new Vec3d[sides.length];
for(int i = 0; i < sides.length; i++)
hitVecs[i] =
posVec.add(new Vec3d(sides[i].getVector()).multiply(0.5));
posVec.add(Vec3d.of(sides[i].getVector()).multiply(0.5));
for(int i = 0; i < sides.length; i++)
{

View File

@ -187,7 +187,7 @@ public final class AutoFishHack extends Hack
{
PlayerInventory inventory = MC.player.inventory;
int selectedSlot = inventory.selectedSlot;
ItemStack selectedStack = inventory.getInvStack(selectedSlot);
ItemStack selectedStack = inventory.getStack(selectedSlot);
// start with selected rod
bestRodValue = getRodValue(selectedStack);
@ -196,7 +196,7 @@ public final class AutoFishHack extends Hack
// search inventory for better rod
for(int slot = 0; slot < 36; slot++)
{
ItemStack stack = inventory.getInvStack(slot);
ItemStack stack = inventory.getStack(slot);
int rodValue = getRodValue(stack);
if(rodValue > bestRodValue)

View File

@ -106,7 +106,8 @@ public final class AutoLeaveHack extends Hack implements UpdateListener
case SELFHURT:
MC.player.networkHandler
.sendPacket(new PlayerInteractEntityC2SPacket(MC.player));
.sendPacket(new PlayerInteractEntityC2SPacket(MC.player,
MC.player.isSneaking()));
break;
}

View File

@ -82,14 +82,14 @@ public final class AutoPotionHack extends Hack implements UpdateListener
MC.player.inventory.selectedSlot = potionInHotbar;
MC.player.networkHandler
.sendPacket(new PlayerMoveC2SPacket.LookOnly(MC.player.yaw, 90,
MC.player.onGround));
MC.player.isOnGround()));
IMC.getInteractionManager().rightClickItem();
// reset slot and rotation
MC.player.inventory.selectedSlot = oldSlot;
MC.player.networkHandler
.sendPacket(new PlayerMoveC2SPacket.LookOnly(MC.player.yaw,
MC.player.pitch, MC.player.onGround));
MC.player.pitch, MC.player.isOnGround()));
// reset timer
timer = 10;
@ -110,7 +110,7 @@ public final class AutoPotionHack extends Hack implements UpdateListener
{
for(int i = startSlot; i < endSlot; i++)
{
ItemStack stack = MC.player.inventory.getInvStack(i);
ItemStack stack = MC.player.inventory.getStack(i);
// filter out non-splash potion items
if(stack.getItem() != Items.SPLASH_POTION)

View File

@ -68,12 +68,12 @@ public final class AutoSoupHack extends Hack implements UpdateListener
for(int i = 0; i < 36; i++)
{
// filter out non-bowl items and empty bowl slot
ItemStack stack = MC.player.inventory.getInvStack(i);
ItemStack stack = MC.player.inventory.getStack(i);
if(stack == null || stack.getItem() != Items.BOWL || i == 9)
continue;
// check if empty bowl slot contains a non-bowl item
ItemStack emptyBowlStack = MC.player.inventory.getInvStack(9);
ItemStack emptyBowlStack = MC.player.inventory.getStack(9);
boolean swap = !emptyBowlStack.isEmpty()
&& emptyBowlStack.getItem() != Items.BOWL;
@ -128,7 +128,7 @@ public final class AutoSoupHack extends Hack implements UpdateListener
{
for(int i = startSlot; i < endSlot; i++)
{
ItemStack stack = MC.player.inventory.getInvStack(i);
ItemStack stack = MC.player.inventory.getStack(i);
if(stack != null && stack.getItem() instanceof MushroomStewItem)
return i;

View File

@ -110,10 +110,10 @@ public final class AutoSwordHack extends Hack implements UpdateListener
for(int i = 0; i < 9; i++)
{
// skip empty slots
if(MC.player.inventory.getInvStack(i).isEmpty())
if(MC.player.inventory.getStack(i).isEmpty())
continue;
Item item = MC.player.inventory.getInvStack(i).getItem();
Item item = MC.player.inventory.getStack(i).getItem();
// get damage
float value = getValue(item);

View File

@ -155,7 +155,7 @@ public final class AutoToolHack extends Hack
if(slot == inventory.selectedSlot)
continue;
ItemStack stack = inventory.getInvStack(slot);
ItemStack stack = inventory.getStack(slot);
float speed = getMiningSpeed(stack, state);
if(speed <= bestSpeed)
@ -176,7 +176,7 @@ public final class AutoToolHack extends Hack
private float getMiningSpeed(ItemStack stack, BlockState state)
{
float speed = stack.getMiningSpeed(state);
float speed = stack.getMiningSpeedMultiplier(state);
if(speed > 1)
{
@ -232,7 +232,7 @@ public final class AutoToolHack extends Hack
if(slot == inventory.selectedSlot)
continue;
ItemStack stack = inventory.getInvStack(slot);
ItemStack stack = inventory.getStack(slot);
if(!isDamageable(stack))
return slot;

View File

@ -140,10 +140,10 @@ public final class BonemealAuraHack extends Hack implements UpdateListener
BlockPos max = center.add(rangeI, rangeI, rangeI);
return BlockUtils.getAllInBox(min, max).stream()
.filter(pos -> eyesVec.squaredDistanceTo(new Vec3d(pos)) <= rangeSq)
.filter(pos -> eyesVec.squaredDistanceTo(Vec3d.of(pos)) <= rangeSq)
.filter(validator)
.sorted(Comparator.comparingDouble(
pos -> eyesVec.squaredDistanceTo(new Vec3d(pos))))
pos -> eyesVec.squaredDistanceTo(Vec3d.of(pos))))
.collect(Collectors.toCollection(() -> new ArrayList<>()));
}
@ -171,13 +171,12 @@ public final class BonemealAuraHack extends Hack implements UpdateListener
private boolean rightClickBlockLegit(BlockPos pos)
{
Vec3d eyesPos = RotationUtils.getEyesPos();
Vec3d posVec = new Vec3d(pos).add(0.5, 0.5, 0.5);
Vec3d posVec = Vec3d.ofCenter(pos);
double distanceSqPosVec = eyesPos.squaredDistanceTo(posVec);
for(Direction side : Direction.values())
{
Vec3d hitVec =
posVec.add(new Vec3d(side.getVector()).multiply(0.5));
Vec3d hitVec = posVec.add(Vec3d.of(side.getVector()).multiply(0.5));
double distanceSqHitVec = eyesPos.squaredDistanceTo(hitVec);
// check if hitVec is within range (4.25 blocks)
@ -213,13 +212,12 @@ public final class BonemealAuraHack extends Hack implements UpdateListener
private boolean rightClickBlockSimple(BlockPos pos)
{
Vec3d eyesPos = RotationUtils.getEyesPos();
Vec3d posVec = new Vec3d(pos).add(0.5, 0.5, 0.5);
Vec3d posVec = Vec3d.ofCenter(pos);
double distanceSqPosVec = eyesPos.squaredDistanceTo(posVec);
for(Direction side : Direction.values())
{
Vec3d hitVec =
posVec.add(new Vec3d(side.getVector()).multiply(0.5));
Vec3d hitVec = posVec.add(Vec3d.of(side.getVector()).multiply(0.5));
double distanceSqHitVec = eyesPos.squaredDistanceTo(hitVec);
// check if hitVec is within range (6 blocks)

View File

@ -16,13 +16,14 @@ import org.lwjgl.opengl.GL11;
import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.client.util.Window;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.mob.AmbientEntity;
import net.minecraft.entity.mob.EndermanEntity;
import net.minecraft.entity.mob.Monster;
import net.minecraft.entity.mob.WaterCreatureEntity;
import net.minecraft.entity.mob.ZombiePigmanEntity;
import net.minecraft.entity.mob.ZombifiedPiglinEntity;
import net.minecraft.entity.passive.AnimalEntity;
import net.minecraft.entity.passive.GolemEntity;
import net.minecraft.entity.passive.HorseBaseEntity;
@ -200,7 +201,7 @@ public final class BowAimbotHack extends Hack
stream = stream.filter(e -> !(e instanceof Monster));
if(filterPigmen.isChecked())
stream = stream.filter(e -> !(e instanceof ZombiePigmanEntity));
stream = stream.filter(e -> !(e instanceof ZombifiedPiglinEntity));
if(filterEndermen.isChecked())
stream = stream.filter(e -> !(e instanceof EndermanEntity));
@ -322,7 +323,7 @@ public final class BowAimbotHack extends Hack
}
@Override
public void onRenderGUI(float partialTicks)
public void onRenderGUI(MatrixStack matrixStack, float partialTicks)
{
if(target == null)
return;
@ -343,7 +344,7 @@ public final class BowAimbotHack extends Hack
// translate to center
Window sr = MC.getWindow();
int msgWidth = MC.textRenderer.getStringWidth(message);
int msgWidth = MC.textRenderer.getWidth(message);
GL11.glTranslated(sr.getScaledWidth() / 2 - msgWidth / 2,
sr.getScaledHeight() / 2 + 1, 0);
@ -360,7 +361,7 @@ public final class BowAimbotHack extends Hack
// text
GL11.glEnable(GL11.GL_TEXTURE_2D);
MC.textRenderer.draw(message, 2, 1, 0xffffffff);
MC.textRenderer.draw(matrixStack, message, 2, 1, 0xffffffff);
GL11.glPopMatrix();

View File

@ -107,8 +107,9 @@ public final class BuildRandomHack extends Hack
do
{
// generate random position
pos = new BlockPos(MC.player).add(random.nextInt(bound) - range,
random.nextInt(bound) - range, random.nextInt(bound) - range);
pos = new BlockPos(MC.player.getPos()).add(
random.nextInt(bound) - range, random.nextInt(bound) - range,
random.nextInt(bound) - range);
attempts++;
}while(attempts < 128 && !tryToPlaceBlock(legitMode, pos));
@ -191,7 +192,7 @@ public final class BuildRandomHack extends Hack
private boolean placeBlockLegit(BlockPos pos)
{
Vec3d eyesPos = RotationUtils.getEyesPos();
Vec3d posVec = new Vec3d(pos).add(0.5, 0.5, 0.5);
Vec3d posVec = Vec3d.ofCenter(pos);
double distanceSqPosVec = eyesPos.squaredDistanceTo(posVec);
for(Direction side : Direction.values())
@ -202,7 +203,7 @@ public final class BuildRandomHack extends Hack
if(!BlockUtils.canBeClicked(neighbor))
continue;
Vec3d dirVec = new Vec3d(side.getVector());
Vec3d dirVec = Vec3d.of(side.getVector());
Vec3d hitVec = posVec.add(dirVec.multiply(0.5));
// check if hitVec is within range (4.25 blocks)
@ -225,7 +226,7 @@ public final class BuildRandomHack extends Hack
Rotation rotation = RotationUtils.getNeededRotations(hitVec);
PlayerMoveC2SPacket.LookOnly packet =
new PlayerMoveC2SPacket.LookOnly(rotation.getYaw(),
rotation.getPitch(), MC.player.onGround);
rotation.getPitch(), MC.player.isOnGround());
MC.player.networkHandler.sendPacket(packet);
// place block
@ -243,7 +244,7 @@ public final class BuildRandomHack extends Hack
private boolean placeBlockSimple_old(BlockPos pos)
{
Vec3d eyesPos = RotationUtils.getEyesPos();
Vec3d posVec = new Vec3d(pos).add(0.5, 0.5, 0.5);
Vec3d posVec = Vec3d.ofCenter(pos);
for(Direction side : Direction.values())
{
@ -253,8 +254,7 @@ public final class BuildRandomHack extends Hack
if(!BlockUtils.canBeClicked(neighbor))
continue;
Vec3d hitVec =
posVec.add(new Vec3d(side.getVector()).multiply(0.5));
Vec3d hitVec = posVec.add(Vec3d.of(side.getVector()).multiply(0.5));
// check if hitVec is within range (6 blocks)
if(eyesPos.squaredDistanceTo(hitVec) > 36)

View File

@ -51,7 +51,7 @@ public final class BunnyHopHack extends Hack implements UpdateListener
public void onUpdate()
{
ClientPlayerEntity player = MC.player;
if(!player.onGround || player.isSneaking())
if(!player.isOnGround() || player.isSneaking())
return;
if(jumpIf.getSelected().condition.test(player))

View File

@ -319,8 +319,9 @@ public class ChestEspHack extends Hack implements UpdateListener,
for(Box box : boxes)
{
GL11.glPushMatrix();
GL11.glTranslated(box.x1, box.y1, box.z1);
GL11.glScaled(box.x2 - box.x1, box.y2 - box.y1, box.z2 - box.z1);
GL11.glTranslated(box.minX, box.minY, box.minZ);
GL11.glScaled(box.maxX - box.minX, box.maxY - box.minY,
box.maxZ - box.minZ);
GL11.glCallList(displayList);
GL11.glPopMatrix();
}

View File

@ -19,7 +19,7 @@ import net.minecraft.entity.mob.AmbientEntity;
import net.minecraft.entity.mob.EndermanEntity;
import net.minecraft.entity.mob.Monster;
import net.minecraft.entity.mob.WaterCreatureEntity;
import net.minecraft.entity.mob.ZombiePigmanEntity;
import net.minecraft.entity.mob.ZombifiedPiglinEntity;
import net.minecraft.entity.passive.AnimalEntity;
import net.minecraft.entity.passive.GolemEntity;
import net.minecraft.entity.passive.HorseBaseEntity;
@ -201,7 +201,7 @@ public final class ClickAuraHack extends Hack
stream = stream.filter(e -> !(e instanceof Monster));
if(filterPigmen.isChecked())
stream = stream.filter(e -> !(e instanceof ZombiePigmanEntity));
stream = stream.filter(e -> !(e instanceof ZombifiedPiglinEntity));
if(filterEndermen.isChecked())
stream = stream.filter(e -> !(e instanceof EndermanEntity));
@ -242,7 +242,7 @@ public final class ClickAuraHack extends Hack
Rotation rotation = RotationUtils
.getNeededRotations(target.getBoundingBox().getCenter());
PlayerMoveC2SPacket.LookOnly packet = new PlayerMoveC2SPacket.LookOnly(
rotation.getYaw(), rotation.getPitch(), MC.player.onGround);
rotation.getYaw(), rotation.getPitch(), MC.player.isOnGround());
MC.player.networkHandler.sendPacket(packet);
// attack entity

View File

@ -70,7 +70,7 @@ public final class CriticalsHack extends Hack implements LeftClickListener
if(!isEnabled())
return;
if(!MC.player.onGround)
if(!MC.player.isOnGround())
return;
if(MC.player.isTouchingWater() || MC.player.isInLava())
@ -114,7 +114,7 @@ public final class CriticalsHack extends Hack implements LeftClickListener
{
MC.player.addVelocity(0, 0.1, 0);
MC.player.fallDistance = 0.1F;
MC.player.onGround = false;
MC.player.setOnGround(false);
}
private void doFullJump()

View File

@ -49,7 +49,7 @@ public final class DerpHack extends Hack implements UpdateListener
float yaw = MC.player.yaw + random.nextFloat() * 360F - 180F;
float pitch = random.nextFloat() * 180F - 90F;
MC.player.networkHandler.sendPacket(
new PlayerMoveC2SPacket.LookOnly(yaw, pitch, MC.player.onGround));
MC.player.networkHandler.sendPacket(new PlayerMoveC2SPacket.LookOnly(
yaw, pitch, MC.player.isOnGround()));
}
}

View File

@ -20,6 +20,7 @@ import org.lwjgl.opengl.GL11;
import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.util.InputUtil;
import net.minecraft.client.util.Window;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.util.hit.BlockHitResult;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.MathHelper;
@ -316,7 +317,7 @@ public final class ExcavatorHack extends Hack
}
@Override
public void onRenderGUI(float partialTicks)
public void onRenderGUI(MatrixStack matrixStack, float partialTicks)
{
// GL settings
GL11.glEnable(GL11.GL_BLEND);
@ -336,7 +337,7 @@ public final class ExcavatorHack extends Hack
// translate to center
Window sr = MC.getWindow();
int msgWidth = tr.getStringWidth(message);
int msgWidth = tr.getWidth(message);
GL11.glTranslated(sr.getScaledWidth() / 2 - msgWidth / 2,
sr.getScaledHeight() / 2 + 1, 0);
@ -353,7 +354,7 @@ public final class ExcavatorHack extends Hack
// text
GL11.glEnable(GL11.GL_TEXTURE_2D);
tr.draw(message, 2, 1, 0xffffffff);
tr.draw(matrixStack, message, 2, 1, 0xffffffff);
GL11.glPopMatrix();
@ -503,9 +504,8 @@ public final class ExcavatorHack extends Hack
if(pathFinder == null)
{
Comparator<BlockPos> cDistance =
Comparator.comparingDouble(pos -> MC.player
.squaredDistanceTo(new Vec3d(pos).add(0.5, 0.5, 0.5)));
Comparator<BlockPos> cDistance = Comparator.comparingDouble(
pos -> MC.player.squaredDistanceTo(Vec3d.ofCenter(pos)));
Comparator<BlockPos> cAltitude =
Comparator.comparingInt(pos -> -pos.getY());
BlockPos closestBlock =
@ -562,10 +562,10 @@ public final class ExcavatorHack extends Hack
BlockPos max = center.add(rangeI, rangeI, rangeI);
return BlockUtils.getAllInBox(min, max).stream()
.filter(pos -> eyesVec.squaredDistanceTo(new Vec3d(pos)) <= rangeSq)
.filter(pos -> eyesVec.squaredDistanceTo(Vec3d.of(pos)) <= rangeSq)
.filter(BlockUtils::canBeClicked).filter(validator)
.sorted(Comparator.comparingDouble(
pos -> eyesVec.squaredDistanceTo(new Vec3d(pos))))
pos -> eyesVec.squaredDistanceTo(Vec3d.of(pos))))
.collect(Collectors.toCollection(() -> new ArrayList<>()));
}

View File

@ -18,7 +18,7 @@ import net.minecraft.entity.mob.AmbientEntity;
import net.minecraft.entity.mob.EndermanEntity;
import net.minecraft.entity.mob.Monster;
import net.minecraft.entity.mob.WaterCreatureEntity;
import net.minecraft.entity.mob.ZombiePigmanEntity;
import net.minecraft.entity.mob.ZombifiedPiglinEntity;
import net.minecraft.entity.passive.AnimalEntity;
import net.minecraft.entity.passive.GolemEntity;
import net.minecraft.entity.passive.HorseBaseEntity;
@ -197,7 +197,7 @@ public final class FightBotHack extends Hack
stream = stream.filter(e -> !(e instanceof Monster));
if(filterPigmen.isChecked())
stream = stream.filter(e -> !(e instanceof ZombiePigmanEntity));
stream = stream.filter(e -> !(e instanceof ZombifiedPiglinEntity));
if(filterEndermen.isChecked())
stream = stream.filter(e -> !(e instanceof EndermanEntity));
@ -268,7 +268,7 @@ public final class FightBotHack extends Hack
}else
{
// jump if necessary
if(MC.player.horizontalCollision && MC.player.onGround)
if(MC.player.horizontalCollision && MC.player.isOnGround())
MC.player.jump();
// swim up if necessary
@ -276,7 +276,7 @@ public final class FightBotHack extends Hack
MC.player.addVelocity(0, 0.04, 0);
// control height if flying
if(!MC.player.onGround
if(!MC.player.isOnGround()
&& (MC.player.abilities.flying
|| WURST.getHax().flightHack.isEnabled())
&& MC.player.squaredDistanceTo(entity.getX(), MC.player.getY(),
@ -326,7 +326,7 @@ public final class FightBotHack extends Hack
public EntityPathFinder(Entity entity)
{
super(new BlockPos(entity));
super(new BlockPos(entity.getPos()));
this.entity = entity;
setThinkTime(1);
}
@ -334,8 +334,9 @@ public final class FightBotHack extends Hack
@Override
protected boolean checkDone()
{
return done = entity.squaredDistanceTo(new Vec3d(current).add(0.5,
0.5, 0.5)) <= Math.pow(distance.getValue(), 2);
return done =
entity.squaredDistanceTo(Vec3d.ofCenter(current)) <= Math
.pow(distance.getValue(), 2);
}
@Override

View File

@ -18,7 +18,7 @@ import net.minecraft.entity.mob.AmbientEntity;
import net.minecraft.entity.mob.EndermanEntity;
import net.minecraft.entity.mob.Monster;
import net.minecraft.entity.mob.WaterCreatureEntity;
import net.minecraft.entity.mob.ZombiePigmanEntity;
import net.minecraft.entity.mob.ZombifiedPiglinEntity;
import net.minecraft.entity.passive.AnimalEntity;
import net.minecraft.entity.passive.GolemEntity;
import net.minecraft.entity.passive.HorseBaseEntity;
@ -131,7 +131,7 @@ public final class FollowHack extends Hack
public String getRenderName()
{
if(entity != null)
return "Following " + entity.getName().asString();
return "Following " + entity.getName().getString();
else
return "Follow";
}
@ -170,7 +170,8 @@ public final class FollowHack extends Hack
stream = stream.filter(e -> !(e instanceof Monster));
if(filterPigmen.isChecked())
stream = stream.filter(e -> !(e instanceof ZombiePigmanEntity));
stream =
stream.filter(e -> !(e instanceof ZombifiedPiglinEntity));
if(filterEndermen.isChecked())
stream = stream.filter(e -> !(e instanceof EndermanEntity));
@ -216,7 +217,7 @@ public final class FollowHack extends Hack
pathFinder = new EntityPathFinder();
EVENTS.add(UpdateListener.class, this);
EVENTS.add(RenderListener.class, this);
ChatUtils.message("Now following " + entity.getName().asString());
ChatUtils.message("Now following " + entity.getName().getString());
}
@Override
@ -232,7 +233,7 @@ public final class FollowHack extends Hack
if(entity != null)
ChatUtils
.message("No longer following " + entity.getName().asString());
.message("No longer following " + entity.getName().getString());
entity = null;
}
@ -258,8 +259,8 @@ public final class FollowHack extends Hack
.filter(e -> !e.removed && ((LivingEntity)e).getHealth() > 0)
.filter(e -> e != MC.player)
.filter(e -> !(e instanceof FakePlayerEntity))
.filter(e -> entity.getName().asString()
.equalsIgnoreCase(e.getName().asString()))
.filter(e -> entity.getName().getString()
.equalsIgnoreCase(e.getName().getString()))
.min(Comparator
.comparingDouble(e -> MC.player.squaredDistanceTo(e)))
.orElse(null);
@ -308,7 +309,7 @@ public final class FollowHack extends Hack
}else
{
// jump if necessary
if(MC.player.horizontalCollision && MC.player.onGround)
if(MC.player.horizontalCollision && MC.player.isOnGround())
MC.player.jump();
// swim up if necessary
@ -316,7 +317,7 @@ public final class FollowHack extends Hack
MC.player.setVelocity(MC.player.getVelocity().add(0, 0.04, 0));
// control height if flying
if(!MC.player.onGround
if(!MC.player.isOnGround()
&& (MC.player.abilities.flying
|| WURST.getHax().flightHack.isEnabled())
&& MC.player.squaredDistanceTo(entity.getX(), MC.player.getY(),
@ -359,14 +360,14 @@ public final class FollowHack extends Hack
{
public EntityPathFinder()
{
super(new BlockPos(entity));
super(new BlockPos(entity.getPos()));
setThinkTime(1);
}
@Override
protected boolean checkDone()
{
Vec3d center = new Vec3d(current).add(0.5, 0.5, 0.5);
Vec3d center = Vec3d.ofCenter(current);
double distanceSq = Math.pow(distance.getValue(), 2);
return done = entity.squaredDistanceTo(center) <= distanceSq;
}

View File

@ -227,7 +227,7 @@ public final class ForceOpHack extends Hack implements ChatInputListener
@Override
public void onReceivedMessage(ChatInputEvent event)
{
String message = event.getComponent().asString();
String message = event.getComponent().getString();
if(message.startsWith("\u00a7c[\u00a76Wurst\u00a7c]\u00a7f "))
return;

View File

@ -111,7 +111,7 @@ public final class FreecamHack extends Hack
ClientPlayerEntity player = MC.player;
player.setVelocity(Vec3d.ZERO);
player.onGround = false;
player.setOnGround(false);
player.flyingSpeed = speed.getValueF();
Vec3d velcity = player.getVelocity();

View File

@ -66,7 +66,7 @@ public final class GlideHack extends Hack implements UpdateListener
ClientPlayerEntity player = MC.player;
Vec3d v = player.getVelocity();
if(player.onGround || player.isTouchingWater() || player.isInLava()
if(player.isOnGround() || player.isTouchingWater() || player.isInLava()
|| player.isClimbing() || v.y >= 0)
return;
@ -77,8 +77,10 @@ public final class GlideHack extends Hack implements UpdateListener
if(!MC.world.doesNotCollide(box))
return;
BlockPos min = new BlockPos(new Vec3d(box.x1, box.y1, box.z1));
BlockPos max = new BlockPos(new Vec3d(box.x2, box.y2, box.z2));
BlockPos min =
new BlockPos(new Vec3d(box.minX, box.minY, box.minZ));
BlockPos max =
new BlockPos(new Vec3d(box.maxX, box.maxY, box.maxZ));
Stream<BlockPos> stream = StreamSupport
.stream(BlockUtils.getAllInBox(min, max).spliterator(), true);

View File

@ -47,6 +47,6 @@ public final class HeadRollHack extends Hack implements UpdateListener
float pitch = MathHelper.sin(timer * (float)Math.PI) * 90F;
MC.player.networkHandler.sendPacket(new PlayerMoveC2SPacket.LookOnly(
MC.player.yaw, pitch, MC.player.onGround));
MC.player.yaw, pitch, MC.player.isOnGround()));
}
}

View File

@ -61,7 +61,7 @@ public final class InstantBunkerHack extends Hack
@Override
public void onEnable()
{
if(!MC.player.onGround)
if(!MC.player.isOnGround())
{
ChatUtils.error("Can't build this in mid-air.");
setEnabled(false);
@ -81,7 +81,7 @@ public final class InstantBunkerHack extends Hack
ChatUtils.warning("Not enough blocks. Bunker may be incomplete.");
// get start pos and facings
BlockPos startPos = new BlockPos(MC.player);
BlockPos startPos = new BlockPos(MC.player.getPos());
Direction facing = MC.player.getHorizontalFacing();
Direction facing2 = facing.rotateYCounterclockwise();
@ -132,7 +132,7 @@ public final class InstantBunkerHack extends Hack
placeBlockSimple(pos);
MC.player.swingHand(Hand.MAIN_HAND);
if(MC.player.onGround)
if(MC.player.isOnGround())
{
setEnabled(false);
return;
@ -174,13 +174,13 @@ public final class InstantBunkerHack extends Hack
Direction[] sides = Direction.values();
Vec3d eyesPos = RotationUtils.getEyesPos();
Vec3d posVec = new Vec3d(pos).add(0.5, 0.5, 0.5);
Vec3d posVec = Vec3d.ofCenter(pos);
double distanceSqPosVec = eyesPos.squaredDistanceTo(posVec);
Vec3d[] hitVecs = new Vec3d[sides.length];
for(int i = 0; i < sides.length; i++)
hitVecs[i] =
posVec.add(new Vec3d(sides[i].getVector()).multiply(0.5));
posVec.add(Vec3d.of(sides[i].getVector()).multiply(0.5));
for(int i = 0; i < sides.length; i++)
{

View File

@ -57,7 +57,7 @@ public final class KaboomHack extends Hack implements UpdateListener
public void onUpdate()
{
// check fly-kick
if(!MC.player.abilities.creativeMode && !MC.player.onGround)
if(!MC.player.abilities.creativeMode && !MC.player.isOnGround())
return;
// do explosion particles
@ -87,9 +87,9 @@ public final class KaboomHack extends Hack implements UpdateListener
BlockPos max = center.add(rangeI, rangeI, rangeI);
return BlockUtils.getAllInBox(min, max).stream()
.filter(pos -> eyesVec.squaredDistanceTo(new Vec3d(pos)) <= rangeSq)
.filter(pos -> eyesVec.squaredDistanceTo(Vec3d.of(pos)) <= rangeSq)
.sorted(Comparator.comparingDouble(
pos -> -eyesVec.squaredDistanceTo(new Vec3d(pos))))
pos -> -eyesVec.squaredDistanceTo(Vec3d.of(pos))))
.collect(Collectors.toCollection(() -> new ArrayList<>()));
}
}

View File

@ -70,7 +70,7 @@ public final class KillPotionHack extends Hack
{
for(int i = 0; i < 9; i++)
{
if(!MC.player.inventory.getInvStack(i).isEmpty())
if(!MC.player.inventory.getStack(i).isEmpty())
continue;
MC.player.networkHandler.sendPacket(

View File

@ -21,7 +21,7 @@ import net.minecraft.entity.mob.AmbientEntity;
import net.minecraft.entity.mob.EndermanEntity;
import net.minecraft.entity.mob.Monster;
import net.minecraft.entity.mob.WaterCreatureEntity;
import net.minecraft.entity.mob.ZombiePigmanEntity;
import net.minecraft.entity.mob.ZombifiedPiglinEntity;
import net.minecraft.entity.passive.AnimalEntity;
import net.minecraft.entity.passive.GolemEntity;
import net.minecraft.entity.passive.HorseBaseEntity;
@ -187,7 +187,7 @@ public final class KillauraHack extends Hack
stream = stream.filter(e -> !(e instanceof Monster));
if(filterPigmen.isChecked())
stream = stream.filter(e -> !(e instanceof ZombiePigmanEntity));
stream = stream.filter(e -> !(e instanceof ZombifiedPiglinEntity));
if(filterEndermen.isChecked())
stream = stream.filter(e -> !(e instanceof EndermanEntity));
@ -261,8 +261,8 @@ public final class KillauraHack extends Hack
RenderUtils.applyRenderOffset();
Box box = new Box(BlockPos.ORIGIN);
float p = (renderTarget.getMaximumHealth() - renderTarget.getHealth())
/ renderTarget.getMaximumHealth();
float p = (renderTarget.getMaxHealth() - renderTarget.getHealth())
/ renderTarget.getMaxHealth();
float red = p * 2F;
float green = 2 - red;

View File

@ -21,7 +21,7 @@ import net.minecraft.entity.mob.AmbientEntity;
import net.minecraft.entity.mob.EndermanEntity;
import net.minecraft.entity.mob.Monster;
import net.minecraft.entity.mob.WaterCreatureEntity;
import net.minecraft.entity.mob.ZombiePigmanEntity;
import net.minecraft.entity.mob.ZombifiedPiglinEntity;
import net.minecraft.entity.passive.AnimalEntity;
import net.minecraft.entity.passive.GolemEntity;
import net.minecraft.entity.passive.HorseBaseEntity;
@ -185,7 +185,7 @@ public final class KillauraLegitHack extends Hack
stream = stream.filter(e -> !(e instanceof Monster));
if(filterPigmen.isChecked())
stream = stream.filter(e -> !(e instanceof ZombiePigmanEntity));
stream = stream.filter(e -> !(e instanceof ZombifiedPiglinEntity));
if(filterEndermen.isChecked())
stream = stream.filter(e -> !(e instanceof EndermanEntity));
@ -288,8 +288,8 @@ public final class KillauraLegitHack extends Hack
RenderUtils.applyRenderOffset();
Box box = new Box(BlockPos.ORIGIN);
float p = (target.getMaximumHealth() - target.getHealth())
/ target.getMaximumHealth();
float p = (target.getMaxHealth() - target.getHealth())
/ target.getMaxHealth();
float red = p * 2F;
float green = 2 - red;

View File

@ -98,7 +98,7 @@ public final class MassTpaHack extends Hack
@Override
public void onReceivedMessage(ChatInputEvent event)
{
String message = event.getComponent().asString().toLowerCase();
String message = event.getComponent().getString().toLowerCase();
if(message.startsWith("\u00a7c[\u00a76wurst\u00a7c]"))
return;

View File

@ -23,6 +23,7 @@ import org.lwjgl.opengl.GL11;
import net.minecraft.block.BlockState;
import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.client.world.ClientWorld;
import net.minecraft.entity.EntityType;
import net.minecraft.network.Packet;
import net.minecraft.network.packet.s2c.play.BlockUpdateS2CPacket;
import net.minecraft.network.packet.s2c.play.ChunkDataS2CPacket;
@ -294,7 +295,8 @@ public final class MobSpawnEspHack extends Hack
continue;
BlockState stateDown = world.getBlockState(pos.down());
if(!stateDown.isFullOpaque(world, pos.down()))
if(!stateDown.allowsSpawning(world, pos.down(),
EntityType.ZOMBIE))
continue;
blocks.add(pos);

View File

@ -20,7 +20,7 @@ import net.minecraft.entity.mob.AmbientEntity;
import net.minecraft.entity.mob.EndermanEntity;
import net.minecraft.entity.mob.Monster;
import net.minecraft.entity.mob.WaterCreatureEntity;
import net.minecraft.entity.mob.ZombiePigmanEntity;
import net.minecraft.entity.mob.ZombifiedPiglinEntity;
import net.minecraft.entity.passive.AnimalEntity;
import net.minecraft.entity.passive.GolemEntity;
import net.minecraft.entity.passive.HorseBaseEntity;
@ -190,7 +190,7 @@ public final class MultiAuraHack extends Hack implements UpdateListener
stream = stream.filter(e -> !(e instanceof Monster));
if(filterPigmen.isChecked())
stream = stream.filter(e -> !(e instanceof ZombiePigmanEntity));
stream = stream.filter(e -> !(e instanceof ZombifiedPiglinEntity));
if(filterEndermen.isChecked())
stream = stream.filter(e -> !(e instanceof EndermanEntity));
@ -235,7 +235,7 @@ public final class MultiAuraHack extends Hack implements UpdateListener
WurstClient.MC.player.networkHandler
.sendPacket(new PlayerMoveC2SPacket.LookOnly(rotations.getYaw(),
rotations.getPitch(), MC.player.onGround));
rotations.getPitch(), MC.player.isOnGround()));
MC.interactionManager.attackEntity(player, entity);
}

View File

@ -45,7 +45,7 @@ public final class NameProtectHack extends Hack
for(AbstractClientPlayerEntity player : MC.world.getPlayers())
{
i++;
String name = player.getName().asString();
String name = player.getName().getString();
if(string.contains(name))
return string.replace(name, "\u00a7oPlayer" + i + "\u00a7r");

View File

@ -56,7 +56,7 @@ public final class NoClipHack extends Hack implements UpdateListener,
player.noClip = true;
player.fallDistance = 0;
player.onGround = false;
player.setOnGround(false);
player.abilities.flying = false;
player.setVelocity(0, 0, 0);

View File

@ -128,11 +128,11 @@ public final class NukerHack extends Hack
Stream<BlockPos> stream = blocks.parallelStream();
List<BlockPos> blocks2 = stream
.filter(pos -> eyesPos.squaredDistanceTo(new Vec3d(pos)) <= rangeSq)
.filter(pos -> eyesPos.squaredDistanceTo(Vec3d.of(pos)) <= rangeSq)
.filter(pos -> BlockUtils.canBeClicked(pos))
.filter(mode.getSelected().getValidator(this))
.sorted(Comparator.comparingDouble(
pos -> eyesPos.squaredDistanceTo(new Vec3d(pos))))
pos -> eyesPos.squaredDistanceTo(Vec3d.of(pos))))
.collect(Collectors.toList());
if(player.abilities.creativeMode)

View File

@ -167,23 +167,22 @@ public final class NukerLegitHack extends Hack
BlockPos max = center.add(rangeI, rangeI, rangeI);
return BlockUtils.getAllInBox(min, max).stream()
.filter(pos -> eyesVec.squaredDistanceTo(new Vec3d(pos)) <= rangeSq)
.filter(pos -> eyesVec.squaredDistanceTo(Vec3d.of(pos)) <= rangeSq)
.filter(BlockUtils::canBeClicked).filter(validator)
.sorted(Comparator.comparingDouble(
pos -> eyesVec.squaredDistanceTo(new Vec3d(pos))))
pos -> eyesVec.squaredDistanceTo(Vec3d.of(pos))))
.collect(Collectors.toCollection(() -> new ArrayList<>()));
}
private boolean breakBlockExtraLegit(BlockPos pos)
{
Vec3d eyesPos = RotationUtils.getEyesPos();
Vec3d posVec = new Vec3d(pos).add(0.5, 0.5, 0.5);
Vec3d posVec = Vec3d.ofCenter(pos);
double distanceSqPosVec = eyesPos.squaredDistanceTo(posVec);
for(Direction side : Direction.values())
{
Vec3d hitVec =
posVec.add(new Vec3d(side.getVector()).multiply(0.5));
Vec3d hitVec = posVec.add(Vec3d.of(side.getVector()).multiply(0.5));
double distanceSqHitVec = eyesPos.squaredDistanceTo(hitVec);
// check if hitVec is within range (4.25 blocks)

View File

@ -43,7 +43,7 @@ public final class ParkourHack extends Hack implements UpdateListener
@Override
public void onUpdate()
{
if(!MC.player.onGround || MC.options.keyJump.isPressed())
if(!MC.player.isOnGround() || MC.options.keyJump.isPressed())
return;
if(MC.player.isSneaking() || MC.options.keySneak.isPressed())

View File

@ -10,7 +10,6 @@ package net.wurstclient.hacks;
import org.lwjgl.opengl.GL11;
import net.minecraft.network.Packet;
import net.minecraft.network.packet.s2c.play.EntitySpawnGlobalS2CPacket;
import net.minecraft.network.packet.s2c.play.PlaySoundS2CPacket;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.MathHelper;
@ -105,7 +104,7 @@ public final class PlayerFinderHack extends Hack
.add(RenderUtils.getCameraPos());
// set end position
Vec3d end = new Vec3d(pos).add(0.5, 0.5, 0.5);
Vec3d end = Vec3d.ofCenter(pos);
// draw line
GL11.glVertex3d(start.x, start.y, start.z);
@ -156,19 +155,23 @@ public final class PlayerFinderHack extends Hack
PlaySoundS2CPacket sound = (PlaySoundS2CPacket)packet;
newPos = new BlockPos(sound.getX(), sound.getY(), sound.getZ());
}else if(packet instanceof EntitySpawnGlobalS2CPacket)
{
EntitySpawnGlobalS2CPacket lightning =
(EntitySpawnGlobalS2CPacket)packet;
newPos = new BlockPos(lightning.getX() / 32D,
lightning.getY() / 32D, lightning.getZ() / 32D);
// }else if(packet instanceof EntitySpawnGlobalS2CPacket)
// {
// EntitySpawnGlobalS2CPacket lightning =
// (EntitySpawnGlobalS2CPacket)packet;
// newPos = new BlockPos(lightning.getX() / 32D,
// lightning.getY() / 32D, lightning.getZ() / 32D);
// It seems that EntitySpawnGlobalS2CPacket has been deleted from
// the game. Further testing is needed to figure out if PlayerFinder
// can still work using only PlaySoundS2CPacket.
}
if(newPos == null)
return;
// check distance to player
BlockPos playerPos = new BlockPos(MC.player);
BlockPos playerPos = new BlockPos(MC.player.getPos());
if(Math.abs(playerPos.getX() - newPos.getX()) > 256
|| Math.abs(playerPos.getZ() - newPos.getZ()) > 256)
pos = newPos;

View File

@ -18,7 +18,7 @@ import net.minecraft.entity.mob.AmbientEntity;
import net.minecraft.entity.mob.EndermanEntity;
import net.minecraft.entity.mob.Monster;
import net.minecraft.entity.mob.WaterCreatureEntity;
import net.minecraft.entity.mob.ZombiePigmanEntity;
import net.minecraft.entity.mob.ZombifiedPiglinEntity;
import net.minecraft.entity.passive.AnimalEntity;
import net.minecraft.entity.passive.GolemEntity;
import net.minecraft.entity.passive.HorseBaseEntity;
@ -131,7 +131,7 @@ public final class ProtectHack extends Hack
public String getRenderName()
{
if(friend != null)
return "Protecting " + friend.getName().asString();
return "Protecting " + friend.getName().getString();
else
return "Protect";
}
@ -234,7 +234,7 @@ public final class ProtectHack extends Hack
stream = stream.filter(e -> !(e instanceof Monster));
if(filterPigmen.isChecked())
stream = stream.filter(e -> !(e instanceof ZombiePigmanEntity));
stream = stream.filter(e -> !(e instanceof ZombifiedPiglinEntity));
if(filterEndermen.isChecked())
stream = stream.filter(e -> !(e instanceof EndermanEntity));
@ -307,7 +307,7 @@ public final class ProtectHack extends Hack
}else
{
// jump if necessary
if(MC.player.horizontalCollision && MC.player.onGround)
if(MC.player.horizontalCollision && MC.player.isOnGround())
MC.player.jump();
// swim up if necessary
@ -315,7 +315,7 @@ public final class ProtectHack extends Hack
MC.player.addVelocity(0, 0.04, 0);
// control height if flying
if(!MC.player.onGround
if(!MC.player.isOnGround()
&& (MC.player.abilities.flying
|| WURST.getHax().flightHack.isEnabled())
&& MC.player.squaredDistanceTo(target.getX(), MC.player.getY(),
@ -375,7 +375,7 @@ public final class ProtectHack extends Hack
public EntityPathFinder(Entity entity, double distance)
{
super(new BlockPos(entity));
super(new BlockPos(entity.getPos()));
this.entity = entity;
distanceSq = distance * distance;
setThinkTime(1);
@ -384,8 +384,8 @@ public final class ProtectHack extends Hack
@Override
protected boolean checkDone()
{
return done = entity.squaredDistanceTo(
new Vec3d(current).add(0.5, 0.5, 0.5)) <= distanceSq;
return done =
entity.squaredDistanceTo(Vec3d.ofCenter(current)) <= distanceSq;
}
@Override

View File

@ -17,7 +17,7 @@ import net.minecraft.entity.mob.AmbientEntity;
import net.minecraft.entity.mob.EndermanEntity;
import net.minecraft.entity.mob.Monster;
import net.minecraft.entity.mob.WaterCreatureEntity;
import net.minecraft.entity.mob.ZombiePigmanEntity;
import net.minecraft.entity.mob.ZombifiedPiglinEntity;
import net.minecraft.entity.passive.AnimalEntity;
import net.minecraft.entity.passive.GolemEntity;
import net.minecraft.entity.passive.HorseBaseEntity;
@ -148,7 +148,8 @@ public final class RemoteViewHack extends Hack
stream = stream.filter(e -> !(e instanceof Monster));
if(filterPigmen.isChecked())
stream = stream.filter(e -> !(e instanceof ZombiePigmanEntity));
stream =
stream.filter(e -> !(e instanceof ZombifiedPiglinEntity));
if(filterEndermen.isChecked())
stream = stream.filter(e -> !(e instanceof EndermanEntity));
@ -202,7 +203,7 @@ public final class RemoteViewHack extends Hack
fakePlayer = new FakePlayerEntity();
// success message
ChatUtils.message("Now viewing " + entity.getName().asString() + ".");
ChatUtils.message("Now viewing " + entity.getName().getString() + ".");
// add listener
EVENTS.add(UpdateListener.class, this);
@ -220,7 +221,7 @@ public final class RemoteViewHack extends Hack
if(entity != null)
{
ChatUtils.message(
"No longer viewing " + entity.getName().asString() + ".");
"No longer viewing " + entity.getName().getString() + ".");
entity.setInvisible(wasInvisible);
entity = null;
}
@ -247,7 +248,7 @@ public final class RemoteViewHack extends Hack
.filter(e -> !e.removed && ((LivingEntity)e).getHealth() > 0)
.filter(e -> e != MC.player)
.filter(e -> !(e instanceof FakePlayerEntity))
.filter(e -> viewName.equalsIgnoreCase(e.getName().asString()))
.filter(e -> viewName.equalsIgnoreCase(e.getName().getString()))
.min(Comparator
.comparingDouble(e -> MC.player.squaredDistanceTo(e)))
.orElse(null);

View File

@ -51,7 +51,7 @@ public final class ScaffoldWalkHack extends Hack implements UpdateListener
@Override
public void onUpdate()
{
BlockPos belowPlayer = new BlockPos(MC.player).down();
BlockPos belowPlayer = new BlockPos(MC.player.getPos()).down();
// check if block is already placed
if(!BlockUtils.getState(belowPlayer).getMaterial().isReplaceable())
@ -62,15 +62,14 @@ public final class ScaffoldWalkHack extends Hack implements UpdateListener
for(int i = 0; i < 9; i++)
{
// filter out non-block items
ItemStack stack = MC.player.inventory.getInvStack(i);
ItemStack stack = MC.player.inventory.getStack(i);
if(stack.isEmpty() || !(stack.getItem() instanceof BlockItem))
continue;
// filter out non-solid blocks
Block block = Block.getBlockFromItem(stack.getItem());
BlockState state = block.getDefaultState();
if(!Block.isShapeFullCube(state
.getCullingShape(EmptyBlockView.INSTANCE, BlockPos.ORIGIN)))
if(!state.isFullCube(EmptyBlockView.INSTANCE, BlockPos.ORIGIN))
continue;
// filter out blocks that would fall
@ -108,17 +107,16 @@ public final class ScaffoldWalkHack extends Hack implements UpdateListener
Direction side2 = side.getOpposite();
// check if side is visible (facing away from player)
if(eyesPos
.squaredDistanceTo(new Vec3d(pos).add(0.5, 0.5, 0.5)) >= eyesPos
.squaredDistanceTo(new Vec3d(neighbor).add(0.5, 0.5, 0.5)))
if(eyesPos.squaredDistanceTo(Vec3d.ofCenter(pos)) >= eyesPos
.squaredDistanceTo(Vec3d.ofCenter(neighbor)))
continue;
// check if neighbor can be right clicked
if(!BlockUtils.canBeClicked(neighbor))
continue;
Vec3d hitVec = new Vec3d(neighbor).add(0.5, 0.5, 0.5)
.add(new Vec3d(side2.getVector()).multiply(0.5));
Vec3d hitVec = Vec3d.ofCenter(neighbor)
.add(Vec3d.of(side2.getVector()).multiply(0.5));
// check if hitVec is within range (4.25 blocks)
if(eyesPos.squaredDistanceTo(hitVec) > 18.0625)
@ -128,7 +126,7 @@ public final class ScaffoldWalkHack extends Hack implements UpdateListener
Rotation rotation = RotationUtils.getNeededRotations(hitVec);
PlayerMoveC2SPacket.LookOnly packet =
new PlayerMoveC2SPacket.LookOnly(rotation.getYaw(),
rotation.getPitch(), MC.player.onGround);
rotation.getPitch(), MC.player.isOnGround());
MC.player.networkHandler.sendPacket(packet);
IMC.getInteractionManager().rightClickBlock(neighbor, side2,
hitVec);

View File

@ -177,7 +177,11 @@ public final class SearchHack extends Hack
ChunkPos center = getPlayerChunkPos(eyesPos);
int range = area.getSelected().chunkRange;
int dimensionId = MC.player.dimension.getRawId();
// 20w21a: Assuming class_5321 is the new Dimension and using its
// toString() as an ID. Not sure why it has two Identifiers, but the
// combination should be unique for every dimension.
int dimensionId = MC.world.getRegistryKey().toString().hashCode();
addSearchersInRange(center, range, currentBlock, dimensionId);
removeSearchersOutOfRange(center, range);

View File

@ -68,7 +68,7 @@ public final class ServerCrasherHack extends Hack
{
for(int i = 0; i < 9; i++)
{
if(!MC.player.inventory.getInvStack(i).isEmpty())
if(!MC.player.inventory.getStack(i).isEmpty())
continue;
MC.player.networkHandler.sendPacket(

View File

@ -51,7 +51,7 @@ public final class SpeedHackHack extends Hack implements UpdateListener
MC.player.setSprinting(true);
// activate mini jump if on ground
if(!MC.player.onGround)
if(!MC.player.isOnGround())
return;
Vec3d v = MC.player.getVelocity();

View File

@ -114,10 +114,10 @@ public final class SpeedNukerHack extends Hack
BlockPos max = center.add(rangeI, rangeI, rangeI);
return BlockUtils.getAllInBox(min, max).stream()
.filter(pos -> eyesVec.squaredDistanceTo(new Vec3d(pos)) <= rangeSq)
.filter(pos -> eyesVec.squaredDistanceTo(Vec3d.of(pos)) <= rangeSq)
.filter(BlockUtils::canBeClicked).filter(validator)
.sorted(Comparator.comparingDouble(
pos -> eyesVec.squaredDistanceTo(new Vec3d(pos))))
pos -> eyesVec.squaredDistanceTo(Vec3d.of(pos))))
.collect(Collectors.toCollection(() -> new ArrayList<>()));
}

Some files were not shown because too many files have changed in this diff Show More