mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-12-30 04:29:05 +00:00
Instant changes
This commit is contained in:
17
src/main/java/com/volmit/iris/edit/BlockEditor.java
Normal file
17
src/main/java/com/volmit/iris/edit/BlockEditor.java
Normal file
@@ -0,0 +1,17 @@
|
||||
package com.volmit.iris.edit;
|
||||
|
||||
import java.io.Closeable;
|
||||
|
||||
import org.bukkit.block.data.BlockData;
|
||||
|
||||
public interface BlockEditor extends Closeable
|
||||
{
|
||||
public long last();
|
||||
|
||||
public void set(int x, int y, int z, BlockData d);
|
||||
|
||||
public BlockData get(int x, int y, int z);
|
||||
|
||||
@Override
|
||||
public void close();
|
||||
}
|
||||
40
src/main/java/com/volmit/iris/edit/BukkitBlockEditor.java
Normal file
40
src/main/java/com/volmit/iris/edit/BukkitBlockEditor.java
Normal file
@@ -0,0 +1,40 @@
|
||||
package com.volmit.iris.edit;
|
||||
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.block.data.BlockData;
|
||||
|
||||
import com.volmit.iris.util.M;
|
||||
|
||||
public class BukkitBlockEditor implements BlockEditor
|
||||
{
|
||||
private final World world;
|
||||
|
||||
public BukkitBlockEditor(World world)
|
||||
{
|
||||
this.world = world;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void set(int x, int y, int z, BlockData d)
|
||||
{
|
||||
world.getBlockAt(x, y, z).setBlockData(d, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockData get(int x, int y, int z)
|
||||
{
|
||||
return world.getBlockAt(x, y, z).getBlockData();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void close()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public long last()
|
||||
{
|
||||
return M.ms();
|
||||
}
|
||||
}
|
||||
51
src/main/java/com/volmit/iris/edit/WEBlockEditor.java
Normal file
51
src/main/java/com/volmit/iris/edit/WEBlockEditor.java
Normal file
@@ -0,0 +1,51 @@
|
||||
package com.volmit.iris.edit;
|
||||
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.block.data.BlockData;
|
||||
|
||||
import com.sk89q.worldedit.EditSession;
|
||||
import com.sk89q.worldedit.WorldEdit;
|
||||
import com.sk89q.worldedit.bukkit.BukkitAdapter;
|
||||
import com.sk89q.worldedit.math.BlockVector3;
|
||||
import com.volmit.iris.util.M;
|
||||
|
||||
public class WEBlockEditor implements BlockEditor
|
||||
{
|
||||
private final World world;
|
||||
private final EditSession es;
|
||||
private long last;
|
||||
|
||||
public WEBlockEditor(World world)
|
||||
{
|
||||
last = M.ms();
|
||||
this.world = world;
|
||||
es = WorldEdit.getInstance().newEditSessionBuilder().world(BukkitAdapter.adapt(world)).build();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void set(int x, int y, int z, BlockData d)
|
||||
{
|
||||
last = M.ms();
|
||||
es.rawSetBlock(BlockVector3.at(x, y, z), BukkitAdapter.adapt(d));
|
||||
world.getBlockAt(x, y, z).setBlockData(d, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockData get(int x, int y, int z)
|
||||
{
|
||||
return world.getBlockAt(x, y, z).getBlockData();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void close()
|
||||
{
|
||||
es.close();
|
||||
return;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long last()
|
||||
{
|
||||
return last;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user