Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Pytanie]Edyja pluginu payrank.


Rekomendowane odpowiedzi

Opublikowano

Witam. Chciałbym się nauczyć edytować pluginy w javie. Chcę zacząć od zmiany komend na inne. np. zamiast /payrank purchase na /kuprange

Napewno najpierw muszę zdekompilować plugin. Tylko w jakich plikach szukać tych komend? Czy wystarczy zmienić to w jednej linijce kodu?!

Opublikowano

Mozna to tez w classtranslator czy jakos tak zrobic

Moje tutki:

"Bad Video Card Drivers" - Błąd w mc? Zobacz do mnie aby dowiedzieć się jak to naprawić!

Chcesz wyciągnąć maksymalną ilość fps w minecraft? Kliknij

tu!

Opublikowano

A ktoś ma takowe umiejętności i zminiłby mi to?

Podejrzewam że jest to w pliku CommandPurchache.class więc Wam podaje jego zawartość:

package com.netprogs.minecraft.plugins.payrank.command;
import com.netprogs.minecraft.plugins.payrank.PayRankPlugin;
import com.netprogs.minecraft.plugins.payrank.command.data.Help;
import com.netprogs.minecraft.plugins.payrank.command.exception.ArgumentsMissingException;
import com.netprogs.minecraft.plugins.payrank.command.exception.InvalidPermissionsException;
import com.netprogs.minecraft.plugins.payrank.command.util.PlayerCommandUtil;
import com.netprogs.minecraft.plugins.payrank.config.PluginConfig;
import com.netprogs.minecraft.plugins.payrank.config.ResourcesConfig;
import com.netprogs.minecraft.plugins.payrank.config.SettingsConfig;
import java.util.HashSet;
import java.util.List;
import java.util.logging.Logger;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class CommandPurchase extends PayRankCommand
{
 private final Logger logger = Logger.getLogger("Minecraft");
 public CommandPurchase() {
   super("purchase", PayRankPermissions.PayRankPermission.purchase);
 }
 public void run(PayRankPlugin plugin, CommandSender sender, List<String> arguments, HashSet<PayRankPermissions.PayRankPermission> permissions)
   throws ArgumentsMissingException, InvalidPermissionsException
 {
   if (permissions.contains(getPermission()))
   {
  if (((SettingsConfig)PluginConfig.getInstance().getConfig(SettingsConfig.class)).isLoggingDebug()) {
    this.logger.info("Executing purchase...");
  }
  Player player = (Player)sender;
  PlayerCommandUtil.promote(plugin, getPlayerInfoUtil(), sender, player.getName(), true);
   }
   else
   {
  if (((SettingsConfig)PluginConfig.getInstance().getConfig(SettingsConfig.class)).isLoggingDebug()) {
    this.logger.info("Player does not have the payrank.purchase permission");
  }
  throw new InvalidPermissionsException();
   }
 }
 public Help help()
 {
   Help help = new Help();
   help.setCommand(getCommandName());
   help.setArguments("");
   String purchaseHelp = ((ResourcesConfig)PluginConfig.getInstance().getConfig(ResourcesConfig.class))
  .getResource("payrank.purchase.help");
   help.setDescription(purchaseHelp);
   return help;
 }
}

Opublikowano

Nie widze tu tej komendy. Przeszukaj inne pliki class

Moje tutki:

"Bad Video Card Drivers" - Błąd w mc? Zobacz do mnie aby dowiedzieć się jak to naprawić!

Chcesz wyciągnąć maksymalną ilość fps w minecraft? Kliknij

tu!

Opublikowano

Nie wiem, troche strzelam gdzie to może być ; /

PayRankCommand.class

package com.netprogs.minecraft.plugins.payrank.command;
import com.netprogs.minecraft.plugins.payrank.player.PlayerInfoUtil;
public abstract class PayRankCommand
implements IPayRankCommand
{
private PayRankPermissions.PayRankPermission permission;
private PayRankPermissions.PayRankPermission permissionOthers;
private String commandName;
private PlayerInfoUtil playerInfoUtil;
protected PayRankCommand(String commandName, PayRankPermissions.PayRankPermission permission)
{
this.playerInfoUtil = new PlayerInfoUtil();
this.permission = permission;
this.commandName = commandName;
}
protected PayRankCommand(String commandName, PayRankPermissions.PayRankPermission permission, PayRankPermissions.PayRankPermission permissionOthers)
{
this.playerInfoUtil = new PlayerInfoUtil();
this.permission = permission;
this.permissionOthers = permissionOthers;
this.commandName = commandName;
}
public String getCommandName() {
return this.commandName;
}
protected PlayerInfoUtil getPlayerInfoUtil() {
return this.playerInfoUtil;
}
public boolean match(String commandName)
{
return commandName.equalsIgnoreCase(this.commandName);
}
public PayRankPermissions.PayRankPermission getPermission() {
return this.permission;
}
public PayRankPermissions.PayRankPermission getPermissionOthers() {
return this.permissionOthers;
}
}

 

Chyba że tutaj ...

 

PayRankDispatcher.class

