Class ConstructionElement

java.lang.Object
net.risingworld.api.objects.world.ConstructionElement

public class ConstructionElement extends Object
Represents a "ConstructionElement" which was placed in the world (or spawned naturally). This could be a block (or any other shape like a cylinder, slope etc), or a window, glass pane etc. A ConstructionElement is always bound to a chunk.
  • Method Details

    • isValid

      public boolean isValid()
    • getGlobalID

      public long getGlobalID()
      Gets the unique global ID of the construction element.
      Returns:
      the object global ID.
    • getChunkPositionX

      public int getChunkPositionX()
      Gets the x offset of the chunk (which contains the construction element).
      Returns:
      the x chunk offset.
    • getChunkPositionY

      public int getChunkPositionY()
      Gets the y offset of the chunk (which contains the construction element).
      Returns:
      the y chunk offset.
    • getChunkPositionZ

      public int getChunkPositionZ()
      Gets the z offset of the chunk (which contains the construction element).
      Returns:
      the z chunk offset.
    • getTypeID

      public byte getTypeID()
    • setTypeID

      public void setTypeID(byte typeID)
    • getTexture

      public int getTexture()
    • setTexture

      public void setTexture(int texture)
    • getTextureScale

      public float getTextureScale()
    • setTextureScale

      public void setTextureScale(float textureScale)
    • getPlayerDbID

      public int getPlayerDbID()
      Gets the database ID of the player who placed the block. -1 for naturally spawned elements
      Returns:
      the owner database ID, or -1 if this elements was spawned naturally.
    • setPlayerDbID

      public void setPlayerDbID(int dbID)
      Changes the owner database ID (i.e the database ID of the player who should be considered the element owner). Set to -1 to remove ownership.
      Parameters:
      dbID - the unique database ID of the new owner, or -1 to remove ownership.
    • getCreationDate

      public long getCreationDate()
      Gets a unix timestamp (seconds) when this element was first spawned / placed
      Returns:
      a unix timestamp representing the creation date of the element.
    • getWorldPosition

      public Vector3f getWorldPosition()
      Gets the world position of this element.
      Returns:
      the global position.
    • getRotation

      public Quaternion getRotation()
      Gets the rotation of this construction element.
      Returns:
      the element rotation.
    • setRotation

      public void setRotation(Quaternion rotation)
      Sets the rotation of this construction element.
      Parameters:
      rotation - the new rotation you want to set.
    • getScale

      public Vector3f getScale()
      Gets the scale (along x, y and z) of this construction element. By default, the scale is 1 1 1
      Returns:
      a new Vector3f containing the element scale factors.
    • setScale

      public void setScale(float x, float y, float z)
      Sets a new scale for this construction element.
      Parameters:
      x - the new scale along x (width).
      y - the new scale along y (height).
      z - the new scale along z (depth).
    • setScale

      public void setScale(Vector3f scale)
      Sets a new scale for this construction element.
      Parameters:
      scale - the new scale along x (width), y (height) and z (depth).
    • getSurfaceOffset

      public Vector3f getSurfaceOffset()
    • setSurfaceOffset

      public void setSurfaceOffset(Vector3f offset)
    • getSurfaceScale

      public Vector3f getSurfaceScale()
    • setSurfaceScale

      public void setSurfaceScale(Vector3f scale)
    • setSurfaceOffsetAndScale

      public void setSurfaceOffsetAndScale(Vector3f offset, Vector3f scale)
    • getColor

      public int getColor()
    • setColor

      public void setColor(int color)
      Sets a new color for this construction element.
      Parameters:
      color - the new color as int rgba value.
    • setColor

      public void setColor(ColorRGBA color)
      Sets a new color for this construction element.
      Parameters:
      color - the new color you want to set.
    • getStrength

      public short getStrength()
      Gets the remaining strength of the construction element (if strength goes to 0, e.g after hitting the construction element, it will break).
      Returns:
      the construction element strength.
    • setStrength

      public void setStrength(short strength)
      Sets a new strength for the construction element. If you want to break the construction element, call destroy(boolean) instead.
      Parameters:
      strength - the new strength you want to set.
    • destroy

      public void destroy(boolean silent)
      Destroys the construction element.
      Parameters:
      silent - true if you just want to remove the element, false if you want it to actually break (spawn debris, play break sound etc)
    • setAttribute

      public void setAttribute(String key, Object value)
      Stores an attribute for this construction element. You can store any type. Note that all attributes will be reset upon server restart!
      Parameters:
      key - the name of the attribute.
      value - the value/object you want to store. Set null to remove the attribute.
    • getAttribute

      public Object getAttribute(String key)
      Gets the value to which the specified key is mapped, or null if no attribute is stored for that key.
      Parameters:
      key - the name of the attribute.
      Returns:
      the attribute that is stored for that key, or null of the key does not exists.
    • hasAttribute

      public boolean hasAttribute(String key)
      Gets whether or not the provided attribute exists.
      Parameters:
      key - the name of the attribute.
      Returns:
      true if the attribute exists, false if not.
    • hasAttribute

      public boolean hasAttribute(String key, Class type)
      Gets whether or not the provided attribute exists (also checks if it has a specific type).
      Parameters:
      key - the name of the attribute.
      type - the type of the attribute
      Returns:
      true if the attribute exists and if it has the desired type, false if not.
    • deleteAttribute

      public void deleteAttribute(String key)
      Removes a player attribute. Does nothing if the attribute doesn't exist.
      Parameters:
      key - the name of the attribute you want to delete.
    • getAttributes

      public Set<Map.Entry<String,Object>> getAttributes()
      Gets a set containing all keys and attributes of this object.
      Be careful when modifying the set, because that affects the attributes.
      Returns:
      a set containing all keys and attributes.
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object