You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
676 lines
24 KiB
Java
676 lines
24 KiB
Java
package net.minecraft.util;
|
|
|
|
import com.google.gson.JsonDeserializationContext;
|
|
import com.google.gson.JsonDeserializer;
|
|
import com.google.gson.JsonElement;
|
|
import com.google.gson.JsonObject;
|
|
import com.google.gson.JsonPrimitive;
|
|
import com.google.gson.JsonSerializationContext;
|
|
import com.google.gson.JsonSerializer;
|
|
import cpw.mods.fml.relauncher.Side;
|
|
import cpw.mods.fml.relauncher.SideOnly;
|
|
import java.lang.reflect.Type;
|
|
import net.minecraft.event.ClickEvent;
|
|
import net.minecraft.event.HoverEvent;
|
|
|
|
public class ChatStyle
|
|
{
|
|
/** The parent of this ChatStyle. Used for looking up values that this instance does not override. */
|
|
private ChatStyle parentStyle;
|
|
private EnumChatFormatting color;
|
|
private Boolean bold;
|
|
private Boolean italic;
|
|
private Boolean underlined;
|
|
private Boolean strikethrough;
|
|
private Boolean obfuscated;
|
|
private ClickEvent chatClickEvent;
|
|
private HoverEvent chatHoverEvent;
|
|
/** The base of the ChatStyle hierarchy. All ChatStyle instances are implicitly children of this. */
|
|
private static final ChatStyle rootStyle = new ChatStyle()
|
|
{
|
|
private static final String __OBFID = "CL_00001267";
|
|
/**
|
|
* Gets the effective color of this ChatStyle.
|
|
*/
|
|
public EnumChatFormatting getColor()
|
|
{
|
|
return null;
|
|
}
|
|
/**
|
|
* Whether or not text of this ChatStyle should be in bold.
|
|
*/
|
|
public boolean getBold()
|
|
{
|
|
return false;
|
|
}
|
|
/**
|
|
* Whether or not text of this ChatStyle should be italicized.
|
|
*/
|
|
public boolean getItalic()
|
|
{
|
|
return false;
|
|
}
|
|
/**
|
|
* Whether or not to format text of this ChatStyle using strikethrough.
|
|
*/
|
|
public boolean getStrikethrough()
|
|
{
|
|
return false;
|
|
}
|
|
/**
|
|
* Whether or not text of this ChatStyle should be underlined.
|
|
*/
|
|
public boolean getUnderlined()
|
|
{
|
|
return false;
|
|
}
|
|
/**
|
|
* Whether or not text of this ChatStyle should be obfuscated.
|
|
*/
|
|
public boolean getObfuscated()
|
|
{
|
|
return false;
|
|
}
|
|
/**
|
|
* The effective chat click event.
|
|
*/
|
|
public ClickEvent getChatClickEvent()
|
|
{
|
|
return null;
|
|
}
|
|
/**
|
|
* The effective chat hover event.
|
|
*/
|
|
public HoverEvent getChatHoverEvent()
|
|
{
|
|
return null;
|
|
}
|
|
/**
|
|
* Sets the color for this ChatStyle to the given value. Only use color values for this; set other values using
|
|
* the specific methods.
|
|
*/
|
|
public ChatStyle setColor(EnumChatFormatting colorIn)
|
|
{
|
|
throw new UnsupportedOperationException();
|
|
}
|
|
/**
|
|
* Sets whether or not text of this ChatStyle should be in bold. Set to false if, e.g., the parent style is
|
|
* bold and you want text of this style to be unbolded.
|
|
*/
|
|
public ChatStyle setBold(Boolean p_150227_1_)
|
|
{
|
|
throw new UnsupportedOperationException();
|
|
}
|
|
/**
|
|
* Sets whether or not text of this ChatStyle should be italicized. Set to false if, e.g., the parent style is
|
|
* italicized and you want to override that for this style.
|
|
*/
|
|
public ChatStyle setItalic(Boolean p_150217_1_)
|
|
{
|
|
throw new UnsupportedOperationException();
|
|
}
|
|
/**
|
|
* Sets whether or not to format text of this ChatStyle using strikethrough. Set to false if, e.g., the parent
|
|
* style uses strikethrough and you want to override that for this style.
|
|
*/
|
|
public ChatStyle setStrikethrough(Boolean p_150225_1_)
|
|
{
|
|
throw new UnsupportedOperationException();
|
|
}
|
|
/**
|
|
* Sets whether or not text of this ChatStyle should be underlined. Set to false if, e.g., the parent style is
|
|
* underlined and you want to override that for this style.
|
|
*/
|
|
public ChatStyle setUnderlined(Boolean p_150228_1_)
|
|
{
|
|
throw new UnsupportedOperationException();
|
|
}
|
|
/**
|
|
* Sets whether or not text of this ChatStyle should be obfuscated. Set to false if, e.g., the parent style is
|
|
* obfuscated and you want to override that for this style.
|
|
*/
|
|
public ChatStyle setObfuscated(Boolean p_150237_1_)
|
|
{
|
|
throw new UnsupportedOperationException();
|
|
}
|
|
/**
|
|
* Sets the event that should be run when text of this ChatStyle is clicked on.
|
|
*/
|
|
public ChatStyle setChatClickEvent(ClickEvent p_150241_1_)
|
|
{
|
|
throw new UnsupportedOperationException();
|
|
}
|
|
/**
|
|
* Sets the event that should be run when text of this ChatStyle is hovered over.
|
|
*/
|
|
public ChatStyle setChatHoverEvent(HoverEvent p_150209_1_)
|
|
{
|
|
throw new UnsupportedOperationException();
|
|
}
|
|
/**
|
|
* Sets the fallback ChatStyle to use if this ChatStyle does not override some value. Without a parent, obvious
|
|
* defaults are used (bold: false, underlined: false, etc).
|
|
*/
|
|
public ChatStyle setParentStyle(ChatStyle p_150221_1_)
|
|
{
|
|
throw new UnsupportedOperationException();
|
|
}
|
|
public String toString()
|
|
{
|
|
return "Style.ROOT";
|
|
}
|
|
/**
|
|
* Creates a shallow copy of this style. Changes to this instance's values will not be reflected in the copy,
|
|
* but changes to the parent style's values WILL be reflected in both this instance and the copy, wherever
|
|
* either does not override a value.
|
|
*/
|
|
public ChatStyle createShallowCopy()
|
|
{
|
|
return this;
|
|
}
|
|
/**
|
|
* Creates a deep copy of this style. No changes to this instance or its parent style will be reflected in the
|
|
* copy.
|
|
*/
|
|
public ChatStyle createDeepCopy()
|
|
{
|
|
return this;
|
|
}
|
|
/**
|
|
* Gets the equivalent text formatting code for this style, without the initial section sign (U+00A7) character.
|
|
*/
|
|
@SideOnly(Side.CLIENT)
|
|
public String getFormattingCode()
|
|
{
|
|
return "";
|
|
}
|
|
};
|
|
private static final String __OBFID = "CL_00001266";
|
|
|
|
/**
|
|
* Gets the effective color of this ChatStyle.
|
|
*/
|
|
public EnumChatFormatting getColor()
|
|
{
|
|
return this.color == null ? this.getParent().getColor() : this.color;
|
|
}
|
|
|
|
/**
|
|
* Whether or not text of this ChatStyle should be in bold.
|
|
*/
|
|
public boolean getBold()
|
|
{
|
|
return this.bold == null ? this.getParent().getBold() : this.bold.booleanValue();
|
|
}
|
|
|
|
/**
|
|
* Whether or not text of this ChatStyle should be italicized.
|
|
*/
|
|
public boolean getItalic()
|
|
{
|
|
return this.italic == null ? this.getParent().getItalic() : this.italic.booleanValue();
|
|
}
|
|
|
|
/**
|
|
* Whether or not to format text of this ChatStyle using strikethrough.
|
|
*/
|
|
public boolean getStrikethrough()
|
|
{
|
|
return this.strikethrough == null ? this.getParent().getStrikethrough() : this.strikethrough.booleanValue();
|
|
}
|
|
|
|
/**
|
|
* Whether or not text of this ChatStyle should be underlined.
|
|
*/
|
|
public boolean getUnderlined()
|
|
{
|
|
return this.underlined == null ? this.getParent().getUnderlined() : this.underlined.booleanValue();
|
|
}
|
|
|
|
/**
|
|
* Whether or not text of this ChatStyle should be obfuscated.
|
|
*/
|
|
public boolean getObfuscated()
|
|
{
|
|
return this.obfuscated == null ? this.getParent().getObfuscated() : this.obfuscated.booleanValue();
|
|
}
|
|
|
|
/**
|
|
* Whether or not this style is empty (inherits everything from the parent).
|
|
*/
|
|
public boolean isEmpty()
|
|
{
|
|
return this.bold == null && this.italic == null && this.strikethrough == null && this.underlined == null && this.obfuscated == null && this.color == null && this.chatClickEvent == null && this.chatHoverEvent == null;
|
|
}
|
|
|
|
/**
|
|
* The effective chat click event.
|
|
*/
|
|
public ClickEvent getChatClickEvent()
|
|
{
|
|
return this.chatClickEvent == null ? this.getParent().getChatClickEvent() : this.chatClickEvent;
|
|
}
|
|
|
|
/**
|
|
* The effective chat hover event.
|
|
*/
|
|
public HoverEvent getChatHoverEvent()
|
|
{
|
|
return this.chatHoverEvent == null ? this.getParent().getChatHoverEvent() : this.chatHoverEvent;
|
|
}
|
|
|
|
/**
|
|
* Sets the color for this ChatStyle to the given value. Only use color values for this; set other values using the
|
|
* specific methods.
|
|
*/
|
|
public ChatStyle setColor(EnumChatFormatting colorIn)
|
|
{
|
|
this.color = colorIn;
|
|
return this;
|
|
}
|
|
|
|
/**
|
|
* Sets whether or not text of this ChatStyle should be in bold. Set to false if, e.g., the parent style is bold
|
|
* and you want text of this style to be unbolded.
|
|
*/
|
|
public ChatStyle setBold(Boolean p_150227_1_)
|
|
{
|
|
this.bold = p_150227_1_;
|
|
return this;
|
|
}
|
|
|
|
/**
|
|
* Sets whether or not text of this ChatStyle should be italicized. Set to false if, e.g., the parent style is
|
|
* italicized and you want to override that for this style.
|
|
*/
|
|
public ChatStyle setItalic(Boolean p_150217_1_)
|
|
{
|
|
this.italic = p_150217_1_;
|
|
return this;
|
|
}
|
|
|
|
/**
|
|
* Sets whether or not to format text of this ChatStyle using strikethrough. Set to false if, e.g., the parent
|
|
* style uses strikethrough and you want to override that for this style.
|
|
*/
|
|
public ChatStyle setStrikethrough(Boolean p_150225_1_)
|
|
{
|
|
this.strikethrough = p_150225_1_;
|
|
return this;
|
|
}
|
|
|
|
/**
|
|
* Sets whether or not text of this ChatStyle should be underlined. Set to false if, e.g., the parent style is
|
|
* underlined and you want to override that for this style.
|
|
*/
|
|
public ChatStyle setUnderlined(Boolean p_150228_1_)
|
|
{
|
|
this.underlined = p_150228_1_;
|
|
return this;
|
|
}
|
|
|
|
/**
|
|
* Sets whether or not text of this ChatStyle should be obfuscated. Set to false if, e.g., the parent style is
|
|
* obfuscated and you want to override that for this style.
|
|
*/
|
|
public ChatStyle setObfuscated(Boolean p_150237_1_)
|
|
{
|
|
this.obfuscated = p_150237_1_;
|
|
return this;
|
|
}
|
|
|
|
/**
|
|
* Sets the event that should be run when text of this ChatStyle is clicked on.
|
|
*/
|
|
public ChatStyle setChatClickEvent(ClickEvent p_150241_1_)
|
|
{
|
|
this.chatClickEvent = p_150241_1_;
|
|
return this;
|
|
}
|
|
|
|
/**
|
|
* Sets the event that should be run when text of this ChatStyle is hovered over.
|
|
*/
|
|
public ChatStyle setChatHoverEvent(HoverEvent p_150209_1_)
|
|
{
|
|
this.chatHoverEvent = p_150209_1_;
|
|
return this;
|
|
}
|
|
|
|
/**
|
|
* Sets the fallback ChatStyle to use if this ChatStyle does not override some value. Without a parent, obvious
|
|
* defaults are used (bold: false, underlined: false, etc).
|
|
*/
|
|
public ChatStyle setParentStyle(ChatStyle p_150221_1_)
|
|
{
|
|
this.parentStyle = p_150221_1_;
|
|
return this;
|
|
}
|
|
|
|
/**
|
|
* Gets the equivalent text formatting code for this style, without the initial section sign (U+00A7) character.
|
|
*/
|
|
@SideOnly(Side.CLIENT)
|
|
public String getFormattingCode()
|
|
{
|
|
if (this.isEmpty())
|
|
{
|
|
return this.parentStyle != null ? this.parentStyle.getFormattingCode() : "";
|
|
}
|
|
else
|
|
{
|
|
StringBuilder stringbuilder = new StringBuilder();
|
|
|
|
if (this.getColor() != null)
|
|
{
|
|
stringbuilder.append(this.getColor());
|
|
}
|
|
|
|
if (this.getBold())
|
|
{
|
|
stringbuilder.append(EnumChatFormatting.BOLD);
|
|
}
|
|
|
|
if (this.getItalic())
|
|
{
|
|
stringbuilder.append(EnumChatFormatting.ITALIC);
|
|
}
|
|
|
|
if (this.getUnderlined())
|
|
{
|
|
stringbuilder.append(EnumChatFormatting.UNDERLINE);
|
|
}
|
|
|
|
if (this.getObfuscated())
|
|
{
|
|
stringbuilder.append(EnumChatFormatting.OBFUSCATED);
|
|
}
|
|
|
|
if (this.getStrikethrough())
|
|
{
|
|
stringbuilder.append(EnumChatFormatting.STRIKETHROUGH);
|
|
}
|
|
|
|
return stringbuilder.toString();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Gets the immediate parent of this ChatStyle.
|
|
*/
|
|
private ChatStyle getParent()
|
|
{
|
|
return this.parentStyle == null ? rootStyle : this.parentStyle;
|
|
}
|
|
|
|
public String toString()
|
|
{
|
|
return "Style{hasParent=" + (this.parentStyle != null) + ", color=" + this.color + ", bold=" + this.bold + ", italic=" + this.italic + ", underlined=" + this.underlined + ", obfuscated=" + this.obfuscated + ", clickEvent=" + this.getChatClickEvent() + ", hoverEvent=" + this.getChatHoverEvent() + '}';
|
|
}
|
|
|
|
public boolean equals(Object p_equals_1_)
|
|
{
|
|
if (this == p_equals_1_)
|
|
{
|
|
return true;
|
|
}
|
|
else if (!(p_equals_1_ instanceof ChatStyle))
|
|
{
|
|
return false;
|
|
}
|
|
else
|
|
{
|
|
ChatStyle chatstyle = (ChatStyle)p_equals_1_;
|
|
boolean flag;
|
|
|
|
if (this.getBold() == chatstyle.getBold() && this.getColor() == chatstyle.getColor() && this.getItalic() == chatstyle.getItalic() && this.getObfuscated() == chatstyle.getObfuscated() && this.getStrikethrough() == chatstyle.getStrikethrough() && this.getUnderlined() == chatstyle.getUnderlined())
|
|
{
|
|
label56:
|
|
{
|
|
if (this.getChatClickEvent() != null)
|
|
{
|
|
if (!this.getChatClickEvent().equals(chatstyle.getChatClickEvent()))
|
|
{
|
|
break label56;
|
|
}
|
|
}
|
|
else if (chatstyle.getChatClickEvent() != null)
|
|
{
|
|
break label56;
|
|
}
|
|
|
|
if (this.getChatHoverEvent() != null)
|
|
{
|
|
if (!this.getChatHoverEvent().equals(chatstyle.getChatHoverEvent()))
|
|
{
|
|
break label56;
|
|
}
|
|
}
|
|
else if (chatstyle.getChatHoverEvent() != null)
|
|
{
|
|
break label56;
|
|
}
|
|
|
|
flag = true;
|
|
return flag;
|
|
}
|
|
}
|
|
|
|
flag = false;
|
|
return flag;
|
|
}
|
|
}
|
|
|
|
public int hashCode()
|
|
{
|
|
int i = this.color.hashCode();
|
|
i = 31 * i + this.bold.hashCode();
|
|
i = 31 * i + this.italic.hashCode();
|
|
i = 31 * i + this.underlined.hashCode();
|
|
i = 31 * i + this.strikethrough.hashCode();
|
|
i = 31 * i + this.obfuscated.hashCode();
|
|
i = 31 * i + this.chatClickEvent.hashCode();
|
|
i = 31 * i + this.chatHoverEvent.hashCode();
|
|
return i;
|
|
}
|
|
|
|
/**
|
|
* Creates a shallow copy of this style. Changes to this instance's values will not be reflected in the copy, but
|
|
* changes to the parent style's values WILL be reflected in both this instance and the copy, wherever either does
|
|
* not override a value.
|
|
*/
|
|
public ChatStyle createShallowCopy()
|
|
{
|
|
ChatStyle chatstyle = new ChatStyle();
|
|
chatstyle.bold = this.bold;
|
|
chatstyle.italic = this.italic;
|
|
chatstyle.strikethrough = this.strikethrough;
|
|
chatstyle.underlined = this.underlined;
|
|
chatstyle.obfuscated = this.obfuscated;
|
|
chatstyle.color = this.color;
|
|
chatstyle.chatClickEvent = this.chatClickEvent;
|
|
chatstyle.chatHoverEvent = this.chatHoverEvent;
|
|
chatstyle.parentStyle = this.parentStyle;
|
|
return chatstyle;
|
|
}
|
|
|
|
/**
|
|
* Creates a deep copy of this style. No changes to this instance or its parent style will be reflected in the
|
|
* copy.
|
|
*/
|
|
public ChatStyle createDeepCopy()
|
|
{
|
|
ChatStyle chatstyle = new ChatStyle();
|
|
chatstyle.setBold(Boolean.valueOf(this.getBold()));
|
|
chatstyle.setItalic(Boolean.valueOf(this.getItalic()));
|
|
chatstyle.setStrikethrough(Boolean.valueOf(this.getStrikethrough()));
|
|
chatstyle.setUnderlined(Boolean.valueOf(this.getUnderlined()));
|
|
chatstyle.setObfuscated(Boolean.valueOf(this.getObfuscated()));
|
|
chatstyle.setColor(this.getColor());
|
|
chatstyle.setChatClickEvent(this.getChatClickEvent());
|
|
chatstyle.setChatHoverEvent(this.getChatHoverEvent());
|
|
return chatstyle;
|
|
}
|
|
|
|
public static class Serializer implements JsonDeserializer, JsonSerializer
|
|
{
|
|
private static final String __OBFID = "CL_00001268";
|
|
|
|
public ChatStyle deserialize(JsonElement p_deserialize_1_, Type p_deserialize_2_, JsonDeserializationContext p_deserialize_3_)
|
|
{
|
|
if (p_deserialize_1_.isJsonObject())
|
|
{
|
|
ChatStyle chatstyle = new ChatStyle();
|
|
JsonObject jsonobject = p_deserialize_1_.getAsJsonObject();
|
|
|
|
if (jsonobject == null)
|
|
{
|
|
return null;
|
|
}
|
|
else
|
|
{
|
|
if (jsonobject.has("bold"))
|
|
{
|
|
chatstyle.bold = Boolean.valueOf(jsonobject.get("bold").getAsBoolean());
|
|
}
|
|
|
|
if (jsonobject.has("italic"))
|
|
{
|
|
chatstyle.italic = Boolean.valueOf(jsonobject.get("italic").getAsBoolean());
|
|
}
|
|
|
|
if (jsonobject.has("underlined"))
|
|
{
|
|
chatstyle.underlined = Boolean.valueOf(jsonobject.get("underlined").getAsBoolean());
|
|
}
|
|
|
|
if (jsonobject.has("strikethrough"))
|
|
{
|
|
chatstyle.strikethrough = Boolean.valueOf(jsonobject.get("strikethrough").getAsBoolean());
|
|
}
|
|
|
|
if (jsonobject.has("obfuscated"))
|
|
{
|
|
chatstyle.obfuscated = Boolean.valueOf(jsonobject.get("obfuscated").getAsBoolean());
|
|
}
|
|
|
|
if (jsonobject.has("color"))
|
|
{
|
|
chatstyle.color = (EnumChatFormatting)p_deserialize_3_.deserialize(jsonobject.get("color"), EnumChatFormatting.class);
|
|
}
|
|
|
|
JsonObject jsonobject1;
|
|
JsonPrimitive jsonprimitive;
|
|
|
|
if (jsonobject.has("clickEvent"))
|
|
{
|
|
jsonobject1 = jsonobject.getAsJsonObject("clickEvent");
|
|
|
|
if (jsonobject1 != null)
|
|
{
|
|
jsonprimitive = jsonobject1.getAsJsonPrimitive("action");
|
|
ClickEvent.Action action = jsonprimitive == null ? null : ClickEvent.Action.getValueByCanonicalName(jsonprimitive.getAsString());
|
|
JsonPrimitive jsonprimitive1 = jsonobject1.getAsJsonPrimitive("value");
|
|
String s = jsonprimitive1 == null ? null : jsonprimitive1.getAsString();
|
|
|
|
if (action != null && s != null && action.shouldAllowInChat())
|
|
{
|
|
chatstyle.chatClickEvent = new ClickEvent(action, s);
|
|
}
|
|
}
|
|
}
|
|
|
|
if (jsonobject.has("hoverEvent"))
|
|
{
|
|
jsonobject1 = jsonobject.getAsJsonObject("hoverEvent");
|
|
|
|
if (jsonobject1 != null)
|
|
{
|
|
jsonprimitive = jsonobject1.getAsJsonPrimitive("action");
|
|
HoverEvent.Action action1 = jsonprimitive == null ? null : HoverEvent.Action.getValueByCanonicalName(jsonprimitive.getAsString());
|
|
IChatComponent ichatcomponent = (IChatComponent)p_deserialize_3_.deserialize(jsonobject1.get("value"), IChatComponent.class);
|
|
|
|
if (action1 != null && ichatcomponent != null && action1.shouldAllowInChat())
|
|
{
|
|
chatstyle.chatHoverEvent = new HoverEvent(action1, ichatcomponent);
|
|
}
|
|
}
|
|
}
|
|
|
|
return chatstyle;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
return null;
|
|
}
|
|
}
|
|
|
|
public JsonElement serialize(ChatStyle p_serialize_1_, Type p_serialize_2_, JsonSerializationContext p_serialize_3_)
|
|
{
|
|
if (p_serialize_1_.isEmpty())
|
|
{
|
|
return null;
|
|
}
|
|
else
|
|
{
|
|
JsonObject jsonobject = new JsonObject();
|
|
|
|
if (p_serialize_1_.bold != null)
|
|
{
|
|
jsonobject.addProperty("bold", p_serialize_1_.bold);
|
|
}
|
|
|
|
if (p_serialize_1_.italic != null)
|
|
{
|
|
jsonobject.addProperty("italic", p_serialize_1_.italic);
|
|
}
|
|
|
|
if (p_serialize_1_.underlined != null)
|
|
{
|
|
jsonobject.addProperty("underlined", p_serialize_1_.underlined);
|
|
}
|
|
|
|
if (p_serialize_1_.strikethrough != null)
|
|
{
|
|
jsonobject.addProperty("strikethrough", p_serialize_1_.strikethrough);
|
|
}
|
|
|
|
if (p_serialize_1_.obfuscated != null)
|
|
{
|
|
jsonobject.addProperty("obfuscated", p_serialize_1_.obfuscated);
|
|
}
|
|
|
|
if (p_serialize_1_.color != null)
|
|
{
|
|
jsonobject.add("color", p_serialize_3_.serialize(p_serialize_1_.color));
|
|
}
|
|
|
|
JsonObject jsonobject1;
|
|
|
|
if (p_serialize_1_.chatClickEvent != null)
|
|
{
|
|
jsonobject1 = new JsonObject();
|
|
jsonobject1.addProperty("action", p_serialize_1_.chatClickEvent.getAction().getCanonicalName());
|
|
jsonobject1.addProperty("value", p_serialize_1_.chatClickEvent.getValue());
|
|
jsonobject.add("clickEvent", jsonobject1);
|
|
}
|
|
|
|
if (p_serialize_1_.chatHoverEvent != null)
|
|
{
|
|
jsonobject1 = new JsonObject();
|
|
jsonobject1.addProperty("action", p_serialize_1_.chatHoverEvent.getAction().getCanonicalName());
|
|
jsonobject1.add("value", p_serialize_3_.serialize(p_serialize_1_.chatHoverEvent.getValue()));
|
|
jsonobject.add("hoverEvent", jsonobject1);
|
|
}
|
|
|
|
return jsonobject;
|
|
}
|
|
}
|
|
|
|
public JsonElement serialize(Object p_serialize_1_, Type p_serialize_2_, JsonSerializationContext p_serialize_3_)
|
|
{
|
|
return this.serialize((ChatStyle)p_serialize_1_, p_serialize_2_, p_serialize_3_);
|
|
}
|
|
}
|
|
} |