9
0
mirror of https://github.com/VolmitSoftware/Iris.git synced 2025-12-29 12:09:07 +00:00
This commit is contained in:
DanMB
2022-07-07 16:22:28 -07:00
parent 1634454700
commit efe800c606
25 changed files with 262 additions and 201 deletions

View File

@@ -1,13 +0,0 @@
package IrisBukkit.extensions.org.bukkit.Chunk;
import com.volmit.iris.platform.bukkit.wrapper.BukkitChunk;
import manifold.ext.rt.api.Extension;
import manifold.ext.rt.api.This;
import org.bukkit.Chunk;
@Extension
public class XChunk {
public static BukkitChunk bukkitChunk(@This Chunk self) {
return BukkitChunk.of(self);
}
}

View File

@@ -1,13 +0,0 @@
package IrisBukkit.extensions.org.bukkit.NamespacedKey;
import com.volmit.iris.platform.bukkit.wrapper.BukkitKey;
import manifold.ext.rt.api.Extension;
import manifold.ext.rt.api.This;
import org.bukkit.NamespacedKey;
@Extension
public class XNamespacedKey {
public static BukkitKey bukkitKey(@This NamespacedKey self) {
return BukkitKey.of(self);
}
}

View File

@@ -1,13 +0,0 @@
package IrisBukkit.extensions.org.bukkit.World;
import com.volmit.iris.platform.bukkit.wrapper.BukkitWorld;
import manifold.ext.rt.api.Extension;
import manifold.ext.rt.api.This;
import org.bukkit.World;
@Extension
public class XWorld {
public static BukkitWorld bukkitWorld(@This World self) {
return BukkitWorld.of(self);
}
}

View File

@@ -1,18 +0,0 @@
package IrisBukkit.extensions.org.bukkit.block.Biome;
import com.volmit.iris.platform.bukkit.wrapper.BukkitBiome;
import com.volmit.iris.platform.bukkit.wrapper.BukkitKey;
import manifold.ext.rt.api.Extension;
import manifold.ext.rt.api.This;
import org.bukkit.block.Biome;
@Extension
public class XBiome {
public static BukkitKey bukkitKey(@This Biome self) {
return self.getKey().bukkitKey();
}
public static BukkitBiome bukkitBiome(@This Biome self) {
return BukkitBiome.of(self);
}
}

View File

@@ -1,18 +0,0 @@
package IrisBukkit.extensions.org.bukkit.block.data.BlockData;
import com.volmit.iris.platform.bukkit.wrapper.BukkitBlock;
import com.volmit.iris.platform.bukkit.wrapper.BukkitKey;
import manifold.ext.rt.api.Extension;
import manifold.ext.rt.api.This;
import org.bukkit.block.data.BlockData;
@Extension
public class XBlockData {
public static BukkitKey bukkitKey(@This BlockData self) {
return self.getMaterial().getKey().bukkitKey();
}
public static BukkitBlock bukkitBlock(@This BlockData self) {
return BukkitBlock.of(self);
}
}

View File

@@ -1,13 +0,0 @@
package IrisBukkit.extensions.org.bukkit.entity.Player;
import com.volmit.iris.platform.bukkit.wrapper.BukkitPlayer;
import manifold.ext.rt.api.Extension;
import manifold.ext.rt.api.This;
import org.bukkit.entity.Player;
@Extension
public class XPlayer {
public static BukkitPlayer bukkitPlayer(@This Player self) {
return BukkitPlayer.of(self);
}
}

View File

