Botania Unofficial

Botania Unofficial

794k Downloads

Floating flowers: FPS drop + [Possibly Unrelated | Optifine] [Strange bug] Crash with connected textures enabled

CrazyManLabs opened this issue ยท 1 comments

commented

The first part of this issue is pretty much straight forward:
With only Forge and Botania installed I faced with FPS drop (in the past I never noticed this problem). FPS drops whenever I place/break Floating Flower, but a little bit later (maybe half a second or so) after that FPS returns to its' normal value. But sometimes game "lags" only on first flower placed or last flower broken (by "first/last flower" I mean that there is no other flowers in the world before placing/after breaking)..


The second part is..IDK..very strange and new to me.
It can be reproduced like this:

  1. Install MC + Forge + Botania + OptiFine (I leaved all my mods enabled, but it can be reproduced just in this combination)
  2. Enable "Connected Textures" feature in OptiFine
  3. Start game, load world (I tested only in flat world with "Redstone ready" template, so maybe only sandstone walls can cause this problem)
  4. 2 possible ways here:
    4.1)
    Place 2 Floating Flowers on the ground next to each other
    2016-08-31_18 06 01
    -> Break block under/near them (on screenshots blocks, that need to be broken, highlighted)
    2016-08-31_18 06 13
    2016-08-31_18 09 46
    -> Instant crash

Here are screenshots, where you can see, that blocks, that are further away from flowers, can be broken without any problem..
2016-08-31_18 06 05
2016-08-31_18 09 43

4.2)
Break some blocks in one line
2016-08-31_18 18 20
-> Place Floating Flower on edge of this gap
2016-08-31_18 18 30
-> Instant crash

I think this issue is optifine-related, but (as I told below) it never happened before.. And another reason for open issue here is part of log, that contains calls of botania methods on top of call-stack:
java.lang.NullPointerException: Tesselating block model at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:213) at com.google.common.collect.StandardTable.put(StandardTable.java:138) at com.google.common.collect.HashBasedTable.put(HashBasedTable.java:55) at vazkii.botania.client.model.FloatingFlowerModel.getModel(FloatingFlowerModel.java:135) at vazkii.botania.client.model.FloatingFlowerModel.func_188616_a(FloatingFlowerModel.java:104) at ConnectedTextures.getNeighbourIcon(ConnectedTextures.java:1325) at ConnectedTextures.isNeighbour(ConnectedTextures.java:1284) at ConnectedTextures.isNeighbour(ConnectedTextures.java:1264)
I think, that latest changes in Floating Flowers can cause this problem (possible "caching models" feature (as I can call it from code) or maybe new models causing it), but I can't tell, if I'm right.

CrashDump:
crash-2016-08-31_18.18.35-client.txt


Specs:
MC 1.10.2
Forge 12.18.1.2076
Botania r1.8-320
OptiFine 1.10.2_HD_U_C3

commented

This is an issue with connected textures. My model's getQuads is being passed an IBlockState with no Extended State data filled in (i.e. connected textures is asking Botania for the model of a floating flower, without specifying the type of flower nor the island type)