当前位置: 首页>>代码示例>>Java>>正文


Java PacketBuffer.writeSignedVarInt方法代码示例

本文整理汇总了Java中io.gomint.jraknet.PacketBuffer.writeSignedVarInt方法的典型用法代码示例。如果您正苦于以下问题:Java PacketBuffer.writeSignedVarInt方法的具体用法?Java PacketBuffer.writeSignedVarInt怎么用?Java PacketBuffer.writeSignedVarInt使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在io.gomint.jraknet.PacketBuffer的用法示例。


在下文中一共展示了PacketBuffer.writeSignedVarInt方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: serialize

import io.gomint.jraknet.PacketBuffer; //导入方法依赖的package包/类
@Override
public void serialize( PacketBuffer buffer ) {
    // Type of recipe ( 1 == shaped )
    buffer.writeSignedVarInt( 1 );

    // Size of grid
    buffer.writeSignedVarInt( this.width );
    buffer.writeSignedVarInt( this.height );

    // Input items
    for ( int j = 0; j < this.height; ++j ) {
        for ( int i = 0; i < this.width; ++i ) {
            Packet.writeItemStack( this.arrangement[j * this.width + i], buffer );
        }
    }

    // Amount of result
    buffer.writeUnsignedVarInt( this.outcome.length );

    for ( ItemStack itemStack : this.outcome ) {
        Packet.writeItemStack( itemStack, buffer );
    }

    // Write recipe UUID
    buffer.writeUUID( this.getUUID() );
}
 
开发者ID:GoMint,项目名称:GoMint,代码行数:27,代码来源:ShapedRecipe.java

示例2: serialize

import io.gomint.jraknet.PacketBuffer; //导入方法依赖的package包/类
@Override
public void serialize( PacketBuffer buffer ) {
    buffer.writeSignedVarInt( 0 );

    buffer.writeUnsignedVarInt( this.ingredients.length );
    for ( ItemStack ingredient : this.ingredients ) {
        Packet.writeItemStack( ingredient, buffer );
    }

    buffer.writeUnsignedVarInt( this.outcome.length );
    for ( ItemStack itemStack : this.outcome ) {
        Packet.writeItemStack( itemStack, buffer );
    }

    buffer.writeUUID( this.getUUID() );
}
 
开发者ID:GoMint,项目名称:GoMint,代码行数:17,代码来源:ShapelessRecipe.java

示例3: serialize

import io.gomint.jraknet.PacketBuffer; //导入方法依赖的package包/类
@Override
void serialize( PacketBuffer buffer, int index ) {
    super.serialize( buffer, index );
    buffer.writeSignedVarInt( this.x );
    buffer.writeSignedVarInt( this.y );
    buffer.writeSignedVarInt( this.z );
}
 
开发者ID:GoMint,项目名称:GoMint,代码行数:8,代码来源:MetadataPosition.java

示例4: writeItemStack

import io.gomint.jraknet.PacketBuffer; //导入方法依赖的package包/类
/**
 * Write a item stack to the packet buffer
 *
 * @param itemStack which should be written
 * @param buffer    which should be used to write to
 */
public static void writeItemStack( ItemStack itemStack, PacketBuffer buffer ) {
	if ( itemStack == null || itemStack.getMaterial() == 0 ) {
		buffer.writeSignedVarInt( 0 );
		return;
	}

	buffer.writeSignedVarInt( itemStack.getMaterial() );
	buffer.writeSignedVarInt( ( itemStack.getData() << 8 ) + ( itemStack.getAmount() & 0xff ) );

	NBTTagCompound compound = itemStack.getNbtData();
	if ( compound == null ) {
		buffer.writeLShort( (short) 0 );
	} else {
		try {
			ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
			compound.writeTo( byteArrayOutputStream, false, ByteOrder.LITTLE_ENDIAN );
			buffer.writeLShort( (short) byteArrayOutputStream.size() );
			buffer.writeBytes( byteArrayOutputStream.toByteArray() );
		} catch ( IOException e ) {
			e.printStackTrace();
			buffer.writeLShort( (short) 0 );
		}
	}

	// canPlace and canBreak
	buffer.writeSignedVarInt( 0 );
	buffer.writeSignedVarInt( 0 );
}
 
开发者ID:GoMint,项目名称:ProxProx,代码行数:35,代码来源:Packet.java

示例5: writeItemStack

import io.gomint.jraknet.PacketBuffer; //导入方法依赖的package包/类
/**
 * Write a item stack to the packet buffer
 *
 * @param itemStack which should be written
 * @param buffer    which should be used to write to
 */
