4d40e87b33
Had to drop some hunks modifying getEntities, as those methods were rewritten by Mojang in 1.17
45 lines
2.7 KiB
Diff
45 lines
2.7 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jake Potrebic <jake.m.potrebic@gmail.com>
|
|
Date: Wed, 12 May 2021 03:21:22 -0700
|
|
Subject: [PATCH] call PortalCreateEvent players and end platform
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/core/BlockPos.java b/src/main/java/net/minecraft/core/BlockPos.java
|
|
index 8f0cf4297015f3cbe709e2eb82280cac72489925..22ea0da3836b61bb018ae974d2b8c7546b9528d6 100644
|
|
--- a/src/main/java/net/minecraft/core/BlockPos.java
|
|
+++ b/src/main/java/net/minecraft/core/BlockPos.java
|
|
@@ -523,6 +523,7 @@ public class BlockPos extends Vec3i {
|
|
return this.set(this.getX() + direction.getStepX() * distance, this.getY() + direction.getStepY() * distance, this.getZ() + direction.getStepZ() * distance);
|
|
}
|
|
|
|
+ public BlockPos.MutableBlockPos withOffset(int x, int y, int z) { return move(x, y, z); } // Paper - OBFHELPER
|
|
public BlockPos.MutableBlockPos move(int dx, int dy, int dz) {
|
|
return this.set(this.getX() + dx, this.getY() + dy, this.getZ() + dz);
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
|
index 3d56324f65ceb7fd361244eb770792af54e5e320..a5bf54d6ad99d2cd860e9a8dc87a5dcfac5c18ac 100644
|
|
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
|
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
|
@@ -1166,15 +1166,21 @@ public class ServerPlayer extends Player {
|
|
private void createEndPlatform(ServerLevel world, BlockPos centerPos) {
|
|
BlockPos.MutableBlockPos blockposition_mutableblockposition = centerPos.mutable();
|
|
|
|
+ org.bukkit.craftbukkit.util.BlockStateListPopulator blockList = new org.bukkit.craftbukkit.util.BlockStateListPopulator(world); // Paper
|
|
for (int i = -2; i <= 2; ++i) {
|
|
for (int j = -2; j <= 2; ++j) {
|
|
for (int k = -1; k < 3; ++k) {
|
|
BlockState iblockdata = k == -1 ? Blocks.OBSIDIAN.defaultBlockState() : Blocks.AIR.defaultBlockState();
|
|
|
|
- world.setBlockAndUpdate(blockposition_mutableblockposition.set(centerPos).move(j, k, i), iblockdata);
|
|
+ blockList.setBlock(blockposition_mutableblockposition.set(centerPos).move(j, k, i), iblockdata, 3); // Paper
|
|
}
|
|
}
|
|
}
|
|
+ // Paper start
|
|
+ if (new org.bukkit.event.world.PortalCreateEvent((List< org.bukkit.block.BlockState>) (List) blockList.getList(), world.getWorld(), this.getBukkitEntity(), org.bukkit.event.world.PortalCreateEvent.CreateReason.END_PLATFORM).callEvent()) {
|
|
+ blockList.updateList();
|
|
+ }
|
|
+ // Paper end
|
|
|
|
}
|
|
|