- Баллы
- 78
- Имя в Minecraft
- Steve
Я вот тут лазил по gitgub'у и гуглу, и в LoginGUI (spigot) увидел дополнение inputGUI, может его использовать для ком. блока?Еще сложнее.
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Я вот тут лазил по gitgub'у и гуглу, и в LoginGUI (spigot) увидел дополнение inputGUI, может его использовать для ком. блока?Еще сложнее.
Дружище помоги в создании плагина..Просто если нет ограничения на //set то если слишком много взять, через пару секунд сервер упадет(Время зависит от машины).
А 90 это мало, согласен. В конфиге сделаю.
тебе уже в той теме ответили, что такой плагин уже естьДружище помоги в создании плагина..
Предлагаемое название: HealthPack
Версия сервера: Надо чтобы работало под 1.8.7
Что я хочу: Мне бы хотелось чтоб плагин имел конфиг в котором я бы мог указать ид предмета который будет "Аптечкой",скорость употребления в (сек),и количество восстанавливаемых сердец.(Замечу что в моих планах создать не 1 аптечку,т.к хочу сделать их несколько с разным уровнем регенирации)
Идеи для команд: Этому плагину команды не нужны
Идеи пермишенов: healthpack.use - возможность использовать аптечки*
Когда мне это нужно? Чем быстрее тем лучше,буду благодарен за разработку данного чуда.
P:S (желательно бесплатно!)
мне нужен именно такой там левого много!!!,нагружать будет!!!тебе уже в той теме ответили, что такой плагин уже есть
ты уверен? ты даже не проверилмне нужен именно такой там левого много!!!,нагружать будет!!!
я бы не писал...ты уверен? ты даже не проверил
Лул, можно вырезать ненужный функционал.я бы не писал...
умел бы я это делать....Лул, можно вырезать ненужный функционал.
Ну так иди и учись.умел бы я это делать....
Поздравляю вас.Мой плагин уже не нужно делать, сам разобрался что к чему и сделал, работает)
http://rubukkit.org/threads/novaja-ideja-ot-menja-sudnye-nochi.38514/ - этот прошу реализовать обязательно...
http://rubukkit.org/threads/predystorija-servera.74619/
http://rubukkit.org/threads/ideja-dlja-plagina-pishuschajas-spontanno-prjamo-sejchas.107807/
http://rubukkit.org/threads/viiiirusy.58693/
http://rubukkit.org/threads/gopniki.58065/
http://rubukkit.org/threads/vremennye-lovushki.56615/
http://rubukkit.org/threads/radio-soobschenija.43030/
http://rubukkit.org/threads/sveto-gonki.38058/
http://rubukkit.org/threads/plagin-dlja-prikolov.27087/
Мои идеи нереализованные. Наслаждайся![]()

