Compiled from "Frog.java" public class net.minecraft.world.entity.animal.frog.Frog extends net.minecraft.world.entity.animal.Animal implements net.minecraft.world.entity.VariantHolder> { protected static final com.google.common.collect.ImmutableList>> SENSOR_TYPES; protected static final com.google.common.collect.ImmutableList> MEMORY_TYPES; private static final net.minecraft.network.syncher.EntityDataAccessor> DATA_VARIANT_ID; private static final net.minecraft.network.syncher.EntityDataAccessor DATA_TONGUE_TARGET_ID; private static final int FROG_FALL_DAMAGE_REDUCTION; public static final java.lang.String VARIANT_KEY; private static final net.minecraft.resources.ResourceKey DEFAULT_VARIANT; public final net.minecraft.world.entity.AnimationState jumpAnimationState; public final net.minecraft.world.entity.AnimationState croakAnimationState; public final net.minecraft.world.entity.AnimationState tongueAnimationState; public final net.minecraft.world.entity.AnimationState swimIdleAnimationState; public net.minecraft.world.entity.animal.frog.Frog(net.minecraft.world.entity.EntityType, net.minecraft.world.level.Level); Code: 0: aload_0 1: aload_1 2: aload_2 3: invokespecial #71 // Method net/minecraft/world/entity/animal/Animal."":(Lnet/minecraft/world/entity/EntityType;Lnet/minecraft/world/level/Level;)V 6: aload_0 7: new #73 // class net/minecraft/world/entity/AnimationState 10: dup 11: invokespecial #76 // Method net/minecraft/world/entity/AnimationState."":()V 14: putfield #78 // Field jumpAnimationState:Lnet/minecraft/world/entity/AnimationState; 17: aload_0 18: new #73 // class net/minecraft/world/entity/AnimationState 21: dup 22: invokespecial #76 // Method net/minecraft/world/entity/AnimationState."":()V 25: putfield #80 // Field croakAnimationState:Lnet/minecraft/world/entity/AnimationState; 28: aload_0 29: new #73 // class net/minecraft/world/entity/AnimationState 32: dup 33: invokespecial #76 // Method net/minecraft/world/entity/AnimationState."":()V 36: putfield #82 // Field tongueAnimationState:Lnet/minecraft/world/entity/AnimationState; 39: aload_0 40: new #73 // class net/minecraft/world/entity/AnimationState 43: dup 44: invokespecial #76 // Method net/minecraft/world/entity/AnimationState."":()V 47: putfield #84 // Field swimIdleAnimationState:Lnet/minecraft/world/entity/AnimationState; 50: aload_0 51: new #14 // class net/minecraft/world/entity/animal/frog/Frog$FrogLookControl 54: dup 55: aload_0 56: aload_0 57: invokespecial #87 // Method net/minecraft/world/entity/animal/frog/Frog$FrogLookControl."":(Lnet/minecraft/world/entity/animal/frog/Frog;Lnet/minecraft/world/entity/Mob;)V 60: putfield #91 // Field lookControl:Lnet/minecraft/world/entity/ai/control/LookControl; 63: aload_0 64: getstatic #97 // Field net/minecraft/world/level/pathfinder/PathType.WATER:Lnet/minecraft/world/level/pathfinder/PathType; 67: ldc #98 // float 4.0f 69: invokevirtual #102 // Method setPathfindingMalus:(Lnet/minecraft/world/level/pathfinder/PathType;F)V 72: aload_0 73: getstatic #105 // Field net/minecraft/world/level/pathfinder/PathType.TRAPDOOR:Lnet/minecraft/world/level/pathfinder/PathType; 76: ldc #106 // float -1.0f 78: invokevirtual #102 // Method setPathfindingMalus:(Lnet/minecraft/world/level/pathfinder/PathType;F)V 81: aload_0 82: new #108 // class net/minecraft/world/entity/ai/control/SmoothSwimmingMoveControl 85: dup 86: aload_0 87: bipush 85 89: bipush 10 91: ldc #109 // float 0.02f 93: ldc #110 // float 0.1f 95: iconst_1 96: invokespecial #113 // Method net/minecraft/world/entity/ai/control/SmoothSwimmingMoveControl."":(Lnet/minecraft/world/entity/Mob;IIFFZ)V 99: putfield #117 // Field moveControl:Lnet/minecraft/world/entity/ai/control/MoveControl; 102: return protected net.minecraft.world.entity.ai.Brain$Provider brainProvider(); Code: 0: getstatic #129 // Field MEMORY_TYPES:Lcom/google/common/collect/ImmutableList; 3: getstatic #131 // Field SENSOR_TYPES:Lcom/google/common/collect/ImmutableList; 6: invokestatic #135 // Method net/minecraft/world/entity/ai/Brain.provider:(Ljava/util/Collection;Ljava/util/Collection;)Lnet/minecraft/world/entity/ai/Brain$Provider; 9: areturn protected net.minecraft.world.entity.ai.Brain makeBrain(com.mojang.serialization.Dynamic); Code: 0: aload_0 1: invokevirtual #140 // Method brainProvider:()Lnet/minecraft/world/entity/ai/Brain$Provider; 4: aload_1 5: invokevirtual #142 // Method net/minecraft/world/entity/ai/Brain$Provider.makeBrain:(Lcom/mojang/serialization/Dynamic;)Lnet/minecraft/world/entity/ai/Brain; 8: invokestatic #147 // Method net/minecraft/world/entity/animal/frog/FrogAi.makeBrain:(Lnet/minecraft/world/entity/ai/Brain;)Lnet/minecraft/world/entity/ai/Brain; 11: areturn public net.minecraft.world.entity.ai.Brain getBrain(); Code: 0: aload_0 1: invokespecial #155 // Method net/minecraft/world/entity/animal/Animal.getBrain:()Lnet/minecraft/world/entity/ai/Brain; 4: areturn protected void defineSynchedData(net.minecraft.network.syncher.SynchedEntityData$Builder); Code: 0: aload_0 1: aload_1 2: invokespecial #159 // Method net/minecraft/world/entity/animal/Animal.defineSynchedData:(Lnet/minecraft/network/syncher/SynchedEntityData$Builder;)V 5: aload_1 6: getstatic #161 // Field DATA_VARIANT_ID:Lnet/minecraft/network/syncher/EntityDataAccessor; 9: getstatic #167 // Field net/minecraft/core/registries/BuiltInRegistries.FROG_VARIANT:Lnet/minecraft/core/Registry; 12: getstatic #169 // Field DEFAULT_VARIANT:Lnet/minecraft/resources/ResourceKey; 15: invokeinterface #175, 2 // InterfaceMethod net/minecraft/core/Registry.getHolderOrThrow:(Lnet/minecraft/resources/ResourceKey;)Lnet/minecraft/core/Holder$Reference; 20: invokevirtual #179 // Method net/minecraft/network/syncher/SynchedEntityData$Builder.define:(Lnet/minecraft/network/syncher/EntityDataAccessor;Ljava/lang/Object;)Lnet/minecraft/network/syncher/SynchedEntityData$Builder; 23: pop 24: aload_1 25: getstatic #181 // Field DATA_TONGUE_TARGET_ID:Lnet/minecraft/network/syncher/EntityDataAccessor; 28: invokestatic #187 // Method java/util/OptionalInt.empty:()Ljava/util/OptionalInt; 31: invokevirtual #179 // Method net/minecraft/network/syncher/SynchedEntityData$Builder.define:(Lnet/minecraft/network/syncher/EntityDataAccessor;Ljava/lang/Object;)Lnet/minecraft/network/syncher/SynchedEntityData$Builder; 34: pop 35: return public void eraseTongueTarget(); Code: 0: aload_0 1: getfield #194 // Field entityData:Lnet/minecraft/network/syncher/SynchedEntityData; 4: getstatic #181 // Field DATA_TONGUE_TARGET_ID:Lnet/minecraft/network/syncher/EntityDataAccessor; 7: invokestatic #187 // Method java/util/OptionalInt.empty:()Ljava/util/OptionalInt; 10: invokevirtual #198 // Method net/minecraft/network/syncher/SynchedEntityData.set:(Lnet/minecraft/network/syncher/EntityDataAccessor;Ljava/lang/Object;)V 13: return public java.util.Optional getTongueTarget(); Code: 0: aload_0 1: getfield #194 // Field entityData:Lnet/minecraft/network/syncher/SynchedEntityData; 4: getstatic #181 // Field DATA_TONGUE_TARGET_ID:Lnet/minecraft/network/syncher/EntityDataAccessor; 7: invokevirtual #205 // Method net/minecraft/network/syncher/SynchedEntityData.get:(Lnet/minecraft/network/syncher/EntityDataAccessor;)Ljava/lang/Object; 10: checkcast #183 // class java/util/OptionalInt 13: invokevirtual #209 // Method java/util/OptionalInt.stream:()Ljava/util/stream/IntStream; 16: aload_0 17: invokevirtual #213 // Method level:()Lnet/minecraft/world/level/Level; 20: dup 21: invokestatic #219 // Method java/util/Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object; 24: pop 25: invokedynamic #240, 0 // InvokeDynamic #0:apply:(Lnet/minecraft/world/level/Level;)Ljava/util/function/IntFunction; 30: invokeinterface #246, 2 // InterfaceMethod java/util/stream/IntStream.mapToObj:(Ljava/util/function/IntFunction;)Ljava/util/stream/Stream; 35: invokedynamic #258, 0 // InvokeDynamic #1:test:()Ljava/util/function/Predicate; 40: invokeinterface #264, 2 // InterfaceMethod java/util/stream/Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream; 45: invokeinterface #267, 1 // InterfaceMethod java/util/stream/Stream.findFirst:()Ljava/util/Optional; 50: areturn public void setTongueTarget(net.minecraft.world.entity.Entity); Code: 0: aload_0 1: getfield #194 // Field entityData:Lnet/minecraft/network/syncher/SynchedEntityData; 4: getstatic #181 // Field DATA_TONGUE_TARGET_ID:Lnet/minecraft/network/syncher/EntityDataAccessor; 7: aload_1 8: invokevirtual #275 // Method net/minecraft/world/entity/Entity.getId:()I 11: invokestatic #279 // Method java/util/OptionalInt.of:(I)Ljava/util/OptionalInt; 14: invokevirtual #198 // Method net/minecraft/network/syncher/SynchedEntityData.set:(Lnet/minecraft/network/syncher/EntityDataAccessor;Ljava/lang/Object;)V 17: return public int getHeadRotSpeed(); Code: 0: bipush 35 2: ireturn public int getMaxHeadYRot(); Code: 0: iconst_5 1: ireturn public net.minecraft.core.Holder getVariant(); Code: 0: aload_0 1: getfield #194 // Field entityData:Lnet/minecraft/network/syncher/SynchedEntityData; 4: getstatic #161 // Field DATA_VARIANT_ID:Lnet/minecraft/network/syncher/EntityDataAccessor; 7: invokevirtual #205 // Method net/minecraft/network/syncher/SynchedEntityData.get:(Lnet/minecraft/network/syncher/EntityDataAccessor;)Ljava/lang/Object; 10: checkcast #29 // class net/minecraft/core/Holder 13: areturn public void setVariant(net.minecraft.core.Holder); Code: 0: aload_0 1: getfield #194 // Field entityData:Lnet/minecraft/network/syncher/SynchedEntityData; 4: getstatic #161 // Field DATA_VARIANT_ID:Lnet/minecraft/network/syncher/EntityDataAccessor; 7: aload_1 8: invokevirtual #198 // Method net/minecraft/network/syncher/SynchedEntityData.set:(Lnet/minecraft/network/syncher/EntityDataAccessor;Ljava/lang/Object;)V 11: return public void addAdditionalSaveData(net.minecraft.nbt.CompoundTag); Code: 0: aload_0 1: aload_1 2: invokespecial #296 // Method net/minecraft/world/entity/animal/Animal.addAdditionalSaveData:(Lnet/minecraft/nbt/CompoundTag;)V 5: aload_1 6: ldc #58 // String variant 8: aload_0 9: invokevirtual #298 // Method getVariant:()Lnet/minecraft/core/Holder; 12: invokeinterface #301, 1 // InterfaceMethod net/minecraft/core/Holder.unwrapKey:()Ljava/util/Optional; 17: getstatic #169 // Field DEFAULT_VARIANT:Lnet/minecraft/resources/ResourceKey; 20: invokevirtual #306 // Method java/util/Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object; 23: checkcast #308 // class net/minecraft/resources/ResourceKey 26: invokevirtual #312 // Method net/minecraft/resources/ResourceKey.location:()Lnet/minecraft/resources/ResourceLocation; 29: invokevirtual #318 // Method net/minecraft/resources/ResourceLocation.toString:()Ljava/lang/String; 32: invokevirtual #324 // Method net/minecraft/nbt/CompoundTag.putString:(Ljava/lang/String;Ljava/lang/String;)V 35: return public void readAdditionalSaveData(net.minecraft.nbt.CompoundTag); Code: 0: aload_0 1: aload_1 2: invokespecial #329 // Method net/minecraft/world/entity/animal/Animal.readAdditionalSaveData:(Lnet/minecraft/nbt/CompoundTag;)V 5: aload_1 6: ldc #58 // String variant 8: invokevirtual #333 // Method net/minecraft/nbt/CompoundTag.getString:(Ljava/lang/String;)Ljava/lang/String; 11: invokestatic #337 // Method net/minecraft/resources/ResourceLocation.tryParse:(Ljava/lang/String;)Lnet/minecraft/resources/ResourceLocation; 14: invokestatic #341 // Method java/util/Optional.ofNullable:(Ljava/lang/Object;)Ljava/util/Optional; 17: invokedynamic #351, 0 // InvokeDynamic #2:apply:()Ljava/util/function/Function; 22: invokevirtual #355 // Method java/util/Optional.map:(Ljava/util/function/Function;)Ljava/util/Optional; 25: getstatic #167 // Field net/minecraft/core/registries/BuiltInRegistries.FROG_VARIANT:Lnet/minecraft/core/Registry; 28: dup 29: invokestatic #219 // Method java/util/Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object; 32: pop 33: invokedynamic #364, 0 // InvokeDynamic #3:apply:(Lnet/minecraft/core/Registry;)Ljava/util/function/Function; 38: invokevirtual #367 // Method java/util/Optional.flatMap:(Ljava/util/function/Function;)Ljava/util/Optional; 41: aload_0 42: invokedynamic #378, 0 // InvokeDynamic #4:accept:(Lnet/minecraft/world/entity/animal/frog/Frog;)Ljava/util/function/Consumer; 47: invokevirtual #382 // Method java/util/Optional.ifPresent:(Ljava/util/function/Consumer;)V 50: return protected void customServerAiStep(); Code: 0: aload_0 1: invokevirtual #213 // Method level:()Lnet/minecraft/world/level/Level; 4: invokevirtual #388 // Method net/minecraft/world/level/Level.getProfiler:()Lnet/minecraft/util/profiling/ProfilerFiller; 7: ldc_w #390 // String frogBrain 10: invokeinterface #396, 2 // InterfaceMethod net/minecraft/util/profiling/ProfilerFiller.push:(Ljava/lang/String;)V 15: aload_0 16: invokevirtual #397 // Method getBrain:()Lnet/minecraft/world/entity/ai/Brain; 19: aload_0 20: invokevirtual #213 // Method level:()Lnet/minecraft/world/level/Level; 23: checkcast #399 // class net/minecraft/server/level/ServerLevel 26: aload_0 27: invokevirtual #403 // Method net/minecraft/world/entity/ai/Brain.tick:(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/world/entity/LivingEntity;)V 30: aload_0 31: invokevirtual #213 // Method level:()Lnet/minecraft/world/level/Level; 34: invokevirtual #388 // Method net/minecraft/world/level/Level.getProfiler:()Lnet/minecraft/util/profiling/ProfilerFiller; 37: invokeinterface #406, 1 // InterfaceMethod net/minecraft/util/profiling/ProfilerFiller.pop:()V 42: aload_0 43: invokevirtual #213 // Method level:()Lnet/minecraft/world/level/Level; 46: invokevirtual #388 // Method net/minecraft/world/level/Level.getProfiler:()Lnet/minecraft/util/profiling/ProfilerFiller; 49: ldc_w #408 // String frogActivityUpdate 52: invokeinterface #396, 2 // InterfaceMethod net/minecraft/util/profiling/ProfilerFiller.push:(Ljava/lang/String;)V 57: aload_0 58: invokestatic #412 // Method net/minecraft/world/entity/animal/frog/FrogAi.updateActivity:(Lnet/minecraft/world/entity/animal/frog/Frog;)V 61: aload_0 62: invokevirtual #213 // Method level:()Lnet/minecraft/world/level/Level; 65: invokevirtual #388 // Method net/minecraft/world/level/Level.getProfiler:()Lnet/minecraft/util/profiling/ProfilerFiller; 68: invokeinterface #406, 1 // InterfaceMethod net/minecraft/util/profiling/ProfilerFiller.pop:()V 73: aload_0 74: invokespecial #414 // Method net/minecraft/world/entity/animal/Animal.customServerAiStep:()V 77: return public void tick(); Code: 0: aload_0 1: invokevirtual #213 // Method level:()Lnet/minecraft/world/level/Level; 4: invokevirtual #418 // Method net/minecraft/world/level/Level.isClientSide:()Z 7: ifeq 43 10: aload_0 11: getfield #84 // Field swimIdleAnimationState:Lnet/minecraft/world/entity/AnimationState; 14: aload_0 15: invokevirtual #421 // Method isInWaterOrBubble:()Z 18: ifeq 35 21: aload_0 22: getfield #425 // Field walkAnimation:Lnet/minecraft/world/entity/WalkAnimationState; 25: invokevirtual #430 // Method net/minecraft/world/entity/WalkAnimationState.isMoving:()Z 28: ifne 35 31: iconst_1 32: goto 36 35: iconst_0 36: aload_0 37: getfield #433 // Field tickCount:I 40: invokevirtual #437 // Method net/minecraft/world/entity/AnimationState.animateWhen:(ZI)V 43: aload_0 44: invokespecial #439 // Method net/minecraft/world/entity/animal/Animal.tick:()V 47: return public void onSyncedDataUpdated(net.minecraft.network.syncher.EntityDataAccessor); Code: 0: getstatic #445 // Field DATA_POSE:Lnet/minecraft/network/syncher/EntityDataAccessor; 3: aload_1 4: invokevirtual #450 // Method net/minecraft/network/syncher/EntityDataAccessor.equals:(Ljava/lang/Object;)Z 7: ifeq 99 10: aload_0 11: invokevirtual #454 // Method getPose:()Lnet/minecraft/world/entity/Pose; 14: astore_2 15: aload_2 16: getstatic #460 // Field net/minecraft/world/entity/Pose.LONG_JUMPING:Lnet/minecraft/world/entity/Pose; 19: if_acmpne 36 22: aload_0 23: getfield #78 // Field jumpAnimationState:Lnet/minecraft/world/entity/AnimationState; 26: aload_0 27: getfield #433 // Field tickCount:I 30: invokevirtual #464 // Method net/minecraft/world/entity/AnimationState.start:(I)V 33: goto 43 36: aload_0 37: getfield #78 // Field jumpAnimationState:Lnet/minecraft/world/entity/AnimationState; 40: invokevirtual #467 // Method net/minecraft/world/entity/AnimationState.stop:()V 43: aload_2 44: getstatic #470 // Field net/minecraft/world/entity/Pose.CROAKING:Lnet/minecraft/world/entity/Pose; 47: if_acmpne 64 50: aload_0 51: getfield #80 // Field croakAnimationState:Lnet/minecraft/world/entity/AnimationState; 54: aload_0 55: getfield #433 // Field tickCount:I 58: invokevirtual #464 // Method net/minecraft/world/entity/AnimationState.start:(I)V 61: goto 71 64: aload_0 65: getfield #80 // Field croakAnimationState:Lnet/minecraft/world/entity/AnimationState; 68: invokevirtual #467 // Method net/minecraft/world/entity/AnimationState.stop:()V 71: aload_2 72: getstatic #473 // Field net/minecraft/world/entity/Pose.USING_TONGUE:Lnet/minecraft/world/entity/Pose; 75: if_acmpne 92 78: aload_0 79: getfield #82 // Field tongueAnimationState:Lnet/minecraft/world/entity/AnimationState; 82: aload_0 83: getfield #433 // Field tickCount:I 86: invokevirtual #464 // Method net/minecraft/world/entity/AnimationState.start:(I)V 89: goto 99 92: aload_0 93: getfield #82 // Field tongueAnimationState:Lnet/minecraft/world/entity/AnimationState; 96: invokevirtual #467 // Method net/minecraft/world/entity/AnimationState.stop:()V 99: aload_0 100: aload_1 101: invokespecial #475 // Method net/minecraft/world/entity/animal/Animal.onSyncedDataUpdated:(Lnet/minecraft/network/syncher/EntityDataAccessor;)V 104: return protected void updateWalkAnimation(float); Code: 0: aload_0 1: getfield #78 // Field jumpAnimationState:Lnet/minecraft/world/entity/AnimationState; 4: invokevirtual #483 // Method net/minecraft/world/entity/AnimationState.isStarted:()Z 7: ifeq 15 10: fconst_0 11: fstore_2 12: goto 25 15: fload_1 16: ldc_w #484 // float 25.0f 19: fmul 20: fconst_1 21: invokestatic #490 // Method java/lang/Math.min:(FF)F 24: fstore_2 25: aload_0 26: getfield #425 // Field walkAnimation:Lnet/minecraft/world/entity/WalkAnimationState; 29: fload_2 30: ldc_w #491 // float 0.4f 33: invokevirtual #495 // Method net/minecraft/world/entity/WalkAnimationState.update:(FF)V 36: return public net.minecraft.world.entity.AgeableMob getBreedOffspring(net.minecraft.server.level.ServerLevel, net.minecraft.world.entity.AgeableMob); Code: 0: getstatic #506 // Field net/minecraft/world/entity/EntityType.FROG:Lnet/minecraft/world/entity/EntityType; 3: aload_1 4: invokevirtual #510 // Method net/minecraft/world/entity/EntityType.create:(Lnet/minecraft/world/level/Level;)Lnet/minecraft/world/entity/Entity; 7: checkcast #2 // class net/minecraft/world/entity/animal/frog/Frog 10: astore_3 11: aload_3 12: ifnull 23 15: aload_3 16: aload_1 17: invokevirtual #514 // Method net/minecraft/server/level/ServerLevel.getRandom:()Lnet/minecraft/util/RandomSource; 20: invokestatic #518 // Method net/minecraft/world/entity/animal/frog/FrogAi.initMemories:(Lnet/minecraft/world/entity/animal/frog/Frog;Lnet/minecraft/util/RandomSource;)V 23: aload_3 24: areturn public boolean isBaby(); Code: 0: iconst_0 1: ireturn public void setBaby(boolean); Code: 0: return public void spawnChildFromBreeding(net.minecraft.server.level.ServerLevel, net.minecraft.world.entity.animal.Animal); Code: 0: aload_0 1: aload_1 2: aload_2 3: aconst_null 4: invokevirtual #533 // Method finalizeSpawnChildFromBreeding:(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/world/entity/animal/Animal;Lnet/minecraft/world/entity/AgeableMob;)V 7: aload_0 8: invokevirtual #397 // Method getBrain:()Lnet/minecraft/world/entity/ai/Brain; 11: getstatic #539 // Field net/minecraft/world/entity/ai/memory/MemoryModuleType.IS_PREGNANT:Lnet/minecraft/world/entity/ai/memory/MemoryModuleType; 14: getstatic #545 // Field net/minecraft/util/Unit.INSTANCE:Lnet/minecraft/util/Unit; 17: invokevirtual #549 // Method net/minecraft/world/entity/ai/Brain.setMemory:(Lnet/minecraft/world/entity/ai/memory/MemoryModuleType;Ljava/lang/Object;)V 20: return public net.minecraft.world.entity.SpawnGroupData finalizeSpawn(net.minecraft.world.level.ServerLevelAccessor, net.minecraft.world.DifficultyInstance, net.minecraft.world.entity.MobSpawnType, net.minecraft.world.entity.SpawnGroupData); Code: 0: aload_1 1: aload_0 2: invokevirtual #558 // Method blockPosition:()Lnet/minecraft/core/BlockPos; 5: invokeinterface #564, 2 // InterfaceMethod net/minecraft/world/level/ServerLevelAccessor.getBiome:(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/core/Holder; 10: astore 5 12: aload 5 14: getstatic #570 // Field net/minecraft/tags/BiomeTags.SPAWNS_COLD_VARIANT_FROGS:Lnet/minecraft/tags/TagKey; 17: invokeinterface #574, 2 // InterfaceMethod net/minecraft/core/Holder.is:(Lnet/minecraft/tags/TagKey;)Z 22: ifeq 43 25: aload_0 26: getstatic #167 // Field net/minecraft/core/registries/BuiltInRegistries.FROG_VARIANT:Lnet/minecraft/core/Registry; 29: getstatic #579 // Field net/minecraft/world/entity/animal/FrogVariant.COLD:Lnet/minecraft/resources/ResourceKey; 32: invokeinterface #175, 2 // InterfaceMethod net/minecraft/core/Registry.getHolderOrThrow:(Lnet/minecraft/resources/ResourceKey;)Lnet/minecraft/core/Holder$Reference; 37: invokevirtual #371 // Method setVariant:(Lnet/minecraft/core/Holder;)V 40: goto 89 43: aload 5 45: getstatic #582 // Field net/minecraft/tags/BiomeTags.SPAWNS_WARM_VARIANT_FROGS:Lnet/minecraft/tags/TagKey; 48: invokeinterface #574, 2 // InterfaceMethod net/minecraft/core/Holder.is:(Lnet/minecraft/tags/TagKey;)Z 53: ifeq 74 56: aload_0 57: getstatic #167 // Field net/minecraft/core/registries/BuiltInRegistries.FROG_VARIANT:Lnet/minecraft/core/Registry; 60: getstatic #585 // Field net/minecraft/world/entity/animal/FrogVariant.WARM:Lnet/minecraft/resources/ResourceKey; 63: invokeinterface #175, 2 // InterfaceMethod net/minecraft/core/Registry.getHolderOrThrow:(Lnet/minecraft/resources/ResourceKey;)Lnet/minecraft/core/Holder$Reference; 68: invokevirtual #371 // Method setVariant:(Lnet/minecraft/core/Holder;)V 71: goto 89 74: aload_0 75: getstatic #167 // Field net/minecraft/core/registries/BuiltInRegistries.FROG_VARIANT:Lnet/minecraft/core/Registry; 78: getstatic #169 // Field DEFAULT_VARIANT:Lnet/minecraft/resources/ResourceKey; 81: invokeinterface #175, 2 // InterfaceMethod net/minecraft/core/Registry.getHolderOrThrow:(Lnet/minecraft/resources/ResourceKey;)Lnet/minecraft/core/Holder$Reference; 86: invokevirtual #371 // Method setVariant:(Lnet/minecraft/core/Holder;)V 89: aload_0 90: aload_1 91: invokeinterface #586, 1 // InterfaceMethod net/minecraft/world/level/ServerLevelAccessor.getRandom:()Lnet/minecraft/util/RandomSource; 96: invokestatic #518 // Method net/minecraft/world/entity/animal/frog/FrogAi.initMemories:(Lnet/minecraft/world/entity/animal/frog/Frog;Lnet/minecraft/util/RandomSource;)V 99: aload_0 100: aload_1 101: aload_2 102: aload_3 103: aload 4 105: invokespecial #588 // Method net/minecraft/world/entity/animal/Animal.finalizeSpawn:(Lnet/minecraft/world/level/ServerLevelAccessor;Lnet/minecraft/world/DifficultyInstance;Lnet/minecraft/world/entity/MobSpawnType;Lnet/minecraft/world/entity/SpawnGroupData;)Lnet/minecraft/world/entity/SpawnGroupData; 108: areturn public static net.minecraft.world.entity.ai.attributes.AttributeSupplier$Builder createAttributes(); Code: 0: invokestatic #605 // Method net/minecraft/world/entity/Mob.createMobAttributes:()Lnet/minecraft/world/entity/ai/attributes/AttributeSupplier$Builder; 3: getstatic #610 // Field net/minecraft/world/entity/ai/attributes/Attributes.MOVEMENT_SPEED:Lnet/minecraft/core/Holder; 6: dconst_1 7: invokevirtual #614 // Method net/minecraft/world/entity/ai/attributes/AttributeSupplier$Builder.add:(Lnet/minecraft/core/Holder;D)Lnet/minecraft/world/entity/ai/attributes/AttributeSupplier$Builder; 10: getstatic #617 // Field net/minecraft/world/entity/ai/attributes/Attributes.MAX_HEALTH:Lnet/minecraft/core/Holder; 13: ldc2_w #618 // double 10.0d 16: invokevirtual #614 // Method net/minecraft/world/entity/ai/attributes/AttributeSupplier$Builder.add:(Lnet/minecraft/core/Holder;D)Lnet/minecraft/world/entity/ai/attributes/AttributeSupplier$Builder; 19: getstatic #622 // Field net/minecraft/world/entity/ai/attributes/Attributes.ATTACK_DAMAGE:Lnet/minecraft/core/Holder; 22: ldc2_w #618 // double 10.0d 25: invokevirtual #614 // Method net/minecraft/world/entity/ai/attributes/AttributeSupplier$Builder.add:(Lnet/minecraft/core/Holder;D)Lnet/minecraft/world/entity/ai/attributes/AttributeSupplier$Builder; 28: getstatic #625 // Field net/minecraft/world/entity/ai/attributes/Attributes.STEP_HEIGHT:Lnet/minecraft/core/Holder; 31: dconst_1 32: invokevirtual #614 // Method net/minecraft/world/entity/ai/attributes/AttributeSupplier$Builder.add:(Lnet/minecraft/core/Holder;D)Lnet/minecraft/world/entity/ai/attributes/AttributeSupplier$Builder; 35: areturn protected net.minecraft.sounds.SoundEvent getAmbientSound(); Code: 0: getstatic #633 // Field net/minecraft/sounds/SoundEvents.FROG_AMBIENT:Lnet/minecraft/sounds/SoundEvent; 3: areturn protected net.minecraft.sounds.SoundEvent getHurtSound(net.minecraft.world.damagesource.DamageSource); Code: 0: getstatic #638 // Field net/minecraft/sounds/SoundEvents.FROG_HURT:Lnet/minecraft/sounds/SoundEvent; 3: areturn protected net.minecraft.sounds.SoundEvent getDeathSound(); Code: 0: getstatic #644 // Field net/minecraft/sounds/SoundEvents.FROG_DEATH:Lnet/minecraft/sounds/SoundEvent; 3: areturn protected void playStepSound(net.minecraft.core.BlockPos, net.minecraft.world.level.block.state.BlockState); Code: 0: aload_0 1: getstatic #649 // Field net/minecraft/sounds/SoundEvents.FROG_STEP:Lnet/minecraft/sounds/SoundEvent; 4: ldc_w #650 // float 0.15f 7: fconst_1 8: invokevirtual #654 // Method playSound:(Lnet/minecraft/sounds/SoundEvent;FF)V 11: return public boolean isPushedByFluid(); Code: 0: iconst_0 1: ireturn protected void sendDebugPackets(); Code: 0: aload_0 1: invokespecial #662 // Method net/minecraft/world/entity/animal/Animal.sendDebugPackets:()V 4: aload_0 5: invokestatic #668 // Method net/minecraft/network/protocol/game/DebugPackets.sendEntityBrain:(Lnet/minecraft/world/entity/LivingEntity;)V 8: return protected int calculateFallDamage(float, float); Code: 0: aload_0 1: fload_1 2: fload_2 3: invokespecial #672 // Method net/minecraft/world/entity/animal/Animal.calculateFallDamage:(FF)I 6: iconst_5 7: isub 8: ireturn public void travel(net.minecraft.world.phys.Vec3); Code: 0: aload_0 1: invokevirtual #679 // Method isControlledByLocalInstance:()Z 4: ifeq 51 7: aload_0 8: invokevirtual #682 // Method isInWater:()Z 11: ifeq 51 14: aload_0 15: aload_0 16: invokevirtual #686 // Method getSpeed:()F 19: aload_1 20: invokevirtual #690 // Method moveRelative:(FLnet/minecraft/world/phys/Vec3;)V 23: aload_0 24: getstatic #696 // Field net/minecraft/world/entity/MoverType.SELF:Lnet/minecraft/world/entity/MoverType; 27: aload_0 28: invokevirtual #700 // Method getDeltaMovement:()Lnet/minecraft/world/phys/Vec3; 31: invokevirtual #704 // Method move:(Lnet/minecraft/world/entity/MoverType;Lnet/minecraft/world/phys/Vec3;)V 34: aload_0 35: aload_0 36: invokevirtual #700 // Method getDeltaMovement:()Lnet/minecraft/world/phys/Vec3; 39: ldc2_w #705 // double 0.9d 42: invokevirtual #712 // Method net/minecraft/world/phys/Vec3.scale:(D)Lnet/minecraft/world/phys/Vec3; 45: invokevirtual #715 // Method setDeltaMovement:(Lnet/minecraft/world/phys/Vec3;)V 48: goto 56 51: aload_0 52: aload_1 53: invokespecial #717 // Method net/minecraft/world/entity/animal/Animal.travel:(Lnet/minecraft/world/phys/Vec3;)V 56: return public static boolean canEat(net.minecraft.world.entity.LivingEntity); Code: 0: aload_0 1: instanceof #723 // class net/minecraft/world/entity/monster/Slime 4: ifeq 22 7: aload_0 8: checkcast #723 // class net/minecraft/world/entity/monster/Slime 11: astore_1 12: aload_1 13: invokevirtual #726 // Method net/minecraft/world/entity/monster/Slime.getSize:()I 16: iconst_1 17: if_icmpeq 22 20: iconst_0 21: ireturn 22: aload_0 23: invokevirtual #732 // Method net/minecraft/world/entity/LivingEntity.getType:()Lnet/minecraft/world/entity/EntityType; 26: getstatic #737 // Field net/minecraft/tags/EntityTypeTags.FROG_FOOD:Lnet/minecraft/tags/TagKey; 29: invokevirtual #738 // Method net/minecraft/world/entity/EntityType.is:(Lnet/minecraft/tags/TagKey;)Z 32: ireturn protected net.minecraft.world.entity.ai.navigation.PathNavigation createNavigation(net.minecraft.world.level.Level); Code: 0: new #12 // class net/minecraft/world/entity/animal/frog/Frog$FrogPathNavigation 3: dup 4: aload_0 5: aload_1 6: invokespecial #746 // Method net/minecraft/world/entity/animal/frog/Frog$FrogPathNavigation."":(Lnet/minecraft/world/entity/animal/frog/Frog;Lnet/minecraft/world/level/Level;)V 9: areturn public net.minecraft.world.entity.LivingEntity getTarget(); Code: 0: aload_0 1: invokevirtual #752 // Method getTargetFromBrain:()Lnet/minecraft/world/entity/LivingEntity; 4: areturn public boolean isFood(net.minecraft.world.item.ItemStack); Code: 0: aload_1 1: getstatic #757 // Field net/minecraft/tags/ItemTags.FROG_FOOD:Lnet/minecraft/tags/TagKey; 4: invokevirtual #760 // Method net/minecraft/world/item/ItemStack.is:(Lnet/minecraft/tags/TagKey;)Z 7: ireturn public static boolean checkFrogSpawnRules(net.minecraft.world.entity.EntityType, net.minecraft.world.level.LevelAccessor, net.minecraft.world.entity.MobSpawnType, net.minecraft.core.BlockPos, net.minecraft.util.RandomSource); Code: 0: aload_1 1: aload_3 2: invokevirtual #770 // Method net/minecraft/core/BlockPos.below:()Lnet/minecraft/core/BlockPos; 5: invokeinterface #776, 2 // InterfaceMethod net/minecraft/world/level/LevelAccessor.getBlockState:(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/level/block/state/BlockState; 10: getstatic #781 // Field net/minecraft/tags/BlockTags.FROGS_SPAWNABLE_ON:Lnet/minecraft/tags/TagKey; 13: invokevirtual #784 // Method net/minecraft/world/level/block/state/BlockState.is:(Lnet/minecraft/tags/TagKey;)Z 16: ifeq 31 19: aload_1 20: aload_3 21: invokestatic #788 // Method isBrightEnoughToSpawn:(Lnet/minecraft/world/level/BlockAndTintGetter;Lnet/minecraft/core/BlockPos;)Z 24: ifeq 31 27: iconst_1 28: goto 32 31: iconst_0 32: ireturn public java.lang.Object getVariant(); Code: 0: aload_0 1: invokevirtual #298 // Method getVariant:()Lnet/minecraft/core/Holder; 4: areturn public void setVariant(java.lang.Object); Code: 0: aload_0 1: aload_1 2: checkcast #29 // class net/minecraft/core/Holder 5: invokevirtual #371 // Method setVariant:(Lnet/minecraft/core/Holder;)V 8: return private static net.minecraft.resources.ResourceKey lambda$readAdditionalSaveData$0(net.minecraft.resources.ResourceLocation); Code: 0: getstatic #800 // Field net/minecraft/core/registries/Registries.FROG_VARIANT:Lnet/minecraft/resources/ResourceKey; 3: aload_0 4: invokestatic #803 // Method net/minecraft/resources/ResourceKey.create:(Lnet/minecraft/resources/ResourceKey;Lnet/minecraft/resources/ResourceLocation;)Lnet/minecraft/resources/ResourceKey; 7: areturn static {}; Code: 0: getstatic #812 // Field net/minecraft/world/entity/ai/sensing/SensorType.NEAREST_LIVING_ENTITIES:Lnet/minecraft/world/entity/ai/sensing/SensorType; 3: getstatic #815 // Field net/minecraft/world/entity/ai/sensing/SensorType.HURT_BY:Lnet/minecraft/world/entity/ai/sensing/SensorType; 6: getstatic #818 // Field net/minecraft/world/entity/ai/sensing/SensorType.FROG_ATTACKABLES:Lnet/minecraft/world/entity/ai/sensing/SensorType; 9: getstatic #821 // Field net/minecraft/world/entity/ai/sensing/SensorType.FROG_TEMPTATIONS:Lnet/minecraft/world/entity/ai/sensing/SensorType; 12: getstatic #824 // Field net/minecraft/world/entity/ai/sensing/SensorType.IS_IN_WATER:Lnet/minecraft/world/entity/ai/sensing/SensorType; 15: invokestatic #829 // Method com/google/common/collect/ImmutableList.of:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList; 18: putstatic #131 // Field SENSOR_TYPES:Lcom/google/common/collect/ImmutableList; 21: getstatic #832 // Field net/minecraft/world/entity/ai/memory/MemoryModuleType.LOOK_TARGET:Lnet/minecraft/world/entity/ai/memory/MemoryModuleType; 24: getstatic #834 // Field net/minecraft/world/entity/ai/memory/MemoryModuleType.NEAREST_LIVING_ENTITIES:Lnet/minecraft/world/entity/ai/memory/MemoryModuleType; 27: getstatic #837 // Field net/minecraft/world/entity/ai/memory/MemoryModuleType.NEAREST_VISIBLE_LIVING_ENTITIES:Lnet/minecraft/world/entity/ai/memory/MemoryModuleType; 30: getstatic #840 // Field net/minecraft/world/entity/ai/memory/MemoryModuleType.WALK_TARGET:Lnet/minecraft/world/entity/ai/memory/MemoryModuleType; 33: getstatic #843 // Field net/minecraft/world/entity/ai/memory/MemoryModuleType.CANT_REACH_WALK_TARGET_SINCE:Lnet/minecraft/world/entity/ai/memory/MemoryModuleType; 36: getstatic #846 // Field net/minecraft/world/entity/ai/memory/MemoryModuleType.PATH:Lnet/minecraft/world/entity/ai/memory/MemoryModuleType; 39: getstatic #849 // Field net/minecraft/world/entity/ai/memory/MemoryModuleType.BREED_TARGET:Lnet/minecraft/world/entity/ai/memory/MemoryModuleType; 42: getstatic #852 // Field net/minecraft/world/entity/ai/memory/MemoryModuleType.LONG_JUMP_COOLDOWN_TICKS:Lnet/minecraft/world/entity/ai/memory/MemoryModuleType; 45: getstatic #855 // Field net/minecraft/world/entity/ai/memory/MemoryModuleType.LONG_JUMP_MID_JUMP:Lnet/minecraft/world/entity/ai/memory/MemoryModuleType; 48: getstatic #858 // Field net/minecraft/world/entity/ai/memory/MemoryModuleType.ATTACK_TARGET:Lnet/minecraft/world/entity/ai/memory/MemoryModuleType; 51: getstatic #861 // Field net/minecraft/world/entity/ai/memory/MemoryModuleType.TEMPTING_PLAYER:Lnet/minecraft/world/entity/ai/memory/MemoryModuleType; 54: getstatic #864 // Field net/minecraft/world/entity/ai/memory/MemoryModuleType.TEMPTATION_COOLDOWN_TICKS:Lnet/minecraft/world/entity/ai/memory/MemoryModuleType; 57: bipush 8 59: anewarray #535 // class net/minecraft/world/entity/ai/memory/MemoryModuleType 62: dup 63: iconst_0 64: getstatic #867 // Field net/minecraft/world/entity/ai/memory/MemoryModuleType.IS_TEMPTED:Lnet/minecraft/world/entity/ai/memory/MemoryModuleType; 67: aastore 68: dup 69: iconst_1 70: getstatic #869 // Field net/minecraft/world/entity/ai/memory/MemoryModuleType.HURT_BY:Lnet/minecraft/world/entity/ai/memory/MemoryModuleType; 73: aastore 74: dup 75: iconst_2 76: getstatic #872 // Field net/minecraft/world/entity/ai/memory/MemoryModuleType.HURT_BY_ENTITY:Lnet/minecraft/world/entity/ai/memory/MemoryModuleType; 79: aastore 80: dup 81: iconst_3 82: getstatic #875 // Field net/minecraft/world/entity/ai/memory/MemoryModuleType.NEAREST_ATTACKABLE:Lnet/minecraft/world/entity/ai/memory/MemoryModuleType; 85: aastore 86: dup 87: iconst_4 88: getstatic #877 // Field net/minecraft/world/entity/ai/memory/MemoryModuleType.IS_IN_WATER:Lnet/minecraft/world/entity/ai/memory/MemoryModuleType; 91: aastore 92: dup 93: iconst_5 94: getstatic #539 // Field net/minecraft/world/entity/ai/memory/MemoryModuleType.IS_PREGNANT:Lnet/minecraft/world/entity/ai/memory/MemoryModuleType; 97: aastore 98: dup 99: bipush 6 101: getstatic #880 // Field net/minecraft/world/entity/ai/memory/MemoryModuleType.IS_PANICKING:Lnet/minecraft/world/entity/ai/memory/MemoryModuleType; 104: aastore 105: dup 106: bipush 7 108: getstatic #883 // Field net/minecraft/world/entity/ai/memory/MemoryModuleType.UNREACHABLE_TONGUE_TARGETS:Lnet/minecraft/world/entity/ai/memory/MemoryModuleType; 111: aastore 112: invokestatic #886 // Method com/google/common/collect/ImmutableList.of:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList; 115: putstatic #129 // Field MEMORY_TYPES:Lcom/google/common/collect/ImmutableList; 118: ldc #2 // class net/minecraft/world/entity/animal/frog/Frog 120: getstatic #891 // Field net/minecraft/network/syncher/EntityDataSerializers.FROG_VARIANT:Lnet/minecraft/network/syncher/EntityDataSerializer; 123: invokestatic #895 // Method net/minecraft/network/syncher/SynchedEntityData.defineId:(Ljava/lang/Class;Lnet/minecraft/network/syncher/EntityDataSerializer;)Lnet/minecraft/network/syncher/EntityDataAccessor; 126: putstatic #161 // Field DATA_VARIANT_ID:Lnet/minecraft/network/syncher/EntityDataAccessor; 129: ldc #2 // class net/minecraft/world/entity/animal/frog/Frog 131: getstatic #898 // Field net/minecraft/network/syncher/EntityDataSerializers.OPTIONAL_UNSIGNED_INT:Lnet/minecraft/network/syncher/EntityDataSerializer; 134: invokestatic #895 // Method net/minecraft/network/syncher/SynchedEntityData.defineId:(Ljava/lang/Class;Lnet/minecraft/network/syncher/EntityDataSerializer;)Lnet/minecraft/network/syncher/EntityDataAccessor; 137: putstatic #181 // Field DATA_TONGUE_TARGET_ID:Lnet/minecraft/network/syncher/EntityDataAccessor; 140: getstatic #901 // Field net/minecraft/world/entity/animal/FrogVariant.TEMPERATE:Lnet/minecraft/resources/ResourceKey; 143: putstatic #169 // Field DEFAULT_VARIANT:Lnet/minecraft/resources/ResourceKey; 146: return }