Compare commits

...

4 commits

Author SHA1 Message Date
dff35bcc00
fix hangar release condition
Some checks failed
Java CI with Gradle / build (push) Has been cancelled
2026-08-03 14:42:02 +02:00
6f077a576b
fix anvil degradation not working for 2026-08-03 14:29:30 +02:00
d846ce51d8
update faststats 2026-08-03 14:18:09 +02:00
eb50bfcc01
fix some custom recipe not working 2026-08-03 14:10:23 +02:00
5 changed files with 18 additions and 10 deletions

View file

@ -108,7 +108,7 @@ jobs:
build/libs/${{ env.OFFLINE_JAR_NAME }}
- name: Hangar release
if: ${{ (github.event_name != 'release' || github.event_name != 'push') && github.repository_owner == 'alexcrea' && success() }}
if: ${{ (github.event_name == 'release' || github.event_name == 'push') && github.repository_owner == 'alexcrea' && success() }}
env:
HANGAR_API_TOKEN: ${{ secrets.HANGAR_API_TOKEN }}
RELEASE_CHANGELOG: ${{ github.event.release.body }}

View file

@ -55,7 +55,7 @@ dependencies {
compileOnly("org.spigotmc:spigot-api:1.21-R0.1-SNAPSHOT")
// fast stats
implementation("dev.faststats.metrics:bukkit:0.27.2")
implementation("dev.faststats.metrics:bukkit:0.29.0")
// minimessage
implementation("net.kyori:adventure-text-minimessage:4.25.0")

View file

@ -214,10 +214,10 @@ class AnvilResultListener : Listener {
val recipe = result.recipe!!
// We remove what should be removed
if (rightItem != null) {
if (recipe.rightItem == null) return false// in case it changed
if (!rightItem.isAir) {
if (recipe.rightItem.isAir) return false// in case it changed
rightItem.amount -= amount * recipe.rightItem!!.amount
rightItem!!.amount -= amount * recipe.rightItem!!.amount
view.setItem(ANVIL_INPUT_RIGHT, rightItem)
}
@ -243,6 +243,8 @@ class AnvilResultListener : Listener {
player.updateInventory()
}
handleAnvilMechanic(player, view)
return true
}
@ -355,7 +357,7 @@ class AnvilResultListener : Listener {
}
if (event.click != ClickType.MIDDLE)
handleAnvilMechanic(player, view, player.gameMode != GameMode.CREATIVE)
handleAnvilMechanic(player, view)
return true
}
@ -384,6 +386,11 @@ class AnvilResultListener : Listener {
}
}
// Process both sound & degradation
private fun handleAnvilMechanic(player: HumanEntity, view: AnvilView) {
return handleAnvilMechanic(player, view, player.gameMode != GameMode.CREATIVE)
}
// Process both sound & degradation
private fun handleAnvilMechanic(player: HumanEntity, view: AnvilView, canDegrade: Boolean) {
// ok so we do not provide a getLocation on view ?

View file

@ -176,8 +176,8 @@ class AnvilCustomRecipe(
CustomAnvil.verboseLog("Left item passed !")
// we don't know if right item can be
if (rightItem == null) { // null test
if (item2 != null) return false
if (rightItem.isAir) { // null test
if (!item2.isAir) return false
} else {
val rightSimilar = rightItem!!.isSimilar(item2)
CustomAnvil.verboseLog("Right similar: $rightSimilar")

View file

@ -4,6 +4,7 @@ import io.delilaheve.CustomAnvil
import org.bukkit.inventory.ItemStack
import xyz.alexcrea.cuanvil.config.ConfigHolder
import xyz.alexcrea.cuanvil.recipe.AnvilCustomRecipe
import xyz.alexcrea.cuanvil.util.MaterialUtil.isAir
import kotlin.math.min
object CustomRecipeUtil {
@ -32,7 +33,7 @@ object CustomRecipeUtil {
return if(recipe.exactCount) {
if(leftItem.amount != recipe.leftItem!!.amount){
0
}else if(rightItem != null && rightItem.amount != recipe.rightItem!!.amount){
}else if(!rightItem.isAir && rightItem!!.amount != recipe.rightItem!!.amount){
0
}else{
1
@ -43,7 +44,7 @@ object CustomRecipeUtil {
val resultItem = recipe.resultItem!! // we know exist as the recipe was returned to us
val maxResultAmount = resultItem.maxStackSize/resultItem.amount
val maxLeftAmount = leftItem.amount/recipe.leftItem!!.amount
val maxRightAmount = if(rightItem == null){ maxLeftAmount } else{ rightItem.amount/recipe.rightItem!!.amount }
val maxRightAmount = if(rightItem.isAir){ maxLeftAmount } else{ rightItem!!.amount/recipe.rightItem!!.amount }
CustomAnvil.verboseLog("resultItem: $resultItem, maxResultAmount: $maxResultAmount, maxLeftAmount: $maxLeftAmount, maxRightAmount: $maxRightAmount")