Fix #237 and #238, Moved module modifications to meteor mixins (#240)

This commit is contained in:
Soda5601
2023-03-25 18:26:57 +08:00
committed by GitHub
parent 29509947c6
commit f749e5c7d9
17 changed files with 117 additions and 196 deletions

View File

@@ -1,11 +1,11 @@
package anticope.rejects.modules;
import anticope.rejects.MeteorRejectsAddon;
import anticope.rejects.events.CustomPayloadEvent;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonObject;
import com.google.gson.reflect.TypeToken;
import meteordevelopment.meteorclient.events.packets.PacketEvent;
import meteordevelopment.meteorclient.settings.BoolSetting;
import meteordevelopment.meteorclient.settings.Setting;
import meteordevelopment.meteorclient.settings.SettingGroup;
@@ -13,6 +13,7 @@ import meteordevelopment.meteorclient.systems.modules.Module;
import meteordevelopment.meteorclient.utils.player.ChatUtils;
import meteordevelopment.orbit.EventHandler;
import net.minecraft.network.PacketByteBuf;
import net.minecraft.network.packet.s2c.play.CustomPayloadS2CPacket;
import net.minecraft.text.HoverEvent;
import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
@@ -24,7 +25,8 @@ import java.util.Map;
public class CustomPackets extends Module {
private static final Gson GSON_NON_PRETTY = new GsonBuilder().enableComplexMapKeySerialization().disableHtmlEscaping().create();
private static final Type BADLION_MODS_TYPE = new TypeToken<Map<String, BadlionMod>>() {}.getType();
private static final Type BADLION_MODS_TYPE = new TypeToken<Map<String, BadlionMod>>() {
}.getType();
private final SettingGroup sgGeneral = settings.getDefaultGroup();
private final SettingGroup sgBadlion = settings.createGroup("Bad Lion");
@@ -49,30 +51,32 @@ public class CustomPackets extends Module {
}
@EventHandler
private void onCustomPayloadPacket(CustomPayloadEvent event) {
switch (event.packet.getChannel().toString()) {
case "badlion:mods" -> onBadlionModsPacket(event);
default -> onUnknownPacket(event);
private void onCustomPayloadPacket(PacketEvent.Receive event) {
if (event.packet instanceof CustomPayloadS2CPacket packet) {
switch (packet.getChannel().toString()) {
case "badlion:mods" -> event.setCancelled(onBadlionModsPacket(packet));
default -> onUnknownPacket(packet);
}
}
}
private void onUnknownPacket(CustomPayloadEvent event) {
private void onUnknownPacket(CustomPayloadS2CPacket packet) {
if (!unknownPackets.get()) return;
MutableText text = Text.literal(event.packet.getChannel().toString());
MutableText text = Text.literal(packet.getChannel().toString());
text.setStyle(text.getStyle()
.withHoverEvent(new HoverEvent(
HoverEvent.Action.SHOW_TEXT,
Text.literal(readString(event.packet.getData()))
)));
.withHoverEvent(new HoverEvent(
HoverEvent.Action.SHOW_TEXT,
Text.literal(readString(packet.getData()))
)));
info(text);
}
private void onBadlionModsPacket(CustomPayloadEvent event) {
if (!mods.get()) return;
String json = readString(event.packet.getData());
private boolean onBadlionModsPacket(CustomPayloadS2CPacket packet) {
if (!mods.get()) return false;
String json = readString(packet.getData());
Map<String, BadlionMod> mods = GSON_NON_PRETTY.fromJson(json, BADLION_MODS_TYPE);
ChatUtils.sendMsg("Badlion", format("Mods", formatMods(mods)));
event.cancel();
return true;
}
private MutableText format(String type, MutableText message) {

View File

@@ -1,7 +1,6 @@
package anticope.rejects.modules;
import anticope.rejects.MeteorRejectsAddon;
import anticope.rejects.events.ChunkPosDataEvent;
import anticope.rejects.events.PlayerRespawnEvent;
import anticope.rejects.events.SeedChangedEvent;
import anticope.rejects.utils.Ore;
@@ -10,6 +9,7 @@ import anticope.rejects.utils.seeds.Seeds;
import baritone.api.BaritoneAPI;
import com.seedfinding.mccore.version.MCVersion;
import meteordevelopment.meteorclient.events.render.Render3DEvent;
import meteordevelopment.meteorclient.events.world.ChunkDataEvent;
import meteordevelopment.meteorclient.events.world.TickEvent;
import meteordevelopment.meteorclient.settings.*;
import meteordevelopment.meteorclient.systems.modules.Module;
@@ -106,7 +106,7 @@ public class OreSim extends Module {
continue;
}
for (Vec3d pos : chunkRenderers.get(chunkKey).get(ore)) {
event.renderer.boxLines(pos.x,pos.y,pos.z,pos.x+1,pos.y+1,pos.z+1, ore.color,0);
event.renderer.boxLines(pos.x, pos.y, pos.z, pos.x + 1, pos.y + 1, pos.z + 1, ore.color, 0);
}
}
}
@@ -151,11 +151,11 @@ public class OreSim extends Module {
oreGoals.clear();
var chunkPos = mc.player.getChunkPos();
int rangeVal = 4;
for(int range = 0; range <= rangeVal; ++range) {
for(int x = -range + chunkPos.x; x <= range + chunkPos.x; ++x) {
for (int range = 0; range <= rangeVal; ++range) {
for (int x = -range + chunkPos.x; x <= range + chunkPos.x; ++x) {
oreGoals.addAll(addToBaritone(x, chunkPos.z + range - rangeVal));
}
for(int x = -range + 1 + chunkPos.x; x < range + chunkPos.x; ++x) {
for (int x = -range + 1 + chunkPos.x; x < range + chunkPos.x; ++x) {
oreGoals.addAll(this.addToBaritone(x, chunkPos.z - range + rangeVal + 1));
}
}
@@ -164,20 +164,16 @@ public class OreSim extends Module {
private ArrayList<BlockPos> addToBaritone(int chunkX, int chunkZ) {
ArrayList<BlockPos> baritoneGoals = new ArrayList<>();
long chunkKey = (long)chunkX + ((long)chunkZ << 32);
long chunkKey = (long) chunkX + ((long) chunkZ << 32);
if (!this.chunkRenderers.containsKey(chunkKey)) {
return baritoneGoals;
} else {
this.oreConfig.stream().filter((config) -> {
return (Boolean)config.enabled.get();
}).forEach((ore) -> {
chunkRenderers
.get(chunkKey)
.getOrDefault(ore, new HashSet<>())
.stream()
.map(BlockPos::ofFloored)
.forEach(baritoneGoals::add);
});
this.oreConfig.stream().filter((config) -> config.enabled.get()).forEach((ore) -> chunkRenderers
.get(chunkKey)
.getOrDefault(ore, new HashSet<>())
.stream()
.map(BlockPos::ofFloored)
.forEach(baritoneGoals::add));
return baritoneGoals;
}
}
@@ -235,8 +231,8 @@ public class OreSim extends Module {
}
@EventHandler
public void onChunkData(ChunkPosDataEvent event) {
doMathOnChunk(event.chunkX, event.chunkZ);
public void onChunkData(ChunkDataEvent event) {
doMathOnChunk(event.chunk.getPos().x, event.chunk.getPos().z);
}
private void doMathOnChunk(int chunkX, int chunkZ) {
@@ -317,7 +313,8 @@ public class OreSim extends Module {
y += ore.minY;
switch (ore.generator) {
case DEFAULT -> ores.addAll(generateNormal(world, random, new BlockPos(x, y, z), ore.size, ore.discardOnAir));
case DEFAULT ->
ores.addAll(generateNormal(world, random, new BlockPos(x, y, z), ore.size, ore.discardOnAir));
case EMERALD -> {
if (airCheck.get() == AirCheck.OFF || world.getBlockState(new BlockPos(x, y, z)).isOpaque()) {
ores.add(new Vec3d(x, y, z));

View File

@@ -1,41 +0,0 @@
package anticope.rejects.modules.modifier;
import anticope.rejects.mixin.meteor.modules.NoRenderAccessor;
import meteordevelopment.meteorclient.settings.BoolSetting;
import meteordevelopment.meteorclient.settings.Setting;
import meteordevelopment.meteorclient.settings.SettingGroup;
import meteordevelopment.meteorclient.systems.modules.Modules;
import meteordevelopment.meteorclient.systems.modules.render.NoRender;
public class NoRenderModifier {
static SettingGroup sgOverlay;
public static Setting<Boolean> noCommandSuggestions;
public static Setting<Boolean> disableToasts;
public static boolean noCommandSuggestions() {
if (noCommandSuggestions == null || Modules.get() == null || Modules.get().get(NoRender.class) == null) return false;
return Modules.get().get(NoRender.class).isActive() && noCommandSuggestions.get();
}
public static boolean disableToasts() {
if (disableToasts == null || Modules.get() == null || Modules.get().get(NoRender.class) == null) return false;
return Modules.get().get(NoRender.class).isActive() && disableToasts.get();
}
public static void init() {
sgOverlay = ((NoRenderAccessor) Modules.get().get(NoRender.class)).getSgOverlay();
noCommandSuggestions = sgOverlay.add(new BoolSetting.Builder()
.name("command-suggestions")
.description("Disables command suggestions in chat.")
.defaultValue(false)
.build()
);
disableToasts = sgOverlay.add(new BoolSetting.Builder()
.name("disable-toasts")
.description("Disable toasts (e.g. advancements)")
.defaultValue(false)
.build()
);
}
}