我目前正在开发一个插件,只能将图像渲染到这样的地图:
public class MapRendererTest extends MapRenderer {
private Image image;
public MapRendererTest(File file) {
try {
this.image = ImageIO.read(file);
}
catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void render(MapView mapView, MapCanvas mapCanvas, Player player) {
mapCanvas.drawImage(0, 0, image);
}
}
一切正常,但是我想删除红圈中的这个小东西,但我不知道如何。
我已尝试过的事情
MapCursorCollection
MapView.setWorld
进入一个没有人在玩的世界。MapCursorCollection
如果有人可以帮助我,那就太棒了。
提前致谢
答案 0 :(得分:2)
要摆脱光标,您必须删除所有其他地图渲染器或至少删除CraftMapRanderer
。
为此,您必须执行以下操作:
@EventHandler
public void onMapInitialized(MapInitializeEvent e) {
e.getMap().removeRenderer(e.getMap().getRenderers().get(0));
e.getMap().addRenderer(new MapRendererTest(new File(Main.getInstance().getDataFolder() + "/image.png")));
}
当然,如果没有为此地图指定其他自定义地图渲染器,这只会有效,因此唯一注册的是CraftMapRenderer
。
如果您有多个MapRenderers
,则可以遍历列表并将其删除。