Package de.kumpelblase2.remoteentities.api.features

Source Code of de.kumpelblase2.remoteentities.api.features.RemoteInventoryFeature

package de.kumpelblase2.remoteentities.api.features;

import org.bukkit.craftbukkit.v1_7_R1.inventory.CraftInventoryCustom;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryHolder;
import de.kumpelblase2.remoteentities.api.RemoteEntity;
import de.kumpelblase2.remoteentities.persistence.*;
import de.kumpelblase2.remoteentities.utilities.ReflectionUtil;

@IgnoreSerialization
public class RemoteInventoryFeature extends RemoteFeature implements InventoryFeature
{
  @SerializeAs(pos = 1)
  private CraftInventoryCustom m_inventory;
  protected int m_size;

  public RemoteInventoryFeature()
  {
    this(36);
  }

  public RemoteInventoryFeature(int inSize)
  {
    this((CraftInventoryCustom)null);
    this.m_size = inSize;
  }

  public RemoteInventoryFeature(CraftInventoryCustom inInventory)
  {
    super("INVENTORY");
    this.m_inventory = inInventory;
  }

  @Deprecated
  public RemoteInventoryFeature(RemoteEntity inEntity)
  {
    this(inEntity, 36);
  }

  @Deprecated
  public RemoteInventoryFeature(RemoteEntity inEntity, int inSize)
  {
    this(inEntity, null);
    this.m_size = inSize;
  }

  @Deprecated
  public RemoteInventoryFeature(RemoteEntity inEntity, CraftInventoryCustom inInventory)
  {
    super("INVENTORY", inEntity);
    this.m_inventory = inInventory;
  }

  @Override
  public Inventory getInventory()
  {
    return this.m_inventory;
  }

  public void onAdd(RemoteEntity inEntity)
  {
    super.onAdd(inEntity);
    this.m_inventory = new CraftInventoryCustom((InventoryHolder)this.m_entity.getHandle(), this.m_size);
  }

  @Override
  public ParameterData[] getSerializableData()
  {
    return ReflectionUtil.getParameterDataForClass(this).toArray(new ParameterData[0]);
  }
}
TOP

Related Classes of de.kumpelblase2.remoteentities.api.features.RemoteInventoryFeature

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.