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())); - } -}