Whenever a class in the sourcecode is set to be internal, access for modders becomes problematic. It doesn't even serve the purpose because it's still reachable with reflection, it just makes it a whole lot harder to mod and more prone to bugs.
The specific issue I ran into was when I added a 1x1 door. I figured I would start easy by copy pasting the config for the pressure door, but no, there is the following line:
go.AddOrGet<ZoneTile>();
ZoneTile is internal, meaning I can't compile the copy pasted code. This time I could work around the issue by inherit PressureDoorConfig and then call base.DoPostConfigureComplete, but that was more luck in this specific case than a general solution.
I fully get the thinking behind using internal, but it's just not having the intended effect for modders and it creates artificial restrictions in what can be modded.
The easy solution for everybody is to replace all internal keywords with public in vanilla.
Try to mod code, which makes use of an internal class.
A developer has marked this issue as fixed. This means that the issue has been addressed in the current development build and will likely be in the next update.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now