embeddedt/VintageFix

Incompatibility with SecretRoomsMod

Closed this issue · 2 comments

Original crash: https://mclo.gs/5aXFAHD
After removing SnowRealMagic-1.12.2-0.7.1.jar: https://mclo.gs/C8EkQ7d
After removing censoredasm5.14.jar: https://mclo.gs/agk44rF

Putting them all back, and removing either VintageFix or SecretRoomsMod prevents the issue.

I got some help from @ACGaming and it seems this part of SecretRoomsMod's code is the cause:

  public static IBlockState getBlockState(IBlockAccess world, BlockPos pos) {
    if (world.getTileEntity(pos) instanceof ISecretTileEntity) {
      IBlockState state = world.getTileEntity(pos).getWorld().getBlockState(pos);
      IBlockState renderState = ((ISecretTileEntity)world.getTileEntity(pos)).getMirrorStateSafely();
      try {
        renderState = renderState.getActualState((IBlockAccess)new FakeBlockAccess((IBlockAccess)world.getTileEntity(pos).getWorld()), pos);
        state = state.getActualState(world, pos);
      } catch (Exception exception) {}
      IExtendedBlockState iExtendedBlockState = ((IExtendedBlockState)state.getBlock().getExtendedState(state, world, pos)).withProperty(ISecretBlock.RENDER_PROPERTY, renderState);
      (SecretBlockModel.instance()).AO.set(Boolean.valueOf(Minecraft.getMinecraft().getBlockRendererDispatcher().getModelForState(renderState).isAmbientOcclusion()));
      (SecretBlockModel.instance()).SRMBLOCK.set(iExtendedBlockState);
      return (IBlockState)iExtendedBlockState;
    } 
    return world.getBlockState(pos);
  }

Considering the mod is open source, if you have a suggestion to resolve it from the other mod's end, it'd be possible too.

Please confirm it's fixed in the beta. ;)

Yes that worked 🏅