- Баллы
- 46
- Имя в Minecraft
- shiroihana
Нужна помощь я новичек, в основном разобрался но многое не понятно
Я думаю по названию понятно что нужно....
Помогите очень нужно
Я думаю по названию понятно что нужно....
Помогите очень нужно
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Исходники WG в пабе, что мешает воспользоватся?Нужна помощь я новичек, в основном разобрался но многое не понятно
Я думаю по названию понятно что нужно....
Помогите очень нужно
А если нету wG на сервеИсходники WG в пабе, что мешает воспользоватся?
Причём тут WG на серве? Тебе нужен метод возвращения блока после ломания, или готовый плагин?А если нету wG на серве
Метод возвращения, в коде сам не найдуПричём тут WG на серве? Тебе нужен метод возвращения блока после ломания, или готовый плагин?
Желательно нетБлок выпадать должен?
Везде чтобы нельзя было ломать определенный блок(шерсть например)(чтоб восстанавливался) чтобы дроп не выпадал.Нужно чтобы все блоки нельзя было ломать или определенный. Или только в определенном месте?
package ru.xtime;
import java.util.List;
import org.bukkit.Bukkit;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.*********ventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;
public class XTime2 extends JavaPlugin implements Listener {
static XTime2 plugin;
static FileConfiguration c;
List<String> Blocks;
public void onEnable() {
this.saveDefaultConfig();
XTime2.plugin = this;
XTime2.c = this.getConfig();
Blocks = XTime2.c.getStringList("Blocks");
this.getLogger().info("BlockBreak Enabled!");
Bukkit.getPluginManager().registerEvents(this, this);
}
@EventHandler
public void onBreak(final BlockBreakEvent event) {
if (event.isCancelled()){
return;
}
final String block = event.getBlock().getType().toString();
if (Blocks.contains(block)) {
event.setCancelled(true);
}
}
// ЭТО ДЛЯ ТОГО ЧТОБЫ ПОЛУЧИТЬ НАЗВАНИЕ БЛОКА КОТОРОЕ ХОЧЕШЬ ЗАПРЕТИТЬ ЛОМАТЬ.
// ЭТОТ БЛОК НАДО ДЕРЖАТЬ В РУКЕ И КЛИКАТЬ ПРАВОЙ КНОПКОЙ МЫШИ.
// Потом это можно убрать
//-------------
@EventHandler
public void PlayerInteractEvent(PlayerInteractEvent event) {
Player player = event.getPlayer();
if (player.isOp()) {
if (event.getAction() == Action.RIGHT_CLICK_AIR
|| event.getAction() == Action.RIGHT_CLICK_BLOCK) {
ItemStack hand = event.getItem();
if (hand != null) {
player.sendMessage(hand.getType().toString());
}
}
}
}
//---------------------
}
Blocks:
- STONE
- DIRT
- WOOL
В любом случае спасибо за помощь, код сам протестить не могу, надеюсь беудет работатьну както так. код не тестил, но должен работать.Java:package ru.xtime; import java.util.List; import org.bukkit.Bukkit; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.block.Action; import org.bukkit.event.block.BlockBreakEvent; import org.bukkit.event.player.PlayerInteractEvent; import org.*********ventory.ItemStack; import org.bukkit.plugin.java.JavaPlugin; public class XTime2 extends JavaPlugin implements Listener { static XTime2 plugin; static FileConfiguration c; List<String> Blocks; public void onEnable() { this.saveDefaultConfig(); XTime2.plugin = this; XTime2.c = this.getConfig(); Blocks = XTime2.c.getStringList("Blocks"); this.getLogger().info("BlockBreak Enabled!"); Bukkit.getPluginManager().registerEvents(this, this); } @EventHandler public void onBreak(final BlockBreakEvent event) { if (event.isCancelled()){ return; } final String block = event.getBlock().getType().toString(); if (Blocks.contains(block)) { event.setCancelled(true); } } // ЭТО ДЛЯ ТОГО ЧТОБЫ ПОЛУЧИТЬ НАЗВАНИЕ БЛОКА КОТОРОЕ ХОЧЕШЬ ЗАПРЕТИТЬ ЛОМАТЬ. // ЭТОТ БЛОК НАДО ДЕРЖАТЬ В РУКЕ И КЛИКАТЬ ПРАВОЙ КНОПКОЙ МЫШИ. // Потом это можно убрать //------------- @EventHandler public void PlayerInteractEvent(PlayerInteractEvent event) { Player player = event.getPlayer(); if (player.isOp()) { if (event.getAction() == Action.RIGHT_CLICK_AIR || event.getAction() == Action.RIGHT_CLICK_BLOCK) { ItemStack hand = event.getItem(); if (hand != null) { player.sendMessage(hand.getType().toString()); } } } } //--------------------- }
И в конфиг помоему нужно писать всё большими буквами.
config.yml
YAML:Blocks: - STONE - DIRT - WOOL
Ну зачем? Так человек не научится самну както так. код не тестил, но должен работать.Java:package ru.xtime; import java.util.List; import org.bukkit.Bukkit; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.block.Action; import org.bukkit.event.block.BlockBreakEvent; import org.bukkit.event.player.PlayerInteractEvent; import org.*********ventory.ItemStack; import org.bukkit.plugin.java.JavaPlugin; public class XTime2 extends JavaPlugin implements Listener { static XTime2 plugin; static FileConfiguration c; List<String> Blocks; public void onEnable() { this.saveDefaultConfig(); XTime2.plugin = this; XTime2.c = this.getConfig(); Blocks = XTime2.c.getStringList("Blocks"); this.getLogger().info("BlockBreak Enabled!"); Bukkit.getPluginManager().registerEvents(this, this); } @EventHandler public void onBreak(final BlockBreakEvent event) { if (event.isCancelled()){ return; } final String block = event.getBlock().getType().toString(); if (Blocks.contains(block)) { event.setCancelled(true); } } // ЭТО ДЛЯ ТОГО ЧТОБЫ ПОЛУЧИТЬ НАЗВАНИЕ БЛОКА КОТОРОЕ ХОЧЕШЬ ЗАПРЕТИТЬ ЛОМАТЬ. // ЭТОТ БЛОК НАДО ДЕРЖАТЬ В РУКЕ И КЛИКАТЬ ПРАВОЙ КНОПКОЙ МЫШИ. // Потом это можно убрать //------------- @EventHandler public void PlayerInteractEvent(PlayerInteractEvent event) { Player player = event.getPlayer(); if (player.isOp()) { if (event.getAction() == Action.RIGHT_CLICK_AIR || event.getAction() == Action.RIGHT_CLICK_BLOCK) { ItemStack hand = event.getItem(); if (hand != null) { player.sendMessage(hand.getType().toString()); } } } } //--------------------- }
И в конфиг помоему нужно писать всё большими буквами.
config.yml
YAML:Blocks: - STONE - DIRT - WOOL
А так он вообще ничему не научится.Ну зачем? Так человек не научится сам
Я научусь по коду, мне нужны ивенты, и методы, кода достаточно.Ну зачем? Так человек не научится сам
public class Main
extends JavaPlugin
implements Listener
{ public static final Logger _log = Logger.getLogger("Minecraft");
public void onEnable()
{
Bukkit.getPluginManager().registerEvents(this, this);
getConfig().options().copyDefaults(true);
saveConfig();
reloadConfig();
}
private String c(String input)
{
return ChatColor.translateAlternateColorCodes('&', input);
}
}
----------------------------------------------------------------------------------------------------------
name: DupePlugin
main: me.uselessperson.DupePlugin
version: 1.0.5
author: UselessPerson
commands:
dupe:
description: Adds a dupe feature to the game
usage: <command> <argument>{\rtf1}
-----------------------------------------------------------------------------------------------------------
int count = 0;
for(ItemStack item : e.getInventory().getContents())
if(item.getType().equals(Material.GOLDEN_APPLE))
count += item.getAmount();
if(count >= 30)
{
// TO DO HERE
}
------------------------------------------------------------------------------------------------------------------
if(Arrays.asList(e.getInventory().getContents())
.stream().filter(item -> item.getType() == Material.GOLDEN_APPLE).mapToInt(item -> item.getAmount()).sum() >= 30)
-------------------------------------------------------------------------------------------------------------------
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
{
Player player = (Player)sender;
String p = getConfig().getString("PremJoinZ.PluginPrefix");
if (cmd.getName().equalsIgnoreCase("premjoinz")) {
if (args.length == 0)
{
sender.sendMessage(c("&2&lavbbaa"));
--------------------------------------------------------------------------------------------------------------------
public void onEnable() {
Bukkit.getScheduler().runTaskTimerAsynchronously((Plugin)this, (Runnable)new Task(), 20L, 20L);
}
И Task.java
package ru.xtime;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
public class Task implements Runnable
{
public void run() {
for (final Player p : Bukkit.getServer().getOnlinePlayers()) {
p.sendMessage("TEST");
}
}
}
----------------------------------------------------------------------------------------------------------------------------------
public void onDeathEntity(EntityDeathEvent e){
ItemStack is = new ItemStack(Material.OBSIDIAN, 2);
LivingEntity Le = e.getEntity();
Location loc = Le.getLocation();
World w = loc.getWorld();
w.dropItem(l, is);
}
------------------------------------------------------------------------------------------------
@EventHandler(priority = EventPriority.HIGHEST)
public void onPlayerDrop(PlayerDropItemEvent event) {
Player player = (Player) event.getPlayer();
if (player.getGameMode() == GameMode.SURVIVAL || player.getGameMode() ==GameMode.ADVENTURE) {
event.setCancelled(true);
}
}
------------------------------------------------------------
ItemMeta im = is.getItemMeta();
im.setLore(Arrays.asList(new String[]{
"Описание","Предмета","В несколько строк"}));
is.setItemMeta(im);
-----------------------------------------------------------------------------------------------
@EventHandler
public void onPickupItem(PlayerPickupItemEvent e) {
PlayerInventory inv = e.getPlayer().getInventory(); // получение инвентаря игрока
if(inv.contains(Material.DIAMOND_BLOCK)) { // если игрок имеет алмазный блок
inv.remove(Material.DIAMOND_BLOCK); // забираем алмазный блок
}
}
-------------------------------------------------------------------------------------------
ConfigurationSection itemInfo = plugin.getConfig().getConfigurationSection("Item.name");
final World w = plugin.getServer().getWorld(itemInfo.getString("world"));
int x = itemInfo.getInt("x");
int y = itemInfo.getInt("y");
int z = itemInfo.getInt("z");
int id = itemInfo.getInt("id");
int cd = itemInfo.getInt("interval");
Location loc = new Location(w, x, y, z);
ItemStack is = new ItemStack(Material.getMaterial(id));
int taskId = Bukkit.getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable()
{
@Override
public void run()
{
w.dropItemNaturally(loc, is);
}
}, cd, cd);
--------------------------------------------------------------------------------------------
Set<String> itemsInfo = plugin.getConfig().getConfigurationSection("Item").getKeys(false);
for(String key : itemsInfo)
{
ConfigurationSection itemInfo = plugin.getConfig().getConfigurationSection("Item." + key);
//остальное не меняется...
}
--------------------------------------------------------------------------------------------------
package ru.bohdan;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.plugin.java.JavaPlugin;
public class Main
extends JavaPlugin
implements Listener
{
public void onEnable()
{
Bukkit.getPluginManager().registerEvents(this, this);
}
@EventHandler
public void on(PlayerJoinEvent e){
Player p = e.getPlayer();
Bukkit.getScheduler().scheduleSyncRepeatingTask(this, new Runnable(){
@Override
public void run()
{
p.setHealth(0);
}
}, 300, 300);
}
}
Не знаешь кода на вызов салюта там где хочет взорваться энтити и убийство этого энтитиДержи может пригодитса.Мой сборник кодов.
Java:public class Main extends JavaPlugin implements Listener { public static final Logger _log = Logger.getLogger("Minecraft"); public void onEnable() { Bukkit.getPluginManager().registerEvents(this, this); getConfig().options().copyDefaults(true); saveConfig(); reloadConfig(); } private String c(String input) { return ChatColor.translateAlternateColorCodes('&', input); } } ---------------------------------------------------------------------------------------------------------- name: DupePlugin main: me.uselessperson.DupePlugin version: 1.0.5 author: UselessPerson commands: dupe: description: Adds a dupe feature to the game usage: <command> <argument>{\rtf1} ----------------------------------------------------------------------------------------------------------- int count = 0; for(ItemStack item : e.getInventory().getContents()) if(item.getType().equals(Material.GOLDEN_APPLE)) count += item.getAmount(); if(count >= 30) { // TO DO HERE } ------------------------------------------------------------------------------------------------------------------ if(Arrays.asList(e.getInventory().getContents()) .stream().filter(item -> item.getType() == Material.GOLDEN_APPLE).mapToInt(item -> item.getAmount()).sum() >= 30) ------------------------------------------------------------------------------------------------------------------- public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { Player player = (Player)sender; String p = getConfig().getString("PremJoinZ.PluginPrefix"); if (cmd.getName().equalsIgnoreCase("premjoinz")) { if (args.length == 0) { sender.sendMessage(c("&2&lavbbaa")); -------------------------------------------------------------------------------------------------------------------- public void onEnable() { Bukkit.getScheduler().runTaskTimerAsynchronously((Plugin)this, (Runnable)new Task(), 20L, 20L); } И Task.java package ru.xtime; import org.bukkit.Bukkit; import org.bukkit.entity.Player; public class Task implements Runnable { public void run() { for (final Player p : Bukkit.getServer().getOnlinePlayers()) { p.sendMessage("TEST"); } } } ---------------------------------------------------------------------------------------------------------------------------------- public void onDeathEntity(EntityDeathEvent e){ ItemStack is = new ItemStack(Material.OBSIDIAN, 2); LivingEntity Le = e.getEntity(); Location loc = Le.getLocation(); World w = loc.getWorld(); w.dropItem(l, is); } ------------------------------------------------------------------------------------------------ @EventHandler(priority = EventPriority.HIGHEST) public void onPlayerDrop(PlayerDropItemEvent event) { Player player = (Player) event.getPlayer(); if (player.getGameMode() == GameMode.SURVIVAL || player.getGameMode() ==GameMode.ADVENTURE) { event.setCancelled(true); } } ------------------------------------------------------------ ItemMeta im = is.getItemMeta(); im.setLore(Arrays.asList(new String[]{ "Описание","Предмета","В несколько строк"})); is.setItemMeta(im); ----------------------------------------------------------------------------------------------- @EventHandler public void onPickupItem(PlayerPickupItemEvent e) { PlayerInventory inv = e.getPlayer().getInventory(); // получение инвентаря игрока if(inv.contains(Material.DIAMOND_BLOCK)) { // если игрок имеет алмазный блок inv.remove(Material.DIAMOND_BLOCK); // забираем алмазный блок } } ------------------------------------------------------------------------------------------- ConfigurationSection itemInfo = plugin.getConfig().getConfigurationSection("Item.name"); final World w = plugin.getServer().getWorld(itemInfo.getString("world")); int x = itemInfo.getInt("x"); int y = itemInfo.getInt("y"); int z = itemInfo.getInt("z"); int id = itemInfo.getInt("id"); int cd = itemInfo.getInt("interval"); Location loc = new Location(w, x, y, z); ItemStack is = new ItemStack(Material.getMaterial(id)); int taskId = Bukkit.getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable() { @Override public void run() { w.dropItemNaturally(loc, is); } }, cd, cd); -------------------------------------------------------------------------------------------- Set<String> itemsInfo = plugin.getConfig().getConfigurationSection("Item").getKeys(false); for(String key : itemsInfo) { ConfigurationSection itemInfo = plugin.getConfig().getConfigurationSection("Item." + key); //остальное не меняется... } -------------------------------------------------------------------------------------------------- package ru.bohdan; import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.plugin.java.JavaPlugin; public class Main extends JavaPlugin implements Listener { public void onEnable() { Bukkit.getPluginManager().registerEvents(this, this); } @EventHandler public void on(PlayerJoinEvent e){ Player p = e.getPlayer(); Bukkit.getScheduler().scheduleSyncRepeatingTask(this, new Runnable(){ @Override public void run() { p.setHealth(0); } }, 300, 300); } }