object.add( "clickEvent", clickEvent ); if ( component.getHoverEvent() != null ) hoverEvent.addProperty( "action", component.getHoverEvent().getAction().toString().toLowerCase( Locale.ROOT ) ); hoverEvent.add( "value", context.serialize( component.getHoverEvent().getValue() ) ); object.add( "hoverEvent", hoverEvent );
setHoverEvent( component.getHoverEvent() );
private static void processTranslate(BaseComponent component) { if (component instanceof TranslatableComponent) { String oldTranslate = ((TranslatableComponent) component).getTranslate(); String newTranslate; newTranslate = MappingData.translateMapping.get(oldTranslate); if (newTranslate == null) MappingData.mojangTranslation.get(oldTranslate); if (newTranslate != null) { ((TranslatableComponent) component).setTranslate(newTranslate); } if (((TranslatableComponent) component).getWith() != null) { for (BaseComponent baseComponent : ((TranslatableComponent) component).getWith()) { processTranslate(baseComponent); } } } if (component.getHoverEvent() != null) { for (BaseComponent baseComponent : component.getHoverEvent().getValue()) { processTranslate(baseComponent); } } if (component.getExtra() != null) { for (BaseComponent baseComponent : component.getExtra()) { processTranslate(baseComponent); } } } }
object.add( "clickEvent", clickEvent ); if ( component.getHoverEvent() != null ) hoverEvent.addProperty( "action", component.getHoverEvent().getAction().toString().toLowerCase() ); hoverEvent.add( "value", context.serialize( component.getHoverEvent().getValue() ) ); object.add( "hoverEvent", hoverEvent );
/** * Retains only the specified formatting. Text is not modified. * * @param retention the formatting to retain * @return this ComponentBuilder for chaining */ public ComponentBuilder retain(FormatRetention retention) { BaseComponent previous = current; switch ( retention ) { case NONE: current = new TextComponent( current.getText() ); break; case ALL: // No changes are required break; case EVENTS: current = new TextComponent( current.getText() ); current.setInsertion( previous.getInsertion() ); current.setClickEvent( previous.getClickEvent() ); current.setHoverEvent( previous.getHoverEvent() ); break; case FORMATTING: current.setClickEvent( null ); current.setHoverEvent( null ); break; } return this; }
BaseComponent(BaseComponent old) { setColor( old.getColorRaw() ); setBold( old.isBoldRaw() ); setItalic( old.isItalicRaw() ); setUnderlined( old.isUnderlinedRaw() ); setStrikethrough( old.isStrikethroughRaw() ); setObfuscated( old.isObfuscatedRaw() ); setInsertion( old.getInsertion() ); setClickEvent( old.getClickEvent() ); setHoverEvent( old.getHoverEvent() ); if ( old.getExtra() != null ) { for ( BaseComponent component : old.getExtra() ) { addExtra( component.duplicate() ); } } }