Skip to content

Instantly share code, notes, and snippets.

@anatawa12
Created April 26, 2021 14:05
Show Gist options
  • Save anatawa12/b18ddf8e153dd541deee717ce75fcb74 to your computer and use it in GitHub Desktop.
Save anatawa12/b18ddf8e153dd541deee717ce75fcb74 to your computer and use it in GitHub Desktop.
javap of NPCAIRideTrain in KaizPatchX at 06c1e19
bash-3.2$ git rev-parse --short HEAD
06c1e19
bash-3.2$ unzip -p build/libs/src1.7.10_20200822+KaizPatchX-latest.jar jp/ngt/rtm/entity/npc/NPCAIRideTrain.class > NPCAIRideTrain.class
bash-3.2$ javap -v -private NPCAIRideTrain.class > javap_out.txt
bash-3.2$
Classfile /Users/anatawa12/IdeaProjects/KaizPatchX/NPCAIRideTrain.class
Last modified Apr 26, 2021; size 4208 bytes
MD5 checksum fd8b487de93354ba2cd482a2919c37a1
Compiled from "NPCAIRideTrain.java"
public class jp.ngt.rtm.entity.npc.NPCAIRideTrain extends net.minecraft.entity.ai.EntityAIBase
minor version: 0
major version: 52
flags: ACC_PUBLIC, ACC_SUPER
Constant pool:
#1 = Utf8 jp/ngt/rtm/entity/npc/NPCAIRideTrain
#2 = Class #1 // jp/ngt/rtm/entity/npc/NPCAIRideTrain
#3 = Utf8 net/minecraft/entity/ai/EntityAIBase
#4 = Class #3 // net/minecraft/entity/ai/EntityAIBase
#5 = Utf8 NPCAIRideTrain.java
#6 = Utf8 java/lang/invoke/MethodHandles$Lookup
#7 = Class #6 // java/lang/invoke/MethodHandles$Lookup
#8 = Utf8 java/lang/invoke/MethodHandles
#9 = Class #8 // java/lang/invoke/MethodHandles
#10 = Utf8 Lookup
#11 = Utf8 MAX_RANGE
#12 = Utf8 D
#13 = Double 32.0d
#15 = Utf8 SELECTOR
#16 = Utf8 Lnet/minecraft/command/IEntitySelector;
#17 = Utf8 npc
#18 = Utf8 Ljp/ngt/rtm/entity/npc/EntityNPC;
#19 = Utf8 moveSpeed
#20 = Utf8 F
#21 = Utf8 target
#22 = Utf8 Ljp/ngt/rtm/entity/train/parts/EntityFloor;
#23 = Utf8 entityPathNavigate
#24 = Utf8 Lnet/minecraft/pathfinding/PathEntity;
#25 = Utf8 targetTrain
#26 = Utf8 Ljp/ngt/rtm/entity/vehicle/EntityVehicleBase;
#27 = Utf8 <init>
#28 = Utf8 (Ljp/ngt/rtm/entity/npc/EntityNPC;F)V
#29 = Utf8 ()V
#30 = NameAndType #27:#29 // "<init>":()V
#31 = Methodref #4.#30 // net/minecraft/entity/ai/EntityAIBase."<init>":()V
#32 = NameAndType #17:#18 // npc:Ljp/ngt/rtm/entity/npc/EntityNPC;
#33 = Fieldref #2.#32 // jp/ngt/rtm/entity/npc/NPCAIRideTrain.npc:Ljp/ngt/rtm/entity/npc/EntityNPC;
#34 = NameAndType #19:#20 // moveSpeed:F
#35 = Fieldref #2.#34 // jp/ngt/rtm/entity/npc/NPCAIRideTrain.moveSpeed:F
#36 = Utf8 this
#37 = Utf8 Ljp/ngt/rtm/entity/npc/NPCAIRideTrain;
#38 = Utf8 par1
#39 = Utf8 par2
#40 = Utf8 func_75250_a
#41 = Utf8 ()Z
#42 = Utf8 setTargetSeat
#43 = NameAndType #42:#41 // setTargetSeat:()Z
#44 = Methodref #2.#43 // jp/ngt/rtm/entity/npc/NPCAIRideTrain.setTargetSeat:()Z
#45 = Utf8 func_75253_b
#46 = NameAndType #21:#22 // target:Ljp/ngt/rtm/entity/train/parts/EntityFloor;
#47 = Fieldref #2.#46 // jp/ngt/rtm/entity/npc/NPCAIRideTrain.target:Ljp/ngt/rtm/entity/train/parts/EntityFloor;
#48 = Utf8 jp/ngt/rtm/entity/train/parts/EntityFloor
#49 = Class #48 // jp/ngt/rtm/entity/train/parts/EntityFloor
#50 = Utf8 field_70128_L
#51 = Utf8 Z
#52 = NameAndType #50:#51 // field_70128_L:Z
#53 = Fieldref #49.#52 // jp/ngt/rtm/entity/train/parts/EntityFloor.field_70128_L:Z
#54 = NameAndType #25:#26 // targetTrain:Ljp/ngt/rtm/entity/vehicle/EntityVehicleBase;
#55 = Fieldref #2.#54 // jp/ngt/rtm/entity/npc/NPCAIRideTrain.targetTrain:Ljp/ngt/rtm/entity/vehicle/EntityVehicleBase;
#56 = Utf8 jp/ngt/rtm/entity/vehicle/EntityVehicleBase
#57 = Class #56 // jp/ngt/rtm/entity/vehicle/EntityVehicleBase
#58 = Utf8 getSpeed
#59 = Utf8 ()F
#60 = NameAndType #58:#59 // getSpeed:()F
#61 = Methodref #57.#60 // jp/ngt/rtm/entity/vehicle/EntityVehicleBase.getSpeed:()F
#62 = Utf8 jp/ngt/rtm/entity/npc/EntityNPC
#63 = Class #62 // jp/ngt/rtm/entity/npc/EntityNPC
#64 = Utf8 func_70068_e
#65 = Utf8 (Lnet/minecraft/entity/Entity;)D
#66 = NameAndType #64:#65 // func_70068_e:(Lnet/minecraft/entity/Entity;)D
#67 = Methodref #63.#66 // jp/ngt/rtm/entity/npc/EntityNPC.func_70068_e:(Lnet/minecraft/entity/Entity;)D
#68 = Double 1024.0d
#70 = Double 9.0d
#72 = Utf8 field_70154_o
#73 = Utf8 Lnet/minecraft/entity/Entity;
#74 = NameAndType #72:#73 // field_70154_o:Lnet/minecraft/entity/Entity;
#75 = Fieldref #49.#74 // jp/ngt/rtm/entity/train/parts/EntityFloor.field_70154_o:Lnet/minecraft/entity/Entity;
#76 = Utf8 func_70078_a
#77 = Utf8 (Lnet/minecraft/entity/Entity;)V
#78 = NameAndType #76:#77 // func_70078_a:(Lnet/minecraft/entity/Entity;)V
#79 = Methodref #63.#78 // jp/ngt/rtm/entity/npc/EntityNPC.func_70078_a:(Lnet/minecraft/entity/Entity;)V
#80 = Utf8 func_70661_as
#81 = Utf8 ()Lnet/minecraft/pathfinding/PathNavigate;
#82 = NameAndType #80:#81 // func_70661_as:()Lnet/minecraft/pathfinding/PathNavigate;
#83 = Methodref #63.#82 // jp/ngt/rtm/entity/npc/EntityNPC.func_70661_as:()Lnet/minecraft/pathfinding/PathNavigate;
#84 = Utf8 net/minecraft/pathfinding/PathNavigate
#85 = Class #84 // net/minecraft/pathfinding/PathNavigate
#86 = Utf8 func_75500_f
#87 = NameAndType #86:#41 // func_75500_f:()Z
#88 = Methodref #85.#87 // net/minecraft/pathfinding/PathNavigate.func_75500_f:()Z
#89 = Double -32.0d
#91 = Double -8.0d
#93 = Double 16.0d
#95 = Utf8 net/minecraft/util/AxisAlignedBB
#96 = Class #95 // net/minecraft/util/AxisAlignedBB
#97 = Utf8 func_72330_a
#98 = Utf8 (DDDDDD)Lnet/minecraft/util/AxisAlignedBB;
#99 = NameAndType #97:#98 // func_72330_a:(DDDDDD)Lnet/minecraft/util/AxisAlignedBB;
#100 = Methodref #96.#99 // net/minecraft/util/AxisAlignedBB.func_72330_a:(DDDDDD)Lnet/minecraft/util/AxisAlignedBB;
#101 = Utf8 field_70165_t
#102 = NameAndType #101:#12 // field_70165_t:D
#103 = Fieldref #63.#102 // jp/ngt/rtm/entity/npc/EntityNPC.field_70165_t:D
#104 = Utf8 field_70163_u
#105 = NameAndType #104:#12 // field_70163_u:D
#106 = Fieldref #63.#105 // jp/ngt/rtm/entity/npc/EntityNPC.field_70163_u:D
#107 = Utf8 field_70161_v
#108 = NameAndType #107:#12 // field_70161_v:D
#109 = Fieldref #63.#108 // jp/ngt/rtm/entity/npc/EntityNPC.field_70161_v:D
#110 = Utf8 func_72317_d
#111 = Utf8 (DDD)Lnet/minecraft/util/AxisAlignedBB;
#112 = NameAndType #110:#111 // func_72317_d:(DDD)Lnet/minecraft/util/AxisAlignedBB;
#113 = Methodref #96.#112 // net/minecraft/util/AxisAlignedBB.func_72317_d:(DDD)Lnet/minecraft/util/AxisAlignedBB;
#114 = Utf8 field_70170_p
#115 = Utf8 Lnet/minecraft/world/World;
#116 = NameAndType #114:#115 // field_70170_p:Lnet/minecraft/world/World;
#117 = Fieldref #63.#116 // jp/ngt/rtm/entity/npc/EntityNPC.field_70170_p:Lnet/minecraft/world/World;
#118 = NameAndType #15:#16 // SELECTOR:Lnet/minecraft/command/IEntitySelector;
#119 = Fieldref #2.#118 // jp/ngt/rtm/entity/npc/NPCAIRideTrain.SELECTOR:Lnet/minecraft/command/IEntitySelector;
#120 = Utf8 net/minecraft/world/World
#121 = Class #120 // net/minecraft/world/World
#122 = Utf8 func_94576_a
#123 = Utf8 (Lnet/minecraft/entity/Entity;Lnet/minecraft/util/AxisAlignedBB;Lnet/minecraft/command/IEntitySelector;)Ljava/util/List;
#124 = NameAndType #122:#123 // func_94576_a:(Lnet/minecraft/entity/Entity;Lnet/minecraft/util/AxisAlignedBB;Lnet/minecraft/command/IEntitySelector;)Ljava/util/List;
#125 = Methodref #121.#124 // net/minecraft/world/World.func_94576_a:(Lnet/minecraft/entity/Entity;Lnet/minecraft/util/AxisAlignedBB;Lnet/minecraft/command/IEntitySelector;)Ljava/util/List;
#126 = Utf8 java/util/List
#127 = Class #126 // java/util/List
#128 = Utf8 isEmpty
#129 = NameAndType #128:#41 // isEmpty:()Z
#130 = InterfaceMethodref #127.#129 // java/util/List.isEmpty:()Z
#131 = Double 1.7976931348623157E308d
#133 = Utf8 iterator
#134 = Utf8 ()Ljava/util/Iterator;
#135 = NameAndType #133:#134 // iterator:()Ljava/util/Iterator;
#136 = InterfaceMethodref #127.#135 // java/util/List.iterator:()Ljava/util/Iterator;
#137 = Utf8 java/util/Iterator
#138 = Class #137 // java/util/Iterator
#139 = Utf8 hasNext
#140 = NameAndType #139:#41 // hasNext:()Z
#141 = InterfaceMethodref #138.#140 // java/util/Iterator.hasNext:()Z
#142 = Utf8 next
#143 = Utf8 ()Ljava/lang/Object;
#144 = NameAndType #142:#143 // next:()Ljava/lang/Object;
#145 = InterfaceMethodref #138.#144 // java/util/Iterator.next:()Ljava/lang/Object;
#146 = Utf8 getVehicle
#147 = Utf8 ()Ljp/ngt/rtm/entity/vehicle/EntityVehicleBase;
#148 = NameAndType #146:#147 // getVehicle:()Ljp/ngt/rtm/entity/vehicle/EntityVehicleBase;
#149 = Methodref #49.#148 // jp/ngt/rtm/entity/train/parts/EntityFloor.getVehicle:()Ljp/ngt/rtm/entity/vehicle/EntityVehicleBase;
#150 = Utf8 field_70153_n
#151 = NameAndType #150:#73 // field_70153_n:Lnet/minecraft/entity/Entity;
#152 = Fieldref #49.#151 // jp/ngt/rtm/entity/train/parts/EntityFloor.field_70153_n:Lnet/minecraft/entity/Entity;
#153 = Utf8 func_75494_a
#154 = Utf8 (Lnet/minecraft/entity/Entity;)Lnet/minecraft/pathfinding/PathEntity;
#155 = NameAndType #153:#154 // func_75494_a:(Lnet/minecraft/entity/Entity;)Lnet/minecraft/pathfinding/PathEntity;
#156 = Methodref #85.#155 // net/minecraft/pathfinding/PathNavigate.func_75494_a:(Lnet/minecraft/entity/Entity;)Lnet/minecraft/pathfinding/PathEntity;
#157 = NameAndType #23:#24 // entityPathNavigate:Lnet/minecraft/pathfinding/PathEntity;
#158 = Fieldref #2.#157 // jp/ngt/rtm/entity/npc/NPCAIRideTrain.entityPathNavigate:Lnet/minecraft/pathfinding/PathEntity;
#159 = Utf8 dsq
#160 = Utf8 floor
#161 = Utf8 train
#162 = Utf8 obj
#163 = Utf8 Ljava/lang/Object;
#164 = Utf8 nextTarget
#165 = Utf8 distance
#166 = Utf8 aabb
#167 = Utf8 Lnet/minecraft/util/AxisAlignedBB;
#168 = Utf8 list
#169 = Utf8 Ljava/util/List;
#170 = Utf8 func_75249_e
#171 = Utf8 func_75484_a
#172 = Utf8 (Lnet/minecraft/pathfinding/PathEntity;D)Z
#173 = NameAndType #171:#172 // func_75484_a:(Lnet/minecraft/pathfinding/PathEntity;D)Z
#174 = Methodref #85.#173 // net/minecraft/pathfinding/PathNavigate.func_75484_a:(Lnet/minecraft/pathfinding/PathEntity;D)Z
#175 = Utf8 <clinit>
#176 = Utf8 java/lang/Object
#177 = Class #176 // java/lang/Object
#178 = Utf8 getClass
#179 = Utf8 ()Ljava/lang/Class;
#180 = NameAndType #178:#179 // getClass:()Ljava/lang/Class;
#181 = Methodref #177.#180 // java/lang/Object.getClass:()Ljava/lang/Class;
#182 = Utf8 (Lnet/minecraft/entity/Entity;)Z
#183 = MethodType #182 // (Lnet/minecraft/entity/Entity;)Z
#184 = Utf8 java/lang/Class
#185 = Class #184 // java/lang/Class
#186 = Utf8 isInstance
#187 = Utf8 (Ljava/lang/Object;)Z
#188 = NameAndType #186:#187 // isInstance:(Ljava/lang/Object;)Z
#189 = Methodref #185.#188 // java/lang/Class.isInstance:(Ljava/lang/Object;)Z
#190 = MethodHandle #5:#189 // invokevirtual java/lang/Class.isInstance:(Ljava/lang/Object;)Z
#191 = Utf8 java/lang/invoke/LambdaMetafactory
#192 = Class #191 // java/lang/invoke/LambdaMetafactory
#193 = Utf8 metafactory
#194 = Utf8 (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
#195 = NameAndType #193:#194 // metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
#196 = Methodref #192.#195 // java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
#197 = MethodHandle #6:#196 // invokestatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
#198 = Utf8 func_82704_a
#199 = Utf8 (Ljava/lang/Class;)Lnet/minecraft/command/IEntitySelector;
#200 = NameAndType #198:#199 // func_82704_a:(Ljava/lang/Class;)Lnet/minecraft/command/IEntitySelector;
#201 = InvokeDynamic #0:#200 // #0:func_82704_a:(Ljava/lang/Class;)Lnet/minecraft/command/IEntitySelector;
#202 = Utf8 ConstantValue
#203 = Utf8 Code
#204 = Utf8 LineNumberTable
#205 = Utf8 LocalVariableTable
#206 = Utf8 StackMapTable
#207 = Utf8 InnerClasses
#208 = Utf8 SourceFile
#209 = Utf8 BootstrapMethods
{
private static final double MAX_RANGE;
descriptor: D
flags: ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: double 32.0d
private static final net.minecraft.command.IEntitySelector SELECTOR;
descriptor: Lnet/minecraft/command/IEntitySelector;
flags: ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final jp.ngt.rtm.entity.npc.EntityNPC npc;
descriptor: Ljp/ngt/rtm/entity/npc/EntityNPC;
flags: ACC_PRIVATE, ACC_FINAL
private final float moveSpeed;
descriptor: F
flags: ACC_PRIVATE, ACC_FINAL
private jp.ngt.rtm.entity.train.parts.EntityFloor target;
descriptor: Ljp/ngt/rtm/entity/train/parts/EntityFloor;
flags: ACC_PRIVATE
private net.minecraft.pathfinding.PathEntity entityPathNavigate;
descriptor: Lnet/minecraft/pathfinding/PathEntity;
flags: ACC_PRIVATE
public jp.ngt.rtm.entity.vehicle.EntityVehicleBase targetTrain;
descriptor: Ljp/ngt/rtm/entity/vehicle/EntityVehicleBase;
flags: ACC_PUBLIC
public jp.ngt.rtm.entity.npc.NPCAIRideTrain(jp.ngt.rtm.entity.npc.EntityNPC, float);
descriptor: (Ljp/ngt/rtm/entity/npc/EntityNPC;F)V
flags: ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
0: aload_0
1: invokespecial #31 // Method net/minecraft/entity/ai/EntityAIBase."<init>":()V
4: aload_0
5: aload_1
6: putfield #33 // Field npc:Ljp/ngt/rtm/entity/npc/EntityNPC;
9: aload_0
10: fload_2
11: putfield #35 // Field moveSpeed:F
14: return
LineNumberTable:
line 24: 0
line 25: 4
line 26: 9
line 27: 14
LocalVariableTable:
Start Length Slot Name Signature
0 15 0 this Ljp/ngt/rtm/entity/npc/NPCAIRideTrain;
0 15 1 par1 Ljp/ngt/rtm/entity/npc/EntityNPC;
0 15 2 par2 F
public boolean func_75250_a();
descriptor: ()Z
flags: ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
0: aload_0
1: invokespecial #44 // Method setTargetSeat:()Z
4: ireturn
LineNumberTable:
line 31: 0
LocalVariableTable:
Start Length Slot Name Signature
0 5 0 this Ljp/ngt/rtm/entity/npc/NPCAIRideTrain;
public boolean func_75253_b();
descriptor: ()Z
flags: ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
0: aload_0
1: getfield #47 // Field target:Ljp/ngt/rtm/entity/train/parts/EntityFloor;
4: getfield #53 // Field jp/ngt/rtm/entity/train/parts/EntityFloor.field_70128_L:Z
7: ifeq 12
10: iconst_0
11: ireturn
12: aload_0
13: getfield #55 // Field targetTrain:Ljp/ngt/rtm/entity/vehicle/EntityVehicleBase;
16: invokevirtual #61 // Method jp/ngt/rtm/entity/vehicle/EntityVehicleBase.getSpeed:()F
19: fconst_0
20: fcmpl
21: ifne 42
24: aload_0
25: getfield #33 // Field npc:Ljp/ngt/rtm/entity/npc/EntityNPC;
28: aload_0
29: getfield #55 // Field targetTrain:Ljp/ngt/rtm/entity/vehicle/EntityVehicleBase;
32: invokevirtual #67 // Method jp/ngt/rtm/entity/npc/EntityNPC.func_70068_e:(Lnet/minecraft/entity/Entity;)D
35: ldc2_w #68 // double 1024.0d
38: dcmpl
39: ifle 44
42: iconst_0
43: ireturn
44: aload_0
45: getfield #33 // Field npc:Ljp/ngt/rtm/entity/npc/EntityNPC;
48: aload_0
49: getfield #47 // Field target:Ljp/ngt/rtm/entity/train/parts/EntityFloor;
52: invokevirtual #67 // Method jp/ngt/rtm/entity/npc/EntityNPC.func_70068_e:(Lnet/minecraft/entity/Entity;)D
55: ldc2_w #70 // double 9.0d
58: dcmpg
59: ifge 90
62: aload_0
63: getfield #47 // Field target:Ljp/ngt/rtm/entity/train/parts/EntityFloor;
66: getfield #75 // Field jp/ngt/rtm/entity/train/parts/EntityFloor.field_70154_o:Lnet/minecraft/entity/Entity;
69: ifnonnull 85
72: aload_0
73: getfield #33 // Field npc:Ljp/ngt/rtm/entity/npc/EntityNPC;
76: aload_0
77: getfield #47 // Field target:Ljp/ngt/rtm/entity/train/parts/EntityFloor;
80: invokevirtual #79 // Method jp/ngt/rtm/entity/npc/EntityNPC.func_70078_a:(Lnet/minecraft/entity/Entity;)V
83: iconst_0
84: ireturn
85: aload_0
86: invokespecial #44 // Method setTargetSeat:()Z
89: ireturn
90: aload_0
91: getfield #33 // Field npc:Ljp/ngt/rtm/entity/npc/EntityNPC;
94: invokevirtual #83 // Method jp/ngt/rtm/entity/npc/EntityNPC.func_70661_as:()Lnet/minecraft/pathfinding/PathNavigate;
97: invokevirtual #88 // Method net/minecraft/pathfinding/PathNavigate.func_75500_f:()Z
100: ifne 107
103: iconst_1
104: goto 108
107: iconst_0
108: ireturn
StackMapTable: number_of_entries = 7
frame_type = 12 /* same */
frame_type = 29 /* same */
frame_type = 1 /* same */
frame_type = 40 /* same */
frame_type = 4 /* same */
frame_type = 16 /* same */
frame_type = 64 /* same_locals_1_stack_item */
stack = [ int ]
LineNumberTable:
line 69: 0
line 70: 10
line 71: 12
line 72: 42
line 73: 44
line 74: 62
line 75: 72
line 76: 83
line 78: 85
line 81: 90
LocalVariableTable:
Start Length Slot Name Signature
0 109 0 this Ljp/ngt/rtm/entity/npc/NPCAIRideTrain;
private boolean setTargetSeat();
descriptor: ()Z
flags: ACC_PRIVATE
Code:
stack=12, locals=12, args_size=1
0: ldc2_w #89 // double -32.0d
3: ldc2_w #91 // double -8.0d
6: ldc2_w #89 // double -32.0d
9: ldc2_w #13 // double 32.0d
12: ldc2_w #93 // double 16.0d
15: ldc2_w #13 // double 32.0d
18: invokestatic #100 // Method net/minecraft/util/AxisAlignedBB.func_72330_a:(DDDDDD)Lnet/minecraft/util/AxisAlignedBB;
21: astore_1
22: aload_1
23: aload_0
24: getfield #33 // Field npc:Ljp/ngt/rtm/entity/npc/EntityNPC;
27: getfield #103 // Field jp/ngt/rtm/entity/npc/EntityNPC.field_70165_t:D
30: aload_0
31: getfield #33 // Field npc:Ljp/ngt/rtm/entity/npc/EntityNPC;
34: getfield #106 // Field jp/ngt/rtm/entity/npc/EntityNPC.field_70163_u:D
37: aload_0
38: getfield #33 // Field npc:Ljp/ngt/rtm/entity/npc/EntityNPC;
41: getfield #109 // Field jp/ngt/rtm/entity/npc/EntityNPC.field_70161_v:D
44: invokevirtual #113 // Method net/minecraft/util/AxisAlignedBB.func_72317_d:(DDD)Lnet/minecraft/util/AxisAlignedBB;
47: pop
48: aload_0
49: getfield #33 // Field npc:Ljp/ngt/rtm/entity/npc/EntityNPC;
52: getfield #117 // Field jp/ngt/rtm/entity/npc/EntityNPC.field_70170_p:Lnet/minecraft/world/World;
55: aload_0
56: getfield #33 // Field npc:Ljp/ngt/rtm/entity/npc/EntityNPC;
59: aload_1
60: getstatic #119 // Field SELECTOR:Lnet/minecraft/command/IEntitySelector;
63: invokevirtual #125 // Method net/minecraft/world/World.func_94576_a:(Lnet/minecraft/entity/Entity;Lnet/minecraft/util/AxisAlignedBB;Lnet/minecraft/command/IEntitySelector;)Ljava/util/List;
66: astore_2
67: aload_2
68: invokeinterface #130, 1 // InterfaceMethod java/util/List.isEmpty:()Z
73: ifne 226
76: aconst_null
77: astore_3
78: ldc2_w #131 // double 1.7976931348623157E308d
81: dstore 4
83: aload_2
84: invokeinterface #136, 1 // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator;
89: astore 6
91: aload 6
93: invokeinterface #141, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z
98: ifeq 185
101: aload 6
103: invokeinterface #145, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
108: astore 7
110: aload 7
112: checkcast #49 // class jp/ngt/rtm/entity/train/parts/EntityFloor
115: astore 8
117: aload 8
119: invokevirtual #149 // Method jp/ngt/rtm/entity/train/parts/EntityFloor.getVehicle:()Ljp/ngt/rtm/entity/vehicle/EntityVehicleBase;
122: astore 9
124: aload 9
126: ifnull 182
129: aload 9
131: aload_0
132: getfield #55 // Field targetTrain:Ljp/ngt/rtm/entity/vehicle/EntityVehicleBase;
135: if_acmpeq 182
138: aload 9
140: invokevirtual #61 // Method jp/ngt/rtm/entity/vehicle/EntityVehicleBase.getSpeed:()F
143: fconst_0
144: fcmpl
145: ifne 182
148: aload 8
150: getfield #152 // Field jp/ngt/rtm/entity/train/parts/EntityFloor.field_70153_n:Lnet/minecraft/entity/Entity;
153: ifnonnull 182
156: aload_0
157: getfield #33 // Field npc:Ljp/ngt/rtm/entity/npc/EntityNPC;
160: aload 8
162: invokevirtual #67 // Method jp/ngt/rtm/entity/npc/EntityNPC.func_70068_e:(Lnet/minecraft/entity/Entity;)D
165: dstore 10
167: dload 10
169: dload 4
171: dcmpg
172: ifge 182
175: aload 8
177: astore_3
178: dload 10
180: dstore 4
182: goto 91
185: aload_3
186: ifnull 226
189: aload_0
190: aload_0
191: getfield #33 // Field npc:Ljp/ngt/rtm/entity/npc/EntityNPC;
194: invokevirtual #83 // Method jp/ngt/rtm/entity/npc/EntityNPC.func_70661_as:()Lnet/minecraft/pathfinding/PathNavigate;
197: aload_3
198: invokevirtual #156 // Method net/minecraft/pathfinding/PathNavigate.func_75494_a:(Lnet/minecraft/entity/Entity;)Lnet/minecraft/pathfinding/PathEntity;
201: putfield #158 // Field entityPathNavigate:Lnet/minecraft/pathfinding/PathEntity;
204: aload_0
205: getfield #158 // Field entityPathNavigate:Lnet/minecraft/pathfinding/PathEntity;
208: ifnull 226
211: aload_0
212: aload_3
213: putfield #47 // Field target:Ljp/ngt/rtm/entity/train/parts/EntityFloor;
216: aload_0
217: aload_3
218: invokevirtual #149 // Method jp/ngt/rtm/entity/train/parts/EntityFloor.getVehicle:()Ljp/ngt/rtm/entity/vehicle/EntityVehicleBase;
221: putfield #55 // Field targetTrain:Ljp/ngt/rtm/entity/vehicle/EntityVehicleBase;
224: iconst_1
225: ireturn
226: iconst_0
227: ireturn
StackMapTable: number_of_entries = 4
frame_type = 255 /* full_frame */
offset_delta = 91
locals = [ class jp/ngt/rtm/entity/npc/NPCAIRideTrain, class net/minecraft/util/AxisAlignedBB, class java/util/List, class jp/ngt/rtm/entity/train/parts/EntityFloor, double, class java/util/Iterator ]
stack = []
frame_type = 251 /* same_frame_extended */
offset_delta = 90
frame_type = 250 /* chop */
offset_delta = 2
frame_type = 249 /* chop */
offset_delta = 40
LineNumberTable:
line 85: 0
line 86: 22
line 87: 48
line 89: 67
line 90: 76
line 91: 78
line 92: 83
line 93: 110
line 94: 117
line 95: 124
line 96: 156
line 97: 167
line 98: 175
line 99: 178
line 102: 182
line 104: 185
line 105: 189
line 106: 204
line 107: 211
line 108: 216
line 109: 224
line 114: 226
LocalVariableTable:
Start Length Slot Name Signature
167 15 10 dsq D
117 65 8 floor Ljp/ngt/rtm/entity/train/parts/EntityFloor;
124 58 9 train Ljp/ngt/rtm/entity/vehicle/EntityVehicleBase;
110 72 7 obj Ljava/lang/Object;
78 148 3 nextTarget Ljp/ngt/rtm/entity/train/parts/EntityFloor;
83 143 4 distance D
0 228 0 this Ljp/ngt/rtm/entity/npc/NPCAIRideTrain;
22 206 1 aabb Lnet/minecraft/util/AxisAlignedBB;
67 161 2 list Ljava/util/List;
public void func_75249_e();
descriptor: ()V
flags: ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
0: aload_0
1: getfield #33 // Field npc:Ljp/ngt/rtm/entity/npc/EntityNPC;
4: invokevirtual #83 // Method jp/ngt/rtm/entity/npc/EntityNPC.func_70661_as:()Lnet/minecraft/pathfinding/PathNavigate;
7: aload_0
8: getfield #158 // Field entityPathNavigate:Lnet/minecraft/pathfinding/PathEntity;
11: aload_0
12: getfield #35 // Field moveSpeed:F
15: f2d
16: invokevirtual #174 // Method net/minecraft/pathfinding/PathNavigate.func_75484_a:(Lnet/minecraft/pathfinding/PathEntity;D)Z
19: pop
20: return
LineNumberTable:
line 119: 0
line 120: 20
LocalVariableTable:
Start Length Slot Name Signature
0 21 0 this Ljp/ngt/rtm/entity/npc/NPCAIRideTrain;
static {};
descriptor: ()V
flags: ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc #49 // class jp/ngt/rtm/entity/train/parts/EntityFloor
2: dup
3: invokevirtual #181 // Method java/lang/Object.getClass:()Ljava/lang/Class;
6: pop
7: invokedynamic #201, 0 // InvokeDynamic #0:func_82704_a:(Ljava/lang/Class;)Lnet/minecraft/command/IEntitySelector;
12: putstatic #119 // Field SELECTOR:Lnet/minecraft/command/IEntitySelector;
15: return
LineNumberTable:
line 15: 0
}
InnerClasses:
public static final #10= #7 of #9; //Lookup=class java/lang/invoke/MethodHandles$Lookup of class java/lang/invoke/MethodHandles
SourceFile: "NPCAIRideTrain.java"
BootstrapMethods:
0: #197 invokestatic java/lang/invoke/LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
#183 (Lnet/minecraft/entity/Entity;)Z
#190 invokevirtual java/lang/Class.isInstance:(Ljava/lang/Object;)Z
#183 (Lnet/minecraft/entity/Entity;)Z
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment