Commit a2baddb779f760709d2110b9bdeef0a0c1620794
1 parent
7299229f
minor tweaks to EventInjectionTransformer
Showing
2 changed files
with
14 additions
and
0 deletions
java/common/com/mumfrey/liteloader/transformers/event/EventInjectionTransformer.java
@@ -19,6 +19,7 @@ import org.objectweb.asm.util.CheckClassAdapter; | @@ -19,6 +19,7 @@ import org.objectweb.asm.util.CheckClassAdapter; | ||
19 | 19 | ||
20 | import com.mumfrey.liteloader.core.runtime.Obf; | 20 | import com.mumfrey.liteloader.core.runtime.Obf; |
21 | import com.mumfrey.liteloader.transformers.ClassTransformer; | 21 | import com.mumfrey.liteloader.transformers.ClassTransformer; |
22 | +import com.mumfrey.liteloader.util.log.LiteLoaderLogger; | ||
22 | 23 | ||
23 | /** | 24 | /** |
24 | * EventInjectionTransformer is the spiritual successor to the CallbackInjectionTransformer and is a more advanced | 25 | * EventInjectionTransformer is the spiritual successor to the CallbackInjectionTransformer and is a more advanced |
@@ -226,6 +227,8 @@ public abstract class EventInjectionTransformer extends ClassTransformer | @@ -226,6 +227,8 @@ public abstract class EventInjectionTransformer extends ClassTransformer | ||
226 | 227 | ||
227 | Event head = events.iterator().next(); | 228 | Event head = events.iterator().next(); |
228 | MethodNode handler = head.inject(insn, cancellable, this.globalEventID); | 229 | MethodNode handler = head.inject(insn, cancellable, this.globalEventID); |
230 | + | ||
231 | + LiteLoaderLogger.info("Injecting event %s with %d handlers in method %s in class %s", head.getName(), events.size(), method.name, classNode.name.replace('/', '.')); | ||
229 | 232 | ||
230 | for (Event event : events) | 233 | for (Event event : events) |
231 | event.addToHandler(handler); | 234 | event.addToHandler(handler); |
java/common/com/mumfrey/liteloader/transformers/event/InjectionPoint.java
@@ -205,4 +205,15 @@ public abstract class InjectionPoint | @@ -205,4 +205,15 @@ public abstract class InjectionPoint | ||
205 | { | 205 | { |
206 | return new InjectionPoint.Shift(point, -1); | 206 | return new InjectionPoint.Shift(point, -1); |
207 | } | 207 | } |
208 | + | ||
209 | + /** | ||
210 | + * Returns an injection point which returns all insns offset by the specified "count" from insns from the supplied injection point | ||
211 | + * | ||
212 | + * @param point | ||
213 | + * @return | ||
214 | + */ | ||
215 | + public static InjectionPoint shift(InjectionPoint point, int count) | ||
216 | + { | ||
217 | + return new InjectionPoint.Shift(point, count); | ||
218 | + } | ||
208 | } | 219 | } |