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

Compare commits

...

85 Commits

Author SHA1 Message Date
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
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 {
compileOnly("com.willfp:eco:6.53.0")
compileOnly("com.willfp:eco:6.56.0")
compileOnly("org.jetbrains:annotations:23.0.0")
compileOnly("org.jetbrains.kotlin:kotlin-stdlib:1.7.10")
}

View File

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

View File

@@ -28,6 +28,7 @@ class CommandApply(
if (sender is Player) {
val item = sender.inventory.itemInMainHand
item.reforge = reforge
reforge.runOnReforgeEffects(sender, item)
sender.sendMessage(
plugin.langYml.getMessage("applied-reforge")
.replace("%reforge%", reforge.name)
@@ -45,7 +46,10 @@ class CommandApply(
return
}
player.inventory.itemInMainHand.reforge = reforge
val item = player.inventory.itemInMainHand
item.reforge = reforge
reforge.runOnReforgeEffects(player, item)
sender.sendMessage(
plugin.langYml.getMessage("applied-reforge")
.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.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
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.reforges.ReforgeTargets
import com.willfp.reforges.util.reforge
@@ -45,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()
@@ -89,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
@@ -111,7 +118,9 @@ class ReforgesDisplay(private val plugin: ReforgesPlugin) : DisplayModule(plugin
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()) {
lore.add(Display.PREFIX)

View File

@@ -150,6 +150,8 @@ private class ActivatorSlot(
item.timesReforged++
item.reforge = reforge
reforge.runOnReforgeEffects(player, item)
if (usedStone) {
val stone = reforgeStone[player]
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.util.StringUtils
import com.willfp.libreforge.Holder
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.triggers.TriggerData
import com.willfp.reforges.ReforgesPlugin
import com.willfp.reforges.util.reforgeStone
import net.kyori.adventure.text.format.TextDecoration
import org.bukkit.entity.Player
import org.bukkit.inventory.ItemStack
import java.util.Objects
@@ -30,7 +33,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()
@@ -73,6 +76,11 @@ class Reforge(
}
} else null
private val onReforgeEffects = Effects.compileChain(
config.getSubsections("on-reforge-effects"),
ViolationContext(plugin, "Reforge $id").with("on-reforge-effects")
)
init {
stone.reforgeStone = this
@@ -98,6 +106,17 @@ class Reforge(
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 {
return this.id.key
}

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

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

View File

@@ -1,5 +1,5 @@
#libreforge-updater
#Wed Mar 29 15:46:54 BST 2023
#Fri Nov 17 19:01:58 GMT 2023
kotlin.code.style=official
libreforge-version=4.0.0
version=6.0.0
libreforge-version=4.43.0
version=6.43.0