当前位置: 首页>>代码示例>>Java>>正文


Java Minecraft.getHandle方法代码示例

本文整理汇总了Java中org.inventivetalent.reflection.minecraft.Minecraft.getHandle方法的典型用法代码示例。如果您正苦于以下问题:Java Minecraft.getHandle方法的具体用法?Java Minecraft.getHandle怎么用?Java Minecraft.getHandle使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.inventivetalent.reflection.minecraft.Minecraft的用法示例。


在下文中一共展示了Minecraft.getHandle方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: createPlayerEntity

import org.inventivetalent.reflection.minecraft.Minecraft; //导入方法依赖的package包/类
protected EntityPlayer createPlayerEntity(Location location, NPCInfo npcInfo, GameProfileWrapper gameProfile) {
	Class<?> clazz = getOrGenerateClass(npcInfo);
	try {
		Object minecraftServer = new MethodResolver(Bukkit.getServer().getClass()).resolveWrapper("getServer")
				.invoke(Bukkit.getServer());
		Object worldServer = Minecraft.getHandle(location.getWorld());
		Object interactManager = new ConstructorResolver(
				Reflection.nmsClassResolver.resolve("PlayerInteractManager"))
						.resolve(new Class[] { Reflection.nmsClassResolver.resolve("World") })
						.newInstance(worldServer);

		// noinspection unchecked
		Constructor<?> constructor = clazz.getConstructor(Reflection.nmsClassResolver.resolve("MinecraftServer"),
				Reflection.nmsClassResolver.resolve("WorldServer"), gameProfile.getHandle().getClass(),
				Reflection.nmsClassResolver.resolve("PlayerInteractManager"));
		return (EntityPlayer) constructor.newInstance(minecraftServer, worldServer, gameProfile.getHandle(),
				interactManager);
	} catch (Exception e) {
		throw new RuntimeException(e);
	}
}
 
开发者ID:InventivetalentDev,项目名称:CompactNPCLib,代码行数:22,代码来源:NPCRegistry.java

示例2: sendPacket

import org.inventivetalent.reflection.minecraft.Minecraft; //导入方法依赖的package包/类
protected void sendPacket(Player player, Object packet) {
	if (player == null || packet == null) { return; }
	if (player == this.getNpcEntity() || player == this.getBukkitEntity()) { return; }
	if (NPCLib.isNPC(player)) { return; }
	try {
		Object handle = Minecraft.getHandle(player);
		if (handle != null) {
			Object connection = AccessUtil.setAccessible(handle.getClass().getDeclaredField("playerConnection")).get(handle);
			if (connection != null) {
				new MethodResolver(connection.getClass()).resolve("sendPacket").invoke(connection, packet);
			}
		}
	} catch (Exception e) {
		throw new RuntimeException(e);
	}
}
 
开发者ID:InventivetalentDev,项目名称:CompactNPCLib,代码行数:17,代码来源:NPCAbstract.java

示例3: applyTextureToSkull

import org.inventivetalent.reflection.minecraft.Minecraft; //导入方法依赖的package包/类
public static void applyTextureToSkull(Skull skull, Object profile) throws Exception {
    Location location = skull.getLocation();
    int x = location.getBlockX();
    int y = location.getBlockY();
    int z = location.getBlockZ();
    Object world = Minecraft.getHandle(location.getWorld());
    Object tileEntity = WorldServerMethodResolver.resolve("getTileEntity").invoke(world, x, y, z);
    TileEntitySkullFieldResolver.resolveByFirstType(GameProfile).set(tileEntity, profile);
    WorldMethodResolver.resolve(new ResolverQuery("notify", int.class, int.class, int.class)).invoke(world, x, y, z);
}
 
开发者ID:VoxelGamesLib,项目名称:VoxelGamesLibv2,代码行数:11,代码来源:HeadTextureChanger.java

示例4: isNPC

import org.inventivetalent.reflection.minecraft.Minecraft; //导入方法依赖的package包/类
public static boolean isNPC(Entity entity) {
	if (entity == null) { return false; }
	try {
		return Minecraft.getHandle(entity) instanceof NPCEntity;
	} catch (Exception e) {
		throw new RuntimeException(e);
	}
}
 
开发者ID:InventivetalentDev,项目名称:CompactNPCLib,代码行数:9,代码来源:NPCLib.java

示例5: getNPC

import org.inventivetalent.reflection.minecraft.Minecraft; //导入方法依赖的package包/类
public static NPCAbstract<?, ?> getNPC(Entity entity) {
	if (entity == null) { return null; }
	try {
		Object handle = Minecraft.getHandle(entity);
		if (handle instanceof NPCEntity) {
			return ((NPCEntity) handle).getNPC();
		}
	} catch (Exception e) {
		throw new RuntimeException(e);
	}
	return null;
}
 
开发者ID:InventivetalentDev,项目名称:CompactNPCLib,代码行数:13,代码来源:NPCLib.java


注:本文中的org.inventivetalent.reflection.minecraft.Minecraft.getHandle方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。