【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

Modding・サーバPlugin制作・ツール制作など、開発関連の質問があればこちらにお願い致します。
フォーラムルール
質問関連フォーラムで質問する時は、必ず次のトピックを一読/厳守お願い致します。
viewtopic.php?f=5&t=999
  • (PostNo.296453)

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事by e.e » 2017年2月22日(水) 18:24

setMetadataを使うときに setMetadata(String, new FixedMetadataValue(plugin, true)); こんな感じにしようとしようとしたのですが
pluginのところに入れるものってなんなのでしょうか、 public Main plugin; こういうものでつなげて別パッケージで使っていたのですが
エラーが出てしまいました、でエラーメッセージをたどったところsetMetadataのpluginのとこだったのですが
ここには何を入れれば正常に動くのでしょうか、BukkitRunnableの方もできなくて困っています、よろしくお願いします
e.e
ID:f86fe74b
 

  • (PostNo.296455)

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事by amata1219 » 2017年2月22日(水) 19:13

e.e さんが書きました:setMetadataを使うときに setMetadata(String, new FixedMetadataValue(plugin, true)); こんな感じにしようとしようとしたのですが
pluginのところに入れるものってなんなのでしょうか、 public Main plugin; こういうものでつなげて別パッケージで使っていたのですが
エラーが出てしまいました、でエラーメッセージをたどったところsetMetadataのpluginのとこだったのですが
ここには何を入れれば正常に動くのでしょうか、BukkitRunnableの方もできなくて困っています、よろしくお願いします


可能でしたらコードとエラーを載せて頂けると回答しやすいのですが…
サブクラスで制作されているように見受けられますのでメインクラスに、public static メインクラス名 plugin;と作ってサブクラスのsetMetadataでそれを使用すれば正常に動くかと…?
最後に編集したユーザー amata1219 [ 2017年2月28日(火) 22:47 ], 累計 1 回
アバター
amata1219
ID:122b302c
木を殴ってる
 
記事: 12
登録日時: 2016年11月18日(金) 16:46
お住まい: 愛知県

  • (PostNo.296475)

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事by e.e » 2017年2月22日(水) 22:55

そのようにして見たところ

---
[22:54:00 ERROR]: Could not pass event PlayerMoveEvent to Bravers v0.1
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[spigot.jar:git-Spigot-d4f98a3-64277ec]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot.jar:git-Spigot-d4f98a3-64277ec]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot.jar:git-Spigot-d4f98a3-64277ec]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot.jar:git-Spigot-d4f98a3-64277ec]
at net.minecraft.server.v1_11_R1.PlayerConnection.a(PlayerConnection.java:615) [spigot.jar:git-Spigot-d4f98a3-64277ec]
at net.minecraft.server.v1_11_R1.PacketPlayInFlying.a(SourceFile:126) [spigot.jar:git-Spigot-d4f98a3-64277ec]
at net.minecraft.server.v1_11_R1.PacketPlayInFlying$PacketPlayInPosition.a(SourceFile:57) [spigot.jar:git-Spigot-d4f98a3-64277ec]
at net.minecraft.server.v1_11_R1.PlayerConnectionUtils$1.run(SourceFile:13) [spigot.jar:git-Spigot-d4f98a3-64277ec]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_111]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_111]
at net.minecraft.server.v1_11_R1.SystemUtils.a(SourceFile:46) [spigot.jar:git-Spigot-d4f98a3-64277ec]
at net.minecraft.server.v1_11_R1.MinecraftServer.D(MinecraftServer.java:747) [spigot.jar:git-Spigot-d4f98a3-64277ec]
at net.minecraft.server.v1_11_R1.DedicatedServer.D(DedicatedServer.java:399) [spigot.jar:git-Spigot-d4f98a3-64277ec]
at net.minecraft.server.v1_11_R1.MinecraftServer.C(MinecraftServer.java:678) [spigot.jar:git-Spigot-d4f98a3-64277ec]
at net.minecraft.server.v1_11_R1.MinecraftServer.run(MinecraftServer.java:576) [spigot.jar:git-Spigot-d4f98a3-64277ec]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_111]
Caused by: java.lang.IllegalArgumentException: owningPlugin cannot be null
at org.apache.commons.lang.Validate.notNull(Validate.java:192) ~[spigot.jar:git-Spigot-d4f98a3-64277ec]
at org.bukkit.metadata.MetadataValueAdapter.<init>(MetadataValueAdapter.java:20) ~[spigot.jar:git-Spigot-d4f98a3-64277ec]
at org.bukkit.metadata.LazyMetadataValue.<init>(LazyMetadataValue.java:63) ~[spigot.jar:git-Spigot-d4f98a3-64277ec]
at org.bukkit.metadata.FixedMetadataValue.<init>(FixedMetadataValue.java:30) ~[spigot.jar:git-Spigot-d4f98a3-64277ec]
at sem.brave.event.PlayerMove.onMove(PlayerMove.java:35) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_111]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_111]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_111]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_111]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[spigot.jar:git-Spigot-d4f98a3-64277ec]
... 15 more
---
このようなエラーメッセージを吐きました,
PlayerMoveの35行目
player.setMetadata("BleedFlag", new FixedMetadataValue(Main.plugin, true));
e.e
ID:f86fe74b
 

  • (PostNo.296476)

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事by e.e » 2017年2月22日(水) 23:00

