Package entities

Source Code of entities.Player

package entities;

import exceptions.UnrecoverableException;

import datatypes.Coordinate;
import datatypes.MCItemSlot;

public class Player extends Entity {
 
  private String name;
 
  private Coordinate spawnpoint;
  @SuppressWarnings("unused")
  private double stance = 0;
  @SuppressWarnings("unused")
  private boolean onground = true;
 
 
  /**
   * The item-slot the user currently has selected,
   * this is visible by other clients.
   * Value in the range (0, 9)
   * Its default is 0 (when the user connects).
   */
  private int currentSlot = 0;
 
 
  /**
   * Holding the possible user armors.
   * null if no item is placed.
   * (1=helmet, 2=chest, 3=legs, 4=feet)
   */
  @SuppressWarnings("unused")
  private MCItemSlot[] armor = new MCItemSlot[4];
 
  /**
   * Holder for the players current inventory.
   * (the way I see it: their bag).
   * 3 rows of 9 items, counting from top left
   * to bottom right in lines.
   */
  @SuppressWarnings("unused")
  private MCItemSlot[] inventory = new MCItemSlot[27];
 
 
  /**
   * Holder for the users 9 held items.
   * null means: empty.
   */
  private MCItemSlot[] helditems = new MCItemSlot[9];
 
 
 
  /**
   * Create a new player. Each player has a unique EID.
   * Also a username is required.
   * @param eid
   * @param name
   */
  public Player(int eid, String name) {
    super(eid);
    this.name = name;
   
    this.spawnpoint = new Coordinate(0, 100, 0);
  }
 
  /**
   * Returns the player name
   * @return
   */
  public String getName() {
    return this.name;
  }
 

  public void setOnGround(boolean onground) {
    this.onground = onground;
  }
 

  public void setStance(double stance) {
    this.stance = stance;
  }
 
  /**
   * The current players spawnpoint.
   * @return
   */
  public Coordinate spawnpoint() {
    return spawnpoint;
  }
 
 
  /**
   * Should be called when the user selects another main slot (1-9).
   * Calling this function will update all other clients with this
   * information.
   *
   * @param slotid
   * @throws UnrecoverableException
   * @throws MC
   */
  public void setSelectedSlot(short slotid) throws UnrecoverableException {
    if(slotid < 0 || slotid > 9) {
      throw new UnrecoverableException("Invalid slotid");
    }
    this.currentSlot = slotid;
    this.updateMe(EntityEvent.SELECTEDITEMCHANGED);
  }
 
  /**
   * Returns the index of the slot the user currently has selected.
   * @return
   */
  public short getSelectedSlot() {
    return (short) this.currentSlot;
  }
 
 
 
  /**
   * Sets the item for a given user slot (0-9).
   * @param slotid
   * @param slot
   * @throws UnrecoverableException
   */
  public void setSlotItem(short slotid, MCItemSlot slot) throws UnrecoverableException {
    if(slotid < 0 || slotid > 9) {
      throw new UnrecoverableException("Invalid slotId");
    }
    this.helditems[slotid] = slot;
    this.updateMe(EntityEvent.SELECTEDITEMCHANGED);
  }
 
 
  /**
   * Returns the players slotitem for the requested slot.
   * @param slotid
   * @return
   * @throws UnrecoverableException
   */
  public MCItemSlot getHeldItemAtSlot(short slotid) throws UnrecoverableException {
    if(slotid < 0 || slotid > 9) {
      throw new UnrecoverableException("Invalid slotId");
    }
    return this.helditems[slotid];
  }

}
TOP

Related Classes of entities.Player

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.