ReAction в помощьМожешь реализовать?
Когда человек заходит на сервер в первый раз то у него группа например [новичек] , а через день игры он становится пользователем точнее группой [юзер]
TimerRankМожешь реализовать?
Когда человек заходит на сервер в первый раз то у него группа например [новичек] , а через день игры он становится пользователем точнее группой [юзер]
Есть просьба: можешь написать плагин, позволяюший изменять скорость полёта? Да, такие есть но мне нужно вот что:TimerRank
package com.earth2me.essentials.commands;
import com.earth2me.essentials.CommandSource;
import com.earth2me.essentials.I18n;
import com.earth2me.essentials.ISettings;
import com.earth2me.essentials.User;
import java.util.List;
import net.ess3.api.IEssentials;
import org.bukkit.Server;
import org.bukkit.entity.Player;
public class Commandspeed
extends EssentialsCommand
{
public Commandspeed()
{
super("speed");
}
protected void run(Server server, CommandSource sender, String commandLabel, String[] args)
throws Exception
{
if (args.length < 2) {
throw new NotEnoughArgumentsException();
}
boolean isFly = isFlyMode(args[0]);
float speed = getMoveSpeed(args[1]);
speedOtherPlayers(server, sender, isFly, true, speed, args[2]);
}
protected void run(Server server, User user, String commandLabel, String[] args)
throws Exception
{
if (args.length < 1) {
throw new NotEnoughArgumentsException();
}
boolean isBypass = user.isAuthorized("essentials.speed.bypass");
float speed;
boolean isFly;
float speed;
if (args.length == 1)
{
boolean isFly = flyPermCheck(user, user.isFlying()).booleanValue();
speed = getMoveSpeed(args[0]);
}
else
{
isFly = flyPermCheck(user, isFlyMode(args[0])).booleanValue();
speed = getMoveSpeed(args[1]);
if ((args.length > 2) && (user.isAuthorized("essentials.speed.others")))
{
if (args[2].trim().length() < 2) {
throw new PlayerNotFoundException();
}
speedOtherPlayers(server, user.getSource(), isFly, isBypass, speed, args[2]);
return;
}
}
if (isFly)
{
user.setFlySpeed(getRealMoveSpeed(speed, isFly, isBypass));
user.sendMessage(I18n._("moveSpeed", new Object[] { I18n._("flying", new Object[0]), Float.valueOf(speed), user.getDisplayName() }));
}
else
{
user.setWalkSpeed(getRealMoveSpeed(speed, isFly, isBypass));
user.sendMessage(I18n._("moveSpeed", new Object[] { I18n._("walking", new Object[0]), Float.valueOf(speed), user.getDisplayName() }));
}
}
private void speedOtherPlayers(Server server, CommandSource sender, boolean isFly, boolean isBypass, float speed, String name)
throws PlayerNotFoundException
{
boolean skipHidden = (sender.isPlayer()) && (!this.ess.getUser(sender.getPlayer()).isAuthorized("essentials.vanish.interact"));
boolean foundUser = false;
List<Player> matchedPlayers = server.matchPlayer(name);
for (Player matchPlayer : matchedPlayers)
{
User player = this.ess.getUser(matchPlayer);
if ((!skipHidden) || (!player.isHidden()))
{
foundUser = true;
if (isFly)
{
matchPlayer.setFlySpeed(getRealMoveSpeed(speed, isFly, isBypass));
sender.sendMessage(I18n._("moveSpeed", new Object[] { I18n._("flying", new Object[0]), Float.valueOf(speed), matchPlayer.getDisplayName() }));
}
else
{
matchPlayer.setWalkSpeed(getRealMoveSpeed(speed, isFly, isBypass));
sender.sendMessage(I18n._("moveSpeed", new Object[] { I18n._("walking", new Object[0]), Float.valueOf(speed), matchPlayer.getDisplayName() }));
}
}
}
if (!foundUser) {
throw new PlayerNotFoundException();
}
}
private Boolean flyPermCheck(User user, boolean input)
throws Exception
{
boolean canFly = user.isAuthorized("essentials.speed.fly");
boolean canWalk = user.isAuthorized("essentials.speed.walk");
if (((input) && (canFly)) || ((!input) && (canWalk)) || ((!canFly) && (!canWalk))) {
return Boolean.valueOf(input);
}
if (canWalk) {
return Boolean.valueOf(false);
}
return Boolean.valueOf(true);
}
private boolean isFlyMode(String modeString)
throws NotEnoughArgumentsException
{
boolean isFlyMode;
if ((modeString.contains("fly")) || (modeString.equalsIgnoreCase("f")))
{
isFlyMode = true;
}
else
{
boolean isFlyMode;
if ((modeString.contains("walk")) || (modeString.contains("run")) || (modeString.equalsIgnoreCase("w")) || (modeString.equalsIgnoreCase("r"))) {
isFlyMode = false;
} else {
throw new NotEnoughArgumentsException();
}
}
boolean isFlyMode;
return isFlyMode;
}
private float getMoveSpeed(String moveSpeed)
throws NotEnoughArgumentsException
{
float userSpeed;
try
{
userSpeed = Float.parseFloat(moveSpeed);
if (userSpeed > 10.0F) {
userSpeed = 10.0F;
} else if (userSpeed < 1.0E-4F) {
userSpeed = 1.0E-4F;
}
}
catch (NumberFormatException e)
{
throw new NotEnoughArgumentsException();
}
return userSpeed;
}
private float getRealMoveSpeed(float userSpeed, boolean isFly, boolean isBypass)
{
float defaultSpeed = isFly ? 0.1F : 0.2F;
float maxSpeed = 1.0F;
if (!isBypass) {
maxSpeed = (float)(isFly ? this.ess.getSettings().getMaxFlySpeed() : this.ess.getSettings().getMaxWalkSpeed());
}
if (userSpeed < 1.0F) {
return defaultSpeed * userSpeed;
}
float ratio = (userSpeed - 1.0F) / 9.0F * (maxSpeed - defaultSpeed);
return ratio + defaultSpeed;
}
}
Такие методы используются во всех плагинах такого типа, не понимаю как ess умудрился дать такой fly.Есть просьба: можешь написать плагин, позволяюший изменять скорость полёта? Да, такие есть но мне нужно вот что:
Все плагины (кроме встроенного в последнюю версию Essentials) изменяют скорость лишь при полёте прямо, но вверх и вниз отказываются изменять скорость... можешь написать вот такой маленький плагин, тем более код ведь есть...
Код:package com.earth2me.essentials.commands; import com.earth2me.essentials.CommandSource; import com.earth2me.essentials.I18n; import com.earth2me.essentials.ISettings; import com.earth2me.essentials.User; import java.util.List; import net.ess3.api.IEssentials; import org.bukkit.Server; import org.bukkit.entity.Player; public class Commandspeed extends EssentialsCommand { public Commandspeed() { super("speed"); } protected void run(Server server, CommandSource sender, String commandLabel, String[] args) throws Exception { if (args.length < 2) { throw new NotEnoughArgumentsException(); } boolean isFly = isFlyMode(args[0]); float speed = getMoveSpeed(args[1]); speedOtherPlayers(server, sender, isFly, true, speed, args[2]); } protected void run(Server server, User user, String commandLabel, String[] args) throws Exception { if (args.length < 1) { throw new NotEnoughArgumentsException(); } boolean isBypass = user.isAuthorized("essentials.speed.bypass"); float speed; boolean isFly; float speed; if (args.length == 1) { boolean isFly = flyPermCheck(user, user.isFlying()).booleanValue(); speed = getMoveSpeed(args[0]); } else { isFly = flyPermCheck(user, isFlyMode(args[0])).booleanValue(); speed = getMoveSpeed(args[1]); if ((args.length > 2) && (user.isAuthorized("essentials.speed.others"))) { if (args[2].trim().length() < 2) { throw new PlayerNotFoundException(); } speedOtherPlayers(server, user.getSource(), isFly, isBypass, speed, args[2]); return; } } if (isFly) { user.setFlySpeed(getRealMoveSpeed(speed, isFly, isBypass)); user.sendMessage(I18n._("moveSpeed", new Object[] { I18n._("flying", new Object[0]), Float.valueOf(speed), user.getDisplayName() })); } else { user.setWalkSpeed(getRealMoveSpeed(speed, isFly, isBypass)); user.sendMessage(I18n._("moveSpeed", new Object[] { I18n._("walking", new Object[0]), Float.valueOf(speed), user.getDisplayName() })); } } private void speedOtherPlayers(Server server, CommandSource sender, boolean isFly, boolean isBypass, float speed, String name) throws PlayerNotFoundException { boolean skipHidden = (sender.isPlayer()) && (!this.ess.getUser(sender.getPlayer()).isAuthorized("essentials.vanish.interact")); boolean foundUser = false; List<Player> matchedPlayers = server.matchPlayer(name); for (Player matchPlayer : matchedPlayers) { User player = this.ess.getUser(matchPlayer); if ((!skipHidden) || (!player.isHidden())) { foundUser = true; if (isFly) { matchPlayer.setFlySpeed(getRealMoveSpeed(speed, isFly, isBypass)); sender.sendMessage(I18n._("moveSpeed", new Object[] { I18n._("flying", new Object[0]), Float.valueOf(speed), matchPlayer.getDisplayName() })); } else { matchPlayer.setWalkSpeed(getRealMoveSpeed(speed, isFly, isBypass)); sender.sendMessage(I18n._("moveSpeed", new Object[] { I18n._("walking", new Object[0]), Float.valueOf(speed), matchPlayer.getDisplayName() })); } } } if (!foundUser) { throw new PlayerNotFoundException(); } } private Boolean flyPermCheck(User user, boolean input) throws Exception { boolean canFly = user.isAuthorized("essentials.speed.fly"); boolean canWalk = user.isAuthorized("essentials.speed.walk"); if (((input) && (canFly)) || ((!input) && (canWalk)) || ((!canFly) && (!canWalk))) { return Boolean.valueOf(input); } if (canWalk) { return Boolean.valueOf(false); } return Boolean.valueOf(true); } private boolean isFlyMode(String modeString) throws NotEnoughArgumentsException { boolean isFlyMode; if ((modeString.contains("fly")) || (modeString.equalsIgnoreCase("f"))) { isFlyMode = true; } else { boolean isFlyMode; if ((modeString.contains("walk")) || (modeString.contains("run")) || (modeString.equalsIgnoreCase("w")) || (modeString.equalsIgnoreCase("r"))) { isFlyMode = false; } else { throw new NotEnoughArgumentsException(); } } boolean isFlyMode; return isFlyMode; } private float getMoveSpeed(String moveSpeed) throws NotEnoughArgumentsException { float userSpeed; try { userSpeed = Float.parseFloat(moveSpeed); if (userSpeed > 10.0F) { userSpeed = 10.0F; } else if (userSpeed < 1.0E-4F) { userSpeed = 1.0E-4F; } } catch (NumberFormatException e) { throw new NotEnoughArgumentsException(); } return userSpeed; } private float getRealMoveSpeed(float userSpeed, boolean isFly, boolean isBypass) { float defaultSpeed = isFly ? 0.1F : 0.2F; float maxSpeed = 1.0F; if (!isBypass) { maxSpeed = (float)(isFly ? this.ess.getSettings().getMaxFlySpeed() : this.ess.getSettings().getMaxWalkSpeed()); } if (userSpeed < 1.0F) { return defaultSpeed * userSpeed; } float ratio = (userSpeed - 1.0F) / 9.0F * (maxSpeed - defaultSpeed); return ratio + defaultSpeed; } }