跳到正文

Hardcore Questing Mode: Don’t Void My Items

作者:itzDatRat

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.

常见问题

Hardcore Questing Mode: Don’t Void My Items 支持哪些 Minecraft 版本?

Hardcore Questing Mode: Don’t Void My Items 支持 Minecraft Java 版 1.7.10,可用的加载器:Forge。下载时注意选择和你游戏版本一致的文件。

Hardcore Questing Mode: Don’t Void My Items 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Forge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。

评论

登录后评论和评分

itzDatRat 的其他作品

查看全部 →