Remove build artifacts, dev tool configs, unused dependencies, and third-party source dumps. Add proper README, update .gitignore, clean up Makefile.
113 lines
3.3 KiB
Java
113 lines
3.3 KiB
Java
package com.tiedup.remake.entities;
|
|
|
|
import com.tiedup.remake.entities.skins.Gender;
|
|
import com.tiedup.remake.entities.skins.SkinVariant;
|
|
import net.minecraft.resources.ResourceLocation;
|
|
|
|
/**
|
|
* Represents a kidnapper skin variant with metadata.
|
|
*
|
|
* All skins from kidnapper folder, random selection.
|
|
*
|
|
* @param id Unique identifier (e.g., "knp_mob_1", "blake")
|
|
* @param texture Skin texture location
|
|
* @param hasSlimArms True for Alex/slim model (3px arms), false for Steve/normal (4px arms)
|
|
* @param defaultName Default display name for this variant
|
|
* @param gender Gender of the skin (default FEMALE)
|
|
*/
|
|
public record KidnapperVariant(
|
|
String id,
|
|
ResourceLocation texture,
|
|
boolean hasSlimArms,
|
|
String defaultName,
|
|
Gender gender
|
|
) implements SkinVariant {
|
|
/**
|
|
* Create a kidnapper variant from texture name.
|
|
*
|
|
* @param textureName Texture file name without extension (e.g., "knp_mob_1", "blake")
|
|
* @param hasSlimArms True if this variant uses slim arms
|
|
* @return Kidnapper variant
|
|
*/
|
|
public static KidnapperVariant create(
|
|
String textureName,
|
|
boolean hasSlimArms
|
|
) {
|
|
return create(textureName, hasSlimArms, "Kidnapper");
|
|
}
|
|
|
|
/**
|
|
* Create a kidnapper variant from texture name with custom display name.
|
|
*
|
|
* @param textureName Texture file name without extension
|
|
* @param hasSlimArms True if this variant uses slim arms
|
|
* @param displayName Display name for this variant
|
|
* @return Kidnapper variant
|
|
*/
|
|
public static KidnapperVariant create(
|
|
String textureName,
|
|
boolean hasSlimArms,
|
|
String displayName
|
|
) {
|
|
return new KidnapperVariant(
|
|
textureName,
|
|
ResourceLocation.fromNamespaceAndPath(
|
|
"tiedup",
|
|
"textures/entity/kidnapper/" + textureName + ".png"
|
|
),
|
|
hasSlimArms,
|
|
displayName,
|
|
Gender.FEMALE
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Create a variant with a custom texture subfolder.
|
|
* Used by MaidSkinManager, TraderSkinManager, etc.
|
|
*
|
|
* @param textureName Texture file name without extension
|
|
* @param subfolder Subfolder under kidnapper/ (e.g., "maid", "trader")
|
|
* @param hasSlimArms True if this variant uses slim arms
|
|
* @param displayName Display name for this variant (required)
|
|
* @param gender Gender of the variant
|
|
* @return Kidnapper variant
|
|
*/
|
|
public static KidnapperVariant createWithSubfolder(
|
|
String textureName,
|
|
String subfolder,
|
|
boolean hasSlimArms,
|
|
String displayName,
|
|
Gender gender
|
|
) {
|
|
return new KidnapperVariant(
|
|
textureName,
|
|
ResourceLocation.fromNamespaceAndPath(
|
|
"tiedup",
|
|
"textures/entity/kidnapper/" +
|
|
subfolder +
|
|
"/" +
|
|
textureName +
|
|
".png"
|
|
),
|
|
hasSlimArms,
|
|
displayName,
|
|
gender
|
|
);
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return (
|
|
"KidnapperVariant{id='" +
|
|
id +
|
|
"', slim=" +
|
|
hasSlimArms +
|
|
", name='" +
|
|
defaultName +
|
|
"', gender=" +
|
|
gender +
|
|
"}"
|
|
);
|
|
}
|
|
}
|