Search in sources :

Example 1 with Text

use of net.minecraft.text.Text in project Skyblocker by LifeIsAParadox.

the class ResultButtonWidget method renderTooltip.

@Override
public void renderTooltip(MatrixStack matrices, int mouseX, int mouseY) {
    MinecraftClient client = MinecraftClient.getInstance();
    List<Text> tooltip = client.currentScreen.getTooltipFromItem(this.itemStack);
    client.currentScreen.renderTooltip(matrices, tooltip, mouseX, mouseY);
}
Also used : MinecraftClient(net.minecraft.client.MinecraftClient) Text(net.minecraft.text.Text)

Example 2 with Text

use of net.minecraft.text.Text in project Skyblocker by LifeIsAParadox.

the class ThreeWeirdos method onMatch.

@Override
public boolean onMatch(Text message, Matcher matcher) {
    MinecraftClient client = MinecraftClient.getInstance();
    assert client.world != null;
    assert client.player != null;
    client.world.getEntitiesByClass(ArmorStandEntity.class, client.player.getBoundingBox().expand(3), entity -> {
        Text customName = entity.getCustomName();
        if (customName != null && customName.getString().equals(matcher.group(1))) {
            return true;
        }
        return false;
    }).forEach(entity -> entity.setCustomName(Text.of(Formatting.GREEN + matcher.group(1))));
    return false;
}
Also used : SkyblockerConfig(me.xmrvizzy.skyblocker.config.SkyblockerConfig) Formatting(net.minecraft.util.Formatting) Matcher(java.util.regex.Matcher) ChatFilterResult(me.xmrvizzy.skyblocker.chat.ChatFilterResult) ArmorStandEntity(net.minecraft.entity.decoration.ArmorStandEntity) MinecraftClient(net.minecraft.client.MinecraftClient) Text(net.minecraft.text.Text) ChatPatternListener(me.xmrvizzy.skyblocker.chat.ChatPatternListener) MinecraftClient(net.minecraft.client.MinecraftClient) Text(net.minecraft.text.Text) ArmorStandEntity(net.minecraft.entity.decoration.ArmorStandEntity)

Example 3 with Text

use of net.minecraft.text.Text in project MasaGadget by plusls.

the class InventoryOverlayRenderHandler method renderOrderedTooltip.

public void renderOrderedTooltip(MatrixStack matrices, ItemStack stack, int x, int y) {
    y = y + 8;
    MinecraftClient mc = MinecraftClient.getInstance();
    List<OrderedText> lines = Lists.transform(stack.getTooltip(mc.player, mc.options.advancedItemTooltips ? TooltipContext.Default.ADVANCED : TooltipContext.Default.NORMAL), Text::asOrderedText);
    List<TooltipComponent> components = lines.stream().map(TooltipComponent::of).collect(Collectors.toList());
    if (components.isEmpty())
        return;
    int k = 0;
    int l = (components.size() == 1) ? -2 : 0;
    for (TooltipComponent lv : components) {
        int m = lv.getWidth(mc.textRenderer);
        if (m > k)
            k = m;
        l += lv.getHeight();
    }
    int n = x + 12;
    int o = y - 12;
    int p = k;
    int q = l;
    if (n + k > GuiUtils.getScaledWindowWidth())
        n -= 28 + k;
    if (o + q + 6 > GuiUtils.getScaledWindowHeight())
        o = GuiUtils.getScaledWindowHeight() - q - 6;
    matrices.push();
    int r = -267386864;
    int s = 1347420415;
    int t = 1344798847;
    int u = 400;
    float f = mc.getItemRenderer().zOffset;
    mc.getItemRenderer().zOffset = 400.0F;
    Tessellator lv2 = Tessellator.getInstance();
    BufferBuilder lv3 = lv2.getBuffer();
    RenderSystem.setShader(GameRenderer::getPositionColorShader);
    lv3.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_COLOR);
    Matrix4f lv4 = matrices.peek().getPositionMatrix();
    fillGradient(lv4, lv3, n - 3, o - 4, n + p + 3, o - 3, 400, -267386864, -267386864);
    fillGradient(lv4, lv3, n - 3, o + q + 3, n + p + 3, o + q + 4, 400, -267386864, -267386864);
    fillGradient(lv4, lv3, n - 3, o - 3, n + p + 3, o + q + 3, 400, -267386864, -267386864);
    fillGradient(lv4, lv3, n - 4, o - 3, n - 3, o + q + 3, 400, -267386864, -267386864);
    fillGradient(lv4, lv3, n + p + 3, o - 3, n + p + 4, o + q + 3, 400, -267386864, -267386864);
    fillGradient(lv4, lv3, n - 3, o - 3 + 1, n - 3 + 1, o + q + 3 - 1, 400, 1347420415, 1344798847);
    fillGradient(lv4, lv3, n + p + 2, o - 3 + 1, n + p + 3, o + q + 3 - 1, 400, 1347420415, 1344798847);
    fillGradient(lv4, lv3, n - 3, o - 3, n + p + 3, o - 3 + 1, 400, 1347420415, 1347420415);
    fillGradient(lv4, lv3, n - 3, o + q + 2, n + p + 3, o + q + 3, 400, 1344798847, 1344798847);
    RenderSystem.enableDepthTest();
    RenderSystem.disableTexture();
    RenderSystem.enableBlend();
    RenderSystem.defaultBlendFunc();
    lv3.end();
    BufferRenderer.draw(lv3);
    RenderSystem.disableBlend();
    RenderSystem.enableTexture();
    VertexConsumerProvider.Immediate lv5 = VertexConsumerProvider.immediate(Tessellator.getInstance().getBuffer());
    matrices.translate(0.0D, 0.0D, 400.0D);
    int v = o;
    for (int w = 0; w < components.size(); w++) {
        TooltipComponent lv6 = components.get(w);
        lv6.drawText(mc.textRenderer, n, v, lv4, lv5);
        v += lv6.getHeight() + ((w == 0) ? 2 : 0);
    }
    lv5.draw();
    matrices.pop();
    v = o;
    for (int i = 0; i < components.size(); i++) {
        TooltipComponent lv7 = components.get(i);
        lv7.drawItems(mc.textRenderer, n, v, matrices, mc.getItemRenderer(), 400);
        v += lv7.getHeight() + ((i == 0) ? 2 : 0);
    }
    mc.getItemRenderer().zOffset = f;
}
Also used : OrderedText(net.minecraft.text.OrderedText) Text(net.minecraft.text.Text) Matrix4f(net.minecraft.util.math.Matrix4f) MinecraftClient(net.minecraft.client.MinecraftClient) OrderedText(net.minecraft.text.OrderedText) TooltipComponent(net.minecraft.client.gui.tooltip.TooltipComponent)

Example 4 with Text

use of net.minecraft.text.Text in project UniversalGraves by Patbox.

the class GraveListGui method updateIcons.

private void updateIcons() {
    var config = ConfigManager.getConfig();
    for (int x = 0; x < this.size; x++) {
        this.clearSlot(x);
    }
    for (GraveInfo graveInfo : GraveManager.INSTANCE.getByUuid(this.targetUUID)) {
        if (this.getFirstEmptySlot() == -1) {
            return;
        }
        Map<String, Text> placeholders = graveInfo.getPlaceholders();
        List<Text> parsed = new ArrayList<>();
        for (Text text : graveInfo.isProtected() ? ConfigManager.getConfig().guiProtectedText : ConfigManager.getConfig().guiText) {
            MutableText out = (MutableText) PlaceholderAPI.parsePredefinedText(text, PlaceholderAPI.PREDEFINED_PLACEHOLDER_PATTERN, placeholders);
            if (out.getStyle().getColor() == null) {
                out.setStyle(out.getStyle().withColor(Formatting.WHITE));
            }
            parsed.add(out);
        }
        var list = graveInfo.isProtected() ? config.guiProtectedItem : config.guiItem;
        this.addSlot(GuiElementBuilder.from(list[Math.abs(graveInfo.hashCode() % list.length)]).setName((MutableText) parsed.remove(0)).setLore(parsed).setCallback((index, type, action) -> {
            if (Permissions.check(this.player, "universal_graves.teleport", 3)) {
                this.close();
                ServerWorld world = this.player.getServer().getWorld(RegistryKey.of(Registry.WORLD_KEY, graveInfo.getWorld()));
                if (world != null) {
                    var pos = graveInfo.getPosition();
                    this.player.teleport(world, pos.getX() + 0.5, pos.getY() + 1, pos.getZ() + 0.5, this.player.getYaw(), this.player.getPitch());
                }
            }
        }));
    }
}
Also used : MutableText(net.minecraft.text.MutableText) LiteralText(net.minecraft.text.LiteralText) GameProfile(com.mojang.authlib.GameProfile) ServerWorld(net.minecraft.server.world.ServerWorld) Permissions(me.lucko.fabric.api.permissions.v0.Permissions) UUID(java.util.UUID) Registry(net.minecraft.util.registry.Registry) GraveManager(eu.pb4.graves.grave.GraveManager) ArrayList(java.util.ArrayList) Formatting(net.minecraft.util.Formatting) List(java.util.List) ServerPlayerEntity(net.minecraft.server.network.ServerPlayerEntity) ConfigManager(eu.pb4.graves.config.ConfigManager) Map(java.util.Map) MutableText(net.minecraft.text.MutableText) RegistryKey(net.minecraft.util.registry.RegistryKey) PlaceholderAPI(eu.pb4.placeholders.PlaceholderAPI) GuiElementBuilder(eu.pb4.sgui.api.elements.GuiElementBuilder) Text(net.minecraft.text.Text) GraveInfo(eu.pb4.graves.grave.GraveInfo) SimpleGui(eu.pb4.sgui.api.gui.SimpleGui) ScreenHandlerType(net.minecraft.screen.ScreenHandlerType) ServerWorld(net.minecraft.server.world.ServerWorld) GraveInfo(eu.pb4.graves.grave.GraveInfo) ArrayList(java.util.ArrayList) LiteralText(net.minecraft.text.LiteralText) MutableText(net.minecraft.text.MutableText) Text(net.minecraft.text.Text)

Example 5 with Text

use of net.minecraft.text.Text in project UniversalGraves by Patbox.

the class GraveInfo method getPlaceholders.

public Map<String, Text> getPlaceholders() {
    Config config = ConfigManager.getConfig();
    long currentTime = System.currentTimeMillis() / 1000;
    long protectionTime = config.configData.protectionTime > -1 ? config.configData.protectionTime - currentTime + this.creationTime : Long.MAX_VALUE;
    long breakTime = config.configData.breakingTime > -1 ? config.configData.breakingTime - currentTime + this.creationTime : Long.MAX_VALUE;
    Map<String, Text> values = new HashMap<>();
    values.put("player", new LiteralText(this.gameProfile != null ? this.gameProfile.getName() : "<No player!>"));
    values.put("protection_time", new LiteralText("" + (config.configData.protectionTime > -1 ? config.getFormattedTime(protectionTime) : "∞")));
    values.put("break_time", new LiteralText("" + (config.configData.breakingTime > -1 ? config.getFormattedTime(breakTime) : "∞")));
    values.put("xp", new LiteralText("" + this.xp));
    values.put("item_count", new LiteralText("" + this.itemCount));
    values.put("position", new LiteralText("" + this.position.toShortString()));
    values.put("world", new LiteralText(GraveUtils.toWorldName(this.world)));
    values.put("death_cause", this.deathCause);
    return values;
}
Also used : Config(eu.pb4.graves.config.Config) LiteralText(net.minecraft.text.LiteralText) Text(net.minecraft.text.Text) LiteralText(net.minecraft.text.LiteralText)

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