mirror of
https://github.com/Auxilor/Reforges.git
synced 2025-12-23 17:09:32 +00:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3cbc54429e | ||
|
|
068b9b1cdb | ||
|
|
43cfa1ab9f | ||
|
|
d68c7b1f43 | ||
|
|
1a14a11aa4 | ||
|
|
ff3af6b412 | ||
|
|
7bd43e6506 |
@@ -9,6 +9,8 @@ import com.willfp.libreforge.loader.LibreforgePlugin
|
|||||||
import com.willfp.libreforge.loader.configs.ConfigCategory
|
import com.willfp.libreforge.loader.configs.ConfigCategory
|
||||||
import com.willfp.libreforge.registerHolderProvider
|
import com.willfp.libreforge.registerHolderProvider
|
||||||
import com.willfp.libreforge.registerPlayerRefreshFunction
|
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.CommandReforge
|
||||||
import com.willfp.reforges.commands.CommandReforges
|
import com.willfp.reforges.commands.CommandReforges
|
||||||
import com.willfp.reforges.config.TargetYml
|
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.AntiPlaceListener
|
||||||
import com.willfp.reforges.util.DiscoverRecipeListener
|
import com.willfp.reforges.util.DiscoverRecipeListener
|
||||||
import com.willfp.reforges.util.ReforgeLookup
|
import com.willfp.reforges.util.ReforgeLookup
|
||||||
|
import org.bukkit.entity.Player
|
||||||
import org.bukkit.event.Listener
|
import org.bukkit.event.Listener
|
||||||
|
|
||||||
class ReforgesPlugin : LibreforgePlugin() {
|
class ReforgesPlugin : LibreforgePlugin() {
|
||||||
@@ -41,8 +44,13 @@ class ReforgesPlugin : LibreforgePlugin() {
|
|||||||
|
|
||||||
Items.registerArgParser(ReforgeArgParser)
|
Items.registerArgParser(ReforgeArgParser)
|
||||||
|
|
||||||
registerHolderProvider { ReforgeLookup.provideReforges(it) }
|
registerSpecificHolderProvider<Player> {
|
||||||
registerPlayerRefreshFunction { ReforgeLookup.clearCache(it) }
|
ReforgeLookup.provideReforges(it)
|
||||||
|
}
|
||||||
|
|
||||||
|
registerSpecificRefreshFunction<Player> {
|
||||||
|
ReforgeLookup.clearCache(it)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun loadListeners(): List<Listener> {
|
override fun loadListeners(): List<Listener> {
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import com.willfp.eco.core.display.DisplayPriority
|
|||||||
import com.willfp.eco.core.display.DisplayProperties
|
import com.willfp.eco.core.display.DisplayProperties
|
||||||
import com.willfp.eco.core.fast.FastItemStack
|
import com.willfp.eco.core.fast.FastItemStack
|
||||||
import com.willfp.eco.core.fast.fast
|
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.SkullUtils
|
||||||
import com.willfp.eco.util.StringUtils
|
import com.willfp.eco.util.StringUtils
|
||||||
import com.willfp.eco.util.formatEco
|
import com.willfp.eco.util.formatEco
|
||||||
@@ -47,13 +48,16 @@ class ReforgesDisplay(private val plugin: ReforgesPlugin) : DisplayModule(plugin
|
|||||||
|
|
||||||
val reforge = fast.persistentDataContainer.reforge
|
val reforge = fast.persistentDataContainer.reforge
|
||||||
|
|
||||||
|
val context = placeholderContext(
|
||||||
|
player = player,
|
||||||
|
item = itemStack
|
||||||
|
)
|
||||||
|
|
||||||
if (reforge == null && stone == null) {
|
if (reforge == null && stone == null) {
|
||||||
if (plugin.configYml.getBool("reforge.show-reforgable")) {
|
if (plugin.configYml.getBool("reforge.show-reforgable")) {
|
||||||
if (plugin.configYml.getBool("reforge.no-reforgable-in-gui")) {
|
|
||||||
if (props.inGui) {
|
if (props.inGui) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
val addLore: MutableList<String> = ArrayList()
|
val addLore: MutableList<String> = ArrayList()
|
||||||
for (string in plugin.configYml.getFormattedStrings("reforge.reforgable-suffix")) {
|
for (string in plugin.configYml.getFormattedStrings("reforge.reforgable-suffix")) {
|
||||||
@@ -91,10 +95,11 @@ class ReforgesDisplay(private val plugin: ReforgesPlugin) : DisplayModule(plugin
|
|||||||
for (string in plugin.configYml.getFormattedStrings("reforge.reforged-prefix")) {
|
for (string in plugin.configYml.getFormattedStrings("reforge.reforged-prefix")) {
|
||||||
addLore.add(Display.PREFIX + string.replace("%reforge%", reforge.name))
|
addLore.add(Display.PREFIX + string.replace("%reforge%", reforge.name))
|
||||||
}
|
}
|
||||||
addLore.addAll(reforge.description)
|
addLore.addAll(reforge.description.formatEco(context))
|
||||||
addLore.replaceAll { "${Display.PREFIX}$it" }
|
addLore.replaceAll { "${Display.PREFIX}$it" }
|
||||||
lore.addAll(addLore)
|
lore.addAll(addLore)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (plugin.configYml.getBool("reforge.display-in-name")) {
|
if (plugin.configYml.getBool("reforge.display-in-name")) {
|
||||||
val displayName = fastItemStack.displayNameComponent
|
val displayName = fastItemStack.displayNameComponent
|
||||||
|
|
||||||
@@ -115,7 +120,7 @@ class ReforgesDisplay(private val plugin: ReforgesPlugin) : DisplayModule(plugin
|
|||||||
if (player != null) {
|
if (player != null) {
|
||||||
val provided = ItemProvidedHolder(reforge, itemStack)
|
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()) {
|
if (lines.isNotEmpty()) {
|
||||||
lore.add(Display.PREFIX)
|
lore.add(Display.PREFIX)
|
||||||
|
|||||||
@@ -2,9 +2,12 @@ package com.willfp.reforges.libreforge
|
|||||||
|
|
||||||
import com.willfp.eco.core.config.interfaces.Config
|
import com.willfp.eco.core.config.interfaces.Config
|
||||||
import com.willfp.eco.util.containsIgnoreCase
|
import com.willfp.eco.util.containsIgnoreCase
|
||||||
|
import com.willfp.libreforge.Dispatcher
|
||||||
import com.willfp.libreforge.NoCompileData
|
import com.willfp.libreforge.NoCompileData
|
||||||
|
import com.willfp.libreforge.ProvidedHolder
|
||||||
import com.willfp.libreforge.arguments
|
import com.willfp.libreforge.arguments
|
||||||
import com.willfp.libreforge.conditions.Condition
|
import com.willfp.libreforge.conditions.Condition
|
||||||
|
import com.willfp.libreforge.get
|
||||||
import com.willfp.reforges.reforges.Reforge
|
import com.willfp.reforges.reforges.Reforge
|
||||||
import com.willfp.reforges.util.ReforgeLookup
|
import com.willfp.reforges.util.ReforgeLookup
|
||||||
import org.bukkit.entity.Player
|
import org.bukkit.entity.Player
|
||||||
@@ -14,7 +17,14 @@ object ConditionHasReforge : Condition<NoCompileData>("has_reforge") {
|
|||||||
require("reforge", "You must specify the 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)
|
return ReforgeLookup.provideReforges(player)
|
||||||
.map { it.holder }
|
.map { it.holder }
|
||||||
.filterIsInstance<Reforge>()
|
.filterIsInstance<Reforge>()
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ import com.willfp.libreforge.ItemProvidedHolder
|
|||||||
import com.willfp.libreforge.ViolationContext
|
import com.willfp.libreforge.ViolationContext
|
||||||
import com.willfp.libreforge.conditions.Conditions
|
import com.willfp.libreforge.conditions.Conditions
|
||||||
import com.willfp.libreforge.effects.Effects
|
import com.willfp.libreforge.effects.Effects
|
||||||
|
import com.willfp.libreforge.toDispatcher
|
||||||
import com.willfp.libreforge.triggers.TriggerData
|
import com.willfp.libreforge.triggers.TriggerData
|
||||||
import com.willfp.reforges.ReforgesPlugin
|
import com.willfp.reforges.ReforgesPlugin
|
||||||
import com.willfp.reforges.util.reforgeStone
|
import com.willfp.reforges.util.reforgeStone
|
||||||
@@ -33,7 +34,7 @@ class Reforge(
|
|||||||
|
|
||||||
val namePrefixComponent = StringUtils.toComponent("$name ").decoration(TextDecoration.ITALIC, false)
|
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()
|
val targets = config.getStrings("targets").mapNotNull { ReforgeTargets.getByName(it) }.toSet()
|
||||||
|
|
||||||
@@ -108,7 +109,7 @@ class Reforge(
|
|||||||
|
|
||||||
fun runOnReforgeEffects(player: Player, item: ItemStack) {
|
fun runOnReforgeEffects(player: Player, item: ItemStack) {
|
||||||
onReforgeEffects?.trigger(
|
onReforgeEffects?.trigger(
|
||||||
player,
|
player.toDispatcher(),
|
||||||
TriggerData(
|
TriggerData(
|
||||||
holder = ItemProvidedHolder(this, item),
|
holder = ItemProvidedHolder(this, item),
|
||||||
player = player,
|
player = player,
|
||||||
|
|||||||
@@ -146,12 +146,11 @@ reforge:
|
|||||||
reforgable-suffix:
|
reforgable-suffix:
|
||||||
- ""
|
- ""
|
||||||
- "&8This item can be reforged!"
|
- "&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-lore: true
|
||||||
display-in-name: true
|
display-in-name: true
|
||||||
|
|
||||||
|
# The lore to display if an item is reforged, above the reforge description
|
||||||
reforged-prefix:
|
reforged-prefix:
|
||||||
- ""
|
- ""
|
||||||
- "%reforge%"
|
- "%reforge%"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#libreforge-updater
|
#libreforge-updater
|
||||||
#Fri Nov 10 13:58:55 GMT 2023
|
#Thu Nov 23 13:21:00 GMT 2023
|
||||||
kotlin.code.style=official
|
kotlin.code.style=official
|
||||||
libreforge-version=4.41.0
|
libreforge-version=4.45.0
|
||||||
version=6.41.0
|
version=6.45.0
|
||||||
|
|||||||
Reference in New Issue
Block a user