The first round of crash logs and comments are in and there are major bugs.
Major: Backups may fail! Don't trust the Backup feature until I release a new version.
Minor:
Inventory editor force closes when editing Creative levels, because I had this line:
inventory = new ArrayList<InventorySlot>(tempInventory.size() - 8);
Since Creative levels do not have inventory items, I would be calling the constructor with a negative value, which force closes the app.
Browse Items feature may force close the app:
itemsListAdapter = new ArrayAdapter<Material>(this, R.layout.item_id_list_item, Material.materials);
This may fail when the activity is launched before the materials were loaded from XML.
Inventory list may crash:
This line crashes with a null pointer exception. I think this was because the app was killed by Android to reclaim memory, then restarted on this activity without first restarting the initial EditorActivity. Since EditorActivity loads the level, the inventory slots activity crashes.
There will be a bugfix version coming this week, hopefully.
Sorry about the bugs.
Backups have worked every time I've tried, it just takes a long time, and gives no indication of progress until it's done. I'll push the backup button, and nothing happens. 5 minutes later, when I've moved on to doing something else, I'll get a toast notification saying the backup had completed. Any idea why it takes so long? Zipping up my worlds in Astro to make a backup takes mere seconds.
I also noticed the creative worlds crashing bug. I was about to post about it, but it sounds like you've figured it out already.
Backups have worked every time I've tried, it just takes a long time, and gives no indication of progress until it's done. I'll push the backup button, and nothing happens. 5 minutes later, when I've moved on to doing something else, I'll get a toast notification saying the backup had completed. Any idea why it takes so long? Zipping up my worlds in Astro to make a backup takes mere seconds.
This is my first time using a ZipOutputStream. I guess I can research about this problem on the internet.
you know i haven't updated the pocket inventory editior since you added the browse button and removed the blocks that don't exist in the pocket edition and it has still worked fine for me on 0.3.0
I've uploaded another beta version: 1.0.1 Beta 1.
Changes include using a bigger buffer size for creating the backups to try to speed it up, displaying a message that the backup would take a while when backup begins, fixed the list of items slightly, and stopped the app from crashing when a creative world loads.
Nice what will be in the next update?Also i can help out with some stuff like i can add the changing of gamemodes option (thats extremely easy). But can you send me all the files that you use? And i am assuming you are making this with AIDE am i correct?
Also i can help out with some stuff like i can add the changing of gamemodes option (thats extremely easy). But can you send me all the files that you use? And i am assuming you are making this with AIDE am i correct?
I'm adding the ability to view and change the player position, spawnpoint, and the time in the next version. (1.1). There will be a quick bugfix release (1.0.1) before that, though.
After a delay on my internet being cut off, I managed to put τнє source code of your project onto aide on my android phone and it compiles great so now I'm hopeully adding those blocks that I was on about to you "500 internal error" but beings you have updated sum stuff then I'm gonna get τнє new source code and try and add them, great work anyway
please give me your method on how to do this and arent you on my website ? Lol
I'm adding the ability to view and change the player position, spawnpoint, and the time in the next version. (1.1). There will be a quick bugfix release (1.0.1) before that, though.
I'm working on a desktop inventory editor written in Java to fix the problem for iOS users (like myself) and in the future (2, maybe 3 months?) get a world editor (longshot...I know...seriously...). It includes a gui that shows users what blocks they're adding and what part of the inventory they're adding it to (some people like to organize their inventories apparently...) and keep thme free from any signs of hex (until a feature that allows custom hex editing)...but I have bumps in the road. I have everything...except the working .dat to hex converter (but I have the file that searches for the slot in hex, the id in hex, replace id in slot 'x'...etc) , and because of that I can't get it to work. I have a beautiful gui (made with NetBeans IDE 7.0...with pretty pictures! ), great (sarcasm) organization of the classes, and I most of all know how to get all the files to communicate...as long as I can convert .dat to hex...Any suggestions? Could you make an example of how I can accomplish it in a single java file? That would mean the world for iOS users, and you get credit for your work (I don't plagiarize ;D).
(so many parenthesis, that's why my English teacher hates me :<)
This is my current .dat to hex converter... it just converts plain ascii to hex...Can you help me fix it to convert the actual data to hex?
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintStream;
public class File2Hex{
public static void convertToHex(PrintStream out, File file) throws IOException {
InputStream is = new FileInputStream(file);
int bytesCounter =0;
int value = 0;
StringBuilder sbHex = new StringBuilder();
StringBuilder sbText = new StringBuilder();
StringBuilder sbResult = new StringBuilder();
while ((value = is.read()) != -1) {
//convert to hex value with "X" formatter
sbHex.append(String.format("%02X ", value));
//If the chracater is not convertable, just print a dot symbol "."
if (!Character.isISOControl(value)) {
sbText.append((char)value);
}else {
sbText.append(".");
}
//if 16 bytes are read, reset the counter,
//clear the StringBuilder for formatting purpose only.
if(bytesCounter==15){
sbResult.append(sbHex).append(" ").append(sbText).append("\n");
sbHex.setLength(0);
sbText.setLength(0);
bytesCounter=0;
}else{
bytesCounter++;
}
}
//if still got content
if(bytesCounter!=0){
//add spaces more formatting purpose only
for(; bytesCounter<16; bytesCounter++){
//1 character 3 spaces
sbHex.append(" ");
}
sbResult.append(sbHex).append(" ").append(sbText).append("\n");
}
out.print(sbResult);
is.close();
}
}
Maybe in the future we can partner up and create that world editor ...but not with Java...maybe Jython or just regular python (my native coding language :3)
I'm working on a desktop inventory editor written in Java to fix the problem for iOS users (like myself) and in the future (2, maybe 3 months?) get a world editor (longshot...I know...seriously...). It includes a gui that shows users what blocks they're adding and what part of the inventory they're adding it to (some people like to organize their inventories apparently...) and keep thme free from any signs of hex (until a feature that allows custom hex editing)...but I have bumps in the road. I have everything...except the working .dat to hex converter (but I have the file that searches for the slot in hex, the id in hex, replace id in slot 'x'...etc) , and because of that I can't get it to work. I have a beautiful gui (made with NetBeans IDE 7.0...with pretty pictures! ), great (sarcasm) organization of the classes, and I most of all know how to get all the files to communicate...as long as I can convert .dat to hex...Any suggestions? Could you make an example of how I can accomplish it in a single java file? That would mean the world for iOS users, and you get credit for your work (I don't plagiarize ;D).
(so many parenthesis, that's why my English teacher hates me :<)
This is my current .dat to hex converter... it just converts plain ascii to hex...Can you help me fix it to convert the actual data to hex?
Maybe in the future we can partner up and create that world editor ...but not with Java...maybe Jython or just regular python (my native coding language :3)
--Edit
Nevermind, I got it to work.
There are actual libraries to read and write Minecraft .dat files. I'm using version 1.2 (build 11) of SpoutNBT. If you need them, there's methods to read level.dat into a Level object and write it out again in the source of PocketInvEditor. If your program's open source and licensed under the GPL, I think you will be able to borrow that code.
There are actual libraries to read and write Minecraft .dat files. I'm using version 1.2 (build 11) of SpoutNBT. If you need them, there's methods to read level.dat into a Level object and write it out again in the source of PocketInvEditor. If your program's open source and licensed under the GPL, I think you will be able to borrow that code.
No thanks. I'm just using a (very simple) zip-file opening code that I made and a very very simple hex code. Then it re-zips the file when done.
After a delay on my internet being cut off, I managed to put τнє source code of your project onto aide on my android phone and it compiles great so now I'm hopeully adding those blocks that I was on about to you "500 internal error" but beings you have updated sum stuff then I'm gonna get τнє new source code and try and add them, great work anyway
Also, I haven't used Android for very long, so I am not sure of the best UI design for a world info screen that would contain spawnpoint, player location, player health, and gamemode. Anybody got an idea on what that screen should look like?
Major:
Backups may fail! Don't trust the Backup feature until I release a new version.
Minor:
Inventory editor force closes when editing Creative levels, because I had this line:
Since Creative levels do not have inventory items, I would be calling the constructor with a negative value, which force closes the app.
Browse Items feature may force close the app:
This may fail when the activity is launched before the materials were loaded from XML.
Inventory list may crash:
This line crashes with a null pointer exception. I think this was because the app was killed by Android to reclaim memory, then restarted on this activity without first restarting the initial EditorActivity. Since EditorActivity loads the level, the inventory slots activity crashes.
There will be a bugfix version coming this week, hopefully.
Sorry about the bugs.
I also noticed the creative worlds crashing bug. I was about to post about it, but it sounds like you've figured it out already.
That's now a planned feature for version 1.3. Thanks.
This is my first time using a ZipOutputStream. I guess I can research about this problem on the internet.
The level.dat format hasn't changed since 0.2.0.
Here.
Changes include using a bigger buffer size for creating the backups to try to speed it up, displaying a message that the backup would take a while when backup begins, fixed the list of items slightly, and stopped the app from crashing when a creative world loads.
You need to uninstall the existing version of PocketInvEditor before installing the beta.
https://github.com/downloads/zhuowei/PocketInvEditor/PocketInvEditor-debug.apk
Actually, I'm making it on my computer, using the Ant buildscript that the Android SDK provides. The source can be downloaded at https://github.com/zhuowei/PocketInvEditor , and SpoutNBT, which is required to build the app, at http://ci.spout.org/job/SpoutNBT/11/artifact/target/spoutnbt-1.0.2-SNAPSHOT.jar . (I don't know how to set AIDE up to use the SpoutNBT library - I guess Google is your friend.)
Thank you for expressing an interest in helping.
I'm adding the ability to view and change the player position, spawnpoint, and the time in the next version. (1.1). There will be a quick bugfix release (1.0.1) before that, though.
Sure, thanks.
(so many parenthesis, that's why my English teacher hates me :<)
This is my current .dat to hex converter... it just converts plain ascii to hex...Can you help me fix it to convert the actual data to hex?
Maybe in the future we can partner up and create that world editor ...but not with Java...maybe Jython or just regular python (my native coding language :3)
--Edit
Nevermind, I got it to work.
There are actual libraries to read and write Minecraft .dat files. I'm using version 1.2 (build 11) of SpoutNBT. If you need them, there's methods to read level.dat into a Level object and write it out again in the source of PocketInvEditor. If your program's open source and licensed under the GPL, I think you will be able to borrow that code.
Actually, I'm making a iOS inventory editor for Cydia after I finish my desktop version. So I'm laughing at your soon false statement now.
No thanks. I'm just using a (very simple) zip-file opening code that I made and a very very simple hex code. Then it re-zips the file when done.
The new source code is still at https://github.com/zhuowei/PocketInvEditor ; if you need a .zip version of the code, it's at https://github.com/zhuowei/PocketInvEditor/downloads . Thanks.
I am a BlackBerry PlayBook user, so I'm going to have to wait until... the world ends, basically.
I need your help on two things:
One: translations. A list of all currently translatable strings from the app is at https://github.com/zhuowei/PocketInvEditor/blob/master/res/values/strings.xml ; if you could translate those messages to another language, that would be awesome.
Also, I haven't used Android for very long, so I am not sure of the best UI design for a world info screen that would contain spawnpoint, player location, player health, and gamemode. Anybody got an idea on what that screen should look like?
Add me on Steam!: Link Removed