Dragon Survival [Forge]

Dragon Survival [Forge]

1M Downloads

[Compatibility]: 1.19.2 FORGE Conflict with Mythical Mounts

PizzaPolice opened this issue · 9 comments

commented

■ Your Discord ID

PizzaPolice

■ Dragon Survival version

DragonSurvival-1.19.2-1.5.58.jar

■ Minecraft version

1.18

■ Single game or server?

Single (Default)

■ Do you delete old configs before writing a bug report?

I always delete configs

■ Description of incompatibility

(Note above minecraft version field only let me set 1.16 1.18 or 1.15, real version is 1.19.2 FORGE)
When taming any mythical mount from the mod said mount will attack player even if tamed/non hostile mob
This persists whether or not you are in dragon form or human (tested with dragon-altar command)
Removing dragon survival mod instantly returns them to non-hostile as expected

■ To Reproduce

Created minimal mod list of Dragon Survival + Mythical Mounts + required libraries all latest version
Minecraft version 1.19.2
Forge version 43.3.0
DragonSurvival-1.19.2-1.5.58.jar
geckolib-forge-1.19-3.1.40.jar
mythicmounts-19.2-7.2.1-forge.jar

Spawn in an archelon using archelon spawn egg
Observe as archelon munches you to death despite in configs being configured as non hostile
Remove dragon survival from mod list
Reload game
Observe as archelon no longer munches your face off

■ Crash Report

No response

commented

live link to Mythical Mounts

commented

Update: Non hostile turtle has stopped attacking me and is now non hostile as expected. No mod has been updated and the instance used for testing has not been changed since last bug reproduction, and also has stopped occurring on the "main modpack" with 200+ mods. Will update if further information is found but something cursed is afoot.

commented

I too have this issue.

Mythic mounts will almost always be aggressive to the player, griffons and dragons tested. Continue to be aggressive after taming.

Removed Dragon Survival, and mob return to normal. Griffons passive, and dragons while aggressive before taming, become docile once tamed.

commented

@SubscribeEvent
public static void onJoin(EntityJoinLevelEvent joinWorldEvent){
Entity entity = joinWorldEvent.getEntity();
if(entity instanceof Animal && !(entity instanceof Wolf || entity instanceof Hoglin)){
((Animal)entity).goalSelector.addGoal(5, new AvoidEntityGoal((Animal)entity, Player.class, living -> DragonUtils.isDragon((Player)living) && !((Player)living).hasEffect(DragonEffects.ANIMAL_PEACE), 20.0F, 1.3F, 1.5F, s -> true));
}
if(entity instanceof Horse horse){
horse.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(horse, Player.class, 0, true, false, living -> living.getCapability(Capabilities.DRAGON_CAPABILITY).orElseGet(null).getLevel() != ADULT));
horse.targetSelector.addGoal(4, new AvoidEntityGoal<>(horse, Player.class, living -> living.getCapability(Capabilities.DRAGON_CAPABILITY).orElse(null).getLevel() == ADULT && !living.hasEffect(DragonEffects.ANIMAL_PEACE), 20, 1.3, 1.5, s -> true));
}
}

they probably all extend horse

commented

I'd forgotten that horses attack dragons. I guess I could just delete the horse part. It's not necessary.

commented

I'd forgotten that horses attack dragons. I guess I could just delete the horse part. It's not necessary.

It must be more than that, because our characters were "human" and were getting attacked. However with this one mod: Horses Stand still, after some working with it, I seemed to of made my dragon mount non agressive, and so far seems to stay non aggressive, even after putting him into a Relic Horse Flute and summoning back out (Yes! that works!)

However my friend, is trying to tame a griffon, and they are just always aggressive, no matter what we do. Unless we disable Dragon Survival. And again, he's never once chose to be a dragon.

Unless the code itself is merely being confused cross-mod, that mythic mounts get the code to attack dragons, but doesn't differentiate dragon and non dragon. And just simply two mods having unintended interactions.

commented

the horse code actually doesnt check if youre dragon, it just checks if your dragon level is that of an adult (meaning they wont attack if youre an adult)

commented

You can check back in the next update to see how this will work. Everything should be fixed in theory.

commented

fixed in latest