All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.bukkit.craftbukkit.entity.CraftMinecartCommand Maven / Gradle / Ivy

package org.bukkit.craftbukkit.entity;

import net.minecraft.server.EntityMinecartCommandBlock;
import org.bukkit.Bukkit;
import org.bukkit.Server;
import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.minecart.CommandMinecart;
import org.bukkit.permissions.PermissibleBase;
import org.bukkit.permissions.Permission;
import org.bukkit.permissions.PermissionAttachment;
import org.bukkit.permissions.PermissionAttachmentInfo;
import org.bukkit.plugin.Plugin;

import java.util.Set;

public class CraftMinecartCommand extends CraftMinecart implements CommandMinecart {
  private final PermissibleBase perm = new PermissibleBase(this);

  public CraftMinecartCommand(CraftServer server, EntityMinecartCommandBlock entity) {
    super(server, entity);
  }

  @Override
  public String getCommand() {
    return ((EntityMinecartCommandBlock) getHandle()).getCommandBlock().getCommand();
  }

  @Override
  public void setCommand(String command) {
    ((EntityMinecartCommandBlock) getHandle()).getCommandBlock().setCommand(command != null ? command : "");
  }

  @Override
  public EntityType getType() {
    return EntityType.MINECART_COMMAND;
  }

  @Override
  public void sendMessage(String message) {
  }

  @Override
  public void sendMessage(String[] messages) {
  }

  @Override
  public String getName() {
    return ((EntityMinecartCommandBlock) getHandle()).getCommandBlock().getName();
  }

  @Override
  public void setName(String name) {
    ((EntityMinecartCommandBlock) getHandle()).getCommandBlock().setName(name != null ? name : "@");
  }

  @Override
  public boolean isOp() {
    return true;
  }

  @Override
  public void setOp(boolean value) {
    throw new UnsupportedOperationException("Cannot change operator status of a minecart");
  }

  @Override
  public boolean isPermissionSet(String name) {
    return perm.isPermissionSet(name);
  }

  @Override
  public boolean isPermissionSet(Permission perm) {
    return this.perm.isPermissionSet(perm);
  }

  @Override
  public boolean hasPermission(String name) {
    return perm.hasPermission(name);
  }

  @Override
  public boolean hasPermission(Permission perm) {
    return this.perm.hasPermission(perm);
  }

  @Override
  public PermissionAttachment addAttachment(Plugin plugin, String name, boolean value) {
    return perm.addAttachment(plugin, name, value);
  }

  @Override
  public PermissionAttachment addAttachment(Plugin plugin) {
    return perm.addAttachment(plugin);
  }

  @Override
  public PermissionAttachment addAttachment(Plugin plugin, String name, boolean value, int ticks) {
    return perm.addAttachment(plugin, name, value, ticks);
  }

  @Override
  public PermissionAttachment addAttachment(Plugin plugin, int ticks) {
    return perm.addAttachment(plugin, ticks);
  }

  @Override
  public void removeAttachment(PermissionAttachment attachment) {
    perm.removeAttachment(attachment);
  }

  @Override
  public void recalculatePermissions() {
    perm.recalculatePermissions();
  }

  @Override
  public Set getEffectivePermissions() {
    return perm.getEffectivePermissions();
  }

  @Override
  public Server getServer() {
    return Bukkit.getServer();
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy