Skip to content

Commit

Permalink
Baritone crash fix, JDA update
Browse files Browse the repository at this point in the history
WARNING! You MUST update FarmHelper JDA Dependency mod (Discord Integration) to the latest version to make it work! Do this before restarting the game.
  • Loading branch information
onixiya1337 committed May 14, 2024
1 parent 190b1d1 commit b3d2a03
Show file tree
Hide file tree
Showing 7 changed files with 54 additions and 43 deletions.
6 changes: 3 additions & 3 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -88,10 +88,10 @@ dependencies {

runtimeOnly("me.djtheredstoner:DevAuth-forge-legacy:1.2.0")

implementation("net.dv8tion:JDA:5.0.0-beta.13")
implementation("net.dv8tion:JDA:5.0.0-beta.24")

implementation("com.github.onixiya1337.baritone-fly:baritone-deobf:nirox-fly-SNAPSHOT")
shadowImpl("com.github.onixiya1337.baritone-fly:baritone-api-forge:nirox-fly-SNAPSHOT") {
implementation("com.github.onixiya1337.baritone-fly:baritone-deobf:0591d0c700")
shadowImpl("com.github.onixiya1337.baritone-fly:baritone-api-forge:0591d0c700") {
exclude(module = "fastutil")
exclude(module = "lwjgl")
exclude(module = "SimpleTweaker")
Expand Down
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.6.22-pre2
version=2.6.22-pre3
shouldRelease=true
22 changes: 12 additions & 10 deletions src/main/java/com/jelly/farmhelperv2/FarmHelper.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,15 @@
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.common.Loader;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.ModContainer;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.gameevent.TickEvent;
import org.lwjgl.opengl.Display;

import java.io.File;
import java.util.Optional;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
Expand Down Expand Up @@ -117,7 +119,7 @@ private void initializeListeners() {
MinecraftForge.EVENT_BUS.register(TickTask.getInstance());
MinecraftForge.EVENT_BUS.register(MovRecPlayer.getInstance());
MinecraftForge.EVENT_BUS.register(WebsocketHandler.getInstance());
if (Loader.isModLoaded("farmhelperjdadependency")) // && checkIfJDAVersionCorrect()
if (Loader.isModLoaded("farmhelperjdadependency") && checkIfJDAVersionCorrect())
MinecraftForge.EVENT_BUS.register(DiscordBotHandler.getInstance());
MinecraftForge.EVENT_BUS.register(AudioManager.getInstance());
MinecraftForge.EVENT_BUS.register(RotationHandler.getInstance());
Expand All @@ -135,13 +137,13 @@ private void initializeCommands() {
CommandManager.register(new FarmHelperMainCommand());
}

// public static boolean isJDAVersionCorrect = false;
//
// public static boolean checkIfJDAVersionCorrect() {
// Optional<ModContainer> modContainer = Loader.instance().getActiveModList().stream()
// .filter(mod -> "farmhelperjdadependency".equals(mod.getModId()))
// .findFirst();
// isJDAVersionCorrect = modContainer.map(container -> container.getVersion().equals("1.0.1")).orElse(false);
// return isJDAVersionCorrect;
// }
public static boolean isJDAVersionCorrect = false;

public static boolean checkIfJDAVersionCorrect() {
Optional<ModContainer> modContainer = Loader.instance().getActiveModList().stream()
.filter(mod -> "farmhelperjdadependency".equals(mod.getModId()))
.findFirst();
isJDAVersionCorrect = modContainer.map(container -> container.getVersion().equals("1.0.1")).orElse(false);
return isJDAVersionCorrect;
}
}
24 changes: 12 additions & 12 deletions src/main/java/com/jelly/farmhelperv2/config/FarmHelperConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -1346,15 +1346,15 @@ public static void triggerManuallyPestsDestroyer() {
size = 2
)
public static boolean infoRemoteControl;
// for later, once we figure out why jackson crashes jda dependency
// @Info(
// text = "Your Farm Helper JDA Dependency is outdated! You must update it to use the remote control feature.",
// type = InfoType.ERROR,
// category = DISCORD_INTEGRATION,
// subcategory = "Remote Control",
// size = 2
// )
// public static boolean info2RemoteControl;

@Info(
text = "Your Farm Helper JDA Dependency is outdated! You must update it to use the remote control feature.",
type = InfoType.ERROR,
category = DISCORD_INTEGRATION,
subcategory = "Remote Control",
size = 2
)
public static boolean info2RemoteControl;
//</editor-fold>
//</editor-fold>

Expand Down Expand Up @@ -2078,14 +2078,14 @@ public FarmHelperConfig() {
this.addDependency("sendStatusUpdates", "enableWebHook");
this.addDependency("statusUpdateInterval", "enableWebHook");
this.addDependency("webHookURL", "enableWebHook");
this.addDependency("enableRemoteControl", "Enable Remote Control", () -> Loader.isModLoaded("farmhelperjdadependency"));
// && FarmHelper.isJDAVersionCorrect);
this.addDependency("enableRemoteControl", "Enable Remote Control",
() -> Loader.isModLoaded("farmhelperjdadependency") && FarmHelper.isJDAVersionCorrect);
this.addDependency("discordRemoteControlAddress", "enableRemoteControl");
this.addDependency("remoteControlPort", "enableRemoteControl");


this.hideIf("infoRemoteControl", () -> Loader.isModLoaded("farmhelperjdadependency"));
// this.hideIf("info2RemoteControl", () -> FarmHelper.isJDAVersionCorrect);
this.hideIf("info2RemoteControl", () -> FarmHelper.isJDAVersionCorrect);
this.hideIf("failsafeSoundTimes", () -> true);

this.addDependency("debugMode", "Streamer Mode", () -> !streamerMode);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package com.jelly.farmhelperv2.remote;

import cc.polyfrost.oneconfig.utils.Notifications;
import com.jelly.farmhelperv2.FarmHelper;
import com.jelly.farmhelperv2.config.FarmHelperConfig;
import com.jelly.farmhelperv2.remote.command.discordCommands.DiscordCommand;
Expand Down Expand Up @@ -147,12 +146,12 @@ public void onTick(TickEvent.ClientTickEvent e) {
FarmHelperConfig.enableRemoteControl = false;
return;
}
// else if (!FarmHelper.isJDAVersionCorrect) {
// FarmHelperConfig.enableRemoteControl = false;
// LogUtils.sendError("[Remote Control] Farm Helper JDA Dependency is outdated! Please update it and try again. Disabling remote control...");
// LogUtils.sendNotification("Farm Helper", "Farm Helper JDA Dependency is outdated! Please update it and try again. Disabling remote control...");
// return;
// }
else if (!FarmHelper.isJDAVersionCorrect) {
FarmHelperConfig.enableRemoteControl = false;
LogUtils.sendError("[Remote Control] Farm Helper JDA Dependency is outdated! Please update it and try again. Disabling remote control...");
LogUtils.sendNotification("Farm Helper", "Farm Helper JDA Dependency is outdated! Please update it and try again. Disabling remote control...");
return;
}
if (Minecraft.getMinecraft().thePlayer == null || Minecraft.getMinecraft().theWorld == null) return;
if (FarmHelperConfig.discordRemoteControlToken == null || FarmHelperConfig.discordRemoteControlToken.isEmpty()) {
if (WebsocketHandler.getInstance().getWebsocketState() != WebsocketHandler.WebsocketState.CLIENT) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,12 +97,11 @@ public void onTick(TickEvent.ClientTickEvent event) {
LogUtils.sendNotification("Farm Helper", "Farm Helper JDA Dependency is not installed, disabling remote control..");
}
return;
// else if (!FarmHelper.isJDAVersionCorrect) {
// FarmHelperConfig.enableRemoteControl = false;
// LogUtils.sendError("[Remote Control] Farm Helper JDA Dependency is outdated! Please update it and try again. Disabling remote control...");
// LogUtils.sendNotification("Farm Helper", "Farm Helper JDA Dependency is outdated! Please update it and try again. Disabling remote control...");
// return;
// }
} else if (!FarmHelper.isJDAVersionCorrect) {
FarmHelperConfig.enableRemoteControl = false;
LogUtils.sendError("[Remote Control] Farm Helper JDA Dependency is outdated! Please update it and try again. Disabling remote control...");
LogUtils.sendNotification("Farm Helper", "Farm Helper JDA Dependency is outdated! Please update it and try again. Disabling remote control...");
return;
}
if (!DiscordBotHandler.getInstance().isFinishedLoading()) return;

Expand Down
19 changes: 15 additions & 4 deletions src/main/java/com/jelly/farmhelperv2/util/LogUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,10 @@
import java.util.concurrent.TimeUnit;

public class LogUtils {
private static final long logMsgTime = 1000;
private static final Minecraft mc = Minecraft.getMinecraft();
private static String lastDebugMessage;
private static String lastWebhook;
private static long statusMsgTime = -1;
private static int retries = 0;

public synchronized static void sendLog(ChatComponentText chat) {
if (mc.thePlayer != null && !FarmHelperConfig.streamerMode)
Expand Down Expand Up @@ -182,15 +181,27 @@ public static void webhookLog(String message, boolean mentionAll, Tuple<String,
for (Tuple<String, String> field : fields) {
embedObject.addField(field.getFirst(), field.getSecond(), false);
}
retries = 0;
webhook.addEmbed(embedObject);
sendWebhook(webhook);
}

private static void sendWebhook(DiscordWebhook webhook) {
Multithreading.schedule(() -> {
try {
webhook.execute();
} catch (IOException e) {
LogUtils.sendError("[Webhook Log] Error: " + e.getMessage());
if (retries >= 3) {
sendError("[Webhook Log] Error: " + e.getMessage());
retries = 0;
return;
}
retries++;
sendDebug("[Webhook Log] Retrying sending a webhook message...");
sendWebhook(webhook);
e.printStackTrace();
throw new RuntimeException(e);
}
}, 0, TimeUnit.MILLISECONDS);
}, (retries == 0 ? 0 : 1000), TimeUnit.MILLISECONDS);
}
}

0 comments on commit b3d2a03

Please sign in to comment.