@@ -1,8 +1,8 @@
|
||||
--- a/net/minecraft/server/BlockPortalShape.java
|
||||
+++ b/net/minecraft/server/BlockPortalShape.java
|
||||
@@ -4,6 +4,13 @@
|
||||
import java.util.function.Predicate;
|
||||
import javax.annotation.Nullable;
|
||||
--- a/net/minecraft/world/level/portal/BlockPortalShape.java
|
||||
+++ b/net/minecraft/world/level/portal/BlockPortalShape.java
|
||||
@@ -19,6 +19,13 @@
|
||||
import net.minecraft.world.level.block.state.properties.BlockProperties;
|
||||
import net.minecraft.world.phys.Vec3D;
|
||||
|
||||
+// CraftBukkit start
|
||||
+import org.bukkit.craftbukkit.block.CraftBlock;
|
||||
@@ -14,7 +14,7 @@
|
||||
public class BlockPortalShape {
|
||||
|
||||
private static final BlockBase.e a = (iblockdata, iblockaccess, blockposition) -> {
|
||||
@@ -17,6 +24,7 @@
|
||||
@@ -32,6 +39,7 @@
|
||||
private BlockPosition position;
|
||||
private int height;
|
||||
private int width;
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
public static Optional<BlockPortalShape> a(GeneratorAccess generatoraccess, BlockPosition blockposition, EnumDirection.EnumAxis enumdirection_enumaxis) {
|
||||
return a(generatoraccess, blockposition, (blockportalshape) -> {
|
||||
@@ -81,6 +89,7 @@
|
||||
@@ -96,6 +104,7 @@
|
||||
|
||||
if (!a(iblockdata)) {
|
||||
if (BlockPortalShape.a.test(iblockdata, this.b, blockposition_mutableblockposition)) {
|
||||
@@ -30,7 +30,7 @@
|
||||
return i;
|
||||
}
|
||||
break;
|
||||
@@ -152,12 +161,30 @@
|
||||
@@ -167,12 +176,30 @@
|
||||
return this.position != null && this.width >= 2 && this.width <= 21 && this.height >= 3 && this.height <= 21;
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
}
|
||||
|
||||
public boolean c() {
|
||||
@@ -194,7 +221,7 @@
|
||||
@@ -209,7 +236,7 @@
|
||||
return new Vec3D(d2, d3, d4);
|
||||
}
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
BlockPosition blockposition = blockutil_rectangle.origin;
|
||||
IBlockData iblockdata = worldserver.getType(blockposition);
|
||||
EnumDirection.EnumAxis enumdirection_enumaxis1 = (EnumDirection.EnumAxis) iblockdata.get(BlockProperties.E);
|
||||
@@ -208,6 +235,6 @@
|
||||
@@ -223,6 +250,6 @@
|
||||
boolean flag = enumdirection_enumaxis1 == EnumDirection.EnumAxis.X;
|
||||
Vec3D vec3d3 = new Vec3D((double) blockposition.getX() + (flag ? d2 : d4), (double) blockposition.getY() + d3, (double) blockposition.getZ() + (flag ? d4 : d2));
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--- a/net/minecraft/server/PortalTravelAgent.java
|
||||
+++ b/net/minecraft/server/PortalTravelAgent.java
|
||||
@@ -13,13 +13,19 @@
|
||||
--- a/net/minecraft/world/level/portal/PortalTravelAgent.java
|
||||
+++ b/net/minecraft/world/level/portal/PortalTravelAgent.java
|
||||
@@ -30,13 +30,19 @@
|
||||
}
|
||||
|
||||
public Optional<BlockUtil.Rectangle> findPortal(BlockPosition blockposition, boolean flag) {
|
||||
@@ -22,7 +22,7 @@
|
||||
return villageplacerecord.f().j(blockposition);
|
||||
}).thenComparingInt((villageplacerecord) -> {
|
||||
return villageplacerecord.f().getY();
|
||||
@@ -40,6 +46,12 @@
|
||||
@@ -57,6 +63,12 @@
|
||||
}
|
||||
|
||||
public Optional<BlockUtil.Rectangle> createPortal(BlockPosition blockposition, EnumDirection.EnumAxis enumdirection_enumaxis) {
|
||||
@@ -30,12 +30,12 @@
|
||||
+ return this.createPortal(blockposition, enumdirection_enumaxis, null, 16);
|
||||
+ }
|
||||
+
|
||||
+ public Optional<BlockUtil.Rectangle> createPortal(BlockPosition blockposition, EnumDirection.EnumAxis enumdirection_enumaxis, Entity entity, int createRadius) {
|
||||
+ public Optional<BlockUtil.Rectangle> createPortal(BlockPosition blockposition, EnumDirection.EnumAxis enumdirection_enumaxis, net.minecraft.world.entity.Entity entity, int createRadius) {
|
||||
+ // CraftBukkit end
|
||||
EnumDirection enumdirection = EnumDirection.a(EnumDirection.EnumAxisDirection.POSITIVE, enumdirection_enumaxis);
|
||||
double d0 = -1.0D;
|
||||
BlockPosition blockposition1 = null;
|
||||
@@ -48,7 +60,7 @@
|
||||
@@ -65,7 +77,7 @@
|
||||
WorldBorder worldborder = this.world.getWorldBorder();
|
||||
int i = this.world.getHeight() - 1;
|
||||
BlockPosition.MutableBlockPosition blockposition_mutableblockposition = blockposition.i();
|
||||
@@ -44,7 +44,7 @@
|
||||
|
||||
int j;
|
||||
|
||||
@@ -102,6 +114,7 @@
|
||||
@@ -119,6 +131,7 @@
|
||||
|
||||
int j1;
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
if (d0 == -1.0D) {
|
||||
blockposition1 = (new BlockPosition(blockposition.getX(), MathHelper.clamp(blockposition.getY(), 70, this.world.getHeight() - 10), blockposition.getZ())).immutableCopy();
|
||||
EnumDirection enumdirection1 = enumdirection.g();
|
||||
@@ -116,7 +129,7 @@
|
||||
@@ -133,7 +146,7 @@
|
||||
IBlockData iblockdata = k1 < 0 ? Blocks.OBSIDIAN.getBlockData() : Blocks.AIR.getBlockData();
|
||||
|
||||
blockposition_mutableblockposition.a((BaseBlockPosition) blockposition1, j * enumdirection.getAdjacentX() + j1 * enumdirection1.getAdjacentX(), k1, j * enumdirection.getAdjacentZ() + j1 * enumdirection1.getAdjacentZ());
|
||||
@@ -61,7 +61,7 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -126,7 +139,7 @@
|
||||
@@ -143,7 +156,7 @@
|
||||
for (j1 = -1; j1 < 4; ++j1) {
|
||||
if (l1 == -1 || l1 == 2 || j1 == -1 || j1 == 3) {
|
||||
blockposition_mutableblockposition.a((BaseBlockPosition) blockposition1, l1 * enumdirection.getAdjacentX(), j1, l1 * enumdirection.getAdjacentZ());
|
||||
@@ -70,7 +70,7 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -136,10 +149,20 @@
|
||||
@@ -153,10 +166,20 @@
|
||||
for (j1 = 0; j1 < 2; ++j1) {
|
||||
for (j = 0; j < 3; ++j) {
|
||||
blockposition_mutableblockposition.a((BaseBlockPosition) blockposition1, j1 * enumdirection.getAdjacentX(), j, j1 * enumdirection.getAdjacentZ());
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
--- a/net/minecraft/server/ShapeDetectorShape.java
|
||||
+++ b/net/minecraft/server/ShapeDetectorShape.java
|
||||
@@ -1,13 +1,21 @@
|
||||
package net.minecraft.server;
|
||||
--- a/net/minecraft/world/level/portal/ShapeDetectorShape.java
|
||||
+++ b/net/minecraft/world/level/portal/ShapeDetectorShape.java
|
||||
@@ -2,14 +2,25 @@
|
||||
|
||||
+import org.bukkit.craftbukkit.event.CraftPortalEvent; // CraftBukkit
|
||||
import net.minecraft.world.phys.Vec3D;
|
||||
|
||||
+// CraftBukkit start
|
||||
+import net.minecraft.server.level.WorldServer;
|
||||
+import org.bukkit.craftbukkit.event.CraftPortalEvent;
|
||||
+// CraftBukkit end
|
||||
+
|
||||
public class ShapeDetectorShape {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user