9
0
mirror of https://github.com/Auxilor/Reforges.git synced 2025-12-22 08:29:34 +00:00

Compare commits

...

21 Commits

Author SHA1 Message Date
Auxilor
0a7ef0b65a libreforge-updater 2024-01-04 17:26:18 +00:00
Auxilor
1df223c741 Fixed compile bug 2024-01-01 20:04:30 +00:00
Auxilor
db5c627f4d libreforge-updater 2024-01-01 20:03:31 +00:00
Will FP
f0a6a4c9b8 libreforge-updater 2023-12-27 14:16:44 +01:00
Will FP
d9296cca53 libreforge-updater 2023-12-24 14:54:24 +01:00
Auxilor
534c8a6018 libreforge-updater 2023-12-20 15:59:05 +00:00
Will FP
5b48c4f159 libreforge-updater 2023-12-14 16:12:57 +00:00
Will FP
cc98189027 libreforge-updater 2023-12-11 12:12:20 +00:00
Will FP
8fa7d145ac Merge pull request #34 from PQguanfang/patch-1
Update custom item register ID
2023-12-11 11:39:16 +00:00
Will FP
a89a6503ad libreforge-updater 2023-12-07 17:25:03 +00:00
Will FP
1c10a2fbe4 libreforge-updater 2023-12-03 15:58:35 +00:00
Will FP
7bc6afdf43 libreforge-updater 2023-11-30 14:26:55 +00:00
Will FP
3725e55f43 libreforge-updater 2023-11-26 23:24:08 +00:00
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
PQguanfang
eaba6c24a8 Update custom item register ID
This register ID will lead to reforge stone has the second : symbol, like:
reforges:stone_reforges:bleed

This will lead to reforge stone will never be able to use in eco's Item lookup feature, this PR is fixing this problem.
2023-11-05 20:20:31 +08:00
8 changed files with 43 additions and 79 deletions

View File

@@ -2,7 +2,7 @@ plugins {
java java
`java-library` `java-library`
`maven-publish` `maven-publish`
kotlin("jvm") version "1.7.10" kotlin("jvm") version "1.9.20"
id("com.github.johnrengelman.shadow") version "8.0.0" id("com.github.johnrengelman.shadow") version "8.0.0"
id("com.willfp.libreforge-gradle-plugin") version "1.0.0" id("com.willfp.libreforge-gradle-plugin") version "1.0.0"
} }
@@ -39,7 +39,7 @@ allprojects {
dependencies { dependencies {
compileOnly("com.willfp:eco:6.56.0") compileOnly("com.willfp:eco:6.56.0")
compileOnly("org.jetbrains:annotations:23.0.0") compileOnly("org.jetbrains:annotations:23.0.0")
compileOnly("org.jetbrains.kotlin:kotlin-stdlib:1.7.10") compileOnly("org.jetbrains.kotlin:kotlin-stdlib:1.9.20")
} }
java { java {

View File

@@ -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> {

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.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,12 +48,15 @@ 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()
@@ -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)

View File

@@ -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>()

View File

@@ -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()
@@ -86,7 +87,7 @@ class Reforge(
if (config.getBool("stone.enabled")) { if (config.getBool("stone.enabled")) {
CustomItem( CustomItem(
plugin.namespacedKeyFactory.create("stone_" + this.id), plugin.namespacedKeyFactory.create("stone_" + this.id.key),
{ test -> test.reforgeStone == this }, { test -> test.reforgeStone == this },
stone stone
).register() ).register()
@@ -108,9 +109,8 @@ 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),
player = player, player = player,
item = item item = item
) )
@@ -140,4 +140,4 @@ class Reforge(
override fun toString(): String { override fun toString(): String {
return "Reforge{$id}" return "Reforge{$id}"
} }
} }

View File

@@ -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%"

View File

@@ -1,58 +0,0 @@
name: ${pluginName}
version: ${version}
main: com.willfp.reforges.ReforgesPlugin
api-version: 1.19
dependencies:
- name: eco
required: true
bootstrap: false
- name: libreforge
required: false
bootstrap: false
- name: Talismans
required: false
bootstrap: false
load-after:
- name: eco
bootstrap: false
permissions:
reforges.*:
description: All reforges permissions
default: op
children:
reforges.command.*: true
reforges.command.*:
description: All commands
default: op
children:
reforges.command.reload: true
reforges.command.reforges: true
reforges.command.reforge: true
reforges.command.give: true
reforges.command.apply: true
reforges.command.open: true
reforges.command.reload:
description: Allows reloading the config
default: op
reforges.command.reforges:
description: Allows the user of /reforges.
default: true
reforges.command.reforge:
description: Allows the user of /reforge.
default: true
reforges.command.give:
description: Allows the user of /reforges give.
default: op
reforges.command.open:
description: Allows the user of /reforges open.
default: op
reforges.command.apply:
description: Allows the user of /reforges apply.
default: op

View File

@@ -1,5 +1,5 @@
#libreforge-updater #libreforge-updater
#Fri Nov 10 13:58:55 GMT 2023 #Thu Jan 04 17:26:18 GMT 2024
kotlin.code.style=official kotlin.code.style=official
libreforge-version=4.41.0 libreforge-version=4.53.0
version=6.41.0 version=6.52.0