More records

Signed-off-by: TheMode <themode@outlook.fr>
This commit is contained in:
TheMode 2021-11-07 14:33:07 +01:00
parent bc921cfde9
commit a29cac471b
6 changed files with 9 additions and 107 deletions

View File

@ -22,11 +22,7 @@ import net.minestom.server.entity.metadata.monster.raider.*;
import net.minestom.server.entity.metadata.monster.skeleton.SkeletonMeta;
import net.minestom.server.entity.metadata.monster.skeleton.StrayMeta;
import net.minestom.server.entity.metadata.monster.skeleton.WitherSkeletonMeta;
import net.minestom.server.entity.metadata.monster.zombie.DrownedMeta;
import net.minestom.server.entity.metadata.monster.zombie.HuskMeta;
import net.minestom.server.entity.metadata.monster.zombie.ZombieMeta;
import net.minestom.server.entity.metadata.monster.zombie.ZombieVillagerMeta;
import net.minestom.server.entity.metadata.monster.zombie.ZombifiedPiglinMeta;
import net.minestom.server.entity.metadata.monster.zombie.*;
import net.minestom.server.entity.metadata.other.*;
import net.minestom.server.entity.metadata.villager.VillagerMeta;
import net.minestom.server.entity.metadata.villager.WanderingTraderMeta;
@ -46,7 +42,7 @@ import java.util.HashMap;
import java.util.Map;
import java.util.function.BiFunction;
final class EntityTypeImpl implements EntityType {
record EntityTypeImpl(Registry.EntityEntry registry) implements EntityType {
private static final Registry.Container<EntityType> CONTAINER = new Registry.Container<>(Registry.Resource.ENTITIES,
(container, namespace, object) -> container.register(new EntityTypeImpl(Registry.entity(namespace, object, null))));
private static final Map<String, BiFunction<Entity, Metadata, EntityMeta>> ENTITY_META_SUPPLIER = createMetaMap();
@ -246,17 +242,6 @@ final class EntityTypeImpl implements EntityType {
return result;
}
private final Registry.EntityEntry registry;
EntityTypeImpl(Registry.EntityEntry registry) {
this.registry = registry;
}
@Override
public @NotNull Registry.EntityEntry registry() {
return registry;
}
@Override
public String toString() {
return name();

View File

@ -5,7 +5,7 @@ import org.jetbrains.annotations.NotNull;
import java.util.Collection;
final class PotionEffectImpl implements PotionEffect {
record PotionEffectImpl(Registry.PotionEffectEntry registry) implements PotionEffect {
private static final Registry.Container<PotionEffect> CONTAINER = new Registry.Container<>(Registry.Resource.POTION_EFFECTS,
(container, namespace, object) -> container.register(new PotionEffectImpl(Registry.potionEffect(namespace, object, null))));
@ -25,17 +25,6 @@ final class PotionEffectImpl implements PotionEffect {
return CONTAINER.values();
}
private final Registry.PotionEffectEntry registry;
PotionEffectImpl(Registry.PotionEffectEntry registry) {
this.registry = registry;
}
@Override
public @NotNull Registry.PotionEffectEntry registry() {
return registry;
}
@Override
public String toString() {
return name();

View File

@ -6,7 +6,7 @@ import org.jetbrains.annotations.NotNull;
import java.util.Collection;
final class PotionTypeImpl implements PotionType {
record PotionTypeImpl(NamespaceID namespace, int id) implements PotionType {
private static final Registry.Container<PotionType> CONTAINER = new Registry.Container<>(Registry.Resource.POTION_TYPES,
(loader, namespace, object) -> {
final int id = ((Number) object.get("id")).intValue();
@ -29,24 +29,6 @@ final class PotionTypeImpl implements PotionType {
return CONTAINER.values();
}
private final NamespaceID namespaceID;
private final int id;
PotionTypeImpl(NamespaceID namespaceID, int id) {
this.namespaceID = namespaceID;
this.id = id;
}
@Override
public @NotNull NamespaceID namespace() {
return namespaceID;
}
@Override
public int id() {
return id;
}
@Override
public String toString() {
return name();

View File

@ -6,7 +6,7 @@ import org.jetbrains.annotations.NotNull;
import java.util.Collection;
final class SoundEventImpl implements SoundEvent {
record SoundEventImpl(NamespaceID namespace, int id) implements SoundEvent {
private static final Registry.Container<SoundEvent> CONTAINER = new Registry.Container<>(Registry.Resource.SOUNDS,
(container, namespace, object) -> {
final int id = ((Number) object.get("id")).intValue();
@ -29,24 +29,6 @@ final class SoundEventImpl implements SoundEvent {
return CONTAINER.values();
}
private final NamespaceID namespaceID;
private final int id;
SoundEventImpl(NamespaceID namespaceID, int id) {
this.namespaceID = namespaceID;
this.id = id;
}
@Override
public @NotNull NamespaceID namespace() {
return namespaceID;
}
@Override
public int id() {
return id;
}
@Override
public String toString() {
return name();

View File

@ -6,7 +6,7 @@ import org.jetbrains.annotations.NotNull;
import java.util.Collection;
final class StatisticTypeImpl implements StatisticType {
record StatisticTypeImpl(NamespaceID namespace, int id) implements StatisticType {
private static final Registry.Container<StatisticType> CONTAINER = new Registry.Container<>(Registry.Resource.STATISTICS,
(container, namespace, object) -> {
final int id = ((Number) object.get("id")).intValue();
@ -29,24 +29,6 @@ final class StatisticTypeImpl implements StatisticType {
return CONTAINER.values();
}
private final NamespaceID namespaceID;
private final int id;
StatisticTypeImpl(NamespaceID namespaceID, int id) {
this.namespaceID = namespaceID;
this.id = id;
}
@Override
public @NotNull NamespaceID namespace() {
return namespaceID;
}
@Override
public int id() {
return id;
}
@Override
public String toString() {
return name();

View File

@ -52,39 +52,21 @@ public final class PooledBuffers {
CLEANER.register(ref, new BuffersCleaner(buffers));
}
private static final class BufferRefCleaner implements Runnable {
private final AtomicReference<BinaryBuffer> bufferRef;
public BufferRefCleaner(AtomicReference<BinaryBuffer> bufferRef) {
this.bufferRef = bufferRef;
}
private record BufferRefCleaner(AtomicReference<BinaryBuffer> bufferRef) implements Runnable {
@Override
public void run() {
add(bufferRef.get());
}
}
private static final class BufferCleaner implements Runnable {
private final BinaryBuffer buffer;
public BufferCleaner(BinaryBuffer buffer) {
this.buffer = buffer;
}
private record BufferCleaner(BinaryBuffer buffer) implements Runnable {
@Override
public void run() {
add(buffer);
}
}
private static final class BuffersCleaner implements Runnable {
private final Collection<BinaryBuffer> buffers;
public BuffersCleaner(Collection<BinaryBuffer> buffers) {
this.buffers = buffers;
}
private record BuffersCleaner(Collection<BinaryBuffer> buffers) implements Runnable {
@Override
public void run() {
if (buffers.isEmpty()) return;