Initialize ItemManager to a complete state
This reverts e3637fbb27868c42b9acb7c9f2a8f4308179e143 , changing it so RuneLite gets it's ItemManager late, as opposed to the ItemManager being constructed in a invalid state.
This commit is contained in:
@@ -31,6 +31,7 @@ import com.google.common.eventbus.EventBus;
|
||||
import com.google.inject.Guice;
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.Injector;
|
||||
import com.google.inject.Provider;
|
||||
import java.applet.Applet;
|
||||
import java.io.File;
|
||||
import java.util.Optional;
|
||||
@@ -104,7 +105,7 @@ public class RuneLite
|
||||
private TitleToolbar titleToolbar;
|
||||
|
||||
@Inject
|
||||
private ItemManager itemManager;
|
||||
private Provider<ItemManager> itemManager;
|
||||
|
||||
@Inject
|
||||
private ClanManager clanManager;
|
||||
@@ -169,8 +170,11 @@ public class RuneLite
|
||||
eventBus.register(chatMessageManager);
|
||||
eventBus.register(commandManager);
|
||||
eventBus.register(pluginManager);
|
||||
eventBus.register(itemManager);
|
||||
eventBus.register(clanManager);
|
||||
if (client != null)
|
||||
{
|
||||
eventBus.register(itemManager.get());
|
||||
}
|
||||
|
||||
// Load user configuration
|
||||
configManager.load();
|
||||
|
||||
@@ -38,7 +38,6 @@ import java.util.concurrent.ExecutionException;
|
||||
import java.util.concurrent.ScheduledExecutorService;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Provider;
|
||||
import javax.inject.Singleton;
|
||||
import lombok.Value;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -74,7 +73,7 @@ public class ItemManager
|
||||
*/
|
||||
static final ItemPrice NONE = new ItemPrice();
|
||||
|
||||
private final Provider<Client> client;
|
||||
private final Client client;
|
||||
private final ScheduledExecutorService scheduledExecutorService;
|
||||
|
||||
private final ItemClient itemClient = new ItemClient();
|
||||
@@ -84,7 +83,7 @@ public class ItemManager
|
||||
private final LoadingCache<Integer, ItemComposition> itemCompositions;
|
||||
|
||||
@Inject
|
||||
public ItemManager(Provider<Client> client, ScheduledExecutorService executor)
|
||||
public ItemManager(Client client, ScheduledExecutorService executor)
|
||||
{
|
||||
this.client = client;
|
||||
this.scheduledExecutorService = executor;
|
||||
@@ -126,7 +125,7 @@ public class ItemManager
|
||||
@Override
|
||||
public ItemComposition load(Integer key) throws Exception
|
||||
{
|
||||
return client.get().getItemDefinition(key);
|
||||
return client.getItemDefinition(key);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -274,7 +273,7 @@ public class ItemManager
|
||||
*/
|
||||
private BufferedImage loadImage(int itemId, int quantity, boolean stackable)
|
||||
{
|
||||
SpritePixels sprite = client.get().createItemSprite(itemId, quantity, 1, SpritePixels.DEFAULT_SHADOW_COLOR,
|
||||
SpritePixels sprite = client.createItemSprite(itemId, quantity, 1, SpritePixels.DEFAULT_SHADOW_COLOR,
|
||||
stackable ? 1 : 0, false, CLIENT_DEFAULT_ZOOM);
|
||||
return sprite.toBufferedImage();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user