Skip to content

Commit

Permalink
Merge v7.38 into 1.20.1
Browse files Browse the repository at this point in the history
  • Loading branch information
Alexander01998 committed Oct 24, 2023
1 parent a223ee1 commit 95752d6
Show file tree
Hide file tree
Showing 77 changed files with 1,214 additions and 492 deletions.
2 changes: 2 additions & 0 deletions .github/workflows/gradle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,10 @@ jobs:
- name: Execute Gradle build
run: ./gradlew build
- name: VirusTotal scan
if: github.event_name == 'push'
uses: crazy-max/ghaction-virustotal@v4
with:
vt_api_key: ${{ secrets.VIRUSTOTAL_API_KEY }}
files: |
./build/libs/*.jar
continue-on-error: true
37 changes: 37 additions & 0 deletions .github/workflows/stale.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: "Close stale issues and pull requests"
on:
schedule:
- cron: "30 1 * * 1-5"

permissions:
issues: write
pull-requests: write

jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@main
with:
stale-issue-message: |
This issue has been open for a while with no recent activity. If this issue is still important to you, please add a comment within the next 7 days to keep it open. Otherwise, the issue will be automatically closed to free up time for other tasks.
Issues should be closed if:
- They are duplicates of other issues
- There is not enough demand
- They are no longer relevant
- There are not enough details
stale-pr-message: |
This pull request has been open for a while with no recent activity. If you're still working on this or waiting for a review, please add a comment or commit within the next 7 days to keep it open. Otherwise, the pull request will be automatically closed to free up time for other tasks.
Pull requests should be closed if:
- They have been superseded by another pull request
- They are out of scope or don't align with the project
- They have become obsolete due to other changes
- They have bugs or conflicts that won't be resolved
days-before-stale: 60
days-before-close: 7
stale-issue-label: "status:stale"
stale-pr-label: "status:stale"
operations-per-run: 30
enable-statistics: true
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ loader_version=0.14.24
fabric_version=0.90.4+1.20.1

# Mod Properties
mod_version = v7.37.1-MC1.20.1
mod_version = v7.38-MC1.20.1
maven_group = net.wurstclient
archives_base_name = Wurst-Client

Expand Down
2 changes: 1 addition & 1 deletion src/main/java/net/wurstclient/WurstClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ public enum WurstClient
public static MinecraftClient MC;
public static IMinecraftClient IMC;

public static final String VERSION = "7.37.1";
public static final String VERSION = "7.38";
public static final String MC_VERSION = "1.20.1";

private WurstAnalytics analytics;
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/net/wurstclient/commands/FollowCmd.java
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ public void call(String[] args) throws CmdException

Entity entity = StreamSupport
.stream(MC.world.getEntities().spliterator(), true)
.filter(e -> e instanceof LivingEntity)
.filter(LivingEntity.class::isInstance)
.filter(e -> !e.isRemoved() && ((LivingEntity)e).getHealth() > 0)
.filter(e -> e != MC.player)
.filter(e -> !(e instanceof FakePlayerEntity))
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/net/wurstclient/commands/GoToCmd.java
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ private BlockPos argsToEntityPos(String name) throws CmdError
{
LivingEntity entity = StreamSupport
.stream(MC.world.getEntities().spliterator(), true)
.filter(e -> e instanceof LivingEntity).map(e -> (LivingEntity)e)
.filter(LivingEntity.class::isInstance).map(e -> (LivingEntity)e)
.filter(e -> !e.isRemoved() && e.getHealth() > 0)
.filter(e -> e != MC.player)
.filter(e -> !(e instanceof FakePlayerEntity))
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/net/wurstclient/commands/PathCmd.java
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ private BlockPos argsToEntityPos(String name) throws CmdError
{
LivingEntity entity = StreamSupport
.stream(MC.world.getEntities().spliterator(), true)
.filter(e -> e instanceof LivingEntity).map(e -> (LivingEntity)e)
.filter(LivingEntity.class::isInstance).map(e -> (LivingEntity)e)
.filter(e -> !e.isRemoved() && e.getHealth() > 0)
.filter(e -> e != MC.player)
.filter(e -> !(e instanceof FakePlayerEntity))
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/net/wurstclient/commands/ProtectCmd.java
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ public void call(String[] args) throws CmdException

Entity entity = StreamSupport
.stream(MC.world.getEntities().spliterator(), true)
.filter(e -> e instanceof LivingEntity)
.filter(LivingEntity.class::isInstance)
.filter(e -> !e.isRemoved() && ((LivingEntity)e).getHealth() > 0)
.filter(e -> e != MC.player)
.filter(e -> !(e instanceof FakePlayerEntity))
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/net/wurstclient/commands/TpCmd.java
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ private BlockPos argsToEntityPos(String name) throws CmdError
{
LivingEntity entity = StreamSupport
.stream(MC.world.getEntities().spliterator(), true)
.filter(e -> e instanceof LivingEntity).map(e -> (LivingEntity)e)
.filter(LivingEntity.class::isInstance).map(e -> (LivingEntity)e)
.filter(e -> !e.isRemoved() && e.getHealth() > 0)
.filter(e -> e != MC.player)
.filter(e -> !(e instanceof FakePlayerEntity))
Expand Down
36 changes: 30 additions & 6 deletions src/main/java/net/wurstclient/hacks/AimAssistHack.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,17 @@
import net.minecraft.entity.Entity;
import net.minecraft.util.math.Box;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.Vec3d;
import net.wurstclient.Category;
import net.wurstclient.events.RenderListener;
import net.wurstclient.events.UpdateListener;
import net.wurstclient.hack.Hack;
import net.wurstclient.settings.CheckboxSetting;
import net.wurstclient.settings.SliderSetting;
import net.wurstclient.settings.SliderSetting.ValueDisplay;
import net.wurstclient.settings.filterlists.EntityFilterList;
import net.wurstclient.settings.filters.*;
import net.wurstclient.util.BlockUtils;
import net.wurstclient.util.EntityUtils;
import net.wurstclient.util.RotationUtils;
import net.wurstclient.util.RotationUtils.Rotation;
Expand All @@ -42,18 +45,32 @@ public final class AimAssistHack extends Hack
+ "360\u00b0 = aims at entities all around you.",
120, 30, 360, 10, ValueDisplay.DEGREES);

private final CheckboxSetting checkLOS = new CheckboxSetting(
"Check line of sight", "Won't aim at entities behind blocks.", true);

private final EntityFilterList entityFilters =
new EntityFilterList(FilterPlayersSetting.genericCombat(false),
FilterSleepingSetting.genericCombat(false),
FilterFlyingSetting.genericCombat(0),
FilterMonstersSetting.genericCombat(false),
FilterPigmenSetting.genericCombat(false),
FilterEndermenSetting.genericCombat(false),
FilterAnimalsSetting.genericCombat(true),
FilterHostileSetting.genericCombat(false),
FilterNeutralSetting
.genericCombat(AttackDetectingEntityFilter.Mode.OFF),
FilterPassiveSetting.genericCombat(true),
FilterPassiveWaterSetting.genericCombat(true),
FilterBabiesSetting.genericCombat(true),
FilterBatsSetting.genericCombat(true),
FilterSlimesSetting.genericCombat(true),
FilterPetsSetting.genericCombat(true),
FilterTradersSetting.genericCombat(true),
FilterVillagersSetting.genericCombat(true),
FilterZombieVillagersSetting.genericCombat(true),
FilterGolemsSetting.genericCombat(false),
FilterPiglinsSetting
.genericCombat(AttackDetectingEntityFilter.Mode.OFF),
FilterZombiePiglinsSetting
.genericCombat(AttackDetectingEntityFilter.Mode.OFF),
FilterEndermenSetting
.genericCombat(AttackDetectingEntityFilter.Mode.OFF),
FilterShulkersSetting.genericCombat(false),
FilterInvisibleSetting.genericCombat(true),
FilterNamedSetting.genericCombat(false),
FilterShulkerBulletSetting.genericCombat(false),
Expand All @@ -72,6 +89,7 @@ public AimAssistHack()
addSetting(range);
addSetting(rotationSpeed);
addSetting(fov);
addSetting(checkLOS);

entityFilters.forEach(this::addSetting);
}
Expand All @@ -87,7 +105,6 @@ protected void onEnable()
WURST.getHax().killauraLegitHack.setEnabled(false);
WURST.getHax().multiAuraHack.setEnabled(false);
WURST.getHax().protectHack.setEnabled(false);
WURST.getHax().triggerBotHack.setEnabled(false);
WURST.getHax().tpAuraHack.setEnabled(false);

EVENTS.add(UpdateListener.class, this);
Expand Down Expand Up @@ -126,6 +143,13 @@ public void onUpdate()
if(target == null)
return;

Vec3d hitVec = target.getBoundingBox().getCenter();
if(checkLOS.isChecked() && !BlockUtils.hasLineOfSight(hitVec))
{
target = null;
return;
}

WURST.getHax().autoSwordHack.setSlot();
faceEntityClient(target);
}
Expand Down
16 changes: 4 additions & 12 deletions src/main/java/net/wurstclient/hacks/AnchorAuraHack.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,11 @@
import net.minecraft.entity.LivingEntity;
import net.minecraft.item.Items;
import net.minecraft.util.Hand;
import net.minecraft.util.hit.HitResult;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Box;
import net.minecraft.util.math.Direction;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.Vec3d;
import net.minecraft.world.RaycastContext;
import net.wurstclient.Category;
import net.wurstclient.SearchTags;
import net.wurstclient.events.UpdateListener;
Expand Down Expand Up @@ -240,11 +238,8 @@ private boolean rightClickBlock(BlockPos pos)
if(distanceSqHitVec >= distanceSqPosVec)
continue;

if(checkLOS.isChecked() && MC.world
.raycast(new RaycastContext(eyesPos, hitVec,
RaycastContext.ShapeType.COLLIDER,
RaycastContext.FluidHandling.NONE, MC.player))
.getType() != HitResult.Type.MISS)
if(checkLOS.isChecked()
&& !BlockUtils.hasLineOfSight(eyesPos, hitVec))
continue;

faceBlocks.getSelected().face(hitVec);
Expand Down Expand Up @@ -284,11 +279,8 @@ private boolean placeAnchor(BlockPos pos)
if(distanceSqPosVec > eyesPos.squaredDistanceTo(posVec.add(dirVec)))
continue;

if(checkLOS.isChecked() && MC.world
.raycast(new RaycastContext(eyesPos, hitVec,
RaycastContext.ShapeType.COLLIDER,
RaycastContext.FluidHandling.NONE, MC.player))
.getType() != HitResult.Type.MISS)
if(checkLOS.isChecked()
&& !BlockUtils.hasLineOfSight(eyesPos, hitVec))
continue;

InventoryUtils.selectItem(Items.RESPAWN_ANCHOR,
Expand Down
3 changes: 2 additions & 1 deletion src/main/java/net/wurstclient/hacks/AntiBlindHack.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,6 @@ public AntiBlindHack()
setCategory(Category.RENDER);
}

// See BackgroundRendererMixin, LightTextureManagerMixin, WorldRendererMixin
// See BackgroundRendererMixin, WorldRendererMixin,
// ClientPlayerEntityMixin.hasStatusEffect()
}
8 changes: 2 additions & 6 deletions src/main/java/net/wurstclient/hacks/AutoBuildHack.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Direction;
import net.minecraft.util.math.Vec3d;
import net.minecraft.world.RaycastContext;
import net.wurstclient.Category;
import net.wurstclient.events.RenderListener;
import net.wurstclient.events.RightClickListener;
Expand Down Expand Up @@ -253,11 +252,8 @@ private boolean tryToPlace(BlockPos pos, Vec3d eyesPos, double rangeSq)
continue;

// check line of sight
if(checkLOS.isChecked() && MC.world
.raycast(new RaycastContext(eyesPos, hitVec,
RaycastContext.ShapeType.COLLIDER,
RaycastContext.FluidHandling.NONE, MC.player))
.getType() != HitResult.Type.MISS)
if(checkLOS.isChecked()
&& !BlockUtils.hasLineOfSight(eyesPos, hitVec))
continue;

// face block
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/net/wurstclient/hacks/AutoLibrarianHack.java
Original file line number Diff line number Diff line change
Expand Up @@ -452,7 +452,7 @@ private void setTargetVillager()
Stream<VillagerEntity> stream =
StreamSupport.stream(MC.world.getEntities().spliterator(), true)
.filter(e -> !e.isRemoved())
.filter(e -> e instanceof VillagerEntity)
.filter(VillagerEntity.class::isInstance)
.map(e -> (VillagerEntity)e).filter(e -> e.getHealth() > 0)
.filter(e -> player.squaredDistanceTo(e) <= rangeSq)
.filter(e -> e.getVillagerData()
Expand Down
8 changes: 1 addition & 7 deletions src/main/java/net/wurstclient/hacks/BonemealAuraHack.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,9 @@
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.util.Hand;
import net.minecraft.util.hit.HitResult;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Direction;
import net.minecraft.util.math.Vec3d;
import net.minecraft.world.RaycastContext;
import net.wurstclient.Category;
import net.wurstclient.SearchTags;
import net.wurstclient.events.UpdateListener;
Expand Down Expand Up @@ -244,11 +242,7 @@ private boolean rightClickBlockLegit(BlockPos pos)
continue;

// check line of sight
if(MC.world
.raycast(new RaycastContext(eyesPos, hitVec,
RaycastContext.ShapeType.COLLIDER,
RaycastContext.FluidHandling.NONE, MC.player))
.getType() != HitResult.Type.MISS)
if(!BlockUtils.hasLineOfSight(eyesPos, hitVec))
continue;

// face block
Expand Down
9 changes: 5 additions & 4 deletions src/main/java/net/wurstclient/hacks/ChestEspHack.java
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,7 @@ else if(entity instanceof ChestBoatEntity)
public void onCameraTransformViewBobbing(
CameraTransformViewBobbingEvent event)
{
if(style.getSelected().hasLines())
if(style.hasLines())
event.cancel();
}

Expand All @@ -211,16 +211,17 @@ public void onRender(MatrixStack matrixStack, float partialTicks)
entityGroups.stream().filter(ChestEspGroup::isEnabled)
.forEach(g -> g.updateBoxes(partialTicks));

ChestEspRenderer espRenderer = new ChestEspRenderer(matrixStack);
ChestEspRenderer espRenderer =
new ChestEspRenderer(matrixStack, partialTicks);

if(style.getSelected().hasBoxes())
if(style.hasBoxes())
{
RenderSystem.setShader(GameRenderer::getPositionProgram);
groups.stream().filter(ChestEspGroup::isEnabled)
.forEach(espRenderer::renderBoxes);
}

if(style.getSelected().hasLines())
if(style.hasLines())
{
RenderSystem.setShader(GameRenderer::getPositionProgram);
groups.stream().filter(ChestEspGroup::isEnabled)
Expand Down
11 changes: 3 additions & 8 deletions src/main/java/net/wurstclient/hacks/CrystalAuraHack.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,10 @@
import net.minecraft.entity.decoration.EndCrystalEntity;
import net.minecraft.item.Items;
import net.minecraft.util.Hand;
import net.minecraft.util.hit.HitResult;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Box;
import net.minecraft.util.math.Direction;
import net.minecraft.util.math.Vec3d;
import net.minecraft.world.RaycastContext;
import net.wurstclient.Category;
import net.wurstclient.SearchTags;
import net.wurstclient.events.UpdateListener;
Expand Down Expand Up @@ -200,11 +198,8 @@ private boolean placeCrystal(BlockPos pos)
if(distanceSqPosVec > eyesPos.squaredDistanceTo(posVec.add(dirVec)))
continue;

if(checkLOS.isChecked() && MC.world
.raycast(new RaycastContext(eyesPos, hitVec,
RaycastContext.ShapeType.COLLIDER,
RaycastContext.FluidHandling.NONE, MC.player))
.getType() != HitResult.Type.MISS)
if(checkLOS.isChecked()
&& !BlockUtils.hasLineOfSight(eyesPos, hitVec))
continue;

InventoryUtils.selectItem(Items.END_CRYSTAL,
Expand Down Expand Up @@ -234,7 +229,7 @@ private ArrayList<Entity> getNearbyCrystals()
.reversed();

return StreamSupport.stream(MC.world.getEntities().spliterator(), true)
.filter(e -> e instanceof EndCrystalEntity)
.filter(EndCrystalEntity.class::isInstance)
.filter(e -> !e.isRemoved())
.filter(e -> player.squaredDistanceTo(e) <= rangeSq)
.sorted(furthestFromPlayer)
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/net/wurstclient/hacks/DolphinHack.java
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ public void onDisable()
public void onUpdate()
{
ClientPlayerEntity player = MC.player;
if(!player.isWet() || player.isSneaking())
if(!player.isTouchingWater() || player.isSneaking())
return;

Vec3d velocity = player.getVelocity();
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/net/wurstclient/hacks/FishHack.java
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ public void onDisable()
public void onUpdate()
{
ClientPlayerEntity player = MC.player;
if(!player.isWet() || player.isSneaking())
if(!player.isTouchingWater() || player.isSneaking())
return;

Vec3d velocity = player.getVelocity();
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/net/wurstclient/hacks/FollowHack.java
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ public void onUpdate()
{
entity = StreamSupport
.stream(MC.world.getEntities().spliterator(), true)
.filter(e -> e instanceof LivingEntity)
.filter(LivingEntity.class::isInstance)
.filter(
e -> !e.isRemoved() && ((LivingEntity)e).getHealth() > 0)
.filter(e -> e != MC.player)
Expand Down
Loading

0 comments on commit 95752d6

Please sign in to comment.