Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
for(int i=0;i<36;i++){
if(player.getInventory().getItem(i).getType()==Material.AIR){
player.getInventory().setItem(i, Material.Бла_Бла_Бла);
return;
}
}
for(int i=0;i<36;i++){
if(player.getInventory().getItem(i).getType()==Material.AIR){
player.getInventory().setItem(i, Material.Бла_Бла_Бла);
}
}
public void onBreakBlock(BlockBreakEvent e){
if(e.getBlock().getType()==Material.ENDER_CHEST){
e.getPlayer().sendMessage("Тут message");
}
}
for(int i=0;i<27;i++){
if(player.getEnderChest().getItem(i).getType()==Material.AIR){
player.getEnderChest().setItem(i, Material.Тут_Предмет);
}
}
Ты в 1 и 3 создаёшь бесполезные циклы.Можно выдавать предметы ,не проверяя слоты:1)Если только в один слот:
Если во все:Код:for(int i=0;i<36;i++){ if(player.getInventory().getItem(i).getType()==Material.AIR){ player.getInventory().setItem(i, Material.Бла_Бла_Бла); return; } }
2)Код:for(int i=0;i<36;i++){ if(player.getInventory().getItem(i).getType()==Material.AIR){ player.getInventory().setItem(i, Material.Бла_Бла_Бла); } }3)Код:public void onBreakBlock(BlockBreakEvent e){ if(e.getBlock().getType()==Material.ENDER_CHEST){ e.getPlayer().sendMessage("Тут message"); } }Код:for(int i=0;i<27;i++){ if(player.getEnderChest().getItem(i).getType()==Material.AIR){ player.getEnderChest().setItem(i, Material.Тут_Предмет); } }
Мне так удобнееТы в 1 и 3 создаёшь бесполезные циклы.Можно выдавать предметы ,не проверяя слоты:
p.getInventory().addItem(new ItemStack(Material.ENDER_CHEST,1));
Я этим буду пользоваться, когда нужно будет выдать определенное кол-во предметовТы в 1 и 3 создаёшь бесполезные циклы.Можно выдавать предметы ,не проверяя слоты:
player.getInventory().addItem(new ItemStack(Material.ENDER_CHEST,1));
package serega100.GriefIslands;
import java.util.logging.Logger;
import org.bukkit.Material;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.event.player.PlayerJoinEvent;
import org.*********ventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;
public class mainClass extends JavaPlugin{
Logger log = getLogger();
public void onEnable(){
log.info("GriferIslands for gameserver was enabled!");
}
public void onDisable(){
log.info("GriferIslands for gameserver was disabled!");
}
public void onJoin(PlayerJoinEvent p){
p.getPlayer().getInventory().addItem(new ItemStack(Material.ENDER_CHEST,1));
p.getPlayer().getEnderChest().addItem(new ItemStack(Material.DIAMOND_SWORD,1));
}
public void onBreakBlock(BlockBreakEvent e){
if(e.getBlock().getType()==Material.ENDER_CHEST){
e.getPlayer().sendMessage("Тут message");
}
}
}
player - это сам игрок, его я не стал показывать, как доставать.А чему равен player?
У меня ничего не работает
Код:package serega100.GriefIslands; import java.util.logging.Logger; import org.bukkit.Material; import org.bukkit.event.block.BlockBreakEvent; import org.bukkit.event.player.PlayerJoinEvent; import org.*********ventory.ItemStack; import org.bukkit.plugin.java.JavaPlugin; public class mainClass extends JavaPlugin{ Logger log = getLogger(); public void onEnable(){ log.info("GriferIslands for gameserver was enabled!"); } public void onDisable(){ log.info("GriferIslands for gameserver was disabled!"); } public void onJoin(PlayerJoinEvent p){ p.getPlayer().getInventory().addItem(new ItemStack(Material.ENDER_CHEST,1)); p.getPlayer().getEnderChest().addItem(new ItemStack(Material.DIAMOND_SWORD,1)); } public void onBreakBlock(BlockBreakEvent e){ if(e.getBlock().getType()==Material.ENDER_CHEST){ e.getPlayer().sendMessage("Тут message"); } } }
У тебя класс не зарегистрирован как слушатель + нету @EventHandlerА чему равен player?
У меня ничего не работает
Код:package serega100.GriefIslands; import java.util.logging.Logger; import org.bukkit.Material; import org.bukkit.event.block.BlockBreakEvent; import org.bukkit.event.player.PlayerJoinEvent; import org.*********ventory.ItemStack; import org.bukkit.plugin.java.JavaPlugin; public class mainClass extends JavaPlugin{ Logger log = getLogger(); public void onEnable(){ log.info("GriferIslands for gameserver was enabled!"); } public void onDisable(){ log.info("GriferIslands for gameserver was disabled!"); } public void onJoin(PlayerJoinEvent p){ p.getPlayer().getInventory().addItem(new ItemStack(Material.ENDER_CHEST,1)); p.getPlayer().getEnderChest().addItem(new ItemStack(Material.DIAMOND_SWORD,1)); } public void onBreakBlock(BlockBreakEvent e){ if(e.getBlock().getType()==Material.ENDER_CHEST){ e.getPlayer().sendMessage("Тут message"); } } }
А еще есть вот эта тема, которую, как видимо я писал для слабаков...У тебя класс не зарегистрирован как слушатель + нету @EventHandler
И ещё вроде-как на рубаките есть туториал про ивенты и на часто используемые классы как Player.
Ты серьёзно? Этим методом ты выдашь игроку эндер сундук.Ты в 1 и 3 создаёшь бесполезные циклы.Можно выдавать предметы ,не проверяя слоты:
player.getInventory().addItem(new ItemStack(Material.ENDER_CHEST,1));
Это примерТы серьёзно? Этим методом ты выдашь игроку эндер сундук.
Это Bukkit API, player - это экземпляр класса Player,полученный из ивента.Может кто скажет, чему равен player, а то я в яве особо не секу.
Player p = e.getPlayer();//написал без среды,может не работатьЭто Bukkit API, player - это экземпляр класса Player,полученный из ивента.
А что за е???Player p = e.getPlayer()
e - это экземпляр ивента,переменные можно хоть где сохранять,главное знать как.А что за е???
Мне надо, чтобы переменная работала во всём классе, а не только в одном void'е
public void onJoin(PlayerJoinEvent p){
p.getPlayer().getInventory().addItem(new ItemStack(Material.ENDER_CHEST,1));
p.getPlayer().getEnderChest().addItem(new ItemStack(Material.DIAMOND_SWORD,1));
Player player = p.getPlayer();
}
переменные можно хоть где сохранять,главное знать как.
Я в яве не секу
Нет,тебе в главном классе надо создать переменную player и в методе использовать this.player = e.getPlayer();И p.getplayer будет работать во всём классе?Код:public void onJoin(PlayerJoinEvent p){ p.getPlayer().getInventory().addItem(new ItemStack(Material.ENDER_CHEST,1)); p.getPlayer().getEnderChest().addItem(new ItemStack(Material.DIAMOND_SWORD,1)); Player player = p.getPlayer(); }
package serega100.GriefIslands;
import java.util.logging.Logger;
import org.bukkit.Material;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.event.player.PlayerJoinEvent;
import org.*********ventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;
public class mainClass extends JavaPlugin implements Listener{
Logger log = getLogger();
public void onEnable(){
log.info("GriferIslands 2 for gameserver was enabled!");
}
public void onDisable(){
log.info("GriferIslands 2 for gameserver was disabled!");
}
@EventHandler
public void onJoin(PlayerJoinEvent p){
p.getPlayer().getInventory().addItem(new ItemStack(Material.ENDER_CHEST,1));
p.getPlayer().getEnderChest().addItem(new ItemStack(Material.DIAMOND_SWORD,1));
log.info(p.getPlayer().getName() + "Зашёл на сервер");
}
public void onBreakBlock(BlockBreakEvent e){
if(e.getBlock().getType()==Material.ENDER_CHEST){
log.info(e.getPlayer().getName() + "сломал эндерсундук");
e.getPlayer().sendMessage("Тут message");
}
}
}
Что значит "Не зарегистрирован????". OnEnable и OnDisable работают .У тебя класс не зарегистрирован
Не вырывай без контекста,я написал,что он не зарегистророван как слушатель тебе надо реализовать интерфейс Listener ( implement Listener) - это позволит в классе отлавливать ивенты через @EventHandler@EventHandler не помог
Код:package serega100.GriefIslands; import java.util.logging.Logger; import org.bukkit.Material; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.block.BlockBreakEvent; import org.bukkit.event.player.PlayerJoinEvent; import org.*********ventory.ItemStack; import org.bukkit.plugin.java.JavaPlugin; public class mainClass extends JavaPlugin implements Listener{ Logger log = getLogger(); public void onEnable(){ log.info("GriferIslands 2 for gameserver was enabled!"); } public void onDisable(){ log.info("GriferIslands 2 for gameserver was disabled!"); } @EventHandler public void onJoin(PlayerJoinEvent p){ p.getPlayer().getInventory().addItem(new ItemStack(Material.ENDER_CHEST,1)); p.getPlayer().getEnderChest().addItem(new ItemStack(Material.DIAMOND_SWORD,1)); log.info(p.getPlayer().getName() + "Зашёл на сервер"); } public void onBreakBlock(BlockBreakEvent e){ if(e.getBlock().getType()==Material.ENDER_CHEST){ log.info(e.getPlayer().getName() + "сломал эндерсундук"); e.getPlayer().sendMessage("Тут message"); } } }
Что значит "Не зарегистрирован????". OnEnable и OnDisable работают .
Прошу прощения за не прочтение нового кода,но @EventHandler надо ставить перед каждым методом в котором ловится ивент."public class mainClass extends JavaPlugin implements Listener"
Вас читать учили?