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));
}
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;
}
}
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();
}
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();
}));
}
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()));
}
Aggregations