Player API

advanced scripting

Voxel Play 3 · Scripting / API

Overview

The Player API implements the IVoxelPlayPlayer interface. You can implement this interface to create custom player components. See the Custom Player Component documentation for details.

Basic Usage

using VoxelPlay;

public class MyScript : MonoBehaviour {
    void Start() {
        VoxelPlayPlayer.instance.totalLife = 5;
    }
}

Events

  • OnItemSelectedChanged - Triggered when selected item changes via selectedItemIndex property
  • OnPlayerGetDamage - Triggered before damage occurs; allows modification of damageTaken value
  • OnPlayerIsKilled - Triggered when life reaches zero
  • OnItemAdded - Triggered when inventory receives new item
  • OnItemConsumed - Triggered when item is used
  • OnItemsClear - Triggered when inventory is emptied

Properties

  • string playerName - Player name
  • int life - Current life/health
  • int totalLife - Maximum life/health
  • float hitDelay - Delay between weapon hits
  • int hitDamage - Damage per hit
  • float hitRange - Hit range
  • int hitDamageRadius - Radius of hit effect
  • Color selectedItemTintColor - Tint color of selected item
  • int selectedItemIndex - Index of currently selected item in inventory
  • List<InventoryItem> items - List of available items (build mode = all world items, normal = playerItems)
  • List<InventoryItem> playerItems - Items in the player inventory only
  • AudioSource audioSource - AudioSource component

Methods

  • InventoryItem GetSelectedItem() - Returns copy of currently selected item or InventoryItem.Null
  • void UnSelectItem() - Unselects any selected item
  • bool SetSelectedItem(int itemIndex) - Select item by index
  • bool SetSelectedItem(InventoryItem item) - Select item by item object
  • bool SetSelectedItem(VoxelDefinition vd) - Select item by voxel definition
  • List<InventoryItem> GetPlayerItems() - Synonym for playerItems
  • void DamageToPlayer(int damagePoints) - Apply damage to player
  • bool AddInventoryItem(ItemDefinition newItem, float quantity = 1) - Add item to inventory
  • void AddInventoryItem(ItemDefinition[] newItems) - Add array of items to inventory
  • void PickUpItem(ItemDefinition newItem, float quantity = 1) - Pick up item from scene (with sound)
  • InventoryItem ConsumeItem() - Consume one unit of selected item
  • void ConsumeItem(ItemDefinition item) - Consume one unit of specific item
  • void ConsumeItem(ItemDefinition item, float amount) - Consume custom amount of specific item
  • void ConsumeAllItems() - Clear all inventory items
  • bool HasItem(ItemDefinition item) - Check if player has item
  • float GetItemQuantity(ItemDefinition item) - Get quantity of specific item
  • InventoryItem GetInventoryItem(VoxelDefinition voxelDefinition) - Get inventory item by voxel definition
Was this page helpful?