/** * (Re-)Paints a block that exists in the world. It's the caller's responsibility to check that the paint source is valid and appropriate, and to trigger a * world re-render. */ default void setPaintSource(@Nonnull IBlockState state, @Nonnull IBlockAccess world, @Nonnull BlockPos pos, @Nullable IBlockState paintSource) { IPaintable.IPaintableTileEntity te = BlockEnder.getAnyTileEntity(world, pos, IPaintable.IPaintableTileEntity.class); if (te != null) { te.setPaintSource(paintSource); } }