Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] Animals disappearing after exception while default '' #4

Closed
ptrap opened this issue May 4, 2021 · 1 comment
Closed

[Bug] Animals disappearing after exception while default '' #4

ptrap opened this issue May 4, 2021 · 1 comment

Comments

@ptrap
Copy link

ptrap commented May 4, 2021

Server: Purpur 1.16.5 build 1064
Farmcontrol version: 1.1.3
Other plugins that do have animal stuff, most on the standard settings: GriefPrevention, Terra, WorldGuard

After spawning 30 sheep

next to eachother and enabling the default 'soft-nerf-animal-farms' profile, the server will throw an exception that makes most of the sheep disappear

STR:

  • Change the soft-nerf-animal-farms profile count to 1500, /farmcontrol reload
  • spawn 30 sheep in a small area with fences
  • wait, sheeps are not despawning
  • change the count back to 15, /farmcontrol reload
  • after a small bit, the server code itself starts spitting exceptions and a lot of the animals are despawning

Error in the console:

[23:38:45 WARN]: Entity threw exception at world:-1055.925000011921,70.0,462.14596286640847
[23:38:45 WARN]: java.util.ConcurrentModificationException
[23:38:45 WARN]:        at java.base/java.util.LinkedHashMap$LinkedHashIterator.nextNode(LinkedHashMap.java:719)
[23:38:45 WARN]:        at java.base/java.util.LinkedHashMap$LinkedKeyIterator.next(LinkedHashMap.java:741)
[23:38:45 WARN]:        at net.minecraft.server.v1_16_R3.PathfinderGoalSelector.doTick(PathfinderGoalSelector.java:109)
[23:38:45 WARN]:        at net.minecraft.server.v1_16_R3.EntityInsentient.inactiveTick(EntityInsentient.java:207)
[23:38:45 WARN]:        at net.minecraft.server.v1_16_R3.EntityAgeable.inactiveTick(EntityAgeable.java:30)
[23:38:45 WARN]:        at net.minecraft.server.v1_16_R3.WorldServer.entityJoinedWorld(WorldServer.java:1541)
[23:38:45 WARN]:        at net.minecraft.server.v1_16_R3.WorldServer.doTick(WorldServer.java:1143)
[23:38:45 WARN]:        at net.minecraft.server.v1_16_R3.MinecraftServer.b(MinecraftServer.java:1563)
[23:38:45 WARN]:        at net.minecraft.server.v1_16_R3.DedicatedServer.b(DedicatedServer.java:433)
[23:38:45 WARN]:        at net.minecraft.server.v1_16_R3.MinecraftServer.a(MinecraftServer.java:1412)
[23:38:45 WARN]:        at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1138)
[23:38:45 WARN]:        at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:291)
[23:38:45 WARN]:        at java.base/java.lang.Thread.run(Thread.java:834)
[23:38:45 WARN]: Entity threw exception at world:-1049.5075544036852,70.0,459.6014259991778
[23:38:45 WARN]: java.util.ConcurrentModificationException
[23:38:45 WARN]:        at java.base/java.util.LinkedHashMap$LinkedHashIterator.nextNode(LinkedHashMap.java:719)
[23:38:45 WARN]:        at java.base/java.util.LinkedHashMap$LinkedKeyIterator.next(LinkedHashMap.java:741)
[23:38:45 WARN]:        at net.minecraft.server.v1_16_R3.PathfinderGoalSelector.doTick(PathfinderGoalSelector.java:109)
[23:38:45 WARN]:        at net.minecraft.server.v1_16_R3.EntityInsentient.inactiveTick(EntityInsentient.java:207)
[23:38:45 WARN]:        at net.minecraft.server.v1_16_R3.EntityAgeable.inactiveTick(EntityAgeable.java:30)
[23:38:45 WARN]:        at net.minecraft.server.v1_16_R3.WorldServer.entityJoinedWorld(WorldServer.java:1541)
[23:38:45 WARN]:        at net.minecraft.server.v1_16_R3.WorldServer.doTick(WorldServer.java:1143)
[23:38:45 WARN]:        at net.minecraft.server.v1_16_R3.MinecraftServer.b(MinecraftServer.java:1563)
[23:38:45 WARN]:        at net.minecraft.server.v1_16_R3.DedicatedServer.b(DedicatedServer.java:433)
[23:38:45 WARN]:        at net.minecraft.server.v1_16_R3.MinecraftServer.a(MinecraftServer.java:1412)
[23:38:45 WARN]:        at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1138)
[23:38:45 WARN]:        at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:291)
[23:38:45 WARN]:        at java.base/java.lang.Thread.run(Thread.java:834)
[23:38:45 WARN]: Entity threw exception at world:-1049.3033855601473,70.0,462.6299424535344
[23:38:45 WARN]: java.util.ConcurrentModificationException
[23:38:45 WARN]:        at java.base/java.util.LinkedHashMap$LinkedHashIterator.nextNode(LinkedHashMap.java:719)
[23:38:45 WARN]:        at java.base/java.util.LinkedHashMap$LinkedKeyIterator.next(LinkedHashMap.java:741)
[23:38:45 WARN]:        at net.minecraft.server.v1_16_R3.PathfinderGoalSelector.doTick(PathfinderGoalSelector.java:109)
[23:38:45 WARN]:        at net.minecraft.server.v1_16_R3.EntityInsentient.doTick(EntityInsentient.java:882)
[23:38:45 WARN]:        at net.minecraft.server.v1_16_R3.EntityLiving.movementTick(EntityLiving.java:2922)
[23:38:45 WARN]:        at net.minecraft.server.v1_16_R3.EntityInsentient.movementTick(EntityInsentient.java:652)
[23:38:45 WARN]:        at net.minecraft.server.v1_16_R3.EntityAgeable.movementTick(EntityAgeable.java:152)
[23:38:45 WARN]:        at net.minecraft.server.v1_16_R3.EntityAnimal.movementTick(EntityAnimal.java:60)
[23:38:45 WARN]:        at net.minecraft.server.v1_16_R3.EntitySheep.movementTick(EntitySheep.java:163)
[23:38:45 WARN]:        at net.minecraft.server.v1_16_R3.EntityLiving.tick(EntityLiving.java:2648)
[23:38:45 WARN]:        at net.minecraft.server.v1_16_R3.EntityInsentient.tick(EntityInsentient.java:406)
[23:38:45 WARN]:        at net.minecraft.server.v1_16_R3.WorldServer.entityJoinedWorld(WorldServer.java:1539)
[23:38:45 WARN]:        at net.minecraft.server.v1_16_R3.WorldServer.doTick(WorldServer.java:1143)
[23:38:45 WARN]:        at net.minecraft.server.v1_16_R3.MinecraftServer.b(MinecraftServer.java:1563)
[23:38:45 WARN]:        at net.minecraft.server.v1_16_R3.DedicatedServer.b(DedicatedServer.java:433)
[23:38:45 WARN]:        at net.minecraft.server.v1_16_R3.MinecraftServer.a(MinecraftServer.java:1412)
[23:38:45 WARN]:        at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1138)
[23:38:45 WARN]:        at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:291)
[23:38:45 WARN]:        at java.base/java.lang.Thread.run(Thread.java:834)

