diff options
Diffstat (limited to 'src/main/java/ftbsc/bscv/modules/self/AutoFish.java')
-rw-r--r-- | src/main/java/ftbsc/bscv/modules/self/AutoFish.java | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/src/main/java/ftbsc/bscv/modules/self/AutoFish.java b/src/main/java/ftbsc/bscv/modules/self/AutoFish.java index 9394233..628b4ab 100644 --- a/src/main/java/ftbsc/bscv/modules/self/AutoFish.java +++ b/src/main/java/ftbsc/bscv/modules/self/AutoFish.java @@ -5,7 +5,6 @@ import ftbsc.bscv.api.ILoadable; import ftbsc.bscv.modules.AbstractModule; import ftbsc.bscv.patches.PacketPatch.PacketEvent; import ftbsc.bscv.tools.Setting; -import net.minecraft.client.Minecraft; import net.minecraft.network.play.server.SPlaySoundEffectPacket; import net.minecraft.util.Hand; import net.minecraft.util.SoundEvents; @@ -37,22 +36,23 @@ public class AutoFish extends AbstractModule { @SubscribeEvent public void onPacket(PacketEvent.Incoming event) { + if (MC.gameMode == null || MC.player == null || MC.level == null) + return; + if (event.packet instanceof SPlaySoundEffectPacket) { SPlaySoundEffectPacket packet = (SPlaySoundEffectPacket) event.packet; if (packet.getSound().equals(SoundEvents.FISHING_BOBBER_SPLASH)) { MC.gameMode.useItem(MC.player, MC.level, Hand.MAIN_HAND); if (this.recast.get()) { - new RecastThread(MC, this.delay.get()).start(); + new RecastThread(this.delay.get()).start(); } } } } - private class RecastThread extends Thread { - private long delay; - private Minecraft mc; - public RecastThread(Minecraft mc, long delay) { - this.mc = mc; + private static class RecastThread extends Thread { + private final long delay; + public RecastThread(long delay) { this.delay = delay; this.setDaemon(true); } @@ -60,8 +60,10 @@ public class AutoFish extends AbstractModule { public void run() { try { Thread.sleep(this.delay); - } catch (InterruptedException e) {} // ignore - this.mc.gameMode.useItem(this.mc.player, this.mc.level, Hand.MAIN_HAND); + } catch (InterruptedException ignored) {} // ignore + if (MC.gameMode == null || MC.player == null || MC.level == null) + return; + MC.gameMode.useItem(MC.player, MC.level, Hand.MAIN_HAND); } } } |