@@ -224,33 +224,10 @@ index d9b0787..a04bd4e 100644
224224 aload 0
225225 getfield jp/ngt/rtm/entity/ai/EntityAITravelByTrain/activeTask Lnet/minecraft/entity/ai/EntityAIBase;
226226diff --git a/mods/rtm.deobf.jar.src.processed/jp/ngt/rtm/entity/train/EntityBogie.jasm b/src/main/rtm/jp/ngt/rtm/entity/train/EntityBogie.jasm
227- index 58704f1..5e741cc 100644
227+ index 58704f1..3abb3c3 100644
228228--- a/mods/rtm.deobf.jar.src.processed/jp/ngt/rtm/entity/train/EntityBogie.jasm
229229+++ b/src/main/rtm/jp/ngt/rtm/entity/train/EntityBogie.jasm
230- @@ -128,20 +128,22 @@ L_0020:
231- iconst_1
232- putfield jp/ngt/rtm/entity/train/EntityBogie/preventEntitySpawning Z
233- L_0025:
234- .line 81
235- aload 0
236- ldc 2.75f
237- ldc 1.1875f
238- invokevirtual jp/ngt/rtm/entity/train/EntityBogie/setBogieSize (FF)V
239- L_002b:
240- .line 82
241- + aload 0
242- + invokestatic com/anatawa12/fixRtm/rtm/entity/train/EntityBogieKt/constructor (Ljp/ngt/rtm/entity/train/EntityBogie;)V
243- return
244- L_002e:
245- .end method
246-
247- .method public <init> (Lnet/minecraft/world/World;BLjp/ngt/rtm/entity/train/EntityTrainBase;)V
248- .limit stack 2
249- .limit local 4
250- L_0000:
251- .line 86
252- .var 0 is this Ljp/ngt/rtm/entity/train/EntityBogie; from L_0000 to L_0012
253- @@ -1547,24 +1549,34 @@ L_0012:
230+ @@ -1547,24 +1547,34 @@ L_0012:
254231 .end stack
255232 iconst_0
256233 istore 1
@@ -285,6 +262,30 @@ index 58704f1..5e741cc 100644
285262
286263 .method public onBogieUpdate ()V
287264 .limit stack 2
265+ @@ -3260,10 +3270,23 @@ L_0000:
266+ putstatic jp/ngt/rtm/entity/train/EntityBogie/TRAIN_ID Lnet/minecraft/network/datasync/DataParameter;
267+ L_0006:
268+ .line 44
269+ ldc class Ljp/ngt/rtm/entity/train/EntityBogie;
270+ getstatic net/minecraft/network/datasync/DataSerializers/BYTE Lnet/minecraft/network/datasync/DataSerializer;
271+ invokestatic net/minecraft/network/datasync/EntityDataManager/createKey (Ljava/lang/Class;Lnet/minecraft/network/datasync/DataSerializer;)Lnet/minecraft/network/datasync/DataParameter;
272+ putstatic jp/ngt/rtm/entity/train/EntityBogie/BOGIE_STATE Lnet/minecraft/network/datasync/DataParameter;
273+ return
274+ .end method
275+
276+ + .method public onRemovedFromWorld ()V
277+ + .limit stack 1
278+ + .limit local 1
279+ + .var 0 is this Ljp/ngt/rtm/entity/train/EntityBogie; from L_start to L_end
280+ + L_start:
281+ + aload 0
282+ + invokespecial net/minecraft/entity/Entity/onRemovedFromWorld ()V
283+ + aload 0
284+ + invokestatic com/anatawa12/fixRtm/rtm/entity/train/EntityBogieKt/onRemovedFromWorld (Ljp/ngt/rtm/entity/train/EntityBogie;)V
285+ + return
286+ + L_end:
287+ + .end method
288+ +
288289diff --git a/mods/rtm.deobf.jar.src.processed/jp/ngt/rtm/entity/train/EntityTrainBase.jasm b/src/main/rtm/jp/ngt/rtm/entity/train/EntityTrainBase.jasm
289290index 2fe97f1..299abdb 100644
290291--- a/mods/rtm.deobf.jar.src.processed/jp/ngt/rtm/entity/train/EntityTrainBase.jasm
@@ -536,100 +537,11 @@ index 2fe97f1..299abdb 100644
536537
537538 .method private setupChunks (II)V
538539 .limit stack 5
539- diff --git a/mods/rtm.deobf.jar.src.processed/jp/ngt/rtm/entity/train/util/Formation.jasm b/src/main/rtm/jp/ngt/rtm/entity/train/util/Formation.jasm
540- index 08fdfe9..a7f5e63 100644
541- --- a/mods/rtm.deobf.jar.src.processed/jp/ngt/rtm/entity/train/util/Formation.jasm
542- +++ b/src/main/rtm/jp/ngt/rtm/entity/train/util/Formation.jasm
543- @@ -1843,46 +1843,57 @@ L_0000:
544- .line 397
545- .var 0 is this Ljp/ngt/rtm/entity/train/util/Formation; from L_0000 to L_001f
546- .var 1 is train Ljp/ngt/rtm/entity/train/EntityTrainBase; from L_0000 to L_001f
547- aload 0
548- getfield jp/ngt/rtm/entity/train/util/Formation/direction B
549- ifne L_000b
550- aload 0
551- getfield jp/ngt/rtm/entity/train/util/Formation/entries "[Ljp/ngt/rtm/entity/train/util/FormationEntry;"
552- iconst_0
553- aaload
554- - getfield jp/ngt/rtm/entity/train/util/FormationEntry/train Ljp/ngt/rtm/entity/train/EntityTrainBase;
555- goto L_0016
556- L_000b:
557- .stack
558- locals Object jp/ngt/rtm/entity/train/util/Formation
559- locals Object jp/ngt/rtm/entity/train/EntityTrainBase
560- .end stack
561- aload 0
562- getfield jp/ngt/rtm/entity/train/util/Formation/entries "[Ljp/ngt/rtm/entity/train/util/FormationEntry;"
563- aload 0
564- getfield jp/ngt/rtm/entity/train/util/Formation/entries "[Ljp/ngt/rtm/entity/train/util/FormationEntry;"
565- arraylength
566- iconst_1
567- isub
568- aaload
569- - getfield jp/ngt/rtm/entity/train/util/FormationEntry/train Ljp/ngt/rtm/entity/train/EntityTrainBase;
570- L_0016:
571- .stack use locals
572- - stacks Object jp/ngt/rtm/entity/train/EntityTrainBase
573- + stacks Object jp/ngt/rtm/entity/train/util/FormationEntry
574- .end stack
575- astore 2
576- L_0019:
577- .line 398
578- - .var 2 is front Ljp/ngt/rtm/entity/train/EntityTrainBase; from L_0019 to L_001f
579- + .var 2 is front Ljp/ngt/rtm/entity/train/util/FormationEntry; from L_0019 to L_001f
580- +
581- + aload 2
582- + ifnonnull L_nonnull
583- + iconst_0
584- + ireturn
585- + L_nonnull:
586- + .stack
587- + locals Object jp/ngt/rtm/entity/train/util/Formation
588- + locals Object jp/ngt/rtm/entity/train/EntityTrainBase
589- + locals Object jp/ngt/rtm/entity/train/util/FormationEntry
590- + .end stack
591- +
592- aload 1
593- aload 2
594- + getfield jp/ngt/rtm/entity/train/util/FormationEntry/train Ljp/ngt/rtm/entity/train/EntityTrainBase;
595- invokevirtual jp/ngt/rtm/entity/train/EntityTrainBase/equals (Ljava/lang/Object;)Z
596- ireturn
597- L_001f:
598- .end method
599-
600- .method public updateTrainMovement ()V
601- .limit stack 5
602- .limit local 6
603- L_0000:
604- .line 404
605540diff --git a/mods/rtm.deobf.jar.src.processed/jp/ngt/rtm/entity/vehicle/EntityVehicleBase.jasm b/src/main/rtm/jp/ngt/rtm/entity/vehicle/EntityVehicleBase.jasm
606- index 7ae932e..cd3d07e 100644
541+ index 7ae932e..72d443b 100644
607542--- a/mods/rtm.deobf.jar.src.processed/jp/ngt/rtm/entity/vehicle/EntityVehicleBase.jasm
608543+++ b/src/main/rtm/jp/ngt/rtm/entity/vehicle/EntityVehicleBase.jasm
609- @@ -271,20 +271,22 @@ L_0061:
610- L_0068:
611- .line 96
612- iinc 4 1
613- goto L_0058
614- L_006c:
615- .line 100
616- .stack
617- locals Object jp/ngt/rtm/entity/vehicle/EntityVehicleBase
618- locals Object net/minecraft/world/World
619- .end stack
620- + aload 0
621- + invokestatic com/anatawa12/fixRtm/rtm/entity/vehicle/EntityVehicleBaseKt/constructor (Ljp/ngt/rtm/entity/vehicle/EntityVehicleBase;)V
622- return
623- L_0070:
624- .end method
625-
626- .method protected entityInit ()V
627- .limit stack 0
628- .limit local 1
629- L_0000:
630- .line 105
631- .var 0 is this Ljp/ngt/rtm/entity/vehicle/EntityVehicleBase; signature "Ljp/ngt/rtm/entity/vehicle/EntityVehicleBase<TT;>;" from L_0000 to L_0003
632- @@ -1068,48 +1070,54 @@ L_0004:
544+ @@ -1068,48 +1068,54 @@ L_0004:
633545 astore 4
634546 L_000b:
635547 .line 365
@@ -685,6 +597,30 @@ index 7ae932e..cd3d07e 100644
685597 getfield jp/ngt/rtm/entity/vehicle/EntityVehicleBase/posX D
686598 dsub
687599 aload 2
600+ @@ -2570,10 +2576,23 @@ L_000d:
601+ .limit stack 1
602+ .limit local 1
603+ L_0000:
604+ .line 722
605+ .var 0 is this Ljp/ngt/rtm/entity/vehicle/EntityVehicleBase; signature "Ljp/ngt/rtm/entity/vehicle/EntityVehicleBase<TT;>;" from L_0000 to L_0004
606+ aconst_null
607+ areturn
608+ L_0004:
609+ .end method
610+
611+ + .method public onRemovedFromWorld ()V
612+ + .limit stack 1
613+ + .limit local 1
614+ + .var 0 is this Ljp/ngt/rtm/entity/vehicle/EntityVehicleBase; signature "Ljp/ngt/rtm/entity/vehicle/EntityVehicleBase<TT;>;" from L_start to L_end
615+ + L_start:
616+ + aload 0
617+ + invokespecial jp/ngt/ngtlib/entity/EntityCustom/onRemovedFromWorld ()V
618+ + aload 0
619+ + invokestatic com/anatawa12/fixRtm/rtm/entity/vehicle/EntityVehicleBaseKt/onRemovedFromWorld (Ljp/ngt/rtm/entity/vehicle/EntityVehicleBase;)V
620+ + return
621+ + L_end:
622+ + .end method
623+ +
688624diff --git a/mods/rtm.deobf.jar.src.processed/jp/ngt/rtm/entity/vehicle/RenderVehicleBase.jasm b/src/main/rtm/jp/ngt/rtm/entity/vehicle/RenderVehicleBase.jasm
689625index 5298b6c..b941866 100644
690626--- a/mods/rtm.deobf.jar.src.processed/jp/ngt/rtm/entity/vehicle/RenderVehicleBase.jasm
@@ -715,94 +651,10 @@ index 5298b6c..b941866 100644
715651 .stack
716652 locals Object jp/ngt/rtm/entity/vehicle/RenderVehicleBase
717653diff --git a/mods/rtm.deobf.jar.src.processed/jp/ngt/rtm/entity/vehicle/VehicleTrackerEntry.jasm b/src/main/rtm/jp/ngt/rtm/entity/vehicle/VehicleTrackerEntry.jasm
718- index 137db20..8000f15 100644
654+ index 137db20..ef3414c 100644
719655--- a/mods/rtm.deobf.jar.src.processed/jp/ngt/rtm/entity/vehicle/VehicleTrackerEntry.jasm
720656+++ b/src/main/rtm/jp/ngt/rtm/entity/vehicle/VehicleTrackerEntry.jasm
721- @@ -616,20 +616,30 @@ L_0051:
722- new net/minecraft/network/play/server/SPacketEntityAttach
723- dup
724- aload 0
725- getfield jp/ngt/rtm/entity/vehicle/VehicleTrackerEntry/trackedEntity Lnet/minecraft/entity/Entity;
726- aload 0
727- getfield jp/ngt/rtm/entity/vehicle/VehicleTrackerEntry/trackedEntity Lnet/minecraft/entity/Entity;
728- invokevirtual net/minecraft/entity/Entity/getRidingEntity ()Lnet/minecraft/entity/Entity;
729- invokespecial net/minecraft/network/play/server/SPacketEntityAttach/<init> (Lnet/minecraft/entity/Entity;Lnet/minecraft/entity/Entity;)V
730- invokevirtual net/minecraft/network/NetHandlerPlayServer/sendPacket (Lnet/minecraft/network/Packet;)V
731- L_005e:
732- +
733- + .stack use locals
734- + .end stack
735- +
736- + .line 1195
737- + aload 1
738- + aload 0
739- + getfield jp/ngt/rtm/entity/vehicle/VehicleTrackerEntry/trackedEntity Lnet/minecraft/entity/Entity;
740- + invokevirtual net/minecraft/entity/player/EntityPlayerMP/addEntity (Lnet/minecraft/entity/Entity;)V
741- +
742- .line 195
743- .stack use locals
744- .end stack
745- aload 0
746- getfield jp/ngt/rtm/entity/vehicle/VehicleTrackerEntry/trackedEntity Lnet/minecraft/entity/Entity;
747- aload 1
748- invokestatic net/minecraftforge/event/ForgeEventFactory/onStartEntityTracking (Lnet/minecraft/entity/Entity;Lnet/minecraft/entity/player/EntityPlayer;)V
749- L_0065:
750- .line 196
751- goto L_0083
752- @@ -665,26 +675,51 @@ L_007d:
753- invokestatic net/minecraftforge/event/ForgeEventFactory/onStopEntityTracking (Lnet/minecraft/entity/Entity;Lnet/minecraft/entity/player/EntityPlayer;)V
754- L_0083:
755- .line 205
756- .stack use locals
757- .end stack
758- return
759- L_0087:
760- .end method
761-
762- .method public isVisibleTo (Lnet/minecraft/entity/player/EntityPlayerMP;)Z
763- - .limit stack 1
764- + .limit stack 4
765- .limit local 2
766- L_0000:
767- .line 210
768- .var 0 is this Ljp/ngt/rtm/entity/vehicle/VehicleTrackerEntry; from L_0000 to L_0004
769- .var 1 is playerMP Lnet/minecraft/entity/player/EntityPlayerMP; from L_0000 to L_0004
770- + aload 1
771- + aload 0
772- + getfield jp/ngt/rtm/entity/vehicle/VehicleTrackerEntry/trackedEntity Lnet/minecraft/entity/Entity;
773- + getfield net/minecraft/entity/Entity/posX D
774- + aload 0
775- + getfield jp/ngt/rtm/entity/vehicle/VehicleTrackerEntry/trackedEntity Lnet/minecraft/entity/Entity;
776- + getfield net/minecraft/entity/Entity/posY D
777- + aload 0
778- + getfield jp/ngt/rtm/entity/vehicle/VehicleTrackerEntry/trackedEntity Lnet/minecraft/entity/Entity;
779- + getfield net/minecraft/entity/Entity/posZ D
780- + invokevirtual net/minecraft/entity/Entity/getDistanceSq (DDD)D
781- + ldc 16.0
782- + ldc 32.0
783- + dmul
784- + dup2
785- + dmul
786- + dcmpl
787- + iflt JMP
788- + iconst_0
789- + ireturn
790- + JMP:
791- + .stack
792- + locals Object jp/ngt/rtm/entity/vehicle/VehicleTrackerEntry
793- + locals Object net/minecraft/entity/player/EntityPlayerMP
794- + .end stack
795- iconst_1
796- ireturn
797- L_0004:
798- .end method
799-
800- .method private isPlayerWatchingThisChunk (Lnet/minecraft/entity/player/EntityPlayerMP;)Z
801- .limit stack 4
802- .limit local 2
803- L_0000:
804- .line 215
805- @@ -745,164 +780,22 @@ L_0016:
657+ @@ -745,164 +745,22 @@ L_0016:
806658 locals Object java/util/List
807659 .end stack
808660 return
@@ -968,35 +820,10 @@ index 137db20..8000f15 100644
968820 .line 273
969821 .var 0 is tracker Lnet/minecraft/entity/EntityTracker; from L_0000 to L_0011
970822diff --git a/mods/rtm.deobf.jar.src.processed/jp/ngt/rtm/entity/vehicle/WeatherEffectDummy.jasm b/src/main/rtm/jp/ngt/rtm/entity/vehicle/WeatherEffectDummy.jasm
971- index d0e484a..b7325e4 100644
823+ index d0e484a..ab9a52f 100644
972824--- a/mods/rtm.deobf.jar.src.processed/jp/ngt/rtm/entity/vehicle/WeatherEffectDummy.jasm
973825+++ b/src/main/rtm/jp/ngt/rtm/entity/vehicle/WeatherEffectDummy.jasm
974- @@ -110,22 +110,23 @@ L_002b:
975- L_0032:
976- .line 36
977- aload 0
978- aload 0
979- getfield jp/ngt/rtm/entity/vehicle/WeatherEffectDummy/parent Ljp/ngt/rtm/entity/vehicle/EntityVehicleBase;
980- getfield jp/ngt/rtm/entity/vehicle/EntityVehicleBase/rotationPitch F
981- putfield jp/ngt/rtm/entity/vehicle/WeatherEffectDummy/rotationPitch F
982- L_0039:
983- .line 38
984- aload 0
985- + aload 0
986- getfield jp/ngt/rtm/entity/vehicle/WeatherEffectDummy/parent Ljp/ngt/rtm/entity/vehicle/EntityVehicleBase;
987- - getfield jp/ngt/rtm/entity/vehicle/EntityVehicleBase/isDead Z
988- + invokestatic com/anatawa12/fixRtm/rtm/entity/vehicle/WeatherEffectDummyKt/shouldDead (Ljp/ngt/rtm/entity/vehicle/WeatherEffectDummy;Ljp/ngt/rtm/entity/vehicle/EntityVehicleBase;)Z
989- ifeq L_0050
990- L_003f:
991- .line 40
992- aload 0
993- invokevirtual jp/ngt/rtm/entity/vehicle/WeatherEffectDummy/setDead ()V
994- L_0043:
995- .line 41
996- ldc "[WED] Remove %d"
997- iconst_1
998- anewarray java/lang/Object
999- @@ -226,10 +227,21 @@ L_0003:
826+ @@ -226,10 +226,21 @@ L_0003:
1000827 .limit stack 0
1001828 .limit local 2
1002829 L_0000:
@@ -1873,35 +1700,6 @@ index 05b0fa4..e80bd03 100644
18731700 L_001a:
18741701 .line 120
18751702 aload 0
1876- diff --git a/mods/rtm.deobf.jar.src.processed/jp/ngt/rtm/network/PacketVehicleMovement.jasm b/src/main/rtm/jp/ngt/rtm/network/PacketVehicleMovement.jasm
1877- index 6e5c39c..e670ca1 100644
1878- --- a/mods/rtm.deobf.jar.src.processed/jp/ngt/rtm/network/PacketVehicleMovement.jasm
1879- +++ b/src/main/rtm/jp/ngt/rtm/network/PacketVehicleMovement.jasm
1880- @@ -357,20 +357,24 @@ L_001b:
1881- L_0023:
1882- .line 97
1883- .var 4 is entity Lnet/minecraft/entity/Entity; from L_0023 to L_008e
1884- aload 4
1885- ifnull L_007c
1886- aload 4
1887- getfield net/minecraft/entity/Entity/isDead Z
1888- ifne L_007c
1889- L_002a:
1890- .line 99
1891- +
1892- + aload 4
1893- + invokestatic com/anatawa12/fixRtm/rtm/network/PacketVehicleMovementKt/addEntityIfNotExits (Lnet/minecraft/entity/Entity;)V
1894- +
1895- aload 1
1896- getfield jp/ngt/rtm/network/PacketVehicleMovement/vehicleX I
1897- i2d
1898- ldc 0.03125
1899- dmul
1900- dstore 5
1901- L_0032:
1902- .line 100
1903- .var 5 is x D from L_0032 to L_0078
1904- aload 1
19051703diff --git a/mods/rtm.deobf.jar.src.processed/jp/ngt/rtm/rail/BlockLargeRailBase.jasm b/src/main/rtm/jp/ngt/rtm/rail/BlockLargeRailBase.jasm
19061704index 0f3bed0..50f2a01 100644
19071705--- a/mods/rtm.deobf.jar.src.processed/jp/ngt/rtm/rail/BlockLargeRailBase.jasm
0 commit comments