|
1 | 1 | --- a/net/minecraft/world/level/portal/DimensionTransition.java |
2 | 2 | +++ b/net/minecraft/world/level/portal/DimensionTransition.java |
3 | | -@@ -6,6 +_,7 @@ |
| 3 | +@@ -6,29 +_,46 @@ |
4 | 4 | import net.minecraft.server.level.ServerPlayer; |
5 | 5 | import net.minecraft.world.entity.Entity; |
6 | 6 | import net.minecraft.world.phys.Vec3; |
| 7 | ++import org.bukkit.event.player.PlayerTeleportEvent; |
7 | 8 | +import org.teneted.neotenet.injection.world.level.portal.InjectionDimensionTransition; |
8 | 9 |
|
9 | 10 | public record DimensionTransition( |
10 | | - ServerLevel newLevel, |
11 | | -@@ -15,7 +_,7 @@ |
12 | | - float xRot, |
13 | | - boolean missingRespawnBlock, |
14 | | - DimensionTransition.PostDimensionTransition postDimensionTransition |
| 11 | +- ServerLevel newLevel, |
| 12 | +- Vec3 pos, |
| 13 | +- Vec3 speed, |
| 14 | +- float yRot, |
| 15 | +- float xRot, |
| 16 | +- boolean missingRespawnBlock, |
| 17 | +- DimensionTransition.PostDimensionTransition postDimensionTransition |
15 | 18 | -) { |
| 19 | ++ ServerLevel newLevel, |
| 20 | ++ Vec3 pos, |
| 21 | ++ Vec3 speed, |
| 22 | ++ float yRot, |
| 23 | ++ float xRot, |
| 24 | ++ boolean missingRespawnBlock, |
| 25 | ++ DimensionTransition.PostDimensionTransition postDimensionTransition, |
| 26 | ++ PlayerTeleportEvent.TeleportCause cause |
16 | 27 | +) implements InjectionDimensionTransition { |
17 | 28 | public static final DimensionTransition.PostDimensionTransition DO_NOTHING = p_352417_ -> { |
18 | 29 | }; |
19 | 30 | public static final DimensionTransition.PostDimensionTransition PLAY_PORTAL_SOUND = DimensionTransition::playPortalSound; |
| 31 | + public static final DimensionTransition.PostDimensionTransition PLACE_PORTAL_TICKET = DimensionTransition::placePortalTicket; |
| 32 | + |
| 33 | + public DimensionTransition( |
| 34 | +- ServerLevel p_348637_, Vec3 p_348645_, Vec3 p_348472_, float p_348548_, float p_348664_, DimensionTransition.PostDimensionTransition p_352139_ |
| 35 | ++ ServerLevel p_348637_, Vec3 p_348645_, Vec3 p_348472_, float p_348548_, float p_348664_, DimensionTransition.PostDimensionTransition p_352139_ |
| 36 | + ) { |
| 37 | +- this(p_348637_, p_348645_, p_348472_, p_348548_, p_348664_, false, p_352139_); |
| 38 | +- } |
| 39 | ++ this(p_348637_, p_348645_, p_348472_, p_348548_, p_348664_, false, p_352139_, PlayerTeleportEvent.TeleportCause.UNKNOWN); |
| 40 | ++ } |
| 41 | ++ |
| 42 | ++ public DimensionTransition(ServerLevel newLevel, Vec3 pos, Vec3 speed, float yRot, float xRot, boolean missingRespawnBlock, DimensionTransition.PostDimensionTransition postDimensionTransition) { |
| 43 | ++ this(newLevel, pos, speed, yRot, xRot, missingRespawnBlock, postDimensionTransition, PlayerTeleportEvent.TeleportCause.UNKNOWN); |
| 44 | ++ } |
| 45 | ++ |
| 46 | ++ public DimensionTransition(PlayerTeleportEvent.TeleportCause cause) { |
| 47 | ++ this(null, Vec3.ZERO, Vec3.ZERO, 0.0F, 0.0F, false, DO_NOTHING, cause); |
| 48 | ++ } |
| 49 | ++ |
| 50 | + |
| 51 | + public DimensionTransition(ServerLevel p_348609_, Entity p_352432_, DimensionTransition.PostDimensionTransition p_352373_) { |
| 52 | +- this(p_348609_, findAdjustedSharedSpawnPos(p_348609_, p_352432_), Vec3.ZERO, 0.0F, 0.0F, false, p_352373_); |
| 53 | ++ this(p_348609_, findAdjustedSharedSpawnPos(p_348609_, p_352432_), Vec3.ZERO, 0.0F, 0.0F, false, p_352373_, PlayerTeleportEvent.TeleportCause.UNKNOWN); |
| 54 | ++ } |
| 55 | ++ |
| 56 | ++ public DimensionTransition(ServerLevel p_348609_, Entity p_352432_, DimensionTransition.PostDimensionTransition p_352373_, PlayerTeleportEvent.TeleportCause cause) { |
| 57 | ++ this(p_348609_, findAdjustedSharedSpawnPos(p_348609_, p_352432_), Vec3.ZERO, 0.0F, 0.0F, false, p_352373_, cause); |
| 58 | ++ // CraftBukkit end |
| 59 | + } |
| 60 | + |
| 61 | + private static void playPortalSound(Entity p_352075_) { |
| 62 | +@@ -42,7 +_,7 @@ |
| 63 | + } |
| 64 | + |
| 65 | + public static DimensionTransition missingRespawnBlock(ServerLevel p_348517_, Entity p_352420_, DimensionTransition.PostDimensionTransition p_352305_) { |
| 66 | +- return new DimensionTransition(p_348517_, findAdjustedSharedSpawnPos(p_348517_, p_352420_), Vec3.ZERO, 0.0F, 0.0F, true, p_352305_); |
| 67 | ++ return new DimensionTransition(p_348517_, findAdjustedSharedSpawnPos(p_348517_, p_352420_), Vec3.ZERO, 0.0F, 0.0F, true, p_352305_, PlayerTeleportEvent.TeleportCause.UNKNOWN); |
| 68 | + } |
| 69 | + |
| 70 | + private static Vec3 findAdjustedSharedSpawnPos(ServerLevel p_352080_, Entity p_352400_) { |
0 commit comments