Skip to content

Commit 11dc4a3

Browse files
committed
Swap to using an MC utility function for full block detection
1 parent 7429399 commit 11dc4a3

File tree

9 files changed

+18
-63
lines changed

9 files changed

+18
-63
lines changed

worldedit-bukkit/adapters/adapter-1.20.2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/v1_20_R2/PaperweightBlockMaterial.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,13 @@
2323
import net.minecraft.core.BlockPos;
2424
import net.minecraft.world.Clearable;
2525
import net.minecraft.world.level.EmptyBlockGetter;
26+
import net.minecraft.world.level.block.Block;
2627
import net.minecraft.world.level.block.EntityBlock;
2728
import net.minecraft.world.level.block.state.BlockState;
2829
import net.minecraft.world.level.material.PushReaction;
29-
import net.minecraft.world.phys.AABB;
30-
import net.minecraft.world.phys.Vec3;
31-
import net.minecraft.world.phys.shapes.VoxelShape;
3230

3331
public class PaperweightBlockMaterial implements BlockMaterial {
3432

35-
private static final AABB FULL_CUBE = AABB.unitCubeFromLowerCorner(Vec3.ZERO);
36-
3733
private final BlockState block;
3834

3935
public PaperweightBlockMaterial(BlockState block) {
@@ -47,8 +43,7 @@ public boolean isAir() {
4743

4844
@Override
4945
public boolean isFullCube() {
50-
VoxelShape vs = block.getCollisionShape(EmptyBlockGetter.INSTANCE, BlockPos.ZERO);
51-
return !vs.isEmpty() && vs.bounds().equals(FULL_CUBE);
46+
return Block.isShapeFullBlock(block.getShape(EmptyBlockGetter.INSTANCE, BlockPos.ZERO));
5247
}
5348

5449
@Override

worldedit-bukkit/adapters/adapter-1.20.4/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/v1_20_R3/PaperweightBlockMaterial.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,13 @@
2323
import net.minecraft.core.BlockPos;
2424
import net.minecraft.world.Clearable;
2525
import net.minecraft.world.level.EmptyBlockGetter;
26+
import net.minecraft.world.level.block.Block;
2627
import net.minecraft.world.level.block.EntityBlock;
2728
import net.minecraft.world.level.block.state.BlockState;
2829
import net.minecraft.world.level.material.PushReaction;
29-
import net.minecraft.world.phys.AABB;
30-
import net.minecraft.world.phys.Vec3;
31-
import net.minecraft.world.phys.shapes.VoxelShape;
3230

3331
public class PaperweightBlockMaterial implements BlockMaterial {
3432

35-
private static final AABB FULL_CUBE = AABB.unitCubeFromLowerCorner(Vec3.ZERO);
36-
3733
private final BlockState block;
3834

3935
public PaperweightBlockMaterial(BlockState block) {
@@ -47,8 +43,7 @@ public boolean isAir() {
4743

4844
@Override
4945
public boolean isFullCube() {
50-
VoxelShape vs = block.getCollisionShape(EmptyBlockGetter.INSTANCE, BlockPos.ZERO);
51-
return !vs.isEmpty() && vs.bounds().equals(FULL_CUBE);
46+
return Block.isShapeFullBlock(block.getShape(EmptyBlockGetter.INSTANCE, BlockPos.ZERO));
5247
}
5348

5449
@Override

worldedit-bukkit/adapters/adapter-1.20.6/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/v1_20_R4/PaperweightBlockMaterial.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,13 @@
2323
import net.minecraft.core.BlockPos;
2424
import net.minecraft.world.Clearable;
2525
import net.minecraft.world.level.EmptyBlockGetter;
26+
import net.minecraft.world.level.block.Block;
2627
import net.minecraft.world.level.block.EntityBlock;
2728
import net.minecraft.world.level.block.state.BlockState;
2829
import net.minecraft.world.level.material.PushReaction;
29-
import net.minecraft.world.phys.AABB;
30-
import net.minecraft.world.phys.Vec3;
31-
import net.minecraft.world.phys.shapes.VoxelShape;
3230

3331
public class PaperweightBlockMaterial implements BlockMaterial {
3432

35-
private static final AABB FULL_CUBE = AABB.unitCubeFromLowerCorner(Vec3.ZERO);
36-
3733
private final BlockState block;
3834

3935
public PaperweightBlockMaterial(BlockState block) {
@@ -47,8 +43,7 @@ public boolean isAir() {
4743

4844
@Override
4945
public boolean isFullCube() {
50-
VoxelShape vs = block.getCollisionShape(EmptyBlockGetter.INSTANCE, BlockPos.ZERO);
51-
return !vs.isEmpty() && vs.bounds().equals(FULL_CUBE);
46+
return Block.isShapeFullBlock(block.getShape(EmptyBlockGetter.INSTANCE, BlockPos.ZERO));
5247
}
5348

5449
@Override

worldedit-bukkit/adapters/adapter-1.21.3/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/v1_21_3/PaperweightBlockMaterial.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,13 @@
2323
import net.minecraft.core.BlockPos;
2424
import net.minecraft.world.Clearable;
2525
import net.minecraft.world.level.EmptyBlockGetter;
26+
import net.minecraft.world.level.block.Block;
2627
import net.minecraft.world.level.block.EntityBlock;
2728
import net.minecraft.world.level.block.state.BlockState;
2829
import net.minecraft.world.level.material.PushReaction;
29-
import net.minecraft.world.phys.AABB;
30-
import net.minecraft.world.phys.Vec3;
31-
import net.minecraft.world.phys.shapes.VoxelShape;
3230

3331
public class PaperweightBlockMaterial implements BlockMaterial {
3432

35-
private static final AABB FULL_CUBE = AABB.unitCubeFromLowerCorner(Vec3.ZERO);
36-
3733
private final BlockState block;
3834

3935
public PaperweightBlockMaterial(BlockState block) {
@@ -47,8 +43,7 @@ public boolean isAir() {
4743

4844
@Override
4945
public boolean isFullCube() {
50-
VoxelShape vs = block.getCollisionShape(EmptyBlockGetter.INSTANCE, BlockPos.ZERO);
51-
return !vs.isEmpty() && vs.bounds().equals(FULL_CUBE);
46+
return Block.isShapeFullBlock(block.getShape(EmptyBlockGetter.INSTANCE, BlockPos.ZERO));
5247
}
5348

5449
@Override

worldedit-bukkit/adapters/adapter-1.21.4/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/v1_21_4/PaperweightBlockMaterial.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,13 @@
2323
import net.minecraft.core.BlockPos;
2424
import net.minecraft.world.Clearable;
2525
import net.minecraft.world.level.EmptyBlockGetter;
26+
import net.minecraft.world.level.block.Block;
2627
import net.minecraft.world.level.block.EntityBlock;
2728
import net.minecraft.world.level.block.state.BlockState;
2829
import net.minecraft.world.level.material.PushReaction;
29-
import net.minecraft.world.phys.AABB;
30-
import net.minecraft.world.phys.Vec3;
31-
import net.minecraft.world.phys.shapes.VoxelShape;
3230

3331
public class PaperweightBlockMaterial implements BlockMaterial {
3432

35-
private static final AABB FULL_CUBE = AABB.unitCubeFromLowerCorner(Vec3.ZERO);
36-
3733
private final BlockState block;
3834

3935
public PaperweightBlockMaterial(BlockState block) {
@@ -47,8 +43,7 @@ public boolean isAir() {
4743

4844
@Override
4945
public boolean isFullCube() {
50-
VoxelShape vs = block.getCollisionShape(EmptyBlockGetter.INSTANCE, BlockPos.ZERO);
51-
return !vs.isEmpty() && vs.bounds().equals(FULL_CUBE);
46+
return Block.isShapeFullBlock(block.getShape(EmptyBlockGetter.INSTANCE, BlockPos.ZERO));
5247
}
5348

5449
@Override

worldedit-bukkit/adapters/adapter-1.21/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/v1_21/PaperweightBlockMaterial.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,13 @@
2323
import net.minecraft.core.BlockPos;
2424
import net.minecraft.world.Clearable;
2525
import net.minecraft.world.level.EmptyBlockGetter;
26+
import net.minecraft.world.level.block.Block;
2627
import net.minecraft.world.level.block.EntityBlock;
2728
import net.minecraft.world.level.block.state.BlockState;
2829
import net.minecraft.world.level.material.PushReaction;
29-
import net.minecraft.world.phys.AABB;
30-
import net.minecraft.world.phys.Vec3;
31-
import net.minecraft.world.phys.shapes.VoxelShape;
3230

3331
public class PaperweightBlockMaterial implements BlockMaterial {
3432

35-
private static final AABB FULL_CUBE = AABB.unitCubeFromLowerCorner(Vec3.ZERO);
36-
3733
private final BlockState block;
3834

3935
public PaperweightBlockMaterial(BlockState block) {
@@ -47,8 +43,7 @@ public boolean isAir() {
4743

4844
@Override
4945
public boolean isFullCube() {
50-
VoxelShape vs = block.getCollisionShape(EmptyBlockGetter.INSTANCE, BlockPos.ZERO);
51-
return !vs.isEmpty() && vs.bounds().equals(FULL_CUBE);
46+
return Block.isShapeFullBlock(block.getShape(EmptyBlockGetter.INSTANCE, BlockPos.ZERO));
5247
}
5348

5449
@Override

worldedit-fabric/src/main/java/com/sk89q/worldedit/fabric/FabricBlockMaterial.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,10 @@
2323
import net.minecraft.core.BlockPos;
2424
import net.minecraft.world.Clearable;
2525
import net.minecraft.world.level.EmptyBlockGetter;
26+
import net.minecraft.world.level.block.Block;
2627
import net.minecraft.world.level.block.EntityBlock;
2728
import net.minecraft.world.level.block.state.BlockState;
2829
import net.minecraft.world.level.material.PushReaction;
29-
import net.minecraft.world.phys.AABB;
30-
import net.minecraft.world.phys.Vec3;
31-
import net.minecraft.world.phys.shapes.VoxelShape;
3230

3331
/**
3432
* Fabric block material that pulls as much info as possible from the Minecraft
@@ -37,8 +35,6 @@
3735
*/
3836
public class FabricBlockMaterial implements BlockMaterial {
3937

40-
private static final AABB FULL_CUBE = AABB.unitCubeFromLowerCorner(Vec3.ZERO);
41-
4238
private final BlockState block;
4339

4440
public FabricBlockMaterial(BlockState block) {
@@ -52,8 +48,7 @@ public boolean isAir() {
5248

5349
@Override
5450
public boolean isFullCube() {
55-
VoxelShape vs = block.getCollisionShape(EmptyBlockGetter.INSTANCE, BlockPos.ZERO);
56-
return !vs.isEmpty() && vs.bounds().equals(FULL_CUBE);
51+
return Block.isShapeFullBlock(block.getShape(EmptyBlockGetter.INSTANCE, BlockPos.ZERO));
5752
}
5853

5954
@Override

worldedit-neoforge/src/main/java/com/sk89q/worldedit/neoforge/NeoForgeBlockMaterial.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,10 @@
2323
import net.minecraft.core.BlockPos;
2424
import net.minecraft.world.Clearable;
2525
import net.minecraft.world.level.EmptyBlockGetter;
26+
import net.minecraft.world.level.block.Block;
2627
import net.minecraft.world.level.block.EntityBlock;
2728
import net.minecraft.world.level.block.state.BlockState;
2829
import net.minecraft.world.level.material.PushReaction;
29-
import net.minecraft.world.phys.AABB;
30-
import net.minecraft.world.phys.Vec3;
31-
import net.minecraft.world.phys.shapes.VoxelShape;
3230

3331
/**
3432
* Forge block material that pulls as much info as possible from the Minecraft
@@ -37,8 +35,6 @@
3735
*/
3836
public class NeoForgeBlockMaterial implements BlockMaterial {
3937

40-
private static final AABB FULL_CUBE = AABB.unitCubeFromLowerCorner(Vec3.ZERO);
41-
4238
private final BlockState block;
4339

4440
public NeoForgeBlockMaterial(BlockState block) {
@@ -52,8 +48,7 @@ public boolean isAir() {
5248

5349
@Override
5450
public boolean isFullCube() {
55-
VoxelShape vs = block.getCollisionShape(EmptyBlockGetter.INSTANCE, BlockPos.ZERO);
56-
return !vs.isEmpty() && vs.bounds().equals(FULL_CUBE);
51+
return Block.isShapeFullBlock(block.getShape(EmptyBlockGetter.INSTANCE, BlockPos.ZERO));
5752
}
5853

5954
@Override

worldedit-sponge/src/main/java/com/sk89q/worldedit/sponge/SpongeBlockMaterial.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,10 @@
2323
import net.minecraft.core.BlockPos;
2424
import net.minecraft.world.Clearable;
2525
import net.minecraft.world.level.EmptyBlockGetter;
26+
import net.minecraft.world.level.block.Block;
2627
import net.minecraft.world.level.block.EntityBlock;
2728
import net.minecraft.world.level.block.state.BlockState;
2829
import net.minecraft.world.level.material.PushReaction;
29-
import net.minecraft.world.phys.AABB;
30-
import net.minecraft.world.phys.Vec3;
31-
import net.minecraft.world.phys.shapes.VoxelShape;
3230

3331
/**
3432
* Sponge block material that pulls as much info as possible from the Minecraft
@@ -37,8 +35,6 @@
3735
*/
3836
public class SpongeBlockMaterial implements BlockMaterial {
3937

40-
private static final AABB FULL_CUBE = AABB.unitCubeFromLowerCorner(Vec3.ZERO);
41-
4238
private final BlockState block;
4339

4440
public SpongeBlockMaterial(BlockState block) {
@@ -52,8 +48,7 @@ public boolean isAir() {
5248

5349
@Override
5450
public boolean isFullCube() {
55-
VoxelShape vs = block.getCollisionShape(EmptyBlockGetter.INSTANCE, BlockPos.ZERO);
56-
return !vs.isEmpty() && vs.bounds().equals(FULL_CUBE);
51+
return Block.isShapeFullBlock(block.getShape(EmptyBlockGetter.INSTANCE, BlockPos.ZERO));
5752
}
5853

5954
@Override

0 commit comments

Comments
 (0)