Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package tk.orzo.spigot.test;
- import org.bukkit.Material;
- import org.bukkit.NamespacedKey;
- import org.bukkit.craftbukkit.v1_16_R3.entity.CraftEntity;
- import org.bukkit.craftbukkit.v1_16_R3.inventory.CraftItemStack;
- import org.bukkit.entity.EntityType;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.hanging.HangingBreakByEntityEvent;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.ShapedRecipe;
- import org.bukkit.plugin.java.JavaPlugin;
- import net.minecraft.server.v1_16_R3.NBTTagByte;
- import net.minecraft.server.v1_16_R3.NBTTagCompound;
- public class InvisibleFrame implements Listener {
- private JavaPlugin plugin;
- public InvisibleFrame(JavaPlugin plugin) {
- this.plugin = plugin;
- }
- @EventHandler
- public void onFrameBreak(HangingBreakByEntityEvent e) {
- if (e.getEntity().getType() == EntityType.ITEM_FRAME) {
- net.minecraft.server.v1_16_R3.Entity nmsEntity = ((CraftEntity) e.getEntity()).getHandle();
- NBTTagCompound compound = new NBTTagCompound();
- nmsEntity.d(compound);
- if (compound.getBoolean("Invisible")) {
- e.setCancelled(true);
- e.getEntity().getLocation().getWorld().dropItem(e.getEntity().getLocation(), getItemStack());
- e.getEntity().remove();
- }
- }
- }
- public ShapedRecipe getRecipe() {
- NamespacedKey key = new NamespacedKey(plugin, "InvisibleItemframe");
- ShapedRecipe r = new ShapedRecipe(key , getItemStack());
- r.shape(" ", " I ", " ");
- r.setIngredient( 'I', Material.ITEM_FRAME);
- return r;
- }
- public ItemStack getItemStack() {
- ItemStack item = new ItemStack(Material.ITEM_FRAME);
- net.minecraft.server.v1_16_R3.ItemStack nmsItem = CraftItemStack.asNMSCopy(item);
- NBTTagCompound compound = new NBTTagCompound();
- NBTTagCompound entityTag = new NBTTagCompound();
- entityTag.set("Invisible", NBTTagByte.a(true));
- compound.set("EntityTag", entityTag);
- nmsItem.setTag(compound);
- return CraftItemStack.asBukkitCopy(nmsItem);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement