From af2c2a03e64f2c892bfd7148e6b21cd68d4671b3 Mon Sep 17 00:00:00 2001 From: "Luis C.M" <42545778+c0508383@users.noreply.github.com> Date: Fri, 11 Nov 2022 00:42:56 -0600 Subject: [PATCH] IBlock: -Added new collision functions. --- .../noppes/npcs/scripted/ScriptBlock.java | 28 +++++++++++++++++++ .../npcs/scripted/interfaces/IBlock.java | 14 ++++++++++ 2 files changed, 42 insertions(+) diff --git a/src/main/java/noppes/npcs/scripted/ScriptBlock.java b/src/main/java/noppes/npcs/scripted/ScriptBlock.java index bf7dfaeda..d3911e2a1 100644 --- a/src/main/java/noppes/npcs/scripted/ScriptBlock.java +++ b/src/main/java/noppes/npcs/scripted/ScriptBlock.java @@ -195,6 +195,34 @@ public class ScriptBlock implements IBlock { return canCollide(0); } + public void setBounds(float minX, float minY, float minZ, float maxX, float maxY, float maxZ) { + this.block.setBlockBounds(minX,minY,minZ,maxX,maxY,maxZ); + } + + public double getBlockBoundsMinX() { + return this.block.getBlockBoundsMinX(); + } + + public double getBlockBoundsMinY() { + return this.block.getBlockBoundsMinY(); + } + + public double getBlockBoundsMinZ() { + return this.block.getBlockBoundsMinZ(); + } + + public double getBlockBoundsMaxX() { + return this.block.getBlockBoundsMaxX(); + } + + public double getBlockBoundsMaxY() { + return this.block.getBlockBoundsMaxY(); + } + + public double getBlockBoundsMaxZ() { + return this.block.getBlockBoundsMaxZ(); + } + public String toString() { return this.getName() + " @" + this.getPos() + (world == null ? "" : " in DIM" + world.getDimensionID()); } diff --git a/src/main/java/noppes/npcs/scripted/interfaces/IBlock.java b/src/main/java/noppes/npcs/scripted/interfaces/IBlock.java index e7b1e1d84..7d360ab0d 100644 --- a/src/main/java/noppes/npcs/scripted/interfaces/IBlock.java +++ b/src/main/java/noppes/npcs/scripted/interfaces/IBlock.java @@ -127,4 +127,18 @@ public interface IBlock { boolean canCollide(double maxVolume); boolean canCollide(); + + void setBounds(float minX, float minY, float minZ, float maxX, float maxY, float maxZ); + + double getBlockBoundsMinX(); + + double getBlockBoundsMinY(); + + double getBlockBoundsMinZ(); + + double getBlockBoundsMaxX(); + + double getBlockBoundsMaxY(); + + double getBlockBoundsMaxZ(); }