Search in sources :

Example 31 with Text

use of net.minecraft.text.Text in project tweakermore by Fallen-Breath.

the class ShulkerToolTipEnhancer method appendEnchantmentHints.

public static void appendEnchantmentHints(ItemStack itemStack, Text text) {
    if (TweakerMoreConfigs.SHULKER_TOOLTIP_ENCHANTMENT_HINT.getBooleanValue()) {
        List<Text> enchantmentTexts = Lists.newArrayList();
        ListTag enchantmentTag = itemStack.getItem() instanceof EnchantedBookItem ? EnchantedBookItem.getEnchantmentTag(itemStack) : itemStack.getEnchantments();
        ItemStack.appendEnchantments(enchantmentTexts, enchantmentTag);
        int amount = enchantmentTexts.size();
        if (amount > 0) {
            TextRenderer textRenderer = MinecraftClient.getInstance().textRenderer;
            Text extraText = new LiteralText(" | ").formatted(Formatting.DARK_GRAY);
            int idx;
            for (idx = 0; idx < amount; idx++) {
                if (idx > 0 && textRenderer.getStringWidth(extraText.getString() + enchantmentTexts.get(idx).getString()) > MAX_TEXT_LENGTH) {
                    break;
                }
                extraText.append(enchantmentTexts.get(idx));
                if (idx < amount - 1) {
                    extraText.append(new LiteralText(", ").formatted(Formatting.GRAY));
                }
            }
            if (idx < amount) {
                extraText.append(new TranslatableText("tweakermore.config.shulkerTooltipEnchantmentHint.more", amount - idx).formatted(Formatting.GRAY));
            }
            text.append(extraText);
        }
    }
}
Also used : TranslatableText(net.minecraft.text.TranslatableText) EnchantedBookItem(net.minecraft.item.EnchantedBookItem) LiteralText(net.minecraft.text.LiteralText) TranslatableText(net.minecraft.text.TranslatableText) Text(net.minecraft.text.Text) ListTag(net.minecraft.nbt.ListTag) TextRenderer(net.minecraft.client.font.TextRenderer) LiteralText(net.minecraft.text.LiteralText)

Example 32 with Text

use of net.minecraft.text.Text in project KiwiClient by TangyKiwi.

the class BetterChat method onMessageRecieve.

@Subscribe
@AllowConcurrentEvents
public void onMessageRecieve(AddMessageEvent event) {
    ((ChatHudAccessor) mc.inGameHud.getChatHud()).getVisibleMessages().removeIf((message) -> message.getId() == event.id && event.id != 0);
    ((ChatHudAccessor) mc.inGameHud.getChatHud()).getMessages().removeIf((message) -> message.getId() == event.id && event.id != 0);
    Text message = event.message;
    // Timestamps
    if (getSetting(2).asToggle().state) {
        Matcher matcher = Pattern.compile("^(<[0-9]{2}:[0-9]{2}:[0-9]{2}>\\s)").matcher(message.getString());
        if (matcher.matches())
            message.getSiblings().subList(0, 8).clear();
        Text timestamp = new LiteralText("[" + dateFormat.format(new Date()) + "] ").formatted(Formatting.GRAY);
        message = new LiteralText("").append(timestamp).append(message);
    }
    // Player Heads
    if (getSetting(3).asToggle().state) {
        message = new LiteralText("   ").append(message);
    }
    event.setCancelled(true);
    ((IChatHUD) mc.inGameHud.getChatHud()).add(message, event.id, mc.inGameHud.getTicks(), false);
}
Also used : Matcher(java.util.regex.Matcher) LiteralText(net.minecraft.text.LiteralText) Text(net.minecraft.text.Text) IChatHUD(com.tangykiwi.kiwiclient.mixininterface.IChatHUD) Date(java.util.Date) LiteralText(net.minecraft.text.LiteralText) AllowConcurrentEvents(com.google.common.eventbus.AllowConcurrentEvents) Subscribe(com.google.common.eventbus.Subscribe)

Example 33 with Text

use of net.minecraft.text.Text in project KiwiClient by TangyKiwi.

the class BetterTab method getPlayerName.

