mirror of
https://github.com/MightyPirates/OpenComputers.git
synced 2025-09-19 12:17:17 -04:00
Added further functionality to the player object in the debug card
This commit is contained in:
parent
51085de828
commit
dbea220117
@ -326,6 +326,52 @@ object DebugCard {
|
||||
null
|
||||
})
|
||||
|
||||
@Callback(doc = """function():number -- Get the player's level""")
|
||||
def getLevel(context: Context, args: Arguments): Array[AnyRef] =
|
||||
withPlayer(player => result(player.experienceLevel))
|
||||
|
||||
@Callback(doc = """function():number -- Get the player's total experience""")
|
||||
def getExperienceTotal(context: Context, args: Arguments): Array[AnyRef] =
|
||||
withPlayer(player => result(player.experienceTotal))
|
||||
|
||||
@Callback(doc = """function(level:number) -- Add a level to the player's experience level""")
|
||||
def addExperienceLevel(context: Context, args: Arguments): Array[AnyRef] =
|
||||
withPlayer(player => {
|
||||
player.addExperienceLevel(args.checkDouble(0).toInt)
|
||||
null
|
||||
})
|
||||
|
||||
@Callback(doc = """function(level:number) -- Remove a level from the player's experience level""")
|
||||
def removeExperienceLevel(context: Context, args: Arguments): Array[AnyRef] =
|
||||
withPlayer(player => {
|
||||
player.removeExperienceLevel(args.checkDouble(0).toInt)
|
||||
null
|
||||
})
|
||||
|
||||
@Callback(doc = """function() -- Clear the players inventory""")
|
||||
def clearInventory(context: Context, args: Arguments): Array[AnyRef] =
|
||||
withPlayer(player => {
|
||||
player.inventory.clear()
|
||||
null
|
||||
})
|
||||
|
||||
@Callback(doc = """function(id:string, amount:number, meta:number[, nbt:string]):number -- Adds the item stack to the players inventory""")
|
||||
def insertItem(context: Context, args: Arguments): Array[AnyRef] =
|
||||
withPlayer(player => {
|
||||
val item = Item.REGISTRY.getObject(new ResourceLocation(args.checkString(0)))
|
||||
if (item == null) {
|
||||
throw new IllegalArgumentException("invalid item id")
|
||||
}
|
||||
val amount = args.checkInteger(1)
|
||||
val meta = args.checkInteger(2)
|
||||
val tagJson = args.checkString(3)
|
||||
val tag = if (Strings.isNullOrEmpty(tagJson)) null else JsonToNBT.getTagFromJson(tagJson)
|
||||
val stack = new ItemStack(item, amount, meta)
|
||||
stack.setTagCompound((tag))
|
||||
result(InventoryUtils.insertIntoInventory(stack, player.inventory))
|
||||
})
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------- //
|
||||
|
||||
private final val NameTag = "name"
|
||||
|
Loading…
x
Reference in New Issue
Block a user