Skip to content

Commit 0fb26d3

Browse files
committed
Code style changes
1 parent 1a9682a commit 0fb26d3

14 files changed

+69
-34
lines changed

buildSrc/src/main/kotlin/Versions.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ object Versions {
1010

1111
const val ETERNALCODE_COMMONS = "1.1.3"
1212
const val MULTIFICATION = "1.1.4"
13+
const val PACKETS_EVENTS = "2.7.0"
1314

1415
const val ADVENTURE_PLATFORM_BUKKIT = "4.3.4"
1516
const val ADVENTURE_API = "4.17.0"

eternalcombat-plugin/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ dependencies {
5454
// Multification
5555
implementation("com.eternalcode:multification-bukkit:${Versions.MULTIFICATION}")
5656
implementation("com.eternalcode:multification-okaeri:${Versions.MULTIFICATION}")
57-
implementation("com.github.retrooper:packetevents-spigot:2.7.0")
57+
implementation("com.github.retrooper:packetevents-spigot:${Versions.PACKETS_EVENTS}")
5858
implementation("io.papermc:paperlib:${Versions.PAPERLIB}")
5959
}
6060

eternalcombat-plugin/src/main/java/com/eternalcode/combat/border/BorderActivePointsIndex.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.eternalcode.combat.border;
22

3+
import java.util.Collections;
34
import java.util.HashSet;
45
import java.util.Map;
56
import java.util.Set;
@@ -36,7 +37,7 @@ private static Set<BorderPoint> calculateRemovedPoints(Set<BorderPoint> points,
3637
removed.add(oldPoint);
3738
}
3839
}
39-
return removed;
40+
return Collections.unmodifiableSet(removed);
4041
}
4142

4243
Set<BorderPoint> getPoints(String world, UUID player) {

eternalcombat-plugin/src/main/java/com/eternalcode/combat/border/BorderServiceImpl.java

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public void updateBorder(Player player, Location location) {
3939
String world = player.getWorld().getName();
4040

4141
if (result.isEmpty()) {
42-
if (this.activeBorderIndex.hasPoints(world, player.getUniqueId())) {
42+
if (!this.activeBorderIndex.hasPoints(world, player.getUniqueId())) {
4343
return;
4444
}
4545

@@ -56,10 +56,10 @@ public void updateBorder(Player player, Location location) {
5656
points = event.getPoints();
5757
}
5858

59-
Set<BorderPoint> toRemove = this.activeBorderIndex.putPoints(world, player.getUniqueId(), points);
59+
Set<BorderPoint> removed = this.activeBorderIndex.putPoints(world, player.getUniqueId(), points);
6060

61-
if (!toRemove.isEmpty()) {
62-
eventCaller.publishEvent(new BorderHideAsyncEvent(player, toRemove));
61+
if (!removed.isEmpty()) {
62+
eventCaller.publishEvent(new BorderHideAsyncEvent(player, removed));
6363
}
6464
});
6565
}
@@ -68,10 +68,11 @@ public void updateBorder(Player player, Location location) {
6868
public void clearBorder(Player player) {
6969
World world = player.getWorld();
7070
UUID uniqueId = player.getUniqueId();
71+
7172
scheduler.async(() -> {
72-
Set<BorderPoint> borderPoints = this.activeBorderIndex.removePoints(world.getName(), uniqueId);
73-
if (!borderPoints.isEmpty()) {
74-
eventCaller.publishEvent(new BorderHideAsyncEvent(player, borderPoints));
73+
Set<BorderPoint> removed = this.activeBorderIndex.removePoints(world.getName(), uniqueId);
74+
if (!removed.isEmpty()) {
75+
eventCaller.publishEvent(new BorderHideAsyncEvent(player, removed));
7576
}
7677
});
7778
}
@@ -113,6 +114,7 @@ private List<BorderPoint> resolveBorderPoints(BorderTrigger trigger, Location pl
113114

114115
List<BorderPoint> points = new ArrayList<>();
115116

117+
// this code is ugly but is fast
116118
if (borderMin.y() >= realMinY) {
117119
for (int currentX = realMinX; currentX <= realMaxX - 1; currentX++) {
118120
for (int currentZ = realMinZ; currentZ <= realMaxZ - 1; currentZ++) {

eternalcombat-plugin/src/main/java/com/eternalcode/combat/border/BorderTriggerIndex.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@ private BorderTriggerIndex(Server server, Scheduler scheduler, RegionProvider pr
2929
this.settings = settings;
3030
}
3131

32-
private void update() {
32+
private void updateWorlds() {
3333
for (World world : server.getWorlds()) {
34-
updateWorld(world.getName(), provider.getRegions(world));
34+
this.updateWorld(world.getName(), provider.getRegions(world));
3535
}
3636
}
3737

@@ -56,7 +56,7 @@ private void updateWorld(String world, Collection<Region> regions) {
5656

5757
static BorderTriggerIndex started(Server server, Scheduler scheduler, RegionProvider provider, BorderSettings settings) {
5858
BorderTriggerIndex index = new BorderTriggerIndex(server, scheduler, provider, settings);
59-
scheduler.timerSync(() -> index.update(), Duration.ZERO, settings.indexRefreshDelay());
59+
scheduler.timerSync(() -> index.updateWorlds(), Duration.ZERO, settings.indexRefreshDelay());
6060
return index;
6161
}
6262

eternalcombat-plugin/src/main/java/com/eternalcode/combat/border/BorderTriggerIndexBucket.java

Lines changed: 34 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,27 @@
88

99
class BorderTriggerIndexBucket {
1010

11+
/**
12+
* Represents "00000000 00000000 00000000 00000000 11111111 11111111 11111111 11111111" bit mask.
13+
* This allows removing left bits when used with AND bit operator.
14+
* */
15+
private static final long LEFT_INT_MASK = 0xFFFFFFFFL;
16+
17+
/**
18+
* Allows packing the coordination on one axis from 256 into 1
19+
* Why? - We divide the world into fragments of size 256x256
20+
* Why it is 8? Because when you shift bits, then the value will be smaller / bigger in scale 2^n
21+
* E.g `2^4 = 16` (standard minecraft chunk size) in our case, it is `2^8 = 256`
22+
*/
23+
private static final int CHUNK_SHIFT = 8;
24+
1125
private final Map<Long, Set<BorderTrigger>> index = new HashMap<>();
1226

1327
private BorderTriggerIndexBucket() {
1428
}
1529

1630
Set<BorderTrigger> getTriggers(int x, int z) {
17-
long position = packChunk(x >> 8, z >> 8);
31+
long position = packChunk(x >> CHUNK_SHIFT, z >> CHUNK_SHIFT);
1832
return this.index.getOrDefault(position, Set.of());
1933
}
2034

@@ -30,10 +44,10 @@ private BorderTriggerIndexBucket with(Collection<BorderTrigger> triggers) {
3044
}
3145

3246
private void withTrigger(BorderTrigger trigger) {
33-
int minX = trigger.min().x() >> 8;
34-
int minZ = trigger.min().z() >> 8;
35-
int maxX = trigger.max().x() >> 8;
36-
int maxZ = trigger.max().z() >> 8;
47+
int minX = trigger.min().x() >> CHUNK_SHIFT;
48+
int minZ = trigger.min().z() >> CHUNK_SHIFT;
49+
int maxX = trigger.max().x() >> CHUNK_SHIFT;
50+
int maxZ = trigger.max().z() >> CHUNK_SHIFT;
3751

3852
int startX = Math.min(minX, maxX);
3953
int startZ = Math.min(minZ, maxZ);
@@ -49,8 +63,22 @@ private void withTrigger(BorderTrigger trigger) {
4963
}
5064
}
5165

66+
/**
67+
* Packs two ints into long value.
68+
* <p>
69+
* For example for values:
70+
* <ul>
71+
* <li>X - 00000000 00000000 00000000 00000001 </li>
72+
* <li>Z - 00000000 00000000 00000000 00000111 </li>
73+
* </ul>
74+
* This method will return:<br>
75+
* 00000000 00000000 00000000 00000111 00000000 00000000 00000000 00000001
76+
* </p>
77+
* @param bigChunkX right int to pack
78+
* @param bigChunkZ left int to pack
79+
*/
5280
private static long packChunk(int bigChunkX, int bigChunkZ) {
53-
return (long) bigChunkX & 0xFFFFFFFFL | ((long) bigChunkZ & 0xFFFFFFFFL) << 32;
81+
return (long) bigChunkX & LEFT_INT_MASK | ((long) bigChunkZ & LEFT_INT_MASK) << Integer.SIZE;
5482
}
5583

5684
}

eternalcombat-plugin/src/main/java/com/eternalcode/combat/border/LazyBorderResult.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import java.util.List;
66
import java.util.Set;
77
import java.util.stream.Collectors;
8+
89
class LazyBorderResult implements BorderResult {
910

1011
private final List<Lazy<List<BorderPoint>>> borderPoints = new ArrayList<>();

eternalcombat-plugin/src/main/java/com/eternalcode/combat/border/event/BorderHideAsyncEvent.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import com.eternalcode.combat.border.BorderPoint;
44
import java.util.Set;
5-
import java.util.UUID;
65
import org.bukkit.entity.Player;
76
import org.bukkit.event.Event;
87
import org.bukkit.event.HandlerList;
@@ -22,11 +21,11 @@ public BorderHideAsyncEvent(Player player, Set<BorderPoint> points) {
2221
}
2322

2423
public Player getPlayer() {
25-
return player;
24+
return this.player;
2625
}
2726

2827
public Set<BorderPoint> getPoints() {
29-
return points;
28+
return this.points;
3029
}
3130

3231
@NotNull

eternalcombat-plugin/src/main/java/com/eternalcode/combat/border/particle/BorderBlockController.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ public class BorderBlockController implements Listener {
4242

4343
private final BorderService borderService;
4444
private final Server server;
45+
4546
private final Set<UUID> playersToUpdate = ConcurrentHashMap.newKeySet();
4647
private final Map<UUID, Object> lockedPlayers = new ConcurrentHashMap<>();
4748
private final Cache<ChunkLocation, ChunkSnapshot> chunkCache = CacheBuilder.newBuilder()
@@ -57,7 +58,7 @@ public BorderBlockController(BorderService borderService, Scheduler scheduler, S
5758
@EventHandler
5859
void onBorderShowAsyncEvent(BorderShowAsyncEvent event) {
5960
Player player = event.getPlayer();
60-
Set<BorderPoint> borderPoints = processChunks(player, event.getPoints());
61+
Set<BorderPoint> borderPoints = this.processChunks(player, event.getPoints());
6162

6263
event.setPoints(borderPoints);
6364
this.playBlocks(player, borderPoints);
@@ -85,7 +86,7 @@ private void updatePlayers() {
8586
continue;
8687
}
8788

88-
updatePlayer(uuid, player);
89+
this.updatePlayer(uuid, player);
8990
}
9091
}
9192

@@ -99,14 +100,14 @@ private void updatePlayer(UUID uuid, Player player) {
99100
return;
100101
}
101102

102-
playBlocks(player, border);
103+
this.playBlocks(player, border);
103104
}
104105
}
105106

106107
record ChunkLocation(int x, int z) {}
107108

108109
public void playBlocks(Player player, Collection<BorderPoint> blocks) {
109-
Map<Vector3i, Set<BorderPoint>> chunksToUpdate = splitToChunks(blocks);
110+
Map<Vector3i, Set<BorderPoint>> chunksToUpdate = this.splitToChunks(blocks);
110111

111112
for (Map.Entry<Vector3i, Set<BorderPoint>> entry : chunksToUpdate.entrySet()) {
112113
Vector3i chunk = entry.getKey();

eternalcombat-plugin/src/main/java/com/eternalcode/combat/border/particle/BorderParticleController.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ void onBorderShowAsyncEvent(BorderShowAsyncEvent event) {
4646
this.playersToUpdate.add(event.getPlayer().getUniqueId());
4747

4848
for (BorderPoint point : event.getPoints()) {
49-
playParticle(event.getPlayer(), point);
49+
this.playParticle(event.getPlayer(), point);
5050
}
5151
}
5252

@@ -69,7 +69,7 @@ private void updatePlayers() {
6969
}
7070

7171
for (BorderPoint point : border) {
72-
playParticle(player, point);
72+
this.playParticle(player, point);
7373
}
7474
}
7575
}

0 commit comments

Comments
 (0)