use of net.minecraft.server.v1_13_R2 in project SimplePets by brainsynder-Dev.
the class EntityControllerPet method repeatTask.
@Override
public void repeatTask() {
super.repeatTask();
if (!this.isInvisible())
this.setInvisible(true);
if (getPet() != null)
if (isBaby())
setBaby((getPet().getPetType() instanceof ShulkerDefault));
Player p = getPet().getOwner();
if (this.displayEntity != null) {
if (this.displayEntity.isValid()) {
if (displayEntity.getPassenger() != null) {
this.displayEntity.getPassenger().setCustomName(getCustomName().getText());
} else {
this.displayEntity.setCustomName(getCustomName().getText());
}
if (displayEntity.getPassenger() == null) {
reloadLocation();
net.minecraft.server.v1_13_R2.Entity displayEntity = ((CraftEntity) this.displayEntity).getHandle();
if (((CraftPlayer) getOwner()).getHandle().isInvisible() != displayEntity.isInvisible()) {
displayEntity.setInvisible(!displayEntity.isInvisible());
}
return;
}
if (this.displayEntity.getPassenger() != null) {
net.minecraft.server.v1_13_R2.Entity displayEntity = ((CraftEntity) this.displayEntity.getPassenger()).getHandle();
if (((CraftPlayer) p).getHandle().isInvisible() != displayEntity.isInvisible()) {
displayEntity.setInvisible(!displayEntity.isInvisible());
}
}
}
}
}
use of net.minecraft.server.v1_13_R2 in project SilkSpawners by timbru31.
the class NMSHandler method getVanillaNBTEntityID.
@Override
@Nullable
public String getVanillaNBTEntityID(final ItemStack item) {
net.minecraft.server.v1_13_R2.ItemStack itemStack = null;
final CraftItemStack craftStack = CraftItemStack.asCraftCopy(item);
itemStack = CraftItemStack.asNMSCopy(craftStack);
NBTTagCompound tag = itemStack.getTag();
if (tag == null || !tag.hasKey("BlockEntityTag")) {
return null;
}
tag = tag.getCompound("BlockEntityTag");
tag.setString("id", TileEntityTypes.a(TileEntityTypes.MOB_SPAWNER).getKey());
if (tag.hasKey("EntityId")) {
return tag.getString("EntityId");
} else if (tag.hasKey("SpawnData") && tag.getCompound("SpawnData").hasKey("id")) {
return tag.getCompound("SpawnData").getString("id");
} else if (tag.hasKey("SpawnPotentials") && !tag.getList("SpawnPotentials", 8).isEmpty()) {
return tag.getList("SpawnPotentials", 8).getCompound(0).getCompound("Entity").getString("id");
} else {
return null;
}
}
use of net.minecraft.server.v1_13_R2 in project SilkSpawners by timbru31.
the class NMSHandler method getVanillaEggNBTEntityID.
@Override
public String getVanillaEggNBTEntityID(final ItemStack item) {
net.minecraft.server.v1_13_R2.ItemStack itemStack = null;
final CraftItemStack craftStack = CraftItemStack.asCraftCopy(item);
itemStack = CraftItemStack.asNMSCopy(craftStack);
NBTTagCompound tag = itemStack.getTag();
if (tag == null || !tag.hasKey("EntityTag")) {
final MinecraftKey vanillaKey = IRegistry.ITEM.getKey(itemStack.getItem());
if (vanillaKey != null) {
return vanillaKey.getKey().replace("minecraft:", "").replace("_spawn_egg", "");
}
} else {
tag = tag.getCompound("EntityTag");
if (tag.hasKey("id")) {
return tag.getString("id").replace("minecraft:", "");
}
}
return null;
}
use of net.minecraft.server.v1_13_R2 in project SilkSpawners by timbru31.
the class NMSHandler method setNBTEntityID.
@Override
public ItemStack setNBTEntityID(final ItemStack item, final String entity) {
if (item == null || StringUtils.isBlank(entity)) {
Bukkit.getLogger().warning("[SilkSpawners] Skipping invalid spawner to set NBT data on.");
return null;
}
String prefixedEntity;
if (!entity.startsWith("minecraft:")) {
prefixedEntity = "minecraft:" + entity;
} else {
prefixedEntity = entity;
}
net.minecraft.server.v1_13_R2.ItemStack itemStack = null;
final CraftItemStack craftStack = CraftItemStack.asCraftCopy(item);
itemStack = CraftItemStack.asNMSCopy(craftStack);
NBTTagCompound tag = itemStack.getOrCreateTag();
// Check for SilkSpawners key
if (!tag.hasKey("SilkSpawners")) {
tag.set("SilkSpawners", new NBTTagCompound());
}
tag.getCompound("SilkSpawners").setString("entity", entity);
// Check for Vanilla keys
if (!tag.hasKey("BlockEntityTag")) {
tag.set("BlockEntityTag", new NBTTagCompound());
}
tag = tag.getCompound("BlockEntityTag");
// EntityId - Deprecated in 1.9
tag.setString("EntityId", entity);
tag.setString("id", TileEntityTypes.a(TileEntityTypes.MOB_SPAWNER).getKey());
// SpawnData
if (!tag.hasKey("SpawnData")) {
tag.set("SpawnData", new NBTTagCompound());
}
tag.getCompound("SpawnData").setString("id", prefixedEntity);
if (!tag.hasKey("SpawnPotentials")) {
tag.set("SpawnPotentials", new NBTTagCompound());
}
// SpawnEgg data
if (!tag.hasKey("EntityTag")) {
tag.set("EntityTag", new NBTTagCompound());
}
tag.getCompound("EntityTag").setString("id", prefixedEntity);
return CraftItemStack.asCraftMirror(itemStack);
}
use of net.minecraft.server.v1_13_R2 in project MechanicsMain by WeaponMechanics.
the class Block_1_13_R2 method getMultiBlockMaskPacket.
private PacketPlayOutMultiBlockChange getMultiBlockMaskPacket(List<Block> blocks, @Nullable IBlockData mask) {
net.minecraft.server.v1_13_R2.Chunk chunk = ((CraftChunk) blocks.get(0).getChunk()).getHandle();
// Setup default information
PacketPlayOutMultiBlockChange packet = new PacketPlayOutMultiBlockChange(0, new short[0], chunk);
PacketPlayOutMultiBlockChange.MultiBlockChangeInfo[] changes = new PacketPlayOutMultiBlockChange.MultiBlockChangeInfo[blocks.size()];
for (int i = 0; i < blocks.size(); i++) {
Block block = blocks.get(i);
// Where the block is relative to the chunk it is in
int x = block.getX() & 0xF;
int y = block.getY();
int z = block.getZ() & 0xF;
// Setting the (x, y, z) location into VarInt format
short location = (short) (x << 12 | y | z << 8);
// If mask is null, then undo the mask. Otherwise set the mask
if (mask == null) {
changes[i] = packet.new MultiBlockChangeInfo(location, chunk);
} else {
changes[i] = packet.new MultiBlockChangeInfo(location, mask);
}
}
ReflectionUtil.setField(multiBlockChangeB, packet, changes);
return packet;
}
Aggregations