SPIGOT-8023: Fix raid crash

This commit is contained in:
md_5 2025-03-26 19:18:37 +11:00
parent 12e3260cb9
commit ca3a41a305
No known key found for this signature in database
GPG Key ID: E8E901AC7C617C11
2 changed files with 17 additions and 26 deletions

View File

@ -106,7 +106,15 @@
}
}
@@ -573,6 +595,7 @@
@@ -566,6 +588,7 @@
continue;
}
}
+ break; // CraftBukkit - decompile error
}
}
@@ -573,6 +596,7 @@
++this.groupsSpawned;
this.updateBossbar();
this.setDirty(worldserver);
@ -114,7 +122,7 @@
}
public void joinRaid(WorldServer worldserver, int i, EntityRaider entityraider, @Nullable BlockPosition blockposition, boolean flag) {
@@ -588,7 +611,7 @@
@@ -588,7 +612,7 @@
entityraider.finalizeSpawn(worldserver, worldserver.getCurrentDifficultyAt(blockposition), EntitySpawnReason.EVENT, (GroupDataEntity) null);
entityraider.applyRaidBuffs(worldserver, i, false);
entityraider.setOnGround(true);
@ -123,7 +131,7 @@
}
}
@@ -811,6 +834,12 @@
@@ -811,6 +835,12 @@
this.heroesOfTheVillage.add(entity.getUUID());
}

View File

@ -9,32 +9,15 @@
public class BlockTripwire extends Block {
public static final MapCodec<BlockTripwire> CODEC = RecordCodecBuilder.mapCodec((instance) -> {
@@ -107,7 +109,7 @@
for (EnumDirection enumdirection : new EnumDirection[]{EnumDirection.SOUTH, EnumDirection.WEST}) {
int i = 1;
- while (true) {
+ for (; i < 42; i++) { // CraftBukkit - decompile error
if (i < 42) {
BlockPosition blockposition1 = blockposition.relative(enumdirection, i);
IBlockData iblockdata1 = world.getBlockState(blockposition1);
@@ -116,9 +118,12 @@
if (iblockdata1.getValue(BlockTripwireHook.FACING) == enumdirection.getOpposite()) {
BlockTripwireHook.calculateState(world, blockposition1, iblockdata1, false, true, i, iblockdata);
}
- } else if (iblockdata1.is(this)) {
- ++i;
- continue;
+ // CraftBukkit start - decompile error
+ break;
+ }
+ if (!iblockdata1.is(this)) {
+ break;
+ // CraftBukkit end
@@ -121,6 +123,7 @@
continue;
}
}
+ break; // CraftBukkit - decompile error
}
@@ -168,6 +173,40 @@
}
@@ -168,6 +171,40 @@
}
}