Skip to content

Commit

Permalink
Convert items...
Browse files Browse the repository at this point in the history
  • Loading branch information
fantahund committed Dec 27, 2023
1 parent 85aefdb commit 933fdaf
Show file tree
Hide file tree
Showing 3 changed files with 43 additions and 7 deletions.
6 changes: 3 additions & 3 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,9 @@

<dependencies>
<dependency>
<groupId>dev.folia</groupId>
<artifactId>folia-api</artifactId>
<version>1.19.4-R0.1-SNAPSHOT</version>
<groupId>io.papermc.paper</groupId>
<artifactId>paper-api</artifactId>
<version>1.20.2-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
Expand Down
19 changes: 15 additions & 4 deletions src/main/java/de/fanta/fancyfirework/FireWorkWorks.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package de.fanta.fancyfirework;

import de.fanta.fancyfirework.fireworks.AbstractFireWork;
import de.fanta.fancyfirework.listners.AFKListener;
import de.fanta.fancyfirework.schedular.CancellableTask;
import org.bukkit.Bukkit;
import org.bukkit.Color;
import org.bukkit.FireworkEffect;
Expand All @@ -12,13 +12,11 @@
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Firework;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.FireworkMeta;
import org.bukkit.util.Vector;

import java.util.HashMap;
import java.util.Map;
import java.util.Random;
import java.util.UUID;
import java.util.logging.Level;

public class FireWorkWorks {
Expand Down Expand Up @@ -107,5 +105,18 @@ public Color randomColor() {
int blue = (int) (Math.random() * 256);
return Color.fromRGB(red, green, blue);
}

public ItemStack fixFirework(ItemStack item) {
if (item == null) {
return item;
}
AbstractFireWork fireWork = plugin.getRegistry().getByItemStack(item);
if (fireWork != null) {
ItemStack fireWorkItem = fireWork.getItemStack();
fireWorkItem.setAmount(item.getAmount());
return fireWorkItem;
}
return item;
}
}

Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package de.fanta.fancyfirework.listners;

import com.google.common.base.Objects;
import de.fanta.fancyfirework.FancyFirework;
import de.fanta.fancyfirework.events.FireworkDeathEvent;
import de.fanta.fancyfirework.fireworks.AbstractFireWork;
Expand All @@ -15,6 +16,7 @@
import org.bukkit.World;
import org.bukkit.block.Block;
import org.bukkit.block.BlockFace;
import org.bukkit.block.DoubleChest;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.ArmorStand;
import org.bukkit.entity.Entity;
Expand All @@ -35,12 +37,16 @@
import org.bukkit.event.entity.ProjectileLaunchEvent;
import org.bukkit.event.inventory.ClickType;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.inventory.InventoryOpenEvent;
import org.bukkit.event.inventory.InventoryType;
import org.bukkit.event.player.PlayerDropItemEvent;
import org.bukkit.event.player.PlayerEggThrowEvent;
import org.bukkit.event.player.PlayerInteractAtEntityEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.inventory.BlockInventoryHolder;
import org.bukkit.inventory.EquipmentSlot;
import org.bukkit.inventory.InventoryHolder;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.MerchantRecipe;
import org.bukkit.inventory.PlayerInventory;
Expand Down Expand Up @@ -413,4 +419,23 @@ public void onWanderingTraderSpawn(EntitySpawnEvent e) {
recipes.add(random.nextInt(recipes.size() + 1), recipe);
trader.setRecipes(recipes);
}

@EventHandler
public void InventoryOpenEvent(InventoryOpenEvent e) {
InventoryHolder holder = e.getInventory().getHolder();
if (holder instanceof BlockInventoryHolder || holder instanceof DoubleChest || e.getInventory().getType() == InventoryType.ENDER_CHEST) {
int modifyCount = 0;
ItemStack[] storage = e.getInventory().getStorageContents();
for (int i = 0; i < storage.length; i++) {
ItemStack newStack = plugin.getFireWorkWorks().fixFirework(storage[i]);
if (!Objects.equal(storage[i], newStack)) {
storage[i] = newStack;
modifyCount++;
}
}
if (modifyCount > 0) {
e.getInventory().setStorageContents(storage);
}
}
}
}

0 comments on commit 933fdaf

Please sign in to comment.