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