From f5d15927de1af71e7b312855a5798dc76c811fcc Mon Sep 17 00:00:00 2001
From: rfresh2 <89827146+rfresh2@users.noreply.github.com>
Date: Fri, 22 Sep 2023 19:22:03 -0700
Subject: [PATCH] 1.20.2
---
fabric/src/main/resources/fabric.mod.json | 4 +-
forge/src/main/resources/META-INF/mods.toml | 4 +-
gradle.properties | 8 +-
.../mixins/MixinClientPlayNetHandler.java | 17 +--
.../launch/mixins/MixinNetworkManager.java | 6 +-
.../java/baritone/cache/WorldProvider.java | 2 +-
.../java/baritone/process/FarmProcess.java | 2 +-
.../java/baritone/launch/LaunchTesting.java | 105 ------------------
8 files changed, 21 insertions(+), 127 deletions(-)
delete mode 100644 tweaker/src/main/java/baritone/launch/LaunchTesting.java
diff --git a/fabric/src/main/resources/fabric.mod.json b/fabric/src/main/resources/fabric.mod.json
index 66f1ee1aa..6fd5c42df 100644
--- a/fabric/src/main/resources/fabric.mod.json
+++ b/fabric/src/main/resources/fabric.mod.json
@@ -25,7 +25,7 @@
],
"depends": {
- "fabricloader": ">=0.11.0",
- "minecraft": ">=1.20 <=1.20.1"
+ "fabricloader": ">=0.14.22",
+ "minecraft": "1.20.2"
}
}
diff --git a/forge/src/main/resources/META-INF/mods.toml b/forge/src/main/resources/META-INF/mods.toml
index b29b3b1a0..24b35ab23 100644
--- a/forge/src/main/resources/META-INF/mods.toml
+++ b/forge/src/main/resources/META-INF/mods.toml
@@ -6,7 +6,7 @@
# The name of the mod loader type to load - for regular FML @Mod mods it should be javafml
modLoader="javafml" #mandatory
# A version range to match for said mod loader - for regular FML @Mod it will be the forge version
-loaderVersion="[46,)" #mandatory This is typically bumped every Minecraft version by Forge. See our download page for lists of versions.
+loaderVersion="[48,)" #mandatory This is typically bumped every Minecraft version by Forge. See our download page for lists of versions.
license="https://raw.githubusercontent.com/cabaletta/baritone/1.16.2/LICENSE"
# A URL to refer people to when problems occur with this mod
issueTrackerURL="https://github.com/cabaletta/baritone/issues" #optional
@@ -35,6 +35,6 @@ A Minecraft pathfinder bot.
modId="minecraft"
mandatory=true
# This version range declares a minimum of the current minecraft version up to but not including the next major version
-versionRange="[1.20,1.20.1]"
+versionRange="[1.20.2]"
ordering="NONE"
side="BOTH"
diff --git a/gradle.properties b/gradle.properties
index f665e9537..9cf5e6f4c 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -2,10 +2,10 @@ org.gradle.jvmargs=-Xmx4G
available_loaders=fabric,forge,tweaker
-mod_version=1.10.1
+mod_version=1.10.2
maven_group=baritone
archives_base_name=baritone
-minecraft_version=1.20.1
-forge_version=1.20.1-47.0.1
-fabric_version=0.14.18
+minecraft_version=1.20.2
+forge_version=1.20.2-48.0.1
+fabric_version=0.14.22
diff --git a/src/launch/java/baritone/launch/mixins/MixinClientPlayNetHandler.java b/src/launch/java/baritone/launch/mixins/MixinClientPlayNetHandler.java
index 6b4564aa9..d603ca632 100644
--- a/src/launch/java/baritone/launch/mixins/MixinClientPlayNetHandler.java
+++ b/src/launch/java/baritone/launch/mixins/MixinClientPlayNetHandler.java
@@ -27,15 +27,16 @@ import baritone.api.event.events.type.EventState;
import baritone.api.utils.Pair;
import baritone.cache.CachedChunk;
import net.minecraft.client.Minecraft;
+import net.minecraft.client.multiplayer.ClientCommonPacketListenerImpl;
import net.minecraft.client.multiplayer.ClientPacketListener;
+import net.minecraft.client.multiplayer.CommonListenerCookie;
import net.minecraft.client.player.LocalPlayer;
import net.minecraft.core.BlockPos;
+import net.minecraft.network.Connection;
import net.minecraft.network.protocol.game.*;
import net.minecraft.world.level.ChunkPos;
import net.minecraft.world.level.block.state.BlockState;
-import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
-import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@@ -48,7 +49,7 @@ import java.util.List;
* @since 8/3/2018
*/
@Mixin(ClientPacketListener.class)
-public class MixinClientPlayNetHandler {
+public abstract class MixinClientPlayNetHandler extends ClientCommonPacketListenerImpl {
// unused lol
/*@Inject(
@@ -74,9 +75,9 @@ public class MixinClientPlayNetHandler {
}
}*/
- @Shadow
- @Final
- private Minecraft minecraft;
+ protected MixinClientPlayNetHandler(final Minecraft arg, final Connection arg2, final CommonListenerCookie arg3) {
+ super(arg, arg2, arg3);
+ }
@Inject(
method = "sendChat(Ljava/lang/String;)V",
@@ -124,7 +125,7 @@ public class MixinClientPlayNetHandler {
LocalPlayer player = ibaritone.getPlayerContext().player();
if (player != null && player.connection == (ClientPacketListener) (Object) this) {
ibaritone.getGameEventHandler().onChunkEvent(
- new ChunkEvent(EventState.PRE, ChunkEvent.Type.UNLOAD, packet.getX(), packet.getZ())
+ new ChunkEvent(EventState.PRE, ChunkEvent.Type.UNLOAD, packet.pos().x, packet.pos().z)
);
}
}
@@ -139,7 +140,7 @@ public class MixinClientPlayNetHandler {
LocalPlayer player = ibaritone.getPlayerContext().player();
if (player != null && player.connection == (ClientPacketListener) (Object) this) {
ibaritone.getGameEventHandler().onChunkEvent(
- new ChunkEvent(EventState.POST, ChunkEvent.Type.UNLOAD, packet.getX(), packet.getZ())
+ new ChunkEvent(EventState.POST, ChunkEvent.Type.UNLOAD, packet.pos().x, packet.pos().z)
);
}
}
diff --git a/src/launch/java/baritone/launch/mixins/MixinNetworkManager.java b/src/launch/java/baritone/launch/mixins/MixinNetworkManager.java
index 057a49b4b..2d35800eb 100644
--- a/src/launch/java/baritone/launch/mixins/MixinNetworkManager.java
+++ b/src/launch/java/baritone/launch/mixins/MixinNetworkManager.java
@@ -23,8 +23,6 @@ import baritone.api.event.events.PacketEvent;
import baritone.api.event.events.type.EventState;
import io.netty.channel.Channel;
import io.netty.channel.ChannelHandlerContext;
-import io.netty.util.concurrent.Future;
-import io.netty.util.concurrent.GenericFutureListener;
import net.minecraft.network.Connection;
import net.minecraft.network.PacketSendListener;
import net.minecraft.network.protocol.Packet;
@@ -54,7 +52,7 @@ public class MixinNetworkManager {
method = "sendPacket",
at = @At("HEAD")
)
- private void preDispatchPacket(Packet> packet, PacketSendListener packetSendListener, CallbackInfo ci) {
+ private void preDispatchPacket(Packet> packet, PacketSendListener packetSendListener, boolean flush, CallbackInfo ci) {
if (this.receiving != PacketFlow.CLIENTBOUND) {
return;
}
@@ -70,7 +68,7 @@ public class MixinNetworkManager {
method = "sendPacket",
at = @At("RETURN")
)
- private void postDispatchPacket(Packet> packet, PacketSendListener packetSendListener, CallbackInfo ci) {
+ private void postDispatchPacket(Packet> packet, PacketSendListener packetSendListener, boolean flush, CallbackInfo ci) {
if (this.receiving != PacketFlow.CLIENTBOUND) {
return;
}
diff --git a/src/main/java/baritone/cache/WorldProvider.java b/src/main/java/baritone/cache/WorldProvider.java
index 035b50b98..38202e65b 100644
--- a/src/main/java/baritone/cache/WorldProvider.java
+++ b/src/main/java/baritone/cache/WorldProvider.java
@@ -140,7 +140,7 @@ public class WorldProvider implements IWorldProvider {
String folderName;
final ServerData serverData = ctx.minecraft().getCurrentServer();
if (serverData != null) {
- folderName = ctx.minecraft().isConnectedToRealms() ? "realms" : serverData.ip;
+ folderName = serverData.isRealm() ? "realms" : serverData.ip;
} else {
//replaymod causes null currentServer and false singleplayer.
System.out.println("World seems to be a replay. Not loading Baritone cache.");
diff --git a/src/main/java/baritone/process/FarmProcess.java b/src/main/java/baritone/process/FarmProcess.java
index c453beff2..bccb021c6 100644
--- a/src/main/java/baritone/process/FarmProcess.java
+++ b/src/main/java/baritone/process/FarmProcess.java
@@ -249,7 +249,7 @@ public final class FarmProcess extends BaritoneProcessHelper implements IFarmPro
}
if (state.getBlock() instanceof BonemealableBlock) {
BonemealableBlock ig = (BonemealableBlock) state.getBlock();
- if (ig.isValidBonemealTarget(ctx.world(), pos, state, true) && ig.isBonemealSuccess(ctx.world(), ctx.world().random, pos, state)) {
+ if (ig.isValidBonemealTarget(ctx.world(), pos, state) && ig.isBonemealSuccess(ctx.world(), ctx.world().random, pos, state)) {
bonemealable.add(pos);
}
}
diff --git a/tweaker/src/main/java/baritone/launch/LaunchTesting.java b/tweaker/src/main/java/baritone/launch/LaunchTesting.java
deleted file mode 100644
index 21607ae34..000000000
--- a/tweaker/src/main/java/baritone/launch/LaunchTesting.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * This file is part of Baritone.
- *
- * Baritone is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * Baritone is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with Baritone. If not, see .
- */
-
-package baritone.launch;
-
-import com.google.common.base.Strings;
-import com.google.gson.GsonBuilder;
-import com.mojang.authlib.Agent;
-import com.mojang.authlib.exceptions.AuthenticationException;
-import com.mojang.authlib.properties.PropertyMap;
-import com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService;
-import com.mojang.authlib.yggdrasil.YggdrasilUserAuthentication;
-import net.minecraft.launchwrapper.Launch;
-
-import java.io.File;
-import java.lang.reflect.Field;
-import java.net.Proxy;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Based on GradleStart from ForgeGradle 2.3
- *
- * @author Brady
- * @since 3/11/2019
- */
-public class LaunchTesting {
-
- public static void main(String[] args) {
- Map arguments = new HashMap<>();
-
- hackNatives();
- arguments.put("version", "BaritownedDeveloperEnvironment");
- arguments.put("assetIndex", System.getenv("assetIndex"));
- arguments.put("assetsDir", System.getenv().getOrDefault("assetDirectory", "assets"));
- arguments.put("accessToken", "FML");
- arguments.put("userProperties", "{}");
- arguments.put("tweakClass", System.getenv("tweakClass"));
- String password = System.getenv("password");
- if (password != null && !password.isEmpty()) {
- attemptLogin(arguments, System.getenv("username"), System.getenv("password"));
- }
-
- List argsArray = new ArrayList<>();
- arguments.forEach((k, v) -> {
- argsArray.add("--" + k);
- argsArray.add(v);
- });
-
- Launch.main(argsArray.toArray(new String[0]));
- }
-
- private static void hackNatives() {
- String paths = System.getProperty("java.library.path");
- String nativesDir = System.getenv().get("nativesDirectory");
-
- if (Strings.isNullOrEmpty(paths))
- paths = nativesDir;
- else
- paths += File.pathSeparator + nativesDir;
-
- System.setProperty("java.library.path", paths);
-
- // hack the classloader now.
- try {
- final Field sysPathsField = ClassLoader.class.getDeclaredField("sys_paths");
- sysPathsField.setAccessible(true);
- sysPathsField.set(null, null);
- } catch (Throwable ignored) {}
- }
-
- private static void attemptLogin(Map argMap, String username, String password) {
- YggdrasilUserAuthentication auth = (YggdrasilUserAuthentication) (new YggdrasilAuthenticationService(Proxy.NO_PROXY, "1")).createUserAuthentication(Agent.MINECRAFT);
- auth.setUsername(username);
- auth.setPassword(password);
-
- try {
- auth.logIn();
- } catch (AuthenticationException var4) {
- throw new RuntimeException(var4);
- }
-
- argMap.put("accessToken", auth.getAuthenticatedToken());
- argMap.put("uuid", auth.getSelectedProfile().getId().toString().replace("-", ""));
- argMap.put("username", auth.getSelectedProfile().getName());
- argMap.put("userType", auth.getUserType().getName());
- argMap.put("userProperties", (new GsonBuilder()).registerTypeAdapter(PropertyMap.class, new PropertyMap.Serializer()).create().toJson(auth.getUserProperties()));
- }
-}