From a18d459343b4cc89ef9209d7fc34e8ce4a9fa586 Mon Sep 17 00:00:00 2001 From: dfsek Date: Fri, 25 Dec 2020 17:06:23 -0700 Subject: [PATCH] implement BukkitDirectional and BukkitRotatable --- .../dfsek/terra/bukkit/BukkitWorldHandle.java | 6 ++++++ .../world/block/data/BukkitDirectional.java | 21 +++++++++++++++++++ .../world/block/data/BukkitRotatable.java | 21 +++++++++++++++++++ 3 files changed, 48 insertions(+) create mode 100644 platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitDirectional.java create mode 100644 platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitRotatable.java diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/BukkitWorldHandle.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/BukkitWorldHandle.java index 2014c1a5f..363d471c9 100644 --- a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/BukkitWorldHandle.java +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/BukkitWorldHandle.java @@ -9,13 +9,17 @@ import com.dfsek.terra.api.platform.world.WorldHandle; import com.dfsek.terra.api.transform.Transformer; import com.dfsek.terra.bukkit.world.block.BukkitBlockData; import com.dfsek.terra.bukkit.world.block.BukkitMaterialData; +import com.dfsek.terra.bukkit.world.block.data.BukkitDirectional; import com.dfsek.terra.bukkit.world.block.data.BukkitMultipleFacing; +import com.dfsek.terra.bukkit.world.block.data.BukkitRotatable; import com.dfsek.terra.bukkit.world.block.data.BukkitSlab; import com.dfsek.terra.bukkit.world.block.data.BukkitStairs; import com.dfsek.terra.bukkit.world.block.data.BukkitWaterlogged; import org.bukkit.Bukkit; import org.bukkit.Material; +import org.bukkit.block.data.Directional; import org.bukkit.block.data.MultipleFacing; +import org.bukkit.block.data.Rotatable; import org.bukkit.block.data.Waterlogged; import org.bukkit.block.data.type.Slab; import org.bukkit.block.data.type.Stairs; @@ -51,6 +55,8 @@ public class BukkitWorldHandle implements WorldHandle { if(bukkitData instanceof MultipleFacing) return new BukkitMultipleFacing((MultipleFacing) bukkitData); if(bukkitData instanceof Stairs) return new BukkitStairs((Stairs) bukkitData); if(bukkitData instanceof Slab) return new BukkitSlab((Slab) bukkitData); + if(bukkitData instanceof Rotatable) return new BukkitRotatable((Rotatable) bukkitData); + if(bukkitData instanceof Directional) return new BukkitDirectional((Directional) bukkitData); if(bukkitData instanceof Waterlogged) return new BukkitWaterlogged((Waterlogged) bukkitData); return new BukkitBlockData(Bukkit.createBlockData(data)); } diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitDirectional.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitDirectional.java new file mode 100644 index 000000000..176fa58d9 --- /dev/null +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitDirectional.java @@ -0,0 +1,21 @@ +package com.dfsek.terra.bukkit.world.block.data; + +import com.dfsek.terra.api.platform.block.BlockFace; +import com.dfsek.terra.api.platform.block.data.Directional; +import com.dfsek.terra.bukkit.world.block.BukkitBlockData; + +public class BukkitDirectional extends BukkitBlockData implements Directional { + public BukkitDirectional(org.bukkit.block.data.Directional delegate) { + super(delegate); + } + + @Override + public BlockFace getFacing() { + return BukkitEnumAdapter.fromBukkitBlockFace(((org.bukkit.block.data.Directional) getHandle()).getFacing()); + } + + @Override + public void setFacing(BlockFace facing) { + ((org.bukkit.block.data.Directional) getHandle()).setFacing(TerraEnumAdapter.fromTerraBlockFace(facing)); + } +} diff --git a/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitRotatable.java b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitRotatable.java new file mode 100644 index 000000000..f6f184dcc --- /dev/null +++ b/platforms/bukkit/src/main/java/com/dfsek/terra/bukkit/world/block/data/BukkitRotatable.java @@ -0,0 +1,21 @@ +package com.dfsek.terra.bukkit.world.block.data; + +import com.dfsek.terra.api.platform.block.BlockFace; +import com.dfsek.terra.api.platform.block.data.Rotatable; +import com.dfsek.terra.bukkit.world.block.BukkitBlockData; + +public class BukkitRotatable extends BukkitBlockData implements Rotatable { + public BukkitRotatable(org.bukkit.block.data.Rotatable delegate) { + super(delegate); + } + + @Override + public BlockFace getRotation() { + return BukkitEnumAdapter.fromBukkitBlockFace(((org.bukkit.block.data.Rotatable) getHandle()).getRotation()); + } + + @Override + public void setRotation(BlockFace face) { + ((org.bukkit.block.data.Rotatable) getHandle()).setRotation(TerraEnumAdapter.fromTerraBlockFace(face)); + } +}