Posted October 28, 20214 yr Just trying to set the value of random tick speed in code with an int value, but cannot seem to figure out how. With a boolean game rule it is extremely easy with the set method... but random tick speed requires a GameRules.IntegerValue object, and the constructor of that object needs a GameRules.RuleType<GameRules.IntegerValue> object. Edited October 28, 20214 yr by Gr3atsaga
October 28, 20214 yr Author I found the method tryDeserialize which takes a string and tries to parse an int from it. However it, as well as the setFrom method are marked as ClientOnly. I need to set this game rule in a server context. Edited October 28, 20214 yr by Gr3atsaga
November 1, 20214 yr Author On 10/28/2021 at 4:45 AM, diesieben07 said: The cleanest would probably be to call GameRules.RuleValue#deserialize using reflection. If you want to avoid using reflection you have to use setFromArgument, which requires you to construct a fake command context. Do you have experience in creating a fake command context? I tried to follow the steps to do so, but it requires that I create a ParsedArgument and I'm not too sure about the construction of that object. I did get the deserialize method through reflection and it was working just fine in my dev environment. But as soon as I tested my mod in a non-dev env I am getting a no such method exception... why would I not be able to find it in a non-dev setup?
November 1, 20214 yr Author Where would I find the SRG name? I understand that it is a mapping of names, but where do I find it?
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.