Spaleforce
Home
Tools
Marketplace
Shop
EN
Sign in with Google
Marketplace
/
Gameplay
/
Starsmp
Starsmp
minecraft
Free
v1.0.0
Description
package me.enioxr.headstar;
import org.bukkit.*;
import org.bukkit.entity.Player;
import org.bukkit.event.*;
import org.bukkit.event.entity.PlayerDeathEvent;
import org.bukkit.event.inventory.PrepareItemCraftEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.*;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.inventory.meta.SkullMeta;
import org.bukkit.persistence.PersistentDataType;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.scheduler.BukkitRunnable;
import java.util.*;
public class HeadStarPlugin extends JavaPlugin implements Listener {
private ItemStack star;
private final Map<UUID, Long> cooldown = new HashMap<>();
@Override
public void onEnable() {
Bukkit.getPluginManager().registerEvents(this, this);
star = createStar();
}
// ⭐ Create star
private ItemStack createStar() {
ItemStack item = new ItemStack(Material.NETHER_STAR);
ItemMeta meta = item.getItemMeta();
meta.setDisplayName("§6Creative Star");
meta.setLore(Arrays.asList("§7Gives creative mode for 5 seconds"));
item.setItemMeta(meta);
return item;
}
// 💀 Give custom head on kill
@EventHandler
public void onKill(PlayerDeathEvent e) {
Player killer = e.getEntity().getKiller();
Player victim = e.getEntity();
if (killer != null) {
if (killer.getGameMode() == GameMode.CREATIVE) return;
ItemStack head = new ItemStack(Material.PLAYER_HEAD);
SkullMeta meta = (SkullMeta) head.getItemMeta();
meta.setOwningPlayer(victim);
meta.setDisplayName("§6Soul Head");
meta.setLore(Arrays.asList("§7Obtained by killing a player"));
meta.getPersistentDataContainer().set(
new NamespacedKey(this, "soul_head"),
PersistentDataType.INTEGER,
1
);
head.setItemMeta(meta);
killer.getInventory().addItem(head);
}
}
// 🧪 Craft (only custom heads)
@EventHandler
public void onCraft(PrepareItemCraftEvent e) {
CraftingInventory inv = e.getInventory();
ItemStack[] matrix = inv.getMatrix();
int heads = 0;
for (ItemStack item : matrix) {
if (item != null && item.getType() == Material.PLAYER_HEAD) {
SkullMeta meta = (SkullMeta) item.getItemMeta();
if (meta != null && meta.getPersistentDataContainer().has(
new NamespacedKey(this, "soul_head"),
PersistentDataType.INTEGER
)) {
heads++;
}
}
}
if (heads == 4) {
inv.setResult(star);
} else {
inv.setResult(null);
}
}
// 🚀 Use star
@EventHandler
public void onUse(PlayerInteractEvent e) {
Player p = e.getPlayer();
if (e.getItem() == null) return;
if (!e.getItem().hasItemMeta()) return;
ItemStack item = e.getItem();
if (item.isSimilar(star)) {
// ⏳ Cooldown check (30 sec)
if (cooldown.containsKey(p.getUniqueId())) {
long timeLeft = (cooldown.get(p.getUniqueId()) - System.currentTimeMillis()) / 1000;
if (timeLeft > 0) {
p.sendMessage("§cYou must wait " + timeLeft + " seconds!");
return;
}
}
// Set cooldown
cooldown.put(p.getUniqueId(), System.currentTimeMillis() + (30 * 1000));
// 🎲 Random sounds
Sound[] sounds = {
Sound.ENTITY_ENDER_DRAGON_GROWL,
Sound.ENTITY_WITHER_SPAWN,
Sound.ENTITY_PLAYER_LEVELUP,
Sound.BLOCK_BEACON_ACTIVATE,
Sound.ENTITY_LIGHTNING_BOLT_THUNDER
};
Sound randomSound = sounds[new Random().nextInt(sounds.length)];
p.playSound(p.getLocation(), randomSound, 1.0f, 1.0f);
// ⚡ Lightning
p.getWorld().strikeLightningEffect(p.getLocation());
// ⭐ Creative mode
p.setGameMode(GameMode.CREATIVE);
p.sendMessage("§aCreative mode for 5 seconds!");
item.setAmount(item.getAmount() - 1);
new BukkitRunnable() {
@Override
public void run() {
p.setGameMode(GameMode.SURVIVAL);
p.sendMessage("§cBack to survival!");
}
}.runTaskLater(this, 100);
}
}
}
Reviews (0)
Write a review
No reviews yet
Be the first to leave a review!
Seller
AMIEL Roblox
0
downloads
Version
v1.0.0
Platform
minecraft
Type
spigot
Minecraft Version
MC 1.21
Category
Minecraft Plugins > Gameplay
Published on
21/03/2026
Last update
21/04/2026
Free
Download for free
Support
We reply fast