Skip to content

Commit

Permalink
Bedrock check and world change fixes
Browse files Browse the repository at this point in the history
onixiya1337 committed Jan 1, 2024
1 parent 035c635 commit 62e9084
Showing 3 changed files with 6 additions and 88 deletions.
60 changes: 0 additions & 60 deletions src/main/java/com/jelly/farmhelperv2/failsafe/FailsafeManager.java
Original file line number Diff line number Diff line change
@@ -364,66 +364,6 @@ public static String getRandomContinueMessage() {
return getRandomMessage(FAILSAFE_CONTINUE_MESSAGES);
}

public void randomMoveAndRotate() {
long rotationTime = FarmHelperConfig.getRandomRotationTime();
this.rotation.easeTo(
new RotationConfiguration(
new Rotation(
mc.thePlayer.rotationYaw + randomValueBetweenExt(-180, 180, 45),
randomValueBetweenExt(-20, 40, 5)),
rotationTime, null));
scheduleDelay(rotationTime - 50);
double randomKey = Math.random();
if (!mc.thePlayer.onGround && FarmHelperConfig.tryToUseJumpingAndFlying) {
if (randomKey <= 0.3) {
KeyBinding.setKeyBindState(mc.gameSettings.keyBindSneak.getKeyCode(), true);
Multithreading.schedule(() -> KeyBinding.setKeyBindState(mc.gameSettings.keyBindSneak.getKeyCode(), false), (long) (rotationTime + Math.random() * 150), TimeUnit.MILLISECONDS);
} else if (randomKey <= 0.6) {
KeyBinding.setKeyBindState(mc.gameSettings.keyBindJump.getKeyCode(), true);
Multithreading.schedule(() -> KeyBinding.setKeyBindState(mc.gameSettings.keyBindJump.getKeyCode(), false), (long) (rotationTime + Math.random() * 150), TimeUnit.MILLISECONDS);
} else {
KeyBindUtils.stopMovement();
}
} else {
if (randomKey <= 0.175 && GameStateHandler.getInstance().isFrontWalkable()) {
KeyBinding.setKeyBindState(mc.gameSettings.keyBindForward.getKeyCode(), true);
Multithreading.schedule(() -> KeyBinding.setKeyBindState(mc.gameSettings.keyBindForward.getKeyCode(), false), (long) (rotationTime + Math.random() * 150), TimeUnit.MILLISECONDS);
} else if (randomKey <= 0.35 && GameStateHandler.getInstance().isLeftWalkable()) {
KeyBinding.setKeyBindState(mc.gameSettings.keyBindLeft.getKeyCode(), true);
Multithreading.schedule(() -> KeyBinding.setKeyBindState(mc.gameSettings.keyBindLeft.getKeyCode(), false), (long) (rotationTime + Math.random() * 150), TimeUnit.MILLISECONDS);
} else if (randomKey <= 0.525 && GameStateHandler.getInstance().isRightWalkable()) {
KeyBinding.setKeyBindState(mc.gameSettings.keyBindRight.getKeyCode(), true);
Multithreading.schedule(() -> KeyBinding.setKeyBindState(mc.gameSettings.keyBindRight.getKeyCode(), false), (long) (rotationTime + Math.random() * 150), TimeUnit.MILLISECONDS);
} else if (randomKey <= 0.70 && GameStateHandler.getInstance().isBackWalkable()) {
KeyBinding.setKeyBindState(mc.gameSettings.keyBindBack.getKeyCode(), true);
Multithreading.schedule(() -> KeyBinding.setKeyBindState(mc.gameSettings.keyBindBack.getKeyCode(), false), (long) (rotationTime + Math.random() * 150), TimeUnit.MILLISECONDS);
}
if (randomKey > 0.7) {
KeyBindUtils.stopMovement();
if (FarmHelperConfig.tryToUseJumpingAndFlying) {
mc.thePlayer.jump();
Multithreading.schedule(() -> {
if (!mc.thePlayer.onGround && mc.thePlayer.capabilities.allowEdit && mc.thePlayer.capabilities.allowFlying && !mc.thePlayer.capabilities.isFlying) {
mc.thePlayer.capabilities.isFlying = true;
mc.thePlayer.sendPlayerAbilities();
}
}, (long) (250 + Math.random() * 250), TimeUnit.MILLISECONDS);
}
}
}
}

private float randomValueBetweenExt(float min, float max, float minFromZero) {
double random = Math.random();
if (random < 0.5) {
// should return value between (min, -minFromZero)
return (float) (min + Math.random() * (minFromZero - min));
} else {
// should return value between (minFromZero, max)
return (float) (minFromZero + Math.random() * (max - minFromZero));
}
}

public void selectNextItemSlot() {
int nextSlot = mc.thePlayer.inventory.currentItem + 1;
if (nextSlot > 7) {
Original file line number Diff line number Diff line change
@@ -146,12 +146,12 @@ else if (BlockUtils.getRelativeBlock(1, 1, 0).equals(Blocks.bedrock))
bedrockCageCheckState = BedrockCageCheckState.WAIT_BEFORE_SENDING_MESSAGE_1;
break;
case WAIT_BEFORE_SENDING_MESSAGE_1:
if (MovRecPlayer.getInstance().isRunning())
break;
bedrockCageCheckState = BedrockCageCheckState.SEND_MESSAGE_1;
FailsafeManager.getInstance().scheduleRandomDelay(2000, 2000);
break;
case SEND_MESSAGE_1:
if (MovRecPlayer.getInstance().isRunning())
break;
String randomMessage;
if (CustomFailsafeMessagesPage.customBedrockMessages.isEmpty()) {
randomMessage = FailsafeManager.getRandomMessage();
@@ -182,12 +182,12 @@ else if (BlockUtils.getRelativeBlock(1, 1, 0).equals(Blocks.bedrock))
bedrockCageCheckState = BedrockCageCheckState.WAIT_BEFORE_SENDING_MESSAGE_2;
break;
case WAIT_BEFORE_SENDING_MESSAGE_2:
if (MovRecPlayer.getInstance().isRunning())
break;
bedrockCageCheckState = BedrockCageCheckState.SEND_MESSAGE_2;
FailsafeManager.getInstance().scheduleRandomDelay(3500, 2500);
break;
case SEND_MESSAGE_2:
if (MovRecPlayer.getInstance().isRunning())
break;
String randomContinueMessage;
if (CustomFailsafeMessagesPage.customContinueMessages.isEmpty()) {
randomContinueMessage = FailsafeManager.getRandomContinueMessage();
Original file line number Diff line number Diff line change
@@ -121,26 +121,8 @@ public void duringFailsafeTrigger() {
worldChangeState = WorldChangeState.WAIT_BEFORE_START;
break;
case WAIT_BEFORE_START:
if (FarmHelperConfig.fakeMovements) {
lookAroundTimes = (int) Math.round(2 + Math.random() * 2);
currentLookAroundTimes = 0;
FailsafeManager.getInstance().scheduleRandomDelay(500, 500);
KeyBindUtils.stopMovement();
worldChangeState = WorldChangeState.LOOK_AROUND;
} else {
FailsafeManager.getInstance().scheduleRandomDelay(500, 500);
worldChangeState = WorldChangeState.END;
}
break;
case LOOK_AROUND:
if (currentLookAroundTimes >= lookAroundTimes) {
FailsafeManager.getInstance().rotation.reset();
KeyBindUtils.stopMovement();
worldChangeState = WorldChangeState.END;
FailsafeManager.getInstance().scheduleRandomDelay(500, 1000);
} else {
FailsafeManager.getInstance().randomMoveAndRotate();
}
FailsafeManager.getInstance().scheduleRandomDelay(500, 500);
worldChangeState = WorldChangeState.END;
break;
case END:
if (GameStateHandler.getInstance().getLocation() == GameStateHandler.Location.TELEPORTING) {
@@ -176,13 +158,9 @@ public void duringFailsafeTrigger() {
@Override
public void endOfFailsafeTrigger() {
worldChangeState = WorldChangeState.NONE;
lookAroundTimes = 0;
currentLookAroundTimes = 0;
}

private WorldChangeState worldChangeState = WorldChangeState.NONE;
private int lookAroundTimes = 0;
private int currentLookAroundTimes = 0;
enum WorldChangeState {
NONE,
WAIT_BEFORE_START,

0 comments on commit 62e9084

Please sign in to comment.