1
mirror of https://github.com/StarWishsama/Slimefun4.git synced 2024-09-20 03:35:51 +00:00

Caching getInventory

This commit is contained in:
Pawel Lesiak 2021-06-27 15:25:19 +02:00
parent 05c11a633a
commit 6a09b29764
4 changed files with 16 additions and 12 deletions

View File

@ -91,12 +91,13 @@ public class ArmorForge extends AbstractCraftingTable {
if (current < 3) {
p.getWorld().playSound(p.getLocation(), Sound.BLOCK_ANVIL_USE, 1F, 2F);
} else {
Inventory outputInv2 = findOutputInventory(output, dispenser.getBlock(), dispenser.getInventory());
Inventory dispInv = dispenser.getInventory();
Inventory outputInv2 = findOutputInventory(output, dispenser.getBlock(), dispInv);
p.getWorld().playSound(p.getLocation(), Sound.ENTITY_ARROW_HIT_PLAYER, 1F, 1F);
if (outputInv2 != null) {
outputInv2.addItem(output);
} else if (InvUtils.fits(dispenser.getInventory(), output)) {
dispenser.getInventory().addItem(output);
} else if (InvUtils.fits(dispInv, output)) {
dispInv.addItem(output);
} else {
// fallback
dispenser.getWorld().dropItemNaturally(dispenser.getLocation(), output);

View File

@ -96,12 +96,13 @@ public class Compressor extends MultiBlockMachine {
if (j < 3) {
p.getWorld().playSound(p.getLocation(), j == 1 ? Sound.BLOCK_PISTON_CONTRACT : Sound.BLOCK_PISTON_EXTEND, 1F, j == 0 ? 1F : 2F);
} else {
Inventory outputInv = findOutputInventory(output, dispenser.getBlock(), dispenser.getInventory());
Inventory dispInv = dispenser.getInventory();
Inventory outputInv = findOutputInventory(output, dispenser.getBlock(), dispInv);
p.getWorld().playSound(p.getLocation(), Sound.ENTITY_ARROW_HIT_PLAYER, 1F, 1F);
if (outputInv != null) {
outputInv.addItem(output);
} else if (InvUtils.fits(dispenser.getInventory(), output)) {
dispenser.getInventory().addItem(output);
} else if (InvUtils.fits(dispInv, output)) {
dispInv.addItem(output);
} else {
// fallback
dispenser.getWorld().dropItemNaturally(dispenser.getLocation(), output);

View File

@ -106,12 +106,13 @@ public class MagicWorkbench extends AbstractCraftingTable {
if (current < 3) {
p.getWorld().playSound(b.getLocation(), Sound.BLOCK_WOODEN_BUTTON_CLICK_ON, 1F, 1F);
} else {
Inventory outputInv = findOutputInventory(output, dispenser.getBlock(), dispenser.getInventory());
Inventory dispInv = dispenser.getInventory();
Inventory outputInv = findOutputInventory(output, dispenser.getBlock(), dispInv);
p.getWorld().playSound(p.getLocation(), Sound.ENTITY_ARROW_HIT_PLAYER, 1F, 1F);
if (outputInv != null) {
outputInv.addItem(output);
} else if (InvUtils.fits(dispenser.getInventory(), output)) {
dispenser.getInventory().addItem(output);
} else if (InvUtils.fits(dispInv, output)) {
dispInv.addItem(output);
} else {
// fallback
dispenser.getWorld().dropItemNaturally(dispenser.getLocation(), output);

View File

@ -85,12 +85,13 @@ public class PressureChamber extends MultiBlockMachine {
if (j < 3) {
p.getWorld().playSound(b.getLocation(), Sound.ENTITY_TNT_PRIMED, 1F, 1F);
} else {
Inventory outputInv = findOutputInventory(output, dispenser.getBlock(), dispenser.getInventory());
Inventory dispInv = dispenser.getInventory();
Inventory outputInv = findOutputInventory(output, dispenser.getBlock(), dispInv);
p.getWorld().playSound(p.getLocation(), Sound.ENTITY_ARROW_HIT_PLAYER, 1F, 1F);
if (outputInv != null) {
outputInv.addItem(output);
} else if (InvUtils.fits(dispenser.getInventory(), output)) {
dispenser.getInventory().addItem(output);
} else if (InvUtils.fits(dispInv, output)) {
dispInv.addItem(output);
} else {
// fallback
dispenser.getWorld().dropItemNaturally(dispenser.getLocation(), output);