net.minecraft.util.IThreadListener.isCallingFromMinecraftThread()方法的使用及代码示例

x33g5p2x  于2022-01-21 转载在 其他  
字(6.0k)|赞(0)|评价(0)|浏览(60)

本文整理了Java中net.minecraft.util.IThreadListener.isCallingFromMinecraftThread()方法的一些代码示例,展示了IThreadListener.isCallingFromMinecraftThread()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。IThreadListener.isCallingFromMinecraftThread()方法的具体详情如下:
包路径:net.minecraft.util.IThreadListener
类名称:IThreadListener
方法名:isCallingFromMinecraftThread

IThreadListener.isCallingFromMinecraftThread介绍

暂无

代码示例

代码示例来源:origin: OpenMods/OpenModsLib

public static void executeSynchronized(ChannelHandlerContext ctx, Runnable runnable) {
  final IThreadListener thread = FMLCommonHandler.instance().getWorldThread(ctx.channel().attr(NetworkRegistry.NET_HANDLER).get());
  if (!thread.isCallingFromMinecraftThread()) {
    thread.addScheduledTask(runnable);
  } else {
    runnable.run();
  }
}

代码示例来源:origin: ForestryMC/Binnie

protected static void checkThreadAndEnqueue(final IPacketID id, final MessageBinnie message, final MessageContext ctx, IThreadListener threadListener) {
  if (!threadListener.isCallingFromMinecraftThread()) {
    threadListener.addScheduledTask(() -> id.onMessage(message, ctx));
  }
}

代码示例来源:origin: RS485/LogisticsPipes

@Override
protected void channelRead0(ChannelHandlerContext ctx, InboundModernPacketWrapper msg) {
  IThreadListener thread = FMLCommonHandler.instance().getWorldThread(ctx.channel().attr(NetworkRegistry.NET_HANDLER).get());
  if (thread.isCallingFromMinecraftThread()) {
    inThreadProcessPacket(msg.packet, msg.player);
  } else {
    thread.addScheduledTask(() -> inThreadProcessPacket(msg.packet, msg.player));
  }
}

代码示例来源:origin: mezz/JustEnoughItems

private static void checkThreadAndEnqueue(IPacketJeiHandler packetHandler, PacketBuffer packetBuffer, EntityPlayer player, @Nullable IThreadListener threadListener) {
    if (threadListener != null && !threadListener.isCallingFromMinecraftThread()) {
      packetBuffer.retain();
      threadListener.addScheduledTask(() -> {
        try {
          packetHandler.readPacketData(packetBuffer, player);
          packetBuffer.release();
        } catch (IOException e) {
          Log.get().error("Network Error", e);
        }
      });
    }
  }
}

代码示例来源:origin: MightyPirates/TIS-3D

@Override
@Nullable
public IMessage onMessage(final T message, final MessageContext context) {
  final IThreadListener thread = FMLCommonHandler.instance().getWorldThread(context.netHandler);
  if (thread.isCallingFromMinecraftThread()) {
    onMessageSynchronized(message, context);
  } else {
    thread.addScheduledTask(() -> onMessageSynchronized(message, context));
  }
  return null;
}

代码示例来源:origin: CoFH/CoFHCore

private void handlePacketClient(final PacketBase packet, final EntityPlayer player) {
  IThreadListener threadListener = CoFHCore.proxy.getClientListener();
  if (!threadListener.isCallingFromMinecraftThread()) {
    threadListener.addScheduledTask(() -> handlePacketClient(packet, player));
  } else {
    packet.handleClientSide(player);
  }
}

代码示例来源:origin: CoFH/CoFHCore

private void handlePacketServer(final PacketBase packet, final EntityPlayer player) {
  IThreadListener threadListener = CoFHCore.proxy.getServerListener();
  if (!threadListener.isCallingFromMinecraftThread()) {
    threadListener.addScheduledTask(() -> handlePacketServer(packet, player));
  } else {
    packet.handleServerSide(player);
  }
}

