Skip to content

Commit

Permalink
Fixed image export configuration data (Fixes #157)
Browse files Browse the repository at this point in the history
  • Loading branch information
ThizThizzyDizzy committed May 25, 2024
1 parent 9dd3c18 commit d6f8ea6
Show file tree
Hide file tree
Showing 5 changed files with 29 additions and 3 deletions.
4 changes: 2 additions & 2 deletions src/net/ncplanner/plannerator/multiblock/Multiblock.java
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ public String getModuleTooltip(){
return s;
}
public FormattedText getSaveTooltip(){
FormattedText s = new FormattedText("TODO configuration details");
FormattedText s = new FormattedText();
for(String key : metadata.keySet()){
if(key.equalsIgnoreCase("name")){
s.addText(metadata.get(key)+"\n");
Expand All @@ -212,7 +212,7 @@ public FormattedText getSaveTooltip(){
return s.addText(getTooltip(true));
}
public String getBotTooltip(){
String s = "TODO configuration details";
String s = "";
for(String key : metadata.keySet()){
if(key.equalsIgnoreCase("name")){
s+=metadata.get(key)+"\n";
Expand Down
15 changes: 15 additions & 0 deletions src/net/ncplanner/plannerator/ncpf/NCPFConfigurationContainer.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import java.util.function.Supplier;
import net.ncplanner.plannerator.ncpf.io.NCPFObject;
import net.ncplanner.plannerator.planner.ncpf.Design;
import net.ncplanner.plannerator.planner.ncpf.module.ConfigurationMetadataModule;
public class NCPFConfigurationContainer extends DefinedNCPFObject{
public static ArrayList<String> configOrder = new ArrayList<>();
public static HashMap<String, Supplier<NCPFConfiguration>> recognizedConfigurations = new HashMap<>();
Expand Down Expand Up @@ -67,4 +68,18 @@ public void makePartial(List<Design> designs){
cfg.makePartial(designs);
}
}
public String getNameAndVersion(){
for(String key : NCPFConfigurationContainer.configOrder){
if(configurations.containsKey(key)){
NCPFConfiguration cfg = configurations.get(key);
ConfigurationMetadataModule module = cfg.getModule(ConfigurationMetadataModule::new);
if(module!=null&&module.name!=null)return module.name+" "+module.version;
}
}
for(NCPFConfiguration cfg : configurations.values()){
ConfigurationMetadataModule module = cfg.getModule(ConfigurationMetadataModule::new);
if(module!=null&&module.name!=null)return module.name+" "+module.version;
}
return "Unknown Configuration";
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import net.ncplanner.plannerator.ncpf.NCPFElement;
import net.ncplanner.plannerator.ncpf.element.NCPFElementDefinition;
import net.ncplanner.plannerator.planner.ncpf.Design;
import net.ncplanner.plannerator.planner.ncpf.module.ConfigurationMetadataModule;
public abstract class NCPFConfiguration extends DefinedNCPFModularObject{
public final String name;
public NCPFConfiguration(String name){
Expand Down Expand Up @@ -40,4 +41,9 @@ public List<NCPFElement>[] getMultiblockRecipes(){
public abstract void makePartial(List<Design> designs);
public abstract String getName();
public void init(boolean isAddon){}
public String getNameAndVersion(){
ConfigurationMetadataModule module = getModule(ConfigurationMetadataModule::new);
if(module!=null&&module.name!=null)return module.name+" "+module.version;
return "Unknown Configuration";
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
import net.ncplanner.plannerator.planner.file.FileFormat;
import static net.ncplanner.plannerator.planner.file.FileWriter.botRunning;
import net.ncplanner.plannerator.planner.file.ImageFormatWriter;
import net.ncplanner.plannerator.planner.ncpf.Addon;
import net.ncplanner.plannerator.planner.ncpf.Design;
import net.ncplanner.plannerator.planner.ncpf.Project;
import net.ncplanner.plannerator.planner.ncpf.design.MultiblockDesign;
Expand Down Expand Up @@ -59,7 +60,9 @@ public Image write(Project ncpf){
||part.name.toLowerCase(Locale.ROOT).contains("outlet"))it.remove();
}
}
FormattedText s = mb.getSaveTooltip();
String configString = mb.getSpecificConfiguration().getNameAndVersion();
for(Addon addon : ncpf.addons)configString+="\n + "+addon.configuration.getNameAndVersion();
FormattedText s = new FormattedText(configString).addText(mb.getSaveTooltip());
ArrayList<FormattedText> strs = s.split("\n");
int totalTextHeight = Math.max(textHeight*strs.size(),textHeight*parts.size());
float textWidth = 0;
Expand Down
2 changes: 2 additions & 0 deletions src/net/ncplanner/plannerator/planner/gui/menu/MenuMain.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
import net.ncplanner.plannerator.planner.file.FileFormat;
import net.ncplanner.plannerator.planner.file.FileWriter;
import net.ncplanner.plannerator.planner.file.FormatWriter;
import net.ncplanner.plannerator.planner.file.ImageFormatWriter;
import net.ncplanner.plannerator.planner.file.writer.NCPFWriter;
import net.ncplanner.plannerator.planner.gui.Component;
import net.ncplanner.plannerator.planner.gui.GUI;
Expand Down Expand Up @@ -590,6 +591,7 @@ private void startExport(FormatWriter writer, String formatName, String descript
focusedComponent = null;
Project ncpf = new Project();
ncpf.configuration = ncpf.conglomeration = Core.project.conglomeration;
if(writer instanceof ImageFormatWriter)ncpf.addons = Core.project.addons;
Multiblock multi = getSelectedMultiblock();
ncpf.designs.add((Design)multi.toDesign());
String name = Core.filename;
Expand Down

0 comments on commit d6f8ea6

Please sign in to comment.