Skip to content

Commit

Permalink
Added .item:serializer module to automatically load and save item o…
Browse files Browse the repository at this point in the history
…bjects.

Added parsers:
- [EnchantmentParser](item/serializer/src/main/java/it/angrybear/serializers/EnchantmentParser.java);
- [ItemParser](item/serializer/src/main/java/it/angrybear/serializers/ItemParser.java);
- [ShapeParser](item/serializer/src/main/java/it/angrybear/serializers/ShapeParser.java);
- [ShapedRecipeParser](item/serializer/src/main/java/it/angrybear/serializers/ShapedRecipeParser.java);
- [ShapelessRecipeParser](item/serializer/src/main/java/it/angrybear/serializers/ShapelessRecipeParser.java);
- [FurnaceRecipeParser](item/serializer/src/main/java/it/angrybear/serializers/FurnaceRecipeParser.java).
Added [YAGLParser](item/serializer/src/main/java/it/angrybear/serializers/YAGLParser.java) to automatically load parsers.
Moved everything to package `it.angrybear.yagl`.
Reworked `Item#copy()` method: it will try to get a default empty constructor from the current class. If it fails, it defaults to `ItemImpl`.
Fixed `Item#copy(Class)` with automatic resolution of interfaces: passing `Item` or `BukkitItem` will convert them into `ItemImpl` and `BukkitItemImpl`.
Fixed `Item#copy(Class)` not checking if current item has field of receiving class.
Fixed various bugs in **ShapedRecipe**.
Fixed recipes not copying items in their most default state (Item).
Fixed invalid casts to `BukkitItem` in `ItemUtils`.
Fixed `ItemUtils`: now it will apply model data only for values higher than 0.
Fixed visibility issues in `PersistentListener`: every event method is now protected.
Fixed PersistentListener not checking for main hand upon interacting.
Updated FulmiCollection to version 1.4.1.
  • Loading branch information
fulminazzo committed Mar 5, 2024
1 parent c899b10 commit d4c1430
Showing 1 changed file with 2 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.event.player.PlayerItemConsumeEvent;
import org.bukkit.event.player.PlayerItemDamageEvent;
import org.bukkit.inventory.EquipmentSlot;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.PlayerInventory;
import org.jetbrains.annotations.NotNull;
Expand Down Expand Up @@ -64,6 +65,7 @@ protected void on(PlayerDeathEvent event) {

@EventHandler
protected void on(PlayerInteractEvent event) {
if (event.getHand() != EquipmentSlot.HAND) return;
Player player = event.getPlayer();
interactPersistentItem(event.getItem(), player, event.getAction(), cancelled(event));
}
Expand Down

0 comments on commit d4c1430

Please sign in to comment.