Java 类net.minecraft.util.text.event.HoverEvent 实例源码
项目:Backmemed
文件:ItemStack.java
/**
* Get a ChatComponent for this Item's display name that shows this Item on hover
*/
public ITextComponent getTextComponent()
{
TextComponentString textcomponentstring = new TextComponentString(this.getDisplayName());
if (this.hasDisplayName())
{
textcomponentstring.getStyle().setItalic(Boolean.valueOf(true));
}
ITextComponent itextcomponent = (new TextComponentString("[")).appendSibling(textcomponentstring).appendText("]");
if (!this.field_190928_g)
{
NBTTagCompound nbttagcompound = this.writeToNBT(new NBTTagCompound());
itextcomponent.getStyle().setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_ITEM, new TextComponentString(nbttagcompound.toString())));
itextcomponent.getStyle().setColor(this.getRarity().rarityColor);
}
return itextcomponent;
}
项目:CustomWorldGen
文件:ItemStack.java
/**
* Get a ChatComponent for this Item's display name that shows this Item on hover
*/
public ITextComponent getTextComponent()
{
TextComponentString textcomponentstring = new TextComponentString(this.getDisplayName());
if (this.hasDisplayName())
{
textcomponentstring.getStyle().setItalic(Boolean.valueOf(true));
}
ITextComponent itextcomponent = (new TextComponentString("[")).appendSibling(textcomponentstring).appendText("]");
if (this.item != null)
{
NBTTagCompound nbttagcompound = this.writeToNBT(new NBTTagCompound());
itextcomponent.getStyle().setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_ITEM, new TextComponentString(nbttagcompound.toString())));
itextcomponent.getStyle().setColor(this.getRarity().rarityColor);
}
return itextcomponent;
}
项目:Snitch-Master
文件:ChatSnitchParser.java
private boolean tryParsePlaceMessage(ITextComponent msg)
{
List<ITextComponent> siblings = msg.getSiblings();
if (siblings.size() <= 0)
return false;
ITextComponent hoverComponent = siblings.get(0);
HoverEvent hover = hoverComponent.getStyle().getHoverEvent();
if (hover != null)
{
String text = hover.getValue().getUnformattedComponentText();
Snitch snitch = parseSnitchFromChat(text);
if (snitch != null)
{
manager.submitSnitch(snitch);
return true;
}
}
return false;
}
项目:ExpandedRailsMod
文件:ItemStack.java
/**
* Get a ChatComponent for this Item's display name that shows this Item on hover
*/
public ITextComponent getTextComponent()
{
TextComponentString textcomponentstring = new TextComponentString(this.getDisplayName());
if (this.hasDisplayName())
{
textcomponentstring.getStyle().setItalic(Boolean.valueOf(true));
}
ITextComponent itextcomponent = (new TextComponentString("[")).appendSibling(textcomponentstring).appendText("]");
if (this.item != null)
{
NBTTagCompound nbttagcompound = this.writeToNBT(new NBTTagCompound());
itextcomponent.getStyle().setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_ITEM, new TextComponentString(nbttagcompound.toString())));
itextcomponent.getStyle().setColor(this.getRarity().rarityColor);
}
return itextcomponent;
}
项目:ClientAPI
文件:ChatBuilder.java
/**
* Appends a string with the specified color(s) and an event
* triggered on text click and on text hover. Only one actual
* color should be specified, any other {@code TextFormatting}
* type should be styling. (Bold, Italic, Underline, Strikethrough,
* and Obfuscated)
*
* @param text The string being appended
* @param clickEvent Click event to be used
* @param hoverEvent Hover event to be used
* @param colors Color formatting
* @return This builder
*/
public final ChatBuilder append(String text, @Nullable ClickEvent clickEvent, @Nullable HoverEvent hoverEvent, TextFormatting... colors) {
TextComponentString component = new TextComponentString(text);
Style style = component.getStyle();
Arrays.stream(colors).forEach(color -> {
switch (color) {
case BOLD: {
style.setBold(true);
break;
}
case ITALIC: {
style.setItalic(true);
break;
}
case UNDERLINE: {
style.setUnderlined(true);
break;
}
case STRIKETHROUGH: {
style.setStrikethrough(true);
break;
}
case OBFUSCATED: {
style.setObfuscated(true);
break;
}
default: {
style.setColor(color);
break;
}
}
});
// noinspection ConstantConditions
style.setClickEvent(clickEvent).setHoverEvent(hoverEvent);
this.component.appendSibling(component);
return this;
}
项目:UniversalRemote
文件:TextFormatter.java
public static ITextComponent addHoverText(ITextComponent component, ITextComponent hoverComponent)
{
Style s = component.getStyle();
s.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, hoverComponent));
component.setStyle(s);
return component;
}
项目:Backmemed
文件:Entity.java
protected HoverEvent getHoverEvent()
{
NBTTagCompound nbttagcompound = new NBTTagCompound();
ResourceLocation resourcelocation = EntityList.func_191301_a(this);
nbttagcompound.setString("id", this.getCachedUniqueIdString());
if (resourcelocation != null)
{
nbttagcompound.setString("type", resourcelocation.toString());
}
nbttagcompound.setString("name", this.getName());
return new HoverEvent(HoverEvent.Action.SHOW_ENTITY, new TextComponentString(nbttagcompound.toString()));
}
项目:Backmemed
文件:StatBase.java
public ITextComponent getStatName()
{
ITextComponent itextcomponent = this.statName.createCopy();
itextcomponent.getStyle().setColor(TextFormatting.GRAY);
itextcomponent.getStyle().setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_ACHIEVEMENT, new TextComponentString(this.statId)));
return itextcomponent;
}
项目:Backmemed
文件:Style.java
@Nullable
/**
* The effective chat hover event.
*/
public HoverEvent getHoverEvent()
{
return this.hoverEvent == null ? this.getParent().getHoverEvent() : this.hoverEvent;
}
项目:CustomWorldGen
文件:Entity.java
protected HoverEvent getHoverEvent()
{
NBTTagCompound nbttagcompound = new NBTTagCompound();
String s = EntityList.getEntityString(this);
nbttagcompound.setString("id", this.getCachedUniqueIdString());
if (s != null)
{
nbttagcompound.setString("type", s);
}
nbttagcompound.setString("name", this.getName());
return new HoverEvent(HoverEvent.Action.SHOW_ENTITY, new TextComponentString(nbttagcompound.toString()));
}
项目:CustomWorldGen
文件:StatBase.java
public ITextComponent getStatName()
{
ITextComponent itextcomponent = this.statName.createCopy();
itextcomponent.getStyle().setColor(TextFormatting.GRAY);
itextcomponent.getStyle().setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_ACHIEVEMENT, new TextComponentString(this.statId)));
return itextcomponent;
}
项目:Snitch-Master
文件:QuietTimeHandler.java
private ITextComponent parseHover(SnitchAlert alert)
{
try
{
//If we are parsing a hover then the current index is for the hover instruction
//That means that we have 2 parts: 1-TEXT YOU SEE IN CHAT, 2-TEXT THAT YOU SEE WHEN YOU HOVER
//Either of those 2 could be a string substitution or a variable instruction
String text;
//Move index to the first instruction part (text to show in chat)
index++;
String showText = getTextForCurrentInstruction(alert);
//Move index to second instruction part (text shown on hover)
index++;
String hoverText = getTextForCurrentInstruction(alert);
index++;
HoverEvent hoverEvent = new HoverEvent(HoverEvent.Action.SHOW_TEXT, new TextComponentString(hoverText));
ITextComponent hoverComponent = new TextComponentString(showText).setStyle(new Style().setColor(TextFormatting.AQUA).setHoverEvent(hoverEvent));
index--;//????
return hoverComponent;
}
catch (Exception e)
{
return null;
}
}
项目:blockbuster
文件:GuiReplay.java
/**
* Send record message to the player
*/
private void sendRecordMessage()
{
EntityPlayer player = this.mc.thePlayer;
if (this.filename.getText().isEmpty())
{
L10n.error(player, "recording.fill_filename");
return;
}
String command = "/action record " + this.filename.getText() + " " + this.pos.getX() + " " + this.pos.getY() + " " + this.pos.getZ();
ITextComponent component = new TextComponentString(stringClickhere);
component.getStyle().setClickEvent(new ClickEvent(Action.RUN_COMMAND, command));
component.getStyle().setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new TextComponentString(command)));
component.getStyle().setColor(TextFormatting.GRAY).setUnderlined(true);
L10n.info(player, "recording.message", this.filename.getText(), component);
/* Add the command to the history */
List<String> messages = this.mc.ingameGUI.getChatGUI().getSentMessages();
boolean empty = messages.isEmpty();
boolean lastMessageIsntCommand = !empty && !messages.get(messages.size() - 1).equals(command);
if (lastMessageIsntCommand || empty)
{
messages.add(command);
}
}
项目:D3Core
文件:EventHandler.java
@SubscribeEvent
public static void playerDeath(LivingDeathEvent event)
{
if (event.getEntityLiving() instanceof EntityPlayer && printDeathCoords)
{
TextComponentString posText = new TextComponentString("X: " + MathHelper.floor(event.getEntityLiving().posX) + " Y: " + MathHelper.floor(event.getEntityLiving().posY + 0.5d) + " Z: " + MathHelper.floor(event.getEntityLiving().posZ));
try
{
MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance();
if (server.getCommandManager().getPossibleCommands(event.getEntityLiving()).contains(server.getCommandManager().getCommands().get("tp")))
{
posText.setStyle(new Style().setItalic(true)
.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new TextComponentString("Click to teleport!")))
.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/tp " + MathHelper.floor(event.getEntityLiving().posX) + " " + MathHelper.floor(event.getEntityLiving().posY + 0.5d) + " " + MathHelper.floor(event.getEntityLiving().posZ))));
}
if (server.getCommandManager().getPossibleCommands(event.getEntityLiving()).contains(server.getCommandManager().getCommands().get("tpx")))
{
posText.setStyle(new Style().setItalic(true)
.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new TextComponentString("Click to teleport!")))
.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/tpx " + ((EntityPlayer) event.getEntityLiving()).dimension + " " + MathHelper.floor(event.getEntityLiving().posX) + " " + MathHelper.floor(event.getEntityLiving().posY + 0.5d) + " " + MathHelper.floor(event.getEntityLiving().posZ))));
}
}
catch (Exception ignored)
{
}
event.getEntityLiving().sendMessage(new TextComponentString("You died at ").setStyle(new Style().setColor(TextFormatting.AQUA)).appendSibling(posText));
}
}
项目:ExpandedRailsMod
文件:Entity.java
protected HoverEvent getHoverEvent()
{
NBTTagCompound nbttagcompound = new NBTTagCompound();
String s = EntityList.getEntityString(this);
nbttagcompound.setString("id", this.getCachedUniqueIdString());
if (s != null)
{
nbttagcompound.setString("type", s);
}
nbttagcompound.setString("name", this.getName());
return new HoverEvent(HoverEvent.Action.SHOW_ENTITY, new TextComponentString(nbttagcompound.toString()));
}
项目:CreeperHostGui
文件:GuiPersonalDetails.java
@Override
public void drawScreen(int mouseX, int mouseY, float partialTicks)
{
this.drawDefaultBackground();
super.drawScreen(mouseX, mouseY, partialTicks);
if (!orderPressed || isSure)
{
for (TextFieldDetails field : this.fields)
{
if (loginMode)
{
if (field.getId() < 2)
{
field.drawTextBox();
}
}
else
{
field.drawTextBox();
}
}
if (loginMode)
{
if (loggingIn)
{
this.drawCenteredString(fontRendererObj, Util.localize("details.login"), this.width / 2, (this.height / 2) - 20, 0xFFFFFF);
}
else if (!loggingInError.isEmpty())
{
this.drawCenteredString(fontRendererObj, Util.localize("details.loginerror") + loggingInError, this.width / 2, (this.height / 2) - 20, 0xFFFFFF);
}
else if (loggedIn)
{
this.drawCenteredString(fontRendererObj, Util.localize("details.loginsuccess"), this.width / 2, (this.height / 2) - 20, 0xFFFFFF);
}
else
{
this.drawCenteredString(fontRendererObj, Util.localize("details.accountexists"), this.width / 2, (this.height / 2) - 20, 0xFFFFFF);
}
}
}
else
{
int info2Start = (this.height / 2) - 50;
this.drawCenteredString(fontRendererObj, Util.localize("order.info1"), this.width / 2, (this.height / 2) - 60, 0xFFFFFF);
this.drawCenteredString(fontRendererObj, info2.getFormattedText(), this.width / 2, (this.height / 2) - 50, 0xFFFFFF);
this.drawCenteredString(fontRendererObj, Util.localize("order.info3"), this.width / 2, (this.height / 2) - 30, 0xFFFFFF);
this.drawCenteredString(fontRendererObj, Util.localize("order.info4"), this.width / 2, (this.height / 2) - 20, 0xFFFFFF);
if (mouseY >= info2Start && mouseY <= info2Start + fontRendererObj.FONT_HEIGHT)
{
ITextComponent component = getComponent(mouseX, mouseY);
if (component != null)
{
HoverEvent event = component.getStyle().getHoverEvent();
if (event != null)
if (event.getAction() == HoverEvent.Action.SHOW_TEXT)
this.drawHoveringText(Splitter.on("\n").splitToList(event.getValue().getFormattedText()), mouseX, mouseY);
}
}
}
}
项目:Backmemed
文件:Style.java
@Nullable
public HoverEvent getHoverEvent()
{
return null;
}
项目:Backmemed
文件:Style.java
public Style setHoverEvent(HoverEvent event)
{
throw new UnsupportedOperationException();
}
项目:Backmemed
文件:Style.java
/**
* Sets the event that should be run when text of this ChatStyle is hovered over.
*/
public Style setHoverEvent(HoverEvent event)
{
this.hoverEvent = event;
return this;
}
项目:CustomWorldGen
文件:Style.java
/**
* The effective chat hover event.
*/
@Nullable
public HoverEvent getHoverEvent()
{
return null;
}
项目:CustomWorldGen
文件:Style.java
/**
* Sets the event that should be run when text of this ChatStyle is hovered over.
*/
public Style setHoverEvent(HoverEvent event)
{
throw new UnsupportedOperationException();
}
项目:CustomWorldGen
文件:Style.java
/**
* The effective chat hover event.
*/
@Nullable
public HoverEvent getHoverEvent()
{
return this.hoverEvent == null ? this.getParent().getHoverEvent() : this.hoverEvent;
}
项目:CustomWorldGen
文件:Style.java
/**
* Sets the event that should be run when text of this ChatStyle is hovered over.
*/
public Style setHoverEvent(HoverEvent event)
{
this.hoverEvent = event;
return this;
}
项目:Snitch-Master
文件:ChatSnitchParser.java
private boolean tryParseNameChangeMessage(ITextComponent msg)
{
List<ITextComponent> siblings = msg.getSiblings();
if (siblings.size() <= 0)
return false;
ITextComponent hoverComponent = siblings.get(0);
HoverEvent hover = hoverComponent.getStyle().getHoverEvent();
if (hover != null)
{
String text = hover.getValue().getUnformattedComponentText();
try
{
String[] args = text.split("\n");
String[] worldArgs = args[0].split(" ");
String[] locationArgs = args[1].split(":")[1].split(" ");
String newName = args[6].trim();
int x, y, z;
x = Integer.parseInt(locationArgs[1].substring(1));
y = Integer.parseInt(locationArgs[2]);
z = Integer.parseInt(locationArgs[3].substring(0, locationArgs[3].length() - 1));
String world = worldArgs.length > 1 ? worldArgs[1] : snitchMaster.getCurrentWorld();
Location loc = new Location(x, y, z, world);
Snitch snitch = manager.getSnitches().get(loc);
if(snitch != null)
{
snitch.setSnitchName(newName);
snitchMaster.individualJourneyMapUpdate(snitch);
return true;
}
}
catch (Exception e)
{
return false;
}
}
return false;
}
项目:Wizardry
文件:VersionChecker.java
@SubscribeEvent
@SideOnly(Side.CLIENT)
public void onTick(TickEvent.ClientTickEvent event) {
EntityPlayer player = Minecraft.getMinecraft().player;
if (!ConfigValues.versionCheckerEnabled) return;
if (doneChecking && event.phase == TickEvent.Phase.END && player != null && !triedToWarnPlayer) {
ITextComponent component = new TextComponentString("[").setStyle(new Style().setColor(TextFormatting.GREEN))
.appendSibling(new TextComponentTranslation("wizardry.misc.update_link").setStyle(new Style().setColor(TextFormatting.GRAY)))
.appendSibling(new TextComponentString("]").setStyle(new Style().setColor(TextFormatting.GREEN)));
component.getStyle()
.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new TextComponentString(updateMessage)))
.setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, "https://minecraft.curseforge.com/projects/wizardry-mod/files"));
if (onlineVersion != null && !onlineVersion.isEmpty()) {
String clientBuild = Wizardry.VERSION;
if (Utils.compareVersions(onlineVersion, clientBuild) == 1) {
ArrayList<String> messages = new ArrayList<>();
String base = "wizardry.update";
int n = 0;
while (LibrarianLib.PROXY.canTranslate(base + n))
messages.add(base + n++);
if (messages.isEmpty())
messages.add("wizardry.misc.update_link");
player.sendMessage(new TextComponentTranslation(messages.get(RandUtil.nextInt(messages.size() - 1))).setStyle(new Style().setColor(TextFormatting.YELLOW)));
player.sendMessage(new TextComponentTranslation("wizardry.misc.update_checker0")
.setStyle(new Style().setColor(TextFormatting.GREEN)));
player.sendMessage(new TextComponentTranslation("wizardry.misc.update_checker1")
.setStyle(new Style().setColor(TextFormatting.GREEN))
.appendSibling(new TextComponentString(clientBuild).setStyle(new Style().setColor(TextFormatting.RED))));
player.sendMessage(new TextComponentTranslation("wizardry.misc.update_checker2")
.setStyle(new Style().setColor(TextFormatting.GREEN))
.appendSibling(new TextComponentString(onlineVersion).setStyle(new Style().setColor(TextFormatting.YELLOW))));
if (updateMessage != null && !updateMessage.isEmpty())
player.sendMessage(component);
} else if (updateMessage != null && !updateMessage.isEmpty())
player.sendMessage(component);
}
triedToWarnPlayer = true;
}
}
项目:SettlerCraft
文件:EntityPlayerWrappedSettler.java
@Override
protected HoverEvent getHoverEvent() {
return getSettler().getHoverEvent();
}
项目:SettlerCraft
文件:EntitySettler.java
@Override
public HoverEvent getHoverEvent() {
return super.getHoverEvent();
}
项目:Easy-Editors
文件:CommandHelpManager.java
public ComponentImage(String location, int u, int v, int width, int height, int viewportWidth,
int viewportHeight, HoverEvent hoverEvent, ClickEvent clickEvent) {
this.fontRenderer = Minecraft.getMinecraft().fontRendererObj;
this.textureManager = Minecraft.getMinecraft().getTextureManager();
this.location = new ResourceLocation(location);
BufferedImage theImage;
try {
theImage = ImageIO.read(
Minecraft.getMinecraft().getResourceManager().getResource(this.location).getInputStream());
if (width <= 0)
width = theImage.getWidth();
if (height <= 0)
height = theImage.getHeight();
} catch (IOException e) {
theImage = null;
}
this.theImage = theImage;
if (u + width >= theImage.getWidth()) {
u = 0;
width = theImage.getWidth();
}
if (v + height >= theImage.getHeight()) {
v = 0;
height = theImage.getHeight();
}
if (viewportWidth == 0)
viewportWidth = width;
if (viewportHeight == 0)
viewportHeight = height;
this.u = u;
this.v = v;
this.width = width;
this.height = height;
this.viewportWidth = viewportWidth;
this.viewportHeight = viewportHeight;
this.hoverEvent = hoverEvent;
this.clickEvent = clickEvent;
}
项目:AgriCraft
文件:DebugModeIGrowable.java
@Override
public void debugActionBlockClicked(ItemStack stack, EntityPlayer player, World world, BlockPos pos, EnumHand hand, EnumFacing side, float hitX, float hitY, float hitZ) {
if (world.isRemote) {
return;
}
// Start with the position of the block that was clicked on. '7' is gray. Btw, the chat font is not fixed width. :(
StringBuilder outputRaw = new StringBuilder(String.format("\u00A77%1$4d,%2$4d,%3$4d\u00A7r ", pos.getX(), pos.getY(), pos.getZ()));
// Check if the clicked on block has the IGrowable interface.
final IGrowable crop = WorldHelper.getBlock(world, pos, IGrowable.class).orElse(null);
if (crop == null) {
// If it does not, add a nicely formatted report, then skip onward.
outputRaw.append(chatNotIG);
} else {
// Otherwise run the tests and record the results.
IBlockState state = world.getBlockState(pos);
outputRaw.append(crop.canGrow(world, pos, state, false) ? chatTrue : chatFalse); // canGrow
outputRaw.append(crop.canUseBonemeal(world, world.rand, pos, state) ? chatTrue : chatFalse); // canUseBonemeal
crop.grow(world, world.rand, pos, state); // grow
// It's also helpful to also make clear what block was being tested.
outputRaw.append("\u00A73"); // '3' is dark aqua.
outputRaw.append(crop.toString().replaceFirst("Block",""));
outputRaw.append("\u00A7r");
}
// Ellipsis are added as a clue that there's more text.
outputRaw.append(" \u00A78[...]\u00A7r"); // '8' is dark gray.
// Create a hover box with explanatory information.
TextComponentString hoverComponent = new TextComponentString(chatInfo);
HoverEvent hoverEvent = new HoverEvent(HoverEvent.Action.SHOW_TEXT, hoverComponent);
// Turn the output String into a chat message.
TextComponentString outputComponent = new TextComponentString(outputRaw.toString());
// Add the hover box to the chat message.
outputComponent.getStyle().setHoverEvent(hoverEvent);
// Now send the completed chat message.
player.sendMessage(outputComponent);
}
项目:MnM-Utils
文件:AbstractChatBuilder.java
@Override
public ITextBuilder hover(HoverEvent event) {
checkCreated();
current.getStyle().setHoverEvent(event);
return this;
}
项目:TabbyChat-2
文件:AbstractChatBuilder.java
@Override
public ITextBuilder hover(HoverEvent event) {
checkCreated();
current.getStyle().setHoverEvent(event);
return this;
}
项目:ClientAPI
文件:ChatBuilder.java
/**
* Appends a string with the specified color(s)
* and an event triggered on text hover.
*
* @param text The string being appended
* @param hoverEvent Hover event to be used
* @param colors Color formatting
* @return This builder
*/
public final ChatBuilder append(String text, HoverEvent hoverEvent, TextFormatting... colors) {
this.append(text, null, hoverEvent, colors);
return this;
}
项目:MnM-Utils
文件:ITextBuilder.java
ITextBuilder hover(HoverEvent event);
项目:TabbyChat-2
文件:ITextBuilder.java
ITextBuilder hover(HoverEvent event);