Compare commits

..

No commits in common. "056c868f9f7f0c9fa0c4d11a67bb6c9411760a35" and "16ba5471e2dfe359dc04694061239d430da0f8f5" have entirely different histories.

4 changed files with 10 additions and 10 deletions

View file

@ -7,7 +7,7 @@ minecraft_version=1.20
yarn_mappings=1.20+build.1
loader_version=0.16.10
# Mod Properties
mod_version=1.1.1
mod_version=1.1.0
maven_group=arzumify.networked
archives_base_name=networked
# Dependencies

View file

@ -1,18 +1,17 @@
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<IntegerPresence> {
public class BasePresence implements PresenceProvider<ModifiablePresence> {
public BasePresence(short range, Vec3i... points) {
this.presence = new ModifiablePresence(range, points);
}
public final ModifiablePresence presence;
public Presence<IntegerPresence> presence() {
public Presence<ModifiablePresence> presence() {
return this.presence;
}
}

View file

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

View file

@ -2,14 +2,12 @@ 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 extends IntegerPresence implements Presence<IntegerPresence> {
public class ModifiablePresence implements Presence<ModifiablePresence> {
public ModifiablePresence(short range, Vec3i... basePositions) {
super(range, basePositions);
this.basePositions.addAll(List.of(basePositions));
this.range = range;
this.baseChunkPresence = getChunkPresence(this.basePositions);
@ -37,7 +35,7 @@ public class ModifiablePresence extends IntegerPresence implements Presence<Inte
}
@Override
public boolean Matches(Presence<IntegerPresence> presence) {
public boolean Matches(Presence<ModifiablePresence> presence) {
return presence instanceof ModifiablePresence && matches((ModifiablePresence) presence);
}
@ -56,6 +54,10 @@ public class ModifiablePresence extends IntegerPresence implements Presence<Inte
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) {