mirror of
https://github.com/PlaceholderAPI/PlaceholderAPI
synced 2024-11-18 00:46:55 +01:00
updated char replacer to better handle malformed input
This commit is contained in:
parent
a2a736d909
commit
ee78fc1775
@ -54,20 +54,19 @@ public final class CharsReplacer implements Replacer
|
||||
}
|
||||
|
||||
boolean identified = false;
|
||||
boolean oopsitsbad = false;
|
||||
boolean oopsitsbad = true;
|
||||
|
||||
while (++i < chars.length)
|
||||
{
|
||||
final char p = chars[i];
|
||||
|
||||
if (p == closure.tail)
|
||||
if (p == ' ')
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
if (p == ' ')
|
||||
if (p == closure.tail)
|
||||
{
|
||||
oopsitsbad = true;
|
||||
oopsitsbad = false;
|
||||
break;
|
||||
}
|
||||
|
||||
@ -109,14 +108,28 @@ public final class CharsReplacer implements Replacer
|
||||
final PlaceholderHook placeholder = lookup.apply(identifierString);
|
||||
if (placeholder == null)
|
||||
{
|
||||
builder.append(closure.head).append(identifierString).append('_').append(parametersString).append(closure.tail);
|
||||
builder.append(closure.head).append(identifierString);
|
||||
|
||||
if (identified)
|
||||
{
|
||||
builder.append('_');
|
||||
}
|
||||
|
||||
builder.append(parametersString).append(closure.tail);
|
||||
continue;
|
||||
}
|
||||
|
||||
final String replacement = placeholder.onRequest(player, parametersString);
|
||||
if (replacement == null)
|
||||
{
|
||||
builder.append(closure.head).append(identifierString).append('_').append(parametersString).append(closure.tail);
|
||||
builder.append(closure.head).append(identifierString);
|
||||
|
||||
if (identified)
|
||||
{
|
||||
builder.append('_');
|
||||
}
|
||||
|
||||
builder.append(parametersString).append(closure.tail);
|
||||
continue;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user