在物品展示框中的多个地图上显示图像

Display Images on Multiple Maps in Item Frames

我正在尝试使用 Spigot/Bukkit java 插件创建类似幻灯片的创建。我一直在努力在网上找到这个问题的答案。我想要的是项目框架上的 5x5 地图网格,我可以在上面放置图像。我想根据命令在不同图像之间切换。我该怎么做?

我曾尝试实现一个带有地图的视频播放器。让我们从小一点开始,在一张地图上显示一张图像。为此,您需要实现自己的 MapRenderer. Just create a class which inherit from the MapRenderer class an override the render​ method. You need to resize and load the Image before drawing with drawImage()。每次 tick 都会调用 render 方法,这就是为什么你不应该在 render 方法中这样做,它会花费太多时间并且会阻塞你的主线程。

要应用渲染器,只需使用 createMap() 方法创建一个地图视图,使用 mapview.getRenderers().clear(); 清除渲染器列表并添加您自己的渲染器 mapview.getRenderers().add(ownRenderer);.

作为最后一步,您需要将 MapView 应用到 MapItem。只需创建地图 material 的 ItemStack 并将元数据转换为 MapMeta to apply the MapView with setMapView().

要将图像跨越多个地图,只需创建多个渲染器和地图视图实例,它们都显示图像的另一部分(您可以使用以下方法拆分图像:getSubimage())。同样,异步拆分图像,绝对不在渲染方法中。

希望这对您有所帮助,这不是一个完整的教程,但您应该能够使用这些提示创建一个小原型。