Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.TechManDylan.bukkit.DeadMansChest;
- import java.util.List;
- import org.bukkit.Location;
- import org.bukkit.Material;
- import org.bukkit.block.Block;
- import org.bukkit.block.BlockFace;
- import org.bukkit.block.Chest;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.EventPriority;
- import org.bukkit.event.Listener;
- import org.bukkit.event.entity.PlayerDeathEvent;
- import org.bukkit.inventory.ItemStack;
- public class DeadMansChestListener implements Listener {
- public ItemStack[] toItemStack(List<ItemStack> list) {
- ItemStack[] items = new ItemStack[list.size()];
- int index = 0;
- for (ItemStack i : list) {
- items[index] = i;
- index++;
- }
- return items;
- }
- @EventHandler(priority = EventPriority.HIGH)
- public void PlayerDeath(PlayerDeathEvent event) {
- Player player = event.getEntity();
- Location loc = player.getLocation();
- Block block = loc.getBlock();
- Material nblock = block.getRelative(BlockFace.NORTH).getLocation().getBlock().getType();
- Material eblock = block.getRelative(BlockFace.EAST).getLocation().getBlock().getType();
- Material sblock = block.getRelative(BlockFace.SOUTH).getLocation().getBlock().getType();
- Material wblock = block.getRelative(BlockFace.WEST).getLocation().getBlock().getType();
- Material mat = block.getType();
- Chest c = (Chest) loc.getBlock().getState();
- player.sendMessage("You died at " + "X: " + loc.getBlockX() + " Y: " + loc.getBlockY() + " Z: " + loc.getBlockZ() + " on a " + block.getType().toString() + " block.");
- if (player.getInventory().contains(Material.CHEST)) {
- if (player.getInventory().getContents().length <= 27) {
- if (mat.equals(Material.AIR)) {
- loc.getBlock().setType(Material.CHEST);
- } else {
- if (mat.equals(Material.SAPLING)
- || mat.equals(Material.BED)
- || mat.equals(Material.POWERED_RAIL)
- || mat.equals(Material.DETECTOR_RAIL)
- || mat.equals(Material.WEB)
- || mat.equals(Material.LONG_GRASS)
- || mat.equals(Material.DEAD_BUSH)
- || mat.equals(Material.YELLOW_FLOWER)
- || mat.equals(Material.RED_ROSE)
- || mat.equals(Material.BROWN_MUSHROOM)
- || mat.equals(Material.RED_MUSHROOM)
- || mat.equals(Material.STEP)
- || mat.equals(Material.TORCH)
- || mat.equals(Material.WOOD_STAIRS)
- || mat.equals(Material.REDSTONE_WIRE)
- || mat.equals(Material.CROPS)
- || mat.equals(Material.SOIL)
- || mat.equals(Material.RAILS)
- || mat.equals(Material.COBBLESTONE_STAIRS)
- || mat.equals(Material.STONE_PLATE)
- || mat.equals(Material.WOOD_PLATE)
- || mat.equals(Material.CAKE_BLOCK)
- || mat.equals(Material.DIODE_BLOCK_OFF)
- || mat.equals(Material.DIODE_BLOCK_ON)
- || mat.equals(Material.PUMPKIN_STEM)
- || mat.equals(Material.MELON_STEM)
- || mat.equals(Material.BRICK_STAIRS)
- || mat.equals(Material.SMOOTH_STAIRS)
- || mat.equals(Material.WATER_LILY)
- || mat.equals(Material.NETHER_BRICK_STAIRS)
- || mat.equals(Material.NETHER_STALK)
- || mat.equals(Material.NETHER_WARTS)
- || mat.equals(Material.BREWING_STAND)
- || mat.equals(Material.CAULDRON)
- || mat.equals(Material.ENDER_PORTAL)
- || mat.equals(Material.ENDER_PORTAL_FRAME)
- || mat.equals(Material.DRAGON_EGG)) {
- player.sendMessage("You were standing on a non solid block when you died so placed the chest up block higher.");
- loc.setY(loc.getBlockY() + 1);
- loc.getBlock().setType(Material.CHEST);
- } else {
- if (mat.equals(63) || mat.equals(64) || mat.equals(65)
- || mat.equals(68) || mat.equals(69)
- || mat.equals(71) || mat.equals(77)
- || mat.equals(83) || mat.equals(85)
- || mat.equals(90) || mat.equals(96)
- || mat.equals(101) || mat.equals(102)
- || mat.equals(106) || mat.equals(107)
- || mat.equals(113) || mat.equals(127)
- || mat.equals(131) || mat.equals(132)) {
- if (nblock.equals(Material.AIR)) {
- block.setType(Material.CHEST);
- } else {
- if (eblock.equals(Material.AIR)) {
- block.setType(Material.CHEST);
- } else {
- if (sblock.equals(Material.AIR)) {
- block.setType(Material.CHEST);
- } else {
- if (wblock.equals(Material.AIR)) {
- block.setType(Material.CHEST);
- }
- }
- }
- }
- }
- }
- }
- }
- } else {
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement