mirror of
https://github.com/MCCTeam/Minecraft-Console-Client
synced 2025-10-14 21:22:49 +00:00
Fix for text coloration
- Recursive text coloration (like in MC 1.7)
- Fix for color bug introduced in 7e8b750
This commit is contained in:
parent
7e8b750100
commit
adba89794e
1 changed files with 13 additions and 13 deletions
|
|
@ -21,7 +21,7 @@ namespace MinecraftClient
|
||||||
{
|
{
|
||||||
int cursorpos = 0;
|
int cursorpos = 0;
|
||||||
JSONData jsonData = String2Data(json, ref cursorpos);
|
JSONData jsonData = String2Data(json, ref cursorpos);
|
||||||
return JSONData2String(jsonData);
|
return JSONData2String(jsonData, "");
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
@ -281,28 +281,28 @@ namespace MinecraftClient
|
||||||
/// Use a JSON Object to build the corresponding string
|
/// Use a JSON Object to build the corresponding string
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="data">JSON object to convert</param>
|
/// <param name="data">JSON object to convert</param>
|
||||||
|
/// <param name="colorcode">Allow parent color code to affect child elements (set to "" for function init)</param>
|
||||||
/// <returns>returns the Minecraft-formatted string</returns>
|
/// <returns>returns the Minecraft-formatted string</returns>
|
||||||
|
|
||||||
private static string JSONData2String(JSONData data)
|
private static string JSONData2String(JSONData data, string colorcode)
|
||||||
{
|
{
|
||||||
string extra_result = "";
|
string extra_result = "";
|
||||||
string colorcode = "";
|
|
||||||
switch (data.Type)
|
switch (data.Type)
|
||||||
{
|
{
|
||||||
case JSONData.DataType.Object:
|
case JSONData.DataType.Object:
|
||||||
|
if (data.Properties.ContainsKey("color"))
|
||||||
|
{
|
||||||
|
colorcode = color2tag(JSONData2String(data.Properties["color"], ""));
|
||||||
|
}
|
||||||
if (data.Properties.ContainsKey("extra"))
|
if (data.Properties.ContainsKey("extra"))
|
||||||
{
|
{
|
||||||
JSONData[] extras = data.Properties["extra"].DataArray.ToArray();
|
JSONData[] extras = data.Properties["extra"].DataArray.ToArray();
|
||||||
foreach (JSONData item in extras)
|
foreach (JSONData item in extras)
|
||||||
extra_result = extra_result + JSONData2String(item);
|
extra_result = extra_result + JSONData2String(item, colorcode) + "§r";
|
||||||
}
|
|
||||||
if (data.Properties.ContainsKey("color"))
|
|
||||||
{
|
|
||||||
colorcode = color2tag(JSONData2String(data.Properties["color"]));
|
|
||||||
}
|
}
|
||||||
if (data.Properties.ContainsKey("text"))
|
if (data.Properties.ContainsKey("text"))
|
||||||
{
|
{
|
||||||
return colorcode + JSONData2String(data.Properties["text"]) + extra_result;
|
return colorcode + JSONData2String(data.Properties["text"], colorcode) + extra_result;
|
||||||
}
|
}
|
||||||
else if (data.Properties.ContainsKey("translate"))
|
else if (data.Properties.ContainsKey("translate"))
|
||||||
{
|
{
|
||||||
|
|
@ -314,10 +314,10 @@ namespace MinecraftClient
|
||||||
JSONData[] array = data.Properties["with"].DataArray.ToArray();
|
JSONData[] array = data.Properties["with"].DataArray.ToArray();
|
||||||
for (int i = 0; i < array.Length; i++)
|
for (int i = 0; i < array.Length; i++)
|
||||||
{
|
{
|
||||||
using_data.Add(JSONData2String(array[i]));
|
using_data.Add(JSONData2String(array[i], colorcode));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return colorcode + TranslateString(JSONData2String(data.Properties["translate"]), using_data) + extra_result;
|
return colorcode + TranslateString(JSONData2String(data.Properties["translate"], ""), using_data) + extra_result;
|
||||||
}
|
}
|
||||||
else return extra_result;
|
else return extra_result;
|
||||||
|
|
||||||
|
|
@ -325,12 +325,12 @@ namespace MinecraftClient
|
||||||
string result = "";
|
string result = "";
|
||||||
foreach (JSONData item in data.DataArray)
|
foreach (JSONData item in data.DataArray)
|
||||||
{
|
{
|
||||||
result += JSONData2String(item);
|
result += JSONData2String(item, colorcode);
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
|
|
||||||
case JSONData.DataType.String:
|
case JSONData.DataType.String:
|
||||||
return data.StringValue;
|
return colorcode + data.StringValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
return "";
|
return "";
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue