Spaleforce
Home
Tools
Marketplace
Shop
EN
Sign in with Google
Marketplace
/
Gameplay
/
Itens
Itens
minecraft
Free
v1.0.0
Description
@EventHandler
public void onItemProtect(EntityDamageEvent e) {
if (e.getEntity() instanceof Item) {
Item item = (Item) e.getEntity();
if (item.getItemStack().hasItemMeta() &&
item.getItemStack().getItemMeta().getPersistentDataContainer().has(itemKey, PersistentDataType.BYTE)) {
e.setCancelled(true); // Imune a fogo, explosão, etc.
}
}
}
package com.networkmc.reliquias.listeners;
import com.networkmc.reliquias.Main;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.player.PlayerJoinEvent;
public class PlayerListener implements Listener {
private Main plugin;
public PlayerListener(Main plugin) { this.plugin = plugin; }
@EventHandler
public void onJoin(PlayerJoinEvent e) {
Player p = e.getPlayer();
String uuid = p.getUniqueId().toString();
String ip = p.getAddress().getAddress().getHostAddress();
if (!plugin.getDbManager().hasReceived(uuid, ip)) {
int id = plugin.getItemManager().getNextAvailableId();
if (id != -1) {
p.getInventory().addItem(plugin.getItemManager().createItem(id));
plugin.getDbManager().registerEntry(uuid, ip, id);
}
}
}
@EventHandler
public void onPVP(EntityDamageByEntityEvent e) {
if (e.getDamager() instanceof Player && e.getEntity() instanceof Player) {
long time = e.getDamager().getWorld().getTime();
// Minecraft dia: 0 a 12000
if (time < 12300 || time > 23850) {
e.setCancelled(true);
e.getDamager().sendMessage("§cVocê não pode atacar jogadores de dia! O PvP está ativo somente à noite.");
}
}
}
}
package com.networkmc.reliquias.listeners;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerChatEvent;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.event.entity.PlayerDeathEvent;
public class ChatListener implements Listener {
@EventHandler
public void onChat(AsyncPlayerChatEvent e) {
String msg = e.getMessage().toLowerCase();
if (msg.contains(".com") || msg.contains(".br") || msg.contains("http") || msg.contains("www.")) {
e.setCancelled(true);
}
}
@EventHandler public void onJoin(PlayerJoinEvent e) {
e.setJoinMessage("§fO jogador §b" + e.getPlayer().getName() + " §fentrou na partida.");
}
@EventHandler public void onQuit(PlayerQuitEvent e) { e.setQuitMessage(null); }
@EventHandler public void onDeath(PlayerDeathEvent e) { e.setDeathMessage(null); }
}
package com.networkmc.reliquias.managers;
import com.networkmc.reliquias.Main;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import java.io.File;
import java.io.IOException;
public class DatabaseManager {
private File file;
private FileConfiguration config;
public DatabaseManager(Main plugin) {
file = new File(plugin.getDataFolder(), "data.yml");
if (!file.exists()) plugin.saveResource("data.yml", false);
config = YamlConfiguration.loadConfiguration(file);
}
public boolean hasReceived(String uuid, String ip) {
return config.contains("players." + uuid) || config.contains("ips." + ip.replace(".", "_"));
}
public void registerEntry(String uuid, String ip, int itemId) {
config.set("players." + uuid, itemId);
config.set("ips." + ip.replace(".", "_"), uuid);
config.set("distributed." + itemId, true);
save();
}
public boolean isDistributed(int id) { return config.getBoolean("distributed." + id, false); }
private void save() {
try { config.save(file); } catch (IOException e) {}
}
}
Reviews (0)
Write a review
No reviews yet
Be the first to leave a review!
Seller
Mateus 184
0
downloads
Version
v1.0.0
Platform
minecraft
Type
spigot
Minecraft Version
MC 1.20
Category
Minecraft Plugins > Gameplay
Published on
29/01/2026
Last update
21/04/2026
Free
Download for free
Support
We reply fast