Fix RegistrySupplier#listen and ArchitecturySpawnEggItem (#228)

This commit is contained in:
shedaniel
2022-03-26 19:56:31 +08:00
parent 4d8ddec994
commit ae64907f68
10 changed files with 39 additions and 20 deletions

View File

@@ -19,9 +19,11 @@
package dev.architectury.core.item;
import dev.architectury.registry.registries.Registries;
import dev.architectury.registry.registries.RegistrySupplier;
import net.minecraft.core.BlockSource;
import net.minecraft.core.Direction;
import net.minecraft.core.Registry;
import net.minecraft.core.dispenser.DefaultDispenseItemBehavior;
import net.minecraft.core.dispenser.DispenseItemBehavior;
import net.minecraft.nbt.CompoundTag;
@@ -74,8 +76,14 @@ public class ArchitecturySpawnEggItem extends SpawnEggItem {
this.entityType = Objects.requireNonNull(entityType, "entityType");
SpawnEggItem.BY_ID.remove(null);
entityType.listen(type -> {
LOGGER.debug("Registering spawn egg {} for {}", Objects.toString(Registries.getId(this, Registry.ITEM_REGISTRY)),
Objects.toString(Registries.getId(type, Registry.ENTITY_TYPE_REGISTRY)));
SpawnEggItem.BY_ID.put(type, this);
this.defaultType = type;
if (dispenseItemBehavior != null) {
DispenserBlock.registerBehavior(this, dispenseItemBehavior);
}
});
}

View File

@@ -34,7 +34,7 @@ public final class EntityRendererRegistry {
}
@ExpectPlatform
public static <T extends Entity> void register(Supplier<EntityType<? extends T>> type, EntityRendererProvider<T> provider) {
public static <T extends Entity> void register(Supplier<? extends EntityType<? extends T>> type, EntityRendererProvider<T> provider) {
throw new AssertionError();
}
}