Advanced-Rocketry / AdvancedRocketry

Space mod for minecraft
http://arwiki.dmodoomsirius.me/
MIT License
216 stars 274 forks source link

conflict with JumpPad++ Failed to connect to server 1.7.10 + Russian language on the client #740

Closed SvEgiiVEteR closed 7 years ago

SvEgiiVEteR commented 7 years ago

AdvancedRocketry-1.7.10-1.0.19 (b) JumpPad++ 2.3.8 Failed to connect to server
/ERROR] [FML/]: Failed to connect to server: there are 2 missing blocks and items /DEBUG] [FML/]: Missing list: [JumpPad++:Launch Pad, JumpPad++:Launch Pad] I can not go on your server The bug is shown when 2 modes together, on detachment all ok. log: server https://gist.github.com/3e4a407a8d56c3a2b2e4d8bc52accdb7 client https://gist.github.com/2efa8923b52e0b69d776bf1dbb240ab6

/ERROR] [FML/]: Failed to connect to server: there are 2 missing blocks and items /DEBUG] [FML/]: Missing list: [JumpPad++:Launch Pad, JumpPad++:Launch Pad]

zmaster587 commented 7 years ago

I created a new server and client with the following: mcp (Minecraft Coder Pack 9.05) minecraft.jar AdvancedRocketryCore (Advanced Rocketry 1) minecraft.jar libVulpes (libVulpes 0.1.19.) LibVulpes-1.7.10-0.1.19-universal.jar advancedRocketry (Advanced Rocketry 1.0.19b) AdvancedRocketry-1.7. JumpPad++ (JumpPad++ 2.3.8) JumpPad++ 2.3.8.jar

I had no problems connecting to the server.

Are any blocks set to false in the "JumpPad++.cfg" on either the client or server?

SvEgiiVEteR commented 7 years ago

@zmaster587 Yes checked. equal. the weird thing is that JumpPad++, there is no Launch Pad looking in NEI now it will show the configs. maybe they matter....

SvEgiiVEteR commented 7 years ago

AdvancedRocketry-1.7.10-1.0.19b.jar LibVulpes-1.7.10-0.1.19-universal.jar advancedRocketry https://gist.github.com/71f57b1794f25c1b3fea0d37ad06cc91 JumpPad++.cfg https://gist.github.com/12f72cd15079bf7f41a8ee87b4e9e45d

tried to remove the configs did not help logs: server https://gist.github.com/c8f183dc57f7c1607390817c0c45f774 the client https://gist.github.com/3d33e744ec7515797a3fff0cf1fb10d9

zmaster587 commented 7 years ago

What if you remove neiintegration, UnicodeFontFixer, and liteloader?

after taking launchpad apart, I found it does not appear to have a launchpad block at all, the only two blocks it add are "pad" and "lightSensor". Everything else is just some meta data version of those two.

From JumpPad++

  public void init(FMLInitializationEvent e)
  {
    GameRegistry.registerBlock(blockPad = new BlockPad().func_149663_c("pad").func_149647_a(creativeTab).func_149711_c(1.0F).func_149752_b(1.0F).func_149672_a(Block.field_149766_f), BlockPadItem.class, blockPad.func_149732_F());
    GameRegistry.registerBlock(blockLightDetector = new BlockLightDetector().func_149663_c("lightSensor").func_149647_a(creativeTab).func_149711_c(0.2F).func_149672_a(Block.field_149766_f), blockLightDetector.func_149732_F());

    FMLCommonHandler.instance().bus().register(this.instance);
  }

Nevertheless, there does appear to be a registration to Launch Pad in the server world and on the client in my case. Though JumpPad++:Launch Pad and JumpPad++:Light Sensor are the only 2 registered, which leads me be believe at some point it's renamed

SvEgiiVEteR commented 7 years ago

@zmaster587 left the current 3 mod. not what to change, also swears... win 10 java 8.131

why you have no problems... and without AdvancedRocketry

zmaster587 commented 7 years ago

I just wanted to make sure, because in the logs you gave me before you did have liteloader installed and I was unsure if you tested without it or not. (https://gist.github.com/SvEgiiVEteR/3d33e744ec7515797a3fff0cf1fb10d9 line 215) (https://gist.github.com/SvEgiiVEteR/2efa8923b52e0b69d776bf1dbb240ab6 line 943) You do appear to be running the same forge version I'm testing with so that seems ok.

Does the issue persist if you reset the world on the server? If you go into a single player world do the jump pad blocks show up in the creative menu?

SvEgiiVEteR commented 7 years ago

@zmaster587 I tried and with LL and without Now, as I wrote above. Current with 3 modes. The problem has not disappeared .....

zmaster587 commented 7 years ago

Does the issue persist if you reset the world on the server? If you go into a single player world do the jump pad blocks show up in the creative menu?

SvEgiiVEteR commented 7 years ago

@zmaster587 I came across different bugs...even the stupid and illogical... but this conflict won it.....

and Yes forgot to write. map every time I delete at server startup. and Kaie blocks exactly to look for in a single world? Launch Pad is definitely not..

dump NEII JumpPad++:Launch Pad,412,0,false,Acceleration Pad JumpPad++:Launch Pad,412,1,false,Annihilation Pad JumpPad++:Launch Pad,412,2,false,Aqua Pad JumpPad++:Launch Pad,412,3,false,Ballistic Pad JumpPad++:Launch Pad,412,4,false,Booster Pad JumpPad++:Launch Pad,412,5,false,End Pad JumpPad++:Launch Pad,412,6,false,Impact Landing Pad JumpPad++:Launch Pad,412,7,false,Incineration Pad JumpPad++:Launch Pad,412,8,false,Jump Pad JumpPad++:Launch Pad,412,9,false,Jump Pad+ JumpPad++:Launch Pad,412,10,false,Jump Pad++ JumpPad++:Launch Pad,412,11,false,Portal Pad JumpPad++:Launch Pad,412,12,false,Regeneration Pad JumpPad++:Launch Pad,412,13,false,Slow Pad JumpPad++:Launch Pad,412,14,false,Speed Pad JumpPad++:Light Sensor,413,0,false,Light Sensor

I played in my native language.. now it was Clear to me what "Launch Pad" swears the game. from dump they're all Launch Pad

zmaster587 commented 7 years ago

The launch pad is some internal name, it won't show up in world, I'm just curious if any of the launch blocks are showing up in the creative menu?

SvEgiiVEteR commented 7 years ago

@zmaster587 checked all the blocks are put into the world

hm... I noticed one strange dump block JumpPad++:Launch Pad,412,true,null,T145.pads.blocks.BlockPad JumpPad++:Light Sensor,413,true,null,T145.pads.blocks.BlockLightDetector item JumpPad++:Launch Pad,412,true,JumpPad++,T145.pads.blocks.BlockPadItem JumpPad++:Light Sensor,413,true,JumpPad++,net.minecraft.item.ItemBlock <<<<<<<<<

zmaster587 commented 7 years ago

The light sensor doesn't have variations based on metadata, so it can afford to use the default itemblock, so that seems normal. Can you check to see if a single player world have all 4 of those entries as well?

SvEgiiVEteR commented 7 years ago

@zmaster587 checked they are the same I wrote above about the SP now checked in MP all the same JumpPad++:tile.pad.name,165,true,null,T145.pads.blocks.BlockPad JumpPad++:Light Sensor,166,true,null,T145.pads.blocks.BlockLightDetector and JumpPad++:tile.pad.name,165,true,JumpPad++,T145.pads.blocks.BlockPadItem JumpPad++:Light Sensor,166,true,JumpPad++,net.minecraft.item.ItemBlock

of course I had to remove your mod. what would go in MP

and on SP and MP all block are on the ground of course without your mod.. on another MP to check

zmaster587 commented 7 years ago

So the first entry was from single player with AR and Jumppad in at the same time?

SvEgiiVEteR commented 7 years ago

@zmaster587 Yes and the second current with the Jumppad without AR. because MP

I'm a mod can delete.. or anything to worry about. but the bug is very strange...

SvEgiiVEteR commented 7 years ago

while I was testing the SP now. I went with MP. and now noticed that the MP fell with such a failure..

https://gist.github.com/afe14fdb9ef0fd7f543807c9a114720c like wine around in the JumpPad

and your mod might just shows that there is a failure in the mod JumpPad

zmaster587 commented 7 years ago

So then the client definatly has the blocks loaded when trying to connect to the server. Usually if the client has blocks the server does not have, it still lets you join.

Would it be possible to zip an instance of the server and client (mods and config folders should suffice) where this issue occurs? I tried pulling AR, libvulpes, jumppads++ from curse and had no problems connecting to a server with my setup.

SvEgiiVEteR commented 7 years ago

@zmaster587 I, too, 15 minutes ago, downloaded from curse and problem not gone. and config del...

zmaster587 commented 7 years ago

Can you send it anyway so I can be 100% sure all of the files are identical. It would also allow me to verify no file corruption is involved. Though I suppose you could also just send the MD5s of each of the 3 mod files as well if you prefer

zmaster587 commented 7 years ago

Also that crash appears to be caused by a cow getting on top of a booster pad, but the program does not check to see if it's a player or not and just assumes it's a player anyway even though it's really a cow/

  public void func_149670_a(World world, int x, int y, int z, Entity e)
  {
    switch (Types.values()[world.func_72805_g(x, y, z)])
    {
    case acceleration: 
      if ((e instanceof EntityPlayer)) {
        e.func_70031_b(true);
      }
      break;
    case annihilation: 
      if ((e instanceof EntityLivingBase)) {
        e.func_70097_a(DamageSource.field_76367_g, 1.0F);
      }
      break;
    case aqua: 
      if (e.func_70027_ad()) {
        e.func_70066_B();
      }
      break;
    case ballistic: 
      explode(world, x, y, z);
      break;
    case booster: 
      EntityPlayer player = (EntityPlayer)e;          //<== T145.pads.blocks.BlockPad.func_149670_a(BlockPad.java:230)
      if ((!(e instanceof EntityPlayer)) || (!player.func_70093_af())) {
        launch(e, Double.valueOf(0.04D));
      }
      break;
...
zmaster587 commented 7 years ago

I suppose if you like I can upload a copy of the instance that I verifed works on my end for you to try if you'd prefer that. That would at least narrow it down to some issue with forge or the JVM.

SvEgiiVEteR commented 7 years ago

Yes, I can send all. wait)

SvEgiiVEteR commented 7 years ago

@zmaster587 I can't understand. just went to the server. start close again and AGAIN will NOT LET me. hmm..I think it's in the RUSSIAN language.

1 Russian language is the gateway to the server. 2 changed to ENG again will not let me. 3 closed the game, launched the and go - with ENG joined the server.

checked not once. blame the Russian translation of the game..... if not difficult to check. BUT the game is required to restart.

zmaster587 commented 7 years ago

Let me check something... I wonder if it's some locale and string.toLowerCase()/string.toUpperCase() problem.

SvEgiiVEteR commented 7 years ago

@zmaster587 I checked 10 times with ENG all is well. I think your mod is probably trying to translate the "Launch Pad" in this mod. why?

because when I created a dump file this

JumpPad++:Launch Pad,412,0,false,Acceleration Pad JumpPad++:Launch Pad,412,1,false,Annihilation Pad JumpPad++:Launch Pad,412,2,false,Aqua Pad JumpPad++:Launch Pad,412,3,false,Ballistic Pad JumpPad++:Launch Pad,412,4,false,Booster Pad JumpPad++:Launch Pad,412,5,false,End Pad JumpPad++:Launch Pad,412,6,false,Impact Landing Pad JumpPad++:Launch Pad,412,7,false,Incineration Pad JumpPad++:Launch Pad,412,8,false,Jump Pad JumpPad++:Launch Pad,412,9,false,Jump Pad+ JumpPad++:Launch Pad,412,10,false,Jump Pad++ JumpPad++:Launch Pad,412,11,false,Portal Pad JumpPad++:Launch Pad,412,12,false,Regeneration Pad JumpPad++:Launch Pad,412,13,false,Slow Pad JumpPad++:Launch Pad,412,14,false,Speed Pad JumpPad++:Light Sensor,413,0,false,Light Sensor

all Launch Pad was translated as "стартовая площадка" BUT in JumpPad no translation there should be a Launch Pad and this game will not let me on the server, I think that these things not because of the translation..

I wonder which current conflicts do not happen... =))))))

thank you for taking the time to check my problem

zmaster587 commented 7 years ago

Launch pad is the internal name of the block, if it changes to anything else, the server may not recognise it. Each mod is also responsible for its own blocks. AR does not change Jump Pad's block names or vice versa. I can also confirm I can replicate the issue when changing the language though, so now I can see about nailing an exact cause down.

SvEgiiVEteR commented 7 years ago

it is strange that without your mod, no problems with the Russian language in this mod is not shown. I just know that you also have block Launch Pad. I think it's no coincidence.

zmaster587 commented 7 years ago

I think you may be on to something with that, I have also noticed that with AR removed jumppad++ no longer registers jumppad++:Launch Pad. So I wondering if it's just grabbing onto anything with the word pad in it or something. That would also explain where "Launch pad" comes from because I'm not seeing it in the jumppad++ mod.

Also I just recalled that the internal name of the jump pad block and AR's launchpad is "pad"

SvEgiiVEteR commented 7 years ago

If it was not difficult to change the name of the block and translate your Launch Pad, then it would be possible to check for the sake of interest what will happen ...

zmaster587 commented 7 years ago

That's what I'm in the process of doing. Though I still am trying to figure out how a translated name got used at all. I'm registering it with a hardcoded constant string.

SvEgiiVEteR commented 7 years ago

