mirror of
https://github.com/GeyserMC/Geyser.git
synced 2025-12-19 14:59:27 +00:00
Minor cleanup
This commit is contained in:
@@ -25,6 +25,7 @@
|
|||||||
|
|
||||||
package org.geysermc.geyser.api.entity.data;
|
package org.geysermc.geyser.api.entity.data;
|
||||||
|
|
||||||
|
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||||
import org.geysermc.geyser.api.GeyserApi;
|
import org.geysermc.geyser.api.GeyserApi;
|
||||||
import org.geysermc.geyser.api.entity.type.GeyserEntity;
|
import org.geysermc.geyser.api.entity.type.GeyserEntity;
|
||||||
|
|
||||||
@@ -46,7 +47,7 @@ public interface GeyserEntityDataType<T> {
|
|||||||
*
|
*
|
||||||
* @return the class of the value used by this entity data type
|
* @return the class of the value used by this entity data type
|
||||||
*/
|
*/
|
||||||
Class<T> typeClass();
|
@NonNull Class<T> typeClass();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the unique name of this data type.
|
* Gets the unique name of this data type.
|
||||||
@@ -56,12 +57,12 @@ public interface GeyserEntityDataType<T> {
|
|||||||
*
|
*
|
||||||
* @return the name of this entity data type
|
* @return the name of this entity data type
|
||||||
*/
|
*/
|
||||||
String name();
|
@NonNull String name();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* For API usage only; use the types defined in {@link GeyserEntityDataTypes}
|
* For API usage only; use the types defined in {@link GeyserEntityDataTypes}
|
||||||
*/
|
*/
|
||||||
static <T> GeyserEntityDataType<T> of(Class<T> typeClass, String name) {
|
static <T> GeyserEntityDataType<T> of(@NonNull Class<T> typeClass, @NonNull String name) {
|
||||||
return GeyserApi.api().provider(GeyserEntityDataType.class, typeClass, name);
|
return GeyserApi.api().provider(GeyserEntityDataType.class, typeClass, name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,24 +25,28 @@
|
|||||||
|
|
||||||
package org.geysermc.geyser.api.entity.data;
|
package org.geysermc.geyser.api.entity.data;
|
||||||
|
|
||||||
|
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||||
import org.geysermc.geyser.api.GeyserApi;
|
import org.geysermc.geyser.api.GeyserApi;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a list of objects for an entity data types
|
* Represents a list of objects for specific entity data types.
|
||||||
* For example, there can be multiple hitboxes on an entity
|
* For example, there can be multiple hitboxes on an entity.
|
||||||
*
|
*
|
||||||
* @param <T>
|
* @param <T> the object type in the list
|
||||||
*/
|
*/
|
||||||
public interface GeyserListEntityDataType<T> extends GeyserEntityDataType<List<T>> {
|
public interface GeyserListEntityDataType<T> extends GeyserEntityDataType<List<T>> {
|
||||||
|
|
||||||
Class<T> listTypeClass();
|
/**
|
||||||
|
* @return the class of the list entries
|
||||||
|
*/
|
||||||
|
@NonNull Class<T> listEntryClass();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* API usage only, use the types defined in {@link GeyserEntityDataTypes}
|
* API usage only, use the types defined in {@link GeyserEntityDataTypes}
|
||||||
*/
|
*/
|
||||||
static <T> GeyserListEntityDataType<T> of(Class<T> typeClass, String name) {
|
static <T> GeyserListEntityDataType<T> of(@NonNull Class<T> typeClass, @NonNull String name) {
|
||||||
return GeyserApi.api().provider(GeyserListEntityDataType.class, List.class, typeClass, name);
|
return GeyserApi.api().provider(GeyserListEntityDataType.class, List.class, typeClass, name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,6 +25,7 @@
|
|||||||
|
|
||||||
package org.geysermc.geyser.api.entity.data.types;
|
package org.geysermc.geyser.api.entity.data.types;
|
||||||
|
|
||||||
|
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||||
import org.cloudburstmc.math.vector.Vector3f;
|
import org.cloudburstmc.math.vector.Vector3f;
|
||||||
import org.geysermc.geyser.api.GeyserApi;
|
import org.geysermc.geyser.api.GeyserApi;
|
||||||
|
|
||||||
@@ -47,7 +48,7 @@ public interface Hitbox {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* The pivot of the hitbox
|
* The pivot of the hitbox
|
||||||
* @return
|
* @return the pivot
|
||||||
*/
|
*/
|
||||||
Vector3f pivot();
|
Vector3f pivot();
|
||||||
|
|
||||||
@@ -60,12 +61,33 @@ public interface Hitbox {
|
|||||||
*/
|
*/
|
||||||
interface Builder {
|
interface Builder {
|
||||||
|
|
||||||
Builder min(Vector3f min);
|
/**
|
||||||
|
* Sets the min corner of the hitbox
|
||||||
|
* @param min the vector of the corner
|
||||||
|
* @return this builder
|
||||||
|
*/
|
||||||
|
Builder min(@NonNull Vector3f min);
|
||||||
|
|
||||||
Builder max(Vector3f max);
|
/**
|
||||||
|
* Sets the max corner of the hitbox
|
||||||
|
* @param max the vector of the corner
|
||||||
|
* @return this builder
|
||||||
|
*/
|
||||||
|
Builder max(@NonNull Vector3f max);
|
||||||
|
|
||||||
Builder origin(Vector3f pivot);
|
/**
|
||||||
|
* Sets the pivot of the hitbox
|
||||||
|
* @param pivot the pivot vector
|
||||||
|
* @return this builder
|
||||||
|
*/
|
||||||
|
Builder pivot(@NonNull Vector3f pivot);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Builds this hitbox, defaulting to {@code Vector3f.ZERO} if
|
||||||
|
* any one vector was not provided.
|
||||||
|
*
|
||||||
|
* @return a new hitbox
|
||||||
|
*/
|
||||||
Hitbox build();
|
Hitbox build();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ package org.geysermc.geyser.impl.entity;
|
|||||||
|
|
||||||
import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap;
|
import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
|
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||||
import org.cloudburstmc.protocol.bedrock.data.entity.EntityDataType;
|
import org.cloudburstmc.protocol.bedrock.data.entity.EntityDataType;
|
||||||
import org.cloudburstmc.protocol.bedrock.data.entity.EntityDataTypes;
|
import org.cloudburstmc.protocol.bedrock.data.entity.EntityDataTypes;
|
||||||
import org.cloudburstmc.protocol.bedrock.data.entity.EntityFlag;
|
import org.cloudburstmc.protocol.bedrock.data.entity.EntityFlag;
|
||||||
@@ -97,12 +98,12 @@ public class GeyserEntityDataImpl<T> implements GeyserEntityDataType<T> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Class<T> typeClass() {
|
public @NonNull Class<T> typeClass() {
|
||||||
return typeClass;
|
return typeClass;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String name() {
|
public @NonNull String name() {
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
package org.geysermc.geyser.impl.entity;
|
package org.geysermc.geyser.impl.entity;
|
||||||
|
|
||||||
import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap;
|
import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap;
|
||||||
|
import org.checkerframework.checker.nullness.qual.NonNull;
|
||||||
import org.cloudburstmc.nbt.NbtMap;
|
import org.cloudburstmc.nbt.NbtMap;
|
||||||
import org.cloudburstmc.protocol.bedrock.data.entity.EntityDataTypes;
|
import org.cloudburstmc.protocol.bedrock.data.entity.EntityDataTypes;
|
||||||
import org.geysermc.geyser.api.entity.data.GeyserListEntityDataType;
|
import org.geysermc.geyser.api.entity.data.GeyserListEntityDataType;
|
||||||
@@ -57,7 +58,7 @@ public class GeyserListEntityDataImpl<ListType> extends GeyserEntityDataImpl<Lis
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Class<ListType> listTypeClass() {
|
public @NonNull Class<ListType> listEntryClass() {
|
||||||
return listTypeClass;
|
return listTypeClass;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -74,7 +75,7 @@ public class GeyserListEntityDataImpl<ListType> extends GeyserEntityDataImpl<Lis
|
|||||||
if (type == null) {
|
if (type == null) {
|
||||||
throw new IllegalArgumentException("Unknown entity data type: " + name);
|
throw new IllegalArgumentException("Unknown entity data type: " + name);
|
||||||
}
|
}
|
||||||
if (type.listTypeClass() == listTypeClass) {
|
if (type.listEntryClass() == listTypeClass) {
|
||||||
return TYPES.get(name);
|
return TYPES.get(name);
|
||||||
}
|
}
|
||||||
throw new IllegalArgumentException("Unknown entity data type: " + name);
|
throw new IllegalArgumentException("Unknown entity data type: " + name);
|
||||||
|
|||||||
@@ -102,7 +102,7 @@ public record HitboxImpl(
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Hitbox.Builder origin(Vector3f pivot) {
|
public Hitbox.Builder pivot(Vector3f pivot) {
|
||||||
Objects.requireNonNull(pivot, "pivot");
|
Objects.requireNonNull(pivot, "pivot");
|
||||||
this.pivot = pivot;
|
this.pivot = pivot;
|
||||||
return this;
|
return this;
|
||||||
|
|||||||
Reference in New Issue
Block a user