Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ru.dymeth.dlr;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.entity.Llama;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.EventPriority;
- import org.bukkit.event.Listener;
- import org.bukkit.event.vehicle.VehicleEnterEvent;
- import org.bukkit.plugin.java.JavaPlugin;
- import javax.annotation.Nonnull;
- import javax.annotation.Nullable;
- public class DenyLlamaRiding extends JavaPlugin implements Listener {
- private String command;
- private String message;
- @Override
- public void onEnable() {
- this.saveDefaultConfig();
- this.command = this.loadString("command");
- this.message = this.loadString("message");
- Bukkit.getPluginManager().registerEvents(this, this);
- }
- @Nullable
- private String loadString(@Nonnull String key) {
- String result = this.getConfig().getString(key);
- if (result == null) return null;
- result = result.trim();
- if (result.isEmpty()) return null;
- return ChatColor.translateAlternateColorCodes('&', result);
- }
- @EventHandler(ignoreCancelled = true, priority = EventPriority.HIGH)
- private void on(VehicleEnterEvent event) {
- if (!(event.getVehicle() instanceof Llama)) return;
- if (!(event.getEntered() instanceof Player)) return;
- event.setCancelled(true);
- Player player = (Player) event.getEntered();
- if (this.message != null) event.getEntered().sendMessage(this.applyPlaceholders(this.message, player));
- if (this.command != null) Bukkit.dispatchCommand(Bukkit.getConsoleSender(), this.applyPlaceholders(this.command, player));
- }
- @Nonnull
- private String applyPlaceholders(@Nonnull String input, @Nonnull Player player) {
- return input.replace("{player}", player.getName());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement