Cleanup prev commit

This commit is contained in:
Vincent Lee committed 2016-04-12 13:47:18 -05:00
1 parent 7a36e543ad
commit a6c2631946
3 files changed
+23 -35

No files matched your search

@@ -4,14 +4,22 @@ import net.minecraft.tileentity.TileEntity;
public class TileSignature {
public final TileEntity tile;
public final boolean remoteWorld;
private final TileEntity tile;
private final boolean remoteWorld;
public TileSignature(TileEntity tile, boolean remoteWorld) {
this.tile = tile;
this.remoteWorld = remoteWorld;
}
public TileEntity getTile() {
return tile;
}
public boolean isRemote() {
return remoteWorld;
}
@Override
public int hashCode() {
return Boolean.hashCode(remoteWorld) ^ System.identityHashCode(tile);
@@ -76,10 +76,10 @@ public class ClientTickHandler {
if(player != null) {
if(PlayerHelper.hasHeldItemClass(player, ModItems.twigWand)) {
for(TileSignature sig : ImmutableList.copyOf(ManaNetworkHandler.instance.getAllCollectorsInWorld(Minecraft.getMinecraft().theWorld))) {
if(!sig.remoteWorld)
if(!sig.isRemote())
continue;
TileEntity tile = sig.tile;
TileEntity tile = sig.getTile();
if(tile instanceof IManaCollector)
((IManaCollector) tile).onClientDisplayTick();
}
@@ -11,11 +11,13 @@
package vazkii.botania.common.core.handler;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.WeakHashMap;
import java.util.function.BinaryOperator;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.math.BlockPos;
@@ -77,27 +79,13 @@ public final class ManaNetworkHandler implements IManaNetwork {
}
private synchronized TileEntity getClosest(Set<TileSignature> tiles, BlockPos pos, boolean remoteCheck, int limit) {
float closest = Float.MAX_VALUE;
TileEntity closestTile = null;
for(TileSignature sig : tiles) {
if(sig.remoteWorld != remoteCheck)
continue;
TileEntity tile = sig.tile;
if(tile.isInvalid())
continue;
float distance = MathHelper.pointDistanceSpace(tile.getPos(), pos);
if(distance > limit)
continue;
if(distance < closest) {
closest = distance;
closestTile = tile;
}
}
return closestTile;
return tiles.stream()
.filter(ts -> ts.isRemote() == remoteCheck)
.map(TileSignature::getTile)
.filter(t -> !t.isInvalid())
.filter(t -> t.getPos().distanceSq(pos) <= limit * limit)
.reduce(BinaryOperator.minBy(Comparator.comparing(t -> t.getPos().distanceSq(pos), Double::compare)))
.orElse(null);
}
private synchronized void remove(Map<World, Set<TileSignature>> map, TileEntity tile) {
@@ -111,11 +99,7 @@ public final class ManaNetworkHandler implements IManaNetwork {
private synchronized void add(Map<World, Set<TileSignature>> map, TileEntity tile) {
World world = tile.getWorld();
Set<TileSignature> tiles;
if(!map.containsKey(world))
map.put(world, new HashSet<>());
map.putIfAbsent(world, new HashSet<>());
map.get(world).add(new TileSignature(tile, tile.getWorld().isRemote));
}
@@ -130,11 +114,7 @@ public final class ManaNetworkHandler implements IManaNetwork {
}
private Set<TileSignature> getAllInWorld(Map<World, Set<TileSignature>> map, World world) {
if(!map.containsKey(world))
return new HashSet<>();
return map.get(world);
return map.getOrDefault(world, new HashSet<>());
}
}