Copper Golem + Copper Block Support
Problem
No proper support for setting and getting attributes of copper golems and copper blocks.
Solution
Removes 'copper golem' from SimpleEntityData and adds CopperGolemData allowing users to specify the copper state of the copper golem and whether they're waxed. Adds a condition to check if a copper golem or a copper block is waxed. Adds an effect to wax or unwax a copper golem or a copper block. Adds an expression to get/set the time until the next oxidation for a copper golem. Adds an expression to get/set the pose of a copper golem statue. Adds an expression to get/set the copper state of a copper golem or a copper block.
Adds 'CopperState' that mimics 'WeatheringCopperState' for the versions that don't have it. Allowing easy use for getting and setting the copper states.
Registers ClassInfo for copper golem statue poses Registers ClassInfo for 'CopperState' or 'WeatheringCopperState' if it exists.
Adds 'ReflectUtils' that is a utility class for common reflection and caches where possible. Reflection was needed for 'CopperState', 'ExprCopperState', and 'ExprCopperGolemOxidationTime' which led to the creation of ReflectUtils.
Testing Completed
EntityData.sk EffWax.sk ExprCopperGolemOxidationTime.sk ExprCopperGolemPose.sk ExprCopperState.sk EffSecSpawn.sk
Supporting Information
N/A
Completes: none Related: none
Forgot to write this in the last review, but this should all be in the skriptlang package.