Clean repo for open source release

Remove build artifacts, dev tool configs, unused dependencies,
and third-party source dumps. Add proper README, update .gitignore,
clean up Makefile.
This commit is contained in:
NotEvil
2026-04-12 00:51:22 +02:00
parent 2e7a1d403b
commit f6466360b6
1947 changed files with 238025 additions and 1 deletions

View File

@@ -0,0 +1,67 @@
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();
}
}