mirror of
https://github.com/TotalFreedomMC/ZeroTelnetClient.git
synced 2024-12-22 16:25:14 +00:00
Finished implementing new config.
This commit is contained in:
parent
ab27c3e1d1
commit
2c8785e9dc
7 changed files with 184 additions and 74 deletions
|
@ -36,6 +36,7 @@ public class BTC_ConfigLoader
|
|||
|
||||
private final ServerEntry.ServerEntryList servers = new ServerEntry.ServerEntryList();
|
||||
private final PlayerCommandEntry.PlayerCommandEntryList playerCommands = new PlayerCommandEntry.PlayerCommandEntryList();
|
||||
private final FavoriteButtonEntry.FavoriteButtonEntryList favoriteButtons = new FavoriteButtonEntry.FavoriteButtonEntryList();
|
||||
|
||||
public BTC_ConfigLoader()
|
||||
{
|
||||
|
@ -102,6 +103,11 @@ public class BTC_ConfigLoader
|
|||
return this.servers.getList();
|
||||
}
|
||||
|
||||
public Collection<FavoriteButtonEntry> getFavoriteButtons()
|
||||
{
|
||||
return favoriteButtons.getList();
|
||||
}
|
||||
|
||||
private boolean generateXML(final File file)
|
||||
{
|
||||
try
|
||||
|
@ -111,8 +117,9 @@ public class BTC_ConfigLoader
|
|||
final Element rootElement = doc.createElement("configuration");
|
||||
doc.appendChild(rootElement);
|
||||
|
||||
rootElement.appendChild(this.playerCommands.toXML(doc));
|
||||
rootElement.appendChild(this.servers.toXML(doc));
|
||||
rootElement.appendChild(this.playerCommands.toXML(doc));
|
||||
rootElement.appendChild(this.favoriteButtons.toXML(doc));
|
||||
|
||||
final Transformer transformer = TransformerFactory.newInstance().newTransformer();
|
||||
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4");
|
||||
|
@ -139,15 +146,21 @@ public class BTC_ConfigLoader
|
|||
final Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(file);
|
||||
doc.getDocumentElement().normalize();
|
||||
|
||||
if (!this.servers.fromXML(doc))
|
||||
{
|
||||
System.out.println("Error loading servers.");
|
||||
hadErrors = true;
|
||||
}
|
||||
|
||||
if (!this.playerCommands.fromXML(doc))
|
||||
{
|
||||
System.out.println("Error loading playerCommands.");
|
||||
hadErrors = true;
|
||||
}
|
||||
|
||||
if (!this.servers.fromXML(doc))
|
||||
if (!this.favoriteButtons.fromXML(doc))
|
||||
{
|
||||
System.out.println("Error loading servers.");
|
||||
System.out.println("Error favorite buttons.");
|
||||
hadErrors = true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,13 +21,13 @@ package me.StevenLawson.BukkitTelnetClient;
|
|||
import java.awt.*;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.util.List;
|
||||
import java.util.Collection;
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JPanel;
|
||||
|
||||
public class BTC_FavoriteButtonsPanel extends JPanel
|
||||
{
|
||||
public BTC_FavoriteButtonsPanel(final List<FavoriteButtonData> buttonList)
|
||||
public BTC_FavoriteButtonsPanel(final Collection<FavoriteButtonEntry> buttonList)
|
||||
{
|
||||
super.setLayout(new GridLayout(0, 2, 1, 1));
|
||||
|
||||
|
@ -43,7 +43,7 @@ public class BTC_FavoriteButtonsPanel extends JPanel
|
|||
}
|
||||
};
|
||||
|
||||
for (final FavoriteButtonData buttonData : buttonList)
|
||||
for (final FavoriteButtonEntry buttonData : buttonList)
|
||||
{
|
||||
final JButton button = new JButton();
|
||||
button.setText(buttonData.getLabel());
|
||||
|
|
|
@ -37,31 +37,10 @@ public class BTC_MainPanel extends javax.swing.JFrame
|
|||
private final BTC_ConnectionManager connectionManager = new BTC_ConnectionManager();
|
||||
private final List<PlayerInfo> playerList = new ArrayList<>();
|
||||
private final PlayerListTableModel playerListTableModel = new PlayerListTableModel(playerList);
|
||||
|
||||
private final List<FavoriteButtonData> favButtonList = new ArrayList<>();
|
||||
private final Collection<FavoriteButtonEntry> favButtonList = BukkitTelnetClient.config.getFavoriteButtons();
|
||||
|
||||
public BTC_MainPanel()
|
||||
{
|
||||
favButtonList.add(new FavoriteButtonData("Op All", "opall"));
|
||||
favButtonList.add(new FavoriteButtonData("Deop All", "deopall"));
|
||||
favButtonList.add(new FavoriteButtonData("Nick Clean", "nickclean"));
|
||||
favButtonList.add(new FavoriteButtonData("Adminmode ON", "adminmode on"));
|
||||
favButtonList.add(new FavoriteButtonData("Adminmode OFF", "adminmode off"));
|
||||
favButtonList.add(new FavoriteButtonData("Cake", "cake"));
|
||||
favButtonList.add(new FavoriteButtonData("Mob Purge", "mp"));
|
||||
favButtonList.add(new FavoriteButtonData("Remove Drops", "rd"));
|
||||
favButtonList.add(new FavoriteButtonData("Purge All", "purgeall"));
|
||||
favButtonList.add(new FavoriteButtonData("Set Limit = 500", "setl"));
|
||||
favButtonList.add(new FavoriteButtonData("Stop Server", "stop"));
|
||||
favButtonList.add(new FavoriteButtonData("Toggle Water Placement", "toggle waterplace"));
|
||||
favButtonList.add(new FavoriteButtonData("Toggle Fire Placement", "toggle fireplace"));
|
||||
favButtonList.add(new FavoriteButtonData("Toggle Lava Placement", "toggle lavaplace"));
|
||||
favButtonList.add(new FavoriteButtonData("Toggle Fluid Spread", "toggle fluidspread"));
|
||||
favButtonList.add(new FavoriteButtonData("Toggle Lava Damage", "toggle lavadmg"));
|
||||
favButtonList.add(new FavoriteButtonData("Toggle Fire Spread", "toggle firespread"));
|
||||
favButtonList.add(new FavoriteButtonData("Toggle Lockdown", "toggle lockdown"));
|
||||
favButtonList.add(new FavoriteButtonData("Toggle Explosives", "toggle explosives"));
|
||||
|
||||
initComponents();
|
||||
}
|
||||
|
||||
|
@ -521,7 +500,7 @@ public class BTC_MainPanel extends javax.swing.JFrame
|
|||
mainOutput = new javax.swing.JTextPane();
|
||||
btnDisconnect = new javax.swing.JButton();
|
||||
btnSend = new javax.swing.JButton();
|
||||
txtServer = new javax.swing.JComboBox<ServerEntry>();
|
||||
txtServer = new javax.swing.JComboBox<me.StevenLawson.BukkitTelnetClient.ServerEntry>();
|
||||
chkAutoScroll = new javax.swing.JCheckBox();
|
||||
txtCommand = new javax.swing.JTextField();
|
||||
btnConnect = new javax.swing.JButton();
|
||||
|
@ -853,7 +832,7 @@ public class BTC_MainPanel extends javax.swing.JFrame
|
|||
private javax.swing.JTable tblPlayers;
|
||||
private javax.swing.JTextField txtCommand;
|
||||
private javax.swing.JTextField txtNumPlayers;
|
||||
private javax.swing.JComboBox<ServerEntry> txtServer;
|
||||
private javax.swing.JComboBox<me.StevenLawson.BukkitTelnetClient.ServerEntry> txtServer;
|
||||
// End of variables declaration//GEN-END:variables
|
||||
|
||||
public javax.swing.JButton getBtnConnect()
|
||||
|
|
|
@ -1,41 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2012-2014 Steven Lawson
|
||||
*
|
||||
* This file is part of BukkitTelnetClient.
|
||||
*
|
||||
* BukkitTelnetClient is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package me.StevenLawson.BukkitTelnetClient;
|
||||
|
||||
public class FavoriteButtonData
|
||||
{
|
||||
private final String label;
|
||||
private final String command;
|
||||
|
||||
public FavoriteButtonData(String label, String command)
|
||||
{
|
||||
this.label = label;
|
||||
this.command = command;
|
||||
}
|
||||
|
||||
public String getLabel()
|
||||
{
|
||||
return label;
|
||||
}
|
||||
|
||||
public String getCommand()
|
||||
{
|
||||
return command;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,81 @@
|
|||
/*
|
||||
* Copyright (C) 2012-2014 Steven Lawson
|
||||
*
|
||||
* This file is part of BukkitTelnetClient.
|
||||
*
|
||||
* BukkitTelnetClient is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package me.StevenLawson.BukkitTelnetClient;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class FavoriteButtonEntry implements ConfigEntry
|
||||
{
|
||||
private String label;
|
||||
private String command;
|
||||
|
||||
public FavoriteButtonEntry()
|
||||
{
|
||||
}
|
||||
|
||||
public FavoriteButtonEntry(final String label, final String command)
|
||||
{
|
||||
this.label = label;
|
||||
this.command = command;
|
||||
}
|
||||
|
||||
@ConfigEntryList.ParameterGetter(name = "label")
|
||||
public String getLabel()
|
||||
{
|
||||
return label;
|
||||
}
|
||||
|
||||
@ConfigEntryList.ParameterSetter(name = "label")
|
||||
public void setLabel(String label)
|
||||
{
|
||||
this.label = label;
|
||||
}
|
||||
|
||||
@ConfigEntryList.ParameterGetter(name = "command")
|
||||
public String getCommand()
|
||||
{
|
||||
return command;
|
||||
}
|
||||
|
||||
@ConfigEntryList.ParameterSetter(name = "command")
|
||||
public void setCommand(String command)
|
||||
{
|
||||
this.command = command;
|
||||
}
|
||||
|
||||
public static class FavoriteButtonEntryList extends ConfigEntryList<FavoriteButtonEntry>
|
||||
{
|
||||
public FavoriteButtonEntryList()
|
||||
{
|
||||
super(new ArrayList<FavoriteButtonEntry>(), FavoriteButtonEntry.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getParentElementName()
|
||||
{
|
||||
return "favoriteButtons";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getItemElementName()
|
||||
{
|
||||
return "favoriteButton";
|
||||
}
|
||||
}
|
||||
}
|
|
@ -18,7 +18,7 @@
|
|||
*/
|
||||
package me.StevenLawson.BukkitTelnetClient;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class PlayerCommandEntry implements ConfigEntry
|
||||
{
|
||||
|
@ -63,7 +63,7 @@ public class PlayerCommandEntry implements ConfigEntry
|
|||
{
|
||||
public PlayerCommandEntryList()
|
||||
{
|
||||
super(new HashSet<PlayerCommandEntry>(), PlayerCommandEntry.class);
|
||||
super(new ArrayList<PlayerCommandEntry>(), PlayerCommandEntry.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<configuration>
|
||||
<servers/>
|
||||
<playerCommands>
|
||||
<playerCommand>
|
||||
<name>Ban</name>
|
||||
|
@ -58,5 +59,82 @@
|
|||
<format>survival %s</format>
|
||||
</playerCommand>
|
||||
</playerCommands>
|
||||
<servers/>
|
||||
<favoriteButtons>
|
||||
<favoriteButton>
|
||||
<label>Op All</label>
|
||||
<command>opall</command>
|
||||
</favoriteButton>
|
||||
<favoriteButton>
|
||||
<label>Deop All</label>
|
||||
<command>deopall</command>
|
||||
</favoriteButton>
|
||||
<favoriteButton>
|
||||
<label>Nick Clean</label>
|
||||
<command>nickclean</command>
|
||||
</favoriteButton>
|
||||
<favoriteButton>
|
||||
<label>Adminmode ON</label>
|
||||
<command>adminmode on</command>
|
||||
</favoriteButton>
|
||||
<favoriteButton>
|
||||
<label>Adminmode OFF</label>
|
||||
<command>adminmode off</command>
|
||||
</favoriteButton>
|
||||
<favoriteButton>
|
||||
<label>Cake</label>
|
||||
<command>cake</command>
|
||||
</favoriteButton>
|
||||
<favoriteButton>
|
||||
<label>Mob Purge</label>
|
||||
<command>mp</command>
|
||||
</favoriteButton>
|
||||
<favoriteButton>
|
||||
<label>Remove Drops</label>
|
||||
<command>rd</command>
|
||||
</favoriteButton>
|
||||
<favoriteButton>
|
||||
<label>Purge All</label>
|
||||
<command>purgeall</command>
|
||||
</favoriteButton>
|
||||
<favoriteButton>
|
||||
<label>Set Limit = 500</label>
|
||||
<command>setl</command>
|
||||
</favoriteButton>
|
||||
<favoriteButton>
|
||||
<label>Stop Server</label>
|
||||
<command>stop</command>
|
||||
</favoriteButton>
|
||||
<favoriteButton>
|
||||
<label>Toggle Water Placement</label>
|
||||
<command>toggle waterplace</command>
|
||||
</favoriteButton>
|
||||
<favoriteButton>
|
||||
<label>Toggle Fire Placement</label>
|
||||
<command>toggle fireplace</command>
|
||||
</favoriteButton>
|
||||
<favoriteButton>
|
||||
<label>Toggle Lava Placement</label>
|
||||
<command>toggle lavaplace</command>
|
||||
</favoriteButton>
|
||||
<favoriteButton>
|
||||
<label>Toggle Fluid Spread</label>
|
||||
<command>toggle fluidspread</command>
|
||||
</favoriteButton>
|
||||
<favoriteButton>
|
||||
<label>Toggle Lava Damage</label>
|
||||
<command>toggle lavadmg</command>
|
||||
</favoriteButton>
|
||||
<favoriteButton>
|
||||
<label>Toggle Fire Spread</label>
|
||||
<command>toggle firespread</command>
|
||||
</favoriteButton>
|
||||
<favoriteButton>
|
||||
<label>Toggle Lockdown</label>
|
||||
<command>toggle lockdown</command>
|
||||
</favoriteButton>
|
||||
<favoriteButton>
|
||||
<label>Toggle Explosives</label>
|
||||
<command>toggle explosives</command>
|
||||
</favoriteButton>
|
||||
</favoriteButtons>
|
||||
</configuration>
|
||||
|
|
Loading…
Reference in a new issue