001/* 002 * Trident - A Multithreaded Server Alternative 003 * Copyright 2014 The TridentSDK Team 004 * 005 * Licensed under the Apache License, Version 2.0 (the "License"); 006 * you may not use this file except in compliance with the License. 007 * You may obtain a copy of the License at 008 * 009 * http://www.apache.org/licenses/LICENSE-2.0 010 * 011 * Unless required by applicable law or agreed to in writing, software 012 * distributed under the License is distributed on an "AS IS" BASIS, 013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 014 * See the License for the specific language governing permissions and 015 * limitations under the License. 016 */ 017 018package net.tridentsdk.entity.living; 019 020import net.tridentsdk.entity.types.HorseType; 021import net.tridentsdk.entity.types.HorseVariant; 022import net.tridentsdk.entity.traits.WindowHolder; 023import net.tridentsdk.entity.traits.Peaceful; 024import net.tridentsdk.entity.traits.Saddleable; 025import net.tridentsdk.entity.traits.Tameable; 026 027/** 028 * Represents a Horse 029 * 030 * @author TridentSDK Team 031 */ 032public interface Horse extends Tameable, Saddleable, WindowHolder, Peaceful { 033 /** 034 * What breed of horse this is 035 * 036 * @return the HorseType that represents this breed 037 */ 038 HorseType breed(); 039 040 /** 041 * Whether or not this horse is grazing 042 * 043 * @return if this horse is grazing or not 044 */ 045 boolean isGrazing(); 046 047 /** 048 * The temper of this horse, higher temper dictates that the horse is easier to tame 049 * 050 * @return the temper of this horse. Range of 0-100 051 */ 052 int temper(); 053 054 /** 055 * Whether or not this horse has a chest 056 * 057 * @return false if this horse's breed is not a donkey or mule, or this horse has no chest 058 */ 059 boolean hasChest(); 060 061 /** 062 * The variant of this horse, will return an invalid variant if this horse is not of a HORSE breed 063 * 064 * @return the variant of this horse 065 */ 066 HorseVariant variant(); 067}