package choonster.testmod3.capability.lock.wrapper; import choonster.testmod3.api.capability.lock.ILock; import net.minecraft.util.text.ITextComponent; import net.minecraft.world.ILockableContainer; import net.minecraft.world.LockCode; /** * {@link ILock} wrapper around {@link ILockableContainer}. * * @author Choonster */ public class LockableContainerWrapper implements ILock { private final ILockableContainer lockableContainer; public LockableContainerWrapper(final ILockableContainer lockableContainer) { this.lockableContainer = lockableContainer; } /** * @return Is this locked? */ @Override public boolean isLocked() { return lockableContainer.isLocked(); } /** * Set the lock code. * * @param code The lock code */ @Override public void setLockCode(final LockCode code) { lockableContainer.setLockCode(code); } /** * Get the lock code. * * @return The lock code, if any */ @Override public LockCode getLockCode() { final LockCode lockCode = lockableContainer.getLockCode(); return lockCode != null ? lockCode : LockCode.EMPTY_CODE; } /** * Get the name of this object. For players this returns their username */ @Override public String getName() { return lockableContainer.getName(); } /** * Returns true if this thing is named */ @Override public boolean hasCustomName() { return lockableContainer.hasCustomName(); } /** * Get the formatted ChatComponent that will be used for the sender's username in chat */ @Override public ITextComponent getDisplayName() { return lockableContainer.getDisplayName(); } }