Skip to content

Commit

Permalink
BPS Counter:
Browse files Browse the repository at this point in the history
 = Fixed sometimes counting too many blocks

Other tweaks
  • Loading branch information
May2Beez committed Apr 13, 2024
1 parent 2dccf24 commit 807b591
Show file tree
Hide file tree
Showing 7 changed files with 54 additions and 66 deletions.
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@ baseGroup=com.jelly.farmhelperv2
mcVersion=1.8.9
modid=farmhelperv2
modName=FarmHelper
version=2.5.16
version=2.5.17
shouldRelease=true
1 change: 0 additions & 1 deletion src/main/java/com/jelly/farmhelperv2/FarmHelper.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package com.jelly.farmhelperv2;

import baritone.api.BaritoneAPI;
import cc.polyfrost.oneconfig.utils.Notifications;
import cc.polyfrost.oneconfig.utils.commands.CommandManager;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ public List<IFeature> fillFeatures() {

public boolean shouldPauseMacroExecution() {
return features.stream().anyMatch(feature -> {
if (feature.isRunning()) {
if (feature.isToggled() && feature.isRunning()) {
return feature.shouldPauseMacroExecution();
}
return false;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
import net.minecraft.inventory.ContainerChest;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.*;
import net.minecraftforge.client.event.ClientChatReceivedEvent;
import net.minecraftforge.client.event.RenderWorldLastEvent;
Expand Down Expand Up @@ -1054,7 +1055,11 @@ public void onRender(RenderWorldLastEvent event) {
if (nameEntity != null && (killedEntities.contains(nameEntity))) {
return false;
}
return killedEntities.stream().noneMatch(ke -> ke.getDistanceToEntity(entity) < 1.5);
if (killedEntities.stream().noneMatch(ke -> ke.getDistanceToEntity(entity) < 1.5)) {
drawESP(entity);
return true;
}
return false;
}
}
}
Expand All @@ -1065,36 +1070,6 @@ public void onRender(RenderWorldLastEvent event) {
pestsLocations.clear();
pestsLocations.addAll(pests);

for (Entity entity : pests) {
AxisAlignedBB boundingBox = new AxisAlignedBB(entity.posX - 0.5, entity.posY + entity.getEyeHeight() - 0.35, entity.posZ - 0.5, entity.posX + 0.5, entity.posY + entity.getEyeHeight() + 0.65, entity.posZ + 0.5);
double d0 = Minecraft.getMinecraft().getRenderManager().viewerPosX;
double d1 = Minecraft.getMinecraft().getRenderManager().viewerPosY;
double d2 = Minecraft.getMinecraft().getRenderManager().viewerPosZ;
boundingBox = boundingBox.offset(-d0, -d1, -d2);
if (FarmHelperConfig.pestsESP) {
Color color = FarmHelperConfig.pestsESPColor.toJavaColor();
Vec3 entityPos = new Vec3(entity.posX, entity.posY + entity.getEyeHeight(), entity.posZ);
double distance = mc.thePlayer.getPositionEyes(1).distanceTo(entityPos);
boolean isInVacuumRange = distance < currentVacuumRange;
if (isInVacuumRange) {
color = new Color(color.getRed(), 255, color.getBlue(), Math.min(50, color.getAlpha()));
}
if (distance > 5) {
try {
EnumChatFormatting distanceColor = distance > currentVacuumRange ? EnumChatFormatting.RED : EnumChatFormatting.GREEN;
ItemStack itemStack = ((EntityArmorStand) entity).getEquipmentInSlot(4);
String pestName = this.pests.stream().filter(pest -> itemStack.getTagCompound().toString().contains(pest.getSecond())).findFirst().get().getFirst();
RenderUtils.drawText(pestName + String.format(distanceColor + " %.1fm", distance), entity.posX, entity.posY + entity.getEyeHeight() + 0.65 + 0.5, entity.posZ, (float) (1 + Math.min((distance / 20f), 2f)));
} catch (Exception ignored) {
}
}
RenderUtils.drawBox(boundingBox, color);
}
if (FarmHelperConfig.pestsTracers) {
RenderUtils.drawTracer(new Vec3(entity.posX, entity.posY + entity.getEyeHeight(), entity.posZ), FarmHelperConfig.pestsTracersColor.toJavaColor());
}
}

if (!FarmHelperConfig.highlightPlotWithPests) return;

double d0 = Minecraft.getMinecraft().getRenderManager().viewerPosX;
Expand Down Expand Up @@ -1122,6 +1097,38 @@ public void onRender(RenderWorldLastEvent event) {
RenderUtils.drawBox(aabb, vacuumRangeColor);
}

private void drawESP(Entity entity) {
AxisAlignedBB boundingBox = new AxisAlignedBB(entity.posX - 0.5, entity.posY + entity.getEyeHeight() - 0.35, entity.posZ - 0.5, entity.posX + 0.5, entity.posY + entity.getEyeHeight() + 0.65, entity.posZ + 0.5);
double d0 = Minecraft.getMinecraft().getRenderManager().viewerPosX;
double d1 = Minecraft.getMinecraft().getRenderManager().viewerPosY;
double d2 = Minecraft.getMinecraft().getRenderManager().viewerPosZ;
boundingBox = boundingBox.offset(-d0, -d1, -d2);
if (FarmHelperConfig.pestsESP) {
Color color = FarmHelperConfig.pestsESPColor.toJavaColor();
Vec3 entityPos = new Vec3(entity.posX, entity.posY + entity.getEyeHeight(), entity.posZ);
double distance = mc.thePlayer.getPositionEyes(1).distanceTo(entityPos);
boolean isInVacuumRange = distance < currentVacuumRange;
if (isInVacuumRange) {
color = new Color(color.getRed(), 255, color.getBlue(), Math.min(50, color.getAlpha()));
}
if (distance > 5) {
try {
EnumChatFormatting distanceColor = distance > currentVacuumRange ? EnumChatFormatting.RED : EnumChatFormatting.GREEN;
ItemStack itemStack = ((EntityArmorStand) entity).getEquipmentInSlot(4);
NBTTagCompound tagCompound = itemStack.getTagCompound();
String texture = tagCompound.getCompoundTag("SkullOwner").getCompoundTag("Properties").getTagList("textures", 10).getCompoundTagAt(0).getString("Value");
String pestName = this.pests.stream().filter(pest -> texture.equals(pest.getSecond())).findFirst().get().getFirst();
RenderUtils.drawText(pestName + String.format(distanceColor + " %.1fm", distance), entity.posX, entity.posY + entity.getEyeHeight() + 0.65 + 0.5, entity.posZ, (float) (1 + Math.min((distance / 20f), 2f)));
} catch (Exception ignored) {
}
}
RenderUtils.drawBox(boundingBox, color);
}
if (FarmHelperConfig.pestsTracers) {
RenderUtils.drawTracer(new Vec3(entity.posX, entity.posY + entity.getEyeHeight(), entity.posZ), FarmHelperConfig.pestsTracersColor.toJavaColor());
}
}

private boolean canEntityBeSeenIgnoreNonCollidable(Entity entity) {
Vec3 vec3 = new Vec3(entity.posX, entity.posY + entity.getEyeHeight() + 0.5, entity.posZ);
Vec3 vec31 = new Vec3(mc.thePlayer.posX, mc.thePlayer.posY + mc.thePlayer.getEyeHeight(), mc.thePlayer.posZ);
Expand Down
19 changes: 0 additions & 19 deletions src/main/java/com/jelly/farmhelperv2/feature/impl/PiPMode.java
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,6 @@
public class PiPMode implements IFeature {
private boolean enabled = false;
private DisplayMode displayMode;
private int x;
private int y;
private int width;
private int height;
private final Minecraft mc = Minecraft.getMinecraft();

private static PiPMode instance;
Expand Down Expand Up @@ -71,10 +67,6 @@ public void start() {
return;
}

DisplayMode displayMode = Display.getDisplayMode();
width = displayMode.getWidth();
height = displayMode.getHeight();

LogUtils.sendDebug("[PiPMode] Enabled.");
setPiPMode(true);
enabled = true;
Expand Down Expand Up @@ -126,12 +118,7 @@ public void setAlwaysOnTop(boolean enabled) {
public void setPiPMode(boolean enabled) {
try {
if (enabled) {
width = Display.getWidth();
height = Display.getHeight();
x = Display.getX();
y = Display.getY();
displayMode = Display.getDisplayMode();
LogUtils.sendDebug("Width: " + width + " Height: " + height + " X: " + x + " Y: " + y);
System.setProperty("org.lwjgl.opengl.Window.undecorated", "true");
Display.setDisplayMode(new DisplayMode(420, 252));
Display.setFullscreen(false);
Expand Down Expand Up @@ -162,15 +149,9 @@ public void setPiPMode(boolean enabled) {
user32.PostMessage(User32.INSTANCE.GetForegroundWindow(), 0x0112, new WinDef.WPARAM(0xF030), new WinDef.LPARAM(0));
Multithreading.schedule(() -> mc.gameSettings.mouseSensitivity = prevMouseSpeed, 200, TimeUnit.MILLISECONDS);

width = 0;
height = 0;

previousX = 0;
previousY = 0;

x = 0;
y = 0;

displayMode = null;
}
} catch (Exception e) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import com.google.gson.JsonObject;
import com.jelly.farmhelperv2.config.FarmHelperConfig;
import com.jelly.farmhelperv2.event.ClickedBlockEvent;
import com.jelly.farmhelperv2.event.MillisecondEvent;
import com.jelly.farmhelperv2.event.ReceivePacketEvent;
import com.jelly.farmhelperv2.event.UpdateScoreboardLineEvent;
import com.jelly.farmhelperv2.failsafe.impl.LowerAvgBpsFailsafe;
Expand Down Expand Up @@ -194,7 +195,8 @@ public void stop() {

@Override
public void resetStatesAfterMacroDisabled() {

blocksBroken = 0;
bpsClock.reset();
}

@Override
Expand Down Expand Up @@ -225,15 +227,15 @@ public void resetProfits() {
private final HashMap<String, Long> previousCultivating = new HashMap<>();

@SubscribeEvent
public void onTickUpdateBPS(TickEvent.ClientTickEvent event) {
public void onTickUpdateBPS(MillisecondEvent event) {
if (!MacroHandler.getInstance().isMacroToggled()) return;
if (!MacroHandler.getInstance().isCurrentMacroEnabled()) return;
if (!GameStateHandler.getInstance().inGarden()) return;

if (bpsClock.passed()) {
bpsClock.schedule(1_000);
bpsQueue.add(blocksBroken);
LogUtils.sendDebug("Blocks Broken last second: " + blocksBroken);
bps += blocksBroken;
LogUtils.sendDebug("BPS: " + bps);
blocksBroken = 0;
if (bpsQueue.size() == 61) {
bps -= bpsQueue.poll();
Expand Down
17 changes: 8 additions & 9 deletions src/main/java/com/jelly/farmhelperv2/handler/MacroHandler.java
Original file line number Diff line number Diff line change
Expand Up @@ -398,16 +398,15 @@ public void onRenderGameOverlay(RenderGameOverlayEvent.Post event) {
return;
}

if (currentMacro.isPresent() && currentMacro.get().getRewarpState().equals(AbstractMacro.RewarpState.TELEPORTING)) {
long timeLeft = MacroHandler.getInstance().getLastTpTry() + 5_000 - System.currentTimeMillis();
if (timeLeft < 0) {
timeLeft = 0;
}
String formattedTime = LogUtils.formatTime(timeLeft);
RenderUtils.drawCenterTopText("Retrying to teleport in: " + formattedTime, event, Color.orange, 1.5f);
}

currentMacro.ifPresent(m -> {
if (m.getRewarpState().equals(AbstractMacro.RewarpState.TELEPORTING)) {
long timeLeft = MacroHandler.getInstance().getLastTpTry() + 5_000 - System.currentTimeMillis();
if (timeLeft < 0) {
timeLeft = 0;
}
String formattedTime = LogUtils.formatTime(timeLeft);
RenderUtils.drawCenterTopText("Retrying to teleport in: " + formattedTime, event, Color.orange, 1.5f);
}
if (!m.isEnabledAndNoFeature()) return;
m.onOverlayRender(event);
});
Expand Down

0 comments on commit 807b591

Please sign in to comment.