mirror of
https://github.com/FabricMC/fabric.git
synced 2025-04-21 03:10:54 -04:00
Fix EntityType.Builder for 1.20.5
This commit is contained in:
parent
44e6689f3c
commit
6793dde117
4 changed files with 12 additions and 6 deletions
fabric-object-builder-api-v1/src
main/java/net/fabricmc/fabric
api/object/builder/v1/entity
impl/object/builder
test/java/net/fabricmc/fabric/test/object/builder
|
@ -23,6 +23,7 @@ import net.minecraft.entity.Entity;
|
|||
import net.minecraft.entity.EntityType;
|
||||
import net.minecraft.entity.LivingEntity;
|
||||
import net.minecraft.entity.SpawnGroup;
|
||||
import net.minecraft.entity.SpawnLocation;
|
||||
import net.minecraft.entity.SpawnRestriction;
|
||||
import net.minecraft.entity.attribute.DefaultAttributeContainer;
|
||||
import net.minecraft.entity.mob.MobEntity;
|
||||
|
@ -111,7 +112,7 @@ public interface FabricEntityType {
|
|||
*
|
||||
* @return this builder for chaining.
|
||||
*/
|
||||
Mob<T> spawnRestriction(SpawnRestriction.Location location, Heightmap.Type heightmap, SpawnRestriction.SpawnPredicate<T> spawnPredicate);
|
||||
Mob<T> spawnRestriction(SpawnLocation location, Heightmap.Type heightmap, SpawnRestriction.SpawnPredicate<T> spawnPredicate);
|
||||
|
||||
/**
|
||||
* Sets the default attributes for a type of mob entity.
|
||||
|
|
|
@ -314,7 +314,7 @@ public class FabricEntityTypeBuilder<T extends Entity> {
|
|||
.allowSpawningInside(specificSpawnBlocks.toArray(Block[]::new))
|
||||
.maxTrackingRange(this.trackRange)
|
||||
.trackingTickInterval(this.trackedUpdateRate)
|
||||
.setDimensions(this.dimensions.width, this.dimensions.height);
|
||||
.dimensions(this.dimensions.width(), this.dimensions.height());
|
||||
|
||||
if (!this.saveable) {
|
||||
builder = builder.disableSaving();
|
||||
|
|
|
@ -25,6 +25,7 @@ import org.jetbrains.annotations.Nullable;
|
|||
import net.minecraft.entity.EntityType;
|
||||
import net.minecraft.entity.LivingEntity;
|
||||
import net.minecraft.entity.SpawnGroup;
|
||||
import net.minecraft.entity.SpawnLocation;
|
||||
import net.minecraft.entity.SpawnRestriction;
|
||||
import net.minecraft.entity.attribute.DefaultAttributeContainer;
|
||||
import net.minecraft.entity.mob.MobEntity;
|
||||
|
@ -76,12 +77,12 @@ public interface FabricEntityTypeImpl {
|
|||
}
|
||||
|
||||
final class Mob<T extends MobEntity> extends Living<T> implements FabricEntityType.Builder.Mob<T> {
|
||||
private SpawnRestriction.Location restrictionLocation;
|
||||
private SpawnLocation restrictionLocation;
|
||||
private Heightmap.Type restrictionHeightmap;
|
||||
private SpawnRestriction.SpawnPredicate<T> spawnPredicate;
|
||||
|
||||
@Override
|
||||
public FabricEntityType.Builder.Mob<T> spawnRestriction(SpawnRestriction.Location location, Heightmap.Type heightmap, SpawnRestriction.SpawnPredicate<T> spawnPredicate) {
|
||||
public FabricEntityType.Builder.Mob<T> spawnRestriction(SpawnLocation location, Heightmap.Type heightmap, SpawnRestriction.SpawnPredicate<T> spawnPredicate) {
|
||||
this.restrictionLocation = Objects.requireNonNull(location, "Location cannot be null.");
|
||||
this.restrictionHeightmap = Objects.requireNonNull(heightmap, "Heightmap type cannot be null.");
|
||||
this.spawnPredicate = Objects.requireNonNull(spawnPredicate, "Spawn predicate cannot be null.");
|
||||
|
|
|
@ -20,6 +20,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
|
|||
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
import net.minecraft.entity.SpawnLocation;
|
||||
|
||||
import net.minecraft.entity.SpawnLocationTypes;
|
||||
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
|
@ -69,12 +73,12 @@ public class FabricEntityTypeTest {
|
|||
@Test
|
||||
void buildMobEntityType() {
|
||||
EntityType<MobEntity> type = FabricEntityType.Builder.createMob((t, w) -> null, SpawnGroup.MISC, mob -> mob
|
||||
.spawnRestriction(SpawnRestriction.Location.ON_GROUND, Heightmap.Type.MOTION_BLOCKING_NO_LEAVES, PigEntity::canMobSpawn)
|
||||
.spawnRestriction(SpawnLocationTypes.ON_GROUND, Heightmap.Type.MOTION_BLOCKING_NO_LEAVES, PigEntity::canMobSpawn)
|
||||
.defaultAttributes(FabricEntityTypeTest::createAttributes)
|
||||
).build();
|
||||
|
||||
assertNotNull(type);
|
||||
assertEquals(SpawnRestriction.Location.ON_GROUND, SpawnRestriction.getLocation(type));
|
||||
assertEquals(SpawnLocationTypes.ON_GROUND, SpawnRestriction.getLocation(type));
|
||||
assertNotNull(DefaultAttributeRegistry.get(type));
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue