Skip to content

Commit 3f300b0

Browse files
committed
Add state for player seed being cracked and not xp seed
1 parent 7de43d5 commit 3f300b0

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

src/main/java/net/earthcomputer/clientcommands/features/EnchantmentCracker.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@ public static void onItemDamageUncertain(int minAmount, int maxAmount, LivingEnt
231231
}
232232

233233
private static boolean canMaintainPlayerRNG() {
234-
return TempRules.playerRNGMaintenance && TempRules.enchCrackState == EnumCrackState.CRACKED;
234+
return TempRules.playerRNGMaintenance && (TempRules.enchCrackState == EnumCrackState.CRACKED || TempRules.enchCrackState == EnumCrackState.CRACKED_PLAYER_SEED);
235235
}
236236

237237
// RENDERING
@@ -399,7 +399,7 @@ public static void addEnchantmentSeedInfo(World world, EnchantingTableContainer
399399

400400
private static void addPlayerRNGInfo(int enchantmentSeed) {
401401
EnumCrackState crackState = TempRules.enchCrackState;
402-
if (crackState == EnumCrackState.CRACKED) {
402+
if (crackState == EnumCrackState.CRACKED || crackState == EnumCrackState.CRACKED_PLAYER_SEED) {
403403
return;
404404
}
405405

@@ -441,9 +441,10 @@ private static void addPlayerRNGInfo(int enchantmentSeed) {
441441
public static void onEnchantedItem() {
442442
doneEnchantment = true;
443443
EnumCrackState crackState = TempRules.enchCrackState;
444-
if (crackState == EnumCrackState.CRACKED) {
444+
if (crackState == EnumCrackState.CRACKED || crackState == EnumCrackState.CRACKED_PLAYER_SEED) {
445445
possibleXPSeeds.clear();
446446
possibleXPSeeds.add(playerRand.nextInt());
447+
TempRules.enchCrackState = EnumCrackState.CRACKED;
447448
} else if (crackState == EnumCrackState.CRACKED_ENCH_SEED) {
448449
possibleXPSeeds.clear();
449450
TempRules.enchCrackState = EnumCrackState.CRACKING;
@@ -460,7 +461,7 @@ public static void onEnchantedItem() {
460461
*/
461462

462463
private static EnchantManipulationStatus manipulateEnchantmentsSanityCheck(PlayerEntity player) {
463-
if (TempRules.enchCrackState != EnumCrackState.CRACKED) {
464+
if (TempRules.enchCrackState != EnumCrackState.CRACKED && TempRules.enchCrackState != EnumCrackState.CRACKED_PLAYER_SEED) {
464465
return EnchantManipulationStatus.NOT_CRACKED;
465466
} else if (!player.onGround) {
466467
return EnchantManipulationStatus.NOT_ON_GROUND;
@@ -488,7 +489,7 @@ public static EnchantManipulationStatus manipulateEnchantments(Item item,
488489
int bookshelvesNeeded = 0;
489490
int slot = 0;
490491
int[] enchantLevels = new int[3];
491-
outerLoop: for (int i = -1; i < 1000; i++) {
492+
outerLoop: for (int i = TempRules.enchCrackState == EnumCrackState.CRACKED_PLAYER_SEED ? 0 : -1; i < 1000; i++) {
492493
int xpSeed = (int) ((i == -1 ? seed : ((seed * MULTIPLIER + ADDEND) & MASK)) >>> 16);
493494
Random rand = new Random();
494495
for (bookshelvesNeeded = 0; bookshelvesNeeded <= 15; bookshelvesNeeded++) {
@@ -772,7 +773,7 @@ private static long getSeed(Random rand) {
772773

773774
public static enum EnumCrackState implements StringIdentifiable {
774775
UNCRACKED("uncracked"), CRACKING_ENCH_SEED("crackingEnchSeed"), CRACKED_ENCH_SEED("crackedEnchSeed"), CRACKING(
775-
"cracking"), CRACKED("cracked"), INVALID("invalid");
776+
"cracking"), CRACKED("cracked"), CRACKED_PLAYER_SEED("crackedPlayerSeed"), INVALID("invalid");
776777

777778
private String name;
778779

src/main/resources/assets/clientcommands/lang/en_us.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
"enchCrack.state.crackedEnchSeed": "Cracked XP Seed",
4848
"enchCrack.state.cracking": "Cracking",
4949
"enchCrack.state.cracked": "Cracked",
50+
"enchCrack.state.crackedPlayerSeed": "Cracked Player Seed",
5051
"enchCrack.state.invalid": "Invalid",
5152

5253
"enchCrack.enchantments": "Enchantments:",

0 commit comments

Comments
 (0)