Used FarmControl config:

version: 3
cycle-period: 600
world-settings:
  default:
    profiles:
      proactive:
        - soft-nerf-animal-farms
      reactive:
    reactive-mode-settings:
      trigger-tps-threshold: 18.0
      untrigger-tps-threshold: 19.9
      untrigger-settings:
        minimum-cycles-before-undo: 10
        maximum-undos-per-cycle: 40
        entity-undo-weight:
          default: 1
          villager: 5
    exclusion-settings:
      tamed: true
      named: true
      love-mode: true
      leashed: true
      younger-than: 0
      type:
      metadata:
        - Elitemob
        - Elitemobs_NPC
        - Supermob
        - infernalMetadata
        - NPC
        - shopkeeper
    action-settings:
      undo-on:
        default:
          interact: false
          damage: true
          target: true
          tempt: true
        remove-ai:
          interact: true
          damage: true
          target: true
        remove-awareness:
          interact: true
          damage: true
          target: true
        disable-collisions:
          tempt: true
tps-tracker-settings:
  collection-period: 1200
  trim-outliers-to-within: 100.0
paper-settings:
  mspt-tracker-settings:
    collection-period: 1200
    trim-outliers-to-within: 100.0
  world-settings:
    default:
      alternative-reactive-mode-settings:
        use-alternative-settings: false
        trigger-mspt-threshold: 47.0
        untrigger-mspt-threshold: 40.0

profiles.yml is stock except for the count change listed in the STR

@froobynooby
Copy link
Owner

froobynooby commented May 5, 2021

Thank you for the detailed bug report!

The issue is with undoing the remove-random-movement when an entity is tempted. It is quite a non-trivial issue to fix nicely, so for the moment I have removed the ability for this action to be undone when an entity is tempted. I will try to come up with a better solution at some point

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants