9
0
mirror of https://github.com/Auxilor/Reforges.git synced 2025-12-23 17:09:32 +00:00

Compare commits

...

7 Commits

Author SHA1 Message Date
Will FP
3cbc54429e libreforge-updater 2023-11-23 13:21:00 +00:00
Auxilor
068b9b1cdb libreforge-updater 2023-11-21 22:41:08 +00:00
Auxilor
43cfa1ab9f libreforge-updater 2023-11-19 14:13:53 +00:00
Auxilor
d68c7b1f43 libreforge-updater 2023-11-17 19:01:58 +00:00
Auxilor
1a14a11aa4 libreforge-updater 2023-11-11 17:58:28 +00:00
Auxilor
ff3af6b412 Added support for item placeholders 2023-11-11 15:00:10 +00:00
Auxilor
7bd43e6506 Updated not-met-lines 2023-11-11 14:51:25 +00:00
6 changed files with 39 additions and 16 deletions

View File

@@ -9,6 +9,8 @@ import com.willfp.libreforge.loader.LibreforgePlugin
import com.willfp.libreforge.loader.configs.ConfigCategory
import com.willfp.libreforge.registerHolderProvider
import com.willfp.libreforge.registerPlayerRefreshFunction
import com.willfp.libreforge.registerSpecificHolderProvider
import com.willfp.libreforge.registerSpecificRefreshFunction
import com.willfp.reforges.commands.CommandReforge
import com.willfp.reforges.commands.CommandReforges
import com.willfp.reforges.config.TargetYml
@@ -20,6 +22,7 @@ import com.willfp.reforges.reforges.util.ReforgeArgParser
import com.willfp.reforges.util.AntiPlaceListener
import com.willfp.reforges.util.DiscoverRecipeListener
import com.willfp.reforges.util.ReforgeLookup
import org.bukkit.entity.Player
import org.bukkit.event.Listener
class ReforgesPlugin : LibreforgePlugin() {
@@ -41,8 +44,13 @@ class ReforgesPlugin : LibreforgePlugin() {
Items.registerArgParser(ReforgeArgParser)
registerHolderProvider { ReforgeLookup.provideReforges(it) }
registerPlayerRefreshFunction { ReforgeLookup.clearCache(it) }
registerSpecificHolderProvider<Player> {
ReforgeLookup.provideReforges(it)
}
registerSpecificRefreshFunction<Player> {
ReforgeLookup.clearCache(it)
}
}
override fun loadListeners(): List<Listener> {

View File

@@ -6,6 +6,7 @@ import com.willfp.eco.core.display.DisplayPriority
import com.willfp.eco.core.display.DisplayProperties
import com.willfp.eco.core.fast.FastItemStack
import com.willfp.eco.core.fast.fast
import com.willfp.eco.core.placeholder.context.placeholderContext
import com.willfp.eco.util.SkullUtils
import com.willfp.eco.util.StringUtils
import com.willfp.eco.util.formatEco
@@ -47,12 +48,15 @@ class ReforgesDisplay(private val plugin: ReforgesPlugin) : DisplayModule(plugin
val reforge = fast.persistentDataContainer.reforge
val context = placeholderContext(
player = player,
item = itemStack
)
if (reforge == null && stone == null) {
if (plugin.configYml.getBool("reforge.show-reforgable")) {
if (plugin.configYml.getBool("reforge.no-reforgable-in-gui")) {
if (props.inGui) {
return
}
if (props.inGui) {
return
}
val addLore: MutableList<String> = ArrayList()
@@ -91,10 +95,11 @@ class ReforgesDisplay(private val plugin: ReforgesPlugin) : DisplayModule(plugin
for (string in plugin.configYml.getFormattedStrings("reforge.reforged-prefix")) {
addLore.add(Display.PREFIX + string.replace("%reforge%", reforge.name))
}
addLore.addAll(reforge.description)
addLore.addAll(reforge.description.formatEco(context))
addLore.replaceAll { "${Display.PREFIX}$it" }
lore.addAll(addLore)
}
if (plugin.configYml.getBool("reforge.display-in-name")) {
val displayName = fastItemStack.displayNameComponent
@@ -115,7 +120,7 @@ class ReforgesDisplay(private val plugin: ReforgesPlugin) : DisplayModule(plugin
if (player != null) {
val provided = ItemProvidedHolder(reforge, itemStack)
val lines = reforge.conditions.getNotMetLines(player, provided).map { Display.PREFIX + it }
val lines = provided.getNotMetLines(player).map { Display.PREFIX + it }
if (lines.isNotEmpty()) {
lore.add(Display.PREFIX)

View File

@@ -2,9 +2,12 @@ package com.willfp.reforges.libreforge
import com.willfp.eco.core.config.interfaces.Config
import com.willfp.eco.util.containsIgnoreCase
import com.willfp.libreforge.Dispatcher
import com.willfp.libreforge.NoCompileData
import com.willfp.libreforge.ProvidedHolder
import com.willfp.libreforge.arguments
import com.willfp.libreforge.conditions.Condition
import com.willfp.libreforge.get
import com.willfp.reforges.reforges.Reforge
import com.willfp.reforges.util.ReforgeLookup
import org.bukkit.entity.Player
@@ -14,7 +17,14 @@ object ConditionHasReforge : Condition<NoCompileData>("has_reforge") {
require("reforge", "You must specify the reforge!")
}
override fun isMet(player: Player, config: Config, compileData: NoCompileData): Boolean {
override fun isMet(
dispatcher: Dispatcher<*>,
config: Config,
holder: ProvidedHolder,
compileData: NoCompileData
): Boolean {
val player = dispatcher.get<Player>() ?: return false
return ReforgeLookup.provideReforges(player)
.map { it.holder }
.filterIsInstance<Reforge>()

View File

@@ -15,6 +15,7 @@ import com.willfp.libreforge.ItemProvidedHolder
import com.willfp.libreforge.ViolationContext
import com.willfp.libreforge.conditions.Conditions
import com.willfp.libreforge.effects.Effects
import com.willfp.libreforge.toDispatcher
import com.willfp.libreforge.triggers.TriggerData
import com.willfp.reforges.ReforgesPlugin
import com.willfp.reforges.util.reforgeStone
@@ -33,7 +34,7 @@ class Reforge(
val namePrefixComponent = StringUtils.toComponent("$name ").decoration(TextDecoration.ITALIC, false)
val description: List<String> = config.getFormattedStrings("description")
val description: List<String> = config.getStrings("description")
val targets = config.getStrings("targets").mapNotNull { ReforgeTargets.getByName(it) }.toSet()
@@ -108,7 +109,7 @@ class Reforge(
fun runOnReforgeEffects(player: Player, item: ItemStack) {
onReforgeEffects?.trigger(
player,
player.toDispatcher(),
TriggerData(
holder = ItemProvidedHolder(this, item),
player = player,

View File

@@ -146,12 +146,11 @@ reforge:
reforgable-suffix:
- ""
- "&8This item can be reforged!"
no-reforgable-in-gui: true # Not perfect, won't work 100% of the time
# due to how GUIs are handled differently in different plugins, but should help.
display-in-lore: true
display-in-name: true
# The lore to display if an item is reforged, above the reforge description
reforged-prefix:
- ""
- "%reforge%"

View File

@@ -1,5 +1,5 @@
#libreforge-updater
#Fri Nov 10 13:58:55 GMT 2023
#Thu Nov 23 13:21:00 GMT 2023
kotlin.code.style=official
libreforge-version=4.41.0
version=6.41.0
libreforge-version=4.45.0
version=6.45.0