omervr62
Birisi mi Spawnlandı?
Arkadaşlar bu kodları jar olarak verebilirmisiniz
plugin.yml
main.java
plugin.yml
YAML:
name: MegaCore
version: 26.0
main: com.deneme.plugin.Main
api-version: 1.20
author: Gemini
description: Ekonomi, Uzay, RPG ve Teknik sistemleri barındıran tam kapsamlı sunucu motoru.
commands:
kasa:
description: Kişisel sanal kasanızı açar.
usage: /kasa
gunluk:
description: 24 saatte bir günlük ödülünüzü verir.
usage: /gunluk
rtp:
description: Haritada rastgele güvenli bir noktaya ışınlar.
usage: /rtp
kanat:
description: Kozmetik ateş kanatlarını açar veya kapatır.
usage: /kanat
yetenek:
description: Pasif yeteneklerinizi geliştirmenizi sağlar.
usage: /yetenek
zamanidurdur:
description: Etraftaki yaratıkları dondurur.
usage: /zamanidurdur
permission: megacore.admin
asitfirtinasi:
description: Asit yağmuru etkinliğini başlatır veya durdurur.
usage: /asitfirtinasi
permission: megacore.admin
aynadunya:
description: Paralel boyuta geçiş yapar.
usage: /aynadunya
meteoryagmuru:
description: Gökten maden dolu meteorlar indirir.
usage: /meteoryagmuru
permission: megacore.admin
araba:
description: Özel bir binek araç (zırh askısı) oluşturur.
usage: /araba
permissions:
megacore.admin:
description: Tüm admin komutlarını kullanma yetkisi.
default: op
main.java
Java:
package com.deneme.plugin;
import org.bukkit.*;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.*;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.event.player.AsyncPlayerChatEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;
import org.bukkit.util.Vector;
import java.util.HashMap;
import java.util.UUID;
public class Main extends JavaPlugin implements Listener, CommandExecutor {
// --- SİSTEM HAFIZASI ---
private final HashMap<UUID, Double> cuzdan = new HashMap<>();
private final HashMap<UUID, Integer> yetenekHiz = new HashMap<>();
private final HashMap<UUID, Inventory> sanalKasalar = new HashMap<>();
private final HashMap<Material, Double> borsa = new HashMap<>();
private boolean asitFirtinasi = false;
private final String discordWebhook = "WEBHOOK_URL_BURAYA";
@Override
public void onEnable() {
// Komut Kayıtları
String[] cmds = {"kasa", "gunluk", "rtp", "kanat", "yetenek", "zamanidurdur", "asitfirtinasi", "aynadunya", "meteoryagmuru", "araba"};
for (String cmd : cmds) { getCommand(cmd).setExecutor(this); }
getServer().getPluginManager().registerEvents(this, this);
// Borsa Başlatma
borsa.put(Material.DIAMOND, 500.0);
borsa.put(Material.GOLD_INGOT, 100.0);
// --- ANA DÖNGÜ: Atmosfer, Oksijen ve RGB Efektleri ---
Bukkit.getScheduler().runTaskTimer(this, () -> {
for (Player p : Bukkit.getOnlinePlayers()) {
// 1. Uzay Fiziği & Oksijen
if (p.getLocation().getY() > 200) {
p.addPotionEffect(new PotionEffect(PotionEffectType.JUMP, 40, 2, false, false));
if (p.getInventory().getHelmet() == null) p.damage(1.0);
p.sendActionBar(ChatColor.AQUA + "Düşük Yerçekimi Bölgesi");
}
// 2. Asit Yağmuru Kontrolü
if (asitFirtinasi && p.getWorld().hasStorm() && p.getLocation().getY() >= p.getWorld().getHighestBlockYAt(p.getLocation())) {
p.damage(0.5);
p.spawnParticle(Particle.SMOKE_NORMAL, p.getLocation().add(0, 2, 0), 5);
}
}
}, 0L, 20L);
getLogger().info("=== MEGA CORE v26.0: TÜM SİSTEMLER BİRLEŞTİRİLDİ! ===");
}
// --- ÖZEL YETENEKLER & BÜYÜLÜ SİLAHLAR ---
@EventHandler
public void onMagicUse(PlayerInteractEvent event) {
Player p = event.getPlayer();
ItemStack item = p.getInventory().getItemInMainHand();
if (event.getAction() == Action.RIGHT_CLICK_AIR || event.getAction() == Action.RIGHT_CLICK_BLOCK) {
// Zaman Durdurma (Saat ile)
if (item.getType() == Material.CLOCK) {
p.getWorld().playSound(p.getLocation(), Sound.BLOCK_BEACON_DEACTIVATE, 1f, 0.5f);
for (Entity e : p.getNearbyEntities(10, 10, 10)) {
if (e instanceof LivingEntity) {
((LivingEntity) e).setAI(false);
Bukkit.getScheduler().runTaskLater(this, () -> ((LivingEntity) e).setAI(true), 100L);
}
}
p.sendMessage(ChatColor.DARK_AQUA + "Zaman 5 saniyeliğine mühürlendi!");
}
// Buz Asası (Blaze Rod ile)
if (item.getType() == Material.BLAZE_ROD) {
Vector dir = p.getLocation().getDirection().multiply(1.5);
p.getWorld().spawnParticle(Particle.SNOWBALL, p.getEyeLocation(), 10, dir.getX(), dir.getY(), dir.getZ(), 0.1);
p.playSound(p.getLocation(), Sound.ENTITY_SNOWBALL_THROW, 1f, 1.2f);
}
}
}
// --- SAVAŞ & EFEKT SİSTEMLERİ ---
@EventHandler
public void onDamage(EntityDamageEvent event) {
if (event.getEntity() instanceof Player) {
// Kan Efekti
event.getEntity().getWorld().spawnParticle(Particle.BLOCK_CRACK, event.getEntity().getLocation().add(0, 1, 0), 20, Bukkit.createBlockData(Material.REDSTONE_BLOCK));
}
}
// --- CHAT & DISCORD ---
@EventHandler
public void onChat(AsyncPlayerChatEvent event) {
// Local/Global Chat Mantığı
if (!event.getMessage().startsWith("!")) {
event.setCancelled(true);
String localMsg = ChatColor.GRAY + "[Yerel] " + event.getPlayer().getName() + ": " + event.getMessage();
event.getPlayer().getNearbyEntities(50, 50, 50).forEach(e -> { if(e instanceof Player) e.sendMessage(localMsg); });
event.getPlayer().sendMessage(localMsg);
} else {
event.setMessage(event.getMessage().substring(1));
event.setFormat(ChatColor.GOLD + "[GLOBAL] " + ChatColor.WHITE + "%s: %s");
}
}
// --- KOMUT YÖNETİCİSİ ---
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (!(sender instanceof Player)) return true;
Player p = (Player) sender;
switch (command.getName().toLowerCase()) {
case "kasa":
Inventory inv = sanalKasalar.getOrDefault(p.getUniqueId(), Bukkit.createInventory(null, 27, "Depon"));
sanalKasalar.put(p.getUniqueId(), inv);
p.openInventory(inv);
break;
case "asitfirtinasi":
if (p.isOp()) { asitFirtinasi = !asitFirtinasi; Bukkit.broadcastMessage(asitFirtinasi ? "§cAsit yağmuru başladı!" : "§aHava düzeldi."); }
break;
case "yetenek":
int lvl = yetenekHiz.getOrDefault(p.getUniqueId(), 0);
if (lvl < 5) { yetenekHiz.put(p.getUniqueId(), lvl + 1); p.sendMessage("§bHız yeteneğin arttı!"); }
break;
case "araba":
ArmorStand car = (ArmorStand) p.getWorld().spawnEntity(p.getLocation(), EntityType.ARMOR_STAND);
car.setCustomName("§6Hızlı Araç");
car.addPassenger(p);
break;
}
return true;
}
}