updated the threading documentation
parent
b43af782f9
commit
354b94d1fd
|
@ -3,7 +3,7 @@ package amidst.mojangapi.world;
|
|||
import java.util.List;
|
||||
|
||||
import amidst.documentation.CalledByAny;
|
||||
import amidst.documentation.NotThreadSafe;
|
||||
import amidst.documentation.ThreadSafe;
|
||||
import amidst.mojangapi.world.icon.WorldIcon;
|
||||
import amidst.mojangapi.world.icon.producer.CachedWorldIconProducer;
|
||||
import amidst.mojangapi.world.icon.producer.WorldIconProducer;
|
||||
|
@ -11,12 +11,7 @@ import amidst.mojangapi.world.oracle.BiomeDataOracle;
|
|||
import amidst.mojangapi.world.oracle.SlimeChunkOracle;
|
||||
import amidst.mojangapi.world.player.MovablePlayerList;
|
||||
|
||||
/**
|
||||
* The SlimeChunkOracle as well as the WorldIconProducers that are no
|
||||
* CacheWorldIconProducers cannot be used by multiple threads. The other parts
|
||||
* of this class can be used multi-threaded.
|
||||
*/
|
||||
@NotThreadSafe
|
||||
@ThreadSafe
|
||||
public class World {
|
||||
private final WorldSeed seed;
|
||||
private final WorldType worldType;
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
package amidst.mojangapi.world.icon.locationchecker;
|
||||
|
||||
import amidst.documentation.ThreadSafe;
|
||||
|
||||
@ThreadSafe
|
||||
public class AllValidLocationChecker implements LocationChecker {
|
||||
private final LocationChecker[] checkers;
|
||||
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
package amidst.mojangapi.world.icon.locationchecker;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import amidst.documentation.Immutable;
|
||||
import amidst.documentation.ThreadSafe;
|
||||
import amidst.mojangapi.world.biome.Biome;
|
||||
import amidst.mojangapi.world.oracle.BiomeDataOracle;
|
||||
|
||||
@Immutable
|
||||
@ThreadSafe
|
||||
public class BiomeLocationChecker implements LocationChecker {
|
||||
private final BiomeDataOracle biomeDataOracle;
|
||||
private final List<Biome> validBiomes;
|
||||
|
@ -14,7 +15,7 @@ public class BiomeLocationChecker implements LocationChecker {
|
|||
public BiomeLocationChecker(BiomeDataOracle biomeDataOracle,
|
||||
List<Biome> validBiomes) {
|
||||
this.biomeDataOracle = biomeDataOracle;
|
||||
this.validBiomes = validBiomes;
|
||||
this.validBiomes = Collections.unmodifiableList(validBiomes);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
package amidst.mojangapi.world.icon.locationchecker;
|
||||
|
||||
import amidst.documentation.ThreadSafe;
|
||||
|
||||
@ThreadSafe
|
||||
public interface LocationChecker {
|
||||
boolean isValidLocation(int x, int y);
|
||||
}
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
package amidst.mojangapi.world.icon.locationchecker;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import amidst.documentation.Immutable;
|
||||
import amidst.documentation.ThreadSafe;
|
||||
import amidst.mojangapi.world.biome.Biome;
|
||||
import amidst.mojangapi.world.oracle.BiomeDataOracle;
|
||||
|
||||
@Immutable
|
||||
@ThreadSafe
|
||||
public class StructureBiomeLocationChecker implements LocationChecker {
|
||||
private final BiomeDataOracle biomeDataOracle;
|
||||
private final int size;
|
||||
|
@ -16,7 +17,7 @@ public class StructureBiomeLocationChecker implements LocationChecker {
|
|||
int size, List<Biome> validBiomes) {
|
||||
this.biomeDataOracle = biomeDataOracle;
|
||||
this.size = size;
|
||||
this.validBiomes = validBiomes;
|
||||
this.validBiomes = Collections.unmodifiableList(validBiomes);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -2,7 +2,7 @@ package amidst.mojangapi.world.icon.producer;
|
|||
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import amidst.documentation.NotThreadSafe;
|
||||
import amidst.documentation.ThreadSafe;
|
||||
import amidst.mojangapi.world.coordinates.CoordinatesInWorld;
|
||||
import amidst.mojangapi.world.coordinates.Resolution;
|
||||
import amidst.mojangapi.world.icon.WorldIcon;
|
||||
|
@ -10,7 +10,7 @@ import amidst.mojangapi.world.icon.locationchecker.LocationChecker;
|
|||
import amidst.mojangapi.world.icon.type.DefaultWorldIconTypes;
|
||||
import amidst.mojangapi.world.icon.type.WorldIconTypeProvider;
|
||||
|
||||
@NotThreadSafe
|
||||
@ThreadSafe
|
||||
public class StructureProducer extends WorldIconProducer {
|
||||
private final Resolution resolution;
|
||||
private final int size;
|
||||
|
|
|
@ -3,19 +3,15 @@ package amidst.mojangapi.world.icon.producer;
|
|||
import java.util.List;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import amidst.documentation.AmidstThread;
|
||||
import amidst.documentation.CalledOnlyBy;
|
||||
import amidst.documentation.NotThreadSafe;
|
||||
import amidst.documentation.ThreadSafe;
|
||||
import amidst.mojangapi.world.coordinates.CoordinatesInWorld;
|
||||
import amidst.mojangapi.world.icon.WorldIcon;
|
||||
|
||||
@NotThreadSafe
|
||||
@ThreadSafe
|
||||
public abstract class WorldIconProducer {
|
||||
@CalledOnlyBy(AmidstThread.FRAGMENT_LOADER)
|
||||
public abstract void produce(CoordinatesInWorld corner,
|
||||
Consumer<WorldIcon> consumer);
|
||||
|
||||
@CalledOnlyBy(AmidstThread.FRAGMENT_LOADER)
|
||||
public List<WorldIcon> getAt(CoordinatesInWorld corner) {
|
||||
WorldIconCollector collector = new WorldIconCollector();
|
||||
produce(corner, collector);
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
package amidst.mojangapi.world.icon.type;
|
||||
|
||||
import amidst.documentation.Immutable;
|
||||
|
||||
@Immutable
|
||||
public class ImmutableWorldIconTypeProvider implements WorldIconTypeProvider {
|
||||
private final DefaultWorldIconTypes worldIconType;
|
||||
|
||||
|
|
|
@ -1,11 +1,13 @@
|
|||
package amidst.mojangapi.world.icon.type;
|
||||
|
||||
import amidst.documentation.ThreadSafe;
|
||||
import amidst.logging.Log;
|
||||
import amidst.mojangapi.minecraftinterface.MinecraftInterfaceException;
|
||||
import amidst.mojangapi.world.biome.Biome;
|
||||
import amidst.mojangapi.world.biome.UnknownBiomeIndexException;
|
||||
import amidst.mojangapi.world.oracle.BiomeDataOracle;
|
||||
|
||||
@ThreadSafe
|
||||
public class TempleWorldIconTypeProvider implements WorldIconTypeProvider {
|
||||
private final BiomeDataOracle biomeDataOracle;
|
||||
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
package amidst.mojangapi.world.icon.type;
|
||||
|
||||
import amidst.documentation.ThreadSafe;
|
||||
|
||||
@ThreadSafe
|
||||
public interface WorldIconTypeProvider {
|
||||
DefaultWorldIconTypes get(int x, int y);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue