本文整理了Java中net.minecraft.inventory.Slot.onSlotChanged()
方法的一些代码示例,展示了Slot.onSlotChanged()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Slot.onSlotChanged()
方法的具体详情如下:
包路径:net.minecraft.inventory.Slot
类名称:Slot
方法名:onSlotChanged
暂无
代码示例来源:origin: Vazkii/Botania
@Nonnull
@Override
public ItemStack transferStackInSlot(EntityPlayer player, int slotIndex) {
ItemStack itemstack = ItemStack.EMPTY;
Slot slot = inventorySlots.get(slotIndex);
if(slot != null && slot.getHasStack()) {
ItemStack itemstack1 = slot.getStack();
itemstack = itemstack1.copy();
if(slotIndex < 16) {
if(!mergeItemStack(itemstack1, 16, 52, true))
return ItemStack.EMPTY;
} else {
int i = itemstack.getItemDamage();
if(i < 16) {
Slot slot1 = inventorySlots.get(i);
if(slot1.isItemValid(itemstack) && !mergeItemStack(itemstack1, i, i + 1, true))
return ItemStack.EMPTY;
}
}
if(itemstack1.isEmpty())
slot.putStack(ItemStack.EMPTY);
else slot.onSlotChanged();
if(itemstack1.getCount() == itemstack.getCount())
return ItemStack.EMPTY;
slot.onTake(player, itemstack1);
}
return itemstack;
}
代码示例来源:origin: P3pp3rF1y/AncientWarfare2
@Override
public void onSlotChanged() {
super.onSlotChanged();
if (!isOpening) {
updateRecipes();
updateSelectedRecipe();
}
}
};
代码示例来源:origin: Vazkii/Botania
@Nonnull
@Override
public ItemStack transferStackInSlot(EntityPlayer player, int slotIndex) {
ItemStack itemstack = ItemStack.EMPTY;
Slot slot = inventorySlots.get(slotIndex);
if(slot != null && slot.getHasStack()) {
ItemStack itemstack1 = slot.getStack();
itemstack = itemstack1.copy();
int boxStart = 7;
int boxEnd = boxStart + 24;
int invEnd = boxEnd + 36;
if(slotIndex < boxEnd) {
if(!mergeItemStack(itemstack1, boxEnd, invEnd, true))
return ItemStack.EMPTY;
} else {
if(!itemstack1.isEmpty() && (itemstack1.getItem() instanceof IBauble || itemstack1.getItem() instanceof IManaItem) && !mergeItemStack(itemstack1, boxStart, boxEnd, false))
return ItemStack.EMPTY;
}
if(itemstack1.isEmpty())
slot.putStack(ItemStack.EMPTY);
else slot.onSlotChanged();
if(itemstack1.getCount() == itemstack.getCount())
return ItemStack.EMPTY;
slot.onTake(player, itemstack1);
}
return itemstack;
}
代码示例来源:origin: Esteemed-Innovation/Esteemed-Innovation
@Override
public void onSlotChanged() {
ContainerSteamAnvil.this.onCraftMatrixChanged(hammer);
super.onSlotChanged();
}
});
代码示例来源:origin: Esteemed-Innovation/Esteemed-Innovation
@Override
public void onSlotChanged() {
ContainerSteamAnvil.this.onCraftMatrixChanged(hammer);
super.onSlotChanged();
}
});
代码示例来源:origin: SonarSonic/Calculator
@Override
public void onSlotChanged() {
super.onSlotChanged();
locator.createOwner();
}
}
代码示例来源:origin: WayofTime/BloodMagic
@Override
public void onSlotChanged() {
super.onSlotChanged();
container.resetItemInventory(getStack());
for (int i = 1; i <= 9; i++) {
Slot slot = container.getSlot(i);
slot.onSlotChanged();
}
}
代码示例来源:origin: OpenMods/OpenModsLib
@Override
public void onSlotChanged() {
super.onSlotChanged();
// hackish, but required
if (inventory instanceof GenericInventory) ((GenericInventory)inventory).onInventoryChanged(getSlotIndex());
}
}
代码示例来源:origin: AppliedEnergistics/Applied-Energistics-2
d.onSlotChanged();
d.onSlotChanged();
d.onSlotChanged();
代码示例来源:origin: Chisel-Team/Chisel
@Override
public void onSlotChanged() {
super.onSlotChanged();
container.onChiselSlotChanged();
container.getInventoryChisel().updateItems();
}
}
代码示例来源:origin: WayofTime/BloodMagic
@Override
public void onSlotChanged() {
super.onSlotChanged();
if (FMLCommonHandler.instance().getEffectiveSide().isServer()) {
containerHolding.saveInventory(player);
}
}
代码示例来源:origin: PrinceOfAmber/Cyclic
@Override
public void onSlotChanged() {
if (this.getHasStack() && this.getStack().getCount() == 0) {
this.putStack((ItemStack) null);
}
super.onSlotChanged();
}
}
代码示例来源:origin: vadis365/TheErebus
@Override
public ItemStack transferStackInSlot(EntityPlayer player, int par2) {
ItemStack is = ItemStack.EMPTY;
Slot slot = (Slot) inventorySlots.get(par2);
if (slot != null && slot.getHasStack()) {
ItemStack is1 = slot.getStack();
is = is1.copy();
if (par2 < 72) {
if (!mergeItemStack(is1, 72, inventorySlots.size(), true))
return ItemStack.EMPTY;
} else if (!mergeItemStack(is1, 0, 72, false))
return ItemStack.EMPTY;
if (is1.getCount() == 0)
slot.putStack(ItemStack.EMPTY);
else
slot.onSlotChanged();
}
return is;
}
代码示例来源:origin: ForestryMC/Binnie
private ItemStack shiftClick(final EntityPlayer player, final int slotnumber) {
final TransferRequest request = this.getShiftClickRequest(player, slotnumber);
TransferResult transferResult = request.transfer(player, true);
if (transferResult.isSuccess()) {
NonNullList<ItemStack> results = transferResult.getRemaining();
if (results.size() == 1) {
final ItemStack itemstack = results.get(0);
final Slot shiftClickedSlot = this.inventorySlots.get(slotnumber);
shiftClickedSlot.putStack(itemstack);
shiftClickedSlot.onSlotChanged();
}
}
return ItemStack.EMPTY;
}
代码示例来源:origin: SonarSonic/Calculator
@Override
public void onSlotChanged() {
super.onSlotChanged();
if (player != null) {
/*
int[] unblocked = entity.unblockedList();
if (entity.isBlocked(entity.lastResearch) && entity.lastResearch != 0) {
if (CalculatorRecipes.recipes().discovery(unblocked, entity.lastResearch)) {
FontHelper.sendMessage(FontHelper.translate("research.recipeNew"), entity.getWorld(), player);
}
}
*/
entity.markBlockForUpdate();
entity.getWorld().addBlockEvent(entity.getPos(), entity.getBlockType(), 1, 0);
}
}
代码示例来源:origin: CoFH/ThermalDynamics
@Override
public ItemStack slotClick(int slotId, int mouseButton, ClickType modifier, EntityPlayer player) {
Slot slot = slotId < 0 ? null : this.inventorySlots.get(slotId);
if (slot instanceof SlotFalseCopy) {
if (mouseButton == 2) {
slot.putStack(ItemStack.EMPTY);
slot.onSlotChanged();
} else {
slot.putStack(player.inventory.getItemStack().isEmpty() ? ItemStack.EMPTY : player.inventory.getItemStack().copy());
}
return player.inventory.getItemStack();
}
return super.slotClick(slotId, mouseButton, modifier, player);
}
代码示例来源:origin: P3pp3rF1y/AncientWarfare2
@Override
public ItemStack transferStackInSlot(EntityPlayer par1EntityPlayer, int slotClickedIndex) {
@Nonnull ItemStack slotStackCopy = ItemStack.EMPTY;
Slot theSlot = this.getSlot(slotClickedIndex);
if (theSlot != null && theSlot.getHasStack()) {
@Nonnull ItemStack slotStack = theSlot.getStack();
slotStackCopy = slotStack.copy();
if (slotStack.getCount() == 0) {
theSlot.putStack(ItemStack.EMPTY);
} else {
theSlot.onSlotChanged();
}
if (slotStack.getCount() == slotStackCopy.getCount()) {
return ItemStack.EMPTY;
}
theSlot.onTake(par1EntityPlayer, slotStack);
}
return slotStackCopy;
}
代码示例来源:origin: P3pp3rF1y/AncientWarfare2
@Override
public ItemStack transferStackInSlot(EntityPlayer par1EntityPlayer, int slotClickedIndex) {
Slot slot = this.getSlot(slotClickedIndex);
if (slot == null || !slot.getHasStack()) {
return ItemStack.EMPTY;
}
@Nonnull ItemStack stackFromSlot = slot.getStack();
if (slotClickedIndex < tileEntitySlots) {
this.mergeItemStack(stackFromSlot, tileEntitySlots, tileEntitySlots + playerSlots, false);
} else {
this.mergeItemStack(stackFromSlot, 0, tileEntitySlots, true);
}
if (stackFromSlot.getCount() == 0) {
slot.putStack(ItemStack.EMPTY);
} else {
slot.onSlotChanged();
}
return ItemStack.EMPTY;
}
代码示例来源:origin: ForestryMC/ForestryMC
private static boolean shiftItemStackToRangeOpenSlots(List<Slot> inventorySlots, ItemStack stackToShift, int start, int count) {
if (stackToShift.isEmpty()) {
return false;
}
boolean changed = false;
for (int slotIndex = start; !stackToShift.isEmpty() && slotIndex < start + count; slotIndex++) {
Slot slot = inventorySlots.get(slotIndex);
ItemStack stackInSlot = slot.getStack();
if (stackInSlot.isEmpty()) {
int max = Math.min(stackToShift.getMaxStackSize(), slot.getSlotStackLimit());
stackInSlot = stackToShift.copy();
stackInSlot.setCount(Math.min(stackToShift.getCount(), max));
stackToShift.shrink(stackInSlot.getCount());
slot.putStack(stackInSlot);
slot.onSlotChanged();
changed = true;
}
}
return changed;
}
代码示例来源:origin: SleepyTrousers/EnderIO
public boolean executeMoveItems(int fromSlot, int toSlotStart, int toSlotEnd, int amount) {
if ((fromSlot >= toSlotStart && fromSlot < toSlotEnd) || toSlotEnd <= toSlotStart || amount <= 0) {
return false;
}
Slot srcSlot = getSlot(fromSlot);
ItemStack src = srcSlot.getStack();
if (!src.isEmpty()) {
ItemStack toMove = src.copy();
toMove.setCount(Math.min(src.getCount(), amount));
int remaining = src.getCount() - toMove.getCount();
if (mergeItemStack(toMove, toSlotStart, toSlotEnd, false)) {
remaining += toMove.getCount();
if (remaining == 0) {
srcSlot.putStack(ItemStack.EMPTY);
} else {
src.setCount(remaining);
srcSlot.onSlotChanged();
}
return true;
}
}
return false;
}
内容来源于网络,如有侵权,请联系作者删除!