+ 一些半成品,修复了一些碧油鸡

This commit is contained in:
坏黑
2018-09-19 23:46:03 +08:00
parent a9700dfdd3
commit cefb8a12a8
15 changed files with 516 additions and 22 deletions

View File

@@ -2,7 +2,8 @@ package me.skymc.taboolib.anvil;
import com.ilummc.tlib.util.asm.AsmClassLoader;
import me.skymc.taboolib.TabooLib;
import me.skymc.taboolib.listener.TListener;
import me.skymc.taboolib.object.Instantiable;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
@@ -11,7 +12,7 @@ import org.bukkit.event.player.PlayerCommandPreprocessEvent;
/**
* @author sky
*/
@TListener
@Instantiable("AnvilContainerAPI")
public class AnvilContainerAPI implements Listener {
private static Class<?> impl;
@@ -19,6 +20,7 @@ public class AnvilContainerAPI implements Listener {
public AnvilContainerAPI() {
try {
impl = AsmClassLoader.createNewClass("me.skymc.taboolib.anvil.AnvilContainer", AnvilContainerAsm.create(TabooLib.getVersion()));
Bukkit.getPluginManager().registerEvents(this, TabooLib.instance());
} catch (Exception e) {
e.printStackTrace();
}

View File

@@ -8,16 +8,12 @@ import org.objectweb.asm.*;
public class AnvilContainerAsm {
public static byte[] create(String version) {
ClassWriter cw = new ClassWriter(0);
FieldVisitor fv;
MethodVisitor mv;
AnnotationVisitor av0;
cw.visit(Opcodes.V1_8, Opcodes.ACC_PUBLIC + Opcodes.ACC_SUPER, "me/skymc/taboolib/anvil/AnvilContainer", null, "net/minecraft/server/" + version + "/ContainerAnvil", null);
cw.visitSource("AnvilContainer.java", null);
{
mv = cw.visitMethod(Opcodes.ACC_PUBLIC, "<init>", "(Lnet/minecraft/server/" + version + "/EntityHuman;)V", null, null);
mv.visitCode();
@@ -139,7 +135,6 @@ public class AnvilContainerAsm {
mv.visitEnd();
}
cw.visitEnd();
return cw.toByteArray();
}
}