Strip all Phase references, TODO/FUTURE roadmap notes, and internal planning comments from the codebase. Run Prettier for consistent formatting across all Java files.
75 lines
1.5 KiB
Java
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();
|
|
}
|