Fix ItemStack serializer being unable to serialize some items

Fix PlayerDisguise using code I forgot to use, instead of real code
This commit is contained in:
libraryaddict 2020-03-24 11:54:26 +13:00
parent 761c4b77cd
commit 7a0f107687
No known key found for this signature in database
GPG Key ID: 052E4FBCD257AEA4
4 changed files with 18 additions and 17 deletions

View File

@ -62,7 +62,6 @@ public abstract class Disguise {
private boolean playerHiddenFromTab = DisguiseConfig.isHideDisguisedPlayers();
private boolean replaceSounds = DisguiseConfig.isSoundEnabled();
private boolean mobsIgnoreDisguise;
private boolean showName;
private transient BukkitTask task;
private Runnable velocityRunnable;
private boolean velocitySent = DisguiseConfig.isVelocitySent();
@ -666,21 +665,6 @@ public abstract class Disguise {
setViewSelfDisguise(selfDisguiseVisible);
}
/**
* Returns true if the entity's name is showing through the disguise
*
* @return
*/
public boolean isShowName() {
return showName;
}
public Disguise setShowName(boolean showName) {
this.showName = showName;
return this;
}
public boolean isSoundsReplaced() {
return replaceSounds;
}

View File

@ -199,7 +199,7 @@ public class PlayerDisguise extends TargetedDisguise {
name = name.substring(0, 16);
}
if (isDisguiseInUse() && isShowName()) {
if (isDisguiseInUse() && isNameVisible()) {
if (stopDisguise()) {
playerName = name;

View File

@ -64,6 +64,11 @@ public class ParamInfoItemStack extends ParamInfoEnum {
return name;
}
// If its not a CraftItemStack
if (item.getClass().getSimpleName().equals("ItemStack") && item.hasItemMeta()) {
item = ReflectionManager.getCraftItem(item);
}
String itemName = ReflectionManager.getItemName(item.getType());
ArrayList<String> mcArray = new ArrayList<>();

View File

@ -18,6 +18,7 @@ import org.apache.commons.lang.StringUtils;
import org.bukkit.*;
import org.bukkit.configuration.InvalidConfigurationException;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.craftbukkit.v1_15_R1.inventory.CraftItemStack;
import org.bukkit.entity.*;
import org.bukkit.inventory.EquipmentSlot;
import org.bukkit.inventory.ItemStack;
@ -361,6 +362,17 @@ public class ReflectionManager {
return null;
}
public static ItemStack getCraftItem(ItemStack bukkitItem) {
try {
return (ItemStack) craftItemClass.getMethod("asCraftMirror", ItemStack.class).invoke(null, bukkitItem);
}
catch (Exception e) {
e.printStackTrace();
}
return null;
}
public static NmsVersion getVersion() {
if (version == null) {
getBukkitVersion();