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 ServerEntry.ServerEntryList servers = new ServerEntry.ServerEntryList();
|
||||||
private final PlayerCommandEntry.PlayerCommandEntryList playerCommands = new PlayerCommandEntry.PlayerCommandEntryList();
|
private final PlayerCommandEntry.PlayerCommandEntryList playerCommands = new PlayerCommandEntry.PlayerCommandEntryList();
|
||||||
|
private final FavoriteButtonEntry.FavoriteButtonEntryList favoriteButtons = new FavoriteButtonEntry.FavoriteButtonEntryList();
|
||||||
|
|
||||||
public BTC_ConfigLoader()
|
public BTC_ConfigLoader()
|
||||||
{
|
{
|
||||||
|
@ -102,6 +103,11 @@ public class BTC_ConfigLoader
|
||||||
return this.servers.getList();
|
return this.servers.getList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Collection<FavoriteButtonEntry> getFavoriteButtons()
|
||||||
|
{
|
||||||
|
return favoriteButtons.getList();
|
||||||
|
}
|
||||||
|
|
||||||
private boolean generateXML(final File file)
|
private boolean generateXML(final File file)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
@ -111,8 +117,9 @@ public class BTC_ConfigLoader
|
||||||
final Element rootElement = doc.createElement("configuration");
|
final Element rootElement = doc.createElement("configuration");
|
||||||
doc.appendChild(rootElement);
|
doc.appendChild(rootElement);
|
||||||
|
|
||||||
rootElement.appendChild(this.playerCommands.toXML(doc));
|
|
||||||
rootElement.appendChild(this.servers.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();
|
final Transformer transformer = TransformerFactory.newInstance().newTransformer();
|
||||||
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4");
|
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);
|
final Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(file);
|
||||||
doc.getDocumentElement().normalize();
|
doc.getDocumentElement().normalize();
|
||||||
|
|
||||||
|
if (!this.servers.fromXML(doc))
|
||||||
|
{
|
||||||
|
System.out.println("Error loading servers.");
|
||||||
|
hadErrors = true;
|
||||||
|
}
|
||||||
|
|
||||||
if (!this.playerCommands.fromXML(doc))
|
if (!this.playerCommands.fromXML(doc))
|
||||||
{
|
{
|
||||||
System.out.println("Error loading playerCommands.");
|
System.out.println("Error loading playerCommands.");
|
||||||
hadErrors = true;
|
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;
|
hadErrors = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,13 +21,13 @@ package me.StevenLawson.BukkitTelnetClient;
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
import java.util.List;
|
import java.util.Collection;
|
||||||
import javax.swing.JButton;
|
import javax.swing.JButton;
|
||||||
import javax.swing.JPanel;
|
import javax.swing.JPanel;
|
||||||
|
|
||||||
public class BTC_FavoriteButtonsPanel extends 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));
|
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();
|
final JButton button = new JButton();
|
||||||
button.setText(buttonData.getLabel());
|
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 BTC_ConnectionManager connectionManager = new BTC_ConnectionManager();
|
||||||
private final List<PlayerInfo> playerList = new ArrayList<>();
|
private final List<PlayerInfo> playerList = new ArrayList<>();
|
||||||
private final PlayerListTableModel playerListTableModel = new PlayerListTableModel(playerList);
|
private final PlayerListTableModel playerListTableModel = new PlayerListTableModel(playerList);
|
||||||
|
private final Collection<FavoriteButtonEntry> favButtonList = BukkitTelnetClient.config.getFavoriteButtons();
|
||||||
private final List<FavoriteButtonData> favButtonList = new ArrayList<>();
|
|
||||||
|
|
||||||
public BTC_MainPanel()
|
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();
|
initComponents();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -521,7 +500,7 @@ public class BTC_MainPanel extends javax.swing.JFrame
|
||||||
mainOutput = new javax.swing.JTextPane();
|
mainOutput = new javax.swing.JTextPane();
|
||||||
btnDisconnect = new javax.swing.JButton();
|
btnDisconnect = new javax.swing.JButton();
|
||||||
btnSend = 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();
|
chkAutoScroll = new javax.swing.JCheckBox();
|
||||||
txtCommand = new javax.swing.JTextField();
|
txtCommand = new javax.swing.JTextField();
|
||||||
btnConnect = new javax.swing.JButton();
|
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.JTable tblPlayers;
|
||||||
private javax.swing.JTextField txtCommand;
|
private javax.swing.JTextField txtCommand;
|
||||||
private javax.swing.JTextField txtNumPlayers;
|
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
|
// End of variables declaration//GEN-END:variables
|
||||||
|
|
||||||
public javax.swing.JButton getBtnConnect()
|
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;
|
package me.StevenLawson.BukkitTelnetClient;
|
||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
public class PlayerCommandEntry implements ConfigEntry
|
public class PlayerCommandEntry implements ConfigEntry
|
||||||
{
|
{
|
||||||
|
@ -63,7 +63,7 @@ public class PlayerCommandEntry implements ConfigEntry
|
||||||
{
|
{
|
||||||
public PlayerCommandEntryList()
|
public PlayerCommandEntryList()
|
||||||
{
|
{
|
||||||
super(new HashSet<PlayerCommandEntry>(), PlayerCommandEntry.class);
|
super(new ArrayList<PlayerCommandEntry>(), PlayerCommandEntry.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<configuration>
|
<configuration>
|
||||||
|
<servers/>
|
||||||
<playerCommands>
|
<playerCommands>
|
||||||
<playerCommand>
|
<playerCommand>
|
||||||
<name>Ban</name>
|
<name>Ban</name>
|
||||||
|
@ -58,5 +59,82 @@
|
||||||
<format>survival %s</format>
|
<format>survival %s</format>
|
||||||
</playerCommand>
|
</playerCommand>
|
||||||
</playerCommands>
|
</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>
|
</configuration>
|
||||||
|
|
Loading…
Reference in a new issue