Skip to content

Commit da65c9d

Browse files
authored
Improve/cleanup injector (part 2) (#3042)
* fix(#3024): cache noop accessor on ctor lookup failure * fix(#3023): add client intent enum wrapper
1 parent 47bcd53 commit da65c9d

21 files changed

+519
-1136
lines changed

src/main/java/com/comphenix/protocol/concurrency/AbstractIntervalTree.java

Lines changed: 0 additions & 494 deletions
This file was deleted.

src/main/java/com/comphenix/protocol/concurrency/BlockingHashMap.java

Lines changed: 0 additions & 266 deletions
This file was deleted.

src/main/java/com/comphenix/protocol/events/AbstractStructure.java

Lines changed: 67 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
11
package com.comphenix.protocol.events;
22

3-
import com.comphenix.protocol.PacketType;
4-
import com.comphenix.protocol.reflect.EquivalentConverter;
5-
import com.comphenix.protocol.reflect.StructureModifier;
6-
import com.comphenix.protocol.utility.MinecraftReflection;
7-
import com.comphenix.protocol.utility.MinecraftVersion;
8-
import com.comphenix.protocol.utility.StreamSerializer;
9-
import com.comphenix.protocol.wrappers.*;
10-
import com.comphenix.protocol.wrappers.WrappedProfilePublicKey.WrappedProfileKeyData;
11-
import com.comphenix.protocol.wrappers.nbt.NbtBase;
12-
import com.comphenix.protocol.wrappers.nbt.NbtCompound;
13-
import com.comphenix.protocol.wrappers.nbt.NbtFactory;
14-
import com.google.common.base.Preconditions;
3+
import java.lang.reflect.Array;
4+
import java.time.Instant;
5+
import java.util.ArrayList;
6+
import java.util.Collection;
7+
import java.util.EnumSet;
8+
import java.util.List;
9+
import java.util.Map;
10+
import java.util.Optional;
11+
import java.util.Set;
12+
import java.util.UUID;
13+
14+
import javax.annotation.Nonnull;
15+
1516
import org.apache.commons.lang.Validate;
1617
import org.bukkit.Material;
1718
import org.bukkit.Sound;
@@ -25,10 +26,49 @@
2526
import org.bukkit.util.Vector;
2627
import org.jetbrains.annotations.NotNull;
2728

28-
import javax.annotation.Nonnull;
29-
import java.lang.reflect.Array;
30-
import java.time.Instant;
31-
import java.util.*;
29+
import com.comphenix.protocol.PacketType;
30+
import com.comphenix.protocol.reflect.EquivalentConverter;
31+
import com.comphenix.protocol.reflect.StructureModifier;
32+
import com.comphenix.protocol.utility.MinecraftReflection;
33+
import com.comphenix.protocol.utility.MinecraftVersion;
34+
import com.comphenix.protocol.utility.StreamSerializer;
35+
import com.comphenix.protocol.wrappers.BlockPosition;
36+
import com.comphenix.protocol.wrappers.BukkitConverters;
37+
import com.comphenix.protocol.wrappers.ChunkCoordIntPair;
38+
import com.comphenix.protocol.wrappers.Converters;
39+
import com.comphenix.protocol.wrappers.CustomPacketPayloadWrapper;
40+
import com.comphenix.protocol.wrappers.Either;
41+
import com.comphenix.protocol.wrappers.EnumWrappers;
42+
import com.comphenix.protocol.wrappers.MinecraftKey;
43+
import com.comphenix.protocol.wrappers.MovingObjectPositionBlock;
44+
import com.comphenix.protocol.wrappers.MultiBlockChangeInfo;
45+
import com.comphenix.protocol.wrappers.Pair;
46+
import com.comphenix.protocol.wrappers.PlayerInfoData;
47+
import com.comphenix.protocol.wrappers.WrappedAttribute;
48+
import com.comphenix.protocol.wrappers.WrappedBlockData;
49+
import com.comphenix.protocol.wrappers.WrappedChatComponent;
50+
import com.comphenix.protocol.wrappers.WrappedDataValue;
51+
import com.comphenix.protocol.wrappers.WrappedDataWatcher;
52+
import com.comphenix.protocol.wrappers.WrappedEnumEntityUseAction;
53+
import com.comphenix.protocol.wrappers.WrappedGameProfile;
54+
import com.comphenix.protocol.wrappers.WrappedLevelChunkData;
55+
import com.comphenix.protocol.wrappers.WrappedMessageSignature;
56+
import com.comphenix.protocol.wrappers.WrappedNumberFormat;
57+
import com.comphenix.protocol.wrappers.WrappedParticle;
58+
import com.comphenix.protocol.wrappers.WrappedProfilePublicKey;
59+
import com.comphenix.protocol.wrappers.WrappedProfilePublicKey.WrappedProfileKeyData;
60+
import com.comphenix.protocol.wrappers.WrappedRegistrable;
61+
import com.comphenix.protocol.wrappers.WrappedRegistry;
62+
import com.comphenix.protocol.wrappers.WrappedRemoteChatSessionData;
63+
import com.comphenix.protocol.wrappers.WrappedSaltedSignature;
64+
import com.comphenix.protocol.wrappers.WrappedServerPing;
65+
import com.comphenix.protocol.wrappers.WrappedStatistic;
66+
import com.comphenix.protocol.wrappers.WrappedTeamParameters;
67+
import com.comphenix.protocol.wrappers.WrappedWatchableObject;
68+
import com.comphenix.protocol.wrappers.nbt.NbtBase;
69+
import com.comphenix.protocol.wrappers.nbt.NbtCompound;
70+
import com.comphenix.protocol.wrappers.nbt.NbtFactory;
71+
import com.google.common.base.Preconditions;
3272

3373
public abstract class AbstractStructure {
3474
protected transient Object handle;
@@ -1134,6 +1174,17 @@ public StructureModifier<WrappedMessageSignature> getMessageSignatures() {
11341174
);
11351175
}
11361176

1177+
/**
1178+
* Retrieve a read/write structure for the ClientIntent enum used in Handshake/SetProtocol packet
1179+
* @return A modifier for Protocol enum fields.
1180+
*/
1181+
public StructureModifier<EnumWrappers.ClientIntent> getClientIntents() {
1182+
// Convert to and from the wrapper
1183+
return structureModifier.withType(
1184+
EnumWrappers.getClientIntentClass(),
1185+
EnumWrappers.getClientIntentConverter());
1186+
}
1187+
11371188
/**
11381189
* @param leftConverter converter for left values
11391190
* @param rightConverter converter for right values

0 commit comments

Comments
 (0)