mirror of
https://github.com/TotalFreedomMC/TF-LibsDisguises.git
synced 2025-02-11 03:30:02 +00:00
Support ChatComponent
This commit is contained in:
parent
49d716f285
commit
cbe1a09ded
1 changed files with 18 additions and 3 deletions
|
@ -881,9 +881,24 @@ public class ReflectionManager {
|
|||
if (value instanceof Optional) {
|
||||
Optional opt = (Optional) value;
|
||||
|
||||
serializer = Registry.get((opt.isPresent() ?
|
||||
getNmsClass("IBlockData").isInstance(opt.get()) ? getNmsClass("IBlockData") : opt.get().getClass() :
|
||||
UUID.class), true);
|
||||
if (opt.isPresent()) {
|
||||
Object val = opt.get();
|
||||
Class cl;
|
||||
Class iBlockData = getNmsClass("IBlockData");
|
||||
Class iChat = getNmsClass("IChatBaseComponent");
|
||||
|
||||
if (iBlockData.isInstance(val)) {
|
||||
cl = iBlockData;
|
||||
} else if (iChat.isInstance(val)) {
|
||||
cl = iChat;
|
||||
} else {
|
||||
cl = val.getClass();
|
||||
}
|
||||
|
||||
serializer = Registry.get(cl, true);
|
||||
} else {
|
||||
serializer = Registry.get(UUID.class, true);
|
||||
}
|
||||
} else {
|
||||
serializer = Registry.get(getNmsClass("ParticleParam").isInstance(value) ? getNmsClass("ParticleParam") :
|
||||
value.getClass());
|
||||
|
|
Loading…
Reference in a new issue