Skip to content

Commit 079d0b0

Browse files
committed
Merge branch 'master' into gradle
2 parents 32c9c53 + 9b1342b commit 079d0b0

15 files changed

Lines changed: 178 additions & 60 deletions

File tree

.github/workflows/buildtools.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,4 @@ checkVersion "1.21.5" "R0.1" "21"
4242
checkVersion "1.21.8" "R0.1" "21"
4343
checkVersion "1.21.10" "R0.1" "21"
4444
checkVersion "1.21.11" "R0.2" "21"
45-
checkVersion "26.1.1" "R0.1" "25"
45+
checkVersion "26.1.2" "R0.1" "25"

orebfuscator-bukkit/orebfuscator-bukkit-nms/orebfuscator-bukkit-nms-v26_1/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
dependencies {
22
compileOnly(libs.protocollib)
33
compileOnly(project(":orebfuscator-bukkit:orebfuscator-bukkit-nms"))
4-
compileOnly("org.spigotmc:spigot:26.1.1-R0.1-SNAPSHOT")
4+
compileOnly("org.spigotmc:spigot:26.1.2-R0.1-SNAPSHOT")
55
}
66

77
java {

orebfuscator-bukkit/src/main/java/net/imprex/orebfuscator/iterop/BukkitChunkPacketAccessor.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import net.imprex.orebfuscator.util.MinecraftVersion;
1515
import net.imprex.orebfuscator.util.WrappedClientboundLevelChunkPacketData;
1616
import org.jspecify.annotations.NullMarked;
17+
import org.jspecify.annotations.Nullable;
1718

1819
@NullMarked
1920
public class BukkitChunkPacketAccessor implements ChunkPacketAccessor {
@@ -29,7 +30,7 @@ public class BukkitChunkPacketAccessor implements ChunkPacketAccessor {
2930
private final byte[] data;
3031

3132
private final PacketContainer packet;
32-
private final WrappedClientboundLevelChunkPacketData packetData;
33+
private final @Nullable WrappedClientboundLevelChunkPacketData packetData;
3334

3435
public BukkitChunkPacketAccessor(PacketContainer packet, BukkitWorldAccessor worldAccessor) {
3536
this.packet = packet;

orebfuscator-bukkit/src/main/java/net/imprex/orebfuscator/iterop/BukkitPlayerAccessor.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
import java.util.Objects;
1313
import java.util.WeakHashMap;
1414
import java.util.concurrent.CompletableFuture;
15-
import java.util.concurrent.atomic.AtomicBoolean;
1615
import java.util.concurrent.atomic.AtomicReference;
1716
import net.imprex.orebfuscator.Orebfuscator;
1817
import net.imprex.orebfuscator.OrebfuscatorCompatibility;

orebfuscator-bukkit/src/main/java/net/imprex/orebfuscator/iterop/BukkitPlayerAccessorManager.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
11
package net.imprex.orebfuscator.iterop;
22

3-
import dev.imprex.orebfuscator.interop.PlayerAccessor;
4-
import dev.imprex.orebfuscator.logging.OfcLogger;
5-
import java.util.HashMap;
63
import java.util.List;
74
import java.util.Map;
8-
import net.imprex.orebfuscator.Orebfuscator;
5+
import java.util.concurrent.ConcurrentHashMap;
96
import org.bukkit.Bukkit;
107
import org.bukkit.entity.Player;
118
import org.bukkit.event.EventHandler;
@@ -17,11 +14,13 @@
1714
import org.bukkit.event.server.PluginDisableEvent;
1815
import org.jspecify.annotations.NullMarked;
1916
import org.jspecify.annotations.Nullable;
17+
import dev.imprex.orebfuscator.interop.PlayerAccessor;
18+
import net.imprex.orebfuscator.Orebfuscator;
2019

2120
@NullMarked
2221
public class BukkitPlayerAccessorManager implements Listener {
2322

24-
private final Map<Player, BukkitPlayerAccessor> players = new HashMap<>();
23+
private final Map<Player, BukkitPlayerAccessor> players = new ConcurrentHashMap<>();
2524

2625
private final Orebfuscator orebfuscator;
2726
private final BukkitWorldAccessorManager worldManager;

orebfuscator-bukkit/src/main/java/net/imprex/orebfuscator/iterop/BukkitWorldAccessorManager.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package net.imprex.orebfuscator.iterop;
22

33
import dev.imprex.orebfuscator.interop.WorldAccessor;
4-
import java.util.HashMap;
54
import java.util.List;
65
import java.util.Map;
6+
import java.util.concurrent.ConcurrentHashMap;
77
import net.imprex.orebfuscator.Orebfuscator;
88
import org.bukkit.Bukkit;
99
import org.bukkit.World;
@@ -17,7 +17,7 @@
1717
@NullMarked
1818
public class BukkitWorldAccessorManager implements Listener {
1919

20-
private final Map<World, BukkitWorldAccessor> worlds = new HashMap<>();
20+
private final Map<World, BukkitWorldAccessor> worlds = new ConcurrentHashMap<>();
2121

2222
private final Orebfuscator orebfuscator;
2323

orebfuscator-bukkit/src/main/java/net/imprex/orebfuscator/obfuscation/ObfuscationAsyncListener.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
package net.imprex.orebfuscator.obfuscation;
22

3+
import java.util.List;
4+
import java.util.concurrent.CompletableFuture;
5+
import java.util.stream.Stream;
6+
import org.jspecify.annotations.NullMarked;
37
import com.comphenix.protocol.AsynchronousManager;
48
import com.comphenix.protocol.PacketType;
59
import com.comphenix.protocol.ProtocolLibrary;
@@ -11,16 +15,11 @@
1115
import dev.imprex.orebfuscator.logging.OfcLogger;
1216
import dev.imprex.orebfuscator.obfuscation.ObfuscationPipeline;
1317
import dev.imprex.orebfuscator.statistics.InjectorStatistics;
14-
import java.util.List;
15-
import java.util.concurrent.CompletableFuture;
16-
import java.util.concurrent.atomic.AtomicInteger;
17-
import java.util.stream.Stream;
1818
import net.imprex.orebfuscator.Orebfuscator;
1919
import net.imprex.orebfuscator.iterop.BukkitChunkPacketAccessor;
2020
import net.imprex.orebfuscator.iterop.BukkitPlayerAccessor;
2121
import net.imprex.orebfuscator.iterop.BukkitPlayerAccessorManager;
2222
import net.imprex.orebfuscator.iterop.BukkitWorldAccessor;
23-
import org.jspecify.annotations.NullMarked;
2423

2524
@NullMarked
2625
public class ObfuscationAsyncListener extends PacketAdapter {
@@ -102,7 +101,7 @@ public void onPacketSending(PacketEvent event) {
102101
if (packet.isEmpty()) {
103102
future = CompletableFuture.completedFuture(null);
104103
} else {
105-
OfcLogger.throttle(LogLevel.WARN, "Processing chunk packet async without an obfuscation future, that shouldn't happen!");
104+
OfcLogger.throttle(LogLevel.DEBUG, "Processing chunk packet async without an obfuscation future");
106105
future = pipeline.request(world, player, packet, null).toCompletableFuture();
107106
}
108107
}

orebfuscator-bukkit/src/main/java/net/imprex/orebfuscator/obfuscation/ObfuscationSyncListener.java

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,21 @@
11
package net.imprex.orebfuscator.obfuscation;
22

3+
import java.util.List;
4+
import java.util.stream.Stream;
5+
import org.jspecify.annotations.NullMarked;
36
import com.comphenix.protocol.PacketType;
47
import com.comphenix.protocol.ProtocolLibrary;
58
import com.comphenix.protocol.ProtocolManager;
69
import com.comphenix.protocol.events.PacketAdapter;
710
import com.comphenix.protocol.events.PacketEvent;
811
import dev.imprex.orebfuscator.PermissionRequirements;
9-
import dev.imprex.orebfuscator.logging.OfcLogger;
1012
import dev.imprex.orebfuscator.obfuscation.ObfuscationPipeline;
1113
import dev.imprex.orebfuscator.statistics.InjectorStatistics;
12-
import java.util.Arrays;
13-
import java.util.HashSet;
14-
import java.util.List;
15-
import java.util.Objects;
16-
import java.util.stream.Stream;
1714
import net.imprex.orebfuscator.Orebfuscator;
1815
import net.imprex.orebfuscator.iterop.BukkitChunkPacketAccessor;
1916
import net.imprex.orebfuscator.iterop.BukkitPlayerAccessor;
2017
import net.imprex.orebfuscator.iterop.BukkitPlayerAccessorManager;
2118
import net.imprex.orebfuscator.iterop.BukkitWorldAccessor;
22-
import org.jspecify.annotations.NullMarked;
2319

2420
@NullMarked
2521
public class ObfuscationSyncListener extends PacketAdapter {
@@ -29,6 +25,7 @@ public class ObfuscationSyncListener extends PacketAdapter {
2925
// 1.16.5
3026
PacketType.Play.Server.RESPAWN,
3127
PacketType.Play.Server.VIEW_DISTANCE,
28+
PacketType.Play.Server.VIEW_CENTRE,
3229
PacketType.Play.Server.POSITION,
3330
PacketType.Play.Server.SPAWN_POSITION,
3431
PacketType.Play.Server.SERVER_DIFFICULTY,

orebfuscator-bukkit/src/main/java/net/imprex/orebfuscator/util/WrappedClientboundLevelChunkPacketData.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import com.comphenix.protocol.reflect.accessors.FieldAccessor;
66
import com.comphenix.protocol.utility.MinecraftReflection;
77
import dev.imprex.orebfuscator.util.BlockPos;
8+
import java.util.ArrayList;
89
import java.util.Iterator;
910
import java.util.List;
1011
import java.util.function.Predicate;
@@ -43,7 +44,8 @@ public void setBuffer(byte[] buffer) {
4344
}
4445

4546
public void removeBlockEntityIf(Predicate<BlockPos> predicate) {
46-
List<?> blockEntities = (List<?>) BLOCK_ENTITIES.get(this.handle);
47+
// work on copy only to prevent ConcurrentModificationException
48+
List<?> blockEntities = new ArrayList<>((List<?>) BLOCK_ENTITIES.get(this.handle));
4749
for (Iterator<?> iterator = blockEntities.iterator(); iterator.hasNext(); ) {
4850
Object blockEntityInfo = iterator.next();
4951
int packedXZ = (int) PACKED_XZ.get(blockEntityInfo);
@@ -56,5 +58,6 @@ public void removeBlockEntityIf(Predicate<BlockPos> predicate) {
5658
iterator.remove();
5759
}
5860
}
61+
BLOCK_ENTITIES.set(this.handle, blockEntities);
5962
}
6063
}

orebfuscator-core/src/main/java/dev/imprex/orebfuscator/OrebfuscatorDumpFile.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ private void initialize() {
5959
set("versions.orebfuscator", orebfuscator.orebfuscatorVersion().toString());
6060

6161
orebfuscator.systemMonitor().dump(createSection("system"));
62+
orebfuscator.executor().dump(createSection("executor"));
6263

6364
var statistics = createSection("statistics");
6465
orebfuscator.statisticsRegistry().entries().stream()

0 commit comments

Comments
 (0)