mHeadData Source [Korean](koKR)

이 소스는 영어를 번역하기 귀찮으신 분들을 위해 넣어놨습니다.

이 플러그인은 GPL 라이센스 3버전을 사용합니다.

만약 이 플러그인의 소스를 이용하신다면,

이를 밝혀야되고 소스를 같이 배포해야합니다.

이 소스를 사용한 플러그인 판매는 허용하지 않습니다.

package com.milkyway.headdata;

import java.util.ArrayList;

import java.util.List;

import org.bukkit.Bukkit;

import org.bukkit.ChatColor;

import org.bukkit.Material;

import org.bukkit.World;

import org.bukkit.entity.Player;

import org.bukkit.event.EventHandler;

import org.bukkit.event.Listener;

import org.bukkit.event.entity.EntityDeathEvent;

import org.bukkit.inventory.ItemStack;

import org.bukkit.inventory.meta.SkullMeta;

import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin implements Listener{

String headname = null;

String headlore = null;

prefix 문자열 변수를 [ mHeadData ]로 설정합니다.

public String prefix = ChatColor.RED + "[ " + ChatColor.BLUE + " mHeadData" + ChatColor.RED + " ]" + ChatColor.WHITE;

플러그인이 켜질때 작동합니다.

public void onEnable(){

콘솔에 메시지를 보냅니다.

Bukkit.getConsoleSender().sendMessage(prefix + " Head Data Dropper Has benn enabled.Made by milkyway0308/Skywolf46");

콘피그 파일을 폴더에 생성합니다.

getConfig().options().copyDefaults(true);

콘피그 데이터를 저장합니다.

saveConfig();

reloadConfig();

콘피그 데이터를 문자열 변수에 저장합니다.

headname = getConfig().getString("Head_Name");

headlore = getConfig().getString("Head_Lore");

Bukkit.getConsoleSender().sendMessage(prefix + " Data Check Complete");

Bukkit.getConsoleSender().sendMessage(prefix + " Head Name::" + headname);

Bukkit.getConsoleSender().sendMessage(prefix + " Head Lore:" + headlore);

이벤트 클래스를 등록합니다.

getServer().getPluginManager().registerEvents(this, this);

Bukkit.getConsoleSender().sendMessage(prefix + "Plugin Event Class Register Success");

Bukkit.getConsoleSender().sendMessage(prefix + "Enjoy Your PvP!");

}

엔티티가 죽을때 발동됩니다.

@EventHandler

public void onDeath(EntityDeathEvent e)

{

죽은 플레이어와 살인자가 플레이어라면?

if(e.getEntity().getKiller() instanceof Player && e.getEntity() instanceof Player){

새 ItemStack을 플레이어 머리로 생성합니다.

ItemStack head = new ItemStack(Material.SKULL_ITEM, 1, (short) 3);

SkullMeta meta = (SkullMeta)head.getItemMeta();

Player p = (Player)e.getEntity();

World w = p.getWorld();

List lores = meta.getLore();

아이템의 로어가 없다면 새로 변수를 생성해줍니다.

if (lores == null) {

lores = new ArrayList();

}

플레이스 홀더와 색코드를 배치해줍니다.

String[] headlores = headlore.replace("&", "§").replace("%player%", p.getName()).replace("%attacker%", p.getKiller().getName()).split("/;");

머리에 설명을 추가합니다.

for(String s : headlores)

{

lores.add(s);

}

meta.setLore(lores);

meta.setDisplayName(headname.replace("&", "§").replace("%player%", p.getName()).replace("%attacker%", p.getKiller().getName()));

meta.setOwner(p.getName());

head.setItemMeta(meta);

머리를 죽은 플레이어의 위치에 떨어뜨립니다.

w.dropItem(p.getLocation(), head);

}

}

}


Comments

Posts Quoted:
Reply
Clear All Quotes