geforkt von Mirrors/Paper
bf92f3e4db
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 9153f77e PR-841: Remove incorrect ClickType.CONTROL_DROP from ClickType#isShiftClick bceda6ab PR-840: Adjust annotations in Display entity interface a6b85ac3 PR-835: Add Jukebox#hasRecord() and #startPlaying(), clarify #setRecord() CraftBukkit Changes: e142fb9fd SPIGOT-7188: ChunkSnapshot biome y coordinate doesn't match chunk biome y coord eff1743b9 SPIGOT-7313: More accurately edit data on Jukeboxes
27 Zeilen
1.5 KiB
Diff
27 Zeilen
1.5 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jake Potrebic <jake.m.potrebic@gmail.com>
|
|
Date: Thu, 15 Dec 2022 10:33:39 -0800
|
|
Subject: [PATCH] Improve PortalEvents
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
|
index 8a7af77e8ac456cc89da7e954a8090bf794475c8..448b3d68b440cfeeb4bf8c5c7aabfdc9bdb97fc0 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
|
@@ -3561,7 +3561,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
|
Location enter = bukkitEntity.getLocation();
|
|
Location exit = new Location(exitWorldServer.getWorld(), exitPosition.x(), exitPosition.y(), exitPosition.z());
|
|
|
|
- EntityPortalEvent event = new EntityPortalEvent(bukkitEntity, enter, exit, searchRadius);
|
|
+ // Paper start
|
|
+ final org.bukkit.PortalType portalType = switch (cause) {
|
|
+ case END_PORTAL -> org.bukkit.PortalType.ENDER;
|
|
+ case NETHER_PORTAL -> org.bukkit.PortalType.NETHER;
|
|
+ default -> org.bukkit.PortalType.CUSTOM;
|
|
+ };
|
|
+ EntityPortalEvent event = new EntityPortalEvent(bukkitEntity, enter, exit, searchRadius, portalType);
|
|
+ // Paper end
|
|
event.getEntity().getServer().getPluginManager().callEvent(event);
|
|
if (event.isCancelled() || event.getTo() == null || event.getTo().getWorld() == null || !entity.isAlive()) {
|
|
return null;
|