Hook conflict between two plugins

What is BOOLEAN????????????? What is it??? How do I find it in plugins??? I constantly get messages that in one plugin boolean is true, and in another plugin boolean is false. But the two plugins do not have common settings, there are no common items in the config. How do I find this damn boolean?

Die fucking BOOLEAN! Die fucking BOOLEAN! Die fucking BOOLEAN! Die fucking BOOLEAN! Die fucking BOOLEAN! Die fucking BOOLEAN! Die fucking BOOLEAN! Die fucking BOOLEAN! Die fucking BOOLEAN! Die fucking BOOLEAN! Die fucking BOOLEAN! Die fucking BOOLEAN! Die fucking BOOLEAN! Die fucking BOOLEAN! Die fucking BOOLEAN! Die fucking BOOLEAN! Die fucking BOOLEAN! Die fucking BOOLEAN! Die fucking BOOLEAN! Die fucking BOOLEAN! Die fucking BOOLEAN! Die fucking BOOLEAN! Die fucking BOOLEAN! Die fucking BOOLEAN! Die fucking BOOLEAN! Die fucking BOOLEAN!

Send the error you get

Calling hook CanLootEntity resulted in a conflict between the following plugins: PreventLooting - False (Boolean), LootDefender (True (Boolean))
Calling hook CanLootEntity resulted in a conflict between the following plugins: PersonalHeli - False (Boolean), PreventLooting - False (Boolean), LootDefender (True (Boolean))
Calling hook CanStackItem resulted in a conflict between the following plugins: StackModifier - True (Boolean), Skinner (False (Boolean))

This is just a warning, not an error.  returning mon NULL value will cancel the action but because some plugin return true and other return false you get this message. Other then modifying the pluging, you can install the plugin ConsoleFilter to ignore this message. just add the string to the config :
"Calling hook CanLootEntity resulted in a conflict"

Returning either true or false for certain hooks ends up doing the same thing. So those plugins should be updated to return true to avoid those conflict warnings, that's the usual practice followed

 

All plugins have been updated, I did not say that I consider these messages to be an error, there are hundreds of these messages, it clogs the console, is very annoying and interferes with work.

obff1WnHODVvA0v.png VisEntities

Returning either true or false for certain hooks ends up doing the same thing. So those plugins should be updated to return true to avoid those conflict warnings, that's the usual practice followed

 

Question to all developers: why do you return true  to prevent the default action? This seems illogical.

You are preventing the "vanilla" actions, so it would be more logical to return false.

Or am I missing something?

IIIaKa

Question to all developers: why do you return true  to prevent the default action? This seems illogical.

You are preventing the "vanilla" actions, so it would be more logical to return false.

Or am I missing something?

because true and false do the same thing for this type of hook



Merged post

Can hooks are a different story, there it matters
dW9foWeSfoVSuxz.png VisEntities

because true and false do the same thing for this type of hook



Merged post

Can hooks are a different story, there it matters

I believe it is correct to return false or null in object hooks and bool hooks.

In object hooks, return null if you don't want to interrupt the 'vanilla' actions or 'pass' the choice to another plugin, and return false if you want to interrupt the execution of the 'vanilla' code. Some return true, which causes conflicts in the console.

And in bool hooks, return false if you want to cancel, for example, targeting in CanBeTargeted, and return null if you don't want to cancel targeting and give the choice to another plugin.

This way, there won't be conflicts between plugins, and you won't have those console spams that prompt users to write support tickets.



Merged post

Simple rule: either forbid or stand aside. That way, you won't violate the concept of other plugins.