public static void writeItemStack( ItemStack itemStack, PacketBuffer buffer ) {
    if ( itemStack == null || itemStack instanceof ItemAir ) {
        buffer.writeSignedVarInt( 0 );
        return;
    }

    buffer.writeSignedVarInt( ( (io.gomint.server.inventory.item.ItemStack) itemStack ).getMaterial() );
    buffer.writeSignedVarInt( ( itemStack.getData() << 8 ) + ( itemStack.getAmount() & 0xff ) );

    NBTTagCompound compound = itemStack.getNbtData();
    if ( compound == null ) {
        buffer.writeLShort( (short) 0 );
    } else {
        try {
            ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
            compound.writeTo( byteArrayOutputStream, false, ByteOrder.LITTLE_ENDIAN );
            buffer.writeLShort( (short) byteArrayOutputStream.size() );
            buffer.writeBytes( byteArrayOutputStream.toByteArray() );
        } catch ( IOException e ) {
            e.printStackTrace();
            buffer.writeLShort( (short) 0 );
        }
    }

    // canPlace and canBreak
    buffer.writeSignedVarInt( 0 );
    buffer.writeSignedVarInt( 0 );
}
 
开发者ID:GoMint,项目名称:GoMint,代码行数:35,代码来源:Packet.java

示例6: writeIntList

import io.gomint.jraknet.PacketBuffer; //导入方法依赖的package包/类
/**
 * Write a array of integers to the buffer
 *
 * @param integers which should be written to the buffer
 * @param buffer   which should be written to
 */
void writeIntList( int[] integers, PacketBuffer buffer ) {
    if ( integers == null || integers.length == 0 ) {
        buffer.writeUnsignedVarInt( 0 );
        return;
    }

    buffer.writeUnsignedVarInt( integers.length );

    for ( Integer integer : integers ) {
        buffer.writeSignedVarInt( integer );
    }
}
 
开发者ID:GoMint,项目名称:GoMint,代码行数:19,代码来源:Packet.java

示例7: serialize

import io.gomint.jraknet.PacketBuffer; //导入方法依赖的package包/类
@Override
public void serialize( PacketBuffer buffer ) {
    buffer.writeByte( this.type.getSoundId() );
    buffer.writeLFloat( this.position.getX() );
    buffer.writeLFloat( this.position.getY() );
    buffer.writeLFloat( this.position.getZ() );
    buffer.writeSignedVarInt( this.extraData );
    buffer.writeSignedVarInt( this.pitch );
    buffer.writeBoolean( this.unknownBool );
    buffer.writeBoolean( this.disableRelativeVolume );
}
 
开发者ID:GoMint,项目名称:GoMint,代码行数:12,代码来源:PacketWorldSoundEvent.java

示例8: serialize

import io.gomint.jraknet.PacketBuffer; //导入方法依赖的package包/类
@Override
public void serialize( PacketBuffer buffer ) {
    // The type of this recipe is defined after the input metadata
    buffer.writeSignedVarInt( this.input.getData() == 0 ? 2 : 3 );

    // We need to custom write items
    buffer.writeSignedVarInt( ( (io.gomint.server.inventory.item.ItemStack) this.input ).getMaterial() );
    if ( this.input.getData() != 0 ) buffer.writeSignedVarInt( this.input.getData() );

    Packet.writeItemStack( this.outcome, buffer );
}
 
开发者ID:GoMint,项目名称:GoMint,代码行数:12,代码来源:SmeltingRecipe.java

示例9: createPackagedData

import io.gomint.jraknet.PacketBuffer; //导入方法依赖的package包/类
/**
 * Invoked by the world's asynchronous worker thread once the chunk is supposed
 * to actually pack itself into a world chunk packet.
 *
 * @return The world chunk packet that is to be sent
 */
PacketWorldChunk createPackagedData() {
    PacketBuffer buffer = new PacketBuffer( 512 );

    // Detect how much data we can skip
    int topEmpty = 16;
    for ( int i = 15; i >= 0; i-- ) {
        ChunkSlice slice = chunkSlices[i];
        if ( slice == null || slice.isAllAir() ) {
            topEmpty = i;
        } else {
            break;
        }
    }

    buffer.writeByte( (byte) topEmpty );
    for ( int i = 0; i < topEmpty; i++ ) {
        buffer.writeByte( (byte) 0 );
        buffer.writeBytes( ensureSlice( i ).getBytes() );
    }

    buffer.writeBytes( this.height );
    buffer.writeBytes( this.biomes );
    buffer.writeSignedVarInt( 0 );
    buffer.writeSignedVarInt( 0 );

    // Write tile entity data
    Collection<TileEntity> tileEntities = this.getTileEntities();
    if ( tileEntities.size() > 0 ) {
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        for ( TileEntity tileEntity : tileEntities ) {
            NBTTagCompound compound = new NBTTagCompound( "" );
            tileEntity.toCompound( compound );

            NBTWriter nbtWriter = new NBTWriter( baos, ByteOrder.LITTLE_ENDIAN );
            nbtWriter.setUseVarint( true );
            try {
                nbtWriter.write( compound );
            } catch ( IOException e ) {
                e.printStackTrace();
            }
        }

        buffer.writeBytes( baos.toByteArray() );
    }

    PacketWorldChunk packet = new PacketWorldChunk();
    packet.setX( this.x );
    packet.setZ( this.z );
    packet.setData( Arrays.copyOf( buffer.getBuffer(), buffer.getPosition() ) );
    return packet;
}
 