package com.netprogs.minecraft.plugins.payrank.command;
import com.netprogs.minecraft.plugins.payrank.PayRankPlugin;
import com.netprogs.minecraft.plugins.payrank.command.exception.ArgumentsMissingException;
import com.netprogs.minecraft.plugins.payrank.command.exception.InvalidPermissionsException;
import com.netprogs.minecraft.plugins.payrank.command.util.MessageUtil;
import com.netprogs.minecraft.plugins.payrank.config.PluginConfig;
import com.netprogs.minecraft.plugins.payrank.config.SettingsConfig;
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.logging.Logger;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
public class PayRankDispatcher
implements CommandExecutor
{
private final Logger logger = Logger.getLogger("Minecraft");
private Map<String, IPayRankCommand> commands;
private PayRankPlugin plugin;
public PayRankDispatcher(PayRankPlugin plugin)
{
this.plugin = plugin;
createCommandMap();
}
public boolean onCommand(CommandSender sender, Command command, String label, String[] arguments)
{
HashSet permissions = PayRankPermissions.getPermissions(this.plugin, sender);
if (((SettingsConfig)PluginConfig.getInstance().getConfig(SettingsConfig.class)).isLoggingDebug()) {
 StringWriter argumentList = new StringWriter();
 for (String argument : arguments) {
 argumentList.append(argument);
 argumentList.append(" ");
 }
 this.logger.info("Incoming command: " + argumentList.toString());
}
try
{
 if (arguments.length == 0) {
 throw new ArgumentsMissingException();
 }
 String requestedCommand = arguments[0];
 List commandArguments = new ArrayList();
 for (int i = 1; i < arguments.length; i++) {
 commandArguments.add(arguments[i]);
 }
 if (this.commands.containsKey(requestedCommand))
 {
 IPayRankCommand payRankCommand = (IPayRankCommand)this.commands.get(requestedCommand);
 try
 {
	 payRankCommand.run(this.plugin, sender, commandArguments, permissions);
 }
 catch (ArgumentsMissingException exception)
 {
	 MessageUtil.sendHelpMessage(sender, payRankCommand);
 }
 catch (InvalidPermissionsException exception)
 {
	 MessageUtil.sendInvalidPermissionsMessage(sender);
 }
 return true;
 }
 MessageUtil.sendAllHelpMessages(this.plugin, sender, this.commands, permissions);
}
catch (ArgumentsMissingException exception)
{
 MessageUtil.sendAllHelpMessages(this.plugin, sender, this.commands, permissions);
}
return true;
}
private void createCommandMap()
{
this.commands = new HashMap();
CommandList list = new CommandList();
this.commands.put(list.getCommandName(), list);
CommandPurchase purchase = new CommandPurchase();
this.commands.put(purchase.getCommandName(), purchase);
CommandPromote promote = new CommandPromote();
this.commands.put(promote.getCommandName(), promote);
CommandDemote demote = new CommandDemote();
this.commands.put(demote.getCommandName(), demote);
CommandGive give = new CommandGive();
this.commands.put(give.getCommandName(), give);
CommandRemove remove = new CommandRemove();
this.commands.put(remove.getCommandName(), remove);
CommandCurrent current = new CommandCurrent();
this.commands.put(current.getCommandName(), current);
CommandReload reload = new CommandReload();
this.commands.put(reload.getCommandName(), reload);
}
}

Opublikowano

znawca javy to ja nie jestem ale tu tez nie widze;D

Moje tutki:

"Bad Video Card Drivers" - Błąd w mc? Zobacz do mnie aby dowiedzieć się jak to naprawić!

Chcesz wyciągnąć maksymalną ilość fps w minecraft? Kliknij

tu!

Opublikowano

Wiesz jest prostszy sposób na zmianę komendy.

Użyj pluginu Commander:

http://dev.bukkit.org/server-mods/commander/

albo

http://dev.bukkit.org/server-mods/dragons-commander/

 

Za pomocą tego można zmienić dowolną komendę na inną nazwę jej ale będzie działać komenda tak samo jak poprzednia.

Czyli zmienisz sobie zamiast /payrank możesz mieć /kuprange

Opublikowano

Tylko i tak komenda by wyglądała:

/kuprange purchase

Wolałbym gdyby to było samo /kuprange

lub /kuprange awansuj

Cos w tym stylu.

Zresztą ten plugin to troche zaśmiecanie serwera :) Szkoda tylko RAM'u ;)

Opublikowano

Naucz się robić pluginy więc się dowiesz jak zrobić, jest w tutorialach dużo poradników na ten temat, w tym z 20 moich, i tam jest dużo video.

<>

Opublikowano

Em, tylko takiego poradnika typowo jak zmienić komendę nie ma =) Jeżeli możesz to zrób takowy.

A jeżeli masz czas to przerób plugin PayRank, tak jak chciałem :)

Opublikowano

Em, tylko takiego poradnika typowo jak zmienić komendę nie ma =) Jeżeli możesz to zrób takowy.

A jeżeli masz czas to przerób plugin PayRank, tak jak chciałem :)

Jak się pouczysz troche na ten temat, to się dowiesz gdzie jest komenda i może jak ją zmienić :)

<>

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...