public Text getPlayerName(PlayerListEntry playerListEntry) {
    Text name;
    Color color = null;
    name = playerListEntry.getDisplayName();
    if (name == null)
        name = new LiteralText(playerListEntry.getProfile().getName());
    if (color != null) {
        String nameString = name.getString();
        for (Formatting format : Formatting.values()) {
            if (format.isColor())
                nameString = nameString.replace(format.toString(), "");
        }
        name = new LiteralText(nameString).setStyle(name.getStyle().withColor(TextColor.fromRgb(color.getRGB())));
    }
    return name;
}
Also used : TextColor(net.minecraft.text.TextColor) Formatting(net.minecraft.util.Formatting) LiteralText(net.minecraft.text.LiteralText) Text(net.minecraft.text.Text) LiteralText(net.minecraft.text.LiteralText)

Example 34 with Text

use of net.minecraft.text.Text in project ImmersivePortalsMod by qouteall.

the class MyCommandServer method register.

public static void register(CommandDispatcher<ServerCommandSource> dispatcher) {
    LiteralArgumentBuilder<ServerCommandSource> builder = CommandManager.literal("portal").requires(commandSource -> commandSource.hasPermissionLevel(2));
    builder.then(CommandManager.literal("border_set").then(CommandManager.argument("x1", IntegerArgumentType.integer()).then(CommandManager.argument("y1", IntegerArgumentType.integer()).then(CommandManager.argument("x2", IntegerArgumentType.integer()).then(CommandManager.argument("y2", IntegerArgumentType.integer()).executes(context -> {
        BorderPortal.setBorderPortal(context.getSource().getWorld(), IntegerArgumentType.getInteger(context, "x1"), IntegerArgumentType.getInteger(context, "y1"), IntegerArgumentType.getInteger(context, "x2"), IntegerArgumentType.getInteger(context, "y2"));
        return 0;
    }))))));
    builder.then(CommandManager.literal("border_remove").executes(context -> {
        BorderPortal.removeBorderPortal(context.getSource().getWorld());
        return 0;
    }));
    builder.then(CommandManager.literal("view_portal_data").executes(context -> {
        return processPortalTargetedCommand(context, (portal) -> {
            sendPortalInfo(context, portal);
        });
    }));
    builder.then(CommandManager.literal("set_portal_custom_name").then(CommandManager.argument("name", TextArgumentType.text()).executes(context -> {
        return processPortalTargetedCommand(context, portal -> {
            Text name = TextArgumentType.getTextArgument(context, "name");
            portal.setCustomName(name);
        });
    })));
    builder.then(CommandManager.literal("delete_portal").executes(context -> processPortalTargetedCommand(context, portal -> {
        sendMessage(context, "deleted " + portal);
        portal.remove();
    })));
    builder.then(CommandManager.literal("set_portal_nbt").then(CommandManager.argument("nbt", NbtCompoundTagArgumentType.nbtCompound()).executes(context -> processPortalTargetedCommand(context, portal -> {
        CompoundTag newNbt = NbtCompoundTagArgumentType.getCompoundTag(context, "nbt");
        CompoundTag portalNbt = portal.toTag(new CompoundTag());
        newNbt.getKeys().forEach(key -> portalNbt.put(key, newNbt.getTag(key)));
        // portalNbt.copyFrom(newNbt);
        UUID uuid = portal.getUuid();
        portal.fromTag(portalNbt);
        portal.setUuid(uuid);
        reloadPortal(portal);
        sendPortalInfo(context, portal);
    }))));
    builder.then(CommandManager.literal("set_portal_destination").then(CommandManager.argument("dim", DimensionArgumentType.dimension()).then(CommandManager.argument("dest", Vec3ArgumentType.vec3()).executes(context -> processPortalTargetedCommand(context, portal -> {
        try {
            portal.dimensionTo = DimensionArgumentType.getDimensionArgument(context, "dim");
            portal.destination = Vec3ArgumentType.getVec3(context, "dest");
            reloadPortal(portal);
            sendMessage(context, portal.toString());
        } catch (CommandSyntaxException ignored) {
            ignored.printStackTrace();
        }
    })))));
    builder.then(CommandManager.literal("tpme").then(CommandManager.argument("dim", DimensionArgumentType.dimension()).then(CommandManager.argument("dest", Vec3ArgumentType.vec3()).executes(context -> {
        DimensionType dimension = DimensionArgumentType.getDimensionArgument(context, "dim");
        Vec3d pos = Vec3ArgumentType.getVec3(context, "dest");
        ServerPlayerEntity player = context.getSource().getPlayer();
        SGlobal.serverTeleportationManager.invokeTpmeCommand(player, dimension, pos);
        return 0;
    }))));
    builder.then(CommandManager.literal("complete_bi_way_portal").executes(context -> processPortalTargetedCommand(context, portal -> {
        Portal result = completeBiWayPortal(portal, p -> sendMessage(context, "Removed " + p));
        sendMessage(context, "Added " + result);
    })));
    builder.then(CommandManager.literal("complete_bi_faced_portal").executes(context -> processPortalTargetedCommand(context, portal -> {
        Portal result = completeBiFacedPortal(portal, p -> sendMessage(context, "Removed " + p));
        sendMessage(context, "Added " + result);
    })));
    builder.then(CommandManager.literal("complete_bi_way_bi_faced_portal").executes(context -> processPortalTargetedCommand(context, portal -> completeBiWayBiFacedPortal(portal, p -> sendMessage(context, "Removed " + p), p -> sendMessage(context, "Added " + p)))));
    builder.then(CommandManager.literal("remove_connected_portals").executes(context -> processPortalTargetedCommand(context, portal -> {
        Consumer<Portal> removalInformer = p -> sendMessage(context, "Removed " + p);
        removeOverlappedPortals(portal.world, portal.getPos(), portal.getNormal().multiply(-1), removalInformer);
        ServerWorld toWorld = McHelper.getServer().getWorld(portal.dimensionTo);
        removeOverlappedPortals(toWorld, portal.destination, portal.getNormal().multiply(-1), removalInformer);
        removeOverlappedPortals(toWorld, portal.destination, portal.getNormal(), removalInformer);
    })));
    builder.then(CommandManager.literal("connect_floor").then(CommandManager.argument("from", DimensionArgumentType.dimension()).then(CommandManager.argument("to", DimensionArgumentType.dimension()).executes(context -> {
        DimensionType from = DimensionArgumentType.getDimensionArgument(context, "from");
        DimensionType to = DimensionArgumentType.getDimensionArgument(context, "to");
        VerticalConnectingPortal.connect(from, VerticalConnectingPortal.ConnectorType.floor, to);
        return 0;
    }))));
    builder.then(CommandManager.literal("connect_ceil").then(CommandManager.argument("from", DimensionArgumentType.dimension()).then(CommandManager.argument("to", DimensionArgumentType.dimension()).executes(context -> {
        DimensionType from = DimensionArgumentType.getDimensionArgument(context, "from");
        DimensionType to = DimensionArgumentType.getDimensionArgument(context, "to");
        VerticalConnectingPortal.connect(from, VerticalConnectingPortal.ConnectorType.ceil, to);
        return 0;
    }))));
    builder.then(CommandManager.literal("connection_floor_remove").then(CommandManager.argument("dim", DimensionArgumentType.dimension()).executes(context -> {
        DimensionType dim = DimensionArgumentType.getDimensionArgument(context, "dim");
        VerticalConnectingPortal.removeConnectingPortal(VerticalConnectingPortal.ConnectorType.floor, dim);
        return 0;
    })));
    builder.then(CommandManager.literal("connection_ceil_remove").then(CommandManager.argument("dim", DimensionArgumentType.dimension()).executes(context -> {
        DimensionType dim = DimensionArgumentType.getDimensionArgument(context, "dim");
        VerticalConnectingPortal.removeConnectingPortal(VerticalConnectingPortal.ConnectorType.ceil, dim);
        return 0;
    })));
    dispatcher.register(builder);
}
Also used : LiteralText(net.minecraft.text.LiteralText) Vec3ArgumentType(net.minecraft.command.arguments.Vec3ArgumentType) CommandDispatcher(com.mojang.brigadier.CommandDispatcher) ServerCommandSource(net.minecraft.server.command.ServerCommandSource) TextArgumentType(net.minecraft.command.arguments.TextArgumentType) ServerWorld(net.minecraft.server.world.ServerWorld) DimensionArgumentType(net.minecraft.command.arguments.DimensionArgumentType) NbtCompoundTagArgumentType(net.minecraft.command.arguments.NbtCompoundTagArgumentType) SpecialPortalShape(com.qouteall.immersive_portals.portal.SpecialPortalShape) ModMain(com.qouteall.immersive_portals.ModMain) Vec3d(net.minecraft.util.math.Vec3d) SGlobal(com.qouteall.immersive_portals.SGlobal) CommandContext(com.mojang.brigadier.context.CommandContext) World(net.minecraft.world.World) Box(net.minecraft.util.math.Box) UUID(java.util.UUID) Helper(com.qouteall.immersive_portals.Helper) Collectors(java.util.stream.Collectors) LiteralArgumentBuilder(com.mojang.brigadier.builder.LiteralArgumentBuilder) Pair(com.mojang.datafixers.util.Pair) CommandManager(net.minecraft.server.command.CommandManager) Consumer(java.util.function.Consumer) McHelper(com.qouteall.immersive_portals.McHelper) VerticalConnectingPortal(com.qouteall.immersive_portals.portal.global_portals.VerticalConnectingPortal) CompoundTag(net.minecraft.nbt.CompoundTag) ServerPlayerEntity(net.minecraft.server.network.ServerPlayerEntity) DimensionType(net.minecraft.world.dimension.DimensionType) Portal(com.qouteall.immersive_portals.portal.Portal) Text(net.minecraft.text.Text) Comparator(java.util.Comparator) IntegerArgumentType(com.mojang.brigadier.arguments.IntegerArgumentType) CommandSyntaxException(com.mojang.brigadier.exceptions.CommandSyntaxException) BorderPortal(com.qouteall.immersive_portals.portal.global_portals.BorderPortal) DimensionType(net.minecraft.world.dimension.DimensionType) LiteralText(net.minecraft.text.LiteralText) Text(net.minecraft.text.Text) ServerPlayerEntity(net.minecraft.server.network.ServerPlayerEntity) Vec3d(net.minecraft.util.math.Vec3d) ServerCommandSource(net.minecraft.server.command.ServerCommandSource) ServerWorld(net.minecraft.server.world.ServerWorld) VerticalConnectingPortal(com.qouteall.immersive_portals.portal.global_portals.VerticalConnectingPortal) Portal(com.qouteall.immersive_portals.portal.Portal) BorderPortal(com.qouteall.immersive_portals.portal.global_portals.BorderPortal) UUID(java.util.UUID) CompoundTag(net.minecraft.nbt.CompoundTag) CommandSyntaxException(com.mojang.brigadier.exceptions.CommandSyntaxException)

Example 35 with Text

use of net.minecraft.text.Text in project pingspam by BasiqueEvangelist.

the class ServerPlayerEntityMixin method writeDataToTag.

@Inject(method = "writeCustomDataToTag", at = @At("TAIL"))
private void writeDataToTag(CompoundTag tag, CallbackInfo cb) {
    ListTag pingsTag = new ListTag();
    for (Text ping : pings) {
        pingsTag.add(StringTag.of(Text.Serializer.toJson(ping)));
    }
    tag.put("UnreadPings", pingsTag);
    ListTag aliasesTag = new ListTag();
    for (String alias : aliases) {
        aliasesTag.add(StringTag.of(alias));
    }
    tag.put("Shortnames", aliasesTag);
    ListTag pingGroupsTag = new ListTag();
    for (String pingGroup : pingGroups) {
        pingGroupsTag.add(StringTag.of(pingGroup));
    }
    tag.put("PingGroups", pingGroupsTag);
    ListTag ignoredPlayersListTag = new ListTag();
    for (UUID ignoredPlayer : ignoredPlayers) {
        ignoredPlayersListTag.add(NbtHelper.fromUuid(ignoredPlayer));
    }
    tag.put("IgnoredPlayers", ignoredPlayersListTag);
    if (pingSound != null) {
        tag.putString("PingSound", ((SoundEventAccessor) pingSound).pingspam$getId().toString());
    } else {
        tag.putString("PingSound", "null");
    }
}
Also used : LiteralText(net.minecraft.text.LiteralText) Text(net.minecraft.text.Text) UUID(java.util.UUID) Inject(org.spongepowered.asm.mixin.injection.Inject)

Aggregations

Text (net.minecraft.text.Text)80 LiteralText (net.minecraft.text.LiteralText)53 TranslatableText (net.minecraft.text.TranslatableText)19 MutableText (net.minecraft.text.MutableText)9 ItemStack (net.minecraft.item.ItemStack)8 MinecraftClient (net.minecraft.client.MinecraftClient)7 Formatting (net.minecraft.util.Formatting)7 ArrayList (java.util.ArrayList)6 HoverEvent (net.minecraft.text.HoverEvent)5 TextColor (net.minecraft.text.TextColor)5 Inject (org.spongepowered.asm.mixin.injection.Inject)5 List (java.util.List)4 ServerCommandSource (net.minecraft.server.command.ServerCommandSource)4 ServerPlayerEntity (net.minecraft.server.network.ServerPlayerEntity)4 BaseText (net.minecraft.text.BaseText)4 CommandDispatcher (com.mojang.brigadier.CommandDispatcher)3 UUID (java.util.UUID)3 Matcher (java.util.regex.Matcher)3 NbtCompound (net.minecraft.nbt.NbtCompound)3 OrderedText (net.minecraft.text.OrderedText)3