當前位置: 首頁>>代碼示例>>Java>>正文


Java TileEntitySign.getIsEditable方法代碼示例

本文整理匯總了Java中net.minecraft.tileentity.TileEntitySign.getIsEditable方法的典型用法代碼示例。如果您正苦於以下問題:Java TileEntitySign.getIsEditable方法的具體用法?Java TileEntitySign.getIsEditable怎麽用?Java TileEntitySign.getIsEditable使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在net.minecraft.tileentity.TileEntitySign的用法示例。


在下文中一共展示了TileEntitySign.getIsEditable方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: handleUpdateSign

import net.minecraft.tileentity.TileEntitySign; //導入方法依賴的package包/類
/**
 * Updates a specified sign with the specified text lines
 */
public void handleUpdateSign(S33PacketUpdateSign packetIn) {
	PacketThreadUtil.checkThreadAndEnqueue(packetIn, this, this.gameController);
	boolean flag = false;

	if (this.gameController.theWorld.isBlockLoaded(packetIn.getPos())) {
		TileEntity tileentity = this.gameController.theWorld.getTileEntity(packetIn.getPos());

		if (tileentity instanceof TileEntitySign) {
			TileEntitySign tileentitysign = (TileEntitySign) tileentity;

			if (tileentitysign.getIsEditable()) {
				System.arraycopy(packetIn.getLines(), 0, tileentitysign.signText, 0, 4);
				tileentitysign.markDirty();
			}

			flag = true;
		}
	}

	if (!flag && this.gameController.thePlayer != null) {
		this.gameController.thePlayer.addChatMessage(new ChatComponentText("Unable to locate sign at "
				+ packetIn.getPos().getX() + ", " + packetIn.getPos().getY() + ", " + packetIn.getPos().getZ()));
	}
}
 
開發者ID:SkidJava,項目名稱:BaseClient,代碼行數:28,代碼來源:NetHandlerPlayClient.java

示例2: processUpdateSign

import net.minecraft.tileentity.TileEntitySign; //導入方法依賴的package包/類
public void processUpdateSign(C12PacketUpdateSign packetIn)
{
    PacketThreadUtil.checkThreadAndEnqueue(packetIn, this, this.playerEntity.getServerForPlayer());
    this.playerEntity.markPlayerActive();
    WorldServer worldserver = this.serverController.worldServerForDimension(this.playerEntity.dimension);
    BlockPos blockpos = packetIn.getPosition();

    if (worldserver.isBlockLoaded(blockpos))
    {
        TileEntity tileentity = worldserver.getTileEntity(blockpos);

        if (!(tileentity instanceof TileEntitySign))
        {
            return;
        }

        TileEntitySign tileentitysign = (TileEntitySign)tileentity;

        if (!tileentitysign.getIsEditable() || tileentitysign.getPlayer() != this.playerEntity)
        {
            this.serverController.logWarning("Player " + this.playerEntity.getName() + " just tried to change non-editable sign");
            return;
        }

        IChatComponent[] aichatcomponent = packetIn.getLines();

        for (int i = 0; i < aichatcomponent.length; ++i)
        {
            tileentitysign.signText[i] = new ChatComponentText(EnumChatFormatting.getTextWithoutFormattingCodes(aichatcomponent[i].getUnformattedText()));
        }

        tileentitysign.markDirty();
        worldserver.markBlockForUpdate(blockpos);
    }
}
 
開發者ID:Notoh,項目名稱:DecompiledMinecraft,代碼行數:36,代碼來源:NetHandlerPlayServer.java

示例3: handleUpdateSign

import net.minecraft.tileentity.TileEntitySign; //導入方法依賴的package包/類
/**
 * Updates a specified sign with the specified text lines
 */
public void handleUpdateSign(S33PacketUpdateSign packetIn)
{
    PacketThreadUtil.checkThreadAndEnqueue(packetIn, this, this.gameController);
    boolean flag = false;

    if (this.gameController.theWorld.isBlockLoaded(packetIn.getPos()))
    {
        TileEntity tileentity = this.gameController.theWorld.getTileEntity(packetIn.getPos());

        if (tileentity instanceof TileEntitySign)
        {
            TileEntitySign tileentitysign = (TileEntitySign)tileentity;

            if (tileentitysign.getIsEditable())
            {
                System.arraycopy(packetIn.getLines(), 0, tileentitysign.signText, 0, 4);
                tileentitysign.markDirty();
            }

            flag = true;
        }
    }

    if (!flag && this.gameController.thePlayer != null)
    {
        this.gameController.thePlayer.addChatMessage(new ChatComponentText("Unable to locate sign at " + packetIn.getPos().getX() + ", " + packetIn.getPos().getY() + ", " + packetIn.getPos().getZ()));
    }
}
 
開發者ID:Notoh,項目名稱:DecompiledMinecraft,代碼行數:32,代碼來源:NetHandlerPlayClient.java

示例4: processUpdateSign

import net.minecraft.tileentity.TileEntitySign; //導入方法依賴的package包/類
public void processUpdateSign(CPacketUpdateSign packetIn)
{
    PacketThreadUtil.checkThreadAndEnqueue(packetIn, this, this.playerEntity.getServerWorld());
    this.playerEntity.markPlayerActive();
    WorldServer worldserver = this.serverController.worldServerForDimension(this.playerEntity.dimension);
    BlockPos blockpos = packetIn.getPosition();

    if (worldserver.isBlockLoaded(blockpos))
    {
        IBlockState iblockstate = worldserver.getBlockState(blockpos);
        TileEntity tileentity = worldserver.getTileEntity(blockpos);

        if (!(tileentity instanceof TileEntitySign))
        {
            return;
        }

        TileEntitySign tileentitysign = (TileEntitySign)tileentity;

        if (!tileentitysign.getIsEditable() || tileentitysign.getPlayer() != this.playerEntity)
        {
            this.serverController.logWarning("Player " + this.playerEntity.getName() + " just tried to change non-editable sign");
            return;
        }

        String[] astring = packetIn.getLines();

        for (int i = 0; i < astring.length; ++i)
        {
            tileentitysign.signText[i] = new TextComponentString(TextFormatting.getTextWithoutFormattingCodes(astring[i]));
        }

        tileentitysign.markDirty();
        worldserver.notifyBlockUpdate(blockpos, iblockstate, iblockstate, 3);
    }
}
 
開發者ID:NSExceptional,項目名稱:Zombe-Modpack,代碼行數:37,代碼來源:NetHandlerPlayServer.java


注:本文中的net.minecraft.tileentity.TileEntitySign.getIsEditable方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。