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

Compare commits

..

50 Commits

Author SHA1 Message Date
Auxilor
7279958cca libreforge-updater 2022-10-18 14:13:24 +01:00
Auxilor
6689c3cf23 Fixed GUI, Improved _example.yml 2022-10-18 14:02:09 +01:00
Auxilor
df8357ac61 libreforge-updater 2022-10-16 23:26:48 +01:00
Auxilor
aa0f06092e libreforge-updater 2022-10-13 20:12:39 +01:00
Auxilor
19083d54b8 libreforge-updater 2022-10-10 21:04:09 +01:00
Auxilor
2a6c2941d8 libreforge-updater 2022-10-09 15:02:19 +01:00
Auxilor
757dffb08d libreforge-updater 2022-10-07 19:51:01 +01:00
Auxilor
277a0bef78 libreforge-updater 2022-10-06 12:04:08 +01:00
Auxilor
c7f8b9f97e libreforge-updater 2022-10-04 15:53:05 +01:00
Auxilor
0f97e2dfc4 Fixed reforge GUI 2022-10-04 12:33:52 +01:00
Auxilor
ae503fd646 libreforge-updater 2022-10-03 18:29:16 +01:00
Auxilor
89df16dabe libreforge-updater 2022-10-02 14:57:56 +01:00
Auxilor
c6dfa1849d libreforge-updater 2022-09-28 17:52:47 +01:00
Auxilor
fb4022dfd9 libreforge-updater 2022-09-26 18:27:29 +01:00
Auxilor
60c785717a libreforge-updater 2022-09-26 14:41:56 +01:00
Auxilor
a3810a9ff8 libreforge-updater 2022-09-26 10:51:59 +01:00
Auxilor
3498b575dc libreforge-updater 2022-09-22 17:30:19 +01:00
Auxilor
8f5668d8c4 libreforge-updater 2022-09-21 15:28:42 +01:00
Auxilor
6cde0ca092 libreforge-updater 2022-09-20 10:39:57 +01:00
Auxilor
d54e4ee8d5 libreforge-updater 2022-09-17 15:45:48 +01:00
Auxilor
65ef2a63d2 libreforge-updater 2022-09-15 12:16:42 +01:00
Auxilor
0d1ea5a7c8 libreforge-updater 2022-09-15 12:10:27 +01:00
Auxilor
7d32350eed libreforge-updater 2022-09-14 18:54:05 +01:00
Auxilor
4361ce0407 libreforge-updater 2022-09-14 15:13:49 +01:00
Auxilor
4267f5bd5d libreforge-updater 2022-09-14 15:10:16 +01:00
Auxilor
a5fc6e7436 libreforge-updater 2022-09-14 13:00:33 +01:00
Auxilor
cc5dfc0b0d libreforge-updater 2022-09-13 19:16:01 +01:00
Auxilor
16082cf3c6 libreforge-updater 2022-09-12 21:22:09 +01:00
Auxilor
0d3485855a libreforge-updater 2022-09-12 17:15:58 +01:00
Auxilor
afaafb5899 libreforge-updater 2022-09-11 19:28:17 +01:00
Auxilor
8fbc672f1f libreforge-updater 2022-09-10 12:59:07 +01:00
Auxilor
19221c8969 libreforge-updater 2022-09-10 10:52:11 +01:00
Auxilor
0f96c5027e libreforge-updater 2022-09-06 15:44:05 +01:00
Auxilor
e58429c9c7 libreforge-updater 2022-09-06 13:46:56 +01:00
Auxilor
f2831f0bcd libreforge-updater 2022-09-06 11:26:12 +01:00
Auxilor
1c84929739 libreforge-updater 2022-09-05 18:01:20 +01:00
Auxilor
67b4e340d8 libreforge-updater 2022-09-04 17:23:21 +01:00
Auxilor
f6b23bf649 libreforge-updater 2022-09-04 16:22:50 +01:00
Auxilor
515d5022ba libreforge-updater 2022-09-03 14:21:09 +01:00
Auxilor
bf0813ae70 libreforge-updater 2022-09-01 13:07:13 +01:00
Auxilor
c5330b79b5 libreforge-updater 2022-08-31 12:46:44 +01:00
Auxilor
e961411808 libreforge-updater 2022-08-30 20:29:37 +01:00
Auxilor
75d8475ece libreforge-updater 2022-08-30 19:22:16 +01:00
Auxilor
9e7d9559d9 libreforge-updater 2022-08-29 10:59:43 +01:00
Auxilor
a58c7c892a libreforge-updater 2022-08-28 15:41:45 +01:00
Auxilor
9eaad16592 libreforge-updater 2022-08-27 11:27:38 +01:00
Auxilor
83690068b2 libreforge-updater 2022-08-24 12:52:19 +02:00
Auxilor
1391cdc978 libreforge-updater 2022-08-24 12:49:22 +02:00
Auxilor
9c6461984e libreforge-updater 2022-08-24 11:56:30 +02:00
Auxilor
340fcb1908 libreforge-updater 2022-08-23 11:06:49 +02:00
33 changed files with 593 additions and 479 deletions

View File

