本文整理汇总了Java中org.spongepowered.api.item.inventory.entity.Hotbar类的典型用法代码示例。如果您正苦于以下问题:Java Hotbar类的具体用法?Java Hotbar怎么用?Java Hotbar使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Hotbar类属于org.spongepowered.api.item.inventory.entity包,在下文中一共展示了Hotbar类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: onItemDrop
import org.spongepowered.api.item.inventory.entity.Hotbar; //导入依赖的package包/类
@Listener
public void onItemDrop(DropItemEvent event, @Root Entity entity) {
if (entity.getType() != EntityTypes.PLAYER)
return;
IActiveCharacter character = characterService.getCharacter(entity.getUniqueId());
if (character.isStub())
return;
if (character.hasOpenInventory()) {
return;
}
Hotbar hotbar = character.getPlayer().getInventory().query(Hotbar.class);
HotbarObject hotbarObject = character.getHotbar()[hotbar.getSelectedSlotIndex()];
if (hotbarObject == HotbarObject.EMPTYHAND_OR_CONSUMABLE) {
return;
}
inventoryService.initializeHotbar(character, hotbar.getSelectedSlotIndex());
}
示例2: giveItem
import org.spongepowered.api.item.inventory.entity.Hotbar; //导入依赖的package包/类
/**
* Ajouter un item dans l'inventaire du joueur
* @param itemstack L'itemstack
*/
public Optional<ItemStack> giveItem(final ItemStack itemstack) {
InventoryTransactionResult transaction = this.getInventory().query(Hotbar.class).offer(itemstack);
if (!transaction.getRejectedItems().isEmpty()) {
transaction = this.getInventory().query(GridInventory.class).offer(transaction.getRejectedItems().iterator().next().createStack());
if (!transaction.getRejectedItems().isEmpty()) {
return Optional.of(transaction.getRejectedItems().iterator().next().createStack());
}
}
return Optional.empty();
}
示例3: commandRepairHotBar
import org.spongepowered.api.item.inventory.entity.Hotbar; //导入依赖的package包/类
private CompletableFuture<Boolean> commandRepairHotBar(final EPlayer player) {
UtilsInventory.repair(player.getInventory().query(Hotbar.class));
UtilsInventory.repair(player.getInventory().query(Slot.class));
EEMessages.REPAIR_HOTBAR_PLAYER.sendTo(player);
return CompletableFuture.completedFuture(true);
}
示例4: commandRepairAll
import org.spongepowered.api.item.inventory.entity.Hotbar; //导入依赖的package包/类
private CompletableFuture<Boolean> commandRepairAll(final EPlayer player) {
UtilsInventory.repair(player.getInventory().query(Hotbar.class));
UtilsInventory.repair(player.getInventory().query(GridInventory.class));
UtilsInventory.repair(player.getInventory().query(EquipmentInventory.class));
UtilsInventory.repair(player.getInventory().query(Slot.class));
EEMessages.REPAIR_ALL_PLAYER.sendTo(player);
return CompletableFuture.completedFuture(true);
}
示例5: initializeHotbar
import org.spongepowered.api.item.inventory.entity.Hotbar; //导入依赖的package包/类
public void initializeHotbar(IActiveCharacter character) {
if (character.isStub())
return;
Hotbar hotbar = character.getPlayer().getInventory().query(Hotbar.class);
int slot = 0;
for (Inventory inventory : hotbar) {
initializeHotbar(character, slot, null, (Slot) inventory, hotbar);
slot++;
}
}
示例6: changeEquipedWeapon
import org.spongepowered.api.item.inventory.entity.Hotbar; //导入依赖的package包/类
protected void changeEquipedWeapon(IActiveCharacter character, Weapon changeTo) {
unEquipWeapon(character);
int slot = ((Hotbar) character.getPlayer().getInventory().query(Hotbar.class)).getSelectedSlotIndex();
character.setHotbarSlot(slot, changeTo);
changeTo.current = true;
changeTo.setSlot(slot);
character.setMainHand(changeTo);
changeTo.onEquip(character);
damageService.recalculateCharacterWeaponDamage(character, changeTo.getItemType());
}
示例7: startSocketing
import org.spongepowered.api.item.inventory.entity.Hotbar; //导入依赖的package包/类
public void startSocketing(IActiveCharacter character) {
Optional<ItemStack> itemInHand = character.getPlayer().getItemInHand(HandTypes.MAIN_HAND);
if (itemInHand.isPresent()) {
Hotbar h = character.getPlayer().getInventory().query(Hotbar.class);
int selectedSlotIndex = h.getSelectedSlotIndex();
HotbarObject o = character.getHotbar()[selectedSlotIndex];
if (o.getHotbarObjectType() == HotbarObjectTypes.RUNE) {
character.setCurrentRune(selectedSlotIndex);
Gui.sendMessage(character, Localization.SOCKET_HELP);
}
}
}
示例8: onAttack
import org.spongepowered.api.item.inventory.entity.Hotbar; //导入依赖的package包/类
@Listener(order = Order.BEFORE_POST)
public void onAttack(InteractEntityEvent.Primary event) {
if (event.isCancelled())
return;
if (!Utils.isLivingEntity(event.getTargetEntity()))
return;
Optional<Player> first = event.getCause().first(Player.class);
IActiveCharacter character = null;
if (first.isPresent()) {
character = characterService.getCharacter(first.get().getUniqueId());
if (character.isStub())
return;
Hotbar query = first.get().getInventory().query(Hotbar.class);
inventoryService.onLeftClick(character, query.getSelectedSlotIndex());
}
IEntity entity = entityService.get(event.getTargetEntity());
if (entity.getType() == IEntityType.CHARACTER) {
IActiveCharacter target = characterService.getCharacter(event.getTargetEntity().getUniqueId());
if (target.isStub() && !PluginConfig.ALLOW_COMBAT_FOR_CHARACTERLESS_PLAYERS) {
event.setCancelled(true);
return;
}
if (first.isPresent()) {
if (character.getParty() == target.getParty() && !character.getParty().isFriendlyfire()) {
event.setCancelled(true);
}
}
}
}
示例9: onBlockClick
import org.spongepowered.api.item.inventory.entity.Hotbar; //导入依赖的package包/类
@Listener
public void onBlockClick(InteractBlockEvent.Primary event) {
Optional<Player> first = event.getCause().first(Player.class);
if (first.isPresent()) {
Player pl = first.get();
IActiveCharacter character = characterService.getCharacter(pl.getUniqueId());
if (character.isStub())
return;
Hotbar h = pl.getInventory().query(Hotbar.class);
inventoryService.onLeftClick(character, h.getSelectedSlotIndex());
}
}
示例10: onBlockRightClick
import org.spongepowered.api.item.inventory.entity.Hotbar; //导入依赖的package包/类
@Listener
public void onBlockRightClick(InteractBlockEvent.Secondary event, @First(typeFilter = Player.class) Player pl) {
IActiveCharacter character = characterService.getCharacter(pl.getUniqueId());
Optional<ItemStack> itemInHand = pl.getItemInHand(HandTypes.MAIN_HAND);
if (itemInHand.isPresent() && ItemStackUtils.any_armor.contains(itemInHand.get().getItem())) {
event.setCancelled(true); //restrict armor equip on rightclick
return;
}
if (character.isStub())
return;
Hotbar h = pl.getInventory().query(Hotbar.class);
inventoryService.onRightClick(character, h.getSelectedSlotIndex());
}
示例11: applyFromPlayer
import org.spongepowered.api.item.inventory.entity.Hotbar; //导入依赖的package包/类
public void applyFromPlayer(Player player)
{
Inventory playerInventory = player.getInventory();
this.heldItemSlot = ((Hotbar)playerInventory.query(QueryOperationTypes.INVENTORY_TYPE.of(Hotbar.class))).getSelectedSlotIndex();
this.maxHealth = player.get(Keys.MAX_HEALTH).get();
this.health = player.get(Keys.HEALTH).get();
this.foodLevel = player.get(Keys.FOOD_LEVEL).get();
this.saturation = player.get(Keys.SATURATION).get();
this.exhaustion = player.get(Keys.EXHAUSTION).get();
this.exp = player.get(Keys.TOTAL_EXPERIENCE).get();
this.fireTicks = player.get(Keys.FIRE_TICKS).orElse(0);
this.activePotionEffects = player.get(Keys.POTION_EFFECTS).orElse(emptyList());
this.inventory = new HashMap<>();
int i = 0;
for (Inventory slot : playerInventory.slots())
{
Optional<ItemStack> item = slot.peek();
if (item.isPresent())
{
this.inventory.put(i, item.get());
}
i++;
}
this.enderChest = new HashMap<>();
/* TODO EnderChest
i = 0;
for (Inventory slot : player.getEnderChest().slots())
{
Optional<ItemStack> item = slot.peek();
if (item.isPresent())
{
this.enderChest.put(i, item.get());
}
i++;
}
*/
this.gameMode = player.get(Keys.GAME_MODE).get();
}
示例12: getItemInHand
import org.spongepowered.api.item.inventory.entity.Hotbar; //导入依赖的package包/类
@Override
public ItemStack getItemInHand() {
Hotbar hotbar = this.getHandle().getHotbar();
Optional<Slot> slot = hotbar.getSlot(new SlotIndex(hotbar.getSelectedSlotIndex()));
if (slot.isPresent()) {
Optional<org.spongepowered.api.item.inventory.ItemStack> stack = slot.get().peek();
if (stack.isPresent()) {
return ItemStackConverter.of(stack.get());
}
}
return null;
}
示例13: setItemInHand
import org.spongepowered.api.item.inventory.entity.Hotbar; //导入依赖的package包/类
@Override
public void setItemInHand(ItemStack stack) {
Hotbar hotbar = this.getHandle().getHotbar();
Optional<Slot> slot = hotbar.getSlot(new SlotIndex(hotbar.getSelectedSlotIndex()));
if (slot.isPresent()) {
slot.get().set(ItemStackConverter.of(stack));
}
}
示例14: getHotbar
import org.spongepowered.api.item.inventory.entity.Hotbar; //导入依赖的package包/类
private static Hotbar getHotbar(Player player) {
return ((PlayerInventory) player.getInventory()).getHotbar();
}
示例15: updateSelectedHotbarSlot
import org.spongepowered.api.item.inventory.entity.Hotbar; //导入依赖的package包/类
@Override
public void updateSelectedHotbarSlot() {
Hotbar hotbar = getPlayer().getInventory().query(Hotbar.class);
selected = hotbar.getSelectedSlotIndex();
}