Class AtomicStack<T>

java.lang.Object
net.minecraft.util.thread.AtomicStack<T>

public class AtomicStack<T> extends Object
A fixed-size atomic stack, useful for tracking multithreaded access to an object. When the stack is full on addition, it overrides the earliest content in the stack.
API Note:
Vanilla uses this for debugging purpose on paletted container and chunk holder's asynchronous access checks.
Mappings:
Namespace Name
named net/minecraft/util/thread/AtomicStack
intermediary net/minecraft/class_5831
official axp
  • Field Details

    • contents

      private final AtomicReferenceArray<T> contents
      Mappings:
      Namespace Name Mixin selector
      named contents Lnet/minecraft/util/thread/AtomicStack;contents:Ljava/util/concurrent/atomic/AtomicReferenceArray;
      intermediary field_28810 Lnet/minecraft/class_5831;field_28810:Ljava/util/concurrent/atomic/AtomicReferenceArray;
      official a Laxp;a:Ljava/util/concurrent/atomic/AtomicReferenceArray;
    • size

      private final AtomicInteger size
      Mappings:
      Namespace Name Mixin selector
      named size Lnet/minecraft/util/thread/AtomicStack;size:Ljava/util/concurrent/atomic/AtomicInteger;
      intermediary field_28811 Lnet/minecraft/class_5831;field_28811:Ljava/util/concurrent/atomic/AtomicInteger;
      official b Laxp;b:Ljava/util/concurrent/atomic/AtomicInteger;
  • Constructor Details

    • AtomicStack

      public AtomicStack(int maxSize)
      Mappings:
      Namespace Name Mixin selector
      named <init> Lnet/minecraft/util/thread/AtomicStack;<init>(I)V
      intermediary <init> Lnet/minecraft/class_5831;<init>(I)V
      official <init> Laxp;<init>(I)V
  • Method Details

    • push

      public void push(T value)
      Adds a value to this stack.

      If the stack is already at full capacity, the earliest pushed item in the stack is discarded.

      Parameters:
      value - the value to add
      Mappings:
      Namespace Name Mixin selector
      named push Lnet/minecraft/util/thread/AtomicStack;push(Ljava/lang/Object;)V
      intermediary method_33721 Lnet/minecraft/class_5831;method_33721(Ljava/lang/Object;)V
      official a Laxp;a(Ljava/lang/Object;)V
    • toList

      public List<T> toList()
      Builds a list of the contents of the stack.

      The more recently pushed elements will appear earlier in the returned list. The returned list is immutable and its size won't exceed this stack's size.

      Returns:
      a list of contents
      Mappings:
      Namespace Name Mixin selector
      named toList Lnet/minecraft/util/thread/AtomicStack;toList()Ljava/util/List;
      intermediary method_33720 Lnet/minecraft/class_5831;method_33720()Ljava/util/List;
      official a Laxp;a()Ljava/util/List;