diff options
| author | RoseGoldIsntGay <yoavkau@gmail.com> | 2021-11-22 09:12:31 +0200 |
|---|---|---|
| committer | RoseGoldIsntGay <yoavkau@gmail.com> | 2021-11-22 09:12:31 +0200 |
| commit | 19de3c3ee0582f25d8e127492d791f81a410b70a (patch) | |
| tree | 5ac734875a7da4fc6ffd9521f880d6292c909ed7 /src/main/java/rosegoldaddons/features | |
| parent | 9ec7ca5e828f33122818a51215bbec5e68a84db2 (diff) | |
| download | RGA-19de3c3ee0582f25d8e127492d791f81a410b70a.tar.gz RGA-19de3c3ee0582f25d8e127492d791f81a410b70a.tar.bz2 RGA-19de3c3ee0582f25d8e127492d791f81a410b70a.zip | |
2.3.0
Diffstat (limited to 'src/main/java/rosegoldaddons/features')
8 files changed, 531 insertions, 579 deletions
diff --git a/src/main/java/rosegoldaddons/features/AutoArrowAlign.java b/src/main/java/rosegoldaddons/features/AutoArrowAlign.java new file mode 100644 index 0000000..4744766 --- /dev/null +++ b/src/main/java/rosegoldaddons/features/AutoArrowAlign.java @@ -0,0 +1,333 @@ +package rosegoldaddons.features; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.multiplayer.PlayerControllerMP; +import net.minecraft.client.network.NetHandlerPlayClient; +import net.minecraft.entity.Entity; +import net.minecraft.entity.item.EntityItemFrame; +import net.minecraft.init.Items; +import net.minecraft.item.ItemCloth; +import net.minecraft.item.ItemStack; +import net.minecraft.network.play.client.C02PacketUseEntity; +import net.minecraft.util.BlockPos; +import net.minecraft.util.MovingObjectPosition; +import net.minecraftforge.client.event.RenderWorldLastEvent; +import net.minecraftforge.event.world.WorldEvent; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.fml.common.gameevent.TickEvent; +import rosegoldaddons.Main; +import rosegoldaddons.events.ClickEvent; +import rosegoldaddons.utils.ChatUtils; + +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; + +public class AutoArrowAlign { + private static final ArrayList<Entity> itemFrames = new ArrayList<>(); + private static final ArrayList<Entity> arrowItemFrames = new ArrayList<>(); + private static final Map<BlockPos, Integer> clicksPerFrame = new HashMap<>(); + private static final Map<BlockPos, Integer> toClickMap = new HashMap<>(); + private static boolean init = false; + private static final BlockPos topLeft = new BlockPos(196, 125, 278); + + /*@SubscribeEvent + public void debugging(TickEvent.ClientTickEvent event) { + if (!Main.configFile.autoArrowAlign) return; + if (init) { + for (int y = 126; y > 119; y--) { + String line = ""; + for (int z = 278; z < 283; z++) { + BlockPos BP = new BlockPos(topLeft.getX(), y, z); + int toClick = -1; + if (toClickMap.containsKey(BP)) { + toClick = toClickMap.get(BP); + } + line += (toClick + " "); + } + ChatUtils.sendMessage(y + ": " + line); + } + itemFrames.forEach(itemFrame -> { + BlockPos BP = new BlockPos(itemFrame.getPosition().getX(), itemFrame.getPosition().getY(), itemFrame.getPosition().getZ()); + ChatUtils.sendMessage(BP+""); + }); + } + }*/ + + + @SubscribeEvent + public void onRender(RenderWorldLastEvent event) { + if (!Main.configFile.autoArrowAlign) return; + itemFrames.clear(); + for (Entity entity1 : (Minecraft.getMinecraft().theWorld.loadedEntityList)) { + if (entity1 instanceof EntityItemFrame) { + itemFrames.add(entity1); + } + } + arrowItemFrames.clear(); + itemFrames.forEach(itemFrame -> { + ItemStack itemStack = ((EntityItemFrame) itemFrame).getDisplayedItem(); + if (itemStack != null) { + if (itemStack.getItem() == Items.arrow) { + arrowItemFrames.add(itemFrame); + } + } + }); + } + + @SubscribeEvent + public void worldUnload(WorldEvent.Unload event) { + init = false; + toClickMap.clear(); + clicksPerFrame.clear(); + } + + public static void cheat() { + initFrame(); + arrowItemFrames.forEach(itemFrame -> { + BlockPos BP = new BlockPos(topLeft.getX(), itemFrame.getPosition().getY(), itemFrame.getPosition().getZ()); + int endRotationAmount = 0; + if (clicksPerFrame.containsKey(BP)) { + endRotationAmount = clicksPerFrame.get(BP); + } + int currRotationAmount = ((EntityItemFrame) itemFrame).getRotation(); + int toClick = 0; + if (currRotationAmount < endRotationAmount) { + toClick = endRotationAmount - currRotationAmount; + } else if (currRotationAmount > endRotationAmount) { + currRotationAmount = currRotationAmount - 8; + toClick = endRotationAmount - currRotationAmount; + } + toClickMap.put(BP, toClick); + }); + if (init) { + int j = 0; + Entity save = null; + for (Entity itemFrame : arrowItemFrames) { + BlockPos BP = new BlockPos(topLeft.getX(), itemFrame.getPosition().getY(), itemFrame.getPosition().getZ()); + if (toClickMap.containsKey(BP)) { + j++; + int toClick2 = toClickMap.get(BP); + if (j == arrowItemFrames.size()) { + save = itemFrame; + toClick2 -= 1; + } + for (int i = 0; i < toClick2; i++) { + interactWithEntity(itemFrame); + } + } + } + Entity finalSave = save; + new Thread(() -> { + try { + Thread.sleep(60); + if(finalSave != null) { + interactWithEntity(finalSave); + } + } catch (Exception e) { + e.printStackTrace(); + } + }).start(); + } + } + + private static String findPattern() { + ArrayList<Entity> redWools = new ArrayList<>(); + ArrayList<Entity> greenWools = new ArrayList<>(); + + itemFrames.forEach(itemFrame -> { + ItemStack itemStack = ((EntityItemFrame) itemFrame).getDisplayedItem(); + if (itemStack != null) { + if (itemStack.getItem() instanceof ItemCloth && itemStack.getItemDamage() == 14) { + redWools.add(itemFrame); + } + if (itemStack.getItem() instanceof ItemCloth && itemStack.getItemDamage() == 5) { + greenWools.add(itemFrame); + } + } + }); + if (redWools.size() != 0 && greenWools.size() != 0) { + int relativeR1 = topLeft.getY() - (((Entity) redWools.toArray()[0]).getPosition()).getY(); + switch (redWools.size()) { + case 1: + switch (greenWools.size()) { + case 1: + if (relativeR1 == 4) { + return "legs"; + } + if (relativeR1 == 0) { + return "N"; + } + return "spiral"; + case 2: + if (relativeR1 == 2) { + return "W"; + } + return "bottleneck"; + } + break; + case 2: + if (greenWools.size() > 1) return "zigzag"; + return "S"; + case 3: + return "lines"; + } + } + return "Unrecognized"; + } + + private static void initFrame() { + if (init) return; + String pattern = findPattern(); + ChatUtils.sendMessage("Pattern Found: " + pattern); + switch (pattern) { + case "legs": + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY(), topLeft.getZ() - 1), 3); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY(), topLeft.getZ() - 2), 5); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY(), topLeft.getZ() - 3), 5); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 1, topLeft.getZ() - 1), 3); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 1, topLeft.getZ() - 3), 7); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 2, topLeft.getZ() - 1), 3); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 2, topLeft.getZ() - 3), 7); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 3, topLeft.getZ() - 1), 3); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 3, topLeft.getZ() - 3), 7); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 4, topLeft.getZ() - 1), 5); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 4, topLeft.getZ() - 3), 7); + init = true; + break; + case "N": + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY(), topLeft.getZ() - 2), 3); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY(), topLeft.getZ() - 3), 5); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY(), topLeft.getZ() - 4), 5); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 1, topLeft.getZ()), 7); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 1, topLeft.getZ() - 2), 3); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 1, topLeft.getZ() - 4), 7); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 2, topLeft.getZ()), 7); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 2, topLeft.getZ() - 2), 3); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 2, topLeft.getZ() - 4), 7); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 3, topLeft.getZ()), 7); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 3, topLeft.getZ() - 2), 3); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 3, topLeft.getZ() - 4), 7); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 4, topLeft.getZ()), 7); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 4, topLeft.getZ() - 1), 5); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 4, topLeft.getZ() - 2), 5); + init = true; + break; + case "spiral": + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY(), topLeft.getZ()), 3); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY(), topLeft.getZ() - 1), 5); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY(), topLeft.getZ() - 2), 5); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY(), topLeft.getZ() - 3), 5); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY(), topLeft.getZ() - 4), 5); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 1, topLeft.getZ()), 3); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 1, topLeft.getZ() - 4), 7); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 2, topLeft.getZ()), 3); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 2, topLeft.getZ() - 4), 7); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 3, topLeft.getZ()), 3); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 3, topLeft.getZ() - 2), 7); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 3, topLeft.getZ() - 4), 7); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 4, topLeft.getZ()), 1); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 4, topLeft.getZ() - 1), 1); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 4, topLeft.getZ() - 2), 7); + init = true; + break; + case "W": + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 1, topLeft.getZ()), 3); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 1, topLeft.getZ() - 4), 3); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 2, topLeft.getZ()), 3); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 2, topLeft.getZ() - 4), 3); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 3, topLeft.getZ()), 3); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 3, topLeft.getZ() - 2), 7); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 3, topLeft.getZ() - 4), 3); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 4, topLeft.getZ()), 1); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 4, topLeft.getZ() - 1), 1); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 4, topLeft.getZ() - 2), 7); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 4, topLeft.getZ() - 3), 5); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 4, topLeft.getZ() - 4), 5); + init = true; + break; + case "bottleneck": + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY(), topLeft.getZ()), 1); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY(), topLeft.getZ() - 1), 1); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY(), topLeft.getZ() - 3), 5); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY(), topLeft.getZ() - 4), 5); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 1, topLeft.getZ()), 7); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 1, topLeft.getZ() - 4), 7); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 2, topLeft.getZ()), 7); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 2, topLeft.getZ() - 1), 5); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 2, topLeft.getZ() - 3), 1); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 2, topLeft.getZ() - 4), 7); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 3, topLeft.getZ() - 1), 7); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 3, topLeft.getZ() - 3), 7); + init = true; + break; + case "S": + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY(), topLeft.getZ() - 1), 1); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY(), topLeft.getZ() - 2), 1); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY(), topLeft.getZ() - 3), 1); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY(), topLeft.getZ() - 4), 3); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 1, topLeft.getZ() - 2), 7); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 1, topLeft.getZ() - 4), 3); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 3, topLeft.getZ()), 7); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 3, topLeft.getZ() - 2), 3); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 4, topLeft.getZ()), 7); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 4, topLeft.getZ() - 1), 5); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 4, topLeft.getZ() - 2), 5); + break; + case "lines": + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY(), topLeft.getZ() - 1), 5); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY(), topLeft.getZ() - 2), 5); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY(), topLeft.getZ() - 3), 5); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 2, topLeft.getZ() - 1), 5); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 2, topLeft.getZ() - 2), 5); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 2, topLeft.getZ() - 3), 5); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 4, topLeft.getZ() - 1), 5); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 4, topLeft.getZ() - 2), 5); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 4, topLeft.getZ() - 3), 5); + init = true; + break; + case "zigzag": + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY(), topLeft.getZ() - 2), 3); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY(), topLeft.getZ() - 3), 5); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 1, topLeft.getZ() - 1), 5); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 1, topLeft.getZ() - 2), 5); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 2, topLeft.getZ() - 2), 7); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 2, topLeft.getZ() - 3), 5); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 3, topLeft.getZ() - 1), 5); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 3, topLeft.getZ() - 2), 5); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 4, topLeft.getZ() - 2), 7); + clicksPerFrame.put(new BlockPos(topLeft.getX(), topLeft.getY() - 4, topLeft.getZ() - 3), 5); + init = true; + break; + } + + } + + public static void rightClick() { + try { + Method rightClickMouse; + try { + rightClickMouse = Minecraft.class.getDeclaredMethod("rightClickMouse"); + } catch (NoSuchMethodException e) { + rightClickMouse = Minecraft.class.getDeclaredMethod("func_147121_ag"); + } + rightClickMouse.setAccessible(true); + rightClickMouse.invoke(Minecraft.getMinecraft()); + } catch (Exception e) { + e.printStackTrace(); + } + } + + private static void interactWithEntity(Entity entity) { + PlayerControllerMP playerControllerMP = Minecraft.getMinecraft().playerController; + playerControllerMP.interactWithEntitySendPacket(Minecraft.getMinecraft().thePlayer, entity); + } + + + private static boolean isInSection3() { + int x = Minecraft.getMinecraft().thePlayer.getPosition().getX(); + int z = Minecraft.getMinecraft().thePlayer.getPosition().getZ(); + return x < 218 && z > 251 && x > 196 && z < 319; + } +} diff --git a/src/main/java/rosegoldaddons/features/BlockBreakAura.java b/src/main/java/rosegoldaddons/features/BlockBreakAura.java index e8b7219..528ccc1 100644 --- a/src/main/java/rosegoldaddons/features/BlockBreakAura.java +++ b/src/main/java/rosegoldaddons/features/BlockBreakAura.java @@ -65,7 +65,7 @@ public class BlockBreakAura { } private BlockPos closestGemstone() { - int r = 4; + int r = 5; BlockPos playerPos = Minecraft.getMinecraft().thePlayer.getPosition(); playerPos.add(0, 1, 0); Vec3 playerVec = Minecraft.getMinecraft().thePlayer.getPositionVector(); diff --git a/src/main/java/rosegoldaddons/features/BloodTriggerBot.java b/src/main/java/rosegoldaddons/features/BloodTriggerBot.java index 88ce213..41d1f90 100644 --- a/src/main/java/rosegoldaddons/features/BloodTriggerBot.java +++ b/src/main/java/rosegoldaddons/features/BloodTriggerBot.java @@ -22,7 +22,7 @@ import java.lang.reflect.Method; import java.util.ArrayList; public class BloodTriggerBot { - private static String[] names = {"Revoker", "Psycho", "Reaper", "Cannibal", "Mute", "Ooze", "Putrid", "Freak", "Leech", "Tear", "Parasite", "Flamer", "Skull", "Mr. Dead", "Vader", "Frost", "Walker", "WanderingSoul"}; + private static String[] names = {"Bonzo", "Revoker", "Psycho", "Reaper", "Cannibal", "Mute", "Ooze", "Putrid", "Freak", "Leech", "Tear", "Parasite", "Flamer", "Skull", "Mr. Dead", "Vader", "Frost", "Walker", "WanderingSoul", "Shadow Assassin", "Lost Adventurer", "Livid", "Professor"}; private static ArrayList<Entity> bloodMobs = null; private Thread thread; @@ -34,7 +34,7 @@ public class BloodTriggerBot { thread = new Thread(() -> { try { for (Entity entity : bloodMobs) { - if (isLookingAtBloodMob(entity.getEntityBoundingBox(), event)) { + if (isLookingAtAABB(entity.getEntityBoundingBox(), event)) { click(); Thread.sleep(100); } @@ -47,10 +47,11 @@ public class BloodTriggerBot { } } - private static boolean isLookingAtBloodMob(AxisAlignedBB aabb, RenderWorldLastEvent event) { + private static boolean isLookingAtAABB(AxisAlignedBB aabb, RenderWorldLastEvent event) { Vec3 position = new Vec3(Minecraft.getMinecraft().thePlayer.posX, (Minecraft.getMinecraft().thePlayer.posY + Minecraft.getMinecraft().thePlayer.getEyeHeight()), Minecraft.getMinecraft().thePlayer.posZ); Vec3 look = Minecraft.getMinecraft().thePlayer.getLook(event.partialTicks); - for (int i = 0; i < 30; i++) { + look = scaleVec(look, 0.5F); + for (int i = 0; i < 64; i++) { if (aabb.minX <= position.xCoord && aabb.maxX >= position.xCoord && aabb.minY <= position.yCoord && aabb.maxY >= position.yCoord && aabb.minZ <= position.zCoord && aabb.maxZ >= position.zCoord) { return true; } @@ -77,6 +78,10 @@ public class BloodTriggerBot { return bloodMobs; } + private static Vec3 scaleVec(Vec3 vec, float f) { + return new Vec3(vec.xCoord * (double)f, vec.yCoord * (double)f, vec.zCoord * (double)f); + } + public static void click() { try { Method clickMouse; diff --git a/src/main/java/rosegoldaddons/features/CustomItemMacro.java b/src/main/java/rosegoldaddons/features/CustomItemMacro.java index 57c650f..3133cb8 100644 --- a/src/main/java/rosegoldaddons/features/CustomItemMacro.java +++ b/src/main/java/rosegoldaddons/features/CustomItemMacro.java @@ -10,7 +10,6 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.gameevent.TickEvent; import rosegoldaddons.Main; import rosegoldaddons.commands.UseCooldown; -import rosegoldaddons.commands.WartSetup; import java.lang.reflect.Method; @@ -26,9 +25,8 @@ public class CustomItemMacro { try { milis++; int prevItem = Minecraft.getMinecraft().thePlayer.inventory.currentItem; - for (String i : UseCooldown.items.keySet()) { - //Minecraft.getMinecraft().thePlayer.addChatMessage(new ChatComponentText(Math.floor(UseCooldown.items.get(i)/1000) + " " + milis)); - if (milis % Math.floor(UseCooldown.items.get(i)/100) == 0) { + for (String i : UseCooldown.RCitems.keySet()) { + if (milis % Math.floor(UseCooldown.RCitems.get(i)/100) == 0) { int slot = findItemInHotbar(i); if (slot != -1) { Minecraft.getMinecraft().thePlayer.inventory.currentItem = slot; @@ -37,6 +35,16 @@ public class CustomItemMacro { } } } + for (String i : UseCooldown.LCitems.keySet()) { + if (milis % Math.floor(UseCooldown.LCitems.get(i)/100) == 0) { + int slot = findItemInHotbar(i); + if (slot != -1) { + Minecraft.getMinecraft().thePlayer.inventory.currentItem = slot; + Thread.sleep(100); + click(); + } + } + } Minecraft.getMinecraft().thePlayer.inventory.currentItem = prevItem; Thread.sleep(100); } catch (Exception e) { @@ -62,6 +70,21 @@ public class CustomItemMacro { } } + public static void click() { + try { + Method clickMouse; + try { + clickMouse = Minecraft.class.getDeclaredMethod("func_147116_af"); + } catch (NoSuchMethodException e) { + clickMouse = Minecraft.class.getDeclaredMethod("clickMouse"); + } + clickMouse.setAccessible(true); + clickMouse.invoke(Minecraft.getMinecraft()); + } catch (Exception e) { + e.printStackTrace(); + } + } + private static int findItemInHotbar(String name) { InventoryPlayer inv = Minecraft.getMinecraft().thePlayer.inventory; for (int i = 0; i < 9; i++) { diff --git a/src/main/java/rosegoldaddons/features/EntityReach.java b/src/main/java/rosegoldaddons/features/EntityReach.java new file mode 100644 index 0000000..9db81f1 --- /dev/null +++ b/src/main/java/rosegoldaddons/features/EntityReach.java @@ -0,0 +1,125 @@ +package rosegoldaddons.features; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.entity.EntityOtherPlayerMP; +import net.minecraft.client.entity.EntityPlayerSP; +import net.minecraft.client.multiplayer.PlayerControllerMP; +import net.minecraft.client.network.NetHandlerPlayClient; +import net.minecraft.client.settings.KeyBinding; +import net.minecraft.entity.Entity; +import net.minecraft.entity.boss.EntityWither; +import net.minecraft.entity.item.EntityArmorStand; +import net.minecraft.item.Item; +import net.minecraft.item.ItemSkull; +import net.minecraft.item.ItemStack; +import net.minecraft.network.play.client.C02PacketUseEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.Vec3; +import net.minecraftforge.client.event.RenderLivingEvent; +import net.minecraftforge.client.event.RenderWorldLastEvent; +import net.minecraftforge.event.entity.player.PlayerInteractEvent; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import net.minecraftforge.fml.common.gameevent.InputEvent; +import rosegoldaddons.Main; +import rosegoldaddons.events.ClickEvent; +import rosegoldaddons.utils.ChatUtils; +import rosegoldaddons.utils.RenderUtils; + +import java.awt.*; +import java.util.ArrayList; + +public class EntityReach { + private Thread thread; + private static Entity toInteract; + + @SubscribeEvent + public void onInteract(PlayerInteractEvent event) { + if (!Main.configFile.entityReach) return; + if (event.action == PlayerInteractEvent.Action.RIGHT_CLICK_AIR) { + if (toInteract != null) { + if (toInteract instanceof EntityArmorStand) { + interactWithEntity2(toInteract); + } + interactWithEntity(toInteract); + toInteract = null; + } + } + } + + @SubscribeEvent + public void renderWorld(RenderWorldLastEvent event) { + if (!Main.configFile.entityReach) return; + ArrayList<Entity> entities = getAllEntitiesInRange(); + for (Entity entity : entities) { + if (isLookingAtAABB(entity.getEntityBoundingBox(), event)) { + toInteract = entity; + return; + } + } + if (!Main.configFile.sticky) { + toInteract = null; + } + } + + @SubscribeEvent + public void renderWorld2(RenderWorldLastEvent event) { + if (!Main.configFile.entityReach) return; + if (toInteract != null) { + RenderUtils.drawEntityBox(toInteract, Color.RED, true, event.partialTicks); + } + } + + /*@SubscribeEvent + public void onInteract(ClickEvent.Right event) { + MovingObjectPosition objectMouseOver = Minecraft.getMinecraft().objectMouseOver; + if (objectMouseOver != null) { + ChatUtils.sendMessage(""+objectMouseOver.entityHit); + } + }*/ + + private static boolean isLookingAtAABB(AxisAlignedBB aabb, RenderWorldLastEvent event) { + Vec3 position = new Vec3(Minecraft.getMinecraft().thePlayer.posX, (Minecraft.getMinecraft().thePlayer.posY + Minecraft.getMinecraft().thePlayer.getEyeHeight()), Minecraft.getMinecraft().thePlayer.posZ); + Vec3 look = Minecraft.getMinecraft().thePlayer.getLook(event.partialTicks); + look = scaleVec(look, 0.2F); + for (int i = 0; i < 200; i++) { + if (aabb.minX <= position.xCoord && aabb.maxX >= position.xCoord && aabb.minY <= position.yCoord && aabb.maxY >= position.yCoord && aabb.minZ <= position.zCoord && aabb.maxZ >= position.zCoord) { + return true; + } + position = position.add(look); + } + + return false; + } + + private static ArrayList<Entity> getAllEntitiesInRange() { + ArrayList<Entity> entities = new ArrayList<>(); + Vec3 playerPos = Minecraft.getMinecraft().thePlayer.getPositionVector(); + playerPos.add(new Vec3(0, 1, 0)); + for (Entity entity1 : (Minecraft.getMinecraft().theWorld.loadedEntityList)) { + if (playerPos.distanceTo(entity1.getPositionVector()) < 30 && !(entity1 instanceof EntityPlayerSP)) { + entities.add(entity1); + } + } + return entities; + } + + private static void interactWithEntity(Entity entity) { + PlayerControllerMP playerControllerMP = Minecraft.getMinecraft().playerController; + playerControllerMP.interactWithEntitySendPacket(Minecraft.getMinecraft().thePlayer, entity); + } + + private static void interactWithEntity2(Entity entity) { + PlayerControllerMP playerControllerMP = Minecraft.getMinecraft().playerController; + MovingObjectPosition mop = new MovingObjectPosition(entity); + playerControllerMP.isPlayerRightClickingOnEntity(Minecraft.getMinecraft().thePlayer, entity, mop); + } + + + private static Vec3 scaleVec(Vec3 vec, float f) { + return new Vec3(vec.xCoord * (double) f, vec.yCoord * (double) f, vec.zCoord * (double) f); + } + +} + + diff --git a/src/main/java/rosegoldaddons/features/ForagingIslandMacro.java b/src/main/java/rosegoldaddons/features/ForagingIslandMacro.java index 3dc301e..ecf314b 100644 --- a/src/main/java/rosegoldaddons/features/ForagingIslandMacro.java +++ b/src/main/java/rosegoldaddons/features/ForagingIslandMacro.java @@ -16,6 +16,7 @@ import rosegoldaddons.Main; import rosegoldaddons.utils.ChatUtils; import rosegoldaddons.utils.RenderUtils; import rosegoldaddons.utils.RotationUtils; +import scala.actors.threadpool.helpers.ThreadHelpers; import java.awt.*; import java.lang.reflect.Method; @@ -24,6 +25,7 @@ import java.util.Random; public class ForagingIslandMacro { private Thread thread; + private String[] cum = {"wtf??", "hello?", "hi?", "uhhhhhh", "what the", "??????"}; @SubscribeEvent public void renderWorld(RenderWorldLastEvent event) { @@ -34,6 +36,9 @@ public class ForagingIslandMacro { BlockPos furthestDirt = furthestEmptyDirt(); //Minecraft.getMinecraft().thePlayer.addChatMessage(new ChatComponentText("furthest dirt "+furthestDirt)); int sapling = findItemInHotbar("Jungle Sapling"); + if(sapling == -1) { + sapling = findItemInHotbar("Oak Sapling"); + } int bonemeal = findItemInHotbar("Bone Meal"); int treecap = findItemInHotbar("Treecapitator"); int rod = findItemInHotbar("Rod"); @@ -76,19 +81,25 @@ public class ForagingIslandMacro { RotationUtils.facePos(new Vec3(dirt.getX() + 0.5, dirt.getY(), dirt.getZ() + 0.5)); if (bonemeal != -1 && treecap != -1) { Minecraft.getMinecraft().thePlayer.inventory.currentItem = bonemeal; - Thread.sleep(200); + Random rand = new Random(); + int toAdd = 0; + if(Main.configFile.randomizeForaging) { + toAdd = rand.nextInt(20); + } + ChatUtils.sendMessage("extra delay: "+toAdd+"%"); + Thread.sleep(Math.round(150*(1+(toAdd/100)))); rightClick(); rightClick(); Minecraft.getMinecraft().thePlayer.inventory.currentItem = treecap; - Thread.sleep(150); + Thread.sleep(Math.round(Main.configFile.treecapDelay*(1+(toAdd/100)))); KeyBinding.setKeyBindState(Minecraft.getMinecraft().gameSettings.keyBindAttack.getKeyCode(), true); - Thread.sleep(100); + Thread.sleep(Math.round(150*(1+(toAdd/100)))); KeyBinding.setKeyBindState(Minecraft.getMinecraft().gameSettings.keyBindAttack.getKeyCode(), false); - Thread.sleep(25); + Thread.sleep(Math.round(25*(1+(toAdd/100)))); Minecraft.getMinecraft().thePlayer.inventory.currentItem = rod; - Thread.sleep(200); + Thread.sleep(Math.round(Main.configFile.prerodDelay*(1+(toAdd/100)))); rightClick(); - Thread.sleep((2000 - Main.configFile.monkeyLevel * 10L)); + Thread.sleep(Math.round(Main.configFile.postrodDelay*(1+(toAdd/100)))); } } } @@ -104,9 +115,25 @@ public class ForagingIslandMacro { @SubscribeEvent public void renderWorld2(RenderWorldLastEvent event) { if (!Main.forageOnIsland) return; - BlockPos furthestDirt = furthestEmptyDirt(); - if (furthestDirt != null) { - RenderUtils.drawBlockBox(furthestDirt, Color.RED, true, event.partialTicks); + BlockPos e = closestDirt(); + if(e == null) { + Main.forageOnIsland = false; + ChatUtils.sendMessage("§cNo dirt in range of player"); + ChatUtils.sendMessage("§cForaging Macro Deactivated"); + if(Main.configFile.forageantisus) { + int rand = new Random().nextInt(cum.length); + int rand2 = new Random().nextInt(5000); + new Thread(() -> { + try { + Thread.sleep(rand2); + Minecraft.getMinecraft().thePlayer.sendChatMessage(cum[rand]); + Thread.sleep(rand2*2); + Minecraft.getMinecraft().getNetHandler().getNetworkManager().closeChannel(new ChatComponentText("Antisus activated lets hope you didnt get banned")); + } catch (Exception exception) { + exception.printStackTrace(); + } + }).start(); + } } } diff --git a/src/main/java/rosegoldaddons/features/ItemFrameAura.java b/src/main/java/rosegoldaddons/features/ItemFrameAura.java deleted file mode 100644 index 973bd39..0000000 --- a/src/main/java/rosegoldaddons/features/ItemFrameAura.java +++ /dev/null @@ -1,414 +0,0 @@ -package rosegoldaddons.features; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.multiplayer.PlayerControllerMP; -import net.minecraft.client.settings.KeyBinding; -import net.minecraft.entity.Entity; -import net.minecraft.entity.item.EntityItemFrame; -import net.minecraft.item.ItemStack; -import net.minecraft.util.BlockPos; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.IChatComponent; -import net.minecraft.util.MovingObjectPosition; -import net.minecraftforge.client.event.RenderWorldLastEvent; -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; -import net.minecraftforge.fml.common.gameevent.TickEvent; -import rosegoldaddons.Main; - |