補足
コード
Main
---
public class Main extends JavaPlugin{
public static Main plugin;

@Override
public void onEnable(){

PluginManager pm = Bukkit.getPluginManager();
pm.registerEvents(new PlayerJoin(), this);
pm.registerEvents(new PlayerMove(), this);

}

@Override
public void onDisable(){

}
}
---

PlayerMove
---
public class PlayerMove implements Listener{

@EventHandler
public void onMove(PlayerMoveEvent event){
final Player player = event.getPlayer();
PlayerDataManager data = PlayerDataManager.getConfig(player);
FileConfiguration config = data.getConfig();

boolean stun = config.getBoolean("player" + ".bad" + ".stun");
boolean bleed = config.getBoolean("player" + ".bad" + ".bleed");
boolean poison = config.getBoolean("player" + ".bad" + ".poison");

if(stun == true){
player.sendMessage(ChatColor.DARK_RED + "You are stun now!");
event.setCancelled(true);
}

if(bleed == true){
config.set("player" + ".bad" + ".bleed", false);
player.setMetadata("BleedFlag", new FixedMetadataValue(Main.plugin, true));

new BukkitRunnable(){

double hp = player.getHealth();
int count = 0;

@Override
public void run(){
player.setHealth(player.getHealth() - (hp * 0.02));
count++;

if(count <= 8){
this.cancel();
}
}
}.runTaskTimer(Main.plugin, 0, 20);
}

if(player.hasMetadata("BleedFlag")){
final Block block = player.getLocation().getBlock();

new BukkitRunnable(){
double hp = player.getHealth();
@Override
public void run(){
Block block2 = player.getLocation().getBlock();
if(block != block2){
player.setHealth(player.getHealth() - (hp * 0.04));
}else if(block == block2){
return;
}
}
}.runTaskLater(Main.plugin, 10);
}
}
}
---
e.e
ID:f86fe74b
 

  • (PostNo.296482)

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事by えめらるど » 2017年2月22日(水) 23:21

version1.11.2 setMaxHealth を使おうとしたのですが
デッドコードで使えませんでした
使う方法、もしくわ、別のマックスhealthを設定する方法があれば教えてほしいです
よろしくお願いします
えめらるど
ID:bd787e33
 

  • (PostNo.296484)

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事by Lemon18 » 2017年2月23日(木) 00:03

e.e さんが書きました://省略
Caused by: java.lang.IllegalArgumentException: owningPlugin cannot be null
//省略


onEnable()時に変数pluginにメインクラス(JavaPluginを継承したクラス)のインスタンスを代入してください。
Bukkitプラグインとか作ったり作らなかったり。
「どのOSでも使える」を目標に日本語入力ツールを作っています。良ければ見てください。
http://forum.minecraftuser.jp/viewtopic.php?f=36&t=31671


Twitter: https://twitter.com/Lemon1806
Minecraft: Applemon
Lemon18
ID:b66be5f3
石掘り
 
記事: 84
登録日時: 2015年6月05日(金) 22:42

  • (PostNo.296485)

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事by Lemon18 » 2017年2月23日(木) 00:06

えめらるど さんが書きました:version1.11.2 setMaxHealth を使おうとしたのですが
デッドコードで使えませんでした
使う方法、もしくわ、別のマックスhealthを設定する方法があれば教えてほしいです
よろしくお願いします


https://hub.spigotmc.org/javadocs/spigot/org/bukkit/entity/Damageable.html#setMaxHealth(double)
これ読めば他の手段がわかるかと。
Bukkitプラグインとか作ったり作らなかったり。
「どのOSでも使える」を目標に日本語入力ツールを作っています。良ければ見てください。
http://forum.minecraftuser.jp/viewtopic.php?f=36&t=31671


