3
0
Mirror von https://github.com/ViaVersion/ViaVersion.git synchronisiert 2024-09-17 01:23:43 +02:00

Cleanup ConnectionData#update and fix doors

Dieser Commit ist enthalten in:
creeper123123321 2019-02-13 16:02:58 -02:00
Ursprung 0886fdabd3
Commit 7859f5ebd6
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
GPG-Schlüssel-ID: 0AC57D54786721D1
2 geänderte Dateien mit 22 neuen und 19 gelöschten Zeilen

Datei anzeigen

@ -9,7 +9,12 @@ import java.util.Map;
@Getter @Getter
@AllArgsConstructor @AllArgsConstructor
public enum BlockFace { public enum BlockFace {
NORTH(0, 0, -1, EnumAxis.Z), SOUTH(0, 0, 1, EnumAxis.Z), EAST(1, 0, 0, EnumAxis.X), WEST(-1, 0, 0, EnumAxis.X), TOP(0, 1, 0, EnumAxis.Y), BOTTOM(0, -1, 0, EnumAxis.Y); NORTH(0, 0, -1, EnumAxis.Z),
SOUTH(0, 0, 1, EnumAxis.Z),
EAST(1, 0, 0, EnumAxis.X),
WEST(-1, 0, 0, EnumAxis.X),
TOP(0, 1, 0, EnumAxis.Y),
BOTTOM(0, -1, 0, EnumAxis.Y);
private static Map<BlockFace, BlockFace> opposites = new HashMap<>(); private static Map<BlockFace, BlockFace> opposites = new HashMap<>();

Datei anzeigen

@ -27,25 +27,23 @@ public class ConnectionData {
static Set<Integer> occludingStates = new HashSet<>(); static Set<Integer> occludingStates = new HashSet<>();
public static void update(UserConnection user, Position position) { public static void update(UserConnection user, Position position) {
for (int x = -1; x <= 1; x++) { for (BlockFace face : BlockFace.values()) {
for (int z = -1; z <= 1; z++) { Position pos = new Position(
for (int y = -1; y <= 1; y++) { position.getX() + face.getModX(),
if (Math.abs(x) + Math.abs(y) + Math.abs(z) != 1) continue; position.getY() + face.getModY(),
Position pos = new Position(position.getX() + x, position.getY() + y, position.getZ() + z); position.getZ() + face.getModZ()
int blockState = Via.getManager().getProviders().get(BlockConnectionProvider.class).getBlockdata(user, pos); );
if (!connects(blockState)) continue; int blockState = Via.getManager().getProviders().get(BlockConnectionProvider.class).getBlockdata(user, pos);
int newBlockState = connect(user, pos, blockState); if (!connects(blockState)) continue;
if (newBlockState == blockState) continue; int newBlockState = connect(user, pos, blockState);
PacketWrapper blockUpdatePacket = new PacketWrapper(0x0B, null, user); PacketWrapper blockUpdatePacket = new PacketWrapper(0x0B, null, user);
blockUpdatePacket.write(Type.POSITION, pos); blockUpdatePacket.write(Type.POSITION, pos);
blockUpdatePacket.write(Type.VAR_INT, newBlockState); blockUpdatePacket.write(Type.VAR_INT, newBlockState);
try { try {
blockUpdatePacket.send(Protocol1_13To1_12_2.class, true, false); blockUpdatePacket.send(Protocol1_13To1_12_2.class, true, false);
} catch (Exception ex) { } catch (Exception ex) {
ex.printStackTrace(); ex.printStackTrace();
}
}
} }
} }
} }