а зачем ты это вставляешь ?Minecraft.getMinecraft
Мне в ClientEvent нужно получать класс Minecraft, если я буду тупо так его получать public Minecraft mc = Minecraft.getMinecraft(); - то он в собранном моде один хер крашает за public Minecraft mc = Minecraft.getMinecraft();а зачем ты это вставляешь ?
А где тебе нужен mc , то Minecraft.getMinecraft();public Minecraft mc = Minecraft.getMinecraft();
А где тебе нужен mc , то Minecraft.getMinecraft();
Так и обращайся
При таком обращении он крашает собранный модНу так скинь ошибку с которой крашит
Caused by: java.lang.NoSuchMethodError: net.minecraft.client.Minecraft.getMinecraft()Lnet/minecraft/client/Minecraft;
at mod.preInit(ClientProxy.java:13)
at mod.ModBase.preInit(ModBase.java:20)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:532)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
at com.google.common.eventbus.EventBus.post(EventBus.java:275)
at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:212)
at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
at com.google.common.eventbus.EventBus.post(EventBus.java:275)
at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119)
at cpw.mods.fml.common.Loader.preinitializeMods(Loader.java:556)
Если делаю так, то он крашает при загрузке мира, ругает за первую же строчку в ClientEvent, в первом же методе. Ругает за int width = event.resolution.getScaledWidth();то Minecraft.getMinecraft();
А это тут при чём ?Если делаю так, то он крашает при загрузке мира
Ругает за int width = event.resolution.getScaledWidth();
Какую чушь? Я сделал как ты написал - он крашает.Что за чушь ты несёшь?
По чём я могу знать? Я выше написал что происходит и при каких изменениях.А это тут при чём ?
Вот весь класс, пожалуйстаЯ не знаю как ты делаешь
@SideOnly(Side.CLIENT)
public class ClientEventHud {
private static final ResourceLocation texture = new ResourceLocation("mod", "textures/hud.png");
private RenderItem itemRenderer = new RenderItem();
public Minecraft mc = Minecraft.getMinecraft();
@SubscribeEvent
public void renderHud(RenderGameOverlayEvent event) {
int width = this.mc.displayWidth;
int height = this.mc.displayHeight;
width = event.resolution.getScaledWidth();
height = event.resolution.getScaledHeight();
EntityClientPlayerMP player = this.mc.thePlayer;
if(player != null && (event.type == ElementType.HEALTH || event.type == ElementType.FOOD || event.type == ElementType.ARMOR || event.type == ElementType.HOTBAR || event.type == ElementType.EXPERIENCE)) {
event.setCanceled(true);
GL11.glEnable(3042);
GL11.glBlendFunc(770, 771);
mc.getTextureManager().bindTexture(texture);
mc.ingameGUI.drawTexturedModalRect(width - 120, height - 70, 140, 190, 120, 66);
mc.ingameGUI.drawTexturedModalRect(width - 86, height - 62, 179, 165, (int)(player.getHealth() * 3.45F), 10);
mc.ingameGUI.drawTexturedModalRect(width - 86, height - 49, 179, 178, (int)(player.getTotalArmorValue() * 3.45F), 5);
byte foodlevel = 0;
if(player.getFoodStats().getFoodLevel() < 18 && player.getFoodStats().getFoodLevel() >= 14 && player.getFoodStats().getFoodLevel() != 0) {
foodlevel = -1;
} else if(player.getFoodStats().getFoodLevel() < 14 && player.getFoodStats().getFoodLevel() >= 6 && player.getFoodStats().getFoodLevel() != 0) {
foodlevel = 20;
} else if(player.getFoodStats().getFoodLevel() < 6 && player.getFoodStats().getFoodLevel() >= 2 && player.getFoodStats().getFoodLevel() != 0) {
foodlevel = 40;
} else if(player.getFoodStats().getFoodLevel() < 2) {
foodlevel = 61;
}
if(player.getFoodStats().getFoodLevel() >= 0 && player.getFoodStats().getFoodLevel() <= 18) {
mc.getTextureManager().bindTexture(texture);
GuiHelper.drawTexturedModalRect(width - 28, height - 101, 0, foodlevel, 20, 20, 1.05F);
}
if(player.inventory.getCurrentItem() != null) {
this.mc.ingameGUI.drawString(this.mc.fontRenderer, " " + player.inventory.getCurrentItem().stackSize, width - 23, height - 17, 16777215);
this.renderItem(player.inventory.getCurrentItem(), width - 35, height - 30);
}
}
}
public void renderItem(ItemStack item, int x, int y) {
GL11.glPushMatrix();
GL11.glEnable(3042);
GL11.glBlendFunc(770, 771);
this.itemRenderer.renderItemIntoGUI(this.mc.fontRenderer, this.mc.renderEngine, item, x, y);
RenderHelper.disableStandardItemLighting();
GL11.glPopMatrix();
}
}
@SideOnly(Side.CLIENT)
public class ClientEventHud {
private static final ResourceLocation texture = new ResourceLocation("mod", "textures/hud.png");
private RenderItem itemRenderer = new RenderItem();
@SubscribeEvent
public void drawText(RenderGameOverlayEvent event) {
int width = Minecraft.getMinecraft().displayWidth;
int height = Minecraft.getMinecraft().displayHeight;
width = event.resolution.getScaledWidth();
height = event.resolution.getScaledHeight();
EntityClientPlayerMP player = Minecraft.getMinecraft().thePlayer;
if(player != null && (event.type == ElementType.HEALTH || event.type == ElementType.FOOD || event.type == ElementType.ARMOR || event.type == ElementType.HOTBAR || event.type == ElementType.EXPERIENCE)) {
event.setCanceled(true);
GL11.glEnable(3042);
GL11.glBlendFunc(770, 771);
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
Minecraft.getMinecraft().ingameGUI.drawTexturedModalRect(width - 120, height - 70, 140, 190, 120, 66);
Minecraft.getMinecraft().ingameGUI.drawTexturedModalRect(width - 86, height - 62, 179, 165, (int)(player.getHealth() * 3.45F), 10);
Minecraft.getMinecraft().ingameGUI.drawTexturedModalRect(width - 86, height - 49, 179, 178, (int)(player.getTotalArmorValue() * 3.45F), 5);
byte foodlevel = 0;
if(player.getFoodStats().getFoodLevel() < 18 && player.getFoodStats().getFoodLevel() >= 14 && player.getFoodStats().getFoodLevel() != 0) {
foodlevel = -1;
} else if(player.getFoodStats().getFoodLevel() < 14 && player.getFoodStats().getFoodLevel() >= 6 && player.getFoodStats().getFoodLevel() != 0) {
foodlevel = 20;
} else if(player.getFoodStats().getFoodLevel() < 6 && player.getFoodStats().getFoodLevel() >= 2 && player.getFoodStats().getFoodLevel() != 0) {
foodlevel = 40;
} else if(player.getFoodStats().getFoodLevel() < 2) {
foodlevel = 61;
}
if(player.getFoodStats().getFoodLevel() >= 0 && player.getFoodStats().getFoodLevel() <= 18) {
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
GuiHelper.drawTexturedModalRect(width - 28, height - 101, 0, foodlevel, 20, 20, 1.05F);
}
if(player.inventory.getCurrentItem() != null) {
Minecraft.getMinecraft().ingameGUI.drawString(Minecraft.getMinecraft().fontRenderer, " " + player.inventory.getCurrentItem().stackSize, width - 23, height - 17, 16777215);
this.renderItem(player.inventory.getCurrentItem(), width - 35, height - 30);
}
}
}
public void renderItem(ItemStack item, int x, int y) {
GL11.glPushMatrix();
GL11.glEnable(3042);
GL11.glBlendFunc(770, 771);
this.itemRenderer.renderItemIntoGUI(Minecraft.getMinecraft().fontRenderer, Minecraft.getMinecraft().renderEngine, item, x, y);
RenderHelper.disableStandardItemLighting();
GL11.glPopMatrix();
}
}
Ты видимо правна сервере регаешь тоже.
at mod.preInit(ClientProxy.java:13) at mod.ModBase.preInit(ModBase.java:20)
Регаю в КлиентПрокси, ну видать и вправдунебось на сервере регаешь
Дурашка