Advertisement
Guest User

Untitled

a guest
Mar 28th, 2020
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.50 KB | None | 0 0
  1. import org.bukkit.Bukkit;
  2. import org.bukkit.Material;
  3. import org.bukkit.event.EventHandler;
  4. import org.bukkit.event.Listener;
  5. import org.bukkit.event.block.Action;
  6. import org.bukkit.event.block.BlockBreakEvent;
  7. import org.bukkit.event.block.BlockPlaceEvent;
  8. import org.bukkit.event.entity.EntityDamageEvent;
  9. import org.bukkit.event.player.PlayerInteractEvent;
  10. import org.bukkit.event.player.PlayerItemDamageEvent;
  11. import org.bukkit.inventory.ItemStack;
  12. import org.bukkit.plugin.java.JavaPlugin;
  13.  
  14. import java.util.Arrays;
  15. import java.util.HashMap;
  16. import java.util.List;
  17.  
  18. public class DelayedBlocks extends JavaPlugin implements Listener {
  19.  
  20. private HashMap<String, Integer> igniteCounter = new HashMap<>();
  21.  
  22. @Override
  23. public void onEnable() {
  24. Bukkit.getServer().getPluginManager().registerEvents(this, this);
  25. }
  26.  
  27. @EventHandler
  28. public void onBreak(BlockBreakEvent e) {
  29. if (!e.getPlayer().isOp()) {
  30. e.setCancelled(true);
  31. }
  32. }
  33.  
  34.  
  35. private List<String> damagetheseitems = Arrays.asList("DIAMOND_SWORD", "DIAMOND_CHESTPLATE");
  36.  
  37. @EventHandler
  38. public void ontest(PlayerItemDamageEvent e){
  39. if (!damagetheseitems.contains(e.getItem().getType().toString())){
  40. e.setCancelled(true);
  41. } else {
  42. ItemStack hand = e.getPlayer().getInventory().getItemInMainHand();
  43. if (hand != null){ // remove if doesn't work
  44. short durability = hand.getDurability();
  45. hand.setDurability((short)(durability + 5));
  46. }
  47. }
  48. }
  49.  
  50.  
  51. @EventHandler
  52. public void onTntDamage(EntityDamageEvent e) {
  53. if (e.getCause().equals(EntityDamageEvent.DamageCause.ENTITY_EXPLOSION)){
  54. e.setDamage(e.getDamage()/2);
  55. }
  56. }
  57.  
  58. @EventHandler
  59. public void onIgnite(PlayerInteractEvent e) {
  60. if (e.getAction() == Action.RIGHT_CLICK_BLOCK) {
  61. ItemStack hand = e.getPlayer().getInventory().getItemInMainHand();
  62. if (hand != null) {
  63. if (hand.getType().toString().equalsIgnoreCase("FLINT_AND_STEEL") && !e.getPlayer().isOp()) {
  64. if (igniteCounter.get(e.getPlayer().getName()) == null) {
  65. igniteCounter.put(e.getPlayer().getName(), 1);
  66. } else if (igniteCounter.get(e.getPlayer().getName()) >= 10) {
  67. e.getPlayer().getInventory().setItemInMainHand(null);
  68. e.setCancelled(true);
  69. igniteCounter.put(e.getPlayer().getName(), 0);
  70. } else {
  71. int increment = igniteCounter.get(e.getPlayer().getName());
  72. igniteCounter.put(e.getPlayer().getName(), increment + 1);
  73. }
  74. }
  75. }
  76. }
  77. }
  78.  
  79. @EventHandler
  80. public void onPlace(BlockPlaceEvent e) {
  81. if (!e.getBlock().getType().toString().equalsIgnoreCase("OBSIDIAN") && !e.getBlock().getType().toString().equalsIgnoreCase("TNT") && !e.getPlayer().isOp()) {
  82. if (!e.getBlock().getType().toString().equalsIgnoreCase("FIRE")) {
  83. e.setCancelled(true);
  84. }
  85. }
  86.  
  87. if (e.getBlock().getType().toString().equalsIgnoreCase("OBSIDIAN")) {
  88. Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(this, () -> {
  89. if (e.getBlock().getType().equals(Material.OBSIDIAN)) {
  90. e.getBlock().setType(Material.AIR);
  91. e.getBlock().getWorld().playEffect(e.getBlock().getLocation(), org.bukkit.Effect.STEP_SOUND, 49);
  92. }
  93. }, 30 * 20);
  94. }
  95. }
  96.  
  97.  
  98. @EventHandler
  99. public void Place(BlockPlaceEvent e) {
  100. if (e.getBlock().getType().toString().equalsIgnoreCase("TNT")) {
  101. Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(this, () -> {
  102. if (e.getBlock().getType().equals(Material.TNT)) {
  103. e.getBlock().setType(Material.AIR);
  104. e.getBlock().getWorld().playEffect(e.getBlock().getLocation(), org.bukkit.Effect.STEP_SOUND, 49);
  105. }
  106. }, 60 * 20);
  107. }
  108. }
  109.  
  110.  
  111.  
  112. @EventHandler
  113. public void Rod(PlayerInteractEvent e){
  114.  
  115. ItemStack hand = e.getPlayer().getInventory().getItemInMainHand();
  116. short durability = hand.getDurability();
  117. if (hand.getType().toString().equalsIgnoreCase("FISHING_ROD")) {
  118. hand.setDurability((short)(durability + 1));
  119. e.setCancelled(false);
  120.  
  121.  
  122.  
  123. }
  124. }
  125.  
  126. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement