mirror of
https://code.chipmunk.land/ChomeNS/chipmunkmod.git
synced 2025-11-13 19:56:15 +00:00
refactor: remove
This commit is contained in:
parent
0f9b6f4cdb
commit
7ed4d1ee84
6 changed files with 76 additions and 75 deletions
|
|
@ -1,8 +1,6 @@
|
||||||
package land.chipmunk.chipmunkmod.mixin;
|
package land.chipmunk.chipmunkmod.mixin;
|
||||||
|
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
import com.llamalad7.mixinextras.injector.wrapmethod.WrapMethod;
|
|
||||||
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
|
|
||||||
import land.chipmunk.chipmunkmod.ChipmunkMod;
|
import land.chipmunk.chipmunkmod.ChipmunkMod;
|
||||||
import land.chipmunk.chipmunkmod.data.ChomeNSBotCommand;
|
import land.chipmunk.chipmunkmod.data.ChomeNSBotCommand;
|
||||||
import land.chipmunk.chipmunkmod.modules.ChomeNSBotCommandSuggestions;
|
import land.chipmunk.chipmunkmod.modules.ChomeNSBotCommandSuggestions;
|
||||||
|
|
@ -38,8 +36,8 @@ public abstract class ChatScreenMixin {
|
||||||
chatField.setMaxLength(Integer.MAX_VALUE);
|
chatField.setMaxLength(Integer.MAX_VALUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@WrapMethod(method = "sendMessage")
|
@Inject(method = "sendMessage", at = @At("HEAD"), cancellable = true)
|
||||||
private void sendMessage (final String chatText, final boolean addToHistory, final Operation<Void> original) {
|
private void sendMessage (final String chatText, final boolean addToHistory, final CallbackInfo ci) {
|
||||||
final MinecraftClient client = MinecraftClient.getInstance();
|
final MinecraftClient client = MinecraftClient.getInstance();
|
||||||
|
|
||||||
if (addToHistory) {
|
if (addToHistory) {
|
||||||
|
|
@ -98,6 +96,7 @@ public abstract class ChatScreenMixin {
|
||||||
) {
|
) {
|
||||||
try {
|
try {
|
||||||
BotValidationUtilities.chomens(chatText.substring(prefixLength));
|
BotValidationUtilities.chomens(chatText.substring(prefixLength));
|
||||||
|
ci.cancel();
|
||||||
return;
|
return;
|
||||||
} catch (final Exception ignored) {
|
} catch (final Exception ignored) {
|
||||||
}
|
}
|
||||||
|
|
@ -112,6 +111,6 @@ public abstract class ChatScreenMixin {
|
||||||
client.player.networkHandler.sendChatMessage(chatText);
|
client.player.networkHandler.sendChatMessage(chatText);
|
||||||
}
|
}
|
||||||
|
|
||||||
// :D
|
ci.cancel();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,9 @@ import net.minecraft.sound.SoundEvent;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
import org.spongepowered.asm.mixin.Unique;
|
import org.spongepowered.asm.mixin.Unique;
|
||||||
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
|
import org.spongepowered.asm.mixin.injection.Inject;
|
||||||
|
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||||
|
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
@ -28,11 +31,11 @@ public class ClientConnectionMixin {
|
||||||
@Unique
|
@Unique
|
||||||
private static final Pattern CUSTOM_PITCH_PATTERN = Pattern.compile(".*\\.pitch\\.(.*)");
|
private static final Pattern CUSTOM_PITCH_PATTERN = Pattern.compile(".*\\.pitch\\.(.*)");
|
||||||
|
|
||||||
@WrapMethod(method = "handlePacket")
|
@Inject(method = "handlePacket", at = @At("HEAD"), cancellable = true)
|
||||||
private static <T extends PacketListener> void handlePacket (
|
private static <T extends PacketListener> void handlePacket (
|
||||||
final Packet<T> packet,
|
final Packet<T> packet,
|
||||||
final PacketListener packetListener,
|
final PacketListener packetListener,
|
||||||
final Operation<Void> original
|
final CallbackInfo ci
|
||||||
) {
|
) {
|
||||||
for (final Listener listener : ListenerManager.listeners) {
|
for (final Listener listener : ListenerManager.listeners) {
|
||||||
listener.packetReceived(packet);
|
listener.packetReceived(packet);
|
||||||
|
|
@ -45,7 +48,7 @@ public class ClientConnectionMixin {
|
||||||
packet instanceof final ParticleS2CPacket t_packet
|
packet instanceof final ParticleS2CPacket t_packet
|
||||||
&& t_packet.getCount() > MAX_PARTICLES_PER_PACKET
|
&& t_packet.getCount() > MAX_PARTICLES_PER_PACKET
|
||||||
) {
|
) {
|
||||||
return;
|
ci.cancel();
|
||||||
} else if (packet instanceof final PlaySoundS2CPacket t_packet) {
|
} else if (packet instanceof final PlaySoundS2CPacket t_packet) {
|
||||||
final SoundEvent soundEvent = t_packet.getSound().value();
|
final SoundEvent soundEvent = t_packet.getSound().value();
|
||||||
|
|
||||||
|
|
@ -53,10 +56,7 @@ public class ClientConnectionMixin {
|
||||||
|
|
||||||
final Matcher matcher = CUSTOM_PITCH_PATTERN.matcher(sound.getPath());
|
final Matcher matcher = CUSTOM_PITCH_PATTERN.matcher(sound.getPath());
|
||||||
|
|
||||||
if (!matcher.find()) {
|
if (!matcher.find()) return;
|
||||||
original.call(packet, packetListener);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
final String stringPitch = matcher.group(1);
|
final String stringPitch = matcher.group(1);
|
||||||
|
|
@ -65,10 +65,7 @@ public class ClientConnectionMixin {
|
||||||
|
|
||||||
final ClientWorld world = client.world;
|
final ClientWorld world = client.world;
|
||||||
|
|
||||||
if (world == null) {
|
if (world == null) return;
|
||||||
original.call(packet, packetListener);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
final SoundEvent newSound = SoundEvent.of(
|
final SoundEvent newSound = SoundEvent.of(
|
||||||
Identifier.of(
|
Identifier.of(
|
||||||
|
|
@ -93,15 +90,16 @@ public class ClientConnectionMixin {
|
||||||
t_packet.getSeed()
|
t_packet.getSeed()
|
||||||
));
|
));
|
||||||
|
|
||||||
|
ci.cancel();
|
||||||
return;
|
return;
|
||||||
} catch (final NumberFormatException e) {
|
} catch (final NumberFormatException e) {
|
||||||
ChipmunkMod.LOGGER.error("Failed to parse custom pitch", e);
|
ChipmunkMod.LOGGER.error("Failed to parse custom pitch", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (t_packet.getVolume() == 1 && sound.getPath().equals("entity.enderman.scream")) return;
|
if (t_packet.getVolume() == 1 && sound.getPath().equals("entity.enderman.scream")) {
|
||||||
|
ci.cancel();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
original.call(packet, packetListener);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@WrapMethod(method = "send(Lnet/minecraft/network/packet/Packet;Lnet/minecraft/network/PacketCallbacks;Z)V")
|
@WrapMethod(method = "send(Lnet/minecraft/network/packet/Packet;Lnet/minecraft/network/PacketCallbacks;Z)V")
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
package land.chipmunk.chipmunkmod.mixin;
|
package land.chipmunk.chipmunkmod.mixin;
|
||||||
|
|
||||||
import com.llamalad7.mixinextras.injector.wrapmethod.WrapMethod;
|
|
||||||
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
|
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
|
||||||
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
|
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
|
||||||
import com.mojang.brigadier.CommandDispatcher;
|
import com.mojang.brigadier.CommandDispatcher;
|
||||||
|
|
@ -12,11 +11,11 @@ import land.chipmunk.chipmunkmod.modules.*;
|
||||||
import land.chipmunk.chipmunkmod.modules.custom_chat.CustomChat;
|
import land.chipmunk.chipmunkmod.modules.custom_chat.CustomChat;
|
||||||
import net.minecraft.client.gui.hud.InGameHud;
|
import net.minecraft.client.gui.hud.InGameHud;
|
||||||
import net.minecraft.client.network.ClientPlayNetworkHandler;
|
import net.minecraft.client.network.ClientPlayNetworkHandler;
|
||||||
import net.minecraft.client.network.message.MessageHandler;
|
|
||||||
import net.minecraft.command.CommandRegistryAccess;
|
import net.minecraft.command.CommandRegistryAccess;
|
||||||
import net.minecraft.command.CommandSource;
|
import net.minecraft.command.CommandSource;
|
||||||
import net.minecraft.network.packet.s2c.play.CommandTreeS2CPacket;
|
import net.minecraft.network.packet.s2c.play.CommandTreeS2CPacket;
|
||||||
import net.minecraft.network.packet.s2c.play.GameJoinS2CPacket;
|
import net.minecraft.network.packet.s2c.play.GameJoinS2CPacket;
|
||||||
|
import net.minecraft.network.packet.s2c.play.GameMessageS2CPacket;
|
||||||
import net.minecraft.registry.DynamicRegistryManager;
|
import net.minecraft.registry.DynamicRegistryManager;
|
||||||
import net.minecraft.resource.featuretoggle.FeatureSet;
|
import net.minecraft.resource.featuretoggle.FeatureSet;
|
||||||
import net.minecraft.text.PlainTextContent;
|
import net.minecraft.text.PlainTextContent;
|
||||||
|
|
@ -59,15 +58,17 @@ public class ClientPlayNetworkHandlerMixin {
|
||||||
KaboomCheck.INSTANCE.onCommandTree(this.commandDispatcher);
|
KaboomCheck.INSTANCE.onCommandTree(this.commandDispatcher);
|
||||||
}
|
}
|
||||||
|
|
||||||
@WrapOperation(
|
@Inject(
|
||||||
method = "onGameMessage",
|
method = "onGameMessage",
|
||||||
at = @At(
|
at = @At(
|
||||||
value = "INVOKE",
|
value = "INVOKE",
|
||||||
target = "Lnet/minecraft/client/network/message/MessageHandler;onGameMessage(Lnet/minecraft/text/Text;Z)V"
|
target = "Lnet/minecraft/client/network/message/MessageHandler;onGameMessage(Lnet/minecraft/text/Text;Z)V"
|
||||||
|
),
|
||||||
|
cancellable = true
|
||||||
)
|
)
|
||||||
)
|
private void onGameMessage (final GameMessageS2CPacket packet, final CallbackInfo ci) {
|
||||||
private void onGameMessage (final MessageHandler instance, final Text message, final boolean overlay, final Operation<Void> original) {
|
final Text message = packet.content();
|
||||||
try {
|
|
||||||
if (
|
if (
|
||||||
(
|
(
|
||||||
RainbowName.INSTANCE.enabled &&
|
RainbowName.INSTANCE.enabled &&
|
||||||
|
|
@ -83,7 +84,10 @@ public class ClientPlayNetworkHandlerMixin {
|
||||||
|| translatableTextContent.getKey().equals("قيادة المجموعة: %s")
|
|| translatableTextContent.getKey().equals("قيادة المجموعة: %s")
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
) return;
|
) {
|
||||||
|
ci.cancel();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
for (final Listener listener : ListenerManager.listeners) {
|
for (final Listener listener : ListenerManager.listeners) {
|
||||||
listener.chatMessageReceived(message);
|
listener.chatMessageReceived(message);
|
||||||
|
|
@ -93,12 +97,7 @@ public class ClientPlayNetworkHandlerMixin {
|
||||||
message.getSiblings().size() > 1
|
message.getSiblings().size() > 1
|
||||||
&& message.getSiblings().getFirst().getContent() instanceof final PlainTextContent textContent
|
&& message.getSiblings().getFirst().getContent() instanceof final PlainTextContent textContent
|
||||||
&& textContent.string().equals(ChomeNSBotCommandSuggestions.REQUEST_SUGGESTIONS_ID)
|
&& textContent.string().equals(ChomeNSBotCommandSuggestions.REQUEST_SUGGESTIONS_ID)
|
||||||
) return;
|
) ci.cancel();
|
||||||
} catch (final Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
|
|
||||||
original.call(instance, message, overlay);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@WrapOperation(
|
@WrapOperation(
|
||||||
|
|
@ -121,11 +120,12 @@ public class ClientPlayNetworkHandlerMixin {
|
||||||
// so I do not ignore them
|
// so I do not ignore them
|
||||||
}
|
}
|
||||||
|
|
||||||
@WrapMethod(method = "sendChatMessage")
|
@Inject(method = "sendChatMessage", at = @At("HEAD"), cancellable = true)
|
||||||
private void sendChatMessage (final String content, final Operation<Void> original) {
|
private void sendChatMessage (final String content, final CallbackInfo ci) {
|
||||||
final CommandManager commandManager = CommandManager.INSTANCE;
|
final CommandManager commandManager = CommandManager.INSTANCE;
|
||||||
if (content.startsWith(commandManager.prefix)) {
|
if (content.startsWith(commandManager.prefix)) {
|
||||||
commandManager.executeCommand(content.substring(commandManager.prefix.length()));
|
commandManager.executeCommand(content.substring(commandManager.prefix.length()));
|
||||||
|
ci.cancel();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -135,7 +135,6 @@ public class ClientPlayNetworkHandlerMixin {
|
||||||
}
|
}
|
||||||
|
|
||||||
CustomChat.INSTANCE.chat(content);
|
CustomChat.INSTANCE.chat(content);
|
||||||
|
ci.cancel();
|
||||||
// :D
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,19 +1,22 @@
|
||||||
package land.chipmunk.chipmunkmod.mixin;
|
package land.chipmunk.chipmunkmod.mixin;
|
||||||
|
|
||||||
import com.llamalad7.mixinextras.injector.wrapmethod.WrapMethod;
|
|
||||||
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
|
|
||||||
import net.minecraft.client.particle.ElderGuardianAppearanceParticle;
|
import net.minecraft.client.particle.ElderGuardianAppearanceParticle;
|
||||||
import net.minecraft.client.particle.Particle;
|
import net.minecraft.client.particle.Particle;
|
||||||
import net.minecraft.client.world.ClientWorld;
|
import net.minecraft.client.world.ClientWorld;
|
||||||
import net.minecraft.particle.SimpleParticleType;
|
import net.minecraft.particle.SimpleParticleType;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
|
import org.spongepowered.asm.mixin.injection.Inject;
|
||||||
|
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||||
|
|
||||||
@Mixin(ElderGuardianAppearanceParticle.Factory.class)
|
@Mixin(ElderGuardianAppearanceParticle.Factory.class)
|
||||||
public class ElderGuardianAppearanceParticleMixin {
|
public class ElderGuardianAppearanceParticleMixin {
|
||||||
@WrapMethod(
|
@Inject(
|
||||||
method = "createParticle(Lnet/minecraft/particle/SimpleParticleType;Lnet/minecraft/client/world/ClientWorld;DDDDDD)Lnet/minecraft/client/particle/Particle;"
|
method = "createParticle(Lnet/minecraft/particle/SimpleParticleType;Lnet/minecraft/client/world/ClientWorld;DDDDDD)Lnet/minecraft/client/particle/Particle;",
|
||||||
|
at = @At("RETURN"),
|
||||||
|
cancellable = true
|
||||||
)
|
)
|
||||||
private Particle createParticle (
|
private void createParticle (
|
||||||
final SimpleParticleType simpleParticleType,
|
final SimpleParticleType simpleParticleType,
|
||||||
final ClientWorld clientWorld,
|
final ClientWorld clientWorld,
|
||||||
final double d,
|
final double d,
|
||||||
|
|
@ -22,9 +25,9 @@ public class ElderGuardianAppearanceParticleMixin {
|
||||||
final double g,
|
final double g,
|
||||||
final double h,
|
final double h,
|
||||||
final double i,
|
final double i,
|
||||||
final Operation<Particle> original
|
final CallbackInfoReturnable<Particle> cir
|
||||||
) {
|
) {
|
||||||
// slash scare command
|
// slash scare command
|
||||||
return null;
|
cir.setReturnValue(null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,16 @@
|
||||||
package land.chipmunk.chipmunkmod.mixin;
|
package land.chipmunk.chipmunkmod.mixin;
|
||||||
|
|
||||||
import com.llamalad7.mixinextras.injector.wrapmethod.WrapMethod;
|
|
||||||
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
|
|
||||||
import net.minecraft.client.sound.SoundInstance;
|
import net.minecraft.client.sound.SoundInstance;
|
||||||
import net.minecraft.client.sound.SoundSystem;
|
import net.minecraft.client.sound.SoundSystem;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
|
import org.spongepowered.asm.mixin.injection.Inject;
|
||||||
|
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||||
|
|
||||||
@Mixin(SoundSystem.class)
|
@Mixin(SoundSystem.class)
|
||||||
public class SoundSystemMixin {
|
public class SoundSystemMixin {
|
||||||
@WrapMethod(method = "getAdjustedPitch")
|
@Inject(method = "getAdjustedPitch", at = @At("RETURN"), cancellable = true)
|
||||||
private float getAdjustedPitch (final SoundInstance sound, final Operation<Float> original) {
|
private void getAdjustedPitch (final SoundInstance sound, final CallbackInfoReturnable<Float> cir) {
|
||||||
return sound.getPitch();
|
cir.setReturnValue(sound.getPitch());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,16 @@
|
||||||
package land.chipmunk.chipmunkmod.mixin;
|
package land.chipmunk.chipmunkmod.mixin;
|
||||||
|
|
||||||
import com.llamalad7.mixinextras.injector.wrapmethod.WrapMethod;
|
|
||||||
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
|
|
||||||
import net.minecraft.util.StringHelper;
|
import net.minecraft.util.StringHelper;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
|
import org.spongepowered.asm.mixin.injection.Inject;
|
||||||
|
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||||
|
|
||||||
@Mixin(StringHelper.class)
|
@Mixin(StringHelper.class)
|
||||||
public class StringHelperMixin {
|
public class StringHelperMixin {
|
||||||
@WrapMethod(method = "isValidChar")
|
@Inject(method = "isValidChar", at = @At("RETURN"), cancellable = true)
|
||||||
private static boolean isValidChar (final char c, final Operation<Boolean> original) {
|
private static void isValidChar (final char c, final CallbackInfoReturnable<Boolean> cir) {
|
||||||
// very legal [NUL] [LF] §
|
// very legal [NUL] [LF] § Allowance.
|
||||||
return true;
|
cir.setReturnValue(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue