Files
TiedUp-/src/main/java/com/tiedup/remake/blocks/entity/IBondageItemHolder.java
NotEvil a71093ba9c Remove internal phase comments and format code
Strip all Phase references, TODO/FUTURE roadmap notes, and internal
planning comments from the codebase. Run Prettier for consistent
formatting across all Java files.
2026-04-12 01:25:55 +02:00

75 lines
1.5 KiB
Java

package com.tiedup.remake.blocks.entity;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.world.item.ItemStack;
/**
* Interface for BlockEntities that store bondage items.
*
*
* Defines the contract for storing and retrieving bondage items:
* - Bind (ropes, chains, etc.)
* - Gag
* - Blindfold
* - Earplugs
* - Collar
* - Clothes
*
* Based on original ITileEntityBondageItemHolder from 1.12.2
*/
public interface IBondageItemHolder {
// BIND
ItemStack getBind();
void setBind(ItemStack bind);
// GAG
ItemStack getGag();
void setGag(ItemStack gag);
// BLINDFOLD
ItemStack getBlindfold();
void setBlindfold(ItemStack blindfold);
// EARPLUGS
ItemStack getEarplugs();
void setEarplugs(ItemStack earplugs);
// COLLAR
ItemStack getCollar();
void setCollar(ItemStack collar);
// CLOTHES
ItemStack getClothes();
void setClothes(ItemStack clothes);
// NBT SERIALIZATION
/**
* Read bondage items from NBT.
* @param tag The compound tag to read from
*/
void readBondageData(CompoundTag tag);
/**
* Write bondage items to NBT.
* @param tag The compound tag to write to
* @return The modified compound tag
*/
CompoundTag writeBondageData(CompoundTag tag);
// STATE
/**
* Check if this holder has any bondage items loaded.
* Typically checks if bind is present.
* @return true if armed/loaded
*/
boolean isArmed();
}