diff options
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/test/command')
| -rw-r--r-- | src/main/java/at/hannibal2/skyhanni/test/command/CopyNearbyEntitiesCommand.kt | 116 |
1 files changed, 78 insertions, 38 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/test/command/CopyNearbyEntitiesCommand.kt b/src/main/java/at/hannibal2/skyhanni/test/command/CopyNearbyEntitiesCommand.kt index 291000c77..1467f2b85 100644 --- a/src/main/java/at/hannibal2/skyhanni/test/command/CopyNearbyEntitiesCommand.kt +++ b/src/main/java/at/hannibal2/skyhanni/test/command/CopyNearbyEntitiesCommand.kt @@ -2,6 +2,7 @@ package at.hannibal2.skyhanni.test.command import at.hannibal2.skyhanni.utils.ItemUtils.cleanName import at.hannibal2.skyhanni.utils.ItemUtils.getSkullTexture +import at.hannibal2.skyhanni.utils.ItemUtils.name import at.hannibal2.skyhanni.utils.LocationUtils import at.hannibal2.skyhanni.utils.LorenzUtils import at.hannibal2.skyhanni.utils.LorenzUtils.baseMaxHealth @@ -10,8 +11,10 @@ import at.hannibal2.skyhanni.utils.toLorenzVec import net.minecraft.client.Minecraft import net.minecraft.entity.EntityLivingBase import net.minecraft.entity.item.EntityArmorStand +import net.minecraft.entity.item.EntityItem import net.minecraft.entity.monster.EntityEnderman import net.minecraft.entity.monster.EntityMagmaCube +import net.minecraft.item.ItemStack object CopyNearbyEntitiesCommand { @@ -33,18 +36,19 @@ object CopyNearbyEntitiesCommand { val vec = position.toLorenzVec() val distance = start.distance(vec) if (distance < searchRadius) { - resultList.add("found entity: '" + entity.name + "'") + val simpleName = entity.javaClass.simpleName + resultList.add("entity: $simpleName") val displayName = entity.displayName + resultList.add("name: '" + entity.name + "'") resultList.add("displayName: '${displayName.formattedText}'") - val simpleName = entity.javaClass.simpleName - resultList.add("simpleName: $simpleName") - resultList.add("vec: $vec") - resultList.add("distance: $distance") + resultList.add("location data:") + resultList.add("- vec: $vec") + resultList.add("- distance: $distance") val rotationYaw = entity.rotationYaw val rotationPitch = entity.rotationPitch - resultList.add("rotationYaw: $rotationYaw") - resultList.add("rotationPitch: $rotationPitch") + resultList.add("- rotationYaw: $rotationYaw") + resultList.add("- rotationPitch: $rotationPitch") val riddenByEntity = entity.riddenByEntity resultList.add("riddenByEntity: $riddenByEntity") @@ -52,46 +56,66 @@ object CopyNearbyEntitiesCommand { resultList.add("ridingEntity: $ridingEntity") - if (entity is EntityArmorStand) { - resultList.add("armor stand data:") - val headRotation = entity.headRotation.toLorenzVec() - val bodyRotation = entity.bodyRotation.toLorenzVec() - resultList.add("headRotation: $headRotation") - resultList.add("bodyRotation: $bodyRotation") - - for ((id, stack) in entity.inventory.withIndex()) { - resultList.add("id $id = $stack") - if (stack != null) { - val skullTexture = stack.getSkullTexture() - if (skullTexture != null) { - resultList.add("skullTexture: $skullTexture") - } - val cleanName = stack.cleanName() - val type = stack.javaClass.name - resultList.add("cleanName: $cleanName") - resultList.add("type: $type") + when (entity) { + is EntityArmorStand -> { + resultList.add("EntityArmorStand:") + val headRotation = entity.headRotation.toLorenzVec() + val bodyRotation = entity.bodyRotation.toLorenzVec() + resultList.add("- headRotation: $headRotation") + resultList.add("- bodyRotation: $bodyRotation") + resultList.add("- inventory:") + for ((id, stack) in entity.inventory.withIndex()) { + resultList.add("- id $id ($stack)") + printItemStackData(stack, resultList) } } - } else if (entity is EntityEnderman) { - val enderman = entity as EntityEnderman - val heldItem = enderman.heldItem - resultList.add("enderman heldItem: $heldItem") - } else { - if (entity is EntityLivingBase) { - val baseMaxHealth = entity.baseMaxHealth - val health = entity.health.toInt() - resultList.add("baseMaxHealth: $baseMaxHealth") - resultList.add("health: $health") + + is EntityEnderman -> { + resultList.add("EntityEnderman:") + val heldBlockState = entity.heldBlockState + resultList.add("- heldBlockState: $heldBlockState") + if (heldBlockState != null) { + val block = heldBlockState.block + resultList.add("- block: $block") + } } - if (entity is EntityMagmaCube) { + + is EntityMagmaCube -> { + resultList.add("EntityMagmaCube:") val squishFactor = entity.squishFactor val slimeSize = entity.slimeSize - resultList.add("factor: $squishFactor") - resultList.add("slimeSize: $slimeSize") + resultList.add("- factor: $squishFactor") + resultList.add("- slimeSize: $slimeSize") + } + + is EntityItem -> { + resultList.add("EntityItem:") + val stack = entity.entityItem + val stackName = stack.name + val stackDisplayName = stack.displayName + val cleanName = stack.cleanName() + val itemEnchanted = stack.isItemEnchanted + val itemDamage = stack.itemDamage + val stackSize = stack.stackSize + val maxStackSize = stack.maxStackSize + resultList.add("- name: '$stackName'") + resultList.add("- stackDisplayName: '$stackDisplayName'") + resultList.add("- cleanName: '$cleanName'") + resultList.add("- itemEnchanted: '$itemEnchanted'") + resultList.add("- itemDamage: '$itemDamage'") + resultList.add("- stackSize: '$stackSize'") + resultList.add("- maxStackSize: '$maxStackSize'") } } + if (entity is EntityLivingBase) { + resultList.add("EntityLivingBase:") + val baseMaxHealth = entity.baseMaxHealth.toInt() + val health = entity.health.toInt() + resultList.add("- baseMaxHealth: $baseMaxHealth") + resultList.add("- health: $health") + } resultList.add("") resultList.add("") counter++ @@ -106,4 +130,20 @@ object CopyNearbyEntitiesCommand { LorenzUtils.chat("§e[SkyHanni] No entities found in a search radius of $searchRadius!") } } + + private fun printItemStackData(stack: ItemStack?, resultList: MutableList<String>) { + if (stack != null) { + val skullTexture = stack.getSkullTexture() + if (skullTexture != null) { + resultList.add("- skullTexture:") + resultList.add("- $skullTexture") + } + val cleanName = stack.cleanName() + val stackName = stack.name + val type = stack.javaClass.name + resultList.add("- name: '$stackName'") + resultList.add("- cleanName: '$cleanName'") + resultList.add("- type: $type") + } + } }
\ No newline at end of file |
