Skip to content

Commit 72e60f7

Browse files
committed
Merge branch 'master' into MiraculixxT-feat/entity
2 parents b6d890e + e995a66 commit 72e60f7

File tree

134 files changed

+6081
-2794
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

134 files changed

+6081
-2794
lines changed

api

buildSrc/src/main/kotlin/bluemap.base.gradle.kts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ repositories {
1212
maven ("https://repo.bluecolored.de/releases") {
1313
content { includeGroupByRegex ("de\\.bluecolored.*") }
1414
}
15+
maven ("https://repo.bluecolored.de/snapshots") {
16+
content { includeGroupByRegex ("de\\.bluecolored.*") }
17+
}
1518
maven ("https://hub.spigotmc.org/nexus/content/repositories/snapshots/") {
1619
content { includeGroup ("org.spigotmc") }
1720
}

buildSrc/src/main/kotlin/versioning.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ fun Project.gitHash(): String {
88
}
99

1010
fun Project.gitClean(): Boolean {
11-
return runCommand("git status --porcelain", "NOT_CLEAN").isEmpty()
11+
if (runCommand("git update-index --refresh", "NOT-CLEAN").equals("NOT-CLEAN")) return false;
12+
return runCommand("git diff-index HEAD --", "NOT-CLEAN").isEmpty();
1213
}
1314

1415
fun Project.gitVersion(): String {
@@ -52,8 +53,10 @@ private fun Project.runCommand(cmd: String, fallback: String? = null): String {
5253
throw TimeoutException("Failed to execute command: '$cmd'")
5354
}
5455
.run {
56+
val exitCode = waitFor()
57+
if (exitCode == 0) return inputStream.bufferedReader().readText().trim()
58+
5559
val error = errorStream.bufferedReader().readText().trim()
56-
if (error.isEmpty()) return inputStream.bufferedReader().readText().trim()
5760
logger.warn("Failed to execute command '$cmd': $error")
5861
if (fallback != null) return fallback
5962
throw IOException(error)

common/build.gradle.kts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,11 @@ plugins {
99
dependencies {
1010
api ( project( ":core" ) )
1111

12-
api ( libs.brigadier )
12+
api ( libs.adventure.api )
13+
api ( libs.bluecommands.core )
14+
15+
compileOnly ( libs.bluecommands.brigadier )
16+
compileOnly ( libs.brigadier )
1317

1418
compileOnly ( libs.jetbrains.annotations )
1519
compileOnly ( libs.lombok )

common/src/main/java/de/bluecolored/bluemap/common/BlueMapService.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,10 @@ public synchronized Storage getOrLoadStorage(String storageId) throws Configurat
313313
return storage;
314314
}
315315

316+
public Map<String, Storage> getLoadedStorages() {
317+
return Collections.unmodifiableMap(storages);
318+
}
319+
316320
public @Nullable ResourcePack getResourcePack() {
317321
return resourcePack;
318322
}

common/src/main/java/de/bluecolored/bluemap/common/api/AssetStorageImpl.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,12 @@
2727
import de.bluecolored.bluemap.api.AssetStorage;
2828
import de.bluecolored.bluemap.core.storage.MapStorage;
2929
import de.bluecolored.bluemap.core.storage.compression.CompressedInputStream;
30+
import lombok.NonNull;
3031

3132
import java.io.IOException;
3233
import java.io.InputStream;
3334
import java.io.OutputStream;
35+
import java.util.Objects;
3436
import java.util.Optional;
3537

3638
public class AssetStorageImpl implements AssetStorage {
@@ -44,29 +46,29 @@ public AssetStorageImpl(MapStorage storage, String mapId) {
4446
}
4547

4648
@Override
47-
public OutputStream writeAsset(String name) throws IOException {
49+
public OutputStream writeAsset(@NonNull String name) throws IOException {
4850
return storage.asset(name).write();
4951
}
5052

5153
@Override
52-
public Optional<InputStream> readAsset(String name) throws IOException {
54+
public Optional<InputStream> readAsset(@NonNull String name) throws IOException {
5355
CompressedInputStream in = storage.asset(name).read();
5456
if (in == null) return Optional.empty();
5557
return Optional.of(in.decompress());
5658
}
5759

5860
@Override
59-
public boolean assetExists(String name) throws IOException {
61+
public boolean assetExists(@NonNull String name) throws IOException {
6062
return storage.asset(name).exists();
6163
}
6264

6365
@Override
64-
public String getAssetUrl(String name) {
66+
public String getAssetUrl(@NonNull String name) {
6567
return "maps/" + mapId + "/assets/" + MapStorage.escapeAssetName(name);
6668
}
6769

6870
@Override
69-
public void deleteAsset(String name) throws IOException {
71+
public void deleteAsset(@NonNull String name) throws IOException {
7072
storage.asset(name).delete();
7173
}
7274

common/src/main/java/de/bluecolored/bluemap/common/api/BlueMapAPIImpl.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import de.bluecolored.bluemap.core.logger.Logger;
3737
import de.bluecolored.bluemap.core.map.BmMap;
3838
import de.bluecolored.bluemap.core.world.World;
39+
import lombok.NonNull;
3940
import org.jetbrains.annotations.Nullable;
4041

4142
import java.util.Collection;
@@ -98,7 +99,7 @@ public Collection<BlueMapWorld> getWorlds() {
9899
}
99100

100101
@Override
101-
public Optional<BlueMapWorld> getWorld(Object world) {
102+
public Optional<BlueMapWorld> getWorld(@NonNull Object world) {
102103
return worldCache.get(world);
103104
}
104105

@@ -126,7 +127,7 @@ public Optional<BlueMapWorld> getWorldUncached(Object world) {
126127
}
127128

128129
@Override
129-
public Optional<BlueMapMap> getMap(String id) {
130+
public Optional<BlueMapMap> getMap(@NonNull String id) {
130131
return mapCache.get(id);
131132
}
132133

common/src/main/java/de/bluecolored/bluemap/common/api/BlueMapMapImpl.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,11 @@
3030
import de.bluecolored.bluemap.api.BlueMapWorld;
3131
import de.bluecolored.bluemap.api.markers.MarkerSet;
3232
import de.bluecolored.bluemap.common.plugin.Plugin;
33+
import de.bluecolored.bluemap.common.rendermanager.MapUpdatePreparationTask;
3334
import de.bluecolored.bluemap.common.rendermanager.MapUpdateTask;
3435
import de.bluecolored.bluemap.common.rendermanager.WorldRegionRenderTask;
3536
import de.bluecolored.bluemap.core.map.BmMap;
37+
import lombok.NonNull;
3638
import org.jetbrains.annotations.Nullable;
3739

3840
import java.lang.ref.WeakReference;
@@ -90,7 +92,7 @@ public Vector2i getTileOffset() {
9092
}
9193

9294
@Override
93-
public void setTileFilter(Predicate<Vector2i> filter) {
95+
public void setTileFilter(@NonNull Predicate<Vector2i> filter) {
9496
unpack(map).setTileFilter(filter);
9597
}
9698

@@ -117,7 +119,8 @@ private synchronized void unfreeze() {
117119
BmMap map = unpack(this.map);
118120
plugin.startWatchingMap(map);
119121
plugin.getPluginState().getMapState(map).setUpdateEnabled(true);
120-
plugin.getRenderManager().scheduleRenderTask(new MapUpdateTask(map));
122+
plugin.getRenderManager().scheduleRenderTaskNext(MapUpdatePreparationTask
123+
.updateMap(map, plugin.getRenderManager()));
121124
}
122125

123126
private synchronized void freeze() {

common/src/main/java/de/bluecolored/bluemap/common/api/PluginImpl.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import de.bluecolored.bluemap.api.plugin.PlayerIconFactory;
2929
import de.bluecolored.bluemap.api.plugin.SkinProvider;
3030
import de.bluecolored.bluemap.common.plugin.Plugin;
31+
import lombok.NonNull;
3132

3233
public class PluginImpl implements de.bluecolored.bluemap.api.plugin.Plugin {
3334

@@ -43,7 +44,7 @@ public SkinProvider getSkinProvider() {
4344
}
4445

4546
@Override
46-
public void setSkinProvider(SkinProvider skinProvider) {
47+
public void setSkinProvider(@NonNull SkinProvider skinProvider) {
4748
plugin.getSkinUpdater().setSkinProvider(skinProvider);
4849
}
4950

common/src/main/java/de/bluecolored/bluemap/common/api/RenderManagerImpl.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,10 @@
2929
import de.bluecolored.bluemap.api.RenderManager;
3030
import de.bluecolored.bluemap.common.plugin.Plugin;
3131
import de.bluecolored.bluemap.common.rendermanager.MapPurgeTask;
32+
import de.bluecolored.bluemap.common.rendermanager.MapUpdatePreparationTask;
3233
import de.bluecolored.bluemap.common.rendermanager.MapUpdateTask;
3334
import de.bluecolored.bluemap.common.rendermanager.TileUpdateStrategy;
35+
import lombok.NonNull;
3436

3537
import java.util.Collection;
3638

@@ -47,19 +49,20 @@ public RenderManagerImpl(BlueMapAPIImpl api, Plugin plugin) {
4749
}
4850

4951
@Override
50-
public boolean scheduleMapUpdateTask(BlueMapMap map, boolean force) {
52+
public boolean scheduleMapUpdateTask(@NonNull BlueMapMap map, boolean force) {
5153
BlueMapMapImpl cmap = castMap(map);
52-
return renderManager.scheduleRenderTask(new MapUpdateTask(cmap.map(), TileUpdateStrategy.fixed(force)));
54+
return renderManager.scheduleRenderTask(MapUpdatePreparationTask
55+
.updateMap(cmap.map(), TileUpdateStrategy.fixed(force), renderManager));
5356
}
5457

5558
@Override
56-
public boolean scheduleMapUpdateTask(BlueMapMap map, Collection<Vector2i> regions, boolean force) {
59+
public boolean scheduleMapUpdateTask(@NonNull BlueMapMap map, Collection<Vector2i> regions, boolean force) {
5760
BlueMapMapImpl cmap = castMap(map);
5861
return renderManager.scheduleRenderTask(new MapUpdateTask(cmap.map(), regions, TileUpdateStrategy.fixed(force)));
5962
}
6063

6164
@Override
62-
public boolean scheduleMapPurgeTask(BlueMapMap map) {
65+
public boolean scheduleMapPurgeTask(@NonNull BlueMapMap map) {
6366
BlueMapMapImpl cmap = castMap(map);
6467
return renderManager.scheduleRenderTask(new MapPurgeTask(cmap.map()));
6568
}

0 commit comments

Comments
 (0)