use of adudecalledleo.dontdropit.config.DropBehaviorOverride in project DontDropIt by ModsByLeo.
the class HandledScreenMixin_InterceptMouse method oobClickDropOverride.
@Redirect(method = "mouseReleased", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screen/ingame/HandledScreen;onMouseClick(Lnet/minecraft/screen/slot/Slot;IILnet/minecraft/screen/slot/SlotActionType;)V", ordinal = 9))
public void oobClickDropOverride(@SuppressWarnings("rawtypes") HandledScreen handledScreen, Slot slot, int invSlot, int clickData, SlotActionType actionType) {
if (actionType == SlotActionType.QUICK_MOVE) {
disableFavoredShiftClick(slot, invSlot, clickData, actionType);
return;
}
DropBehaviorOverride oobDropClickOverride = ModConfig.get().general.oobDropClickOverride;
if (oobDropClickOverride == DropBehaviorOverride.DISABLED || invSlot != -999 || actionType != SlotActionType.PICKUP) {
onMouseClick(slot, invSlot, clickData, actionType);
return;
}
ItemStack cursorStack = handler.getCursorStack();
boolean forceDrop = ModKeyBindings.isDown(ModKeyBindings.keyForceDrop);
boolean canDrop = true;
switch(oobDropClickOverride) {
case FAVORITE_ITEMS:
if (!FavoredChecker.isStackFavored(cursorStack))
break;
case ALL_ITEMS:
canDrop = false;
break;
}
if (forceDrop || canDrop)
onMouseClick(null, -999, clickData, SlotActionType.PICKUP);
}
Aggregations