+ DispenseItemBehavior idispensebehavior = DispenserBlock.getDispenseBehavior(pointer, eventStack); // Paper - Fix NPE with equippable and items without behavior
if (idispensebehavior != DispenseItemBehavior.NOOP && idispensebehavior != this) {
+ DispenseItemBehavior idispensebehavior = DispenserBlock.getDispenseBehavior(sourceblock, eventStack); // Paper - Fix NPE with equippable and items without behavior
if (idispensebehavior != DispenseItemBehavior.NOOP && idispensebehavior.getClass() != DefaultDispenseItemBehavior.class) {
+ DispenseItemBehavior idispensebehavior = DispenserBlock.getDispenseBehavior(pointer, eventStack); // Paper - Fix NPE with equippable and items without behavior
if (idispensebehavior != DispenseItemBehavior.NOOP && idispensebehavior != this) {
idispensebehavior.dispense(pointer, eventStack);
return stack;
@@ -0,0 +0,0 @@ public interface DispenseItemBehavior {
+ DispenseItemBehavior idispensebehavior = DispenserBlock.getDispenseBehavior(pointer, eventStack); // Paper - Fix NPE with equippable and items without behavior
if (idispensebehavior != DispenseItemBehavior.NOOP && idispensebehavior != this) {
idispensebehavior.dispense(pointer, eventStack);
return stack;
@@ -0,0 +0,0 @@ public interface DispenseItemBehavior {
- if (idispensebehavior != DispenseItemBehavior.NOOP && idispensebehavior != EquipmentDispenseItemBehavior.INSTANCE) {
+ DispenseItemBehavior idispensebehavior = DispenserBlock.getDispenseBehavior(pointer, eventStack); // Paper - Fix NPE with equippable and items without behavior
- if (idispensebehavior != DispenseItemBehavior.NOOP && idispensebehavior != EquipmentDispenseItemBehavior.INSTANCE) {
+ DispenseItemBehavior idispensebehavior = DispenserBlock.getDispenseBehavior(pointer, eventStack); // Paper - Fix NPE with equippable and items without behavior
+ DispenseItemBehavior idispensebehavior = DispenserBlock.getDispenseBehavior(pointer, eventStack); // Paper - Fix NPE with equippable and items without behavior
if (idispensebehavior != DispenseItemBehavior.NOOP && idispensebehavior != this) {
idispensebehavior.dispense(pointer, eventStack);
return stack;
@@ -0,0 +0,0 @@ public interface DispenseItemBehavior {
+ DispenseItemBehavior idispensebehavior = DispenserBlock.getDispenseBehavior(pointer, eventStack); // Paper - Fix NPE with equippable and items without behavior
if (idispensebehavior != DispenseItemBehavior.NOOP && idispensebehavior != this) {
idispensebehavior.dispense(pointer, eventStack);
return stack;
@@ -0,0 +0,0 @@ public interface DispenseItemBehavior {
+ DispenseItemBehavior idispensebehavior = DispenserBlock.getDispenseBehavior(pointer, eventStack); // Paper - Fix NPE with equippable and items without behavior
if (idispensebehavior != DispenseItemBehavior.NOOP && idispensebehavior != this) {
idispensebehavior.dispense(pointer, eventStack);
return stack;
@@ -0,0 +0,0 @@ public interface DispenseItemBehavior {
+ DispenseItemBehavior idispensebehavior = DispenserBlock.getDispenseBehavior(pointer, eventStack); // Paper - Fix NPE with equippable and items without behavior
if (idispensebehavior != DispenseItemBehavior.NOOP && idispensebehavior != this) {
idispensebehavior.dispense(pointer, eventStack);
return stack;
@@ -0,0 +0,0 @@ public interface DispenseItemBehavior {
+ DispenseItemBehavior idispensebehavior = DispenserBlock.getDispenseBehavior(pointer, eventStack); // Paper - Fix NPE with equippable and items without behavior
if (idispensebehavior != DispenseItemBehavior.NOOP && idispensebehavior != this) {
idispensebehavior.dispense(pointer, eventStack);
return stack;
@@ -0,0 +0,0 @@ public interface DispenseItemBehavior {
+ DispenseItemBehavior idispensebehavior = DispenserBlock.getDispenseBehavior(pointer, eventStack); // Paper - Fix NPE with equippable and items without behavior
if (idispensebehavior != DispenseItemBehavior.NOOP && idispensebehavior != this) {
idispensebehavior.dispense(pointer, eventStack);
return stack;
@@ -0,0 +0,0 @@ public interface DispenseItemBehavior {
+ DispenseItemBehavior idispensebehavior = DispenserBlock.getDispenseBehavior(pointer, eventStack); // Paper - Fix NPE with equippable and items without behavior
if (idispensebehavior != DispenseItemBehavior.NOOP && idispensebehavior != this) {
idispensebehavior.dispense(pointer, eventStack);
return stack;
@@ -0,0 +0,0 @@ public interface DispenseItemBehavior {
+ DispenseItemBehavior idispensebehavior = DispenserBlock.getDispenseBehavior(pointer, eventStack); // Paper - Fix NPE with equippable and items without behavior
if (idispensebehavior != DispenseItemBehavior.NOOP && idispensebehavior != this) {
idispensebehavior.dispense(pointer, eventStack);
return stack;
@@ -0,0 +0,0 @@ public interface DispenseItemBehavior {
- if (idispensebehavior != DispenseItemBehavior.NOOP && idispensebehavior != EquipmentDispenseItemBehavior.INSTANCE) {
+ DispenseItemBehavior idispensebehavior = DispenserBlock.getDispenseBehavior(pointer, eventStack); // Paper - Fix NPE with equippable and items without behavior
- if (idispensebehavior != DispenseItemBehavior.NOOP && idispensebehavior != EquipmentDispenseItemBehavior.INSTANCE) {
+ DispenseItemBehavior idispensebehavior = DispenserBlock.getDispenseBehavior(pointer, eventStack); // Paper - Fix NPE with equippable and items without behavior
+ if (idispensebehavior != DispenseItemBehavior.NOOP && (currentBehavior == null || idispensebehavior != currentBehavior)) { // Paper - fix possible StackOverflowError
+ DispenseItemBehavior idispensebehavior = DispenserBlock.getDispenseBehavior(pointer, eventStack); // Paper - Fix NPE with equippable and items without behavior
if (idispensebehavior != DispenseItemBehavior.NOOP && idispensebehavior != this) {
+ DispenseItemBehavior idispensebehavior = DispenserBlock.getDispenseBehavior(pointer, eventStack); // Paper - Fix NPE with equippable and items without behavior
if (idispensebehavior != DispenseItemBehavior.NOOP && idispensebehavior != this) {
+ DispenseItemBehavior idispensebehavior = DispenserBlock.getDispenseBehavior(pointer, eventStack); // Paper - Fix NPE with equippable and items without behavior
if (idispensebehavior != DispenseItemBehavior.NOOP && idispensebehavior != this) {
+ DispenseItemBehavior idispensebehavior = DispenserBlock.getDispenseBehavior(pointer, eventStack); // Paper - Fix NPE with equippable and items without behavior
if (idispensebehavior != DispenseItemBehavior.NOOP && idispensebehavior != this) {
+ net.minecraft.core.dispenser.DispenseItemBehavior itemBehavior = net.minecraft.world.level.block.DispenserBlock.getDispenseBehavior(pointer, eventStack); // Paper - Fix NPE with equippable and items without behavior
if (itemBehavior != net.minecraft.core.dispenser.DispenseItemBehavior.NOOP && itemBehavior != instance) {