✨ feature: top ten synchronized java functuons
Signed-off-by: Pauline <git@ethanlibs.co>
This commit is contained in:
@@ -1,22 +1,29 @@
|
||||
package moe.nea.firmament.compat.jade
|
||||
|
||||
import com.google.common.collect.Lists
|
||||
import snownee.jade.addon.harvest.ToolHandler
|
||||
import net.minecraft.block.BlockState
|
||||
import net.minecraft.item.Item
|
||||
import net.minecraft.item.ItemStack
|
||||
import net.minecraft.util.Identifier
|
||||
import net.minecraft.util.math.BlockPos
|
||||
import net.minecraft.world.World
|
||||
|
||||
class DrillToolHandler : ToolHandler {
|
||||
class SimpleToolHandler(
|
||||
private val uid: Identifier,
|
||||
private val tools: MutableList<ItemStack>
|
||||
) : ToolHandler {
|
||||
constructor(uid: Identifier, tools: MutableList<Item>) : this(uid, Lists.transform(tools, Item::getDefaultStack))
|
||||
|
||||
override fun test(state: BlockState, world: World, pos: BlockPos): ItemStack {
|
||||
TODO("We need to override the existing tool handler tests because they use state.getHardness(world, pos) instead of using Breaking Power")
|
||||
}
|
||||
|
||||
override fun getTools(): List<ItemStack> {
|
||||
TODO("Not yet implemented")
|
||||
return this.tools
|
||||
}
|
||||
|
||||
override fun getUid(): Identifier {
|
||||
TODO("Not yet implemented")
|
||||
return this.uid
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,38 @@
|
||||
package moe.nea.firmament.compat.jade
|
||||
|
||||
import com.google.common.cache.Cache
|
||||
import com.google.common.cache.CacheBuilder
|
||||
import com.google.common.collect.ImmutableList
|
||||
import com.google.common.collect.Maps
|
||||
import java.util.concurrent.TimeUnit
|
||||
import snownee.jade.addon.harvest.ToolHandler
|
||||
import snownee.jade.api.BlockAccessor
|
||||
import snownee.jade.api.IBlockComponentProvider
|
||||
import snownee.jade.api.ITooltip
|
||||
import snownee.jade.api.config.IPluginConfig
|
||||
import net.minecraft.block.Block
|
||||
import net.minecraft.block.BlockState
|
||||
import net.minecraft.item.ItemStack
|
||||
import net.minecraft.resource.ResourceManager
|
||||
import net.minecraft.resource.SynchronousResourceReloader
|
||||
import net.minecraft.text.Text
|
||||
import net.minecraft.util.Identifier
|
||||
import net.minecraft.util.math.Vec2f
|
||||
|
||||
|
||||
class DrillToolProvider : IBlockComponentProvider, SynchronousResourceReloader {
|
||||
val resultCache: Cache<BlockState, ImmutableList<ItemStack>> = CacheBuilder.newBuilder().expireAfterAccess(5, TimeUnit.MINUTES).build()
|
||||
val toolHandlers: MutableMap<Identifier, ToolHandler> = Maps.newLinkedHashMap()
|
||||
private val shearableBlocks: MutableList<Block> = mutableListOf()
|
||||
private val checkIcon: Text = Text.literal("✔")
|
||||
private val xIcon: Text = Text.literal("✕")
|
||||
private val itemSize = Vec2f(10f, 0f)
|
||||
|
||||
@Synchronized
|
||||
fun registerHandler(handler: ToolHandler) {
|
||||
toolHandlers.put(handler.uid, handler)
|
||||
}
|
||||
|
||||
class DrillToolProvider : IBlockComponentProvider {
|
||||
override fun appendTooltip(tooltip: ITooltip, accessor: BlockAccessor, config: IPluginConfig) {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
@@ -14,4 +40,8 @@ class DrillToolProvider : IBlockComponentProvider {
|
||||
override fun getUid(): Identifier {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
|
||||
override fun reload(manager: ResourceManager) {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ class SkyblockProgressProvider : IClientExtensionProvider<ProgressView.Data, Pro
|
||||
})
|
||||
}
|
||||
|
||||
override fun getUid(): Identifier? {
|
||||
override fun getUid(): Identifier {
|
||||
return "progress".jadeId()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user