First, is there a specific feature you have not been able to duplicate in Constructs event system? The only reason to create a plugin is because there is something you want to do that the events can't or, to create an enhanced version of a given behavior. If you are having trouble getting something to work, you may get help from the forums here to solve it.
Second, BlueJ is primarily a Java dev learning tool, not Javascript. Those are not the same thing although they may sound like it.
Third, when you create your event/actions you are basically programming with an image based language so, you really can't say making a plugin is the only way to program.
Forth, if you do need to write a plugin, the environment in which you write it does not really affect how it interacts with Construct. You could write it in a full Javascript development environment, or just in a basic text editor like notepad and the script will work the same in the end. There doesn't need to be any compatibility between the software you write it in and Construct as long as the script you write follows Constructs format and implements its framework.
Just a little background, I currently work as a software developer using Java for server side code and Javascript for the client side. I have used Construct for more than 3 years. In all that time, I have not found a reason to write my own plugin and I have even found many current plugins others have created to be completely unnecessary. The event system is more than powerful enough to handle most things you want to do.