开发者ID:GoMint,项目名称:GoMint,代码行数:58,代码来源:ChunkAdapter.java

示例10: serialize

import io.gomint.jraknet.PacketBuffer; //导入方法依赖的package包/类
@Override
void serialize( PacketBuffer buffer, int index ) {
    super.serialize( buffer, index );
    buffer.writeSignedVarInt( this.value );
}
 
开发者ID:GoMint,项目名称:GoMint,代码行数:6,代码来源:MetadataInt.java

示例11: serialize

import io.gomint.jraknet.PacketBuffer; //导入方法依赖的package包/类
@Override
public void serialize( PacketBuffer buffer ) {
    buffer.writeSignedVarInt( this.gameMode );
}
 
开发者ID:GoMint,项目名称:ProxProx,代码行数:5,代码来源:PacketSetGamemode.java

示例12: serialize

import io.gomint.jraknet.PacketBuffer; //导入方法依赖的package包/类
@Override
public void serialize( PacketBuffer buffer ) {
    buffer.writeSignedVarInt( this.chunkRadius );
}
 
开发者ID:GoMint,项目名称:ProxProx,代码行数:5,代码来源:PacketSetChunkRadius.java

示例13: writeBlockPosition

import io.gomint.jraknet.PacketBuffer; //导入方法依赖的package包/类
public void writeBlockPosition( BlockPosition position, PacketBuffer buffer ) {
	buffer.writeSignedVarInt( position.getX() );
	buffer.writeUnsignedVarInt( position.getY() );
	buffer.writeSignedVarInt( position.getZ() );
}
 
开发者ID:GoMint,项目名称:ProxProx,代码行数:6,代码来源:Packet.java

示例14: serialize

import io.gomint.jraknet.PacketBuffer; //导入方法依赖的package包/类
@Override
public void serialize( PacketBuffer buffer ) {
    buffer.writeSignedVarLong( this.entityId );
    buffer.writeUnsignedVarLong( this.runtimeEntityId );
    buffer.writeSignedVarInt( this.gamemode );
    buffer.writeLFloat( this.spawn.getX() );
    buffer.writeLFloat( this.spawn.getY() );
    buffer.writeLFloat( this.spawn.getZ() );
    buffer.writeLFloat( this.spawn.getYaw() );
    buffer.writeLFloat( this.spawn.getPitch() );
    buffer.writeSignedVarInt( this.seed );
    buffer.writeSignedVarInt( this.dimension );
    buffer.writeSignedVarInt( this.generator );
    buffer.writeSignedVarInt( this.worldGamemode );
    buffer.writeSignedVarInt( this.difficulty );
    buffer.writeSignedVarInt( (int) this.spawn.getX() );
    buffer.writeSignedVarInt( (int) this.spawn.getY() );
    buffer.writeSignedVarInt( (int) this.spawn.getZ() );
    buffer.writeBoolean( this.hasAchievementsDisabled );
    buffer.writeSignedVarInt( this.dayCycleStopTime );
    buffer.writeBoolean( this.eduMode );
    buffer.writeLFloat( this.rainLevel );
    buffer.writeLFloat( this.lightningLevel );
    buffer.writeBoolean( this.isMultiplayerGame );
    buffer.writeBoolean( this.hasLANBroadcast );
    buffer.writeBoolean( this.hasXboxLiveBroadcast );
    buffer.writeBoolean( this.commandsEnabled );
    buffer.writeBoolean( this.isTexturePacksRequired );
    writeGamerules( this.gamerules, buffer );
    buffer.writeBoolean( this.hasBonusChestEnabled );
    buffer.writeBoolean( this.hasStartWithMapEnabled );
    buffer.writeBoolean( this.hasTrustPlayersEnabled );
    buffer.writeSignedVarInt( this.defaultPlayerPermission );
    buffer.writeSignedVarInt( this.xboxLiveBroadcastMode );

    buffer.writeString( this.levelId );
    buffer.writeString( this.worldName );
    buffer.writeString( this.templateName );
    buffer.writeBoolean( this.unknown1 );
    buffer.writeLLong( this.currentTick );
    buffer.writeSignedVarInt( this.enchantmentSeed );
}
 
开发者ID:GoMint,项目名称:GoMint,代码行数:43,代码来源:PacketStartGame.java

示例15: serialize

import io.gomint.jraknet.PacketBuffer; //导入方法依赖的package包/类
@Override
public void serialize( PacketBuffer buffer ) {
    buffer.writeSignedVarInt( this.actionId );
    buffer.writeUnsignedVarLong( this.entityId );
}
 
开发者ID:GoMint,项目名称:GoMint,代码行数:6,代码来源:PacketAnimate.java


注:本文中的io.gomint.jraknet.PacketBuffer.writeSignedVarInt方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。