Class SceneViewportWidget

java.lang.Object
net.minecraft.client.gui.components.AbstractWidget
net.ixdarklord.coolcatcanvas.api.client.gui.components.SceneViewportWidget
All Implemented Interfaces:
net.minecraft.client.gui.components.events.GuiEventListener, net.minecraft.client.gui.components.Renderable, net.minecraft.client.gui.components.TabOrderedElement, net.minecraft.client.gui.layouts.LayoutElement, net.minecraft.client.gui.narration.NarratableEntry, net.minecraft.client.gui.narration.NarrationSupplier

@Experimental public class SceneViewportWidget extends net.minecraft.client.gui.components.AbstractWidget
A SceneViewport in a screen: a 3D view of blocks, a structure or entities, kept inside the widget's rectangle. Drag it to turn the scene, scroll over it to zoom.

 SceneViewport view = SceneViewport.create(MyMod.id("preview"), 256, 256);
 view.blocks(structureBlocks);
 addRenderableWidget(new SceneViewportWidget(x, y, 128, 128, view));
 // when the screen closes:
 view.close();
 
The widget does not own the viewport: close it yourself. For a sharp picture, make the viewport as large as the widget is on screen (its size times the GUI scale).
  • Nested Class Summary

    Nested classes/interfaces inherited from interface net.minecraft.client.gui.narration.NarratableEntry

    net.minecraft.client.gui.narration.NarratableEntry.NarrationPriority
  • Field Summary

    Fields inherited from class net.minecraft.client.gui.components.AbstractWidget

    active, alpha, height, isHovered, visible, width

    Fields inherited from interface net.minecraft.client.gui.components.events.GuiEventListener

    DOUBLE_CLICK_THRESHOLD_MS
  • Constructor Summary

    Constructors
    Constructor
    Description
    SceneViewportWidget(int x, int y, int width, int height, SceneViewport viewport)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    background(int argb)
    A colour (ARGB) filled behind the scene; 0 for none, which is the default.
    controls(boolean turnable, boolean zoomable)
    Whether dragging turns the scene and scrolling zooms it.
    boolean
    mouseScrolled(double mouseX, double mouseY, double scrollX, double scrollY)
     
    protected void
    onDrag(double mouseX, double mouseY, double dragX, double dragY)
     
    void
    playDownSound(net.minecraft.client.sounds.SoundManager soundManager)
     
    protected void
    renderWidget(net.minecraft.client.gui.GuiGraphics graphics, int mouseX, int mouseY, float partialTick)
     
    protected void
    updateWidgetNarration(net.minecraft.client.gui.narration.NarrationElementOutput output)
     
     

    Methods inherited from class net.minecraft.client.gui.components.AbstractWidget

    clicked, createNarrationMessage, defaultButtonNarrationText, getBottom, getHeight, getMessage, getRectangle, getRight, getTabOrderGroup, getTooltip, getWidth, getX, getY, isActive, isFocused, isHovered, isHoveredOrFocused, isMouseOver, isValidClickButton, mouseClicked, mouseDragged, mouseReleased, narrationPriority, nextFocusPath, onClick, onRelease, render, renderScrollingString, renderScrollingString, renderScrollingString, setAlpha, setFocused, setHeight, setMessage, setRectangle, setSize, setTabOrderGroup, setTooltip, setTooltipDelay, setWidth, setX, setY, updateNarration, visitWidgets, wrapDefaultNarrationMessage

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface net.minecraft.client.gui.components.events.GuiEventListener

    charTyped, getCurrentFocusPath, keyPressed, keyReleased, mouseMoved

    Methods inherited from interface net.minecraft.client.gui.layouts.LayoutElement

    setPosition
  • Constructor Details

    • SceneViewportWidget

      public SceneViewportWidget(int x, int y, int width, int height, SceneViewport viewport)
  • Method Details

    • viewport

      public SceneViewport viewport()
    • controls

      public SceneViewportWidget controls(boolean turnable, boolean zoomable)
      Whether dragging turns the scene and scrolling zooms it. Both by default.
    • background

      public SceneViewportWidget background(int argb)
      A colour (ARGB) filled behind the scene; 0 for none, which is the default.
    • renderWidget

      protected void renderWidget(net.minecraft.client.gui.GuiGraphics graphics, int mouseX, int mouseY, float partialTick)
      Specified by:
      renderWidget in class net.minecraft.client.gui.components.AbstractWidget
    • onDrag

      protected void onDrag(double mouseX, double mouseY, double dragX, double dragY)
      Overrides:
      onDrag in class net.minecraft.client.gui.components.AbstractWidget
    • mouseScrolled

      public boolean mouseScrolled(double mouseX, double mouseY, double scrollX, double scrollY)
    • playDownSound

      public void playDownSound(net.minecraft.client.sounds.SoundManager soundManager)
      Overrides:
      playDownSound in class net.minecraft.client.gui.components.AbstractWidget
    • updateWidgetNarration

      protected void updateWidgetNarration(net.minecraft.client.gui.narration.NarrationElementOutput output)
      Specified by:
      updateWidgetNarration in class net.minecraft.client.gui.components.AbstractWidget