Java源码示例:net.minecraftforge.fml.network.NetworkDirection
示例1
public static void sendToAll(Object msg, World world) {
//Todo Maybe only send to nearby players?
for (PlayerEntity player : world.getPlayers()) {
if (!(player instanceof FakePlayer))
HANDLER.sendTo(msg, ((ServerPlayerEntity) player).connection.netManager, NetworkDirection.PLAY_TO_CLIENT);
}
}
示例2
private void onItemBroken(PlayerEntity player, ItemStack stack)
{
int scrappingLevel = EnchantmentHelper.getEnchantmentLevel(SurvivalistMod.SCRAPING.get(), stack);
if (player.getClass().getName().equals("com.rwtema.extrautils2.fakeplayer.XUFakePlayer"))
return;
boolean fortune = rnd.nextDouble() > 0.9 / (1 + scrappingLevel);
ItemStack ret = null;
for (Triple<ItemStack, ItemStack, ItemStack> scraping : scrapingRegistry)
{
ItemStack source = scraping.getLeft();
if (source.getItem() != stack.getItem())
continue;
ItemStack good = scraping.getMiddle();
ItemStack bad = scraping.getRight();
ret = fortune ? good.copy() : bad.copy();
break;
}
if (ret != null)
{
SurvivalistMod.LOGGER.debug("Item broke (" + stack + ") and the player got " + ret + " in return!");
SurvivalistMod.channel.sendTo(new ScrapingMessage(stack, ret), ((ServerPlayerEntity) player).connection.netManager, NetworkDirection.PLAY_TO_CLIENT);
ItemHandlerHelper.giveItemToPlayer(player, ret);
}
}
示例3
public <M> void sendToServer(M message) {
sendTo(message, MinecraftClient.getInstance().getNetworkHandler().getConnection(), NetworkDirection.PLAY_TO_SERVER);
}
示例4
public <M> void sendTo(M message, ClientConnection connection, NetworkDirection direction) {
connection.send(toVanillaPacket(message, direction));
}
示例5
public <M> Packet<?> toVanillaPacket(M message, NetworkDirection direction) {
return direction.buildPacket(toBuffer(message), channelName).getThis();
}
示例6
@Override
public NetworkDirection getDirection() {
return NetworkDirection.LOGIN_TO_SERVER;
}
示例7
@Override
public NetworkDirection getDirection() {
return NetworkDirection.PLAY_TO_CLIENT;
}
示例8
@Override
public NetworkDirection getDirection() {
return NetworkDirection.LOGIN_TO_CLIENT;
}
示例9
@Override
public NetworkDirection getDirection() {
return NetworkDirection.PLAY_TO_SERVER;
}
示例10
public static void sendTo(Object msg, ServerPlayerEntity player) {
if (!(player instanceof FakePlayer))
HANDLER.sendTo(msg, player.connection.netManager, NetworkDirection.PLAY_TO_CLIENT);
}
示例11
public IPacket<?> toPacket(NetworkDirection direction) {
return toPacket(direction, 0);
}
示例12
public IPacket<?> toPacket(NetworkDirection direction, int index) {
if (incoming()) {
throw new IllegalStateException("Tried to write an incoming packet");
}
return direction.buildPacket(Pair.of(toPacketBuffer(), index), channel).getThis();
}
示例13
public void sendToPlayer(ServerPlayerEntity player) {
sendToPlayer(toPacket(NetworkDirection.PLAY_TO_CLIENT), player);
}
示例14
public void sendToClients() {
sendToClients(toPacket(NetworkDirection.PLAY_TO_CLIENT));
}
示例15
public void sendPacketToAllAround(double x, double y, double z, double range, DimensionType dim) {
sendToAllAround(toPacket(NetworkDirection.PLAY_TO_CLIENT), x, y, z, range, dim);
}
示例16
public void sendToDimension(DimensionType dim) {
sendToDimension(toPacket(NetworkDirection.PLAY_TO_CLIENT), dim);
}
示例17
public void sendToChunk(World world, BlockPos blockPos) {
sendToChunk(toPacket(NetworkDirection.PLAY_TO_CLIENT), world, blockPos);
}
示例18
public void sendToChunk(World world, int chunkX, int chunkZ) {
sendToChunk(toPacket(NetworkDirection.PLAY_TO_CLIENT), world, chunkX, chunkZ);
}
示例19
public void sendToChunk(World world, ChunkPos pos) {
sendToChunk(toPacket(NetworkDirection.PLAY_TO_CLIENT), world, pos);
}
示例20
public void sendToOps() {
sendToOps(toPacket(NetworkDirection.PLAY_TO_CLIENT));
}
示例21
@OnlyIn (Dist.CLIENT)
public void sendToServer() {
sendToServer(toPacket(NetworkDirection.PLAY_TO_SERVER));
}