代码示例来源:origin: AntiqueAtlasTeam/AntiqueAtlas

/**
 * Ensures that the message is being handled on the main thread
 */
private static <T extends AbstractMessage<T>> void checkThreadAndEnqueue(final AbstractMessage<T> msg, final MessageContext ctx) {
  IThreadListener thread = AntiqueAtlasMod.proxy.getThreadFromContext(ctx);
  if (!thread.isCallingFromMinecraftThread()) {
    thread.addScheduledTask(() -> msg.process(AntiqueAtlasMod.proxy.getPlayerEntity(ctx), ctx.side));
  }
}

代码示例来源:origin: mezz/JustEnoughItems

private static void checkThreadAndEnqueue(final IPacketJeiHandler packetHandler, final PacketBuffer packetBuffer, @Nullable IThreadListener threadListener) {
    if (threadListener != null && !threadListener.isCallingFromMinecraftThread()) {
      packetBuffer.retain();
      threadListener.addScheduledTask(() -> {
        try {
          Minecraft minecraft = Minecraft.getMinecraft();
          EntityPlayer player = minecraft.player;
          if (player != null) {
            packetHandler.readPacketData(packetBuffer, player);
          }
          packetBuffer.release();
        } catch (IOException e) {
          Log.get().error("Network Error", e);
        }
      });
    }
  }
}

代码示例来源:origin: ForestryMC/ForestryMC

private static void checkThreadAndEnqueue(final IForestryPacketHandlerServer packet, final PacketBufferForestry data, final EntityPlayerMP player, IThreadListener threadListener) {
    if (!threadListener.isCallingFromMinecraftThread()) {
      data.retain();
      threadListener.addScheduledTask(() -> {
        try {
          packet.onPacketData(data, player);
          data.release();
        } catch (IOException e) {
          Log.error("Network Error", e);
        }
      });
    }
  }
}

代码示例来源:origin: ForestryMC/ForestryMC

@SideOnly(Side.CLIENT)
private static void checkThreadAndEnqueue(final IForestryPacketHandlerClient packet, final PacketBufferForestry data, IThreadListener threadListener) {
  if (!threadListener.isCallingFromMinecraftThread()) {
    data.retain();
    threadListener.addScheduledTask(() -> {
      try {
        EntityPlayer player = Minecraft.getMinecraft().player;
        Preconditions.checkNotNull(player, "Tried to send data to client before the player exists.");
        packet.onPacketData(data, player);
        data.release();
      } catch (IOException e) {
        Log.error("Network Error", e);
      }
    });
  }
}

代码示例来源:origin: ExtraCells/ExtraCells2

private static void checkThreadAndEnqueue(final IPacketHandlerServer packet, final PacketBufferEC data, final EntityPlayerMP player, IThreadListener threadListener) {
    if (!threadListener.isCallingFromMinecraftThread()) {
      data.retain();
      threadListener.addScheduledTask(() -> {
        try {
          packet.onPacketData(data, player);
        } catch (IOException e) {
          Log.error("Network Error", e);
        } finally {
          data.release();
        }
      });
    }
  }
}

代码示例来源:origin: ExtraCells/ExtraCells2

@SideOnly(Side.CLIENT)
private static void checkThreadAndEnqueue(final IPacketHandlerClient packet, final PacketBufferEC data, IThreadListener threadListener) {
  if (!threadListener.isCallingFromMinecraftThread()) {
    data.retain();
    threadListener.addScheduledTask(() -> {
      try {
        EntityPlayer player = Minecraft.getMinecraft().player;
        Preconditions.checkNotNull(player, "Tried to send data to client before the player exists.");
        packet.onPacketData(data, player);
      } catch (IOException e) {
        Log.error("Network Error", e);
      } finally {
        data.release();
      }
    });
  }
}

相关文章

微信公众号

最新文章

更多