CraftTweaker

CraftTweaker

151M Downloads

Serverplay /mt reload necessary

BakermanLP opened this issue · 29 comments

commented

Hello,

I have some difficulties to use the CraftTweaker in 1.7.10 (3.0.1). On our modpack ProjectRETv8 we have to do a /mt reload to get the added recipes. The script folder is 100% the same on client and server side.

Can you help us? Do you need more information?

Modpack informations are located here: https://github.com/BakermanLP/ProjectRETv8

Thank you

Michael (aka BakermanLP)

commented

Could I get the mtlog file please

commented

After starting the client and logging onto the server:
http://pastebin.com/Gw9zigbQ

I see the Exception about Agricraft Mutations.

And here is the rest of the file after "/mt reload"
http://pastebin.com/BuJNG2FK

All Crafttweaker / Minetweaker / Modtweaker scripts can be found here:
https://github.com/BakermanLP/ProjectRETv8/tree/master/scripts

commented

Do me a favour please, make your scripts not crash, like either fix the agricraft script or just remove it and try again. I have a feeling that this is the problem

commented

OK, script is working in single player ( no error ), script is working on server ( no error in minetweaker.log ). In both cases the scripts are loaded without any error. When I start the client, connect to the server, then I get the errors from the above pastebin links. After disconnecting and reconnecting to the server, the error is gone.

I hope, that this description will help.

Michael (aka BakermanLP)

commented

ok wait, so if the script does not error, it works?

commented

I'll try to explain it in another way. When I play in single player, the script work, the recipes and everything else works. In the minetweaker.log there are no errors.
When I start the server, then there are no errors in minetweaker.log file.
When I connect with the above client to the described server, then i am getting the errors in the pastebin.

Was that better explained?

commented

Ok wait, correct me if I am wrong,

so you start the game,
A) Connecting to a server gives no errors
B) Connecting to a single player world gives no errors

C) Connecting to a single player world (no errors given), then connecting to a server (without a client restart or anything like that) it gives an error.

If that is correct, please can I have the error from the "C" or after the client world to the server, the last thing I said.

commented

OK, another try to expain that.

Single Player

  • Scripts are working fine in single player (as expected)

Server:

  • Connecting to a server with the exactly 100% identically scripts is working, no errors.
  • Then I want to use a custom recipe on the server, but that is not listed
  • Client console "/mt reload" and then the recipe is available

Here is a live example with the following scripts:
https://github.com/BakermanLP/ProjectRETv8/blob/master/scripts/MagicalCrops.zs#L261

At this line and the following ones I removed a recipe to craft a gold ore and replaced that recipe with gold ingots as crafting result.

First connect to server ... I put gold essence in the crafting grid ... and gold ore would be the result. After "/mt reload" on the client side I am getting gold ingots as the result

commented

No, most of the recipes I tried (about 20 or so) do not work on SMP / doesn't show up in NEI correct. Gold and Iron Ingots out of essences are two good examples.

commented

-.- make the scripts EXACTLY identical, then come back if there is still problems, the mod was NEVER meant to work this way.

Also if you try and take the gold ore, you will find infact that it will turn into gold ingots.

commented

The scripts are "EXACTLY identical", I rsync'd it from client to server. And what am I doing "not intended"? I remove a recipe and then I add a new one, or what was not intended? I am not sure, what you mean.

commented

What you said is that with the scripts exactly the same, it works perfectly.
You then said, if you change the script on the server side, but not on the client side, it doesn't change for the client when they connect.

commented

No to your first and second sentence.

The scripts are the exactly same on client and server. When I play in normal singleplayer, then the recipes are those from the scripts. There (in singleplayer) the scripts are working fine.

When I connect to the server (the same scripts on both sides), then I don't see the custom recipe from the script. I don't change the script in a running environment, nor I have different scripts on client and server.

"Connecting to a server with the exactly 100% identically scripts is working, no errors." means, that there are no error messages in the client or server log. The recipe is not showing up. It only works, when I "/mt reload" the scripts.

