diff --git a/bukkit-loader/build.gradle.kts b/bukkit-loader/build.gradle.kts index 987b566ca..eef46cabe 100644 --- a/bukkit-loader/build.gradle.kts +++ b/bukkit-loader/build.gradle.kts @@ -1,5 +1,5 @@ plugins { - id("com.gradleup.shadow") version "9.0.0-beta6" + id("com.gradleup.shadow") version "9.0.0-beta11" id("net.minecrell.plugin-yml.bukkit") version "0.6.0" } diff --git a/bukkit/build.gradle.kts b/bukkit/build.gradle.kts index 4d23ac5f6..0fab7cd0e 100644 --- a/bukkit/build.gradle.kts +++ b/bukkit/build.gradle.kts @@ -1,5 +1,5 @@ plugins { - id("com.gradleup.shadow") version "9.0.0-beta6" + id("com.gradleup.shadow") version "9.0.0-beta11" id("maven-publish") } diff --git a/bukkit/legacy/build.gradle.kts b/bukkit/legacy/build.gradle.kts index 40e26ed6f..4d8b59eca 100644 --- a/bukkit/legacy/build.gradle.kts +++ b/bukkit/legacy/build.gradle.kts @@ -1,5 +1,5 @@ plugins { - id("io.github.goooler.shadow") version "8.1.8" + id("com.gradleup.shadow") version "9.0.0-beta11" } repositories { diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/entity/furniture/BukkitFurnitureManager.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/entity/furniture/BukkitFurnitureManager.java index 7967d8078..b7cf50a44 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/entity/furniture/BukkitFurnitureManager.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/entity/furniture/BukkitFurnitureManager.java @@ -343,9 +343,7 @@ public class BukkitFurnitureManager implements FurnitureManager { return; } Vector3f seatPos = MiscUtils.getVector3f(vector3f); - if (!furniture.releaseSeat(seatPos)) { - plugin.logger().warn("Failed to release seat " + seatPos + " for player " + player.getName()); - } + furniture.releaseSeat(seatPos); } protected boolean isSeatCarrierType(Entity entity) { diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/behavior/AxeItemBehavior.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/behavior/AxeItemBehavior.java index 08717093a..be9824b72 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/behavior/AxeItemBehavior.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/behavior/AxeItemBehavior.java @@ -88,7 +88,7 @@ public class AxeItemBehavior extends ItemBehavior { if (!InteractUtils.isInteractable(BlockStateUtils.getBlockOwnerIdFromState(state.vanillaBlockState().handle()), bukkitPlayer, BlockStateUtils.fromBlockData(state.vanillaBlockState().handle()), context.getHitResult(), item - )) { + ) || player.isSecondaryUseActive()) { player.swingHand(context.getHand()); } // shrink item amount diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/recipe/BukkitRecipeManager.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/recipe/BukkitRecipeManager.java index bcefff087..463e37e25 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/recipe/BukkitRecipeManager.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/recipe/BukkitRecipeManager.java @@ -54,6 +54,9 @@ public class BukkitRecipeManager implements RecipeManager { private static BukkitRecipeManager instance; static { + BUKKIT_RECIPE_FACTORIES.put(RecipeTypes.SMITHING_TRANSFORM, (key, recipe) -> { + + }); BUKKIT_RECIPE_FACTORIES.put(RecipeTypes.SHAPED, (key, recipe) -> { CustomShapedRecipe ceRecipe = (CustomShapedRecipe) recipe; ShapedRecipe shapedRecipe = new ShapedRecipe(key, ceRecipe.result(ItemBuildContext.EMPTY)); diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/recipe/RecipeEventListener.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/recipe/RecipeEventListener.java index 545134541..7a0443a12 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/recipe/RecipeEventListener.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/recipe/RecipeEventListener.java @@ -832,4 +832,11 @@ public class RecipeEventListener implements Listener { plugin.logger().warn("Failed to correct used recipe", e); } } + + @EventHandler(ignoreCancelled = true) + public void onSmithingTransform(PrepareSmithingEvent event) { + SmithingInventory inventory = event.getInventory(); + if (!(inventory.getRecipe() instanceof SmithingTransformRecipe recipe)) return; + + } } diff --git a/core/build.gradle.kts b/core/build.gradle.kts index 04d5bd3dc..5099cf31c 100644 --- a/core/build.gradle.kts +++ b/core/build.gradle.kts @@ -1,5 +1,5 @@ plugins { - id("com.gradleup.shadow") version "9.0.0-beta6" + id("com.gradleup.shadow") version "9.0.0-beta11" id("maven-publish") } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/recipe/AbstractRecipe.java b/core/src/main/java/net/momirealms/craftengine/core/item/recipe/AbstractGroupedRecipe.java similarity index 82% rename from core/src/main/java/net/momirealms/craftengine/core/item/recipe/AbstractRecipe.java rename to core/src/main/java/net/momirealms/craftengine/core/item/recipe/AbstractGroupedRecipe.java index 96ecf0394..a1e5e3303 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/recipe/AbstractRecipe.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/recipe/AbstractGroupedRecipe.java @@ -4,18 +4,17 @@ import net.momirealms.craftengine.core.item.ItemBuildContext; import net.momirealms.craftengine.core.util.Key; import org.jetbrains.annotations.Nullable; -public abstract class AbstractRecipe implements Recipe { +public abstract class AbstractGroupedRecipe implements Recipe { protected final String group; protected final Key id; protected final CustomRecipeResult result; - protected AbstractRecipe(Key id, String group, CustomRecipeResult result) { + protected AbstractGroupedRecipe(Key id, String group, CustomRecipeResult result) { this.group = group; this.id = id; this.result = result; } - @Override @Nullable public String group() { return group; diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/recipe/CustomCookingRecipe.java b/core/src/main/java/net/momirealms/craftengine/core/item/recipe/CustomCookingRecipe.java index 971e51a34..423470eb1 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/recipe/CustomCookingRecipe.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/recipe/CustomCookingRecipe.java @@ -6,7 +6,7 @@ import net.momirealms.craftengine.core.util.Key; import java.util.List; -public abstract class CustomCookingRecipe extends AbstractRecipe { +public abstract class CustomCookingRecipe extends AbstractGroupedRecipe { protected final CookingRecipeCategory category; protected final Ingredient ingredient; protected final float experience; diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/recipe/CustomCraftingTableRecipe.java b/core/src/main/java/net/momirealms/craftengine/core/item/recipe/CustomCraftingTableRecipe.java index aaa19bc49..866a2db07 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/recipe/CustomCraftingTableRecipe.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/recipe/CustomCraftingTableRecipe.java @@ -2,7 +2,7 @@ package net.momirealms.craftengine.core.item.recipe; import net.momirealms.craftengine.core.util.Key; -public abstract class CustomCraftingTableRecipe extends AbstractRecipe { +public abstract class CustomCraftingTableRecipe extends AbstractGroupedRecipe { protected final CraftingRecipeCategory category; protected CustomCraftingTableRecipe(Key id, CraftingRecipeCategory category, String group, CustomRecipeResult result) { diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/recipe/CustomSmithingTransformRecipe.java b/core/src/main/java/net/momirealms/craftengine/core/item/recipe/CustomSmithingTransformRecipe.java index fb74a8767..e3eedc4bb 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/recipe/CustomSmithingTransformRecipe.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/recipe/CustomSmithingTransformRecipe.java @@ -1,4 +1,59 @@ package net.momirealms.craftengine.core.item.recipe; -public class CustomSmithingTransformRecipe { +import net.momirealms.craftengine.core.item.ItemBuildContext; +import net.momirealms.craftengine.core.item.recipe.input.RecipeInput; +import net.momirealms.craftengine.core.util.Key; +import org.jetbrains.annotations.NotNull; + +import java.util.List; + +public class CustomSmithingTransformRecipe implements Recipe { + private final Key id; + private final CustomRecipeResult result; + private final Ingredient template; + private final Ingredient base; + private final Ingredient addition; + + public CustomSmithingTransformRecipe(Key id, + CustomRecipeResult result, + Ingredient template, + Ingredient base, + Ingredient addition + ) { + this.id = id; + this.result = result; + this.template = template; + this.base = base; + this.addition = addition; + } + + @Override + public boolean matches(RecipeInput input) { + return false; + } + + @Override + public List> ingredientsInUse() { + return List.of(); + } + + @Override + public @NotNull Key type() { + return RecipeTypes.SMITHING_TRANSFORM; + } + + @Override + public Key id() { + return id; + } + + @Override + public T result(ItemBuildContext context) { + return result.buildItemStack(context); + } + + @Override + public CustomRecipeResult result() { + return this.result; + } } diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/recipe/CustomStoneCuttingRecipe.java b/core/src/main/java/net/momirealms/craftengine/core/item/recipe/CustomStoneCuttingRecipe.java index 1c14ee66e..9d95bfe89 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/recipe/CustomStoneCuttingRecipe.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/recipe/CustomStoneCuttingRecipe.java @@ -14,7 +14,7 @@ import java.util.List; import java.util.Map; import java.util.Set; -public class CustomStoneCuttingRecipe extends AbstractRecipe { +public class CustomStoneCuttingRecipe extends AbstractGroupedRecipe { public static final Factory FACTORY = new Factory<>(); protected final Ingredient ingredient; diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/recipe/Recipe.java b/core/src/main/java/net/momirealms/craftengine/core/item/recipe/Recipe.java index 1e99f00ca..befd2940a 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/recipe/Recipe.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/recipe/Recipe.java @@ -4,7 +4,6 @@ import net.momirealms.craftengine.core.item.ItemBuildContext; import net.momirealms.craftengine.core.item.recipe.input.RecipeInput; import net.momirealms.craftengine.core.util.Key; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; import java.util.List; @@ -22,7 +21,4 @@ public interface Recipe { Key type(); Key id(); - - @Nullable - String group(); } diff --git a/gradle.properties b/gradle.properties index 4d87c25e8..3bbacafe3 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ # Project settings # Rule: [major update].[feature update].[bug fix] -project_version=0.0.34 +project_version=0.0.35 config_version=14 lang_version=3 project_group=net.momirealms @@ -38,7 +38,7 @@ geantyref_version=1.3.16 zstd_version=1.5.6-9 commons_io_version=2.17.0 sparrow_nbt_version=0.3 -sparrow_util_version=0.23 +sparrow_util_version=0.27 fastutil_version=8.5.15 netty_version=4.1.119.Final joml_version=1.10.8 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 18362b78b..c6f003026 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/server-mod/build.gradle.kts b/server-mod/build.gradle.kts index 8f3a35e5e..e2ca5fbe4 100644 --- a/server-mod/build.gradle.kts +++ b/server-mod/build.gradle.kts @@ -1,7 +1,7 @@ plugins { id("java-library") - id("com.gradleup.shadow") version "9.0.0-beta6" - id("io.papermc.paperweight.userdev") version "2.0.0-beta.14" + id("com.gradleup.shadow") version "9.0.0-beta11" + id("io.papermc.paperweight.userdev") version "2.0.0-beta.16" } repositories { diff --git a/settings.gradle.kts b/settings.gradle.kts index 26b036286..02db6f8bf 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -9,5 +9,9 @@ pluginManagement { plugins { kotlin("jvm") version "2.0.20" } + repositories { + gradlePluginPortal() + maven("https://repo.papermc.io/repository/maven-public/") + } }