Files
TiedUp-/src/main/java/com/tiedup/remake/v2/furniture/FurnitureFeedback.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

42 lines
1.3 KiB
Java

package com.tiedup.remake.v2.furniture;
import net.minecraft.resources.ResourceLocation;
import org.jetbrains.annotations.Nullable;
/**
* Sound events for furniture interactions. All fields are optional
* -- null means "use the default sound" at runtime.
*
* <p>Loaded from the {@code "feedback"} block of a furniture JSON definition.
* When the entire block is absent, {@link #EMPTY} is used.</p>
*/
public record FurnitureFeedback(
/** Sound played when a player mounts the furniture. */
@Nullable ResourceLocation mountSound,
/** Sound played when a seat is locked. */
@Nullable ResourceLocation lockSound,
/** Sound played when a seat is unlocked. */
@Nullable ResourceLocation unlockSound,
/** Looping sound played while a player struggles in a locked seat. */
@Nullable ResourceLocation struggleLoopSound,
/** Sound played on successful escape. */
@Nullable ResourceLocation escapeSound,
/** Sound played when an action is denied (e.g., locked seat interaction). */
@Nullable ResourceLocation deniedSound
) {
/** Empty feedback -- all sounds null (use defaults). */
public static final FurnitureFeedback EMPTY = new FurnitureFeedback(
null,
null,
null,
null,
null,
null
);
}