Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private HashMap<Sheep, Integer> launchedEntities = new HashMap<Sheep, Integer>();
- private HashMap<Integer, Sheep> tasksEntities = new HashMap<Integer, Sheep>();
- @EventHandler
- public void listen(PlayerInteractEvent e){
- Player p = e.getPlayer();
- if(e.getAction() == Action.RIGHT_CLICK_AIR || e.getAction() == Action.RIGHT_CLICK_BLOCK){
- if(e.getItem() == null)return;
- if(e.getItem().getType() != Material.WOOL || e.getItem().getItemMeta() == null || !e.getItem().getItemMeta().getDisplayName().contains("Mouton Explosif")) return;
- Sheep s = (Sheep) p.getWorld().spawnEntity(p.getLocation(), EntityType.SHEEP);
- Vector v = new Vector(p.getLocation().getDirection().getX(), p.getLocation().getDirection().getY(), p.getLocation().getDirection().getZ());
- v.multiply(5);
- s.setVelocity(v);
- s.setColor(DyeColor.RED);
- s.setCustomName("§cMouton Explosif");
- int cooldown = 6;//Temps avant l'explosion
- launchedEntities.put(s, cooldown);
- launchTask(s);
- }
- }
- private void launchTask(final Sheep s){
- new BukkitRunnable(){
- @Override
- public void run() {
- if(!tasksEntities.containsKey(this.getTaskId())){
- tasksEntities.put(this.getTaskId(), s);
- }
- Sheep s = tasksEntities.get(this.getTaskId());
- int cooldown = launchedEntities.get(s);
- cooldown--;
- switch (cooldown){
- case 0://Explosion
- s.setColor(DyeColor.RED);
- tasksEntities.remove(this.getTaskId());
- s.getWorld().createExplosion(s.getLocation(), 4F);//Creation de l'explosion
- s.remove();//On enlève le mouton
- this.cancel();
- break;
- case 1:
- s.setColor(DyeColor.WHITE);
- break;
- case 2:
- s.setColor(DyeColor.RED);
- break;
- case 3:
- s.setColor(DyeColor.WHITE);
- break;
- case 4:
- s.setColor(DyeColor.RED);
- break;
- case 5:
- s.setColor(DyeColor.WHITE);
- break;
- default:
- break;
- }
- launchedEntities.remove(s);
- if(cooldown != 0){
- launchedEntities.put(s, cooldown);
- }
- }
- }.runTaskTimer(Bukkit.getPluginManager().getPlugin("SheepWars"), 0, 20);
- }
Advertisement
Add Comment
Please, Sign In to add comment