Skip to content
This repository has been archived by the owner on Nov 25, 2021. It is now read-only.

Commit

Permalink
autoeat rewrite
Browse files Browse the repository at this point in the history
  • Loading branch information
HausemasterIssue authored Oct 22, 2021
1 parent 68d17b4 commit db76144
Showing 1 changed file with 45 additions and 77 deletions.
122 changes: 45 additions & 77 deletions src/main/java/com/gamesense/client/module/modules/misc/AutoEat.java
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
package com.gamesense.client.module.modules.misc;

import com.gamesense.api.setting.values.IntegerSetting;
import com.gamesense.api.util.player.PlayerUtil;
import com.gamesense.client.module.Category;
import com.gamesense.client.module.Module;
import net.minecraft.client.settings.KeyBinding;
import net.minecraft.init.Items;
import net.minecraft.item.ItemFood;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumHand;
import net.minecraft.util.FoodStats;

/*
* @author hausemasterissue
* @since 8/10/2021
* creds to salhack (spidermod B)) for the code
* @since 22/10/2021
* creds to catalyst src leak
*/

@Module.Declaration(name = "AutoEat", category = Category.Misc)
Expand All @@ -22,82 +21,51 @@ public class AutoEat extends Module {
IntegerSetting health = registerInteger("Health", 16, 1, 36);
IntegerSetting hunger = registerInteger("Hunger", 8, 1, 36);

private boolean m_WasEating = false;

@Override
protected void onDisable()
{
if (m_WasEating)
{
m_WasEating = false;
public boolean eating;
public int lastSlot;

public void onUpdate() {
if(mc.player == null || mc.player == null) {
return;
}

if (eating && !mc.player.isHandActive()) {
if (lastSlot != -1) {
mc.player.inventory.currentItem = lastSlot;
lastSlot = -1;
}
eating = false;
KeyBinding.setKeyBindState(mc.gameSettings.keyBindUseItem.getKeyCode(), false);
return;
}
if (eating) {
return;
}
final FoodStats foodStats = mc.player.getFoodStats();
if (isValid(mc.player.getHeldItemOffhand(), foodStats.getFoodLevel())) {
mc.player.setActiveHand(EnumHand.OFF_HAND);
eating = true;
KeyBinding.setKeyBindState(mc.gameSettings.keyBindUseItem.getKeyCode(), true);
mc.rightClickMouse();
}
else {
for (int i = 0; i < 9; ++i) {
if (isValid(mc.player.inventory.getStackInSlot(i), foodStats.getFoodLevel())) {
lastSlot = mc.player.inventory.currentItem;
mc.player.inventory.currentItem = i;
eating = true;
KeyBinding.setKeyBindState(mc.gameSettings.keyBindUseItem.getKeyCode(), true);
mc.rightClickMouse();
return;
}
}
}
}

public boolean isValid(final ItemStack itemStack, final int n) {
return mc.player.getHealth() <= health.getValue() || (itemStack.getItem() instanceof ItemFood && 20 - n >= ((ItemFood)itemStack.getItem()).getHealAmount(itemStack));
}

@Override
public void onUpdate() {
float l_Health = mc.player.getHealth() + mc.player.getAbsorptionAmount();

if (health.getValue() >= l_Health && PlayerUtil.IsEating())
{
if (mc.player.getHeldItemMainhand().getItem() != Items.GOLDEN_APPLE)
{
for (int l_I = 0; l_I < 9; ++l_I)
{
if (mc.player.inventory.getStackInSlot(l_I).isEmpty() || mc.player.inventory.getStackInSlot(l_I).getItem() != Items.GOLDEN_APPLE)
continue;

mc.player.inventory.currentItem = l_I;
mc.playerController.updateController();
break;
}

if (mc.currentScreen != null)
KeyBinding.setKeyBindState(mc.gameSettings.keyBindUseItem.getKeyCode(), true);
else
mc.playerController.processRightClick(mc.player, mc.world, EnumHand.MAIN_HAND);

m_WasEating = true;
}
return;
}

if (PlayerUtil.IsEating() && hunger.getValue() >= mc.player.getFoodStats().getFoodLevel())
{
boolean l_CanEat = false;

for (int l_I = 0; l_I < 9; ++l_I)
{
ItemStack l_Stack = mc.player.inventory.getStackInSlot(l_I);

if (mc.player.inventory.getStackInSlot(l_I).isEmpty())
continue;

if (l_Stack.getItem() instanceof ItemFood)
{
l_CanEat = true;
mc.player.inventory.currentItem = l_I;
mc.playerController.updateController();
break;
}
}

if (l_CanEat)
{
if (mc.currentScreen != null)
KeyBinding.setKeyBindState(mc.gameSettings.keyBindUseItem.getKeyCode(), true);
else
mc.playerController.processRightClick(mc.player, mc.world, EnumHand.MAIN_HAND);

m_WasEating = true;
}
}

if (m_WasEating)
{
m_WasEating = false;
KeyBinding.setKeyBindState(mc.gameSettings.keyBindUseItem.getKeyCode(), false);
}
}


}

0 comments on commit db76144

Please sign in to comment.