MapMod.java 文件源码

java
阅读 24 收藏 0 点赞 0 评论 0

项目:ForgeHax 作者:
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();
        }
    });
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号