@@ -7,7 +7,10 @@ import com.volmit.iris.platform.PlatformBiome;
import com.volmit.iris.platform.PlatformBlock;
import com.volmit.iris.platform.PlatformNamespaceKey;
import com.volmit.iris.platform.PlatformWorld;
import com.volmit.iris.platform.bukkit.wrapper.BukkitBiome;
import com.volmit.iris.platform.bukkit.wrapper.BukkitBlock;
import com.volmit.iris.platform.bukkit.wrapper.BukkitKey;
import com.volmit.iris.platform.bukkit.wrapper.BukkitWorld;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.bukkit.Bukkit;
@@ -69,7 +72,7 @@ public class IrisBukkit extends JavaPlugin implements IrisPlatform {
}
}
i.bukkitWorld().unloadChunks(false, true);
BukkitWorld.of(i).unloadChunks(false, true);
File folder = i.getWorldFolder();
Bukkit.unloadWorld(i, false);
IO.delete(folder);
@@ -93,14 +96,14 @@ public class IrisBukkit extends JavaPlugin implements IrisPlatform {
return Arrays.stream(Material.values())
.filter(i -> !i.isLegacy())
.filter(Material::isBlock)
.map(Material::createBlockData).map(i -> i.bukkitBlock());
.map(Material::createBlockData).map(i -> BukkitBlock.of(i));
}
@Override
public Stream<PlatformBiome> getBiomes() {
//This is because it's a method extension
//noinspection Convert2MethodRef
return Arrays.stream(Biome.values()).parallel().filter((i) -> i != Biome.CUSTOM).map(i -> i.bukkitBiome());
return Arrays.stream(Biome.values()).parallel().filter((i) -> i != Biome.CUSTOM).map(i -> BukkitBiome.of(i));
}
@Override
@@ -117,12 +120,12 @@ public class IrisBukkit extends JavaPlugin implements IrisPlatform {
return null;
}
return w.bukkitWorld();
return BukkitWorld.of(w);
}
@Override
public PlatformBlock parseBlock(String raw) {
return Bukkit.createBlockData(raw).bukkitBlock();
return BukkitBlock.of(Bukkit.createBlockData(raw));
}
@Override
@@ -130,6 +133,13 @@ public class IrisBukkit extends JavaPlugin implements IrisPlatform {
return BukkitKey.of(namespace, key);
}
@Override
public File getStudioFolder(String dimension) {
File f = new File(getDataFolder(), "packs/" + dimension);
f.mkdirs();
return f;
}
@Override
public ChunkGenerator getDefaultWorldGenerator(String worldName, String id) {
return new IrisBukkitChunkGenerator(this, EngineConfiguration.builder()

View File

@@ -10,6 +10,7 @@ import com.volmit.iris.engine.feature.IrisFeatureTarget;
import com.volmit.iris.engine.pipeline.PipedHunkStack;
import com.volmit.iris.platform.IrisPlatform;
import com.volmit.iris.platform.PlatformBlock;
import com.volmit.iris.platform.bukkit.wrapper.BukkitWorld;
import org.bukkit.Bukkit;
import org.bukkit.World;
import org.bukkit.generator.ChunkGenerator;
@@ -77,7 +78,11 @@ public class IrisBukkitChunkGenerator extends ChunkGenerator implements Closeabl
if(engine.get() == null)
{
engine.set(new Engine(platform, world.bukkitWorld(), configuration));
try {
engine.set(new Engine(platform, BukkitWorld.of(world), configuration));
} catch (IOException e) {
throw new RuntimeException(e);
}
}
engineLock.unlock();

View File

@@ -48,6 +48,6 @@ public class ChunkDataHunkView implements Hunk<PlatformBlock> {
@Override
public PlatformBlock getRaw(int x, int y, int z) {
return chunk.getBlockData(x, y + chunk.getMinHeight(), z).bukkitBlock();
return BukkitBlock.of(chunk.getBlockData(x, y + chunk.getMinHeight(), z));
}
}

View File

@@ -15,7 +15,7 @@ public class BukkitBiome implements PlatformBiome {
@Override
public PlatformNamespaceKey getKey() {
return delegate.getKey().bukkitKey();
return BukkitKey.of(delegate.getKey());
}
public static BukkitBiome of(Biome biome) {

View File

@@ -52,7 +52,7 @@ public class BukkitBlock implements PlatformBlock {
@Override
public PlatformNamespaceKey getKey() {
return delegate.getMaterial().getKey().bukkitKey();
return BukkitKey.of(delegate.getMaterial().getKey());
}
public static BukkitBlock of(BlockData blockData) {

View File

@@ -31,7 +31,7 @@ public class BukkitPlayer implements PlatformPlayer {
@Override
public PlatformWorld getWorld() {
return delegate.getWorld().bukkitWorld();
return BukkitWorld.of(delegate.getWorld());
}
@Override

View File

@@ -10,6 +10,7 @@ import lombok.Data;
import org.bukkit.World;
import java.io.File;
import java.util.Arrays;
import java.util.stream.Collectors;
@Data
@@ -40,28 +41,28 @@ public class BukkitWorld implements PlatformWorld {
@Override
public Iterable<PlatformPlayer> getPlayers() {
//noinspection Convert2MethodRef
return delegate.getPlayers().stream().map(i -> i.bukkitPlayer()).collect(Collectors.toList());
return delegate.getPlayers().stream().map(i -> BukkitPlayer.of(i)).collect(Collectors.toList());
}
@Override
public Iterable<PlatformChunk> getLoadedChunks() {
//noinspection Convert2MethodRef
return delegate.getLoadedChunks().stream().map(i -> i.bukkitChunk()).collect(Collectors.toList());
return Arrays.stream(delegate.getLoadedChunks()).map(i -> BukkitChunk.of(i)).collect(Collectors.toList());
}
@Override
public PlatformChunk getOrLoadChunk(int x, int z) {
return delegate.getChunkAt(x, z).bukkitChunk();
return BukkitChunk.of(delegate.getChunkAt(x, z));
}
@Override
public PlatformBlock getBlock(int x, int y, int z) {
return delegate.getBlockAt(x, y, z).getBlockData().bukkitBlock();
return BukkitBlock.of(delegate.getBlockAt(x, y, z).getBlockData());
}
@Override
public PlatformBiome getBiome(int x, int y, int z) {
return delegate.getBiome(x, y, z).bukkitBiome();
return BukkitBiome.of(delegate.getBiome(x, y, z));
}
@Override