Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class BoilerScreen extends AbstractContainerScreen<BoilerMenu> {
- private static final ResourceLocation TEXTURE =
- new ResourceLocation(Constants.MOD_ID,"textures/gui/boiler.png");
- private FluidTankRenderer waterRenderer;
- private FluidTankRenderer ppRenderer;
- public BoilerScreen(BoilerMenu menu, Inventory inventory, Component component) {
- super(menu, inventory, component);
- this.inventoryLabelY = -1000;
- }
- @Override
- public void init() {
- super.init();
- int x = (width - imageWidth) / 2;
- int y = (height - imageHeight) / 2;
- assignFluidRenderer();
- }
- private void assignFluidRenderer() {
- waterRenderer = new FluidTankRenderer(5000, true, 16,60);
- ppRenderer = new FluidTankRenderer(5000, true, 16,60);
- }
- @Override
- protected void renderLabels(PoseStack stack, int mouseX, int mouseY) {
- //super.renderLabels(stack, mouseX, mouseY);
- int x = (width - imageWidth) / 2;
- int y = (height - imageHeight) / 2;
- renderFluidAreaTooltips(stack, mouseX, mouseY, x,y);
- }
- private void renderFluidAreaTooltips(PoseStack pPoseStack, int pMouseX, int pMouseY, int x, int y) {
- if(isMouseAboveArea(waterRenderer, pMouseX, pMouseY, x, y, 8, 13)) {
- renderTooltip(pPoseStack, waterRenderer.getTooltip(menu.getWaterFluid(), TooltipFlag.Default.NORMAL),
- Optional.empty(), pMouseX - x, pMouseY - y);
- }
- if(isMouseAboveArea(ppRenderer, pMouseX, pMouseY, x, y, 152, 13)) {
- renderTooltip(pPoseStack, ppRenderer.getTooltip(menu.getPPFluid(), TooltipFlag.Default.NORMAL),
- Optional.empty(), pMouseX - x, pMouseY - y);
- }
- }
- @Override
- protected void renderBg(PoseStack pPoseStack, float pPartialTick, int pMouseX, int pMouseY) {
- RenderSystem.setShader(GameRenderer::getPositionTexShader);
- RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F);
- RenderSystem.setShaderTexture(0, TEXTURE);
- int x = (width - imageWidth) / 2;
- int y = (height - imageHeight) / 2;
- this.blit(pPoseStack, x, y - 25, 0, 0, imageWidth, imageHeight + 50);
- this.waterRenderer.render(pPoseStack, x + 8, (y + 38) - 25, menu.getWaterFluid());
- this.ppRenderer.render(pPoseStack, x + 152, (y + 38) - 25, menu.getPPFluid());
- renderProgressArrow(pPoseStack, x, y);
- }
- private void renderProgressArrow(PoseStack pPoseStack, int x, int y) {
- if(menu.isCrafting()) {
- blit(pPoseStack, x + 108, (y + 47) - 25, 176, 0, menu.getScaledProgress()+1, 16);
- }
- }
- @Override
- public void render(PoseStack pPoseStack, int mouseX, int mouseY, float delta) {
- renderBackground(pPoseStack);
- super.render(pPoseStack, mouseX, mouseY, delta);
- renderTooltip(pPoseStack, mouseX, mouseY);
- }
- private boolean isMouseAboveArea(FluidTankRenderer renderer, int pMouseX, int pMouseY, int x, int y, int offsetX, int offsetY) {
- return MouseUtil.isMouseOver(pMouseX, pMouseY, x + offsetX, y + offsetY, renderer.getWidth(), renderer.getHeight());
- }
- private boolean isMouseAboveArea(int pMouseX, int pMouseY, int x, int y, int offsetX, int offsetY, int width, int height) {
- return MouseUtil.isMouseOver(pMouseX, pMouseY, x + offsetX, y + offsetY, width, height);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement