mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-18 18:23:06 +00:00
Fixed Dust of Revealing Pt.1
This commit is contained in:
parent
44c707e059
commit
ccc2ed0806
@ -99,7 +99,6 @@ public class DustRevealer {
|
|||||||
|
|
||||||
if(access != null) {
|
if(access != null) {
|
||||||
String a = access.getObjectPlacementKey(block.getX(), block.getY(), block.getZ());
|
String a = access.getObjectPlacementKey(block.getX(), block.getY(), block.getZ());
|
||||||
|
|
||||||
if(a != null) {
|
if(a != null) {
|
||||||
world.playSound(block.getLocation(), Sound.ITEM_LODESTONE_COMPASS_LOCK, 1f, 0.1f);
|
world.playSound(block.getLocation(), Sound.ITEM_LODESTONE_COMPASS_LOCK, 1f, 0.1f);
|
||||||
|
|
||||||
|
@ -408,7 +408,6 @@ public class WandSVC implements IrisService {
|
|||||||
e.setCancelled(true);
|
e.setCancelled(true);
|
||||||
e.getPlayer().playSound(Objects.requireNonNull(e.getClickedBlock()).getLocation(), Sound.ENTITY_ENDER_EYE_DEATH, 2f, 1.97f);
|
e.getPlayer().playSound(Objects.requireNonNull(e.getClickedBlock()).getLocation(), Sound.ENTITY_ENDER_EYE_DEATH, 2f, 1.97f);
|
||||||
DustRevealer.spawn(e.getClickedBlock(), new VolmitSender(e.getPlayer(), Iris.instance.getTag()));
|
DustRevealer.spawn(e.getClickedBlock(), new VolmitSender(e.getPlayer(), Iris.instance.getTag()));
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch(Throwable xx) {
|
} catch(Throwable xx) {
|
||||||
|
@ -116,8 +116,24 @@ public class IrisToolbelt {
|
|||||||
public static PlatformChunkGenerator access(World world) {
|
public static PlatformChunkGenerator access(World world) {
|
||||||
if(isIrisWorld(world)) {
|
if(isIrisWorld(world)) {
|
||||||
return ((PlatformChunkGenerator) world.getGenerator());
|
return ((PlatformChunkGenerator) world.getGenerator());
|
||||||
}
|
} /*else {
|
||||||
|
Iris.warn("""
|
||||||
|
"---------- No World? ---------------
|
||||||
|
⠀⣞⢽⢪⢣⢣⢣⢫⡺⡵⣝⡮⣗⢷⢽⢽⢽⣮⡷⡽⣜⣜⢮⢺⣜⢷⢽⢝⡽⣝
|
||||||
|
⠸⡸⠜⠕⠕⠁⢁⢇⢏⢽⢺⣪⡳⡝⣎⣏⢯⢞⡿⣟⣷⣳⢯⡷⣽⢽⢯⣳⣫⠇
|
||||||
|
⠀⠀⢀⢀⢄⢬⢪⡪⡎⣆⡈⠚⠜⠕⠇⠗⠝⢕⢯⢫⣞⣯⣿⣻⡽⣏⢗⣗⠏⠀
|
||||||
|
⠀⠪⡪⡪⣪⢪⢺⢸⢢⢓⢆⢤⢀⠀⠀⠀⠀⠈⢊⢞⡾⣿⡯⣏⢮⠷⠁⠀⠀
|
||||||
|
⠀⠀⠀⠈⠊⠆⡃⠕⢕⢇⢇⢇⢇⢇⢏⢎⢎⢆⢄⠀⢑⣽⣿⢝⠲⠉⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⠀⠀⡿⠂⠠⠀⡇⢇⠕⢈⣀⠀⠁⠡⠣⡣⡫⣂⣿⠯⢪⠰⠂⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⠀⡦⡙⡂⢀⢤⢣⠣⡈⣾⡃⠠⠄⠀⡄⢱⣌⣶⢏⢊⠂⠀⠀⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⠀⢝⡲⣜⡮⡏⢎⢌⢂⠙⠢⠐⢀⢘⢵⣽⣿⡿⠁⠁⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⠀⠨⣺⡺⡕⡕⡱⡑⡆⡕⡅⡕⡜⡼⢽⡻⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⠀⣼⣳⣫⣾⣵⣗⡵⡱⡡⢣⢑⢕⢜⢕⡝⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⣴⣿⣾⣿⣿⣿⡿⡽⡑⢌⠪⡢⡣⣣⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⡟⡾⣿⢿⢿⢵⣽⣾⣼⣘⢸⢸⣞⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
⠀⠀⠀⠀⠁⠇⠡⠩⡫⢿⣝⡻⡮⣒⢽⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||||
|
""");
|
||||||
|
}*/
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -60,7 +60,7 @@ public class IrisEngineMantle implements EngineMantle {
|
|||||||
|
|
||||||
public IrisEngineMantle(Engine engine) {
|
public IrisEngineMantle(Engine engine) {
|
||||||
this.engine = engine;
|
this.engine = engine;
|
||||||
this.mantle = new Mantle(new File(engine.getWorld().worldFolder(), "mantle"), engine.getTarget().getHeight());
|
this.mantle = new Mantle(new File(engine.getWorld().worldFolder(), "mantle"), engine.getTarget().getHeight(), engine.getTarget().getMinY());
|
||||||
radius = radCache.aquire(this::computeParallaxSize);
|
radius = radCache.aquire(this::computeParallaxSize);
|
||||||
components = new KList<>();
|
components = new KList<>();
|
||||||
registerComponent(new MantleCarvingComponent(this));
|
registerComponent(new MantleCarvingComponent(this));
|
||||||
|
@ -748,7 +748,6 @@ public interface Engine extends DataProvider, Fallible, LootProvider, BlockUpdat
|
|||||||
|
|
||||||
default PlacedObject getObjectPlacement(int x, int y, int z) {
|
default PlacedObject getObjectPlacement(int x, int y, int z) {
|
||||||
String objectAt = getMantle().getMantle().get(x, y, z, String.class);
|
String objectAt = getMantle().getMantle().get(x, y, z, String.class);
|
||||||
|
|
||||||
if(objectAt == null || objectAt.isEmpty()) {
|
if(objectAt == null || objectAt.isEmpty()) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -42,6 +42,8 @@ public class EngineTarget {
|
|||||||
return world.maxHeight() - world.minHeight();
|
return world.maxHeight() - world.minHeight();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getMinY() { return world.minHeight(); }
|
||||||
|
|
||||||
public void close() {
|
public void close() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -58,6 +58,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
|
|||||||
public class Mantle {
|
public class Mantle {
|
||||||
private final File dataFolder;
|
private final File dataFolder;
|
||||||
private final int worldHeight;
|
private final int worldHeight;
|
||||||
|
private final int minY;
|
||||||
private final Map<Long, Long> lastUse;
|
private final Map<Long, Long> lastUse;
|
||||||
@Getter
|
@Getter
|
||||||
private final Map<Long, TectonicPlate> loadedRegions;
|
private final Map<Long, TectonicPlate> loadedRegions;
|
||||||
@ -76,11 +77,12 @@ public class Mantle {
|
|||||||
* the world's height (in blocks)
|
* the world's height (in blocks)
|
||||||
*/
|
*/
|
||||||
@BlockCoordinates
|
@BlockCoordinates
|
||||||
public Mantle(File dataFolder, int worldHeight) {
|
public Mantle(File dataFolder, int worldHeight, int minY) {
|
||||||
this.hyperLock = new HyperLock();
|
this.hyperLock = new HyperLock();
|
||||||
this.closed = new AtomicBoolean(false);
|
this.closed = new AtomicBoolean(false);
|
||||||
this.dataFolder = dataFolder;
|
this.dataFolder = dataFolder;
|
||||||
this.worldHeight = worldHeight;
|
this.worldHeight = worldHeight;
|
||||||
|
this.minY = minY;
|
||||||
this.io = new AtomicBoolean(false);
|
this.io = new AtomicBoolean(false);
|
||||||
dataFolder.mkdirs();
|
dataFolder.mkdirs();
|
||||||
unload = new KSet<>();
|
unload = new KSet<>();
|
||||||
@ -330,7 +332,7 @@ public class Mantle {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the data tat the current block position This method will attempt to find a
|
* Gets the data at the current block position This method will attempt to find a
|
||||||
* Tectonic Plate either by loading it or creating a new one. This method uses
|
* Tectonic Plate either by loading it or creating a new one. This method uses
|
||||||
* the hyper lock packaged with each Mantle. The hyperlock allows locking of multiple
|
* the hyper lock packaged with each Mantle. The hyperlock allows locking of multiple
|
||||||
* threads at a single region while still allowing other threads to continue
|
* threads at a single region while still allowing other threads to continue
|
||||||
@ -352,6 +354,7 @@ public class Mantle {
|
|||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
@BlockCoordinates
|
@BlockCoordinates
|
||||||
public <T> T get(int x, int y, int z, Class<T> t) {
|
public <T> T get(int x, int y, int z, Class<T> t) {
|
||||||
|
y -= minY;
|
||||||
if(closed.get()) {
|
if(closed.get()) {
|
||||||
throw new RuntimeException("The Mantle is closed");
|
throw new RuntimeException("The Mantle is closed");
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user