Converted into IntegerPresences

This commit is contained in:
Tracker-Friendly 2025-03-02 11:23:06 +00:00
parent 16ba5471e2
commit d885b22062
3 changed files with 9 additions and 9 deletions

View file

@ -1,17 +1,18 @@
package arzumify.networked.impl;
import arzumify.presence.maths.Vec3i;
import arzumify.presence.presences.IntegerPresence;
import arzumify.presence.presences.Presence;
import arzumify.presence.presences.PresenceProvider;
public class BasePresence implements PresenceProvider<ModifiablePresence> {
public class BasePresence implements PresenceProvider<IntegerPresence> {
public BasePresence(short range, Vec3i... points) {
this.presence = new ModifiablePresence(range, points);
}
public final ModifiablePresence presence;
public Presence<ModifiablePresence> presence() {
public Presence<IntegerPresence> presence() {
return this.presence;
}
}

View file

@ -1,8 +1,9 @@
package arzumify.networked.impl;
import arzumify.presence.matchmaker.Channel;
import arzumify.presence.presences.IntegerPresence;
public class MatchMaker {
public static arzumify.presence.matchmaker.MatchMaker<ModifiablePresence, BasePresence> matchMaker = new arzumify.presence.matchmaker.MatchMaker<>();
public static arzumify.presence.matchmaker.MatchMaker<IntegerPresence, BasePresence> matchMaker = new arzumify.presence.matchmaker.MatchMaker<>();
public static final Channel networkDiscovery = new Channel();
}

View file

@ -2,12 +2,14 @@ package arzumify.networked.impl;
import arzumify.presence.maths.Vec2i;
import arzumify.presence.maths.Vec3i;
import arzumify.presence.presences.IntegerPresence;
import arzumify.presence.presences.Presence;
import java.util.*;
public class ModifiablePresence implements Presence<ModifiablePresence> {
public class ModifiablePresence extends IntegerPresence implements Presence<IntegerPresence> {
public ModifiablePresence(short range, Vec3i... basePositions) {
super(range, basePositions);
this.basePositions.addAll(List.of(basePositions));
this.range = range;
this.baseChunkPresence = getChunkPresence(this.basePositions);
@ -35,7 +37,7 @@ public class ModifiablePresence implements Presence<ModifiablePresence> {
}
@Override
public boolean Matches(Presence<ModifiablePresence> presence) {
public boolean Matches(Presence<IntegerPresence> presence) {
return presence instanceof ModifiablePresence && matches((ModifiablePresence) presence);
}
@ -54,10 +56,6 @@ public class ModifiablePresence implements Presence<ModifiablePresence> {
return false;
}
public int ManhattanDistance(Vec3i a, Vec3i b) {
return Math.abs(a.x() - b.x()) + Math.abs(a.y() - b.y()) + Math.abs(a.z() - b.z());
}
private static final Map<Short, HashSet<Vec3i>> cachedCollisionShapes = new HashMap<>();
private static HashSet<Vec3i> ComputeCollisionShape(short range, Set<Vec3i> basePositions) {