Plugin API 0.7 (2024-02-02):
- [New] Plugins now have an optional load order ("loadorder" in "plugin.yml") to specify the order in which they get loaded. Positive values for later loading, negative values for earlier loading (default: 0)
- [New] Inventory API is now available (see Inventory)
- [New] Npc API is now available (see Npc)
- [New] Item API is now available (see Item, Item.ObjectItem, Item.ConstructionItem, Item.ClothingItem and Item.BlueprintItem)
- [New] Clothes API is now available (see Player.getClothes())
- [New] Skin API is now available (see Player.getSkin())
- [New] New GameObject: Light (to create a custom light source)
- [New] Prefab.resetAnimatorTrigger()
- [New] Prefab.readLocalPosition() and Prefab.readWorldPosition()
- [New] Prefab.readLocalRotation() and Prefab.readWorldRotation()
- [New] Event: PlayerWearClothesEvent
- [New] Event: PlayerTakeOffClothesEvent
- [New] Event: PlayerWeaponFireEvent
- [New] Event: PlayerWeaponReloadEvent
- [New] Event: NpcDamageEvent
- [New] Event: NpcAddClothesEvent
- [New] Event: NpcAddSaddleEvent
- [New] Event: NpcAddSaddleBagEvent
- [New] Event: NpcRemoveClothesEvent
- [New] Event: NpcRemoveSaddleEvent
- [New] Event: NpcRemoveSaddleBagEvent
- [New] Plugin.isMainThread()
- [New] Plugin.getRunningTime()
- [New] Server.getArea()
- [New] Server.restart()
- [New] Area.setPlayerPermission() and Area.removePlayerPermission()
- [New] Area.getPlayerPermission()
- [New] Area.getAllPlayerPermissions()
- [New] Area.setDefaultPermission()
- [New] World.getAllNpcs()
- [New] World.getAllNpcsInRange()
- [New] World.getAllNpcsInArea()
- [New] World.getAllItemsInRange()
- [New] World.setSkyRotation()
- [New] World.spawnConstructionItem()
- [New] Attributes for ObjectElement, ConstructionElement and Plant classes
- [New] Player.getAreaInLineOfSight() (convenience method to perform a raycast for areas)
- [New] Player.getNpcInLineOfSight() (convenience method to perform a raycast for npcs)
- [Change] ItemTransformEvent no longer have Trigger enum, instead they use the Items.ItemInfoType to determine the processing type
- [Change] Vectors and Quaternions no longer raise NPE when passing null to equals() method
- [Change] Prefab.addComponent() has better support for Light-Components now
- [Change] RadialMenuLayer is now hidden if no radial menu is visible (relevant when attaching UI Elements to it)
- [Bugfix] Fixed Raycast against construction elements not providing the correct results
- [Bugfix] Fixed Player.showColorPicker() callback not working
- [Bugfix] Fixed normal maps not working on custom materials (MaterialAsset)
- [Bugfix] Fixed PlayerGameObjectInteractionEvent and PlayerGameObjectHitEvent not reliably working with prefab colliders (loaded from asset bundle)
- [Bugfix] Fixed Player.showInputMessageBox() callback not working
- [Bugfix] Fixed Player.getEquippedItem()
- [Bugfix] Fixed Style.font (for UI elements) not working
Plugin API 0.7.0.2 (2024-02-06):
- [Bugfix] Fixed Npc.setLocked() and Npc.setInvincible() not working
- [Bugfix] Fixed NpcRemoveSaddleEvent and NpcRemoveSaddleBagEvent not being triggered
Plugin API 0.7.0.3 (2024-02-21):
- [New] Added Player.showInfoMessageBox()
- [New] Added Inventory.findAllItems()
- [New] Added Internals.println() (to print messages with a custom color)
- [Change] PlayerChangeGamemodeEvent is now called PlayerChangeGameModeEvent
- [Bugfix] Fixed Inventory.removeItem() (if an "amount" parameter was provided)
- [Bugfix] Fixed UI elements not displaying correctly after plugin reload if they were spawned in connect/spawn event
- [Bugfix] Fixed Player.getAreaInLineOfSight() raising NPE if no area was found
This version uses Unity 2022.2.21. This is relevant if you want to build asset bundles containing custom shaders or VFX effects