moved designer to its own repo
This commit is contained in:
parent
a5cd7e38df
commit
e62bcc215e
11 changed files with 0 additions and 659 deletions
30
build.gradle
30
build.gradle
|
@ -45,9 +45,6 @@ repositories {
|
|||
configurations {
|
||||
shade
|
||||
compile.extendsFrom shade
|
||||
|
||||
designershade
|
||||
compile.extendsFrom designershade
|
||||
}
|
||||
|
||||
|
||||
|
@ -86,12 +83,6 @@ dependencies {
|
|||
compile 'RebornCore:RebornCore-1.9:2.0.5.+:dev'
|
||||
deobfCompile "mezz.jei:jei_1.9:+"
|
||||
deobfCompile 'MCMultiPart:MCMultiPart-experimental:1.1.0_55:universal'
|
||||
|
||||
//For manual designer!
|
||||
designershade 'org.zeroturnaround:zt-zip:1.9'
|
||||
designershade 'org.slf4j:slf4j-api:1.7.21'
|
||||
designershade 'org.slf4j:slf4j-simple:1.7.21'
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -122,25 +113,6 @@ task deobfJar(type: Jar) {
|
|||
classifier = 'dev'
|
||||
}
|
||||
|
||||
task designerJar(type: Jar) {
|
||||
from sourceSets.main.output
|
||||
classifier = 'designer'
|
||||
include "techreborn/manual/designer/**"
|
||||
include "techreborn/manual/saveFormat/**"
|
||||
include "assets/techreborn/designer/**"
|
||||
include "assets/techreborn/textures/manual/**"
|
||||
|
||||
//Deps
|
||||
include "org/slf4j/**"
|
||||
include "org/zeroturnaround/zip/**"
|
||||
|
||||
manifest { attributes 'Main-Class': 'techreborn.manual.designer.ManualDesigner' }
|
||||
configurations.designershade.each { dep ->
|
||||
from(project.zipTree(dep)){
|
||||
exclude 'META-INF', 'META-INF/**', '**/*.java'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
jar {
|
||||
exclude "**/*.psd"
|
||||
|
@ -163,12 +135,10 @@ task apiJar(type: Jar) {
|
|||
}
|
||||
|
||||
apiJar.mustRunAfter deobfJar
|
||||
designerJar.mustRunAfter apiJar
|
||||
|
||||
artifacts {
|
||||
archives deobfJar
|
||||
archives apiJar
|
||||
archives designerJar
|
||||
}
|
||||
|
||||
build.dependsOn deobfJar, apiJar, designerJar
|
||||
|
|
|
@ -1,14 +0,0 @@
|
|||
package techreborn.manual.designer;
|
||||
|
||||
import javafx.scene.control.TreeItem;
|
||||
|
||||
/**
|
||||
* Created by Mark on 05/04/2016.
|
||||
*/
|
||||
public class ManualCatergories {
|
||||
|
||||
//Top level
|
||||
public static TreeItem<String> contents;
|
||||
public static TreeItem<String> blocks;
|
||||
public static TreeItem<String> items;
|
||||
}
|
|
@ -1,139 +0,0 @@
|
|||
package techreborn.manual.designer;
|
||||
|
||||
import javafx.application.Application;
|
||||
import javafx.beans.value.ChangeListener;
|
||||
import javafx.beans.value.ObservableValue;
|
||||
import javafx.fxml.FXMLLoader;
|
||||
import javafx.fxml.JavaFXBuilderFactory;
|
||||
import javafx.scene.Parent;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.Alert;
|
||||
import javafx.scene.control.TreeItem;
|
||||
import javafx.scene.image.Image;
|
||||
import javafx.stage.Stage;
|
||||
import techreborn.manual.designer.fileUtils.SaveSystem;
|
||||
import techreborn.manual.designer.windows.MainWindowController;
|
||||
import techreborn.manual.saveFormat.Entry;
|
||||
|
||||
import java.io.File;
|
||||
import java.net.URL;
|
||||
|
||||
/**
|
||||
* Created by Mark on 05/04/2016.
|
||||
*/
|
||||
public class ManualDesigner extends Application {
|
||||
|
||||
public static Stage stage;
|
||||
|
||||
public static void main(String[] args) {
|
||||
launch(args);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void start(Stage primaryStage) throws Exception {
|
||||
stage = primaryStage;
|
||||
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
|
||||
URL fxmlUrl = classLoader.getResource("assets/techreborn/designer/mainWindow.fxml");
|
||||
|
||||
FXMLLoader fxmlLoader = new FXMLLoader();
|
||||
fxmlLoader.setLocation(fxmlUrl);
|
||||
fxmlLoader.setBuilderFactory(new JavaFXBuilderFactory());
|
||||
|
||||
Parent root = fxmlLoader.load(fxmlUrl.openStream());
|
||||
Scene scene = new Scene(root,900, 550);
|
||||
primaryStage.setTitle("TechReborn Manual Designer");
|
||||
primaryStage.setScene(scene);
|
||||
primaryStage.show();
|
||||
MainWindowController controller = fxmlLoader.getController();
|
||||
|
||||
ManualCatergories.contents = new TreeItem<>("Contents");
|
||||
ManualCatergories.contents.setExpanded(true);
|
||||
|
||||
ManualCatergories.blocks = new TreeItem<>("Blocks");
|
||||
|
||||
ManualCatergories.contents.getChildren().add(ManualCatergories.blocks);
|
||||
|
||||
ManualCatergories.items = new TreeItem<>("Items");
|
||||
ManualCatergories.contents.getChildren().add(ManualCatergories.items);
|
||||
|
||||
controller.treeList.setRoot(ManualCatergories.contents);
|
||||
|
||||
controller.treeList.getSelectionModel().selectedItemProperty().addListener( new ChangeListener() {
|
||||
|
||||
@Override
|
||||
public void changed(ObservableValue observable, Object oldValue,
|
||||
Object newValue) {
|
||||
TreeItem<String> selectedItem = (TreeItem<String>) newValue;
|
||||
boolean isValid = !SaveSystem.entries.containsKey(selectedItem);
|
||||
controller.textInput.setDisable(isValid);
|
||||
controller.nameTextArea.setDisable(isValid);
|
||||
if(!isValid){
|
||||
if(SaveSystem.entries.containsKey(selectedItem)){
|
||||
Entry entry = SaveSystem.entries.get(selectedItem);
|
||||
controller.pageimage.setVisible(false);
|
||||
if(entry.data != null && entry.data.data != null){
|
||||
if(entry.data.data.containsKey("text")){
|
||||
controller.textInput.setText(entry.data.data.get("text"));
|
||||
}
|
||||
if(entry.data.data.containsKey("image")){
|
||||
controller.imageTextArea.setText(entry.data.data.get("image"));
|
||||
if(SaveSystem.lastSave != null){
|
||||
File imagesDir = new File(SaveSystem.lastSave, "images");
|
||||
if(imagesDir.exists()){
|
||||
File image = new File(imagesDir, entry.data.data.get("image") + ".png");
|
||||
if(image.exists()){
|
||||
controller.pageimage.setImage(new Image(image.toURI().toString()));
|
||||
controller.pageimage.setVisible(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
controller.imageTextArea.setText("");
|
||||
}
|
||||
//TODO Improve this
|
||||
} else {
|
||||
controller.textInput.setText("");
|
||||
controller.imageTextArea.setText("");
|
||||
}
|
||||
if(entry.type.equalsIgnoreCase("image")){
|
||||
controller.imageTextArea.setDisable(false);
|
||||
} else {
|
||||
controller.imageTextArea.setDisable(true);
|
||||
}
|
||||
controller.infoLabel.setText("Settings: " + entry.type);
|
||||
controller.nameTextArea.setText(entry.registryName);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
controller.textInput.setDisable(false);
|
||||
controller.nameTextArea.setDisable(false);
|
||||
|
||||
controller.image.setImage(new Image("assets/techreborn/textures/manual/gui/manual.png"));
|
||||
controller.image.setPreserveRatio(true);
|
||||
controller.image.setSmooth(true);
|
||||
controller.image.setCache(true);
|
||||
controller.image.setFitHeight(1000);
|
||||
controller.image.setFitWidth(1000);
|
||||
controller.image.fitWidthProperty().bind(controller.renderPane.widthProperty());
|
||||
controller.image.fitHeightProperty().bind(controller.renderPane.heightProperty());
|
||||
|
||||
controller.pageimage.setPreserveRatio(true);
|
||||
controller.pageimage.setSmooth(true);
|
||||
controller.pageimage.setCache(true);
|
||||
controller.pageimage.setFitHeight(1000);
|
||||
controller.pageimage.setFitWidth(1000);
|
||||
controller.pageimage.fitWidthProperty().bind(controller.renderPane.widthProperty());
|
||||
controller.pageimage.fitHeightProperty().bind(controller.renderPane.heightProperty());
|
||||
|
||||
controller.load();
|
||||
|
||||
Alert alert = new Alert(Alert.AlertType.INFORMATION);
|
||||
alert.setTitle("Info Dialog");
|
||||
alert.setHeaderText("This is not how to run the mod!");
|
||||
alert.setContentText("If you are trying to play with TechReborn in you minecraft world, this is NOT how you do it. You have the wrong jar file or you are doing something very wrong. Go and download the universal jar file and put it in the mods folder");
|
||||
alert.show();
|
||||
}
|
||||
}
|
|
@ -1,14 +0,0 @@
|
|||
package techreborn.manual.designer.exporter;
|
||||
|
||||
/**
|
||||
* Created by Mark on 16/04/2016.
|
||||
*/
|
||||
public class DownloadablePackageInfo {
|
||||
|
||||
PackageInfo packageInfo;
|
||||
|
||||
String md5;
|
||||
|
||||
String fileName;
|
||||
|
||||
}
|
|
@ -1,96 +0,0 @@
|
|||
package techreborn.manual.designer.exporter;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.GsonBuilder;
|
||||
import org.zeroturnaround.zip.ZipUtil;
|
||||
import reborncore.shields.json.ShieldJsonLoader;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.File;
|
||||
import java.io.FileReader;
|
||||
import java.io.FileWriter;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by Mark on 16/04/2016.
|
||||
*/
|
||||
public class Exporter {
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
run(args);
|
||||
}
|
||||
|
||||
public static void run(String[] arg) throws Exception {
|
||||
if(arg.length < 2){
|
||||
System.out.println("Error incorrect arguments!");
|
||||
System.exit(-1);
|
||||
}
|
||||
File input = new File(arg[0]);
|
||||
File output = new File(arg[1]);
|
||||
if(!input.exists()){
|
||||
System.out.println("that input file does not exist!");
|
||||
System.exit(-1);
|
||||
}
|
||||
if(!output.exists()){
|
||||
System.out.println("that output file does not exist!");
|
||||
System.exit(-1);
|
||||
}
|
||||
File inputMaster = new File(input, "master.json");
|
||||
if(!inputMaster.exists()){
|
||||
System.out.println("That input is not valid! no master.json file found");
|
||||
System.exit(-1);
|
||||
}
|
||||
File inputData = new File(input, "data.json");
|
||||
if(!inputData.exists()){
|
||||
System.out.println("That input is not valid! no data.json file found");
|
||||
System.exit(-1);
|
||||
}
|
||||
Gson gson = new GsonBuilder().setPrettyPrinting().create();
|
||||
File webJson = new File(output, "versions.json");
|
||||
VersionsInfo versions = null;
|
||||
if(webJson.exists()){
|
||||
BufferedReader reader = new BufferedReader(new FileReader(webJson));
|
||||
versions = gson.fromJson(reader, VersionsInfo.class);
|
||||
} else {
|
||||
versions = new VersionsInfo();
|
||||
versions.versions = new ArrayList<>();
|
||||
versions.name = "TechReborn";
|
||||
}
|
||||
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss.SSS");
|
||||
versions.lastUpdated = dateFormat.format(new Date());
|
||||
|
||||
BufferedReader reader = new BufferedReader(new FileReader(inputData));
|
||||
PackageInfo info = gson.fromJson(reader, PackageInfo.class);
|
||||
|
||||
DownloadablePackageInfo downloadablePackageInfo = new DownloadablePackageInfo();
|
||||
downloadablePackageInfo.packageInfo = info;
|
||||
File packages = new File(output, "packages");
|
||||
if(!packages.exists()){
|
||||
packages.mkdir();
|
||||
}
|
||||
dateFormat = new SimpleDateFormat("dd-MM-yyyy-HH-mm-ss-SSS");
|
||||
|
||||
File outputFile = new File(packages, versions.name + dateFormat.format(new Date()) + ".zip");
|
||||
|
||||
ZipUtil.pack(input, outputFile);
|
||||
downloadablePackageInfo.fileName = outputFile.getName();
|
||||
downloadablePackageInfo.md5 = ShieldJsonLoader.getMD5(outputFile);
|
||||
|
||||
List<DownloadablePackageInfo> savedVersions = versions.versions;
|
||||
versions.versions = new ArrayList<>();
|
||||
versions.versions.add(downloadablePackageInfo);
|
||||
versions.versions.addAll(savedVersions);
|
||||
|
||||
String json = gson.toJson(versions);
|
||||
FileWriter writer = new FileWriter(webJson);
|
||||
writer.write(json);
|
||||
writer.close();
|
||||
|
||||
System.out.println("Done!");
|
||||
System.exit(0);
|
||||
}
|
||||
|
||||
}
|
|
@ -1,14 +0,0 @@
|
|||
package techreborn.manual.designer.exporter;
|
||||
|
||||
/**
|
||||
* Created by Mark on 16/04/2016.
|
||||
*/
|
||||
public class PackageInfo {
|
||||
|
||||
public String name;
|
||||
|
||||
public String version;
|
||||
|
||||
public String language;
|
||||
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
package techreborn.manual.designer.exporter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by Mark on 16/04/2016.
|
||||
*/
|
||||
public class VersionsInfo {
|
||||
|
||||
String name;
|
||||
|
||||
String lastUpdated;
|
||||
|
||||
List<DownloadablePackageInfo> versions;
|
||||
|
||||
}
|
|
@ -1,65 +0,0 @@
|
|||
package techreborn.manual.designer.fileUtils;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import javafx.scene.control.Alert;
|
||||
import javafx.scene.control.TreeItem;
|
||||
import javafx.stage.DirectoryChooser;
|
||||
import techreborn.manual.designer.ManualCatergories;
|
||||
import techreborn.manual.designer.ManualDesigner;
|
||||
import techreborn.manual.saveFormat.Entry;
|
||||
import techreborn.manual.saveFormat.ManualFormat;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileReader;
|
||||
|
||||
/**
|
||||
* Created by Mark on 05/04/2016.
|
||||
*/
|
||||
public class LoadSystem {
|
||||
|
||||
public static void load() throws FileNotFoundException {
|
||||
DirectoryChooser fileChooser = new DirectoryChooser();
|
||||
fileChooser.setTitle("Open Folder");
|
||||
fileChooser.setInitialDirectory(new File("."));
|
||||
File folder = fileChooser.showDialog(ManualDesigner.stage);
|
||||
if(folder != null){
|
||||
File masterJson = new File(folder, "master.json");
|
||||
if(!masterJson.exists()){
|
||||
Alert alert = new Alert(Alert.AlertType.ERROR);
|
||||
alert.setTitle("Could not find project");
|
||||
alert.setHeaderText("Could not find project!");
|
||||
alert.setContentText("Could not find the project in this directory!");
|
||||
alert.show();
|
||||
} else if(masterJson.getName().endsWith(".json")){
|
||||
//Things
|
||||
File imageDir = new File(folder, "images");
|
||||
if(!imageDir.exists()){
|
||||
imageDir.mkdir();
|
||||
}
|
||||
BufferedReader reader = new BufferedReader(new FileReader(masterJson));
|
||||
Gson gson = new Gson();
|
||||
ManualFormat format;
|
||||
format = gson.fromJson(reader, ManualFormat.class);
|
||||
for(Entry entry : format.entries){
|
||||
System.out.println(entry.type);
|
||||
TreeItem parentTree = null;
|
||||
if(entry.category.equals(ManualCatergories.blocks.getValue())){
|
||||
parentTree = ManualCatergories.blocks;
|
||||
} else if(entry.category.equals(ManualCatergories.items.getValue())){
|
||||
parentTree = ManualCatergories.items;
|
||||
}
|
||||
if(parentTree == null){
|
||||
System.out.println("something bad happened");
|
||||
}
|
||||
TreeItem<String> newItem = new TreeItem<>(entry.name);
|
||||
parentTree.getChildren().add(newItem);
|
||||
parentTree.setExpanded(true);
|
||||
SaveSystem.entries.put(newItem, entry);
|
||||
}
|
||||
SaveSystem.lastSave = folder;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,67 +0,0 @@
|
|||
package techreborn.manual.designer.fileUtils;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.GsonBuilder;
|
||||
import javafx.scene.control.TreeItem;
|
||||
import javafx.stage.DirectoryChooser;
|
||||
import techreborn.manual.designer.ManualDesigner;
|
||||
import techreborn.manual.saveFormat.Entry;
|
||||
import techreborn.manual.saveFormat.ManualFormat;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileWriter;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by Mark on 05/04/2016.
|
||||
*/
|
||||
public class SaveSystem {
|
||||
|
||||
public static HashMap<TreeItem, Entry> entries = new HashMap<>();
|
||||
|
||||
public static ManualFormat master;
|
||||
|
||||
public static File lastSave = null;
|
||||
|
||||
public static void export(){
|
||||
List<Entry> entryList = new ArrayList<>(entries.values());
|
||||
if(master == null){
|
||||
master = new ManualFormat("TechReborn", "techreborn", entryList);
|
||||
}
|
||||
DirectoryChooser chooser = new DirectoryChooser();
|
||||
chooser.setTitle("Select export location");
|
||||
File openLocation = new File(".");
|
||||
if(lastSave != null){
|
||||
openLocation = lastSave;
|
||||
}
|
||||
chooser.setInitialDirectory(openLocation);
|
||||
File selectedDirectory = chooser.showDialog(ManualDesigner.stage);
|
||||
lastSave = selectedDirectory;
|
||||
File imageDir = new File(selectedDirectory, "images");
|
||||
if(!imageDir.exists()){
|
||||
imageDir.mkdir();
|
||||
}
|
||||
File masterJson = new File(selectedDirectory, "master.json");
|
||||
if(masterJson.exists()){
|
||||
masterJson.delete();
|
||||
}
|
||||
if(selectedDirectory != null){
|
||||
Gson gson = new GsonBuilder().setPrettyPrinting().create();
|
||||
String json = gson.toJson(master);
|
||||
try {
|
||||
FileWriter writer = new FileWriter(masterJson);
|
||||
writer.write(json);
|
||||
writer.close();
|
||||
} catch (IOException e) {
|
||||
System.out.println("something bad happened");
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -1,187 +0,0 @@
|
|||
package techreborn.manual.designer.windows;
|
||||
|
||||
import javafx.event.ActionEvent;
|
||||
import javafx.event.Event;
|
||||
import javafx.scene.control.Button;
|
||||
import javafx.scene.control.ChoiceDialog;
|
||||
import javafx.scene.control.Label;
|
||||
import javafx.scene.control.MenuBar;
|
||||
import javafx.scene.control.SplitPane;
|
||||
import javafx.scene.control.TextArea;
|
||||
import javafx.scene.control.TextField;
|
||||
import javafx.scene.control.TextInputDialog;
|
||||
import javafx.scene.control.TreeItem;
|
||||
import javafx.scene.control.TreeView;
|
||||
import javafx.scene.image.ImageView;
|
||||
import javafx.scene.layout.AnchorPane;
|
||||
import techreborn.manual.designer.ManualCatergories;
|
||||
import techreborn.manual.designer.fileUtils.LoadSystem;
|
||||
import techreborn.manual.designer.fileUtils.SaveSystem;
|
||||
import techreborn.manual.saveFormat.Entry;
|
||||
import techreborn.manual.saveFormat.EntryData;
|
||||
|
||||
import java.awt.*;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* Created by Mark on 05/04/2016.
|
||||
*/
|
||||
public class MainWindowController {
|
||||
public MenuBar menuBar;
|
||||
public SplitPane splitPane;
|
||||
public TreeView treeList;
|
||||
public ImageView image;
|
||||
public AnchorPane renderPane;
|
||||
public Button buttonNew;
|
||||
public TextArea textInput;
|
||||
public Button buttonDelete;
|
||||
public TextField nameTextArea;
|
||||
public TextField imageTextArea;
|
||||
public ImageView pageimage;
|
||||
public Label infoLabel;
|
||||
|
||||
public void newItem(Event event) {
|
||||
if(treeList.getSelectionModel().getSelectedItem() instanceof TreeItem){
|
||||
TreeItem item = (TreeItem) treeList.getSelectionModel().getSelectedItem();
|
||||
if(item == ManualCatergories.blocks || item == ManualCatergories.items){
|
||||
TextInputDialog dialog = new TextInputDialog("");
|
||||
dialog.setTitle("Name?");
|
||||
dialog.setContentText("Name of item:");
|
||||
Optional<String> result = dialog.showAndWait();
|
||||
if(result.isPresent() && !result.get().isEmpty()){
|
||||
TreeItem<String> newItem = new TreeItem<>(result.get());
|
||||
Entry entry = new Entry();
|
||||
entry.name = result.get();
|
||||
ArrayList<String> choices = new ArrayList<>();
|
||||
choices.add("Text");
|
||||
choices.add("Image");
|
||||
|
||||
ChoiceDialog<String> choiceDialog = new ChoiceDialog<>("Text", choices);
|
||||
choiceDialog.setTitle("Type?");
|
||||
Optional<String> choiceResult = choiceDialog.showAndWait();
|
||||
if(choiceResult.isPresent()){
|
||||
System.out.println(choiceResult.get());
|
||||
entry.type = choiceResult.get();
|
||||
} else {
|
||||
Toolkit.getDefaultToolkit().beep();
|
||||
return;
|
||||
}
|
||||
entry.category = (String) item.getValue();
|
||||
item.getChildren().add(newItem);
|
||||
item.setExpanded(true);
|
||||
SaveSystem.entries.put(newItem, entry);
|
||||
} else {
|
||||
Toolkit.getDefaultToolkit().beep();
|
||||
}
|
||||
} else {
|
||||
Toolkit.getDefaultToolkit().beep();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void deleteItem(Event event) {
|
||||
if(treeList.getSelectionModel().getSelectedItem() instanceof TreeItem){
|
||||
TreeItem item = (TreeItem) treeList.getSelectionModel().getSelectedItem();
|
||||
TreeItem parent = item.getParent();
|
||||
if(parent != null){
|
||||
if(parent == ManualCatergories.blocks || parent == ManualCatergories.items){
|
||||
parent.getChildren().remove(item);
|
||||
} else {
|
||||
Toolkit.getDefaultToolkit().beep();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void save(ActionEvent actionEvent) {
|
||||
SaveSystem.export();
|
||||
}
|
||||
|
||||
public void open(ActionEvent actionEvent) {
|
||||
try {
|
||||
LoadSystem.load();
|
||||
} catch (FileNotFoundException e) {
|
||||
System.out.println("bad things happened");
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void close(ActionEvent actionEvent) {
|
||||
//TODO checks to make sure its being saved
|
||||
System.exit(0);
|
||||
}
|
||||
|
||||
public void load(){
|
||||
textInput.textProperty().addListener((observable, oldValue, newValue) -> {
|
||||
textAreaChanged();
|
||||
});
|
||||
nameTextArea.textProperty().addListener((observable, oldValue, newValue) -> {
|
||||
nameChange();
|
||||
});
|
||||
imageTextArea.textProperty().addListener((observable, oldValue, newValue) -> {
|
||||
imageAreaChanged();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void textAreaChanged() {
|
||||
if(!treeList.getSelectionModel().isEmpty()){
|
||||
if(SaveSystem.entries.containsKey(treeList.getSelectionModel().getSelectedItem())){
|
||||
Entry entry = SaveSystem.entries.get(treeList.getSelectionModel().getSelectedItem());
|
||||
if(entry != null){
|
||||
if(entry.data == null){
|
||||
entry.data = new EntryData();
|
||||
}
|
||||
if(entry.data.data == null){
|
||||
entry.data.data = new HashMap<>();
|
||||
}
|
||||
if(entry.data.data.containsKey("text")){
|
||||
entry.data.data.replace("text", textInput.getText());
|
||||
} else {
|
||||
entry.data.data.put("text", textInput.getText());
|
||||
}
|
||||
}
|
||||
SaveSystem.entries.replace((TreeItem) treeList.getSelectionModel().getSelectedItem(), entry);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void imageAreaChanged() {
|
||||
if(!treeList.getSelectionModel().isEmpty()){
|
||||
if(SaveSystem.entries.containsKey(treeList.getSelectionModel().getSelectedItem())){
|
||||
Entry entry = SaveSystem.entries.get(treeList.getSelectionModel().getSelectedItem());
|
||||
if(entry != null){
|
||||
if(entry.data == null){
|
||||
entry.data = new EntryData();
|
||||
}
|
||||
if(entry.data.data == null){
|
||||
entry.data.data = new HashMap<>();
|
||||
}
|
||||
if(entry.data.data.containsKey("image")){
|
||||
entry.data.data.replace("image", imageTextArea.getText());
|
||||
} else {
|
||||
entry.data.data.put("image", imageTextArea.getText());
|
||||
}
|
||||
}
|
||||
SaveSystem.entries.replace((TreeItem) treeList.getSelectionModel().getSelectedItem(), entry);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void nameChange() {
|
||||
if(!treeList.getSelectionModel().isEmpty()){
|
||||
if(SaveSystem.entries.containsKey(treeList.getSelectionModel().getSelectedItem())){
|
||||
Entry entry = SaveSystem.entries.get(treeList.getSelectionModel().getSelectedItem());
|
||||
if(entry != null){
|
||||
entry.registryName = nameTextArea.getText();
|
||||
SaveSystem.entries.replace((TreeItem) treeList.getSelectionModel().getSelectedItem(), entry);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,17 +0,0 @@
|
|||
{
|
||||
"name": "TechReborn",
|
||||
"modId": "techreborn",
|
||||
"entries": [
|
||||
{
|
||||
"name": "Quantum Chest",
|
||||
"registryName": "techreborn:techreborn.quantumChest",
|
||||
"type": "Text",
|
||||
"category": "Blocks",
|
||||
"data": {
|
||||
"data": {
|
||||
"text": "The quantum chest can store a lot of items"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
Loading…
Add table
Reference in a new issue