mirror of
https://github.com/TheClashFruit/CreatePissAndShit.git
synced 2024-09-19 17:36:47 +00:00
feat: 😳
This commit is contained in:
parent
e79a41fe2c
commit
367a202c8c
|
@ -8,6 +8,7 @@ import me.theclashfruit.pissnshit.config.MainConfig;
|
|||
import me.theclashfruit.pissnshit.criteria.ToiletUseTrigger;
|
||||
import me.theclashfruit.pissnshit.network.PissingPacket;
|
||||
import me.theclashfruit.pissnshit.registry.*;
|
||||
import me.theclashfruit.pissnshit.util.FlushedUtil;
|
||||
import net.fabricmc.api.ModInitializer;
|
||||
import net.fabricmc.fabric.api.gamerule.v1.GameRuleFactory;
|
||||
import net.fabricmc.fabric.api.gamerule.v1.GameRuleRegistry;
|
||||
|
@ -70,6 +71,8 @@ public class PissAndShit implements ModInitializer {
|
|||
}
|
||||
});
|
||||
|
||||
LOGGER.info(FlushedUtil.flushify("Hello, World!"));
|
||||
|
||||
// Register Packets
|
||||
PissingPacket.register();
|
||||
}
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
package me.theclashfruit.pissnshit.mixin;
|
||||
|
||||
import me.theclashfruit.pissnshit.util.FlushedUtil;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
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.CallbackInfo;
|
||||
|
||||
@Mixin(MinecraftClient.class)
|
||||
public class MinecraftClientMixin {
|
||||
@Inject(method = "tick", at = @At("TAIL"))
|
||||
private void tick(CallbackInfo info) {
|
||||
FlushedUtil.tick();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,45 @@
|
|||
package me.theclashfruit.pissnshit.mixin;
|
||||
|
||||
import me.theclashfruit.pissnshit.util.FlushedUtil;
|
||||
import net.minecraft.client.font.TextRenderer;
|
||||
import net.minecraft.text.OrderedText;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.ModifyVariable;
|
||||
|
||||
import static me.theclashfruit.pissnshit.PissAndShit.LOGGER;
|
||||
|
||||
@Mixin(TextRenderer.class)
|
||||
public class TextRendererMixin {
|
||||
@ModifyVariable(
|
||||
method = "drawLayer(Ljava/lang/String;FFIZLorg/joml/Matrix4f;Lnet/minecraft/client/render/VertexConsumerProvider;Lnet/minecraft/client/font/TextRenderer$TextLayerType;II)F",
|
||||
at = @At(
|
||||
value = "HEAD",
|
||||
ordinal = 0
|
||||
),
|
||||
argsOnly = true
|
||||
)
|
||||
private String modifyString(String text) {
|
||||
if (FlushedUtil.isEnabled())
|
||||
return FlushedUtil.flushify(text);
|
||||
else
|
||||
return text;
|
||||
}
|
||||
|
||||
/* TODO: Somehow make it so I can use the flushed emoji with this one too...
|
||||
@ModifyVariable(
|
||||
method = "drawLayer(Lnet/minecraft/text/OrderedText;FFIZLorg/joml/Matrix4f;Lnet/minecraft/client/render/VertexConsumerProvider;Lnet/minecraft/client/font/TextRenderer$TextLayerType;II)F",
|
||||
at = @At(
|
||||
value = "HEAD",
|
||||
ordinal = 0
|
||||
),
|
||||
argsOnly = true
|
||||
)
|
||||
private OrderedText modifyString(OrderedText text) {
|
||||
if (FlushedUtil.isEnabled())
|
||||
return new FlushedOrderedText(text);
|
||||
else
|
||||
return text;
|
||||
}
|
||||
*/
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
package me.theclashfruit.pissnshit.util;
|
||||
|
||||
import me.theclashfruit.pissnshit.registry.Items;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
public class FlushedUtil {
|
||||
private static boolean isEnabled = false;
|
||||
|
||||
public static void tick() {
|
||||
MinecraftClient client = MinecraftClient.getInstance();
|
||||
|
||||
if (client.player == null) {
|
||||
isEnabled = false;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
isEnabled = client.player.getInventory().contains(
|
||||
new ItemStack(Items.FLUSHED)
|
||||
);
|
||||
}
|
||||
|
||||
public static String flushify(String input) {
|
||||
input = Pattern.compile("([A-Za-zÀ-ÖØ-öø-ÿőű]+)").matcher(input).replaceAll(m -> {
|
||||
String group = m.group();
|
||||
|
||||
return "😳".repeat(group.length());
|
||||
});
|
||||
|
||||
return input;
|
||||
}
|
||||
|
||||
public static boolean isEnabled() {
|
||||
return isEnabled;
|
||||
}
|
||||
}
|
|
@ -8,7 +8,9 @@
|
|||
"PlayerEntityMixin"
|
||||
],
|
||||
"client": [
|
||||
"InGameHudMixin"
|
||||
"InGameHudMixin",
|
||||
"MinecraftClientMixin",
|
||||
"TextRendererMixin"
|
||||
],
|
||||
"injectors": {
|
||||
"defaultRequire": 1
|
||||
|
|
Loading…
Reference in a new issue