promotional bannermobile promotional banner

Hardcore Questing Mode: Don't Void My Items

Prevents HQM Quest Delivery Systems from voiding items or fluids that would not advance the bound active quest task.

Don't Void My Items

A Minecraft mod that prevents Hardcore Questing Mode Quest Delivery Systems from accepting item or fluid input unless that input would advance the bound active QDS consume task.

Features

  • Item Protection: Rejects items that do not match an unmet QDS item requirement.
  • Fluid Protection: Rejects fluids that do not match an unmet QDS fluid requirement.
  • No Overfill Voiding: Accepts only the amount still needed by the task.
  • Unbound QDS Safety: Rejects item and fluid input when the QDS is not bound to a player task.
  • Completed Task Safety: Rejects input after the bound task is already complete.
  • Cooldown Safety: Respects HQM repeatable quest availability, including quests on cooldown.
  • HQM Integration: Targets Hardcore Questing Mode 4.4.4 Quest Delivery Systems.

Coremod Approach

This mod uses a small coremod patch because HQM's QDS accepts and consumes input inside the tile entity itself.

  • QDS Tile Patch: Uses UniMixins to patch hardcorequesting.tileentity.TileEntityBarrel directly.
  • Late Mixin Loading: Registers the QDS mixin as a late UniMixins mixin so HQM classes are visible before the target is prepared.
  • Inventory Gatekeeping: Overrides QDS item insertion validation and insertion handling.
  • Fluid Gatekeeping: Overrides QDS fluid fill validation and fill handling.
  • Scoped Behavior: The patch is limited to HQM's Quest Delivery System; unrelated HQM blocks should keep their normal behavior.
  • Compatibility Target: Built and tested against Minecraft 1.7.10, Forge 10.13.4.1614, UniMixins 0.3.0, and HQM 4.4.4.

QDS Input Protection

The QDS only accepts input when it can resolve an active bound QDS consume task:

  • The QDS has a stored player name.
  • The QDS resolves a current task.
  • The current task is QuestTaskItemsConsumeQDS.
  • The parent quest is available for that player.
  • The task data is QuestDataTaskItems.
  • The task is not already completed.

Items are checked against unmet item requirements using HQM's own ItemPrecision.areItemsSame rules. Fluids are checked against unmet fluid requirements by fluid id.

Valid progress is still applied through HQM's original task methods:

  • Items use QuestTaskItems.increaseItems.
  • Fluids use QuestTaskItemsConsume.increaseFluid.

After successful progress, the QDS sync timer is scheduled just like HQM does internally.

Limits

  • Automation that respects IInventory.isItemValidForSlot or IFluidHandler.fill should leave invalid input behind.
  • Automation that deletes source items before calling QDS insertion cannot be fully protected by the QDS itself.
  • The mod does not reimplement HQM repeat timing; it follows HQM's quest availability and task progress state.

The Hardcore Questing Mode: Don't Void My Items Team

profile avatar
  • 3
    Followers
  • 5
    Projects
  • 501
    Downloads

More from itzDatRatView all