@@ -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) {
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -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()
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user