- Tham gia
- 20/04/2017
- Bài viết
- 11
Mã:
import java.util.ArrayList;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.SkullMeta;
import org.bukkit.plugin.java.JavaPlugin;
public class StardewFoods extends JavaPlugin implements Listener {
public void onEnable() {
Bukkit.getPluginManager().registerEvents(this, this);
}
// Tên đồ ăn là FRIED_CHICKEN. Có thể xem danh sách đồ ăn ở đây
// https://minecraft-heads.com/player/heads/food-drinks
public static ItemStack FRIED_CHICKEN() {
// Tạo vật phẩm - KHÔNG ĐỔI GÌ
ItemStack item = new ItemStack(Material.SKULL_ITEM, 1, (byte) 3);
// Phần đặt tên cho cái này - ĐỔI RA NGHĨA TIẾNG VIỆT
// Dùng Google dịch. Ví dụ FRIED_CHICKEN = Gà rán
// Chú ý dùng dấu "§" để ngi màu (Giống với &). Có thể nhấn nhanh dấu § bằng
// Cách giữ Alt rồi nhấn 21
SkullMeta mt = (SkullMeta) item.getItemMeta();
mt.setDisplayName("§6§lGà Rán");
// Tên skull ở https://minecraft-heads.com/player/heads/food-drinks.
// Cách lấy tên : Nhấp vào thức ăn muốn làm. Tìm xuống Other: Playername. Copy
// rồi paste
// thay từ StarFirePrime
mt.setOwner("StarFirePrime");
// Lore : Chỉ thay đổi thông số.
ArrayList<String> lore = new ArrayList<String>();
// Dòng đầu trống
lore.add("");
// Dòng hồi máu
lore.add("§a§l✙§6 7"); // 7 là số máu hồi khi ăn. 0.5 tim = 1 nên 7 = Hồi 3.5 tim
// Dòng hồi thức ăn
lore.add("§c§l✙§e 4"); // 4 là số thức ăn hồi khi ăn. 0.5 đùi gà = 1 nên 4 = hồi 2 đùi gà
// Dòng thêm cho đẹp. GIỮ NGUYÊN
lore.add("§d§l[Đồ ăn thức uống]");
// Set lore cho item
mt.setLore(lore);
// Set item
item.setItemMeta(mt);
// Dòng kết thúc
return item;
}
//Khi dùng lệnh sẽ đưa đồ ăn
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
Player p = (Player) sender;
//Nếu người chơi dùng /garan thì sẽ đưa gà rán cho người chơi
if(cmd.getName().equalsIgnoreCase("garan")) {
p.getInventory().addItem(FRIED_CHICKEN());
}
return true;
}
// Kiểm tra khi người chơi phải chuột với đồ ăn thì sẽ ăn - KHÔNG CHỈNH SỬA
@EventHandler
public void andoandominhtaonhehihi(PlayerInteractEvent e) {
Player p = e.getPlayer();
if (p.getInventory().getItemInMainHand() == null) {
return;
}
if (p.getInventory().getItemInMainHand().getItemMeta() == null) {
return;
}
if (p.getInventory().getItemInMainHand().getItemMeta().hasLore() == false) {
return;
}
if (p.getInventory().getItemInMainHand().getItemMeta().getLore().contains("§d§l[Đồ ăn thức uống]") == false) {
return;
}
String maulore = p.getInventory().getItemInMainHand().getItemMeta().getLore().get(1);
String foodlore = p.getInventory().getItemInMainHand().getItemMeta().getLore().get(2);
String maui = Character.toString(maulore.charAt(8));
String foodi = Character.toString(foodlore.charAt(8));
p.sendMessage(maulore);
p.sendMessage(foodlore);
int mau = Integer.parseInt(maui);
int food = Integer.parseInt(foodi);
if (20 - p.getHealth() >= mau) {
p.setHealth(p.getHealth() + mau);
p.getInventory().getItemInMainHand().setAmount(p.getInventory().getItemInMainHand().getAmount() - 1);
p.playSound(p.getLocation(), Sound.ENTITY_GENERIC_EAT, 1, 1);
} else {
p.setHealth(20);
p.getInventory().getItemInMainHand().setAmount(p.getInventory().getItemInMainHand().getAmount() - 1);
p.playSound(p.getLocation(), Sound.ENTITY_GENERIC_EAT, 1, 1);
}
if (20 - p.getFoodLevel() >= food) {
p.setFoodLevel(p.getFoodLevel() + food);
} else {
p.setFoodLevel(20);
}
}
}
Cái này yêu cầu các bạn dùng 100% não để đọc với ai mới học code ! Học rồi thì 0.5% cũng hiểu !






tưởng làm animation đc :/