Twitter: https://twitter.com/Lemon1806
Minecraft: Applemon
Lemon18
ID:b66be5f3
石掘り
 
記事: 84
登録日時: 2015年6月05日(金) 22:42

  • (PostNo.296493)

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事by えめらるど » 2017年2月23日(木) 07:24

そこページは質問する前に調べたときにたどり着いていたのですが、みなさんはどのようにして使い方を見ているのでしょうか、
繰り返しの質問申し訳ありません、
えめらるど
ID:f86fe74b
 

  • (PostNo.296495)

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事by Lemon18 » 2017年2月23日(木) 10:38

えめらるど さんが書きました:そこページは質問する前に調べたときにたどり着いていたのですが、みなさんはどのようにして使い方を見ているのでしょうか、
繰り返しの質問申し訳ありません、


ちゃんと調べましたか?使い方はJavadocを見ればほとんどわかります。もしわからなくても調べればわかることが大抵です。
先ほどのリンクにはDeprecated. use Attribute.GENERIC_MAX_HEALTH.と書いてありますよね?
Attribute.GENERIC_MAX_HEALTHを検索すれば一発でわかると思うのですが...

追記: 今思ったのですがデッドコードって到達不能コードのことですよね...それならdeprecatedのメソッドを使うことが原因じゃないですよね... 何かコードに致命的なミスがあるのでは?
Bukkitプラグインとか作ったり作らなかったり。
「どのOSでも使える」を目標に日本語入力ツールを作っています。良ければ見てください。
http://forum.minecraftuser.jp/viewtopic.php?f=36&t=31671


Twitter: https://twitter.com/Lemon1806
Minecraft: Applemon
Lemon18
ID:b66be5f3
石掘り
 
記事: 84
登録日時: 2015年6月05日(金) 22:42

  • (PostNo.296496)

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事by King(qpwakaba) » 2017年2月23日(木) 10:52

えめらるど さんが書きました:そこページは質問する前に調べたときにたどり着いていたのですが、みなさんはどのようにして使い方を見ているのでしょうか、
繰り返しの質問申し訳ありません、


Javadocの見方、そんなに複雑でもないんで 目的のメソッド見つけたらその付近を読んで見るだけでも色んな情報わかりますよ。
どのようにして、と聞かれても回答に困ってしまいますが、とにかく付近を読んでみることです。
読んでもわからない部分は実際に実行して試してみるのが一番です。
以下サイン
調べて見つからないことを質問して、「そのくらい調べろ」と言われたら それは調べが足りないとき。

投稿画面のBBコード挿入ボタン を追加するユーザースクリプト作りました。良かったらどうぞ。
https://greasyfork.org/ja/scripts/18657
最大描画距離を64チャンクまで伸ばすMod作ってます。
viewtopic.php?t=30697
アバター
King(qpwakaba)
ID:3d8bc356
ダイヤモンド掘り
 
記事: 809
登録日時: 2013年3月26日(火) 10:25

  • (PostNo.296548)

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事by Sea of trees » 2017年2月24日(金) 00:40

質問です。
PlayerCommandPreprocessEventでは、 e.getPlayer().kickPlayer("You kicked."); からkickが行えるのですが、
AsyncPlayerChatEventからでは、e.getPlayer.kickPlayer("You kicked.");を使用するとエラーが出ます。
エラー文と、EventListenerの内容は以下の通りです。

エラー文
Could not pass event AsyncPlayerChatEvent to TestPlugin v1.1
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:310) ~[spigot-1.8.8.jar:git-Spigot-e4d4710-e1ebe52]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot-1.8.8.jar:git-Spigot-e4d4710-e1ebe52]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot-1.8.8.jar:git-Spigot-e4d4710-e1ebe52]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:484) [spigot-1.8.8.jar:git-Spigot-e4d4710-e1ebe52]
at net.minecraft.server.v1_8_R3.PlayerConnection.chat(PlayerConnection.java:1084) [spigot-1.8.8.jar:git-Spigot-e4d4710-e1ebe52]
at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:1022) [spigot-1.8.8.jar:git-Spigot-e4d4710-e1ebe52]
at net.minecraft.server.v1_8_R3.PacketPlayInChat$1.run(PacketPlayInChat.java:39) [spigot-1.8.8.jar:git-Spigot-e4d4710-e1ebe52]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_111]
at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_111]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_111]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_111]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_111]
Caused by: java.lang.IllegalStateException: Asynchronous player kick!
at org.spigotmc.AsyncCatcher.catchOp(AsyncCatcher.java:14) ~[spigot-1.8.8.jar:git-Spigot-e4d4710-e1ebe52]
at org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer.kickPlayer(CraftPlayer.java:214) ~[spigot-1.8.8.jar:git-Spigot-e4d4710-e1ebe52]
at test.core.EventListener.playerChat(EventListener.java:19) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_111]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_111]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_111]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_111]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[spigot-1.8.8.jar:git-Spigot-e4d4710-e1ebe52]
... 11 more


問題のEventListener.java 全文
package test.core;

import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerChatEvent;
import org.bukkit.event.player.PlayerCommandPreprocessEvent;

public class EventListener implements Listener{

public EventListener(Main plugin){
plugin.getServer().getPluginManager().registerEvents(this, plugin);
}

//プレイヤーがチャットを打ったイベント (コマンドを含めない)
@EventHandler
public static void playerChat(AsyncPlayerChatEvent e){
//kick Player
e.getPlayer().kickPlayer("chat"); //できない

}


//プレイヤーがコマンドを打ったイベント
@EventHandler
public static void playerCommand(PlayerCommandPreprocessEvent e){
//kick player
e.getPlayer().kickPlayer("command"); //できる
}


}


以下のトピックでヒントになりそうなコメントがあったのですが、ここでは具体的な解決法が書かれていませんでした。
viewtopic.php?t=20756#p180733

プラグイン側で有効時常にループ処理をして、プレイヤーがチャットを打ったらbool をtrueにしてそのループ処理時にkickも考えたのですが、
少なからず鯖に負荷をかかることを考えるとあまり使いたくありません。これ以外の方法で、
上記のプレイヤーがチャットを打ったタイミングでプレイヤーをkickするためにはどうするにはどうすればいいでしょうか。

(余談ですが、19行目って空白ですよね....)
鯖を立てていてわからないことがあるときまずすることは、
質問することではなく、調べることです。
アバター
Sea of trees
ID:984c339d
木を殴ってる
 
記事: 27
登録日時: 2015年3月01日(日) 15:27
お住まい: 日本

  • (PostNo.296549)

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事by Lemon18 » 2017年2月24日(金) 01:19

Sea of trees さんが書きました:質問です。
PlayerCommandPreprocessEventでは、 e.getPlayer().kickPlayer("You kicked."); からkickが行えるのですが、
AsyncPlayerChatEventからでは、e.getPlayer.kickPlayer("You kicked.");を使用するとエラーが出ます。


Asyncという名前の通り非同期で行われているイベントなので同期処理でメソッドを実行してください。
(BukkitRunnableからruntaskすればできます。)

追記: Caused by: java.lang.IllegalStateException: Asynchronous player kick! を調べると一発で解決できますね...

細かいことですがメッセージは"You have been kicked."とされるべきでは?
Bukkitプラグインとか作ったり作らなかったり。
「どのOSでも使える」を目標に日本語入力ツールを作っています。良ければ見てください。
http://forum.minecraftuser.jp/viewtopic.php?f=36&t=31671


Twitter: https://twitter.com/Lemon1806
Minecraft: Applemon
Lemon18
ID:b66be5f3
石掘り
 
記事: 84
登録日時: 2015年6月05日(金) 22:42

  • (PostNo.296620)

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事by Sea of trees » 2017年2月24日(金) 23:58

Lemon18 さんが書きました:
Asyncという名前の通り非同期で行われているイベントなので同期処理でメソッドを実行してください。
(BukkitRunnableからruntaskすればできます。)

追記: Caused by: java.lang.IllegalStateException: Asynchronous player kick! を調べると一発で解決できますね...

細かいことですがメッセージは"You have been kicked."とされるべきでは?


なるほど、Runnableでオーバーライドさせればよかったのですね。ありがとうございます。
それと、英文のほうはおっしゃる通りです。
こんなところも詰めが甘いみたいです。
教えていただきありがとうございました。<m(__)m>
鯖を立てていてわからないことがあるときまずすることは、
質問することではなく、調べることです。
アバター
Sea of trees
ID:984c339d
木を殴ってる
 
記事: 27
登録日時: 2015年3月01日(日) 15:27
お住まい: 日本

  • (PostNo.296638)

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事by e.e » 2017年2月25日(土) 11:09

なるほど、回答ありがとうございます
おかげで解決することができました
e.e
ID:f86fe74b
 

  • (PostNo.296664)

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事by King(qpwakaba) » 2017年2月25日(土) 16:10

Lemon18 さんが書きました:
Sea of trees さんが書きました:質問です。
PlayerCommandPreprocessEventでは、 e.getPlayer().kickPlayer("You kicked."); からkickが行えるのですが、
AsyncPlayerChatEventからでは、e.getPlayer.kickPlayer("You kicked.");を使用するとエラーが出ます。


Asyncという名前の通り非同期で行われているイベントなので同期処理でメソッドを実行してください。
(BukkitRunnableからruntaskすればできます。)

追記: Caused by: java.lang.IllegalStateException: Asynchronous player kick! を調べると一発で解決できますね...

細かいことですがメッセージは"You have been kicked."とされるべきでは?


BukkitAPIに非同期でアクセスするのはあまり良くないというのを何処かで聞いたんですが、
runTaskメソッドは非同期からの実行で問題ないのかな。。callSyncMethodがあるから自分はこっちをよく使っていたのですが どっちのほうが良いんでしょう、、、
以下サイン
調べて見つからないことを質問して、「そのくらい調べろ」と言われたら それは調べが足りないとき。

投稿画面のBBコード挿入ボタン を追加するユーザースクリプト作りました。良かったらどうぞ。
https://greasyfork.org/ja/scripts/18657
最大描画距離を64チャンクまで伸ばすMod作ってます。
viewtopic.php?t=30697
アバター
King(qpwakaba)
ID:a8fd1c46
ダイヤモンド掘り
 
記事: 809
登録日時: 2013年3月26日(火) 10:25

  • (PostNo.296678)

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事by えめらるど » 2017年2月25日(土) 17:58

もう一度調べたら
理解することができました!
ありがとうございました
次からはもっと調べることにします
えめらるど
ID:f86fe74b
 

  • (PostNo.297212)

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事by hanage120 » 2017年3月04日(土) 04:10

spigot1.8で、spigotのイベントよりも早くブロックの破壊を検知する方法を探しています。
Protocollibを用いてブロックの破壊を検知しようとしたのですが、どのイベントが適切なのかわかりません。
block_digイベントは試したのですが、壊さなくてもクリックだけで反応してしまいます。

なにかよい方法はないでしょうか?
hanage120
ID:a0ba7236
石掘り
 
記事: 73
登録日時: 2015年3月16日(月) 20:51

  • (PostNo.297223)

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事by King(qpwakaba) » 2017年3月04日(土) 09:41

hanage120 さんが書きました:spigot1.8で、spigotのイベントよりも早くブロックの破壊を検知する方法を探しています。
Protocollibを用いてブロックの破壊を検知しようとしたのですが、どのイベントが適切なのかわかりません。
block_digイベントは試したのですが、壊さなくてもクリックだけで反応してしまいます。

なにかよい方法はないでしょうか?


block_dig イベントが PacketPlayInBlockDig パケットのことであれば、EnumPlayerDigTypeに当たるパラメータが STOP_DESTROY_BLOCK (2) であれば処理をする、というように書けば良いと思います。
ProtocolLibに関して何も知らないのでピンポイントな説明ができなくて申し訳ないです。


ところで、そもそも hanage120さんは Spigotのイベントより早くブロック破壊を検知して何をやりたいのでしょうか。
場合によってはパケットの監視 以外にも有効な方法があるのでその意図と教えていただけませんか。
以下サイン
調べて見つからないことを質問して、「そのくらい調べろ」と言われたら それは調べが足りないとき。

投稿画面のBBコード挿入ボタン を追加するユーザースクリプト作りました。良かったらどうぞ。
https://greasyfork.org/ja/scripts/18657
最大描画距離を64チャンクまで伸ばすMod作ってます。
viewtopic.php?t=30697
アバター
King(qpwakaba)
ID:94cfd55a
ダイヤモンド掘り
 
記事: 809
登録日時: 2013年3月26日(火) 10:25

  • (PostNo.297276)

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事by えめらるど » 2017年3月04日(土) 21:32

質問なのですが
playsoundのstepsoundの
おとだけけすことってできるんでしょうか
えめらるど
ID:f86fe74b
 

  • (PostNo.297327)

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事by えめらるど » 2017年3月05日(日) 13:10

訂正でplayeffectのstepsoundです
えめらるど
ID:4a4853bc
 

1つ前へ次へ

Return to 質問:開発・制作関連

x