mirror of
https://github.com/SpigotMC/BungeeCord.git
synced 2024-09-30 22:57:32 +02:00
Create shorter toString of components
- stop mentioning null values - use shorter names - seamless integration of style's toString Also use just one string builder and keep track of whether a comma is needed before the next property.
This commit is contained in:
parent
ee02d98cb2
commit
0a97ab6fb9
@ -6,12 +6,10 @@ import lombok.AccessLevel;
|
|||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import lombok.ToString;
|
|
||||||
import net.md_5.bungee.api.ChatColor;
|
import net.md_5.bungee.api.ChatColor;
|
||||||
import net.md_5.bungee.api.chat.ComponentBuilder.FormatRetention;
|
import net.md_5.bungee.api.chat.ComponentBuilder.FormatRetention;
|
||||||
|
|
||||||
@Setter
|
@Setter
|
||||||
@ToString(exclude = "parent")
|
|
||||||
@EqualsAndHashCode(exclude = "parent")
|
@EqualsAndHashCode(exclude = "parent")
|
||||||
public abstract class BaseComponent
|
public abstract class BaseComponent
|
||||||
{
|
{
|
||||||
@ -690,4 +688,55 @@ public abstract class BaseComponent
|
|||||||
builder.append( ChatColor.MAGIC );
|
builder.append( ChatColor.MAGIC );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString()
|
||||||
|
{
|
||||||
|
StringBuilder builder = new StringBuilder( toStringName() ).append( "{" );
|
||||||
|
toString( builder, false );
|
||||||
|
return builder.append( "}" ).toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
String toStringName()
|
||||||
|
{
|
||||||
|
return "BaseComponent";
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean toString(StringBuilder builder, boolean comma)
|
||||||
|
{
|
||||||
|
if ( style != null )
|
||||||
|
{
|
||||||
|
comma = style.toString( builder, comma );
|
||||||
|
}
|
||||||
|
if ( insertion != null )
|
||||||
|
{
|
||||||
|
if ( comma ) builder.append( ", " );
|
||||||
|
comma = true;
|
||||||
|
builder.append( "insertion=" ).append( insertion );
|
||||||
|
}
|
||||||
|
if ( clickEvent != null )
|
||||||
|
{
|
||||||
|
if ( comma ) builder.append( ", " );
|
||||||
|
comma = true;
|
||||||
|
builder.append( "clickEvent=" ).append( clickEvent );
|
||||||
|
}
|
||||||
|
if ( hoverEvent != null )
|
||||||
|
{
|
||||||
|
if ( comma ) builder.append( ", " );
|
||||||
|
comma = true;
|
||||||
|
builder.append( "hoverEvent=" ).append( hoverEvent );
|
||||||
|
}
|
||||||
|
if ( reset )
|
||||||
|
{
|
||||||
|
if ( comma ) builder.append( ", " );
|
||||||
|
comma = true;
|
||||||
|
builder.append( "reset" );
|
||||||
|
}
|
||||||
|
if ( extra != null )
|
||||||
|
{
|
||||||
|
if ( comma ) builder.append( ", " );
|
||||||
|
builder.append( "extra=" ).append( extra );
|
||||||
|
}
|
||||||
|
return comma;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -200,6 +200,61 @@ public final class ComponentStyle implements Cloneable
|
|||||||
&& strikethrough == null && obfuscated == null;
|
&& strikethrough == null && obfuscated == null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString()
|
||||||
|
{
|
||||||
|
StringBuilder builder = new StringBuilder( "ComponentStyle{" );
|
||||||
|
toString( builder, false );
|
||||||
|
return builder.append( "}" ).toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean toString(StringBuilder builder, boolean comma)
|
||||||
|
{
|
||||||
|
if ( color != null )
|
||||||
|
{
|
||||||
|
if ( comma ) builder.append( ", " );
|
||||||
|
comma = true;
|
||||||
|
builder.append( "color=" ).append( color );
|
||||||
|
}
|
||||||
|
if ( font != null )
|
||||||
|
{
|
||||||
|
if ( comma ) builder.append( ", " );
|
||||||
|
comma = true;
|
||||||
|
builder.append( "font=" ).append( font ).append( ", " );
|
||||||
|
}
|
||||||
|
if ( bold != null )
|
||||||
|
{
|
||||||
|
if ( comma ) builder.append( ", " );
|
||||||
|
comma = true;
|
||||||
|
builder.append( "bold=" ).append( bold );
|
||||||
|
}
|
||||||
|
if ( italic != null )
|
||||||
|
{
|
||||||
|
if ( comma ) builder.append( ", " );
|
||||||
|
comma = true;
|
||||||
|
builder.append( "italic=" ).append( italic );
|
||||||
|
}
|
||||||
|
if ( underlined != null )
|
||||||
|
{
|
||||||
|
if ( comma ) builder.append( ", " );
|
||||||
|
comma = true;
|
||||||
|
builder.append( "underlined=" ).append( underlined );
|
||||||
|
}
|
||||||
|
if ( strikethrough != null )
|
||||||
|
{
|
||||||
|
if ( comma ) builder.append( ", " );
|
||||||
|
comma = true;
|
||||||
|
builder.append( "strikethrough=" ).append( strikethrough );
|
||||||
|
}
|
||||||
|
if ( obfuscated != null )
|
||||||
|
{
|
||||||
|
if ( comma ) builder.append( ", " );
|
||||||
|
comma = true;
|
||||||
|
builder.append( "obfuscated=" ).append( obfuscated );
|
||||||
|
}
|
||||||
|
return comma;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ComponentStyle clone()
|
public ComponentStyle clone()
|
||||||
{
|
{
|
||||||
|
@ -4,11 +4,9 @@ import lombok.EqualsAndHashCode;
|
|||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import lombok.ToString;
|
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@ToString
|
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
public final class KeybindComponent extends BaseComponent
|
public final class KeybindComponent extends BaseComponent
|
||||||
@ -63,4 +61,20 @@ public final class KeybindComponent extends BaseComponent
|
|||||||
builder.append( getKeybind() );
|
builder.append( getKeybind() );
|
||||||
super.toLegacyText( builder );
|
super.toLegacyText( builder );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
String toStringName()
|
||||||
|
{
|
||||||
|
return "Keybind";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
boolean toString(StringBuilder builder, boolean comma)
|
||||||
|
{
|
||||||
|
if ( comma ) builder.append( ", " );
|
||||||
|
comma = true;
|
||||||
|
builder.append( "keybind=" ).append( keybind );
|
||||||
|
return super.toString( builder, comma );
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,6 @@ import lombok.AllArgsConstructor;
|
|||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import lombok.ToString;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This component displays the score based on a player score on the scoreboard.
|
* This component displays the score based on a player score on the scoreboard.
|
||||||
@ -25,7 +24,6 @@ import lombok.ToString;
|
|||||||
*/
|
*/
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@ToString
|
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
public final class ScoreComponent extends BaseComponent
|
public final class ScoreComponent extends BaseComponent
|
||||||
@ -98,4 +96,24 @@ public final class ScoreComponent extends BaseComponent
|
|||||||
builder.append( this.value );
|
builder.append( this.value );
|
||||||
super.toLegacyText( builder );
|
super.toLegacyText( builder );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
String toStringName()
|
||||||
|
{
|
||||||
|
return "Score";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
boolean toString(StringBuilder builder, boolean comma)
|
||||||
|
{
|
||||||
|
if ( comma ) builder.append( ", " );
|
||||||
|
comma = true;
|
||||||
|
builder.append( "name=" ).append( name ).append( ", " )
|
||||||
|
.append( "objective=" ).append( objective );
|
||||||
|
if ( value != null )
|
||||||
|
{
|
||||||
|
builder.append( ", " ).append( "value=" ).append( value );
|
||||||
|
}
|
||||||
|
return super.toString( builder, comma );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,6 @@ import lombok.AllArgsConstructor;
|
|||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import lombok.ToString;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This component processes a target selector into a pre-formatted set of
|
* This component processes a target selector into a pre-formatted set of
|
||||||
@ -21,7 +20,6 @@ import lombok.ToString;
|
|||||||
*/
|
*/
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@ToString
|
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
public final class SelectorComponent extends BaseComponent
|
public final class SelectorComponent extends BaseComponent
|
||||||
@ -82,4 +80,23 @@ public final class SelectorComponent extends BaseComponent
|
|||||||
builder.append( this.selector );
|
builder.append( this.selector );
|
||||||
super.toLegacyText( builder );
|
super.toLegacyText( builder );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
String toStringName()
|
||||||
|
{
|
||||||
|
return "Selector";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
boolean toString(StringBuilder builder, boolean comma)
|
||||||
|
{
|
||||||
|
if ( comma ) builder.append( ", " );
|
||||||
|
comma = true;
|
||||||
|
builder.append( "selector=" ).append( selector );
|
||||||
|
if ( separator != null )
|
||||||
|
{
|
||||||
|
builder.append( ", " ).append( "separator=" ).append( separator );
|
||||||
|
}
|
||||||
|
return super.toString( builder, comma );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -295,8 +295,21 @@ public final class TextComponent extends BaseComponent
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString()
|
String toStringName()
|
||||||
{
|
{
|
||||||
return "TextComponent{text=" + text + ", " + super.toString() + '}';
|
return "Text";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
boolean toString(StringBuilder builder, boolean comma)
|
||||||
|
{
|
||||||
|
if ( comma )
|
||||||
|
{
|
||||||
|
builder.append( ", " );
|
||||||
|
}
|
||||||
|
comma = true;
|
||||||
|
builder.append( "t=" ).append( text );
|
||||||
|
return super.toString( builder, comma );
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -8,12 +8,10 @@ import lombok.EqualsAndHashCode;
|
|||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import lombok.ToString;
|
|
||||||
import net.md_5.bungee.chat.TranslationRegistry;
|
import net.md_5.bungee.chat.TranslationRegistry;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@ToString
|
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
public final class TranslatableComponent extends BaseComponent
|
public final class TranslatableComponent extends BaseComponent
|
||||||
@ -227,4 +225,28 @@ public final class TranslatableComponent extends BaseComponent
|
|||||||
builder.append( trans.substring( position, trans.length() ) );
|
builder.append( trans.substring( position, trans.length() ) );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
String toStringName()
|
||||||
|
{
|
||||||
|
return "Translatable";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
boolean toString(StringBuilder builder, boolean comma)
|
||||||
|
{
|
||||||
|
if ( comma ) builder.append( ", " );
|
||||||
|
comma = true;
|
||||||
|
builder.append( "translate=" ).append( translate );
|
||||||
|
if ( with != null )
|
||||||
|
{
|
||||||
|
builder.append( ", with=" ).append( with );
|
||||||
|
}
|
||||||
|
if ( fallback != null )
|
||||||
|
{
|
||||||
|
builder.append( ", fallback=" ).append( fallback );
|
||||||
|
}
|
||||||
|
return super.toString( builder, comma );
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user