Player player = event.getPlayer();
Player player = event.getPlayer("プレイヤー名");
if (player instanceof Player){ ///プレイヤーだった場合の処理 }
if (sender instanceof Player){ /// プレイヤーだった場合 }else{ /// プレイヤーオブジェクトではない場合 }
import cn.nukkit.command.ConsoleCommandSender; if (sender instanceof ConsoleCommandSender){ /// コンソールだった場合 }else{ /// コンソールではない場合 }
this.getServer().broadcastMessage("メッセージ");
this.getServer().broadcastPopup("メッセージ");
player.kick("理由", true); ///trueをfalseにすることで"Kicked by admin."と表示されなくなります player.close("", "理由"); ///kickの使用を推奨します。 (1番目の引数をplayer.getLeaveMessage()にすることで、プレイヤーの退出がブロードキャストされます) リスポン地点の変更
import cn.nukkit.math.Vector3;
Vector3 pos = new Vector3(int x座標, int y座標,int z座標); //intは整数のみ使用可能です player.setSpawn(pos);
player gamemode = player.getGamemode(); /// 戻り値(int)0=サバイバル, 1=クリエイティブ, 2,アドベンチャー,3 スペクテイター //プラスアルファ<数値からString型の名前を作る> String gamemode;//名前が入る変数 switch(player.getGamemode()){ case 0: gamemode = "サバイバル"; case 1: gamemode = "クリエイティブ"; case 2: gamemode = "アドベンチャー"; case 3: gamemode = "スペクテイター"; }
int x = player.getX(); ///X座標、getXのXを変更すればY、Z座標も取得可能 player.getDirection(); ///方向 0=南,1=西,2=北,3=東
player.isOp(); ///opならtrue //プラスアルファ<opかどうかで条件分岐> if(player.isOp()){ //opだったときの処理 }else{ //opではなかったときの処理 }
player.attack(1, event); ///1番目の引数にダメージ数を、2番目にEntityDamageEventが必要です(EntityDamageEventについては省略) player.setOnFire(10); ///プレイヤーを燃やす(秒数)
import cn.nukkit.event.entity.EntityDamageEvent;コード
ev = new EntityDamageEvent(entity, 1 , X); ///Xを変えることでダメージの強さが変更できます entity.attack(ev.getFinalDamage(), ev);
import cn.nukkit.event.entity.EntityDeathEvent; import cn.nukkit.item.Item;
import cn.nukkit.event.player.PlayerDeathEvent;
import cn.nukkit.event.entity.EntityDeathEvent; import cn.nukkit.item.Item;
itema = Item.get(アイテムID, メタデータ, 数); itemb = Item.get(アイテムID, メタデータ, 数); Item[] item = {itema, itemb}; ///指定したアイテムを配列に格納 event.setDrops(item); ///指定アイテムをドロップ
import Nukkit.event.entity.EntityRegainHealthEvent;
he = new EntityRegainHealthEvent(player, 回復量, EntityRegainHealthEvent::CAimport_EATING); player.heal(回復量, he);
import cn.Nukkit.item.Item;
item = Item::get(アイテムid, メタデータ, 数); ///itemオブジェクトの生成 player.getInventory().addItem(item); ///アイテムを追加 player.getInventory().removeItem(item); ///アイテムを消去
import cn.Nukkit.inventory.PlayerInventory;
player.getInventory().clearAll(); ///アイテムをすべて消去(装備されている防具も消されます)
import cn.Nukkit.item.Item; player.getInventory().setArmorItem(0,Item::get(298,0,1)); ///ヘルメット player.getInventory().setArmorItem(1,Item::get(299,0,1)); ///チェストプレート player.getInventory().setArmorItem(2,Item::get(300,0,1)); ///レギンス player.getInventory().setArmorItem(3,Item::get(301,0,1)); ///ブーツ player.getInventory().sendArmorContents(player); ///防具の変更を反映
import cn.Nukkit.math.Vector3; Vector3 or Player [稼働しない場合どちらかを使用してください] 稼働しない可能正あり vector = new Vector3(x座標, y座標, z座標); ///座標を指定 player.setSpawn(vector); ///スポーンをセット
import cn.Nukkit.Server;
//修正しておきました itsu Player players[] = Server.getInstance().getOnlinePlayers(); for(int i=0;players[].getlength;i++;) { ///処理 }
import cn.Nukkit.math.Vector3;
Vector3 vector = new Vector3(x座標, y座標, z座標); ///座標を指定 player.teleport(vector); //ワールド(Level)を指定したい場合は座標指定にPositionクラスを指定して下さい //以下のimport文が必要です import cn.Nukkit.level.Position; Position pos = new Position(x座標, y座標, z座標, Levelオブジェクト); ///座標を指定 player.teleport(pos);
import cn.Nukkit.entity.Effect;
Effect effect = Effect::getEffect(1); ///effectID effect.setDuration(30*20); ///効果の時間*20 effect.setAmplifier(0); ///効果の強さ effect.setVisible(true); ///パーティクルを表示するかどうか player.addEffect(effect);
player.addEffect(Effect.getEffect(1).setDuration(30*20).setAmplifier(0).setVisible(true));※EffectIDの指定はEffectクラスのオブジェクト定数で指定することを推奨します。(今後EffectIDが変わる可能性があるため)
Effect.SPEED
player.removeEffect(1); ///指定したEffectIDのエフェクトを除去 player.removeAllEffects(); ///すべてのエフェクトを除去
MotionJ = new Vector3(0,0,0); jump = 0.8; ///高さ MotionJ.y = jump; player.setMotion(MotionJ); ///ジャンプ
MotionA = new Vector3(0,0,0); dir=player.getDirection(); ///向いている方向 move = 3; ///動かしたいブロック数 if(dir === 0){MotionA.x=move;} ///南 if(dir === 1){MotionA.z=move;} ///西 if(dir === 2){MotionA.x=-move;} ///北 if(dir === 3){MotionA.z=-move;} ///東 player.setMotion(MotionA); ///動かす
import Nukkit.level.Level; import Nukkit.block.Block; import Nukkit.math.Vector3;※level変数に必ずLevelオブジェクトを入れておいてください
level = this.getServer().getDefaultLevel(); ///Levelオブジェクトの取得
import Nukkit.import Nukkit.Server;
if(this.getServer().getInstance().isLevelLoaded("ワールド名")){ ///レベルオブジェクトかを条件分岐 level = Server::getInstance().getLevelByName("ワールド名"); ///Levelオブジェクトの取得 }
this.getServer().unloadLevel(level);※ワールド名ではなくレベルオブジェクトを渡してください。
x = block.getX(); ///X座標 y = block.getY(); ///Y座標 z = block.getZ(); ///Z座標 x = block.x; ///X座標 y = block.y; ///Y座標 z = block.z; ///Z座標
block = level.getBlock(vector); ///Blockオブジェクトの取得 block.getID(); ///ブロックID block.getMetadata(); ///メタ値 block.getName(); ///ブロック名
block = Block.get(ブロックid,メタ値); ///Blockオブジェクトの生成 vector = new Vector3(x座標, y座標, z座標); level.setBlock(vector, block);
import Nukkit.item.Item;
item = Item.get(アイテムid, メタデータ, 数); ///itemオブジェクトの生成 vector = new Vector3(x座標, y座標, z座標); ///座標を指定 level.dropItem(vector,item); ///アイテムをドロップする
import Nukkit.level.Explosion; import Nukkit.level.Position;
explosion = new Explosion(new Position(x座標, y座標, z座標, level), 3); ///Explosionオブジェクトの生成 explosion.explode();
import Nukkit.tile.Sign;
pos = new Vector3(X座標, Y座標, Z座標); ///座標をセット sign = level.getTile(pos); ///Tileオブジェクト取得 if(sign instanceof Sign){ ///Signオブジェクトかの判定 text = sign.getText(); ///テキストを取得 }
import Nukkit.tile.Sign;
pos = new Vector3(X座標, Y座標, Z座標); ///座標をセット sign = level.getTile(pos); ///Tileオブジェクトを取得 if(sign instanceof Sign){ ///Signオブジェクトかの判定 sign.setText("Text1", "Text2", "Text3", "Text4"); ///文字をセット sign.saveNBT(); ///データ(NBT)を保存 }
import Nukkit.tile.Tile; import Nukkit.tile.Chest as TileChest;
pos = new Vector3(X座標, Y座標, Z座標); ///座標をセット chest = level.getTile(pos); ///Tileオブジェクトを取得 if(chest instanceof TileChest){ ///TileChestオブジェクトかの判定 chest.getInventory().getItem(1); ///特定のスロットのアイテムを取得 ///itemにはitemオブジェクトを入れておいてください chest.getInventory().setItem(1, item); ///特定のスロットにアイテムを入れる chest.getInventory().getContents(); ///すべてのアイテムを取得 ///itemにはitemオブジェクトを配列に入れたものを入れてください chest.getInventory().setContents(item); ///アイテムを上書き chest.saveNBT(); ///データ(NBT)を保存 }
import Nukkit.level.sound.(サウンド名)Sound;
pos = new Vector3(X座標, Y座標, Z座標); ///再生する座標 sound = new <サウンド名>Sound(pos); ///サウンドオブジェクトの生成 level.addSound(sound); ///サウンドを再生
import Nukkit.level.particle.(パーティクル名)Particle;
pos = new Vector3(X座標, Y座標, Z座標); ///座標 particle = new <パーティクル名>Particle(pos); count = 20; ///回数 for(i = 0;i < count; ++i){ level.addParticle(particle); }
import Nukkit.utils.Random;
particle = new <パーティクル名>Particle(new Vector3(X座標, Y座標, Z座標)); xd = 3 * 100; ///調整 yd = 3 * 100; zd = 3 * 100; random = new Random*1; count = 25; ///回数 for(i = 0; i < count; ++i){ particle.setComponents( particle.x + random.nextSignedFloat() * xd, particle.y + random.nextSignedFloat() * yd, particle.z + random.nextSignedFloat() * zd ); level.addParticle(particle); }