Posted August 18, 20214 yr Hello, I recently added rail intersection and turnout to my mod. They're working properly with minecart, but not with the other rails (problem with connecting), so I decided to modify minecraft rail system, add more rail shapes to it and modify some methods to support them. I created a class that overrides AbstractRailBolck and now I've a problem because standard rail classes extend AbstractRailBlock, so I've to create class that extends my AbstractRailBlock extended class to override default rail. When I tried to run minecraft I received this error: java.lang.RuntimeException: Invalid vanilla replacement. See log for details. Is it possible to override vanilla rails without extending their classes? I know that minecart code also must be modified, but this is task for another time. Obliviusly my rail class has got the same names of block properties as the default one. I'm using Minecraft 1.16.5 and Forge 36.2.0. PS: Sorry for my English.
August 18, 20214 yr Author The class must extend the vanilla block's class or only properties must be same? My rail has a shape property like the vanilla one, but I created for it a new enum with more states. Will it be a problem even if I modify all scripts that are using the old rail properties?
August 18, 20214 yr Author Ok, but when the properties are exactly the same, my rail's class doesn't have to extend the vanilla one?
August 18, 20214 yr Author Thank you. I'll try without extending. When something crashes I'll think about changing my code.
August 19, 20214 yr Author This diagram should make it easier to understand: After changing the code to use original block properties I'm able to run it without any errors.
August 19, 20214 yr you can't extends the RailShapes, if you are overwrite a block because: 12 hours ago, diesieben07 said: The properties must match exactly, you cannot add, remove or modify any properties. so your own RailShapes != VanillaRailShapes
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.