Posted June 22, 201411 yr As the question states, I want to change the texture of my item (only the one under the mouse) to another one when the mouse is hovering over it. Does anyone have any ideas and or suggestions on how to go about this? Thanks. We all stuff up sometimes... But I seem to be at the bottom of that pot.
June 23, 201411 yr Author Thanks diesieben07 for the idea. However, I am having an annoying time trying to implement it! I have this: GuiScreen currentScreen = ModuleDendri.proxy.getCurrentScreen(); if (currentScreen != null) { if (currentScreen instanceof GuiContainer) { Container container = ( (GuiContainer) currentScreen ).inventorySlots; for (int j = 0; j < container.inventorySlots.size(); ++j) { Slot slot = (Slot) container.inventorySlots.get(j); if (slot.getStack() != null) { if (slot.getStack().getItem() == ItemDendri.mist_bottle) { int x = slot.xDisplayPosition - 1; int y = slot.yDisplayPosition - 1; int mouseX = Mouse.getX(); int mouseY = this.flippedMouseY(); if (mouseX >= ( x ) && mouseX <= ( x + 17 )) { if (mouseY >= ( y ) && mouseY <= ( y + 17 )) { return this.spriteIcons[getSpriteIndex(this.containedDendri)]; } } } } } } } And the slot coordinates are so wrong it's not funny. Here is an example of the coordinates: Slot X: 62 Slot Y: 111 Mouse X: 374 Mouse Y: 348 So what I need now is a way to move my slot coordinates to the right spot, or to have the mouse coordinates translated to the right spot. And I don't want to just go about and say Mouse.getX() - 200; or something like that. Unless of course that works when you resize the screen... (Which I highly doubt). We all stuff up sometimes... But I seem to be at the bottom of that pot.
June 23, 201411 yr Author What would you suggest is doing it? This is what they use: this.mc.mcProfiler.startSection("mouse"); if (this.mc.inGameHasFocus && flag) { this.mc.mouseHelper.mouseXYChange(); float f1 = this.mc.gameSettings.mouseSensitivity * 0.6F + 0.2F; float f2 = f1 * f1 * f1 * 8.0F; float f3 = (float)this.mc.mouseHelper.deltaX * f2; float f4 = (float)this.mc.mouseHelper.deltaY * f2; byte b0 = 1; if (this.mc.gameSettings.invertMouse) { b0 = -1; } if (this.mc.gameSettings.smoothCamera) { this.smoothCamYaw += f3; this.smoothCamPitch += f4; float f5 = par1 - this.smoothCamPartialTicks; this.smoothCamPartialTicks = par1; f3 = this.smoothCamFilterX * f5; f4 = this.smoothCamFilterY * f5; this.mc.thePlayer.setAngles(f3, f4 * (float)b0); } else { this.mc.thePlayer.setAngles(f3, f4 * (float)b0); } } this.mc.mcProfiler.endSection(); We all stuff up sometimes... But I seem to be at the bottom of that pot.
June 24, 201411 yr Author Thanks so much diesieben07! For anyone who is wanting to know how to do it, here is what I used: @Override public IIcon getIconIndex(ItemStack par1ItemStack) { if (this.containsDendri) { GuiScreen currentScreen = ModuleDendri.proxy.getCurrentScreen(); if (currentScreen != null) { if (currentScreen instanceof GuiContainer) { Container container = ( (GuiContainer) currentScreen ).inventorySlots; for (int j = 0; j < container.inventorySlots.size(); ++j) { Slot slot = (Slot) container.inventorySlots.get(j); if (slot.getStack() != null) { if (slot.getStack() == par1ItemStack) { Minecraft mc = Minecraft.getMinecraft(); ScaledResolution sr = new ScaledResolution(mc.gameSettings, mc.displayWidth, mc.displayHeight); final int x = slot.xDisplayPosition - 1; final int y = slot.yDisplayPosition - 1; final int width = sr.getScaledWidth(); final int height = sr.getScaledHeight(); final int guiLeft = (width - 176) / 2; final int guiTop = (height - 166) / 2; final int mouseX = (Mouse.getX() * width / mc.displayWidth) - guiLeft + 9; final int mouseY = (height - Mouse.getY() * height / mc.displayHeight - 1) - guiTop - 15; if (mouseX >= ( x ) && mouseX <= ( x + 17 )) { if (mouseY >= ( y ) && mouseY <= ( y + 17 )) { return this.symbolIcons[getSymbolIndexForContainedDendri()]; } } } } } } } return this.icons[1]; } return this.icons[0]; } We all stuff up sometimes... But I seem to be at the bottom of that pot.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.