NBTView

trait NBTView[Repr, NBT <: NBTTag] extends NBTSerializer[Repr, NBT] with NBTDeserializer[Repr, NBT]

A NBTView is a sort of Prism allowing you to see and modify NBT easier.

Type Params
NBT

The corresponding nbt type

Repr

The type it represents

Companion
object
trait NBTDeserializer[Repr, NBT]
trait NBTSerializer[Repr, NBT]
class Object
trait Matchable
class Any
trait NBTViewCaseLike[Repr, NBT]
object NBTUUID
trait SafeNBTViewCaseLike[Repr, NBT]
object NBTBoolean
trait SafeNBTView[Repr, NBT]
trait NBTType[Repr, NBT]
class NBTListType[ElementRepr, ElementNBT]
object TAG_Byte
object TAG_Double
object TAG_End
object TAG_Float
object TAG_Int
object TAG_Long
object TAG_Short
object TAG_String
NBTView[Repr, NBT]

Value members

Concrete methods

def imap[NewRepr](f: Repr => NewRepr, g: NewRepr => Repr): NBTView[NewRepr, NBT]
def imapNbt[NewNBT <: NBTTag](f: NBT => NewNBT, g: NewNBT => NBT): NBTView[Repr, NewNBT]
def imapOpt[NewRepr](f: Repr => Option[NewRepr], g: NewRepr => Repr): NBTView[NewRepr, NBT]
def modify[NewRepr, NewNBT <: NBTTag](nbt: NBT)(f: Repr => NewRepr)(implicit newView: NBTView[NewRepr, NewNBT]): Option[NewNBT]

Modifies a nbt in value form before returning a new NBT. Thew two types of NBT does not have to be the same.

Modifies a nbt in value form before returning a new NBT. Thew two types of NBT does not have to be the same.

Type Params
NewNBT

The new NBT type

NewRepr

The new value type

Value Params
f

The function to apply to the NBT

nbt

The NBT to modify

newView

A view providing a way to get back to the world of NBTs after the modification.

Example
 val stringNbt: Option[NBTString] =
 NBTView.TagInt.modify(NBTInt(5))(_.toString) 

Inherited methods

def contramap[NewRepr](f: NewRepr => Repr): NBTSerializer[NewRepr, NBT]

Create a new serializer that uses this serializer as a stepping stone.

Create a new serializer that uses this serializer as a stepping stone.

Inherited from
NBTSerializer
def contramapNbt[NewNBT <: NBTTag](f: NewNBT => NBT): NBTDeserializer[Repr, NewNBT]

Create a new deserializer that changes the NBT type and uses this deserializer as a stepping stone.

Create a new deserializer that changes the NBT type and uses this deserializer as a stepping stone.

Inherited from
NBTDeserializer
def from(arg: NBT): Option[Repr]

Convert a value from NBT.

Convert a value from NBT.

Inherited from
NBTDeserializer
def map[NewRepr](f: Repr => NewRepr): NBTDeserializer[NewRepr, NBT]

Map the result of running this deserializer.

Map the result of running this deserializer.

Inherited from
NBTDeserializer
def mapNbt[NewNBT <: NBTTag](f: NBT => NewNBT): NBTSerializer[Repr, NewNBT]

Maps the NBT that resulted from using this serializer.

Maps the NBT that resulted from using this serializer.

Inherited from
NBTSerializer
def optMap[NewRepr](f: Repr => Option[NewRepr]): NBTDeserializer[NewRepr, NBT]

Map the result of running this deserializer using a function that can fail.

Map the result of running this deserializer using a function that can fail.

Inherited from
NBTDeserializer
def to(v: Repr): NBT

Convert a value to NBT.

Convert a value to NBT.

Inherited from
NBTSerializer