Remove build artifacts, dev tool configs, unused dependencies, and third-party source dumps. Add proper README, update .gitignore, clean up Makefile.
68 lines
1.8 KiB
Java
68 lines
1.8 KiB
Java
package com.tiedup.remake.items.bondage3d;
|
|
|
|
import java.util.Set;
|
|
|
|
/**
|
|
* Configuration immutable for a 3D item.
|
|
* Contains all parameters necessary for rendering.
|
|
*/
|
|
public record Model3DConfig(
|
|
String objPath, // "tiedup:models/obj/ball_gag/model.obj"
|
|
String texturePath, // "tiedup:models/obj/ball_gag/texture.png" (or null = use MTL)
|
|
float posOffsetX, // Horizontal offset
|
|
float posOffsetY, // Vertical offset (negative = lower)
|
|
float posOffsetZ, // Depth offset (positive = forward)
|
|
float scale, // Scale (1.0 = normal size)
|
|
float rotOffsetX, // Additional X rotation
|
|
float rotOffsetY, // Additional Y rotation
|
|
float rotOffsetZ, // Additional Z rotation
|
|
Set<String> tintMaterials // Material names to apply color tint (e.g., "Ball")
|
|
) {
|
|
/** Config without tinting */
|
|
public static Model3DConfig simple(String objPath, String texturePath) {
|
|
return new Model3DConfig(
|
|
objPath,
|
|
texturePath,
|
|
0,
|
|
0,
|
|
0,
|
|
1.0f,
|
|
0,
|
|
0,
|
|
0,
|
|
Set.of()
|
|
);
|
|
}
|
|
|
|
/** Config with position/rotation but no tinting */
|
|
public Model3DConfig(
|
|
String objPath,
|
|
String texturePath,
|
|
float posOffsetX,
|
|
float posOffsetY,
|
|
float posOffsetZ,
|
|
float scale,
|
|
float rotOffsetX,
|
|
float rotOffsetY,
|
|
float rotOffsetZ
|
|
) {
|
|
this(
|
|
objPath,
|
|
texturePath,
|
|
posOffsetX,
|
|
posOffsetY,
|
|
posOffsetZ,
|
|
scale,
|
|
rotOffsetX,
|
|
rotOffsetY,
|
|
rotOffsetZ,
|
|
Set.of()
|
|
);
|
|
}
|
|
|
|
/** Check if this item supports color tinting */
|
|
public boolean supportsTinting() {
|
|
return tintMaterials != null && !tintMaterials.isEmpty();
|
|
}
|
|
}
|