Commit 6e6559c6ad98a8ca39880f276b8198d8614b242a
1 parent
4dc2ac38
LiteLoader for 1.4.6
Showing
4 changed files
with
31 additions
and
174 deletions
java/com/mumfrey/liteloader/RenderListener.java
| @@ -14,7 +14,20 @@ public interface RenderListener extends LiteMod | @@ -14,7 +14,20 @@ public interface RenderListener extends LiteMod | ||
| 14 | */ | 14 | */ |
| 15 | public abstract void onRender(); | 15 | public abstract void onRender(); |
| 16 | 16 | ||
| 17 | + /** | ||
| 18 | + * Called immediately before the current GUI is rendered | ||
| 19 | + * | ||
| 20 | + * @param currentScreen Current screen (if any) | ||
| 21 | + */ | ||
| 17 | public abstract void onRenderGui(GuiScreen currentScreen); | 22 | public abstract void onRenderGui(GuiScreen currentScreen); |
| 18 | 23 | ||
| 24 | + /** | ||
| 25 | + * Called when the world is rendered | ||
| 26 | + */ | ||
| 19 | public abstract void onRenderWorld(); | 27 | public abstract void onRenderWorld(); |
| 28 | + | ||
| 29 | + /** | ||
| 30 | + * Called immediately after the world/camera transform is initialised | ||
| 31 | + */ | ||
| 32 | + public abstract void onSetupCameraTransform(); | ||
| 20 | } | 33 | } |
java/com/mumfrey/liteloader/core/FilteringClassLoader.java deleted
100644 → 0
| 1 | -package com.mumfrey.liteloader.core; | ||
| 2 | - | ||
| 3 | -import java.io.IOException; | ||
| 4 | -import java.io.InputStream; | ||
| 5 | -import java.net.URL; | ||
| 6 | -import java.net.URLClassLoader; | ||
| 7 | -import java.util.Enumeration; | ||
| 8 | - | ||
| 9 | -import net.minecraft.client.Minecraft; | ||
| 10 | - | ||
| 11 | -public class FilteringClassLoader extends URLClassLoader | ||
| 12 | -{ | ||
| 13 | - public FilteringClassLoader() | ||
| 14 | - { | ||
| 15 | - super(new URL[0], Minecraft.class.getClassLoader()); | ||
| 16 | - } | ||
| 17 | - | ||
| 18 | - /* (non-Javadoc) | ||
| 19 | - * @see java.lang.ClassLoader#loadClass(java.lang.String) | ||
| 20 | - */ | ||
| 21 | - @Override | ||
| 22 | - public Class<?> loadClass(String name) throws ClassNotFoundException | ||
| 23 | - { | ||
| 24 | - System.out.println("Parent is trying to load class " + name); | ||
| 25 | - return super.loadClass(name); | ||
| 26 | - } | ||
| 27 | - | ||
| 28 | - /* (non-Javadoc) | ||
| 29 | - * @see java.lang.ClassLoader#findClass(java.lang.String) | ||
| 30 | - */ | ||
| 31 | - @Override | ||
| 32 | - protected Class<?> findClass(String name) throws ClassNotFoundException | ||
| 33 | - { | ||
| 34 | - System.out.println("findClass " + name); | ||
| 35 | - // TODO Auto-generated method stub | ||
| 36 | - return super.findClass(name); | ||
| 37 | - } | ||
| 38 | - | ||
| 39 | - /* (non-Javadoc) | ||
| 40 | - * @see java.lang.ClassLoader#getResource(java.lang.String) | ||
| 41 | - */ | ||
| 42 | - @Override | ||
| 43 | - public URL getResource(String name) | ||
| 44 | - { | ||
| 45 | - System.out.println("getResource " + name); | ||
| 46 | - // TODO Auto-generated method stub | ||
| 47 | - return super.getResource(name); | ||
| 48 | - } | ||
| 49 | - | ||
| 50 | - /* (non-Javadoc) | ||
| 51 | - * @see java.lang.ClassLoader#getResources(java.lang.String) | ||
| 52 | - */ | ||
| 53 | - @Override | ||
| 54 | - public Enumeration<URL> getResources(String name) throws IOException | ||
| 55 | - { | ||
| 56 | - System.out.println("getResources " + name); | ||
| 57 | - // TODO Auto-generated method stub | ||
| 58 | - return super.getResources(name); | ||
| 59 | - } | ||
| 60 | - | ||
| 61 | - /* (non-Javadoc) | ||
| 62 | - * @see java.lang.ClassLoader#findResource(java.lang.String) | ||
| 63 | - */ | ||
| 64 | - @Override | ||
| 65 | - public URL findResource(String name) | ||
| 66 | - { | ||
| 67 | - System.out.println("findResource " + name); | ||
| 68 | - // TODO Auto-generated method stub | ||
| 69 | - return super.findResource(name); | ||
| 70 | - } | ||
| 71 | - | ||
| 72 | - /* (non-Javadoc) | ||
| 73 | - * @see java.lang.ClassLoader#findResources(java.lang.String) | ||
| 74 | - */ | ||
| 75 | - @Override | ||
| 76 | - public Enumeration<URL> findResources(String name) throws IOException | ||
| 77 | - { | ||
| 78 | - System.out.println("findResources " + name); | ||
| 79 | - // TODO Auto-generated method stub | ||
| 80 | - return super.findResources(name); | ||
| 81 | - } | ||
| 82 | - | ||
| 83 | - /* (non-Javadoc) | ||
| 84 | - * @see java.lang.ClassLoader#getResourceAsStream(java.lang.String) | ||
| 85 | - */ | ||
| 86 | - @Override | ||
| 87 | - public InputStream getResourceAsStream(String name) | ||
| 88 | - { | ||
| 89 | - System.out.println("getResourceAsStream " + name); | ||
| 90 | - // TODO Auto-generated method stub | ||
| 91 | - return super.getResourceAsStream(name); | ||
| 92 | - } | ||
| 93 | - | ||
| 94 | - /* (non-Javadoc) | ||
| 95 | - * @see java.lang.ClassLoader#getPackage(java.lang.String) | ||
| 96 | - */ | ||
| 97 | - @Override | ||
| 98 | - protected Package getPackage(String name) | ||
| 99 | - { | ||
| 100 | - System.out.println("getPackage " + name); | ||
| 101 | - // TODO Auto-generated method stub | ||
| 102 | - return super.getPackage(name); | ||
| 103 | - } | ||
| 104 | - | ||
| 105 | - /* (non-Javadoc) | ||
| 106 | - * @see java.lang.ClassLoader#getPackages() | ||
| 107 | - */ | ||
| 108 | - @Override | ||
| 109 | - protected Package[] getPackages() | ||
| 110 | - { | ||
| 111 | - System.out.println("getPackages"); | ||
| 112 | - // TODO Auto-generated method stub | ||
| 113 | - return super.getPackages(); | ||
| 114 | - } | ||
| 115 | - | ||
| 116 | - /* (non-Javadoc) | ||
| 117 | - * @see java.lang.ClassLoader#findLibrary(java.lang.String) | ||
| 118 | - */ | ||
| 119 | - @Override | ||
| 120 | - protected String findLibrary(String libname) | ||
| 121 | - { | ||
| 122 | - System.out.println("findLibrary " + libname); | ||
| 123 | - // TODO Auto-generated method stub | ||
| 124 | - return super.findLibrary(libname); | ||
| 125 | - } | ||
| 126 | - | ||
| 127 | - /* (non-Javadoc) | ||
| 128 | - * @see java.lang.ClassLoader#setDefaultAssertionStatus(boolean) | ||
| 129 | - */ | ||
| 130 | - @Override | ||
| 131 | - public synchronized void setDefaultAssertionStatus(boolean enabled) | ||
| 132 | - { | ||
| 133 | - System.out.println("setDefaultAssertionStatus " + enabled); | ||
| 134 | - // TODO Auto-generated method stub | ||
| 135 | - super.setDefaultAssertionStatus(enabled); | ||
| 136 | - } | ||
| 137 | - | ||
| 138 | - /* (non-Javadoc) | ||
| 139 | - * @see java.lang.ClassLoader#setPackageAssertionStatus(java.lang.String, boolean) | ||
| 140 | - */ | ||
| 141 | - @Override | ||
| 142 | - public synchronized void setPackageAssertionStatus(String packageName, boolean enabled) | ||
| 143 | - { | ||
| 144 | - System.out.println("setPackageAssertionStatus " + packageName + " " + enabled); | ||
| 145 | - // TODO Auto-generated method stub | ||
| 146 | - super.setPackageAssertionStatus(packageName, enabled); | ||
| 147 | - } | ||
| 148 | - | ||
| 149 | - /* (non-Javadoc) | ||
| 150 | - * @see java.lang.ClassLoader#setClassAssertionStatus(java.lang.String, boolean) | ||
| 151 | - */ | ||
| 152 | - @Override | ||
| 153 | - public synchronized void setClassAssertionStatus(String className, boolean enabled) | ||
| 154 | - { | ||
| 155 | - System.out.println("setClassAssertionStatus " + className + " " + enabled); | ||
| 156 | - // TODO Auto-generated method stub | ||
| 157 | - super.setClassAssertionStatus(className, enabled); | ||
| 158 | - } | ||
| 159 | - | ||
| 160 | - /* (non-Javadoc) | ||
| 161 | - * @see java.lang.ClassLoader#clearAssertionStatus() | ||
| 162 | - */ | ||
| 163 | - @Override | ||
| 164 | - public synchronized void clearAssertionStatus() | ||
| 165 | - { | ||
| 166 | - System.out.println("clearAssertionStatus"); | ||
| 167 | - // TODO Auto-generated method stub | ||
| 168 | - super.clearAssertionStatus(); | ||
| 169 | - } | ||
| 170 | -} |
java/com/mumfrey/liteloader/core/HookProfiler.java
| @@ -139,7 +139,12 @@ public class HookProfiler extends Profiler | @@ -139,7 +139,12 @@ public class HookProfiler extends Profiler | ||
| 139 | { | 139 | { |
| 140 | loader.onRender(); | 140 | loader.onRender(); |
| 141 | } | 141 | } |
| 142 | - | 142 | + |
| 143 | + if ("frustrum".equalsIgnoreCase(sectionName) && "level".equalsIgnoreCase(sectionStack.getLast())) | ||
| 144 | + { | ||
| 145 | + loader.onSetupCameraTransform(); | ||
| 146 | + } | ||
| 147 | + | ||
| 143 | if ("animateTick".equals(sectionName)) tick = true; | 148 | if ("animateTick".equals(sectionName)) tick = true; |
| 144 | sectionStack.add(sectionName); | 149 | sectionStack.add(sectionName); |
| 145 | super.startSection(sectionName); | 150 | super.startSection(sectionName); |
java/com/mumfrey/liteloader/core/LiteLoader.java
| @@ -28,7 +28,7 @@ import net.minecraft.src.Timer; | @@ -28,7 +28,7 @@ import net.minecraft.src.Timer; | ||
| 28 | * LiteLoader is a simple loader which provides tick events to loaded mods | 28 | * LiteLoader is a simple loader which provides tick events to loaded mods |
| 29 | * | 29 | * |
| 30 | * @author Adam Mummery-Smith | 30 | * @author Adam Mummery-Smith |
| 31 | - * @version 1.4.5_02 | 31 | + * @version 1.4.6 |
| 32 | */ | 32 | */ |
| 33 | @SuppressWarnings("rawtypes") | 33 | @SuppressWarnings("rawtypes") |
| 34 | public final class LiteLoader implements FilenameFilter | 34 | public final class LiteLoader implements FilenameFilter |
| @@ -36,7 +36,7 @@ public final class LiteLoader implements FilenameFilter | @@ -36,7 +36,7 @@ public final class LiteLoader implements FilenameFilter | ||
| 36 | /** | 36 | /** |
| 37 | * Liteloader version | 37 | * Liteloader version |
| 38 | */ | 38 | */ |
| 39 | - private static final String LOADER_VERSION = "1.4.5_02"; | 39 | + private static final String LOADER_VERSION = "1.4.6"; |
| 40 | 40 | ||
| 41 | /** | 41 | /** |
| 42 | * Loader revision, can be used by mods to determine whether the loader is sufficiently up-to-date | 42 | * Loader revision, can be used by mods to determine whether the loader is sufficiently up-to-date |
| @@ -48,7 +48,7 @@ public final class LiteLoader implements FilenameFilter | @@ -48,7 +48,7 @@ public final class LiteLoader implements FilenameFilter | ||
| 48 | * against the version.txt value in mod files to prevent outdated mods being | 48 | * against the version.txt value in mod files to prevent outdated mods being |
| 49 | * loaded!!! | 49 | * loaded!!! |
| 50 | */ | 50 | */ |
| 51 | - private static final String[] SUPPORTED_VERSIONS = { "1.4.4", "1.4.5" }; | 51 | + private static final String[] SUPPORTED_VERSIONS = { "1.4.6" }; |
| 52 | 52 | ||
| 53 | /** | 53 | /** |
| 54 | * LiteLoader is a singleton, this is the singleton instance | 54 | * LiteLoader is a singleton, this is the singleton instance |
| @@ -995,6 +995,15 @@ public final class LiteLoader implements FilenameFilter | @@ -995,6 +995,15 @@ public final class LiteLoader implements FilenameFilter | ||
| 995 | } | 995 | } |
| 996 | 996 | ||
| 997 | /** | 997 | /** |
| 998 | + * Called immediately after the world/camera transform is initialised | ||
| 999 | + */ | ||
| 1000 | + public void onSetupCameraTransform() | ||
| 1001 | + { | ||
| 1002 | + for (RenderListener renderListener : renderListeners) | ||
| 1003 | + renderListener.onSetupCameraTransform(); | ||
| 1004 | + } | ||
| 1005 | + | ||
| 1006 | + /** | ||
| 998 | * Callback from the tick hook, ticks all tickable mods | 1007 | * Callback from the tick hook, ticks all tickable mods |
| 999 | * | 1008 | * |
| 1000 | * @param tick True if this is a new tick (otherwise it's just a new frame) | 1009 | * @param tick True if this is a new tick (otherwise it's just a new frame) |