@@ -44,8 +44,8 @@ allprojects {
}
dependencies {
compileOnly 'com.willfp:eco:6.38.0'
implementation 'com.willfp:libreforge:3.86.1'
compileOnly 'com.willfp:eco:6.43.0'
implementation 'com.willfp:libreforge:3.113.0'
implementation 'org.joml:joml:1.10.4'
compileOnly 'org.jetbrains:annotations:23.0.0'
@@ -60,7 +60,7 @@ allprojects {
}
processResources {
filesNotMatching(["**/*.png", "**/models/**", "**/textures/**", "**reforges.yml", "**lang.yml"]) {
filesNotMatching(["**/*.png", "**/models/**", "**/textures/**", "**/reforges/**", "**lang.yml"]) {
expand projectVersion: project.version
}
}
@@ -68,6 +68,7 @@ allprojects {
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile) {
kotlinOptions {
jvmTarget = "17"
freeCompilerArgs += ["-Xjvm-default=all"]
}
}

View File

@@ -7,7 +7,6 @@ import com.willfp.eco.core.items.Items
import com.willfp.libreforge.LibReforgePlugin
import com.willfp.reforges.commands.CommandReforge
import com.willfp.reforges.commands.CommandReforges
import com.willfp.reforges.config.ReforgesYml
import com.willfp.reforges.config.TargetYml
import com.willfp.reforges.display.ReforgesDisplay
import com.willfp.reforges.integrations.talismans.TalismansIntegration
@@ -22,14 +21,14 @@ import org.bukkit.event.Listener
class ReforgesPlugin : LibReforgePlugin() {
val targetYml: TargetYml =
TargetYml(this)
val reforgesYml: ReforgesYml =
ReforgesYml(this)
init {
instance = this
}
override fun handleEnableAdditional() {
this.copyConfigs("reforges")
Items.registerArgParser(ReforgeArgParser())
registerHolderProvider { ReforgeLookup.provideReforges(it) }
}
@@ -63,10 +62,6 @@ class ReforgesPlugin : LibReforgePlugin() {
)
}
override fun getMinimumEcoVersion(): String {
return "6.38.0"
}
companion object {
/**
* Instance of Reforges.

View File

@@ -1,10 +1,15 @@
package com.willfp.reforges.commands
import com.willfp.eco.core.EcoPlugin
import com.willfp.eco.core.command.impl.PluginCommand
import com.willfp.libreforge.LibReforgePlugin
import com.willfp.libreforge.lrcdb.CommandExport
import com.willfp.libreforge.lrcdb.CommandImport
import com.willfp.libreforge.lrcdb.ExportableConfig
import com.willfp.reforges.reforges.Reforges
import org.bukkit.command.CommandSender
class CommandReforges(plugin: EcoPlugin) : PluginCommand(plugin, "reforges", "reforges.command.reforges", false) {
class CommandReforges(plugin: LibReforgePlugin) :
PluginCommand(plugin, "reforges", "reforges.command.reforges", false) {
override fun onExecute(sender: CommandSender, args: List<String>) {
sender.sendMessage(
plugin.langYml.getMessage("invalid-command")
@@ -16,5 +21,14 @@ class CommandReforges(plugin: EcoPlugin) : PluginCommand(plugin, "reforges", "re
.addSubcommand(CommandGive(plugin))
.addSubcommand(CommandOpen(plugin))
.addSubcommand(CommandApply(plugin))
.addSubcommand(CommandImport("reforges", plugin))
.addSubcommand(CommandExport(plugin) {
Reforges.values().map {
ExportableConfig(
it.id,
it.config
)
}
})
}
}

View File

@@ -1,7 +0,0 @@
package com.willfp.reforges.config
import com.willfp.eco.core.EcoPlugin
import com.willfp.eco.core.config.BaseConfig
import com.willfp.eco.core.config.ConfigType
class ReforgesYml(plugin: EcoPlugin) : BaseConfig("reforges", plugin, true, ConfigType.YAML)

View File

@@ -0,0 +1,5 @@
package com.willfp.reforges.gui
import com.willfp.reforges.util.ReforgeStatus
data class PricedReforgeStatus(val status: ReforgeStatus, val cost: Double)

View File

@@ -4,21 +4,21 @@ import com.willfp.eco.core.EcoPlugin
import com.willfp.eco.core.config.updating.ConfigUpdater
import com.willfp.eco.core.drops.DropQueue
import com.willfp.eco.core.fast.fast
import com.willfp.eco.core.gui.captiveSlot
import com.willfp.eco.core.gui.menu
import com.willfp.eco.core.gui.menu.Menu
import com.willfp.eco.core.gui.slot
import com.willfp.eco.core.gui.slot.FillerMask
import com.willfp.eco.core.gui.slot.MaskItems
import com.willfp.eco.core.gui.slot.Slot
import com.willfp.eco.core.integrations.economy.EconomyManager
import com.willfp.eco.core.items.Items
import com.willfp.eco.core.items.builder.ItemStackBuilder
import com.willfp.eco.core.items.isEmpty
import com.willfp.eco.util.NumberUtils
import com.willfp.reforges.reforges.PriceMultipliers
import com.willfp.reforges.reforges.Reforge
import com.willfp.reforges.reforges.ReforgeTarget
import com.willfp.reforges.reforges.ReforgeTargets
import com.willfp.reforges.reforges.util.MetadatedReforgeStatus
import com.willfp.reforges.util.ReforgeStatus
import com.willfp.reforges.util.getRandomReforge
import com.willfp.reforges.util.reforge
@@ -28,40 +28,28 @@ import org.bukkit.Material
import org.bukkit.Sound
import org.bukkit.entity.Player
import org.bukkit.inventory.ItemStack
import java.util.*
import java.util.Locale
import kotlin.math.pow
@Suppress("DEPRECATION")
object ReforgeGUI {
private lateinit var menu: Menu
private fun Menu.getReforgeStatus(player: Player): MetadatedReforgeStatus {
val captive = this.getCaptiveItems(player)
val item = captive.getOrNull(0)
val stone = captive.getOrNull(1)
private fun Menu.getItemToReforge(player: Player) = this.getState<ItemStack>(
player,
"item_to_reforge"
)
val targets = mutableListOf<ReforgeTarget>()
private fun Menu.getReforgeStone(player: Player) = this.getState<ItemStack>(
player,
"reforge_stone"
)
var cost = 0.0
val status = if (item == null || item.type == Material.AIR) {
ReforgeStatus.NO_ITEM
} else {
targets.addAll(ReforgeTargets.getForItem(item))
if (targets.isEmpty()) {
ReforgeStatus.INVALID_ITEM
} else {
val reforgeStone = stone.reforgeStone
if (reforgeStone != null && reforgeStone.canBeAppliedTo(item)) {
cost = reforgeStone.stonePrice.toDouble()
ReforgeStatus.ALLOW_STONE
} else {
ReforgeStatus.ALLOW
}
}
}
return MetadatedReforgeStatus(status, cost)
}
private fun Menu.getReforgeStatus(player: Player): PricedReforgeStatus =
this.getState<PricedReforgeStatus>(player, "reforge_status") ?: PricedReforgeStatus(
ReforgeStatus.NO_ITEM,
0.0
)
@JvmStatic
fun open(player: Player) {
@@ -77,7 +65,7 @@ object ReforgeGUI {
val cost = when {
status == ReforgeStatus.ALLOW || (status == ReforgeStatus.ALLOW_STONE && specialCost < 0) -> {
val amountOfReforges = menu.getCaptiveItems(player)[0].timesReforged
val amountOfReforges = menu.getItemToReforge(player)?.timesReforged ?: 0
plugin.configYml.getDouble("reforge.cost") *
plugin.configYml.getDouble("reforge.cost-exponent").pow(amountOfReforges) *
@@ -91,8 +79,8 @@ object ReforgeGUI {
var xpCost = plugin.configYml.getInt("reforge.xp-cost")
if (status == ReforgeStatus.ALLOW) {
val item = menu.getCaptiveItems(player)[0]
val reforges = item.timesReforged
val item = menu.getItemToReforge(player)
val reforges = item?.timesReforged ?: 0
xpCost *= PriceMultipliers.getForPlayer(player).multiplier.toInt()
xpCost *= plugin.configYml.getDouble("reforge.cost-exponent").pow(reforges.toDouble()).toInt()
}
@@ -106,7 +94,7 @@ object ReforgeGUI {
.replace("%xpcost%", NumberUtils.format(xpCost.toDouble()))
.replace(
"%stone%",
menu.getCaptiveItems(player).getOrNull(1).reforgeStone?.name ?: ""
menu.getReforgeStone(player)?.reforgeStone?.name ?: ""
)
}
}
@@ -114,9 +102,8 @@ object ReforgeGUI {
onLeftClick { event, _, menu ->
val player = event.whoClicked as Player
val captive = menu.getCaptiveItems(player)
val item = captive.getOrNull(0) ?: return@onLeftClick
val item = menu.getItemToReforge(player) ?: return@onLeftClick
val currentReforge = item.reforge
val targets = ReforgeTargets.getForItem(item)
@@ -124,7 +111,7 @@ object ReforgeGUI {
var usedStone = false
val stoneInMenu = menu.getCaptiveItems(player).getOrNull(1).reforgeStone
val stoneInMenu = menu.getReforgeStone(player)?.reforgeStone
val reforge = if (stoneInMenu != null && stoneInMenu.canBeAppliedTo(item)) {
usedStone = true
@@ -198,9 +185,9 @@ object ReforgeGUI {
item.reforge = reforge
if (usedStone) {
val stone = menu.getCaptiveItems(player)[1]
stone.itemMeta = null
stone.amount = 0
val stone = menu.getReforgeStone(player)
stone?.itemMeta = null
stone?.amount = 0
if (plugin.configYml.getBool("gui.stone-sound.enabled")) {
player.playSound(
player.location,
@@ -229,8 +216,9 @@ object ReforgeGUI {
.toTypedArray()
menu = menu(plugin.configYml.getInt("gui.rows")) {
setTitle(plugin.langYml.getFormattedString("menu.title"))
title = plugin.langYml.getFormattedString("menu.title")
setMask(FillerMask(MaskItems(*maskItems), *maskPattern))
allowChangingHeldItem()
val slot = slot(
ItemStackBuilder(Material.BLACK_STAINED_GLASS_PANE)
@@ -261,13 +249,13 @@ object ReforgeGUI {
setSlot(
plugin.configYml.getInt("gui.item-slot.row"),
plugin.configYml.getInt("gui.item-slot.column"),
Slot.builder().setCaptive().build()
captiveSlot()
)
setSlot(
plugin.configYml.getInt("gui.stone-slot.row"),
plugin.configYml.getInt("gui.stone-slot.column"),
Slot.builder().setCaptive().build()
captiveSlot()
)
setSlot(
@@ -288,6 +276,50 @@ object ReforgeGUI {
}
)
onRender { player, menu ->
menu.addState(
player, "item_to_reforge", menu.getCaptiveItem(
player,
plugin.configYml.getInt("gui.item-slot.row"),
plugin.configYml.getInt("gui.item-slot.column")
)
)
menu.addState(
player, "reforge_stone", menu.getCaptiveItem(
player,
plugin.configYml.getInt("gui.stone-slot.row"),
plugin.configYml.getInt("gui.stone-slot.column")
)
)
val item = menu.getItemToReforge(player)
val stone = menu.getReforgeStone(player)
val targets = mutableListOf<ReforgeTarget>()
var cost = 0.0
val status = if (item.isEmpty) {
ReforgeStatus.NO_ITEM
} else {
targets.addAll(ReforgeTargets.getForItem(item!!))
if (targets.isEmpty()) {
ReforgeStatus.INVALID_ITEM
} else {
val reforgeStone = stone.reforgeStone
if (reforgeStone != null && reforgeStone.canBeAppliedTo(item)) {
cost = reforgeStone.stonePrice.toDouble()
ReforgeStatus.ALLOW_STONE
} else {
ReforgeStatus.ALLOW
}
}
}
menu.addState(player, "reforge_status", PricedReforgeStatus(status, cost))
}
onClose { event, menu ->
DropQueue(event.player as Player)
.addItems(menu.getCaptiveItems(event.player as Player))

View File

@@ -18,11 +18,10 @@ import java.util.*
@Suppress("DEPRECATION")
class Reforge(
override val id: String,
internal val config: Config,
plugin: ReforgesPlugin
) : Holder {
override val id = config.getString("id")
val name = config.getFormattedString("name")
val namePrefixComponent = StringUtils.toComponent("$name ").decoration(TextDecoration.ITALIC, false)

View File

@@ -2,9 +2,12 @@ package com.willfp.reforges.reforges
import com.google.common.collect.HashBiMap
import com.google.common.collect.ImmutableSet
import com.willfp.eco.core.config.ConfigType
import com.willfp.eco.core.config.TransientConfig
import com.willfp.eco.core.config.updating.ConfigUpdater
import com.willfp.libreforge.chains.EffectChains
import com.willfp.reforges.ReforgesPlugin
import java.io.File
@Suppress("UNUSED")
object Reforges {
@@ -51,14 +54,22 @@ object Reforges {
@ConfigUpdater
@JvmStatic
fun update(plugin: ReforgesPlugin) {
for (config in plugin.reforgesYml.getSubsections("chains")) {
val reforgesYml = TransientConfig(File(plugin.dataFolder, "reforges.yml"), ConfigType.YAML)
for (config in reforgesYml.getSubsections("chains")) {
EffectChains.compile(config, "Chains")
}
for (reforge in values()) {
removeReforge(reforge)
}
for (config in plugin.reforgesYml.getSubsections("reforges")) {
Reforge(config, plugin)
for ((id, config) in plugin.fetchConfigs("reforges")) {
Reforge(id, config, plugin)
}
for (config in reforgesYml.getSubsections("reforges")) {
Reforge(config.getString("id"), config, plugin)
}
}

View File

@@ -1,5 +0,0 @@
package com.willfp.reforges.reforges.util
import com.willfp.reforges.util.ReforgeStatus
data class MetadatedReforgeStatus(val status: ReforgeStatus, val cost: Double)

View File

@@ -0,0 +1,21 @@
# Read more about chains: https://plugins.auxilor.io/effects/configuring-an-effect#effect-chains
chains:
- id: example_chain
effects:
- id: teleport
- id: potion_effect
args:
effect: blindness
level: 3
duration: 30
apply_to_player: true
- id: send_message
args:
message: "&fYou have been teleported!"
action_bar: true
- id: play_sound
args:
sound: entity_dragon_fireball_explode
pitch: 1.5
volume: 4

View File

@@ -184,7 +184,6 @@ point-names: # If you have point names that look ugly (eg g_souls) then you can
use-faster-move-trigger: true # Disable if you want move trigger to detect sub-1-block movements
raytrace-distance: 80 # The distance that alt_click should check for a location
block-item-drop-place-check: true # If the block_item_drop trigger should only fire on naturally placed blocks (prevents dupes)
potions:
icon:

View File

@@ -18,6 +18,13 @@ messages:
invalid-reforge: "&cInvalid reforge!"
needs-reforge: "&cYou must specify a reforge"
cannot-transmit: "&cYou can't transmit here!"
must-specify-lrcdb-id: "&cYou must specify the ID of the config to download! Not sure what this means? Go to &alrcdb.auxilor.io"
lrcdb-import-error: "&cError importing config: &f%message%"
lrcdb-import-success: "&fImported &a%name%&f! Reload the plugin to install it"
must-specify-config-name: "&cYou must specify the config name!"
invalid-config-name: "&cInvalid config name!"
lrcdb-export-error: "&cError exporting config: &f%message%"
lrcdb-export-success: "&fExported &a%name%&f! View it on &alrcdb.auxilor.io&f, or share your config ID: &f%id%"
menu:
title: "Reforge Item"

View File

@@ -0,0 +1,19 @@
# Options for lrcdb (https://lrcdb.auxilor.io), a website to share configs
# with other server owners, so you can get more configs without making them
# yourself!
author: "Unknown Author" # The name attached to configs you export
# Options about automatically sharing configs you create
share-configs:
# If you want all your configs to automatically be publicly available,
# set this to true. This really helps out other users!
publicly: false
# If you don't want your configs to be usable to gather information about
# plugin usage or to improve the plugins in the future, disable this.
# Nothing identifying is shared.
enabled: true
# If you disable share-configs, you can still share select configs publicly
# with /ecoenchants export <config>.

View File

@@ -46,6 +46,8 @@ permissions:
reforges.command.give: true
reforges.command.apply: true
reforges.command.open: true
reforges.command.import: true
reforges.command.export: true
reforges.command.reload:
description: Allows reloading the config
@@ -65,3 +67,9 @@ permissions:
reforges.command.apply:
description: Allows the user of /reforges apply.
default: op
reforges.command.import:
description: Allows the user of /reforges import.
default: op
reforges.command.export:
description: Allows the user of /reforges export.
default: op

View File

@@ -1,405 +0,0 @@
chains:
- id: example_chain
effects:
- id: teleport
- id: potion_effect
args:
effect: blindness
level: 3
duration: 30
apply_to_player: true
- id: send_message
args:
message: "&fYou have been teleported!"
action_bar: true
- id: play_sound
args:
sound: entity_dragon_fireball_explode
pitch: 1.5
volume: 4
reforges:
- id: acute
name: "<gradient:#4776E6>Acute</gradient:#8E54E9>"
description:
- "&a+2% &fTriple Damage Chance"
targets:
- axe
stone:
enabled: false
name: ''
lore: []
item: ''
craftable: false
recipe: []
effects:
- id: damage_multiplier
args:
multiplier: 3
chance: 2
triggers:
- melee_attack
conditions: []
- id: aerobic
name: "<gradient:#B993D6>Aerobic</gradient:#8CA6DB>"
description:
- "&a+9% &fDamage when shot in air"
targets:
- bow
stone:
enabled: false
name: ''
lore: []
item: ''
craftable: false
recipe: []
effects:
- id: damage_multiplier
args:
multiplier: 1.09
triggers:
- bow_attack
conditions:
- id: in_air
args:
in_air: true
- id: dynamic
name: "<gradient:#AAFFA9>Dynamic</gradient:#11FFBD>"
description:
- "&a+5% &fDamage"
- "&a+10% &fCrit Damage"
targets:
- melee
stone:
enabled: true
name: "<gradient:#AAFFA9>Dynamic</gradient:#11FFBD>&f Reforge Stone"
lore:
- "&7Place on the right of the"
- "&7reforge menu to apply the"
- "<gradient:#AAFFA9>Dynamic</gradient:#11FFBD>&7 reforge!"
item: player_head texture:eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMmM0YTY1YzY4OWIyZDM2NDA5MTAwYTYwYzJhYjhkM2QwYTY3Y2U5NGVlYTNjMWY3YWM5NzRmZDg5MzU2OGI1ZCJ9fX0=
craftable: true
recipe:
- air
- ecoitems:blank_reforge_stone ? air
- air
- iron_block
- daylight_sensor
- iron_block
- air
- phantom_membrane
- air
effects:
- id: damage_multiplier
args:
multiplier: 1.05
triggers:
- melee_attack
- id: crit_multiplier
args:
multiplier: 1.1
triggers:
- melee_attack
conditions: []
- id: evasive
name: "<gradient:#EFEFBB>Evasive</gradient:#D4D3DD>"
description:
- "&a+2% &fIgnore Damage Chance"
targets:
- armor
stone:
enabled: false
name: ''
lore: []
item: ''
craftable: false
recipe: []
effects:
- id: damage_multiplier
args:
multiplier: 0
chance: 2
triggers:
- take_damage
conditions: []
- id: gravitated
name: "<gradient:#1e3c72>Gravitated</gradient:#2a5298>"
description:
- "&a+8% &fCritical Damage"
targets:
- melee
stone:
enabled: false
name: ''
lore: []
item: ''
craftable: false
recipe: []
effects:
- id: crit_multiplier
args:
multiplier: 1.08
triggers:
- melee_attack
conditions: []
- id: light
name: "<gradient:#1c92d2>Light</gradient:#f2fcfe>"
description:
- "&c-5% &fDamage"
- "&c-5% &fKnockback"
- "&a+10% &fAttack Speed"
targets:
- melee
stone:
enabled: false
name: ''
lore: []
item: ''
craftable: false
recipe: []
effects:
- id: damage_multiplier
args:
multiplier: 0.95
triggers:
- melee_attack
- id: knockback_multiplier
args:
multiplier: 0.95
- id: attack_speed_multiplier
args:
multiplier: 1.1
conditions: []
- id: nautical
name: "<gradient:#373B44>Nautical</gradient:#4286f4>"
description:
- "&a+20% &fDamage in water"
targets:
- melee
- bow
- trident
stone:
enabled: false
name: ''
lore: []
item: ''
craftable: false
recipe: []
effects:
- id: damage_multiplier
args:
multiplier: 1.2
triggers:
- melee_attack
- bow_attack
- trident_attack
conditions:
- id: in_water
args:
in_water: true
- id: pointy
name: "<gradient:#076585>Pointy</gradient:#ffffff>"
description:
- "&a+10% &fDamage"
targets:
- trident
stone:
enabled: false
name: ''
lore: []
item: ''
craftable: false
recipe: []
effects:
- id: damage_multiplier
args:
multiplier: 1.1
triggers:
- trident_attack
conditions: []
- id: prospecting
name: "<gradient:#00B4DB>Prospecting</gradient:#0083B0>"
description:
- "&a+5% &fChance to get &e$$2&f for mining a block"
targets:
- pickaxe
stone:
enabled: false
name: ''
lore: []
item: ''
craftable: false
recipe: []
effects:
- id: give_money
args:
amount: 2
chance: 5
triggers:
- mine_block
conditions: []
- id: reinforced
name: "<gradient:#FBD786>Reinforced</gradient:#f7797d>"
description:
- "&a+4% &fDamage Resistance"
targets:
- armor
stone:
enabled: false
name: ''
lore: []
item: ''
craftable: false
recipe: []
effects:
- id: damage_multiplier
args:
multiplier: 0.96
triggers:
- take_damage
conditions: []
- id: rich
name: "<gradient:#DBDBDB>Rich</gradient:#F2F2F2>"
description:
- "&a+$$50 &fFor each mob kill"
targets:
- trident
- bow
stone:
enabled: true
name: "<gradient:#DBDBDB>Rich</gradient:#F2F2F2>&f Reforge Stone"
lore:
- "&7Place on the right of the"
- "&7reforge menu to apply the"
- "<gradient:#DBDBDB>Rich</gradient:#F2F2F2>&7 reforge!"
item: player_head texture:eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvY2RjNTdjNzVhZGYzOWVjNmYwZTA5MTYwNDlkZDk2NzFlOThhOGExZTYwMDEwNGU4NGU2NDVjOTg4OTUwYmQ3In19fQ==
craftable: true
recipe:
- gold_block
- trident
- gold_block
- air
- ecoitems:blank_reforge_stone ? obsidian
- air
- gold_block
- bow
- gold_block
effects:
- id: give_money
args:
amount: 50
triggers:
- kill
conditions: []
- id: sharp
name: "<gradient:#f12711>Sharp</gradient:#f5af19>"
description:
- "&a+3% &fDamage"
targets:
- melee
stone:
enabled: false
name: ''
lore: []
item: ''
craftable: false
recipe: []
effects:
- id: damage_multiplier
args:
multiplier: 1.03
triggers:
- melee_attack
conditions: []
- id: streamlined
name: "<gradient:#74ebd5>Streamlined</gradient:#ACB6E5>"
description:
- "&a+4% &fDamage"
targets:
- bow
stone:
enabled: false
name: ''
lore: []
item: ''
craftable: false
recipe: []
effects:
- id: damage_multiplier
args:
multiplier: 1.04
triggers:
- bow_attack
conditions: []
- id: strong
name: "<gradient:#ED213A>Strong</gradient:#93291E>"
description:
- "&a+2% &fDamage"
- "&a+10% &fKnockback"
targets:
- melee
stone:
enabled: false
name: ''
lore: []
item: ''
craftable: false
recipe: []
effects:
- id: damage_multiplier
args:
multiplier: 1.02
triggers:
- melee_attack
- id: knockback_multiplier
args:
multiplier: 1.1
conditions: []
- id: thin
name: "<gradient:#D1913C>Thin</gradient:#FFD194>"
description:
- "&c-5% &fDamage Resistance"
- "&a+2.5% &fMovement Speed"
targets:
- armor
stone:
enabled: false
name: ''
lore: []
item: ''
craftable: false
recipe: []
effects:
- id: damage_multiplier
args:
multiplier: 1.05
triggers:
- take_damage
- id: movement_speed_multiplier
args:
multiplier: 1.025
conditions: []
- id: tough
name: "<gradient:#a73737>Tough</gradient:#7a2828>"
description:
- "&c+8% &fDamage Resistance"
- "&a-5% &fMovement Speed"
targets:
- armor
stone:
enabled: false
name: ''
lore: []
item: ''
craftable: false
recipe: []
effects:
- id: damage_multiplier
args:
multiplier: 0.92
triggers:
- take_damage
- id: movement_speed_multiplier
args:
multiplier: 0.95
conditions: []

View File

@@ -0,0 +1,51 @@
# The ID of the reforge is the name of the .yml file,
# for example acute.yml has the ID of acute
# You can place reforges anywhere in this folder,
# including in subfolders if you want to organize your reforge configs
# _example.yml is not loaded.
name: "<gradient:#AAFFA9>Dynamic</gradient:#11FFBD>" # The display name for the reforge
description: # The lore to add to an item with this reforge:
- "&a+5% &fDamage"
- "&a+10% &fCrit Damage"
targets: # The targets that this reforge can be applied to
- melee
# Options for the reforge stone
stone:
enabled: true # If this reforge requires the use of a reforge stone
name: "<gradient:#AAFFA9>Dynamic</gradient:#11FFBD>&f Reforge Stone" # The display name of the stone
lore: # The lore of the stone
- "&7Place on the right of the"
- "&7reforge menu to apply the"
- "<gradient:#AAFFA9>Dynamic</gradient:#11FFBD>&7 reforge!"
item: player_head texture:eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMmM0YTY1YzY4OWIyZDM2NDA5MTAwYTYwYzJhYjhkM2QwYTY3Y2U5NGVlYTNjMWY3YWM5NzRmZDg5MzU2OGI1ZCJ9fX0=
craftable: true # If the reforge stone should be craftable
price: 100000 # (Optional) The price required to apply this reforge, overrides the default reforge price
recipe: # The recipe for the stone to have
- air
- ecoitems:blank_reforge_stone ? air
- air
- iron_block
- daylight_sensor
- iron_block
- air
- phantom_membrane
- air
# The effects of the reforge (i.e. the functionality)
# See here: https://plugins.auxilor.io/effects/configuring-an-effect
effects:
- id: damage_multiplier
args:
multiplier: 1.05
triggers:
- melee_attack
- id: crit_multiplier
args:
multiplier: 1.1
triggers:
- melee_attack
# The conditions required to use the reforge
conditions: []

View File

@@ -0,0 +1,20 @@
name: "<gradient:#4776E6>Acute</gradient:#8E54E9>"
description:
- "&a+2% &fTriple Damage Chance"
targets:
- axe
stone:
enabled: false
name: ''
lore: []
item: ''
craftable: false
recipe: []
effects:
- id: damage_multiplier
args:
multiplier: 3
chance: 2
triggers:
- melee_attack
conditions: []

View File

@@ -0,0 +1,22 @@
name: "<gradient:#B993D6>Aerobic</gradient:#8CA6DB>"
description:
- "&a+9% &fDamage when shot in air"
targets:
- bow
stone:
enabled: false
name: ''
lore: []
item: ''
craftable: false
recipe: []
effects:
- id: damage_multiplier
args:
multiplier: 1.09
triggers:
- bow_attack
conditions:
- id: in_air
args:
in_air: true

View File

@@ -0,0 +1,38 @@
name: "<gradient:#AAFFA9>Dynamic</gradient:#11FFBD>"
description:
- "&a+5% &fDamage"
- "&a+10% &fCrit Damage"
targets:
- melee
stone:
enabled: true
name: "<gradient:#AAFFA9>Dynamic</gradient:#11FFBD>&f Reforge Stone"
lore:
- "&7Place on the right of the"
- "&7reforge menu to apply the"
- "<gradient:#AAFFA9>Dynamic</gradient:#11FFBD>&7 reforge!"
item: player_head texture:eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMmM0YTY1YzY4OWIyZDM2NDA5MTAwYTYwYzJhYjhkM2QwYTY3Y2U5NGVlYTNjMWY3YWM5NzRmZDg5MzU2OGI1ZCJ9fX0=
craftable: true
price: 100000
recipe:
- air
- ecoitems:blank_reforge_stone ? air
- air
- iron_block
- daylight_sensor
- iron_block
- air
- phantom_membrane
- air
effects:
- id: damage_multiplier
args:
multiplier: 1.05
triggers:
- melee_attack
- id: crit_multiplier
args:
multiplier: 1.1
triggers:
- melee_attack
conditions: []

View File

@@ -0,0 +1,20 @@
name: "<gradient:#EFEFBB>Evasive</gradient:#D4D3DD>"
description:
- "&a+2% &fIgnore Damage Chance"
targets:
- armor
stone:
enabled: false
name: ''
lore: []
item: ''
craftable: false
recipe: []
effects:
- id: damage_multiplier
args:
multiplier: 0
chance: 2
triggers:
- take_damage
conditions: []

View File

@@ -0,0 +1,19 @@
name: "<gradient:#1e3c72>Gravitated</gradient:#2a5298>"
description:
- "&a+8% &fCritical Damage"
targets:
- melee
stone:
enabled: false
name: ''
lore: []
item: ''
craftable: false
recipe: []
effects:
- id: crit_multiplier
args:
multiplier: 1.08
triggers:
- melee_attack
conditions: []

View File

@@ -0,0 +1,27 @@
name: "<gradient:#1c92d2>Light</gradient:#f2fcfe>"
description:
- "&c-5% &fDamage"
- "&c-5% &fKnockback"
- "&a+10% &fAttack Speed"
targets:
- melee
stone:
enabled: false
name: ''
lore: []
item: ''
craftable: false
recipe: []
effects:
- id: damage_multiplier
args:
multiplier: 0.95
triggers:
- melee_attack
- id: knockback_multiplier
args:
multiplier: 0.95
- id: attack_speed_multiplier
args:
multiplier: 1.1
conditions: []

View File

@@ -0,0 +1,26 @@
name: "<gradient:#373B44>Nautical</gradient:#4286f4>"
description:
- "&a+20% &fDamage in water"
targets:
- melee
- bow
- trident
stone:
enabled: false
name: ''
lore: []
item: ''
craftable: false
recipe: []
effects:
- id: damage_multiplier
args:
multiplier: 1.2
triggers:
- melee_attack
- bow_attack
- trident_attack
conditions:
- id: in_water
args:
in_water: true

View File

@@ -0,0 +1,19 @@
name: "<gradient:#076585>Pointy</gradient:#ffffff>"
description:
- "&a+10% &fDamage"
targets:
- trident
stone:
enabled: false
name: ''
lore: []
item: ''
craftable: false
recipe: []
effects:
- id: damage_multiplier
args:
multiplier: 1.1
triggers:
- trident_attack
conditions: []

View File

@@ -0,0 +1,20 @@
name: "<gradient:#00B4DB>Prospecting</gradient:#0083B0>"
description:
- "&a+5% &fChance to get &e$$2&f for mining a block"
targets:
- pickaxe
stone:
enabled: false
name: ''
lore: []
item: ''
craftable: false
recipe: []
effects:
- id: give_money
args:
amount: 2
chance: 5
triggers:
- mine_block
conditions: []

View File

@@ -0,0 +1,19 @@
name: "<gradient:#FBD786>Reinforced</gradient:#f7797d>"
description:
- "&a+4% &fDamage Resistance"
targets:
- armor
stone:
enabled: false
name: ''
lore: []
item: ''
craftable: false
recipe: []
effects:
- id: damage_multiplier
args:
multiplier: 0.96
triggers:
- take_damage
conditions: []

View File

@@ -0,0 +1,32 @@
name: "<gradient:#DBDBDB>Rich</gradient:#F2F2F2>"
description:
- "&a+$$50 &fFor each mob kill"
targets:
- trident
- bow
stone:
enabled: true
name: "<gradient:#DBDBDB>Rich</gradient:#F2F2F2>&f Reforge Stone"
lore:
- "&7Place on the right of the"
- "&7reforge menu to apply the"
- "<gradient:#DBDBDB>Rich</gradient:#F2F2F2>&7 reforge!"
item: player_head texture:eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvY2RjNTdjNzVhZGYzOWVjNmYwZTA5MTYwNDlkZDk2NzFlOThhOGExZTYwMDEwNGU4NGU2NDVjOTg4OTUwYmQ3In19fQ==
craftable: true
recipe:
- gold_block
- trident
- gold_block
- air
- ecoitems:blank_reforge_stone ? obsidian
- air
- gold_block
- bow
- gold_block
effects:
- id: give_money
args:
amount: 50
triggers:
- kill
conditions: []

View File

@@ -0,0 +1,19 @@
name: "<gradient:#f12711>Sharp</gradient:#f5af19>"
description:
- "&a+3% &fDamage"
targets:
- melee
stone:
enabled: false
name: ''
lore: []
item: ''
craftable: false
recipe: []
effects:
- id: damage_multiplier
args:
multiplier: 1.03
triggers:
- melee_attack
conditions: []

View File

@@ -0,0 +1,19 @@
name: "<gradient:#74ebd5>Streamlined</gradient:#ACB6E5>"
description:
- "&a+4% &fDamage"
targets:
- bow
stone:
enabled: false
name: ''
lore: []
item: ''
craftable: false
recipe: []
effects:
- id: damage_multiplier
args:
multiplier: 1.04
triggers:
- bow_attack
conditions: []

View File

@@ -0,0 +1,23 @@
name: "<gradient:#ED213A>Strong</gradient:#93291E>"
description:
- "&a+2% &fDamage"
- "&a+10% &fKnockback"
targets:
- melee
stone:
enabled: false
name: ''
lore: []
item: ''
craftable: false
recipe: []
effects:
- id: damage_multiplier
args:
multiplier: 1.02
triggers:
- melee_attack
- id: knockback_multiplier
args:
multiplier: 1.1
conditions: []

View File

@@ -0,0 +1,23 @@
name: "<gradient:#D1913C>Thin</gradient:#FFD194>"
description:
- "&c-5% &fDamage Resistance"
- "&a+2.5% &fMovement Speed"
targets:
- armor
stone:
enabled: false
name: ''
lore: []
item: ''
craftable: false
recipe: []
effects:
- id: damage_multiplier
args:
multiplier: 1.05
triggers:
- take_damage
- id: movement_speed_multiplier
args:
multiplier: 1.025
conditions: []

View File

@@ -0,0 +1,23 @@
name: "<gradient:#a73737>Tough</gradient:#7a2828>"
description:
- "&c+8% &fDamage Resistance"
- "&a-5% &fMovement Speed"
targets:
- armor
stone:
enabled: false
name: ''
lore: []
item: ''
craftable: false
recipe: []
effects:
- id: damage_multiplier
args:
multiplier: 0.92
triggers:
- take_damage
- id: movement_speed_multiplier
args:
multiplier: 0.95
conditions: []

View File

@@ -1,4 +1,4 @@
#libreforge-updater
#Mon Aug 22 12:45:17 CEST 2022
version=5.37.1
#Tue Oct 18 14:13:24 BST 2022
version=5.64.0
plugin-name=Reforges