Skip to content

Commit 4b9f257

Browse files
committed
More "final" spam type refactors
1 parent 4476902 commit 4b9f257

8 files changed

Lines changed: 46 additions & 43 deletions

File tree

src/main/java/net/evmodder/evmod/Main.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ public class Main{
109109

110110
if(!settings.database) remoteSender = null;
111111
else{
112-
remoteSender = new RemoteServerSender(LOGGER, MiscUtils::getCurrentServerAddressHashCode);
112+
remoteSender = new RemoteServerSender(LOGGER, MiscUtils::getServerAddressHashCode);
113113
InitUtils.refreshRemoteServerSender(remoteSender); // Potentially using DUMMY_CLIENT_ID
114114
InitUtils.checkValidClientKeyAndRequestIfNot(remoteSender, configs); // Request a real clientId if needed
115115
}

src/main/java/net/evmodder/evmod/apis/MiscUtils.java

Lines changed: 35 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -11,33 +11,41 @@
1111
import net.minecraft.client.network.ServerInfo;
1212
import net.minecraft.entity.Entity;
1313
import net.minecraft.util.math.Vec3d;
14+
import net.minecraft.world.World;
1415

1516
public class MiscUtils{
16-
public static final boolean hasMoved(Entity entity){
17+
public static final boolean hasMoved(final Entity entity){
1718
return entity.prevX != entity.getX() || entity.prevY != entity.getY() || entity.prevZ != entity.getZ();
1819
}
1920

20-
public static final boolean isLookingAt(Entity entity, Entity player){
21-
Vec3d vec3d = player.getRotationVec(1.0F).normalize();
21+
public static final boolean isLookingAt(final Entity entity, final Entity player){
22+
final Vec3d vec3d = player.getRotationVec(1f).normalize();
2223
Vec3d vec3d2 = new Vec3d(entity.getX() - player.getX(), entity.getEyeY() - player.getEyeY(), entity.getZ() - player.getZ());
23-
double d = vec3d2.length();
24+
final double d = vec3d2.length();
2425
vec3d2 = new Vec3d(vec3d2.x / d, vec3d2.y / d, vec3d2.z / d);//normalize
25-
double e = vec3d.dotProduct(vec3d2);
26+
final double e = vec3d.dotProduct(vec3d2);
2627
return e > 1.0D - 0.03D / d ? /*client.player.canSee(entity)*/true : false;
2728
}
2829

30+
public static final byte getDimensionId(final World world){
31+
if(world == null) return -1;
32+
else if(world.getRegistryKey() == World.OVERWORLD) return 0;
33+
else if(world.getRegistryKey() == World.NETHER) return 1;
34+
else if(world.getRegistryKey() == World.END) return 2;
35+
else return 3;
36+
}
37+
2938
private static final String ADDRESS_2B2T = "2b2t.org"; // TODO: make EvMod more server-independent
3039
public static final int HASHCODE_2B2T = ADDRESS_2B2T.hashCode(); // -437714968;
31-
// private static final boolean USE_CANONICAL_IP = false;
32-
public static final String getServerAddress(ServerInfo serverInfo, boolean USE_CANONICAL_IP){
33-
if(serverInfo == null) return null;
40+
private static final String getServerAddress(final ServerInfo serverInfo, final boolean USE_CANONICAL_IP){
41+
// if(serverInfo == null) return null;
3442
final String name = Normalizer.normalize(serverInfo.name, Normalizer.Form.NFKD).toLowerCase().replaceAll("[^\\p{IsAlphabetic}\\p{IsDigit}]+", "");
3543
// TODO: Sync with proxy via some API, and have it tell us what server the backend is connecting to?
36-
if(name.contains("2b2tproxy")) return "2b2t.org";
44+
if(name.contains("2b2tproxy")) return ADDRESS_2B2T;
3745

38-
String address = serverInfo.address.toLowerCase();
46+
final String address = serverInfo.address.toLowerCase();
3947
switch(address){
40-
case "2b2t.org":
48+
case ADDRESS_2B2T: // "2b2t.org"
4149
case "connect.2b2t.org":
4250
return ADDRESS_2B2T;
4351
default:
@@ -55,22 +63,23 @@ public static final String getServerAddress(ServerInfo serverInfo, boolean USE_C
5563
return address;
5664
}
5765
}
58-
public static final String getServerAddress(){ // Will never return null
59-
MinecraftClient client = MinecraftClient.getInstance();
60-
if(client == null) return "null0";
61-
if(client.getCurrentServerEntry() == null){
62-
return client.getServer() == null ? "null1" : client.getServer().getSaveProperties().getLevelName();
63-
}
64-
return getServerAddress(client.getCurrentServerEntry(), /*useCanonical=*/false);
66+
private static final String getServerAddress(final boolean USE_CANONICAL_IP){
67+
final MinecraftClient client = MinecraftClient.getInstance();
68+
// if(client == null) return "null0";
69+
assert client != null;
70+
final ServerInfo serverInfo = client.getCurrentServerEntry();
71+
return serverInfo != null ? getServerAddress(serverInfo, USE_CANONICAL_IP)
72+
: client.getServer() != null ? client.getServer().getSaveProperties().getLevelName() : null;
6573
}
74+
public static final String getServerAddress(){return getServerAddress(/*useCanonical=*/false);}
6675

67-
public static final int getServerAddressHashCode(ServerInfo serverInfo){
68-
return serverInfo == null ? 0 : getServerAddress(serverInfo, /*useCanonical=*/true).hashCode();
69-
}
70-
public static final int getCurrentServerAddressHashCode(){
71-
MinecraftClient client = MinecraftClient.getInstance();
72-
if(client == null || client.getCurrentServerEntry() == null) return 0;
73-
return getServerAddress(client.getCurrentServerEntry(), /*useCanonical=*/true).hashCode();
76+
public static final int getServerAddressHashCode(){
77+
final String address = getServerAddress(/*useCanonical=*/true);
78+
return switch(address){
79+
case null -> 0;
80+
case ADDRESS_2B2T -> HASHCODE_2B2T; // Tiny optimization (no need to compute hash), since we store it anyway
81+
default -> address.hashCode();
82+
};
7483
}
7584

7685
// TODO: on db-side, create a function that can reverse uuid -> username
@@ -83,7 +92,7 @@ private static final UUID encodeAsUUID(final String str){
8392
return new UUID(bb.getLong(), bb.getLong());
8493
}
8594

86-
public static final byte[] getEncodedPlayerIds(MinecraftClient client){
95+
public static final byte[] getEncodedPlayerIds(final MinecraftClient client){
8796
final String sessionName = client.getSession().getUsername(), playerName = client.player.getGameProfile().getName();
8897
final UUID sessionUUID = client.getSession().getUuidOrNull(), playerUUID = client.player.getGameProfile().getId();
8998
final UUID usableSessionUUID = sessionUUID != null ? sessionUUID : MiscUtils.encodeAsUUID(sessionName);

src/main/java/net/evmodder/evmod/apis/RemoteServerSender.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,7 @@ private final byte[] packageAndEncryptMessage(final Command command, final byte[
5757
final ByteBuffer bb1 = ByteBuffer.allocate(16+message.length);
5858
bb1.putInt(CLIENT_ID);
5959
bb1.putInt(command.ordinal());
60-
final int addressCode = CURR_SERVER_HASHCODE.get();
61-
bb1.putInt(addressCode);
60+
bb1.putInt(CURR_SERVER_HASHCODE.get());
6261
bb1.putInt((int)System.currentTimeMillis());//Truncate, since we assume ping < Integer.MAX anyway
6362
bb1.put(message);
6463
final byte[] encryptedMessage = PacketHelper.encrypt(bb1.array(), CLIENT_KEY);

src/main/java/net/evmodder/evmod/commands/CommandTimeOnline.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public class CommandTimeOnline{
1818
private void tellTimeOnline(final FabricClientCommandSource source, final long lastJoinTs){
1919
final long timeOnline = System.currentTimeMillis() - lastJoinTs;
2020
source.sendFeedback(Text.literal("Time online: "+TextUtils_New.formatTime(timeOnline)));
21-
if(MiscUtils.getCurrentServerAddressHashCode() == MiscUtils.HASHCODE_2B2T){
21+
if(MiscUtils.getServerAddressHashCode() == MiscUtils.HASHCODE_2B2T){
2222
final long timeLeft = 8l*60l*60l*1000l - timeOnline;
2323
source.sendFeedback(Text.literal("Time left on 2b2t (assuming 8h limit): "+TextUtils_New.formatTime(timeLeft)));
2424
}

src/main/java/net/evmodder/evmod/listeners/BlockClickListener.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import java.nio.ByteBuffer;
44
import java.util.UUID;
55
import net.evmodder.evmod.Configs;
6+
import net.evmodder.evmod.apis.MiscUtils;
67
import net.fabricmc.fabric.api.event.player.UseBlockCallback;
78
import net.minecraft.util.ActionResult;
89
import net.minecraft.util.math.BlockPos;
@@ -13,12 +14,7 @@ public final class BlockClickListener{
1314
public static UUID lastClickedBlockHash; // TODO: Ewwww public static :(
1415

1516
private static final UUID getIdForBlockPos(final World world, final BlockPos pos){
16-
final byte dim;
17-
if(world == null) dim = -1;
18-
else if(world.getRegistryKey() == World.OVERWORLD) dim = 0;
19-
else if(world.getRegistryKey() == World.NETHER) dim = 1;
20-
else if(world.getRegistryKey() == World.END) dim = 2;
21-
else dim = 3;
17+
final byte dim = MiscUtils.getDimensionId(world);
2218
final byte[] bytes = ByteBuffer.allocate(13).put(dim).putInt(pos.getX()).putInt(pos.getY()).putInt(pos.getZ()).array();
2319
return UUID.nameUUIDFromBytes(bytes);
2420
}

src/main/java/net/evmodder/evmod/listeners/GameMessageFilter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ public GameMessageFilter(final RemoteServerSender rms){
111111
if(overlay) return true;
112112
if(!Configs.Database.SAVE_IGNORES.getDefaultBooleanValue()) return true;
113113

114-
final int onServer = MiscUtils.getCurrentServerAddressHashCode();
114+
final int onServer = MiscUtils.getServerAddressHashCode();
115115
if(onServer != currentServer){currentServer = onServer; recomputeIgnoreLists();}
116116
return !borrowedIgnoreList.containsKey(determineSender(msg));
117117
});

src/main/java/net/evmodder/evmod/listeners/ServerJoinListener.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,23 +22,22 @@ public class ServerJoinListener{
2222

2323
public static long lastJoinTs; // TODO: remove horrible public static eww
2424

25-
private void loadMapStateCaches(MinecraftClient client){
25+
private final void loadMapStateCaches(MinecraftClient client){
2626
if(Configs.Generic.MAP_CACHE_BY_ID.getBooleanValue()) MapStateCacher.loadMapStatesById();
2727
if(Configs.Generic.MAP_CACHE_BY_INV_POS.getBooleanValue())
2828
MapStateCacher.loadMapStatesByPos(client.player.getInventory().main, MapStateCacher.BY_PLAYER_INV);
2929
}
3030

31-
public ServerJoinListener(RemoteServerSender rms){
31+
public ServerJoinListener(final RemoteServerSender rms){
3232
ClientPlayConnectionEvents.JOIN.register(
3333
//ServerPlayNetworkHandler handler, PacketSender sender, MinecraftServer server
3434
(handler, _1, _2) ->
3535
{
3636
lastJoinTs = System.currentTimeMillis();
3737

38-
final int currServerHashCode = MiscUtils.getServerAddressHashCode(handler.getServerInfo());
39-
assert currServerHashCode == MiscUtils.getCurrentServerAddressHashCode();
38+
// assert MiscUtils.getServerAddressHashCode(handler.getServerInfo()) == MiscUtils.getServerAddressHashCode();
4039

41-
MinecraftClient client = MinecraftClient.getInstance();
40+
final MinecraftClient client = MinecraftClient.getInstance();
4241

4342
if(Configs.Generic.MAP_CACHE.getDefaultOptionListValue() != OptionMapStateCache.OFF){
4443
if(invLoadTimer != null){invLoadTimer.cancel(); invLoadTimer = null;}

src/main/java/net/evmodder/evmod/mixin/MixinClientPlayNetworkHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ private final void scheduleSaveMapsForServer(String addr, HashSet<UUID> seenForS
8080
}
8181

8282
@Inject(method="onMapUpdate", at=@At("TAIL"))
83-
private final void updateSeenMaps(MapUpdateS2CPacket packet, CallbackInfo _ci){
83+
private final void updateSeenMaps(final MapUpdateS2CPacket packet, final CallbackInfo _ci){
8484
final MapState state = MinecraftClient.getInstance().world.getMapState(packet.mapId());
8585
assert state != null && state.colors.length == 128*128;
8686
final int id = packet.mapId().id();

0 commit comments

Comments
 (0)