Skip to content

Commit

Permalink
Extensions
Browse files Browse the repository at this point in the history
  • Loading branch information
TheRedMagic committed Jun 13, 2024
1 parent 0699699 commit 1809b59
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,11 @@ import com.redmagic.undefinedapi.extension.getNMSVersion
import com.redmagic.undefinedapi.nms.interfaces.NMSEntity
import com.redmagic.undefinedapi.nms.interfaces.NMSPlayer
import org.bukkit.entity.EntityType
import org.bukkit.entity.Item
import org.bukkit.entity.LivingEntity
import org.bukkit.entity.Player


@Deprecated("Use createFakeEntity instead")
fun UndefinedAPI.createFakePlayer(name: String, skinName: String = name): NMSPlayer?{
val version = getNMSVersion()
return when(version){
Expand All @@ -18,6 +19,7 @@ fun UndefinedAPI.createFakePlayer(name: String, skinName: String = name): NMSPla
}
}

@Deprecated("Use createFakeEntity instead")
fun UndefinedAPI.createFakePlayer(name: String, texture: String, sign: String): NMSPlayer?{
val version = getNMSVersion()
return when(version){
Expand All @@ -29,15 +31,26 @@ fun UndefinedAPI.createFakePlayer(name: String, texture: String, sign: String):

fun UndefinedAPI.createFakeEntity(entityType: EntityType, vararg data: Any): NMSEntity? {
val isLivingEntity = LivingEntity::class.java.isAssignableFrom(entityType.entityClass!!)
val isPlayer = entityType == EntityType.PLAYER

return when(getNMSVersion()) {
"1.20.4" -> when {
isLivingEntity -> com.redmagic.undefinedapi.nms.v1_20_4.entity.NMSLivingEntity(entityType)
isPlayer -> when(data.size){
2 -> com.redmagic.undefinedapi.nms.v1_20_4.npc.NMSPlayer(data[0] as String, data[1] as String)
3 -> com.redmagic.undefinedapi.nms.v1_20_4.npc.NMSPlayer(data[0] as String, data[1] as String, data[2] as String)
else -> null
}
else -> com.redmagic.undefinedapi.nms.v1_20_4.entity.NMSEntity(entityType)
}

"1.20.5", "1.20.6" -> when {
isLivingEntity -> com.redmagic.undefinedapi.nms.v1_20_5.entity.NMSLivingEntity(entityType)
isPlayer -> when(data.size){
2 -> com.redmagic.undefinedapi.nms.v1_20_5.npc.NMSPlayer(data[0] as String, data[1] as String)
3 -> com.redmagic.undefinedapi.nms.v1_20_5.npc.NMSPlayer(data[0] as String, data[1] as String, data[2] as String)
else -> null
}
else -> com.redmagic.undefinedapi.nms.v1_20_5.entity.NMSEntity(entityType)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import com.redmagic.undefinedapi.nms.v1_20_5.extensions.sendPacket
import net.minecraft.network.protocol.game.ClientboundRemoveEntitiesPacket
import net.minecraft.network.protocol.game.ClientboundSetEntityDataPacket
import net.minecraft.network.protocol.game.ClientboundTeleportEntityPacket
import net.minecraft.world.entity.AgeableMob
import net.minecraft.world.entity.Entity
import net.minecraft.world.level.Level
import org.bukkit.Location
Expand Down

0 comments on commit 1809b59

Please sign in to comment.