commented

OH! Ok, I now understand,

Does this only affect the gold recipe?

commented

Do they all involve items from the same mod?

commented

Sorry to say that, I am a stupid idiot. I got a error message on the client in the minetweaker.log on connecting to the server:

ERROR: Error executing MagicalCrops.zs: null
java.lang.NullPointerException
at com.InfinityRaider.AgriCraft.farming.mutation.MutationHandler.add(MutationHandler.java:249)
at com.InfinityRaider.AgriCraft.compatibility.minetweaker.SeedMutation$AddAction.apply(SeedMutation.java:56)
at minetweaker.runtime.MTTweaker.apply(MTTweaker.java:70)
at minetweaker.MineTweakerAPI.apply(MineTweakerAPI.java:169)
at com.InfinityRaider.AgriCraft.compatibility.minetweaker.SeedMutation.add(SeedMutation.java:29)
at MagicalCrops.script(MagicalCrops.zs:103)
at ZenMain.run(MagicalCrops.zs)
at minetweaker.runtime.MTTweaker.load(MTTweaker.java:163)
at minetweaker.MineTweakerImplementationAPI.reload(MineTweakerImplementationAPI.java:673)
at minetweaker.mc1710.network.MineTweakerLoadScriptsHandler.onMessage(MineTweakerLoadScriptsHandler.java:28)
at minetweaker.mc1710.network.MineTweakerLoadScriptsHandler.onMessage(MineTweakerLoadScriptsHandler.java:21)
at cpw.mods.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:37)
at cpw.mods.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:17)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:98)
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337)
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:101)

I tried that with Minetweaker and CraftTweaker, the error is the same. But I don't know, if this ist a problem on Minetweaker / Crafttweaker side or on Agricraft side.

commented

Well minetweaker is failing to load because of the crash, fix the crash and
then try
On Apr 22, 2016 1:35 PM, "BakermanLP" [email protected] wrote:

Sorry to say that, I am a stupid idiot. I got a error message on the
client in the minetweaker.log on connecting to the server:

ERROR: Error executing MagicalCrops.zs: null
java.lang.NullPointerException
at
com.InfinityRaider.AgriCraft.farming.mutation.MutationHandler.add(MutationHandler.java:249)
at
com.InfinityRaider.AgriCraft.compatibility.minetweaker.SeedMutation$AddAction.apply(SeedMutation.java:56)
at minetweaker.runtime.MTTweaker.apply(MTTweaker.java:70)
at minetweaker.MineTweakerAPI.apply(MineTweakerAPI.java:169)
at
com.InfinityRaider.AgriCraft.compatibility.minetweaker.SeedMutation.add(SeedMutation.java:29)
at MagicalCrops.script(MagicalCrops.zs:103)
at ZenMain.run(MagicalCrops.zs)
at minetweaker.runtime.MTTweaker.load(MTTweaker.java:163)
at
minetweaker.MineTweakerImplementationAPI.reload(MineTweakerImplementationAPI.java:673)
at
minetweaker.mc1710.network.MineTweakerLoadScriptsHandler.onMessage(MineTweakerLoadScriptsHandler.java:28)
at
minetweaker.mc1710.network.MineTweakerLoadScriptsHandler.onMessage(MineTweakerLoadScriptsHandler.java:21)
at
cpw.mods.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:37)
at
cpw.mods.fml.common.network.simpleimpl.SimpleChannelHandlerWrapper.channelRead0(SimpleChannelHandlerWrapper.java:17)
at
io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:98)
at
io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337)
at
io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323)
at
io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:101)

I tried that with Minetweaker and CraftTweaker, the error is the same. But
I don't know, if this ist a problem on Minetweaker / Crafttweaker side or
on Agricraft side.


You are receiving this because you modified the open/close state.
Reply to this email directly or view it on GitHub
https://github.com/jaredlll08/CraftTweaker/issues/11#issuecomment-213388617

commented

The problem at this point is in the script. I think it is the following line:

SeedMutation.add(CoalSeeds, MinicioSeeds, seedPotato);

This function is, I think, from agricraft. And as already said befor, this line is no problem in singleplayer. Possible that could also be a thing on the agricraft side and the minetweaker implementation on his / her side.

I made a issue on the Agricraft side:
https://github.com/InfinityRaider/AgriCraft/issues/627

commented

Well this isn't our side, so wait for agricraft to fix
On Apr 22, 2016 1:46 PM, "BakermanLP" [email protected] wrote:

The problem at this point is in the script. I think it is the following
line:

SeedMutation.add(CoalSeeds, MinicioSeeds, seedPotato);

This function is, I think, from agricraft. And as already said befor, this
line is no problem in singleplayer. Possible that could also be a thing on
the agricraft side and the minetweaker implementation on his / her side.

I made a issue on the Agricraft side:
InfinityRaider/AgriCraft#627
https://github.com/InfinityRaider/AgriCraft/issues/627


You are receiving this because you modified the open/close state.
Reply to this email directly or view it on GitHub
https://github.com/jaredlll08/CraftTweaker/issues/11#issuecomment-213390612

commented

Hate to jump in this long git but it's the same issue.

SMP Server - tweaked recipe - changed recipe works but JEI is not showing the changed recipe.

Is this your issue or JEI's issue?

Same script on client/server it's just 2 lines and no errors as the recipe is changed, just not showing that change in JEI.

This is with 1.9 craftweaker

commented

JEI issue
On Apr 30, 2016 7:19 PM, "b0bst3r" [email protected] wrote:

Hate to jump in this long git but it's the same issue.

SMP Server - tweaked recipe - changed recipe works but JEI is not showing
the changed recipe.

Is this your issue or JEI's issue?

Same script on client/server it's just 2 lines and no errors as the recipe
is changed, just not showing that change in JEI.


You are receiving this because you modified the open/close state.
Reply to this email directly or view it on GitHub
https://github.com/jaredlll08/CraftTweaker/issues/11#issuecomment-215979971

commented

Sounds like it is related to this? https://github.com/jaredlll08/CraftTweaker/issues/4
JEI is almost all client-side and is only going to respond to the reload request client-side. Is the reload called on the client?

commented

Iirc reload is either server-side or both
On Apr 30, 2016 9:37 PM, "mezz" [email protected] wrote:

Sounds like it is related to this? #4
https://github.com/jaredlll08/CraftTweaker/issues/4
JEI is almost all client-side and is only going to respond to the reload
request client-side. Is the reload called on the client?


You are receiving this because you modified the open/close state.
Reply to this email directly or view it on GitHub
https://github.com/jaredlll08/CraftTweaker/issues/11#issuecomment-215989335

commented

I'm not adding specific CraftTweaker support to JEI, I have already added an API call to reload JEI. I am willing to help look into this issue if you think my reload call is not working though.

commented

@mezz yea... I remembered what the #4 was about... sorry about that, yea this will actually be our side

(I'm a bit tipsy, sorry xD)

commented

Just to help you narrow down the problem, I believe it's a JEI Reload issue.

The recipes work just fine - and the moment you go to craft (you don't have to actually craft it, just make the recipe show its output) a custom CraftTweaker recipe, all of the custom recipes show up properly in JEI. This was tested on a client + server setup, where both had matching, working ZenScripts (even though IIRC, at least from the original MineTweaker, only the server needed the scripts and the recipe changes would be sent to the client - not sure if that's still the case).

Hope this helps some (these tests were in 1.8.9 by the way!)

commented

Yes I know the issue, easy fix, I'm just swamped with other work atm

commented

Sorry - wasn't rushing you, was simply trying to help. I too experience "real life" and know a thing called priorities :P

commented

yea I know you arn't rushing xD I'm just saying that I'm too busy to fix it xD