diff --git a/src/main/java/com/example/regilite/events/BlockEntityRendererEvents.java b/src/main/java/com/example/regilite/events/BlockEntityRendererEvents.java index 1ab38a3..aedee32 100644 --- a/src/main/java/com/example/regilite/events/BlockEntityRendererEvents.java +++ b/src/main/java/com/example/regilite/events/BlockEntityRendererEvents.java @@ -18,13 +18,17 @@ public BlockEntityRendererEvents(BlockEntityRegistry registry) { this.registry = registry; } + // TODO: These casts should be checked thoroughly. + @SuppressWarnings("unchecked") private void registerGenericBER(EntityRenderersEvent.RegisterRenderers event) { for (DeferredHolder, ? extends BlockEntityType> be : registry.getEntries()) { - if (be instanceof RegiliteBlockEntity) { - Supplier> renderer = ((RegiliteBlockEntity) be).getRenderer(); - if (renderer != null) - event.registerBlockEntityRenderer(((RegiliteBlockEntity) be).get(), renderer.get()); - + //noinspection rawtypes + if (be instanceof RegiliteBlockEntity regiliteBlockEntity) { + Supplier> renderer = regiliteBlockEntity.getRenderer(); + if (renderer != null) { + var blockEntityType = (BlockEntityType)be.get(); + event.registerBlockEntityRenderer(blockEntityType, renderer.get()); + } } } } diff --git a/src/main/java/com/example/regilite/registry/BlockEntityRegistry.java b/src/main/java/com/example/regilite/registry/BlockEntityRegistry.java index 3ba734b..6b6dff7 100644 --- a/src/main/java/com/example/regilite/registry/BlockEntityRegistry.java +++ b/src/main/java/com/example/regilite/registry/BlockEntityRegistry.java @@ -35,7 +35,7 @@ private RegiliteBlockEntity registerBlockEntity(Strin Objects.requireNonNull(func); final ResourceLocation key = new ResourceLocation(getNamespace(), name); - RegiliteBlockEntity ret = createBlockEntityHolder(getRegistryKey(), key); + RegiliteBlockEntity ret = RegiliteBlockEntity.createBlockEntity(ResourceKey.create(getRegistryKey(), key)); if (((DeferredRegisterAccessor>)this).getEntries().putIfAbsent(ret, () -> func.apply(key)) != null) { throw new IllegalArgumentException("Duplicate registration " + name); diff --git a/src/main/java/com/example/regilite/registry/EntityRegistry.java b/src/main/java/com/example/regilite/registry/EntityRegistry.java index 30d8b37..3c5621c 100644 --- a/src/main/java/com/example/regilite/registry/EntityRegistry.java +++ b/src/main/java/com/example/regilite/registry/EntityRegistry.java @@ -28,7 +28,7 @@ private RegiliteEntity registerEntity(String name, Functio Objects.requireNonNull(func); final ResourceLocation key = new ResourceLocation(getNamespace(), name); - RegiliteEntity ret = createEntityHolder(getRegistryKey(), key); + RegiliteEntity ret = RegiliteEntity.createEntity(ResourceKey.create(getRegistryKey(), key)); if (((DeferredRegisterAccessor>)this).getEntries().putIfAbsent(ret, () -> func.apply(key)) != null) { throw new IllegalArgumentException("Duplicate registration " + name); @@ -45,10 +45,6 @@ public RegiliteEntity registerEntity(String name, Supplier return this.registerEntity(name, key -> supplier.get()); } - protected RegiliteEntity createEntityHolder(ResourceKey>> registryKey, ResourceLocation key) { - return RegiliteEntity.createEntity(ResourceKey.create(registryKey, key)); - } - public static EntityRegistry create(String modid) { return new EntityRegistry(modid); }