9
0
mirror of https://github.com/Auxilor/Reforges.git synced 2025-12-21 16:09:20 +00:00

Compare commits

...

84 Commits

Author SHA1 Message Date
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
Auxilor
89c9935801 libreforge-updater 2023-11-10 13:58:55 +00:00
Auxilor
e15d6be301 libreforge-updater 2023-11-05 13:41:30 +00:00
Auxilor
d75a301cfa libreforge-updater 2023-10-30 13:30:36 +00:00
Auxilor
319afce452 Updated to 6.38.0 2023-10-30 13:10:08 +00:00
Auxilor
8932593683 Added on-reforge-effects 2023-10-30 13:08:17 +00:00
Auxilor
3fa95a5576 libreforge-updater 2023-10-28 14:15:02 +01:00
Auxilor
b5ec89f5d4 libreforge-updater 2023-10-24 15:38:58 +01:00
Auxilor
508c1e1d66 libreforge-updater 2023-10-19 12:52:05 +01:00
Auxilor
d921254584 libreforge-updater 2023-10-14 14:20:03 +01:00
Auxilor
2160fb5acc libreforge-updater 2023-10-14 14:18:36 +01:00
Auxilor
536b1d9dbf libreforge-updater 2023-10-02 11:53:15 +01:00
Auxilor
cef4abcfad libreforge-updater 2023-09-26 14:44:39 +01:00
Auxilor
7414ce787a libreforge-updater 2023-09-20 15:33:22 +01:00
Auxilor
d90fcc0d1a libreforge-updater 2023-09-17 11:19:45 +01:00
Auxilor
84e02044e1 libreforge-updater 2023-09-13 15:08:18 +01:00
Auxilor
19097fb7b5 libreforge-updater 2023-09-07 16:02:18 +01:00
Auxilor
8d86487eb6 libreforge-updater 2023-09-02 17:35:05 +01:00
Auxilor
32bf727816 libreforge-updater 2023-08-31 17:00:06 +01:00
Auxilor
023ae3d10e libreforge-updater 2023-08-30 11:32:02 +01:00
Auxilor
070b95eb94 libreforge-updater 2023-08-26 18:12:06 +01:00
Auxilor
a65f5add37 libreforge-updater 2023-08-23 15:32:20 +01:00
Auxilor
31a7b0f62f libreforge-updater 2023-08-19 15:33:14 +01:00
Auxilor
b11e34e823 libreforge-updater 2023-08-15 18:50:44 +01:00
Auxilor
cabae5c469 libreforge-updater 2023-08-13 14:43:13 +01:00
Auxilor
c930b89c8d libreforge-updater 2023-08-10 19:59:51 +01:00
Auxilor
9a6945c824 libreforge-updater 2023-08-10 19:57:59 +01:00
Auxilor
10a2e9ca7f libreforge-updater 2023-08-09 15:59:01 +01:00
Auxilor
22b18f7b24 libreforge-updater 2023-08-09 14:40:56 +01:00
Auxilor
a09444f3c0 libreforge-updater 2023-08-09 14:37:55 +01:00
Auxilor
df7e85e27b libreforge-updater 2023-08-08 17:59:49 +01:00
Auxilor
35ceb4bc68 libreforge-updater 2023-08-05 21:07:31 +01:00
Auxilor
89ecd11695 libreforge-updater 2023-07-27 15:22:05 +01:00
Auxilor
7b3b287f71 libreforge-updater 2023-07-27 15:19:05 +01:00
Auxilor
3f55d5a141 libreforge-updater 2023-07-25 14:38:46 +01:00
Auxilor
d2a925ec3e libreforge-updater 2023-07-23 11:40:52 +01:00
Auxilor
4e3128840f libreforge-updater 2023-07-22 15:00:01 +01:00
Auxilor
4074531b01 libreforge-updater 2023-07-21 12:33:26 +01:00
Auxilor
f506b10552 libreforge-updater 2023-07-20 13:07:15 +01:00
Auxilor
69e0ed176d libreforge-updater 2023-07-19 14:15:07 +01:00
Auxilor
31464a7ff7 libreforge-updater 2023-07-17 18:32:44 +01:00
Auxilor
182b4a354a libreforge-updater 2023-07-16 13:33:34 +01:00
Auxilor
d9315dfda9 libreforge-updater 2023-07-12 13:07:25 +01:00
Auxilor
4270804b1b libreforge-updater 2023-07-09 17:25:10 +01:00
Auxilor
ce7922ebfd libreforge-updater 2023-07-06 18:47:19 +01:00
Auxilor
abf4b71271 libreforge-updater 2023-07-04 14:50:10 +01:00
Auxilor
6e388e0372 libreforge-updater 2023-06-27 10:42:11 +01:00
Auxilor
be8bdf6b48 libreforge-updater 2023-06-21 10:22:53 +01:00
Auxilor
3884a8859c libreforge-updater 2023-06-19 11:11:57 +02:00
Will FP
d898448e35 Create CODEOWNERS 2023-06-17 21:22:29 +02:00
Auxilor
115aa6af07 libreforge-updater 2023-06-10 13:32:58 +01:00
Auxilor
a3dd390dc4 libreforge-updater 2023-06-05 16:26:19 +01:00
Auxilor
23ac0ee77c Fixed Publications 2023-06-03 18:02:25 +01:00
Auxilor
b6dbb08a00 libreforge-updater 2023-06-03 15:45:05 +01:00
Auxilor
58eb7b482c libreforge-updater 2023-06-01 12:33:04 +01:00
Auxilor
6ca8bbe3ab libreforge-updater 2023-05-30 16:10:13 +01:00
Auxilor
6da6cb84f0 libreforge-updater 2023-05-24 14:57:42 +01:00
Auxilor
a60cf095c0 libreforge-updater 2023-05-23 16:11:23 +01:00
Auxilor
ef9cb40e36 libreforge-updater 2023-05-20 17:40:30 +01:00
Auxilor
eea580b3c7 libreforge-updater 2023-05-18 16:25:10 +01:00
Auxilor
36d0c4048d libreforge-updater 2023-05-17 15:56:52 +01:00
Auxilor
782b4b4fe4 libreforge-updater 2023-05-16 20:29:56 +01:00
Auxilor
55b259360a libreforge-updater 2023-05-15 10:52:16 +01:00
Auxilor
18adf6fce6 libreforge-updater 2023-05-14 13:08:13 +01:00
Auxilor
7f07c4805d libreforge-updater 2023-05-09 17:45:12 +01:00
Auxilor
4529de3711 libreforge-updater 2023-05-05 18:54:19 +01:00
Auxilor
c723384060 libreforge-updater 2023-05-03 14:47:36 +01:00
Auxilor
4f40b69d64 libreforge-updater 2023-04-30 19:56:45 +01:00
Auxilor
14af73dbe4 libreforge-updater 2023-04-29 17:18:58 +01:00
Auxilor
bbae779308 libreforge-updater 2023-04-25 16:05:51 +01:00
Auxilor
d049430007 libreforge-updater 2023-04-25 13:12:59 +01:00
Auxilor
0d20247aa1 libreforge-updater 2023-04-24 22:48:49 +01:00
Auxilor
a9ed6d23cc libreforge-updater 2023-04-20 20:21:28 +01:00
Auxilor
38cf28faa9 libreforge-updater 2023-04-19 12:22:30 +01:00
Auxilor
f7a77351c7 libreforge-updater 2023-04-13 12:48:31 -04:00
Auxilor
28075b9ace libreforge-updater 2023-04-09 18:19:09 -04:00
Auxilor
4ce594c7ee libreforge-updater 2023-04-06 20:09:08 +02:00
Auxilor
18a793de8d libreforge-updater 2023-04-05 13:14:32 +01:00
Auxilor
f31ae82e61 libreforge-updater 2023-04-03 17:50:33 +01:00
Auxilor
4616fa0d88 libreforge-updater 2023-04-02 17:44:50 +01:00
Auxilor
16dd116151 libreforge-updater 2023-03-30 15:30:06 +01:00
Auxilor
d4451542d8 libreforge-updater 2023-03-29 19:20:49 +01:00
10 changed files with 56 additions and 16 deletions

1
.github/CODEOWNERS vendored Normal file
View File

@@ -0,0 +1 @@
* @WillFP

View File

@@ -37,7 +37,7 @@ allprojects {
} }
dependencies { dependencies {
compileOnly("com.willfp:eco:6.53.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.7.10")
} }

View File

@@ -11,9 +11,12 @@ dependencies {
publishing { publishing {
publications { publications {
register("maven", MavenPublication::class) { register<MavenPublication>("maven") {
from(components["java"]) groupId = project.group.toString()
version = project.version.toString()
artifactId = rootProject.name artifactId = rootProject.name
artifact(rootProject.tasks.shadowJar.get().archiveFile)
} }
} }

View File

@@ -28,6 +28,7 @@ class CommandApply(
if (sender is Player) { if (sender is Player) {
val item = sender.inventory.itemInMainHand val item = sender.inventory.itemInMainHand
item.reforge = reforge item.reforge = reforge
reforge.runOnReforgeEffects(sender, item)
sender.sendMessage( sender.sendMessage(
plugin.langYml.getMessage("applied-reforge") plugin.langYml.getMessage("applied-reforge")
.replace("%reforge%", reforge.name) .replace("%reforge%", reforge.name)
@@ -45,7 +46,10 @@ class CommandApply(
return return
} }
player.inventory.itemInMainHand.reforge = reforge val item = player.inventory.itemInMainHand
item.reforge = reforge
reforge.runOnReforgeEffects(player, item)
sender.sendMessage( sender.sendMessage(
plugin.langYml.getMessage("applied-reforge") plugin.langYml.getMessage("applied-reforge")
.replace("%reforge%", reforge.name) .replace("%reforge%", reforge.name)

View File

@@ -6,10 +6,13 @@ 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
import com.willfp.eco.util.toJSON import com.willfp.eco.util.toJSON
import com.willfp.libreforge.ItemProvidedHolder
import com.willfp.libreforge.ProvidedHolder
import com.willfp.reforges.ReforgesPlugin import com.willfp.reforges.ReforgesPlugin
import com.willfp.reforges.reforges.ReforgeTargets import com.willfp.reforges.reforges.ReforgeTargets
import com.willfp.reforges.util.reforge import com.willfp.reforges.util.reforge
@@ -45,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")) {
@@ -89,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
@@ -111,7 +118,9 @@ class ReforgesDisplay(private val plugin: ReforgesPlugin) : DisplayModule(plugin
if (player != null) { if (player != null) {
val lines = reforge.conditions.getNotMetLines(player).map { Display.PREFIX + it } val provided = ItemProvidedHolder(reforge, itemStack)
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

@@ -150,6 +150,8 @@ private class ActivatorSlot(
item.timesReforged++ item.timesReforged++
item.reforge = reforge item.reforge = reforge
reforge.runOnReforgeEffects(player, item)
if (usedStone) { if (usedStone) {
val stone = reforgeStone[player] val stone = reforgeStone[player]
stone?.amount = stone?.amount?.minus(1) ?: 0 stone?.amount = stone?.amount?.minus(1) ?: 0

View File

@@ -11,12 +11,15 @@ import com.willfp.eco.core.recipe.Recipes
import com.willfp.eco.core.registry.Registrable import com.willfp.eco.core.registry.Registrable
import com.willfp.eco.util.StringUtils import com.willfp.eco.util.StringUtils
import com.willfp.libreforge.Holder import com.willfp.libreforge.Holder
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.triggers.TriggerData
import com.willfp.reforges.ReforgesPlugin import com.willfp.reforges.ReforgesPlugin
import com.willfp.reforges.util.reforgeStone import com.willfp.reforges.util.reforgeStone
import net.kyori.adventure.text.format.TextDecoration import net.kyori.adventure.text.format.TextDecoration
import org.bukkit.entity.Player
import org.bukkit.inventory.ItemStack import org.bukkit.inventory.ItemStack
import java.util.Objects import java.util.Objects
@@ -30,7 +33,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()
@@ -73,6 +76,11 @@ class Reforge(
} }
} else null } else null
private val onReforgeEffects = Effects.compileChain(
config.getSubsections("on-reforge-effects"),
ViolationContext(plugin, "Reforge $id").with("on-reforge-effects")
)
init { init {
stone.reforgeStone = this stone.reforgeStone = this
@@ -98,6 +106,17 @@ class Reforge(
return targets.any { target -> target.items.any { it.matches(item) } } return targets.any { target -> target.items.any { it.matches(item) } }
} }
fun runOnReforgeEffects(player: Player, item: ItemStack) {
onReforgeEffects?.trigger(
player,
TriggerData(
holder = ItemProvidedHolder(this, item),
player = player,
item = item
)
)
}
override fun getID(): String { override fun getID(): String {
return this.id.key return this.id.key
} }

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

@@ -54,3 +54,6 @@ effects:
# The conditions required to use the reforge # The conditions required to use the reforge
conditions: [ ] conditions: [ ]
# Effects to run when the reforge is applied to an item.
on-reforge-effects: [ ]

View File

@@ -1,5 +1,5 @@
#libreforge-updater #libreforge-updater
#Wed Mar 29 15:46:54 BST 2023 #Sat Nov 11 17:58:28 GMT 2023
kotlin.code.style=official kotlin.code.style=official
libreforge-version=4.0.0 libreforge-version=4.42.0
version=6.0.0 version=6.42.0