类 ServerWorldMixin

java.lang.Object
cn.korostudio.c3h6n6o6.mixin.ServerWorldMixin

public abstract class ServerWorldMixin extends Object
被撅的最狠的一个类,谁叫MJ优化差!
  • 字段概要

    字段
    修饰符和类型
    字段
    说明
    (专用程序包) boolean
    duringListenerUpdate镜像
    private ReentrantLock
    锁~~~
    (专用程序包) ConcurrentLinkedDeque<net.minecraft.server.world.BlockEvent>
    缓存
  • 构造器概要

    构造器
    构造器
    说明
     
  • 方法概要

    修饰符和类型
    方法
    说明
    private void
    lockUpdateListeners (net.minecraft.util.math.BlockPos pos, net.minecraft.block.BlockState oldState, net.minecraft.block.BlockState newState, int flags, org.spongepowered.asm.mixin.injection.callback.CallbackInfo ci)
    给不听话的非线程安全updateListeners上锁~~~
    private boolean
    overwriteEmptyCheck (it.unimi.dsi.fastutil.objects.ObjectLinkedOpenHashSet<net.minecraft.server.world.BlockEvent> objectLinkedOpenHashSet)
    啊吧啊吧
    private void
    overwriteEntityTicking (net.minecraft.entity.Entity entity)
    拦截实体Tick
    private boolean
    overwriteQueueAdd (it.unimi.dsi.fastutil.objects.ObjectLinkedOpenHashSet<net.minecraft.server.world.BlockEvent> objectLinkedOpenHashSet, Object object)
    啊吧啊吧
    private boolean
    overwriteQueueAddAll (it.unimi.dsi.fastutil.objects.ObjectLinkedOpenHashSet<net.minecraft.server.world.BlockEvent> instance, Collection<? extends net.minecraft.server.world.BlockEvent> c)
    啊吧啊吧
    private Object
    overwriteQueueRemoveFirst (it.unimi.dsi.fastutil.objects.ObjectLinkedOpenHashSet<net.minecraft.server.world.BlockEvent> objectLinkedOpenHashSet)
    啊吧啊吧
    private boolean
    overwriteQueueRemoveIf (it.unimi.dsi.fastutil.objects.ObjectLinkedOpenHashSet<net.minecraft.server.world.BlockEvent> objectLinkedOpenHashSet, Predicate<net.minecraft.server.world.BlockEvent> filter)
    啊吧啊吧
    private void
    tickEnd (BooleanSupplier shouldKeepTicking, org.spongepowered.asm.mixin.injection.callback.CallbackInfo ci)
    Tick结束
    private void
    tickStart (BooleanSupplier shouldKeepTicking, org.spongepowered.asm.mixin.injection.callback.CallbackInfo ci)
    Tick开始(和MCMT不一样,吾把线程池Tick范围固定在实体tick内
    private void
    unlockInError (net.minecraft.util.math.BlockPos pos, net.minecraft.block.BlockState oldState, net.minecraft.block.BlockState newState, int flags, org.spongepowered.asm.mixin.injection.callback.CallbackInfo ci)
    给不听话的而且还抛异常的非线程安全updateListeners解锁~~~
    private void
    unlockUpdateListeners (net.minecraft.util.math.BlockPos pos, net.minecraft.block.BlockState oldState, net.minecraft.block.BlockState newState, int flags, org.spongepowered.asm.mixin.injection.callback.CallbackInfo ci)
    给不听话的非线程安全updateListeners解锁~~~

    从类继承的方法 java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 字段详细资料

    • syncedBlockEventCLinkedQueue

      ConcurrentLinkedDeque<net.minecraft.server.world.BlockEvent> syncedBlockEventCLinkedQueue
      缓存
    • duringListenerUpdate

      volatile boolean duringListenerUpdate
      duringListenerUpdate镜像
    • lock

      private ReentrantLock lock
      锁~~~
  • 构造器详细资料

    • ServerWorldMixin

      public ServerWorldMixin()
  • 方法详细资料

    • overwriteEntityTicking

      private void overwriteEntityTicking (net.minecraft.entity.Entity entity)
      拦截实体Tick
      参数:
      entity - 实体对象
    • tickStart

      private void tickStart (BooleanSupplier shouldKeepTicking, org.spongepowered.asm.mixin.injection.callback.CallbackInfo ci)
      Tick开始(和MCMT不一样,吾把线程池Tick范围固定在实体tick内
      参数:
      shouldKeepTicking - 问MJ去
      ci - 问海绵组去
    • tickEnd

      private void tickEnd (BooleanSupplier shouldKeepTicking, org.spongepowered.asm.mixin.injection.callback.CallbackInfo ci)
      Tick结束
      参数:
      shouldKeepTicking - 问MJ去
      ci - 问海绵组去
    • overwriteQueueAddAll

      private boolean overwriteQueueAddAll (it.unimi.dsi.fastutil.objects.ObjectLinkedOpenHashSet<net.minecraft.server.world.BlockEvent> instance, Collection<? extends net.minecraft.server.world.BlockEvent> c)
      啊吧啊吧
    • overwriteQueueAdd

      private boolean overwriteQueueAdd (it.unimi.dsi.fastutil.objects.ObjectLinkedOpenHashSet<net.minecraft.server.world.BlockEvent> objectLinkedOpenHashSet, Object object)
      啊吧啊吧
    • overwriteQueueRemoveIf

      private boolean overwriteQueueRemoveIf (it.unimi.dsi.fastutil.objects.ObjectLinkedOpenHashSet<net.minecraft.server.world.BlockEvent> objectLinkedOpenHashSet, Predicate<net.minecraft.server.world.BlockEvent> filter)
      啊吧啊吧
    • overwriteEmptyCheck

      private boolean overwriteEmptyCheck (it.unimi.dsi.fastutil.objects.ObjectLinkedOpenHashSet<net.minecraft.server.world.BlockEvent> objectLinkedOpenHashSet)
      啊吧啊吧
    • overwriteQueueRemoveFirst

      private Object overwriteQueueRemoveFirst (it.unimi.dsi.fastutil.objects.ObjectLinkedOpenHashSet<net.minecraft.server.world.BlockEvent> objectLinkedOpenHashSet)
      啊吧啊吧
    • lockUpdateListeners

      private void lockUpdateListeners (net.minecraft.util.math.BlockPos pos, net.minecraft.block.BlockState oldState, net.minecraft.block.BlockState newState, int flags, org.spongepowered.asm.mixin.injection.callback.CallbackInfo ci)
      给不听话的非线程安全updateListeners上锁~~~
      参数:
      pos - 问MJ去
      oldState - 问MJ去
      newState - 问MJ去
      flags - 问MJ去
      ci - 问海绵组去
    • unlockUpdateListeners

      private void unlockUpdateListeners (net.minecraft.util.math.BlockPos pos, net.minecraft.block.BlockState oldState, net.minecraft.block.BlockState newState, int flags, org.spongepowered.asm.mixin.injection.callback.CallbackInfo ci)
      给不听话的非线程安全updateListeners解锁~~~
      参数:
      pos - 问MJ去
      oldState - 问MJ去
      newState - 问MJ去
      flags - 问MJ去
      ci - 问海绵组去
    • unlockInError

      private void unlockInError (net.minecraft.util.math.BlockPos pos, net.minecraft.block.BlockState oldState, net.minecraft.block.BlockState newState, int flags, org.spongepowered.asm.mixin.injection.callback.CallbackInfo ci)
      给不听话的而且还抛异常的非线程安全updateListeners解锁~~~
      参数:
      pos - 问MJ去
      oldState - 问MJ去
      newState - 问MJ去
      flags - 问MJ去
      ci - 问海绵组去