mirror of
https://github.com/Rogiel/l2jserver2
synced 2025-12-08 08:23:11 +00:00
@@ -2,25 +2,46 @@ package com.l2jserver.model.world;
|
||||
|
||||
import com.l2jserver.model.id.object.CharacterID;
|
||||
import com.l2jserver.model.id.template.ItemTemplateID;
|
||||
import com.l2jserver.model.world.capability.Dropable;
|
||||
import com.l2jserver.model.world.capability.Listenable;
|
||||
import com.l2jserver.model.world.capability.Playable;
|
||||
import com.l2jserver.model.world.capability.Spawnable;
|
||||
import com.l2jserver.model.world.character.CharacterInventory.InventoryLocation;
|
||||
import com.l2jserver.model.world.character.CharacterInventory.InventoryPaperdoll;
|
||||
import com.l2jserver.model.world.item.ItemEvent;
|
||||
import com.l2jserver.model.world.item.ItemListener;
|
||||
import com.l2jserver.util.Coordinate;
|
||||
|
||||
public class Item extends AbstractObject implements Playable, Spawnable,
|
||||
Listenable<ItemListener, ItemEvent> {
|
||||
Listenable<ItemListener, ItemEvent>, Dropable {
|
||||
private final ItemTemplateID templateID;
|
||||
private CharacterID ownerID;
|
||||
|
||||
/**
|
||||
* Inventory location of this item
|
||||
*/
|
||||
private InventoryLocation location;
|
||||
/**
|
||||
* Paperdoll slot for this item
|
||||
*/
|
||||
private InventoryPaperdoll paperdoll;
|
||||
/**
|
||||
* Drop coordinate of this item
|
||||
*/
|
||||
private Coordinate coordinate;
|
||||
|
||||
public Item(ItemTemplateID templateID) {
|
||||
this.templateID = templateID;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void spawn(Coordinate coordinate) {
|
||||
public void drop(Coordinate position) {
|
||||
this.coordinate = position;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void spawn(Coordinate coordinate) {
|
||||
this.drop(coordinate);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -31,13 +52,44 @@ public class Item extends AbstractObject implements Playable, Spawnable,
|
||||
|
||||
@Override
|
||||
public Coordinate getPosition() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
return coordinate;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPosition(Coordinate coord) {
|
||||
this.coordinate = coord;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the location
|
||||
*/
|
||||
public InventoryLocation getLocation() {
|
||||
return location;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param location
|
||||
* the location to set
|
||||
*/
|
||||
public void setLocation(InventoryLocation location) {
|
||||
this.location = location;
|
||||
if (location != InventoryLocation.PAPERDOLL)
|
||||
this.paperdoll = null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the paperdoll
|
||||
*/
|
||||
public InventoryPaperdoll getPaperdoll() {
|
||||
return paperdoll;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param paperdoll
|
||||
* the paperdoll to set
|
||||
*/
|
||||
public void setPaperdoll(InventoryPaperdoll paperdoll) {
|
||||
this.paperdoll = paperdoll;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -20,6 +20,13 @@ public class CharacterInventory implements Iterable<Item> {
|
||||
this.character = character;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method will add new items to the inventory. This is normally called
|
||||
* from the DAO object.
|
||||
*
|
||||
* @param items
|
||||
* the items to be added
|
||||
*/
|
||||
public void load(List<Item> items) {
|
||||
items.addAll(items);
|
||||
}
|
||||
@@ -35,4 +42,12 @@ public class CharacterInventory implements Iterable<Item> {
|
||||
public Iterator<Item> iterator() {
|
||||
return items.iterator();
|
||||
}
|
||||
|
||||
public enum InventoryLocation {
|
||||
PAPERDOLL, INVENTORY;
|
||||
}
|
||||
|
||||
public enum InventoryPaperdoll {
|
||||
UNDERWEAR, HEAD, HAIR1, HAIR2, NECK, RIGHT_HAND, LEFT_HAND, RIGHT_EAR, LEFT_EAR, GLOVES, LEGS, LEFT_FEET, RIGHT_FEET, RIGHT_FINGER, LEFT_FINGER, LEFT_BRACELET, RIGHT_BRACELET, DECORATION_1, DECOREATION_2, DECORATION_3, DECORATION_4, DECORATION_5, DECORATION_6, CLOAK, BELT;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user