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.Guice;
|
||||||
import com.google.inject.Inject;
|
import com.google.inject.Inject;
|
||||||
import com.google.inject.Injector;
|
import com.google.inject.Injector;
|
||||||
|
import com.google.inject.Provider;
|
||||||
import java.applet.Applet;
|
import java.applet.Applet;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
@@ -104,7 +105,7 @@ public class RuneLite
|
|||||||
private TitleToolbar titleToolbar;
|
private TitleToolbar titleToolbar;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private ItemManager itemManager;
|
private Provider<ItemManager> itemManager;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private ClanManager clanManager;
|
private ClanManager clanManager;
|
||||||
@@ -169,8 +170,11 @@ public class RuneLite
|
|||||||
eventBus.register(chatMessageManager);
|
eventBus.register(chatMessageManager);
|
||||||
eventBus.register(commandManager);
|
eventBus.register(commandManager);
|
||||||
eventBus.register(pluginManager);
|
eventBus.register(pluginManager);
|
||||||
eventBus.register(itemManager);
|
|
||||||
eventBus.register(clanManager);
|
eventBus.register(clanManager);
|
||||||
|
if (client != null)
|
||||||
|
{
|
||||||
|
eventBus.register(itemManager.get());
|
||||||
|
}
|
||||||
|
|
||||||
// Load user configuration
|
// Load user configuration
|
||||||
configManager.load();
|
configManager.load();
|
||||||
|
|||||||
@@ -38,7 +38,6 @@ import java.util.concurrent.ExecutionException;
|
|||||||
import java.util.concurrent.ScheduledExecutorService;
|
import java.util.concurrent.ScheduledExecutorService;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import javax.inject.Provider;
|
|
||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
import lombok.Value;
|
import lombok.Value;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -74,7 +73,7 @@ public class ItemManager
|
|||||||
*/
|
*/
|
||||||
static final ItemPrice NONE = new ItemPrice();
|
static final ItemPrice NONE = new ItemPrice();
|
||||||
|
|
||||||
private final Provider<Client> client;
|
private final Client client;
|
||||||
private final ScheduledExecutorService scheduledExecutorService;
|
private final ScheduledExecutorService scheduledExecutorService;
|
||||||
|
|
||||||
private final ItemClient itemClient = new ItemClient();
|
private final ItemClient itemClient = new ItemClient();
|
||||||
@@ -84,7 +83,7 @@ public class ItemManager
|
|||||||
private final LoadingCache<Integer, ItemComposition> itemCompositions;
|
private final LoadingCache<Integer, ItemComposition> itemCompositions;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public ItemManager(Provider<Client> client, ScheduledExecutorService executor)
|
public ItemManager(Client client, ScheduledExecutorService executor)
|
||||||
{
|
{
|
||||||
this.client = client;
|
this.client = client;
|
||||||
this.scheduledExecutorService = executor;
|
this.scheduledExecutorService = executor;
|
||||||
@@ -126,7 +125,7 @@ public class ItemManager
|
|||||||
@Override
|
@Override
|
||||||
public ItemComposition load(Integer key) throws Exception
|
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)
|
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);
|
stackable ? 1 : 0, false, CLIENT_DEFAULT_ZOOM);
|
||||||
return sprite.toBufferedImage();
|
return sprite.toBufferedImage();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user