summaryrefslogtreecommitdiff
path: root/src/main/java/lance5057/tDefense/finishingAnvil/utilities
diff options
context:
space:
mode:
authorLance5057 <Lance5057@gmail.com>2016-08-06 21:47:17 -0500
committerLance5057 <Lance5057@gmail.com>2016-08-06 21:47:17 -0500
commitd10fd21692bad49e75a7d665005df940c91942f8 (patch)
treefdc1be156df395c88a934f6f97487e78b36a8138 /src/main/java/lance5057/tDefense/finishingAnvil/utilities
parentff41fd97eb377dd1ebd78b4b56e81c59ca786667 (diff)
Launch update
Only a week behind...
Diffstat (limited to 'src/main/java/lance5057/tDefense/finishingAnvil/utilities')
-rw-r--r--src/main/java/lance5057/tDefense/finishingAnvil/utilities/FileGetter.java21
-rw-r--r--src/main/java/lance5057/tDefense/finishingAnvil/utilities/Injector.java200
-rw-r--r--src/main/java/lance5057/tDefense/finishingAnvil/utilities/ToolCoreTip.java16
3 files changed, 195 insertions, 42 deletions
diff --git a/src/main/java/lance5057/tDefense/finishingAnvil/utilities/FileGetter.java b/src/main/java/lance5057/tDefense/finishingAnvil/utilities/FileGetter.java
new file mode 100644
index 0000000..9221376
--- /dev/null
+++ b/src/main/java/lance5057/tDefense/finishingAnvil/utilities/FileGetter.java
@@ -0,0 +1,21 @@
+package lance5057.tDefense.finishingAnvil.utilities;
+
+import java.nio.file.FileVisitResult;
+import java.nio.file.Path;
+import java.nio.file.SimpleFileVisitor;
+import java.nio.file.attribute.BasicFileAttributes;
+import java.util.ArrayList;
+import java.util.List;
+
+public class FileGetter extends SimpleFileVisitor<Path>
+{
+ final public List<String> filenames = new ArrayList<String>();
+
+ @Override
+ public FileVisitResult visitFile(Path file,
+ BasicFileAttributes attr)
+ {
+ filenames.add(file.getFileName().toString());
+ return FileVisitResult.CONTINUE;
+ }
+}
diff --git a/src/main/java/lance5057/tDefense/finishingAnvil/utilities/Injector.java b/src/main/java/lance5057/tDefense/finishingAnvil/utilities/Injector.java
index 375b2e5..2b754f0 100644
--- a/src/main/java/lance5057/tDefense/finishingAnvil/utilities/Injector.java
+++ b/src/main/java/lance5057/tDefense/finishingAnvil/utilities/Injector.java
@@ -1,14 +1,23 @@
package lance5057.tDefense.finishingAnvil.utilities;
+import java.io.IOException;
+import java.net.URISyntaxException;
+import java.nio.file.FileSystem;
+import java.nio.file.FileSystems;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import lance5057.tDefense.TinkersDefense;
+import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.item.Item;
import net.minecraft.util.IIcon;
+import net.minecraft.util.ResourceLocation;
import tconstruct.library.TConstructRegistry;
import tconstruct.library.crafting.PatternBuilder;
import tconstruct.library.crafting.PatternBuilder.MaterialSet;
@@ -28,12 +37,53 @@ public class Injector extends ToolCore
super(0);
}
- protected void loadHeads(IIconRegister iconRegister)
+ protected void loadHeads(IIconRegister iconRegister) throws IOException, URISyntaxException
{
+ // final URL jarFile =
+ // TinkersDefense.class.getResource("assets/tinkersdefense/textures/items/");
+
final int toolLength = TConstructRegistry.tools.size();
for(int i = 0; i < toolLength; i++)
{
+ final String toolName = TConstructRegistry.tools.get(i).getUnlocalizedName().toLowerCase().substring(TConstructRegistry.tools.get(i).getUnlocalizedName().lastIndexOf('.') + 1, TConstructRegistry.tools.get(i).getUnlocalizedName().length());
+ final String path = "/assets/tinkersdefense/textures/items/" + toolName + "/";
+
+ final ResourceLocation loc = new ResourceLocation(
+ "tinkersdefense:textures/items/");
+ //final InputStream in = Minecraft.getMinecraft().getResourceManager().getResource(loc).getInputStream();
+ //final List<String> filenames = new ArrayList<String>();
+ //final File files = new File(Minecraft.getMinecraft().mcDataDir.getPath() + "/mods/tinkersdefense-1.3.6.jar");
+
+ final Path zipfile = Paths.get(Minecraft.getMinecraft().mcDataDir.getPath() + "/mods/tinkersdefense-1.3.6.jar");
+ final FileSystem fs = FileSystems.newFileSystem(zipfile, Minecraft.class.getClassLoader());
+
+ final Path root = fs.getPath(path);
+ //final Iterable<FileStore> files = fs.getFileStores();
+ final FileGetter fileget = new FileGetter();
+
+ Files.walkFileTree(root, fileget);
+
+ //IDE
+ //final File files = new File(url.toURI());
+
+ if(TinkersDefense.config.debug)
+ {
+ for(final String file : fileget.filenames)
+ {
+ System.out.println(file);
+ }
+ }
+ setup(TConstructRegistry.tools.get(i), toolName, fileget.filenames, iconRegister);
+ }
+ }
+
+ //}
+ //}
+
+ private void setup(ToolCore tool, String name, List<String> filenames, IIconRegister iconRegister)
+ {
+ {
heads.clear();
accessories.clear();
handles.clear();
@@ -48,45 +98,116 @@ public class Injector extends ToolCore
extraStrings.clear();
extraIcons.clear();
- final ToolCore tool = TConstructRegistry.tools.get(i);
-
final IIcon origHead = tool.headIcons.get(-1);
final IIcon origAccessory = tool.accessoryIcons.get(-1);
final IIcon origHandle = tool.handleIcons.get(-1);
final IIcon origExtra = tool.extraIcons.get(-1);
- if(tool.getToolName().equals("Battleaxe"))
- {
- BattleAxe();
- }
- if(tool.getToolName().equals("Arrow"))
- {
- Arrow();
- }
- if(tool.getToolName().equals("Broadsword"))
- {
- Broadsword();
- }
- if(tool.getToolName().equals("Battlesign"))
- {
- Battlesign();
- }
- if(tool.getToolName().equals("Hatchet"))
- {
- Axe();
- }
- if(tool.getToolName().equals("Mattock"))
- {
- Mattock();
- }
- if(tool.getToolName().equals("Longbow"))
- {
- Longbow();
- }
- if(tool.getToolName().equals("HeaterShield"))
+ final ToolCoreTip tt = new ToolCoreTip();
+
+ tt.accessory = "Accessory";
+ tt.head = "Head";
+ tt.handle = "Handle";
+ tt.extra = "Extra";
+
+ tt.headTT.add("Standard");
+ tt.accessoryTT.add("Standard");
+ tt.handleTT.add("Standard");
+ tt.extraTT.add("Standard");
+
+ for(int i = 0; i < filenames.size(); i++)
{
- HeaterShield();
+ final String filename = filenames.get(i);
+
+ if(filename.contains("head"))
+ {
+ String formatted = filename.substring(0, filename.indexOf(".png"));
+ heads.add(formatted);
+ formatted = formatted.substring(1, formatted.length());
+ formatted = formatted.replace('_', ' ');
+ tt.headTT.add(formatted);
+ }
+
+ if(filename.contains("accessory"))
+ {
+ String formatted = filename.substring(0, filename.indexOf(".png"));
+ accessories.add(formatted);
+ formatted = formatted.substring(1, formatted.length());
+ formatted.replace("_", " ");
+ tt.accessoryTT.add(formatted);
+ }
+
+ if(filename.contains("handle"))
+ {
+ String formatted = filename.substring(0, filename.indexOf(".png"));
+ handles.add(formatted);
+ formatted = formatted.substring(1, formatted.length());
+ formatted.replace("_", " ");
+ tt.handleTT.add(formatted);
+ }
+
+ if(filename.contains("extra"))
+ {
+ String formatted = filename.substring(0, filename.indexOf(".png"));
+ extras.add(formatted);
+ formatted = formatted.substring(1, formatted.length());
+ formatted.replace("_", " ");
+ tt.extraTT.add(formatted);
+ }
}
+ // tt.headTT.add("Magic Backhead");
+ // tt.headTT.add("Scythe Backhead");
+ //
+ // extras.add("_magic_extra");
+ // extras.add("_scythe_extra");
+ // extras.add("_halbard_extra");
+ // extras.add("_ornate_extra");
+ //
+ // tt.extraTT.add("Halbard Head");
+ // tt.extraTT.add("Magic Head");
+ // tt.extraTT.add("Scythe Head");
+ // tt.extraTT.add("Ornate Head");
+ //
+ // accessories.add("_magic_accessory");
+ // accessories.add("_halbard_accessory");
+ // accessories.add("_knob_accessory");
+
+ //Metallurgy 5
+
+ tools.put(name, tt);
+
+ // if(tool.getToolName().equals("Battleaxe"))
+ // {
+ // BattleAxe();
+ // }
+ // if(tool.getToolName().equals("Arrow"))
+ // {
+ // Arrow();
+ // }
+ // if(tool.getToolName().equals("Broadsword"))
+ // {
+ // Broadsword();
+ // }
+ // if(tool.getToolName().equals("Battlesign"))
+ // {
+ // Battlesign();
+ // }
+ // if(tool.getToolName().equals("Hatchet"))
+ // {
+ // Axe();
+ // }
+ // if(tool.getToolName().equals("Mattock"))
+ // {
+ // Mattock();
+ // }
+ // if(tool.getToolName().equals("Longbow"))
+ // {
+ // Longbow();
+ // }
+ // if(tool.getToolName().equals("HeaterShield"))
+ // {
+ // HeaterShield();
+ // }
setupIcons(tool, iconRegister, heads, headStrings, headIcons);
setupIcons(tool, iconRegister, accessories, accessoryStrings, accessoryIcons);
setupIcons(tool, iconRegister, handles, handleStrings, handleIcons);
@@ -114,7 +235,18 @@ public class Injector extends ToolCore
@Override
public void registerIcons(IIconRegister iconRegister)
{
- loadHeads(iconRegister);
+ try
+ {
+ loadHeads(iconRegister);
+ }
+ catch(final IOException e)
+ {
+ System.out.print("No Finishing Anvil for you");
+ }
+ catch(final URISyntaxException e)
+ {
+ System.out.print("No Finishing Anvil for you");
+ }
}
@Override
diff --git a/src/main/java/lance5057/tDefense/finishingAnvil/utilities/ToolCoreTip.java b/src/main/java/lance5057/tDefense/finishingAnvil/utilities/ToolCoreTip.java
index 7da31f0..e93a11d 100644
--- a/src/main/java/lance5057/tDefense/finishingAnvil/utilities/ToolCoreTip.java
+++ b/src/main/java/lance5057/tDefense/finishingAnvil/utilities/ToolCoreTip.java
@@ -25,9 +25,9 @@ public class ToolCoreTip
{
case 1:
return head;
- case 2:
- return handle;
case 3:
+ return handle;
+ case 2:
return accessory;
case 4:
return extra;
@@ -41,16 +41,16 @@ public class ToolCoreTip
switch(partId)
{
case 1:
- if(headTT.size() > 0 && headTT.size() >= id - 1 && headTT.get(id) != null)
+ if(headTT.size() > 0 && headTT.size() - 1 >= id && headTT.get(id) != null)
return headTT.get(id);
- case 2:
- if(handleTT.size() > 0 && handleTT.size() >= id - 1 && handleTT.get(id) != null)
- return handleTT.get(id);
case 3:
- if(accessoryTT.size() > 0 && accessoryTT.size() >= id - 1 && accessoryTT.get(id) != null)
+ if(handleTT.size() > 0 && handleTT.size() - 1 >= id && handleTT.get(id) != null)
+ return handleTT.get(id);
+ case 2:
+ if(accessoryTT.size() > 0 && accessoryTT.size() - 1 >= id && accessoryTT.get(id) != null)
return accessoryTT.get(id);
case 4:
- if(extraTT.size() > 0 && extraTT.size() >= id - 1 && extraTT.get(id) != null)
+ if(extraTT.size() > 0 && extraTT.size() - 1 >= id && extraTT.get(id) != null)
return extraTT.get(id);
default:
return "";