package crazypants.enderio.api.teleport;
import java.util.UUID;
import javax.annotation.Nonnull;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import com.enderio.core.common.util.BlockCoord;
import crazypants.util.UserIdent;
public interface ITravelAccessable {
public enum AccessMode {
PUBLIC,
PRIVATE,
PROTECTED
}
boolean canBlockBeAccessed(EntityPlayer playerName);
boolean canSeeBlock(EntityPlayer playerName);
boolean canUiBeAccessed(EntityPlayer username);
boolean getRequiresPassword(EntityPlayer username);
boolean authoriseUser(EntityPlayer username, ItemStack[] password);
AccessMode getAccessMode();
void setAccessMode(AccessMode accessMode);
ItemStack[] getPassword();
void setPassword(ItemStack[] password);
ItemStack getItemLabel();
void setItemLabel(ItemStack lableIcon);
String getLabel();
void setLabel(String label);
@Deprecated
UUID getPlacedBy();
@Nonnull
UserIdent getOwner();
void setPlacedBy(EntityPlayer player);
public void clearAuthorisedUsers();
public BlockCoord getLocation();
}