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