If you sit down and study the code for several minutes you will understand how it work
and you won't need any help or copy paste the exact code.
This code:
public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target)
{
if (command.equalsIgnoreCase("autolooton"))
{
activeChar.setAutoLootEnabled(true);
activeChar.sendMessage("Auto loot is now enabled.");
}
else if (command.equalsIgnoreCase("autolootoff"))
{
activeChar.setAutoLootEnabled(false);
activeChar.sendMessage("Auto loot is now disabled.");
}
return true;
}
can turn into this:
@Override
public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target)
{
activeChar.setIsAutoLoot(!activeChar.isAutoLoot());
activeChar.sendMessage("Auto loot is now " + (isAutoLoot(null) ? "enabled." : "disabled"));
return true;
}
You don't need the if statement since there are only 2 cases and the useVoicedCommand will only executed when 1 of these handler that are in String[] are called.
And this code:
private boolean _autoLootEnabled = false;
public void setAutoLootEnabled(final boolean autoLootEnabled)
{
_autoLootEnabled = autoLootEnabled;
}
/**
* @param reference
* @return Returns the autoLootEnabled.
*/
public boolean isAutoLootEnabled(final L2Object reference)
{
return _autoLootEnabled && !(reference instanceof L2GrandBossInstance)
&& !(reference instanceof L2RaidBossInstance)
&& !(reference instanceof L2MinionInstance);
}
Should be better:
private boolean _isAutoLoot;
public void setIsAutoLoot(final boolean val)
{
_isAutoLoot = val;
}
public boolean isAutoLoot(final L2Character target)
{
return Objects.nonNull(target) && target.isRaid() ? false : _isAutoLoot;
}