private void updateHeldMapTexture(String url) {
if (MC.player == null || !(MC.player.getHeldItemMainhand().getItem() instanceof ItemMap)) return;
MC.addScheduledTask(() -> { // allows DynamicTexture to work
ItemMap map = (ItemMap) MC.player.getHeldItemMainhand().getItem();
MapData heldMapData = map.getMapData(MC.player.getHeldItemMainhand(), MC.world);
try {
BufferedImage image = getImageFromUrl(url);
DynamicTexture dynamicTexture = new DynamicTexture(image);
dynamicTexture.loadTexture(MC.getResourceManager());
Map<ResourceLocation, ITextureObject> mapTextureObjects = FastReflection.Fields.TextureManager_mapTextureObjects.get(MC.getTextureManager());
ResourceLocation textureLocation =
mapTextureObjects.keySet()
.stream()
.filter(k -> k.getResourcePath().contains(heldMapData.mapName))
.findFirst()
.orElse(null);
mapTextureObjects.put(textureLocation, dynamicTexture); // overwrite old texture with our custom one
} catch (Exception e) {
e.printStackTrace();
}
});
}
MapMod.java 文件源码
java
阅读 24
收藏 0
点赞 0
评论 0
项目:ForgeHax
作者:
评论列表
文章目录