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 */ 017package net.tridentsdk.entity.traits; 018 019/** 020 * Represents various settings of pace of which the player can move at 021 * 022 * @author The TridentSDK Team 023 * @since 0.3-alpha-DP 024 */ 025public interface PlayerSpeed { 026 /** 027 * Returns the flying speed of the Player 028 * 029 * @return float flying speed of the Player 030 */ 031 float flyingSpeed(); 032 033 /** 034 * Set the flying speed of the Player 035 * 036 * @param flyingSpeed float flying speed of the Player 037 */ 038 void setFlyingSpeed(float flyingSpeed); 039 040 /** 041 * Returns the sneak speed of the player 042 * 043 * @return float the Player's current sneak speed 044 */ 045 float sneakSpeed(); 046 047 /** 048 * Sets the Player's sneak speed 049 * 050 * @param speed float Player's sneak speed 051 */ 052 void setSneakSpeed(float speed); 053 054 /** 055 * Returns the walk speed of the player 056 * 057 * @return float the Player's current walk speed 058 */ 059 float walkSpeed(); 060 061 /** 062 * Sets the Player's walk speed 063 * 064 * @param speed float Player's walk speed 065 */ 066 void setWalkSpeed(float speed); 067}