Search in sources :

Example 36 with Text

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

the class PingLogic method pingOnlinePlayer.

public static void pingOnlinePlayer(ServerPlayerEntity player, Text message, MessageType type, UUID senderUUID) {
    SoundEvent pingSound = PlayerUtils.getPingSound(player);
    if (pingSound != null) {
        player.playSound(pingSound, SoundCategory.PLAYERS, 1.0F, 1.0F);
    }
    List<Text> unreadPings = PlayerUtils.getUnreadPingsFor(player);
    while (unreadPings.size() >= 100) {
        unreadPings.remove(0);
    }
    unreadPings.add(message);
    Text pingMessage = message.shallowCopy().formatted(Formatting.AQUA);
    player.networkHandler.sendPacket(new GameMessageS2CPacket(pingMessage, type, senderUUID));
}
Also used : SoundEvent(net.minecraft.sound.SoundEvent) GameMessageS2CPacket(net.minecraft.network.packet.s2c.play.GameMessageS2CPacket) LiteralText(net.minecraft.text.LiteralText) Text(net.minecraft.text.Text)

Example 37 with Text

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

the class NotificationsCommand method showNotifications.

public static int showNotifications(CommandContext<ServerCommandSource> ctx) throws CommandSyntaxException {
    ServerCommandSource src = ctx.getSource();
    List<Text> notifs = PlayerUtils.getUnreadPingsFor(src.getPlayer());
    if (!notifs.isEmpty()) {
        MutableText response = new LiteralText("You have " + notifs.size() + " unread message" + (notifs.size() != 1 ? "s" : "") + ":").formatted(Formatting.GREEN);
        for (Text notif : notifs) {
            response.append(new LiteralText("\n- ").formatted(Formatting.WHITE).append(notif));
        }
        src.sendFeedback(response, false);
        notifs.clear();
        return 1;
    } else {
        src.sendFeedback(new LiteralText("You have no unread messages.").formatted(Formatting.GREEN), false);
        return 0;
    }
}
Also used : MutableText(net.minecraft.text.MutableText) LiteralText(net.minecraft.text.LiteralText) MutableText(net.minecraft.text.MutableText) Text(net.minecraft.text.Text) ServerCommandSource(net.minecraft.server.command.ServerCommandSource) LiteralText(net.minecraft.text.LiteralText)

Example 38 with Text

use of net.minecraft.text.Text in project LittleMaidReBirth-Fabric by SistrScarlet.

the class LittleMaidScreen method init.

@Override
protected void init() {
    super.init();
    if (openAt == null) {
        client.openScreen(null);
        return;
    }
    int left = (int) ((this.width - backgroundWidth) / 2F) - 5;
    int top = (int) ((this.height - backgroundHeight) / 2F);
    int size = 20;
    int layer = -1;
    this.addButton(new ButtonWidget(left - size, top + size * ++layer, size, size, new LiteralText(""), button -> OpenIFFScreenPacket.sendC2SPacket(openAt)) {

        @Override
        public void renderButton(MatrixStack matrices, int p_renderButton_1_, int p_renderButton_2_, float p_renderButton_3_) {
            super.renderButton(matrices, p_renderButton_1_, p_renderButton_2_, p_renderButton_3_);
            itemRenderer.renderGuiItemIcon(BOOK, this.x - 8 + this.width / 2, this.y - 8 + this.height / 2);
        }
    });
    this.addButton(new ButtonWidget(left - size, top + size * ++layer, size, size, new LiteralText(""), button -> {
        openAt.setConfigHolder(LMConfigManager.INSTANCE.getAnyConfig());
        SyncSoundConfigPacket.sendC2SPacket(openAt, openAt.getConfigHolder().getName());
    }, (button, matrices, x, y) -> {
        String text = openAt.getConfigHolder().getName();
        float renderX = Math.max(0, x - textRenderer.getWidth(text) / 2F);
        textRenderer.drawWithShadow(matrices, text, renderX, y - textRenderer.fontHeight / 2F, 0xFFFFFF);
    }) {

        @Override
        public void renderButton(MatrixStack matrices, int x, int y, float delta) {
            super.renderButton(matrices, x, y, delta);
            itemRenderer.renderGuiItemIcon(NOTE, this.x - 8 + this.width / 2, this.y - 8 + this.height / 2);
        }
    });
    this.addButton(new ButtonWidget(left - size, top + size * ++layer, size, size, new LiteralText(""), button -> client.openScreen(new ModelSelectScreen(title, openAt.world, openAt))) {

        @Override
        public void renderButton(MatrixStack matrices, int p_renderButton_1_, int p_renderButton_2_, float p_renderButton_3_) {
            super.renderButton(matrices, p_renderButton_1_, p_renderButton_2_, p_renderButton_3_);
            itemRenderer.renderGuiItemIcon(ARMOR, this.x - 8 + this.width / 2, this.y - 8 + this.height / 2);
        }
    });
    this.addButton(new ButtonWidget(left - size, top + size * ++layer, size, size, new LiteralText(""), button -> {
        openAt.setMovingState(openAt.getMovingState() == Tameable.MovingState.FREEDOM ? Tameable.MovingState.WAIT : Tameable.MovingState.FREEDOM);
        stateText = getStateText();
    }) {

        @Override
        public void renderButton(MatrixStack matrices, int mouseX, int mouseY, float delta) {
            super.renderButton(matrices, mouseX, mouseY, delta);
            itemRenderer.renderGuiItemIcon(FEATHER, this.x - 8 + this.width / 2, this.y - 8 + this.height / 2);
        }
    });
    stateText = getStateText();
}
Also used : LiteralText(net.minecraft.text.LiteralText) InventoryScreen(net.minecraft.client.gui.screen.ingame.InventoryScreen) Environment(net.fabricmc.api.Environment) TranslatableText(net.minecraft.text.TranslatableText) OpenIFFScreenPacket(net.sistr.littlemaidrebirth.network.OpenIFFScreenPacket) ItemStack(net.minecraft.item.ItemStack) MutableText(net.minecraft.text.MutableText) EnvType(net.fabricmc.api.EnvType) LMConfigManager(net.sistr.lmml.resource.manager.LMConfigManager) SyncSoundConfigPacket(net.sistr.littlemaidrebirth.network.SyncSoundConfigPacket) Tameable(net.sistr.littlemaidrebirth.entity.Tameable) LittleMaidScreenHandler(net.sistr.littlemaidrebirth.entity.LittleMaidScreenHandler) PlayerInventory(net.minecraft.entity.player.PlayerInventory) LittleMaidEntity(net.sistr.littlemaidrebirth.entity.LittleMaidEntity) ModelSelectScreen(net.sistr.lmml.client.ModelSelectScreen) MatrixStack(net.minecraft.client.util.math.MatrixStack) ButtonWidget(net.minecraft.client.gui.widget.ButtonWidget) Items(net.minecraft.item.Items) LittleMaidReBirthMod(net.sistr.littlemaidrebirth.LittleMaidReBirthMod) MathHelper(net.minecraft.util.math.MathHelper) SyncMovingStatePacket(net.sistr.littlemaidrebirth.network.SyncMovingStatePacket) RenderSystem(com.mojang.blaze3d.systems.RenderSystem) Identifier(net.minecraft.util.Identifier) Text(net.minecraft.text.Text) HandledScreen(net.minecraft.client.gui.screen.ingame.HandledScreen) ModelSelectScreen(net.sistr.lmml.client.ModelSelectScreen) MatrixStack(net.minecraft.client.util.math.MatrixStack) ButtonWidget(net.minecraft.client.gui.widget.ButtonWidget) LiteralText(net.minecraft.text.LiteralText)

Example 39 with Text

use of net.minecraft.text.Text in project JexClient by DustinRepo.

the class MixinSignEditScreen method init.

@Inject(method = "init", at = @At("RETURN"))
public void init(CallbackInfo ci) {
    AutoSign autoSign = Feature.get(AutoSign.class);
    this.addDrawableChild(new ButtonWidget(this.width / 2 - 100, this.height / 4 + 142, 200, 20, new LiteralText("Set AutoSign Text"), (buttonWidget_1) -> {
        autoSign.signText[0] = sign.getTextOnRow(0, false);
        autoSign.signText[1] = sign.getTextOnRow(1, false);
        autoSign.signText[2] = sign.getTextOnRow(2, false);
        autoSign.signText[3] = sign.getTextOnRow(3, false);
        finishEditing();
    }));
}
Also used : Wrapper(me.dustin.jex.helper.misc.Wrapper) LiteralText(net.minecraft.text.LiteralText) SignEditScreen(net.minecraft.client.gui.screen.ingame.SignEditScreen) Inject(org.spongepowered.asm.mixin.injection.Inject) Feature(me.dustin.jex.feature.mod.core.Feature) ButtonWidget(net.minecraft.client.gui.widget.ButtonWidget) Final(org.spongepowered.asm.mixin.Final) CallbackInfo(org.spongepowered.asm.mixin.injection.callback.CallbackInfo) Screen(net.minecraft.client.gui.screen.Screen) Mixin(org.spongepowered.asm.mixin.Mixin) SignBlockEntity(net.minecraft.block.entity.SignBlockEntity) Shadow(org.spongepowered.asm.mixin.Shadow) Text(net.minecraft.text.Text) AutoSign(me.dustin.jex.feature.mod.impl.world.AutoSign) At(org.spongepowered.asm.mixin.injection.At) AutoSign(me.dustin.jex.feature.mod.impl.world.AutoSign) ButtonWidget(net.minecraft.client.gui.widget.ButtonWidget) LiteralText(net.minecraft.text.LiteralText) Inject(org.spongepowered.asm.mixin.injection.Inject)

Example 40 with Text

use of net.minecraft.text.Text in project JexClient by DustinRepo.

the class ServerPinger method ping.

private void ping(InetSocketAddress inetAddress) {
    final ClientConnection clientConnection = ClientConnection.connect(inetAddress, false);
    clientConnection.setPacketListener(new ClientQueryPacketListener() {

        @Override
        public void onResponse(QueryResponseS2CPacket packet) {
            ServerMetadata serverMetadata = packet.getServerMetadata();
            ChatHelper.INSTANCE.addRawMessage(serverMetadata.getDescription().getString());
            if (serverMetadata.getPlayers() != null) {
                ChatHelper.INSTANCE.addRawMessage("Players: ");
                for (GameProfile gameProfile : serverMetadata.getPlayers().getSample()) {
                    if (gameProfile.getId().compareTo(emptyUUID) != 0)
                        ChatHelper.INSTANCE.addRawMessage(Formatting.DARK_GRAY + gameProfile.getName());
                }
            }
        }

        @Override
        public void onPong(QueryPongS2CPacket packet) {
            long pingTime = System.currentTimeMillis() - packet.getStartTime();
            ChatHelper.INSTANCE.addRawMessage("Ping: " + pingTime);
        }

        @Override
        public void onDisconnected(Text reason) {
            ChatHelper.INSTANCE.addRawMessage("Disconnected: " + reason);
        }

        @Override
        public ClientConnection getConnection() {
            return clientConnection;
        }
    });
    clientConnection.send(new HandshakeC2SPacket(inetAddress.getAddress().getHostAddress(), inetAddress.getPort(), NetworkState.STATUS));
    clientConnection.send(new QueryRequestC2SPacket());
    clientConnection.send(new QueryPingC2SPacket(System.currentTimeMillis()));
}
Also used : QueryPingC2SPacket(net.minecraft.network.packet.c2s.query.QueryPingC2SPacket) ClientQueryPacketListener(net.minecraft.network.listener.ClientQueryPacketListener) HandshakeC2SPacket(net.minecraft.network.packet.c2s.handshake.HandshakeC2SPacket) GameProfile(com.mojang.authlib.GameProfile) QueryRequestC2SPacket(net.minecraft.network.packet.c2s.query.QueryRequestC2SPacket) QueryResponseS2CPacket(net.minecraft.network.packet.s2c.query.QueryResponseS2CPacket) ServerMetadata(net.minecraft.server.ServerMetadata) ClientConnection(net.minecraft.network.ClientConnection) Text(net.minecraft.text.Text) QueryPongS2CPacket(net.minecraft.network.packet.s2c.query.QueryPongS2CPacket)

Aggregations

Text (net.minecraft.text.Text)108 LiteralText (net.minecraft.text.LiteralText)70 TranslatableText (net.minecraft.text.TranslatableText)35 Inject (org.spongepowered.asm.mixin.injection.Inject)14 ArrayList (java.util.ArrayList)13 ItemStack (net.minecraft.item.ItemStack)12 MinecraftClient (net.minecraft.client.MinecraftClient)11 MutableText (net.minecraft.text.MutableText)10 Formatting (net.minecraft.util.Formatting)10 ServerPlayerEntity (net.minecraft.server.network.ServerPlayerEntity)9 List (java.util.List)7 ServerCommandSource (net.minecraft.server.command.ServerCommandSource)6 HoverEvent (net.minecraft.text.HoverEvent)6 TextColor (net.minecraft.text.TextColor)6 Mixin (org.spongepowered.asm.mixin.Mixin)6 At (org.spongepowered.asm.mixin.injection.At)6 ButtonWidget (net.minecraft.client.gui.widget.ButtonWidget)5 Redirect (org.spongepowered.asm.mixin.injection.Redirect)5 JsonObject (com.google.gson.JsonObject)4 GameProfile (com.mojang.authlib.GameProfile)4