mirror of
https://github.com/PaperMC/Paper
synced 2026-08-20 18:26:12 -04:00
Use identity/enum maps for material maps
This commit is contained in:
parent
b1a33c6b1a
commit
6cd1c78e82
2 changed files with 8 additions and 5 deletions
|
|
@ -2,6 +2,7 @@ package org.bukkit.craftbukkit.block;
|
|||
|
||||
import com.google.common.base.Preconditions;
|
||||
import java.util.HashMap;
|
||||
import java.util.IdentityHashMap;
|
||||
import java.util.Map;
|
||||
import java.util.function.BiFunction;
|
||||
import javax.annotation.Nullable;
|
||||
|
|
@ -69,7 +70,7 @@ public final class CraftBlockStates {
|
|||
}
|
||||
}
|
||||
|
||||
private static final Map<Material, BlockStateFactory<?>> FACTORIES = new HashMap<>();
|
||||
private static final Map<Material, BlockStateFactory<?>> FACTORIES = new IdentityHashMap<>();
|
||||
private static final BlockStateFactory<?> DEFAULT_FACTORY = new BlockStateFactory<>(CraftBlockState.class) {
|
||||
@Override
|
||||
public CraftBlockState createBlockState(World world, BlockPos pos, net.minecraft.world.level.block.state.BlockState state, BlockEntity blockEntity) {
|
||||
|
|
|
|||
|
|
@ -26,8 +26,10 @@ import java.nio.charset.StandardCharsets;
|
|||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.util.ArrayList;
|
||||
import java.util.EnumMap;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.IdentityHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
|
|
@ -134,10 +136,10 @@ public final class CraftMagicNumbers implements UnsafeValues {
|
|||
}
|
||||
|
||||
// ========================================================================
|
||||
private static final Map<Block, Material> BLOCK_MATERIAL = new HashMap<>();
|
||||
private static final Map<Item, Material> ITEM_MATERIAL = new HashMap<>();
|
||||
private static final Map<Material, Item> MATERIAL_ITEM = new HashMap<>();
|
||||
private static final Map<Material, Block> MATERIAL_BLOCK = new HashMap<>();
|
||||
private static final Map<Block, Material> BLOCK_MATERIAL = new IdentityHashMap<>();
|
||||
private static final Map<Item, Material> ITEM_MATERIAL = new IdentityHashMap<>();
|
||||
private static final Map<Material, Item> MATERIAL_ITEM = new EnumMap<>(Material.class);
|
||||
private static final Map<Material, Block> MATERIAL_BLOCK = new EnumMap<>(Material.class);
|
||||
|
||||
static {
|
||||
for (Block block : BuiltInRegistries.BLOCK) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue