Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@ org.jetbrains.dokka.experimental.gradle.pluginMode=V2Enabled
javaVersion=25
mcVersion=26.1.2
group=dev.slne.surf.api
version=3.14.0
version=3.15.0
relocationPrefix=dev.slne.surf.api.libs
snapshot=false
Original file line number Diff line number Diff line change
Expand Up @@ -36,16 +36,14 @@ import net.minecraft.world.entity.EntityEquipment
import net.minecraft.world.entity.LivingEntity
import net.minecraft.world.entity.npc.InventoryCarrier
import net.minecraft.world.entity.player.Inventory
import net.minecraft.world.level.storage.TagValueInput
import net.minecraft.world.level.storage.TagValueOutput
import net.minecraft.world.level.storage.ValueInput
import net.minecraft.world.level.storage.ValueOutput
import net.minecraft.world.level.storage.*
import org.bukkit.craftbukkit.CraftEquipmentSlot
import org.bukkit.craftbukkit.inventory.CraftItemStack
import org.bukkit.entity.Player
import org.bukkit.inventory.EquipmentSlot
import org.bukkit.inventory.ItemStack
import java.io.File
import java.nio.file.Path
import java.util.*
import java.util.concurrent.CompletableFuture
import kotlin.io.path.createTempFile
Expand Down Expand Up @@ -237,6 +235,10 @@ class V1_21_11SurfPaperNmsPlayerBridgeImpl : SurfPaperNmsPlayerBridge {
return MinecraftServer.getServer().playerDataStorage.playerDir
}

override fun getStatsDataPath(): Path {
return MinecraftServer.getServer().getWorldPath(LevelResource.PLAYER_STATS_DIR)
}

private suspend fun loadPlayerTag(server: MinecraftServer, nameAndId: NameAndId): CompoundTag {
val dataStorage = server.playerDataStorage
return withContext(Dispatchers.IO) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,16 +36,14 @@ import net.minecraft.world.entity.EntityEquipment
import net.minecraft.world.entity.LivingEntity
import net.minecraft.world.entity.npc.InventoryCarrier
import net.minecraft.world.entity.player.Inventory
import net.minecraft.world.level.storage.TagValueInput
import net.minecraft.world.level.storage.TagValueOutput
import net.minecraft.world.level.storage.ValueInput
import net.minecraft.world.level.storage.ValueOutput
import net.minecraft.world.level.storage.*
import org.bukkit.craftbukkit.CraftEquipmentSlot
import org.bukkit.craftbukkit.inventory.CraftItemStack
import org.bukkit.entity.Player
import org.bukkit.inventory.EquipmentSlot
import org.bukkit.inventory.ItemStack
import java.io.File
import java.nio.file.Path
import java.util.concurrent.CompletableFuture
import kotlin.io.path.createTempFile
import kotlin.jvm.optionals.getOrNull
Expand Down Expand Up @@ -233,7 +231,11 @@ class V26_1SurfPaperNmsPlayerBridgeImpl : SurfPaperNmsPlayerBridge {
}

override fun getPlayerDataDir(): File {
return MinecraftServer.getServer().playerDataStorage.playerDir
return MinecraftServer.getServer().playerDataStorage.playerDir
}

override fun getStatsDataPath(): Path {
return MinecraftServer.getServer().getWorldPath(LevelResource.PLAYER_STATS_DIR)
}

private suspend fun loadPlayerTag(server: MinecraftServer, nameAndId: NameAndId): CompoundTag {
Expand Down
2 changes: 2 additions & 0 deletions surf-api-paper/surf-api-paper/api/surf-api-paper.api
Original file line number Diff line number Diff line change
Expand Up @@ -1717,6 +1717,7 @@ public abstract interface class dev/slne/surf/api/paper/nms/bridges/SurfPaperNms
public abstract fun getPaperRawChatType ()Lnet/kyori/adventure/chat/ChatType;
public abstract fun getPlayerDataDir ()Ljava/io/File;
public abstract fun getRemoteChatSessionData (Lorg/bukkit/entity/Player;)Ldev/slne/surf/api/paper/nms/bridges/data/chat/RemoteChatSessionData;
public abstract fun getStatsDataPath ()Ljava/nio/file/Path;
public abstract fun increaseNextChatIndex (Lorg/bukkit/entity/Player;)Ljava/lang/Integer;
public abstract fun runOnChatMessageChain (Lorg/bukkit/entity/Player;Lkotlinx/coroutines/CoroutineScope;Lkotlin/jvm/functions/Function1;)V
public abstract fun sendPlayerChatMessage (Lorg/bukkit/entity/Player;Lnet/kyori/adventure/chat/SignedMessage;Lnet/kyori/adventure/chat/ChatType$Bound;)V
Expand All @@ -1731,6 +1732,7 @@ public final class dev/slne/surf/api/paper/nms/bridges/SurfPaperNmsPlayerBridge$
public fun getPaperRawChatType ()Lnet/kyori/adventure/chat/ChatType;
public fun getPlayerDataDir ()Ljava/io/File;
public fun getRemoteChatSessionData (Lorg/bukkit/entity/Player;)Ldev/slne/surf/api/paper/nms/bridges/data/chat/RemoteChatSessionData;
public fun getStatsDataPath ()Ljava/nio/file/Path;
public fun increaseNextChatIndex (Lorg/bukkit/entity/Player;)Ljava/lang/Integer;
public fun runOnChatMessageChain (Lorg/bukkit/entity/Player;Lkotlinx/coroutines/CoroutineScope;Lkotlin/jvm/functions/Function1;)V
public fun sendPlayerChatMessage (Lorg/bukkit/entity/Player;Lnet/kyori/adventure/chat/SignedMessage;Lnet/kyori/adventure/chat/ChatType$Bound;)V
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import org.bukkit.inventory.EntityEquipment
import org.bukkit.inventory.ItemStack
import org.jetbrains.annotations.ApiStatus
import java.io.File
import java.nio.file.Path

@NmsUseWithCaution
@ApiStatus.NonExtendable
Expand Down Expand Up @@ -84,6 +85,13 @@ interface SurfPaperNmsPlayerBridge {
*/
fun getPlayerDataDir(): File

/**
* Retrieves the file system path used for storing statistical data.
*
* @return a [Path] object representing the location where statistical data is stored
*/
fun getStatsDataPath(): Path

companion object : SurfPaperNmsPlayerBridge by playerBridge {
val INSTANCE get() = playerBridge
}
Expand Down