zombies-utils_fabric/src/main/java/xyz/stachel/zombiesutils/ZombiesUtilsClient.java

39 lines
1.7 KiB
Java

package xyz.stachel.zombiesutils;
import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper;
import net.minecraft.client.option.KeyBinding;
import net.minecraft.client.util.InputUtil;
import net.minecraft.text.MutableText;
import net.minecraft.text.Style;
import net.minecraft.text.Text;
import net.minecraft.text.TextColor;
import net.minecraft.util.Formatting;
import org.lwjgl.glfw.GLFW;
import xyz.stachel.zombiesutils.config.Configs;
public class ZombiesUtilsClient implements ClientModInitializer {
public static boolean PLAYER_VISIBILITY_SWITCH;
private static KeyBinding PLAYER_VISIBILITY_KEY;
@Override
public void onInitializeClient() {
PLAYER_VISIBILITY_KEY = KeyBindingHelper.registerKeyBinding(new KeyBinding(
"key.zombies-utils.toggle_player_visibility",
InputUtil.Type.KEYSYM,
GLFW.GLFW_KEY_V,
"category.zombies-utils"
));
ClientTickEvents.END_CLIENT_TICK.register(client -> {
while (PLAYER_VISIBILITY_KEY.wasPressed()) {
PLAYER_VISIBILITY_SWITCH = !PLAYER_VISIBILITY_SWITCH;
MutableText message = PLAYER_VISIBILITY_SWITCH ?
Text.translatable("key.zombies-utils.toggle_player_visibility.toggle_on").setStyle(Style.EMPTY.withColor(Formatting.GREEN).withBold(true)) :
Text.translatable("key.zombies-utils.toggle_player_visibility.toggle_off").setStyle(Style.EMPTY.withColor(Formatting.RED).withBold(true));
client.player.sendMessage(message, false);
}
});
}
}