非公式フォーラムにあったトピックをもとに以下を記載して投稿してください:
- 投稿したライブラリやコードの説明
- ライブラリやコードのライセンス
コード: 全て選択
Player player; #Playerの変数初期化は自分でお願いします。
EntityPlayer ep = ((CraftPlayer) player).getHandle();
ep.killEntity();
コード: 全て選択
public void onLogin(PlayerLoginEvent e){
Player player = e.getPlayer();
player.addPotionEffect(new PotionEffect(PotionEffectType.LUCK,10,0));
}
コード: 全て選択
public void onLogin(PlayerLoginEvent e){
Player player = e.getPlayer();
player.removePotionEffect(PotionEffectType.INVISIBILITY);
}
コード: 全て選択
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot</artifactId>
<version>ばーじょん</version>
</dependency>
コード: 全て選択
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId>
<version>1.12.2-R0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot</artifactId>
<version>1.12.2-R0.1-SNAPSHOT</version>
</dependency>
コード: 全て選択
//どこかしらでplayerを持ってくる必要がある。
PacketPlayOutPlayerInfo packet = new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.REMOVE_PLAYER, ((CraftPlayer)player).getHandle());
for (Player ps : Bukkit.getOnlinePlayers()) {
ps.hidePlayer(player);
((CraftPlayer)ps).getHandle().playerConnection.sendPacket(packet);
}
コード: 全て選択
//どこかしらでplayerを持ってくる必要がある。
PacketPlayOutPlayerInfo packet = new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.ADD_PLAYER, ((CraftPlayer)player).getHandle());
for (Player ps : Bukkit.getOnlinePlayers()) {
ps.showPlayer(player);
((CraftPlayer)ps).getHandle().playerConnection.sendPacket(packet);
}
コード: 全て選択
public void Flag(Player player,Boolean flag){
if(flag){
//プレイヤーを消す
PacketPlayOutPlayerInfo packet = new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.REMOVE_PLAYER, ((CraftPlayer)player).getHandle());
for (Player ps : Bukkit.getOnlinePlayers()) {
ps.hidePlayer(player);
((CraftPlayer)ps).getHandle().playerConnection.sendPacket(packet);
}
} else {
//プレイヤーを表示する
PacketPlayOutPlayerInfo packet = new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.ADD_PLAYER, ((CraftPlayer)player).getHandle());
for (Player ps : Bukkit.getOnlinePlayers()) {
ps.showPlayer(player);
((CraftPlayer)ps).getHandle().playerConnection.sendPacket(packet);
}
}
}
コード: 全て選択
Flag(p,true)
コード: 全て選択
Flag(p,false)
コード: 全て選択
public String getLocale(Player player) {
Object ep;
try {
ep = getMethod("getHandle", player.getClass()).invoke(player, (Object[]) null);
Field f = ep.getClass().getDeclaredField("locale");
f.setAccessible(true);
String language = (String) f.get(ep);
return language;
} catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchFieldException | SecurityException e) {
e.printStackTrace();
}
return null;
}
private Method getMethod(String name, Class<?> clazz) {
for (Method m : clazz.getDeclaredMethods()) {
if (m.getName().equals(name))
return m;
}
return null;
}
コード: 全て選択
//Player変数の初期化は自分で
player.getLocale();
コード: 全て選択
public static String getClientVer(Player player) {
int protocol = ProtocolLibrary.getProtocolManager().getProtocolVersion(player);
switch (protocol) {
case 335:
return "1.12";
case 338:
return "1.12.1";
case 340:
return "1.12.2";
case 393:
return "1.13";
case 401:
return "1.13.1";
case 404:
return "1.13.2";
case 477:
return "1.14";
case 480:
return "1.14.1";
case 485:
return "1.14.2";
case 490:
return "1.14.3";
case 498:
return "1.14.4";
case 573:
return "1.15";
case 575:
return "1.15.1";
case 578:
return "1.15.2";
case 735:
return "1.16";
case 736:
return "1.16.1";
case 751:
return "1.16.2";
case 753:
return "1.16.3";
default:
return "UNKNOWN";
}
}
コード: 全て選択
Bukkit.broadcastMessage("String");
コード: 全て選択
@EventHandler
public void onPerformCommand(PlayerCommandPreprocessEvent event) {
//プレイヤーがplugins、plコマンドを実行した時
if (event.getMessage().matches("/plugins") || event.getMessage().matches("/pl")) {
//返すメッセージを引数内のものに設定する
event.setMessage("There are no Plugins in this server.");
}
}
コード: 全て選択
player.openInventory(player.getInventory());
コード: 全て選択
Player targetplayer = player.getServer().getPlayer(args[0]);
player.openInventory(targetplayer.getInventory());
コード: 全て選択
player.openInventory(player.getEnderChest());
コード: 全て選択
Player targetplayer = player.getServer().getPlayer(args[0]);
player.openInventory(targetplayer.getEnderChest());
コード: 全て選択
player.openWorkbench(null, true);
コード: 全て選択
player.openEnchanting(null, true);