Advertisement
Guest User

lamas

a guest
Nov 24th, 2019
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.86 KB | None | 0 0
  1. package ru.dymeth.dlr;
  2.  
  3. import org.bukkit.Bukkit;
  4. import org.bukkit.ChatColor;
  5. import org.bukkit.entity.Llama;
  6. import org.bukkit.entity.Player;
  7. import org.bukkit.event.EventHandler;
  8. import org.bukkit.event.EventPriority;
  9. import org.bukkit.event.Listener;
  10. import org.bukkit.event.vehicle.VehicleEnterEvent;
  11. import org.bukkit.plugin.java.JavaPlugin;
  12.  
  13. import javax.annotation.Nonnull;
  14. import javax.annotation.Nullable;
  15.  
  16. public class DenyLlamaRiding extends JavaPlugin implements Listener {
  17.     private String command;
  18.     private String message;
  19.  
  20.     @Override
  21.     public void onEnable() {
  22.         this.saveDefaultConfig();
  23.         this.command = this.loadString("command");
  24.         this.message = this.loadString("message");
  25.         Bukkit.getPluginManager().registerEvents(this, this);
  26.     }
  27.  
  28.     @Nullable
  29.     private String loadString(@Nonnull String key) {
  30.         String result = this.getConfig().getString(key);
  31.         if (result == null) return null;
  32.         result = result.trim();
  33.         if (result.isEmpty()) return null;
  34.         return ChatColor.translateAlternateColorCodes('&', result);
  35.     }
  36.  
  37.     @EventHandler(ignoreCancelled = true, priority = EventPriority.HIGH)
  38.     private void on(VehicleEnterEvent event) {
  39.         if (!(event.getVehicle() instanceof Llama)) return;
  40.         if (!(event.getEntered() instanceof Player)) return;
  41.         event.setCancelled(true);
  42.         Player player = (Player) event.getEntered();
  43.         if (this.message != null) event.getEntered().sendMessage(this.applyPlaceholders(this.message, player));
  44.         if (this.command != null) Bukkit.dispatchCommand(Bukkit.getConsoleSender(), this.applyPlaceholders(this.command, player));
  45.     }
  46.  
  47.     @Nonnull
  48.     private String applyPlaceholders(@Nonnull String input, @Nonnull Player player) {
  49.         return input.replace("{player}", player.getName());
  50.     }
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement