Advertisement
Guest User

Untitled

a guest
Apr 28th, 2024
23
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.42 KB | None | 0 0
  1. public class BoilerScreen extends AbstractContainerScreen<BoilerMenu> {
  2. private static final ResourceLocation TEXTURE =
  3. new ResourceLocation(Constants.MOD_ID,"textures/gui/boiler.png");
  4. private FluidTankRenderer waterRenderer;
  5. private FluidTankRenderer ppRenderer;
  6.  
  7. public BoilerScreen(BoilerMenu menu, Inventory inventory, Component component) {
  8. super(menu, inventory, component);
  9. this.inventoryLabelY = -1000;
  10. }
  11.  
  12. @Override
  13. public void init() {
  14. super.init();
  15. int x = (width - imageWidth) / 2;
  16. int y = (height - imageHeight) / 2;
  17.  
  18. assignFluidRenderer();
  19. }
  20.  
  21.  
  22. private void assignFluidRenderer() {
  23. waterRenderer = new FluidTankRenderer(5000, true, 16,60);
  24. ppRenderer = new FluidTankRenderer(5000, true, 16,60);
  25. }
  26.  
  27.  
  28. @Override
  29. protected void renderLabels(PoseStack stack, int mouseX, int mouseY) {
  30. //super.renderLabels(stack, mouseX, mouseY);
  31. int x = (width - imageWidth) / 2;
  32. int y = (height - imageHeight) / 2;
  33.  
  34. renderFluidAreaTooltips(stack, mouseX, mouseY, x,y);
  35. }
  36. private void renderFluidAreaTooltips(PoseStack pPoseStack, int pMouseX, int pMouseY, int x, int y) {
  37. if(isMouseAboveArea(waterRenderer, pMouseX, pMouseY, x, y, 8, 13)) {
  38. renderTooltip(pPoseStack, waterRenderer.getTooltip(menu.getWaterFluid(), TooltipFlag.Default.NORMAL),
  39. Optional.empty(), pMouseX - x, pMouseY - y);
  40. }
  41.  
  42. if(isMouseAboveArea(ppRenderer, pMouseX, pMouseY, x, y, 152, 13)) {
  43. renderTooltip(pPoseStack, ppRenderer.getTooltip(menu.getPPFluid(), TooltipFlag.Default.NORMAL),
  44. Optional.empty(), pMouseX - x, pMouseY - y);
  45. }
  46. }
  47.  
  48. @Override
  49. protected void renderBg(PoseStack pPoseStack, float pPartialTick, int pMouseX, int pMouseY) {
  50. RenderSystem.setShader(GameRenderer::getPositionTexShader);
  51. RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F);
  52. RenderSystem.setShaderTexture(0, TEXTURE);
  53. int x = (width - imageWidth) / 2;
  54. int y = (height - imageHeight) / 2;
  55.  
  56. this.blit(pPoseStack, x, y - 25, 0, 0, imageWidth, imageHeight + 50);
  57.  
  58. this.waterRenderer.render(pPoseStack, x + 8, (y + 38) - 25, menu.getWaterFluid());
  59. this.ppRenderer.render(pPoseStack, x + 152, (y + 38) - 25, menu.getPPFluid());
  60.  
  61. renderProgressArrow(pPoseStack, x, y);
  62. }
  63.  
  64. private void renderProgressArrow(PoseStack pPoseStack, int x, int y) {
  65. if(menu.isCrafting()) {
  66. blit(pPoseStack, x + 108, (y + 47) - 25, 176, 0, menu.getScaledProgress()+1, 16);
  67. }
  68. }
  69.  
  70. @Override
  71. public void render(PoseStack pPoseStack, int mouseX, int mouseY, float delta) {
  72. renderBackground(pPoseStack);
  73. super.render(pPoseStack, mouseX, mouseY, delta);
  74. renderTooltip(pPoseStack, mouseX, mouseY);
  75. }
  76.  
  77. private boolean isMouseAboveArea(FluidTankRenderer renderer, int pMouseX, int pMouseY, int x, int y, int offsetX, int offsetY) {
  78. return MouseUtil.isMouseOver(pMouseX, pMouseY, x + offsetX, y + offsetY, renderer.getWidth(), renderer.getHeight());
  79. }
  80. private boolean isMouseAboveArea(int pMouseX, int pMouseY, int x, int y, int offsetX, int offsetY, int width, int height) {
  81. return MouseUtil.isMouseOver(pMouseX, pMouseY, x + offsetX, y + offsetY, width, height);
  82. }
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement