Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.battlepvp.crafttnt;
- import com.google.common.collect.Lists;
- import org.bukkit.ChatColor;
- import org.bukkit.Material;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Player;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.plugin.java.JavaPlugin;
- import java.util.Iterator;
- import java.util.List;
- public class CraftTNT
- extends JavaPlugin
- {
- public boolean onCommand(CommandSender sender, Command command, String label, String[] args)
- {
- if (!Player.class.isAssignableFrom(sender.getClass()))
- {
- getServer().getLogger().info("Console can not use this command");
- return false;
- }
- Player p = (Player)sender;
- ItemStack[] invContents = p.getInventory().getContents();
- int sulphur = 0;
- int sand = 0;
- for (ItemStack itm : invContents) {
- if ((itm != null) && (itm.getType() != Material.AIR)) {
- if ((itm.getType() == Material.SULPHUR) && (!itm.hasItemMeta())) {
- sulphur += itm.getAmount();
- } else if ((itm.getType() == Material.SAND) && (!itm.hasItemMeta())) {
- sand += itm.getAmount();
- }
- }
- }
- int max = sulphur / 5 > sand / 4 ? sand / 4 : sulphur / 5;
- if (max < 1)
- {
- sender.sendMessage(ChatColor.RED + "You don't have the materials to craft TNT");
- }
- else
- {
- int removeSand = 4 * max;
- int removeSulphur = 5 * max;
- for (ItemStack stack : p.getInventory().getContents()) {
- if (stack == null || stack.getType() == Material.AIR)
- continue;
- if (removeSand <= 0)
- break;
- if (stack.getType().equals(Material.SAND)) {
- if (removeSand >= stack.getAmount()) {
- p.getInventory().removeItem(stack);
- removeSand -= (stack.getAmount());
- } else {
- int remove_amount = stack.getAmount() - removeSand;
- removeSand -= remove_amount;
- stack.setAmount(remove_amount);
- }
- }
- }
- p.getInventory().removeItem(new ItemStack[]{new ItemStack(Material.SULPHUR, removeSulphur)});
- p.getInventory().addItem(new ItemStack[] { new ItemStack(Material.TNT, max) });
- p.sendMessage(ChatColor.GREEN + "Successfully crafted " + max + " TNT");
- }
- return true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement