Skip to content
Open
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
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ import com.github.shynixn.mccoroutine.bukkit.ticks
import io.github.pylonmc.pylon.core.addon.PylonAddon
import io.github.pylonmc.pylon.core.block.*
import io.github.pylonmc.pylon.core.block.base.*
import io.github.pylonmc.pylon.core.resourcepack.block.BlockTextureEngine
import io.github.pylonmc.pylon.core.block.waila.Waila
import io.github.pylonmc.pylon.core.command.ROOT_COMMAND
import io.github.pylonmc.pylon.core.command.ROOT_COMMAND_PY_ALIAS
Expand All @@ -23,16 +22,19 @@ import io.github.pylonmc.pylon.core.entity.EntityStorage
import io.github.pylonmc.pylon.core.entity.PylonEntity
import io.github.pylonmc.pylon.core.fluid.connecting.ConnectingService
import io.github.pylonmc.pylon.core.i18n.PylonTranslator
import io.github.pylonmc.pylon.core.item.PylonInventoryTicker
import io.github.pylonmc.pylon.core.item.PylonItem
import io.github.pylonmc.pylon.core.item.PylonItemListener
import io.github.pylonmc.pylon.core.item.base.InventoryTickSpeed
import io.github.pylonmc.pylon.core.item.research.Research
import io.github.pylonmc.pylon.core.metrics.PylonMetrics
import io.github.pylonmc.pylon.core.recipe.ConfigurableRecipeType
import io.github.pylonmc.pylon.core.recipe.PylonRecipeListener
import io.github.pylonmc.pylon.core.recipe.RecipeType
import io.github.pylonmc.pylon.core.registry.PylonRegistry
import io.github.pylonmc.pylon.core.resourcepack.block.BlockTextureConfig
import io.github.pylonmc.pylon.core.resourcepack.armor.ArmorTextureEngine
import io.github.pylonmc.pylon.core.resourcepack.block.BlockTextureConfig
import io.github.pylonmc.pylon.core.resourcepack.block.BlockTextureEngine
import io.github.retrooper.packetevents.factory.spigot.SpigotPacketEventsBuilder
import io.papermc.paper.plugin.lifecycle.event.types.LifecycleEvents
import kotlinx.coroutines.delay
Expand All @@ -44,7 +46,6 @@ import org.bukkit.Bukkit
import org.bukkit.Material
import org.bukkit.NamespacedKey
import org.bukkit.configuration.file.YamlConfiguration
import org.bukkit.entity.BlockDisplay
import org.bukkit.entity.Interaction
import org.bukkit.entity.ItemDisplay
import org.bukkit.permissions.Permission
Expand Down Expand Up @@ -94,6 +95,9 @@ object PylonCore : JavaPlugin(), PylonAddon {
Bukkit.getPluginManager().registerEvents(BlockStorage, this)
Bukkit.getPluginManager().registerEvents(BlockListener, this)
Bukkit.getPluginManager().registerEvents(PylonItemListener, this)
for (speed in InventoryTickSpeed.entries) {
Bukkit.getScheduler().runTaskTimer(this, PylonInventoryTicker(speed), 0, speed.tickRate)
}
Bukkit.getPluginManager().registerEvents(TickManager, this)
Bukkit.getPluginManager().registerEvents(MultiblockCache, this)
Bukkit.getPluginManager().registerEvents(EntityStorage, this)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package io.github.pylonmc.pylon.core.item

import io.github.pylonmc.pylon.core.item.base.InventoryTickSpeed
import io.github.pylonmc.pylon.core.item.base.PylonInventoryItem
import org.bukkit.Bukkit

internal class PylonInventoryTicker(private val tickSpeed: InventoryTickSpeed) : Runnable {
override fun run() {
for (player in Bukkit.getOnlinePlayers()) {
for (item in player.inventory) {
val pylonItem = PylonItem.fromStack(item)
if (pylonItem is PylonInventoryItem && pylonItem.getTickSpeed() == tickSpeed) {
pylonItem.onTick(player, item)
}
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package io.github.pylonmc.pylon.core.item.base

import org.bukkit.entity.Player
import org.bukkit.inventory.ItemStack

interface PylonInventoryItem {
fun onTick(player: Player, stack: ItemStack)
val tickSpeed: InventoryTickSpeed
}

enum class InventoryTickSpeed(val tickRate: Long) {
FAST(10),
MEDIUM(20),
SLOW(40)
}
Comment on lines +11 to +15
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Needs docs on the tick rates

Loading