mirror of
https://github.com/SquidDev-CC/CC-Tweaked
synced 2024-12-12 03:00:30 +00:00
Preserve registration order of upgrades
Makes them display in a more reasonable order within JEI. Closes #647 (note, the title is an entirley separate issue)!
This commit is contained in:
parent
e1e7ef59c6
commit
b90611b4b4
@ -7,7 +7,9 @@ package dan200.computercraft.shared;
|
|||||||
|
|
||||||
import dan200.computercraft.ComputerCraft;
|
import dan200.computercraft.ComputerCraft;
|
||||||
import dan200.computercraft.api.pocket.IPocketUpgrade;
|
import dan200.computercraft.api.pocket.IPocketUpgrade;
|
||||||
|
import it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.util.Util;
|
||||||
import net.minecraftforge.fml.ModContainer;
|
import net.minecraftforge.fml.ModContainer;
|
||||||
import net.minecraftforge.fml.ModLoadingContext;
|
import net.minecraftforge.fml.ModLoadingContext;
|
||||||
|
|
||||||
@ -18,7 +20,7 @@ import java.util.*;
|
|||||||
public final class PocketUpgrades
|
public final class PocketUpgrades
|
||||||
{
|
{
|
||||||
private static final Map<String, IPocketUpgrade> upgrades = new HashMap<>();
|
private static final Map<String, IPocketUpgrade> upgrades = new HashMap<>();
|
||||||
private static final IdentityHashMap<IPocketUpgrade, String> upgradeOwners = new IdentityHashMap<>();
|
private static final Map<IPocketUpgrade, String> upgradeOwners = new Object2ObjectLinkedOpenCustomHashMap<>( Util.identityStrategy() );
|
||||||
|
|
||||||
private PocketUpgrades() {}
|
private PocketUpgrades() {}
|
||||||
|
|
||||||
|
@ -8,12 +8,17 @@ package dan200.computercraft.shared;
|
|||||||
import dan200.computercraft.ComputerCraft;
|
import dan200.computercraft.ComputerCraft;
|
||||||
import dan200.computercraft.api.turtle.ITurtleUpgrade;
|
import dan200.computercraft.api.turtle.ITurtleUpgrade;
|
||||||
import dan200.computercraft.shared.computer.core.ComputerFamily;
|
import dan200.computercraft.shared.computer.core.ComputerFamily;
|
||||||
|
import it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.util.Util;
|
||||||
import net.minecraftforge.fml.ModLoadingContext;
|
import net.minecraftforge.fml.ModLoadingContext;
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
import javax.annotation.Nonnull;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import java.util.*;
|
import java.util.Arrays;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
public final class TurtleUpgrades
|
public final class TurtleUpgrades
|
||||||
@ -37,7 +42,7 @@ public final class TurtleUpgrades
|
|||||||
private static ITurtleUpgrade[] vanilla;
|
private static ITurtleUpgrade[] vanilla;
|
||||||
|
|
||||||
private static final Map<String, ITurtleUpgrade> upgrades = new HashMap<>();
|
private static final Map<String, ITurtleUpgrade> upgrades = new HashMap<>();
|
||||||
private static final IdentityHashMap<ITurtleUpgrade, Wrapper> wrappers = new IdentityHashMap<>();
|
private static final Map<ITurtleUpgrade, Wrapper> wrappers = new Object2ObjectLinkedOpenCustomHashMap<>( Util.identityStrategy() );
|
||||||
private static boolean needsRebuild;
|
private static boolean needsRebuild;
|
||||||
|
|
||||||
private TurtleUpgrades() {}
|
private TurtleUpgrades() {}
|
||||||
|
Loading…
Reference in New Issue
Block a user