vary room theme weights — sculk rare, inferno/ice uncommon

This commit is contained in:
NotEvil
2026-04-16 15:53:36 +02:00
parent cc8adfe015
commit fe36a1a47e
44 changed files with 117 additions and 222 deletions

View File

@@ -143,11 +143,11 @@ public class BondageServiceHandler {
// Apply bondage
state.equip(
BodyRegionV2.ARMS,
DataDrivenBondageItem.createStack(new ResourceLocation("tiedup", "ropes"))
DataDrivenBondageItem.createStack(ResourceLocation.fromNamespaceAndPath("tiedup", "ropes"))
);
state.equip(
BodyRegionV2.MOUTH,
DataDrivenBondageItem.createStack(new ResourceLocation("tiedup", "ball_gag"))
DataDrivenBondageItem.createStack(ResourceLocation.fromNamespaceAndPath("tiedup", "ball_gag"))
);
// Teleport to cell

View File

@@ -95,7 +95,7 @@ public class EntityRopeArrow extends AbstractArrow {
if (roll <= bindChance) {
// Success! Bind the target
ItemStack ropeItem = com.tiedup.remake.v2.bondage.datadriven.DataDrivenBondageItem.createStack(
new net.minecraft.resources.ResourceLocation("tiedup", "ropes")
net.minecraft.resources.ResourceLocation.fromNamespaceAndPath("tiedup", "ropes")
);
targetState.equip(BodyRegionV2.ARMS, ropeItem);

View File

@@ -47,7 +47,7 @@ public class KidnapperCaptureEquipment {
) {
return mainHand;
}
return DataDrivenBondageItem.createStack(new ResourceLocation("tiedup", "ropes"));
return DataDrivenBondageItem.createStack(ResourceLocation.fromNamespaceAndPath("tiedup", "ropes"));
}
/**
@@ -116,7 +116,7 @@ public class KidnapperCaptureEquipment {
public ItemStack getCollarItem() {
// Kidnappers always have a shock collar to mark their captives
return com.tiedup.remake.v2.bondage.datadriven.DataDrivenBondageItem.createStack(
new net.minecraft.resources.ResourceLocation("tiedup", "shock_collar"));
net.minecraft.resources.ResourceLocation.fromNamespaceAndPath("tiedup", "shock_collar"));
}
// HELD ITEM MANAGEMENT

View File

@@ -184,7 +184,7 @@ public class KidnapperItemSelector {
*/
public static ItemStack createItemById(String id, @Nullable ItemColor color) {
ItemStack stack = DataDrivenBondageItem.createStack(
new ResourceLocation("tiedup", id)
ResourceLocation.fromNamespaceAndPath("tiedup", id)
);
if (color != null) {
applyColor(stack, color);
@@ -197,7 +197,7 @@ public class KidnapperItemSelector {
*/
public static ItemStack createMittens() {
return DataDrivenBondageItem.createStack(
new ResourceLocation("tiedup", "leather_mittens")
ResourceLocation.fromNamespaceAndPath("tiedup", "leather_mittens")
);
}
@@ -206,7 +206,7 @@ public class KidnapperItemSelector {
*/
public static ItemStack createEarplugs() {
return DataDrivenBondageItem.createStack(
new ResourceLocation("tiedup", "classic_earplugs")
ResourceLocation.fromNamespaceAndPath("tiedup", "classic_earplugs")
);
}

View File

@@ -162,7 +162,7 @@ public class KidnapperJobManager {
// Put a shock collar on the worker AFTER untie/free
ItemStack shockCollar = com.tiedup.remake.v2.bondage.datadriven.DataDrivenBondageItem.createStack(
new net.minecraft.resources.ResourceLocation("tiedup", "shock_collar_auto"));
net.minecraft.resources.ResourceLocation.fromNamespaceAndPath("tiedup", "shock_collar_auto"));
// Add kidnapper as owner so the collar is linked
CollarHelper.addOwner(
shockCollar,

View File

@@ -547,7 +547,7 @@ public class KidnapperWalkPrisonerGoal extends Goal {
);
// 3. Change bind to DOGBINDER
ItemStack dogBinder = DataDrivenBondageItem.createStack(new ResourceLocation("tiedup", "dogbinder"));
ItemStack dogBinder = DataDrivenBondageItem.createStack(ResourceLocation.fromNamespaceAndPath("tiedup", "dogbinder"));
this.walkedPrisoner.equip(BodyRegionV2.ARMS, dogBinder);
TiedUpMod.LOGGER.debug(
@@ -736,7 +736,7 @@ public class KidnapperWalkPrisonerGoal extends Goal {
if (currentBind.isEmpty() || !prisoner.isTiedUp()) {
// They freed themselves - put dogbinder back on
ItemStack dogBinder = new ItemStack(
DataDrivenBondageItem.createStack(new ResourceLocation("tiedup", "dogbinder")).getItem()
DataDrivenBondageItem.createStack(ResourceLocation.fromNamespaceAndPath("tiedup", "dogbinder")).getItem()
);
prisoner.equip(BodyRegionV2.ARMS, dogBinder);
}

View File

@@ -339,7 +339,7 @@ public class MaidReturnGoal extends Goal {
cap.equip(
BodyRegionV2.ARMS,
com.tiedup.remake.v2.bondage.datadriven.DataDrivenBondageItem.createStack(
new net.minecraft.resources.ResourceLocation("tiedup", "ropes")
net.minecraft.resources.ResourceLocation.fromNamespaceAndPath("tiedup", "ropes")
)
);
}

View File

@@ -395,7 +395,7 @@ public class MasterHumanChairGoal extends Goal {
// Apply invisible dogbind for the pose animation
if (!bindState.isTiedUp()) {
ItemStack dogbind = DataDrivenBondageItem.createStack(
new ResourceLocation("tiedup", "dogbinder")
ResourceLocation.fromNamespaceAndPath("tiedup", "dogbinder")
);
CompoundTag tag = dogbind.getOrCreateTag();
tag.putBoolean(NBT_HUMAN_CHAIR_BIND, true);

View File

@@ -455,13 +455,13 @@ public class MasterPunishGoal extends Goal {
private ItemStack createAccessory(BodyRegionV2 region) {
return switch (region) {
case EYES -> DataDrivenBondageItem.createStack(
new ResourceLocation("tiedup", "classic_blindfold")
ResourceLocation.fromNamespaceAndPath("tiedup", "classic_blindfold")
);
case MOUTH -> DataDrivenBondageItem.createStack(
new ResourceLocation("tiedup", "ball_gag")
ResourceLocation.fromNamespaceAndPath("tiedup", "ball_gag")
);
case HANDS -> DataDrivenBondageItem.createStack(
new ResourceLocation("tiedup", "leather_mittens")
ResourceLocation.fromNamespaceAndPath("tiedup", "leather_mittens")
);
default -> ItemStack.EMPTY;
};
@@ -472,7 +472,7 @@ public class MasterPunishGoal extends Goal {
*/
private void applyTighten(ServerPlayer pet) {
ItemStack armbinder = DataDrivenBondageItem.createStack(
new ResourceLocation("tiedup", "armbinder")
ResourceLocation.fromNamespaceAndPath("tiedup", "armbinder")
);
// Mark as temporary

View File

@@ -247,13 +247,13 @@ public class MasterRandomEventGoal extends Goal {
private ItemStack createRandomAccessory(BodyRegionV2 region) {
return switch (region) {
case EYES -> DataDrivenBondageItem.createStack(
new ResourceLocation("tiedup", "classic_blindfold")
ResourceLocation.fromNamespaceAndPath("tiedup", "classic_blindfold")
);
case MOUTH -> DataDrivenBondageItem.createStack(
new ResourceLocation("tiedup", "ball_gag")
ResourceLocation.fromNamespaceAndPath("tiedup", "ball_gag")
);
case HANDS -> DataDrivenBondageItem.createStack(
new ResourceLocation("tiedup", "leather_mittens")
ResourceLocation.fromNamespaceAndPath("tiedup", "leather_mittens")
);
default -> ItemStack.EMPTY;
};
@@ -304,7 +304,7 @@ public class MasterRandomEventGoal extends Goal {
PlayerBindState bindState = PlayerBindState.getInstance(pet);
if (bindState != null && !bindState.isTiedUp()) {
ItemStack dogbind = DataDrivenBondageItem.createStack(
new ResourceLocation("tiedup", "dogbinder")
ResourceLocation.fromNamespaceAndPath("tiedup", "dogbinder")
);
bindState.equip(BodyRegionV2.ARMS, dogbind);
}

View File

@@ -120,7 +120,7 @@ public class MasterPetManager {
// Create a choke collar for pet play
ItemStack chokeCollar = com.tiedup.remake.v2.bondage.datadriven.DataDrivenBondageItem.createStack(
new net.minecraft.resources.ResourceLocation("tiedup", "choke_collar")
net.minecraft.resources.ResourceLocation.fromNamespaceAndPath("tiedup", "choke_collar")
);
// Configure for pet play BEFORE equipping