@zmaster587 Well, maybe the reason is not in your mod. Maybe the second mod tries to translate itself. Looking for translation Launch Pad finds from you and translates.

On the NEI dump, I can confirm that the SP Launch Pad is translated from this mod. BUT in the NEI they are in English

zmaster587 commented 7 years ago

I tried changing the internal name of the Launch Pad in AR from "pad" to "pad2", now i get this when i try to connect: [22:12:07] [Netty Client IO #2/INFO] [FML]: Found a missing id from the world JumpPad++:tile.pad.name [22:12:07] [Netty Client IO #2/INFO] [FML]: Found a missing id from the world JumpPad++:tile.pad.name

So definatly looks like translation is getting involved somewhere.

AR's lang file was untouched and still contains "tile.pad.name=Launch Pad" in EN_US, which is what it appears the server is using.

SvEgiiVEteR commented 7 years ago

I think I need to replace the "Launch Pad" myself with something else, for example LauncherPad I was playing with a big pack of mods, the game was just swearing at the "Launch Pad"without specifying what kind of mod

zmaster587 commented 7 years ago

I tried replacing "Launch Pad" with "LeWeirdBug" in the EN_US.lang and I get this: [22:21:33] [Netty Client IO #2/INFO] [FML]: Found a missing id from the world JumpPad++:LeWeirdBug [22:21:33] [Netty Client IO #2/INFO] [FML]: Found a missing id from the world JumpPad++:LeWeirdBug

zmaster587 commented 7 years ago

I went and changed the internal name of the block to match the registry name and updated the lang files. http://65.78.115.159:8080/job/Advanced%20Rocketry/job/AdvancedRocketry/job/master/20/ Appears to fix the issue.

May also require an update to libvulpes, idr if i pushed any changes after the last build on curse but before freezing the branch http://65.78.115.159:8080/job/LibVulpes/job/libVulpes/job/master/11/

SvEgiiVEteR commented 7 years ago

@zmaster587 I confirm the problem has disappeared) Thank you very much