fix(D-01/D): checkup cleanup — 5 issues resolved

1. LockableComponent: remove duplicate "Lockable" tooltip line
   (ILockable.appendLockTooltip already handles lock status display)
2. ILockable/IHasResistance Javadoc: update @link refs from deleted
   V1 classes to V2 AbstractV2BondageItem/DataDrivenBondageItem
3. SettingsAccessor Javadoc: remove stale BindVariant @link references
4. DataDrivenBondageItem: update NECK block comment (remove branch ref)
5. Delete empty bondage3d/gags/ directory
This commit is contained in:
NotEvil
2026-04-15 02:52:27 +02:00
parent a572513640
commit 3df979ceee
12 changed files with 2184 additions and 17 deletions

View File

@@ -160,7 +160,7 @@ public class SettingsAccessor {
* <p><b>BUG-003 fix:</b> Previously, {@code IHasResistance.getBaseResistance()}
* called {@code ModGameRules.getResistance()} which only knew 4 types (rope, gag,
* blindfold, collar) and returned hardcoded 100 for the other 10 types. Meanwhile
* {@code BindVariant.getResistance()} read from ModConfig which had all 14 types.
* the old BindVariant.getResistance() read from ModConfig which had all 14 types.
* This caused a display-vs-struggle desync (display: 250, struggle: 100).
* Now both paths use this method.
*
@@ -207,8 +207,7 @@ public class SettingsAccessor {
/**
* Normalize a raw bind item name to its config key.
*
* <p>Replicates the mapping from
* {@link com.tiedup.remake.items.base.BindVariant#getResistance()} so that
* <p>Normalizes raw item names to config keys so that
* every call site resolves to the same config entry.
*
* @param bindType Raw item name (e.g., "ropes", "vine_seed", "collar")

View File

@@ -22,10 +22,8 @@ import net.minecraft.world.item.ItemStack;
*
* <h2>Implementations</h2>
* <ul>
* <li>{@link ItemBind} - Ropes, chains, straitjackets</li>
* <li>{@link ItemGag} - Ball gags, tape gags, cloth gags</li>
* <li>{@link ItemBlindfold} - Blindfolds</li>
* <li>{@link ItemCollar} - Collars (special: may not be struggleable)</li>
* <li>{@link com.tiedup.remake.v2.bondage.items.AbstractV2BondageItem} - All V2 bondage items</li>
* <li>{@link com.tiedup.remake.v2.bondage.datadriven.DataDrivenBondageItem} - Data-driven items (resistance via ResistanceComponent)</li>
* </ul>
*
* <p>Based on original IHasResistance.java from 1.12.2

View File

@@ -24,11 +24,8 @@ import org.jetbrains.annotations.Nullable;
*
* <h2>Implementations</h2>
* <ul>
* <li>{@link ItemGag} - Gags can be locked</li>
* <li>{@link ItemBlindfold} - Blindfolds can be locked</li>
* <li>{@link ItemCollar} - Collars can be locked</li>
* <li>{@link ItemEarplugs} - Earplugs can be locked</li>
* <li>ItemBind - Binds can be locked (future)</li>
* <li>{@link com.tiedup.remake.v2.bondage.items.AbstractV2BondageItem} - All V2 bondage items</li>
* <li>{@link com.tiedup.remake.v2.bondage.datadriven.DataDrivenBondageItem} - Data-driven items (via AbstractV2BondageItem)</li>
* </ul>
*
* <h2>NBT Storage</h2>

View File

@@ -51,7 +51,8 @@ public class LockableComponent implements IItemComponent {
@Override
public void appendTooltip(ItemStack stack, @Nullable Level level, List<Component> tooltip, TooltipFlag flag) {
tooltip.add(Component.translatable("item.tiedup.tooltip.lockable").withStyle(ChatFormatting.GOLD));
// Lock status ("Locked"/"Lockable") is handled by ILockable.appendLockTooltip()
// called from AbstractV2BondageItem.appendHoverText() — no duplicate here.
if (flag.isAdvanced()) {
tooltip.add(Component.translatable("item.tiedup.tooltip.lock_resistance", lockResistance)
.withStyle(ChatFormatting.DARK_GRAY));

View File

@@ -167,11 +167,11 @@ public class DataDrivenBondageItem extends AbstractV2BondageItem {
return TyingInteractionHelper.handleTying(serverPlayer, target, stack, hand);
}
// NECK: blocked until Branch C wires the full collar equip flow
// (add owner to NBT, register in CollarRegistry, play sound, sync).
// Without this, V2 collars equip without ownership — breaking GPS, shock, alerts.
// NECK: blocked — collar equip requires owner setup (add owner to NBT,
// register in CollarRegistry, play sound, sync) which is not yet wired
// through interactLivingEntity. TODO: implement collar equip flow.
if (regions.contains(BodyRegionV2.NECK)) {
TiedUpMod.LOGGER.debug("[DataDrivenBondageItem] NECK equip blocked — collar flow not wired yet");
TiedUpMod.LOGGER.debug("[DataDrivenBondageItem] NECK equip via right-click not yet implemented");
return InteractionResult.PASS;
}