From f649081f23796bc86b6c2ee71bab138ab5abb62f Mon Sep 17 00:00:00 2001 From: liach <7806504+liach@users.noreply.github.com> Date: Sat, 13 Feb 2021 11:01:51 -0600 Subject: [PATCH] Mappings for nether portal-related functionality (#2052) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Mappings for nether portal-related functionality Apply suggested changes * getOrNone → getOrEmpty * destinationIsNether → destIsNether getCoordinateScaleRatio -> getCoordinateScaleFactor and more mappings * Apply suggestions from code review Co-authored-by: YanisBft Co-authored-by: Kyarei Co-authored-by: YanisBft --- mappings/net/minecraft/entity/Entity.mapping | 7 +++++++ .../net/minecraft/world/PortalForcer.mapping | 9 +++++++++ .../PortalUtil.mapping} | 20 ++++++++++++++++++- .../world/dimension/AreaHelper.mapping | 14 +++++++++++++ 4 files changed, 49 insertions(+), 1 deletion(-) rename mappings/net/minecraft/{class_5459.mapping => world/PortalUtil.mapping} (61%) diff --git a/mappings/net/minecraft/entity/Entity.mapping b/mappings/net/minecraft/entity/Entity.mapping index fed936a2ee..a0a7b0ac63 100644 --- a/mappings/net/minecraft/entity/Entity.mapping +++ b/mappings/net/minecraft/entity/Entity.mapping @@ -250,9 +250,16 @@ CLASS net/minecraft/class_1297 net/minecraft/entity/Entity METHOD method_30230 hasNetherPortalCooldown ()Z METHOD method_30329 getTeleportTarget (Lnet/minecraft/class_3218;)Lnet/minecraft/class_5454; ARG 1 destination + METHOD method_30330 getPortalRect (Lnet/minecraft/class_3218;Lnet/minecraft/class_2338;Z)Ljava/util/Optional; + ARG 1 destWorld + ARG 2 destPos + ARG 3 destIsNether METHOD method_30632 collidesWithStateAtPos (Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;)Z ARG 1 pos ARG 2 state + METHOD method_30633 positionInPortal (Lnet/minecraft/class_2350$class_2351;Lnet/minecraft/class_5459$class_5460;)Lnet/minecraft/class_243; + ARG 1 portalAxis + ARG 2 portalRect METHOD method_30634 updatePosition (DDD)V ARG 1 x ARG 3 y diff --git a/mappings/net/minecraft/world/PortalForcer.mapping b/mappings/net/minecraft/world/PortalForcer.mapping index 734803a45c..386591ae80 100644 --- a/mappings/net/minecraft/world/PortalForcer.mapping +++ b/mappings/net/minecraft/world/PortalForcer.mapping @@ -2,3 +2,12 @@ CLASS net/minecraft/class_1946 net/minecraft/world/PortalForcer FIELD field_9286 world Lnet/minecraft/class_3218; METHOD (Lnet/minecraft/class_3218;)V ARG 1 world + METHOD method_30481 isValidPortalPos (Lnet/minecraft/class_2338;Lnet/minecraft/class_2338$class_2339;Lnet/minecraft/class_2350;I)Z + ARG 1 pos + ARG 2 temp + ARG 3 portalDirection + ARG 4 distanceOrthogonalToPortal + METHOD method_30482 createPortal (Lnet/minecraft/class_2338;Lnet/minecraft/class_2350$class_2351;)Ljava/util/Optional; + METHOD method_30483 getPortalRect (Lnet/minecraft/class_2338;Z)Ljava/util/Optional; + ARG 1 destPos + ARG 2 destIsNether diff --git a/mappings/net/minecraft/class_5459.mapping b/mappings/net/minecraft/world/PortalUtil.mapping similarity index 61% rename from mappings/net/minecraft/class_5459.mapping rename to mappings/net/minecraft/world/PortalUtil.mapping index 008bc8992b..8317dd100f 100644 --- a/mappings/net/minecraft/class_5459.mapping +++ b/mappings/net/minecraft/world/PortalUtil.mapping @@ -1,4 +1,14 @@ -CLASS net/minecraft/class_5459 +CLASS net/minecraft/class_5459 net/minecraft/world/PortalUtil + METHOD method_30574 getLargestRectangle (Lnet/minecraft/class_2338;Lnet/minecraft/class_2350$class_2351;ILnet/minecraft/class_2350$class_2351;ILjava/util/function/Predicate;)Lnet/minecraft/class_5459$class_5460; + COMMENT Gets the largest rectangle of blocks along two axes for which all blocks meet a predicate. + COMMENT Used for getting rectangles of Nether portal blocks. + ARG 0 center + ARG 1 primaryAxis + ARG 2 primaryMaxBlocks + ARG 3 secondaryAxis + ARG 4 secondaryMaxBlocks + METHOD method_30575 moveWhile (Ljava/util/function/Predicate;Lnet/minecraft/class_2338$class_2339;Lnet/minecraft/class_2350;I)I + ARG 3 max METHOD method_30576 findLargestRectangle ([I)Lcom/mojang/datafixers/util/Pair; COMMENT Finds the largest rectangle within a histogram, where the vertical bars each have COMMENT width 1 and height specified in {@code heights}. @@ -20,6 +30,14 @@ CLASS net/minecraft/class_5459 COMMENT Rectangle in Histogram - LeetCode ARG 0 heights COMMENT the heights of bars in the histogram + CLASS class_5460 Rectangle + FIELD field_25936 lowerLeft Lnet/minecraft/class_2338; + FIELD field_25937 width I + FIELD field_25938 height I + METHOD (Lnet/minecraft/class_2338;II)V + ARG 1 lowerLeft + ARG 2 width + ARG 3 height CLASS class_5461 IntBounds FIELD field_25939 min I FIELD field_25940 max I diff --git a/mappings/net/minecraft/world/dimension/AreaHelper.mapping b/mappings/net/minecraft/world/dimension/AreaHelper.mapping index 390e53ec6e..b606e6ce90 100644 --- a/mappings/net/minecraft/world/dimension/AreaHelper.mapping +++ b/mappings/net/minecraft/world/dimension/AreaHelper.mapping @@ -16,6 +16,15 @@ CLASS net/minecraft/class_2424 net/minecraft/world/dimension/AreaHelper METHOD method_10360 isValid ()Z METHOD method_10362 wasAlreadyValid ()Z METHOD method_10363 createPortal ()V + METHOD method_30484 getNetherTeleportTarget (Lnet/minecraft/class_3218;Lnet/minecraft/class_5459$class_5460;Lnet/minecraft/class_2350$class_2351;Lnet/minecraft/class_243;Lnet/minecraft/class_4048;Lnet/minecraft/class_243;FF)Lnet/minecraft/class_5454; + ARG 0 destination + ARG 1 portalRect + ARG 2 portalAxis + ARG 3 offset + ARG 4 dimensions + ARG 5 velocity + ARG 6 yaw + ARG 7 pitch METHOD method_30485 getNewPortal (Lnet/minecraft/class_1936;Lnet/minecraft/class_2338;Lnet/minecraft/class_2350$class_2351;)Ljava/util/Optional; ARG 0 world ARG 1 pos @@ -33,5 +42,10 @@ CLASS net/minecraft/class_2424 net/minecraft/world/dimension/AreaHelper METHOD method_30493 getWidth (Lnet/minecraft/class_2338;Lnet/minecraft/class_2350;)I ARG 1 pos ARG 2 direction + METHOD method_30494 entityPosInPortal (Lnet/minecraft/class_5459$class_5460;Lnet/minecraft/class_2350$class_2351;Lnet/minecraft/class_243;Lnet/minecraft/class_4048;)Lnet/minecraft/class_243; + ARG 0 portalRect + ARG 1 portalAxis + ARG 2 entityPos + ARG 3 entityDimensions METHOD method_30495 getWidth ()I METHOD method_30496 getHeight ()I