Added setVisibleTo(player,visible) and isVisibleTo(player) to ScriptNpc

This commit is contained in:
luisc committed 2021-11-22 23:34:02 -06:00
1 parent 8a7f40189e
commit d24422c3a1
5 files changed
+78 -5

No files matched your search

@@ -1,8 +1,15 @@
package noppes.npcs;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.UUID;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.nbt.NBTTagString;
import net.minecraft.nbt.NBTUtil;
import net.minecraft.server.MinecraftServer;
import net.minecraft.util.StringUtils;
@@ -43,6 +50,8 @@ public class DataDisplay {
public byte showBossBar = 0;
public ArrayList<UUID> invisibleToList = new ArrayList<>();
public DataDisplay(EntityNPCInterface npc){
this.npc = npc;
@@ -112,6 +121,13 @@ public class DataDisplay {
nbttagcompound.setBoolean("NoLivingAnimation", disableLivingAnimation);
nbttagcompound.setByte("BossBar", showBossBar);
NBTTagList list = new NBTTagList();
for(UUID uuid : invisibleToList){
list.appendTag(new NBTTagString(uuid.toString()));
}
nbttagcompound.setTag("InvisibleToList", list);
return nbttagcompound;
}
public void readToNBT(NBTTagCompound nbttagcompound) {
@@ -152,6 +168,13 @@ public class DataDisplay {
disableLivingAnimation = nbttagcompound.getBoolean("NoLivingAnimation");
showBossBar = nbttagcompound.getByte("BossBar");
invisibleToList.clear();
NBTTagList tagList = (NBTTagList)nbttagcompound.getTag("InvisibleToList");
for(int i = 0; i < tagList.tagCount(); i++){
String nbtTagString = tagList.getStringTagAt(i);
invisibleToList.add(UUID.fromString(nbtTagString));
}
if(prevSkinType != skinType || !texture.equals(prevTexture))
npc.textureLocation = null;
npc.textureGlowLocation = null;