Java Code Examples for org.inventivetalent.reflection.minecraft.Minecraft

The following examples show how to use org.inventivetalent.reflection.minecraft.Minecraft. These examples are extracted from open source projects. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source Project: AnimatedFrames   Source File: ClickListener.java    License: MIT License 6 votes vote down vote up
@EventHandler
public void on(PlayerInteractEvent event) {
	if (Minecraft.VERSION.newerThan(Minecraft.Version.v1_9_R1)) {
		if (event.getHand() != EquipmentSlot.HAND) { return; }
	}

	int actionId = 0;
	switch (event.getAction()) {
		case RIGHT_CLICK_AIR:
		case RIGHT_CLICK_BLOCK:
			actionId = 0;
			break;
		case LEFT_CLICK_AIR:
		case LEFT_CLICK_BLOCK:
			actionId = 1;
			break;
	}
	handleInteract(event.getPlayer(), event, actionId);
}
 
Example 2
Source Project: PacketListenerAPI   Source File: PacketHandler.java    License: MIT License 5 votes vote down vote up
public void sendPacket(Player p, Object packet) {
	if (p == null || packet == null) { throw new NullPointerException(); }
	try {
		Object handle = Minecraft.getHandle(p);
		Object connection = EntityPlayerFieldResolver.resolve("playerConnection").get(handle);
		PlayerConnectionMethodResolver.resolve("sendPacket").invoke(connection, new Object[] { packet });
	} catch (Exception e) {
		System.err.println("[PacketListenerAPI] Exception while sending " + packet + " to " + p);
		e.printStackTrace();
	}
}
 
Example 3
Source Project: NickNamer   Source File: ClassBuilder.java    License: MIT License 5 votes vote down vote up
@SuppressWarnings({
						  "rawtypes",
						  "unchecked" })
public static Object buildPlayerInfoPacket(int action, Object profile, int ping, int gamemodeOrdinal, String name) {
	try {
		Object packet = PacketPlayOutPlayerInfo.newInstance();

		if (Minecraft.VERSION.olderThan(Minecraft.Version.v1_8_R1)) {
			PacketPlayOutPlayerInfoFieldResolver.resolve("action").set(packet, action);
			PacketPlayOutPlayerInfoFieldResolver.resolve("player").set(packet, profile);
			PacketPlayOutPlayerInfoFieldResolver.resolve("gamemode").set(packet, gamemodeOrdinal);
			PacketPlayOutPlayerInfoFieldResolver.resolve("ping").set(packet, ping);
			PacketPlayOutPlayerInfoFieldResolver.resolve("username").set(packet, name);
		} else {
			PacketPlayOutPlayerInfoFieldResolver.resolve("a").set(packet, EnumPlayerInfoAction.getEnumConstants()[action]);
			List list = (List) PacketPlayOutPlayerInfoFieldResolver.resolve("b").get(packet);

			Object data;
			// if (NPCLib.getServerVersion() <= 181) {
			data = PlayerInfoData.getConstructor(PacketPlayOutPlayerInfo, getNMUtilClass("com.mojang.authlib.GameProfile"), int.class, EnumGamemode, IChatBaseComponent).newInstance(packet, profile, ping, EnumGamemode.getEnumConstants()[gamemodeOrdinal], buildChatComponent(name));
			// } else {
			// data = PlayerInfoData.getConstructor(getNMUtilClass("com.mojang.authlib.GameProfile"), int.class, EnumGamemode,
			// Reflection.getNMSClass("IChatBaseComponent")).newInstance(profile, ping, EnumGamemode.getEnumConstants()[gamemodeOrdinal], buildChatComponent(name));
			// }
			list.add(data);
		}
		return packet;
	} catch (Exception e) {
		e.printStackTrace();
	}
	return null;
}
 
Example 4
Source Project: NickNamer   Source File: ClassBuilder.java    License: MIT License 5 votes vote down vote up
public static Object getGameProfile(Player player) {
	try {
		return EntityHumanMethodResolver.resolve("getProfile").invoke(Minecraft.getHandle(player));
	} catch (Exception e) {
		throw new RuntimeException(e);
	}
}
 
Example 5
Source Project: PacketListenerAPI   Source File: NMUChannel.java    License: MIT License 4 votes vote down vote up
net.minecraft.util.io.netty.channel.Channel getChannel(Player player) throws ReflectiveOperationException {
	final Object handle = Minecraft.getHandle(player);
	final Object connection = playerConnection.get(handle);
	return (net.minecraft.util.io.netty.channel.Channel) channelField.get(networkManager.get(connection));
}
 
Example 6
Source Project: PacketListenerAPI   Source File: INCChannel.java    License: MIT License 4 votes vote down vote up
io.netty.channel.Channel getChannel(Player player) throws ReflectiveOperationException {
	final Object handle = Minecraft.getHandle(player);
	final Object connection = playerConnection.get(handle);
	return (io.netty.channel.Channel) channelField.get(networkManager.get(connection));
}
 
Example 7
Source Project: NickNamer   Source File: ClassBuilder.java    License: MIT License 4 votes vote down vote up
public static Class<?> getNMUtilClass(String name) throws ClassNotFoundException {
	if (Minecraft.VERSION.olderThan(Minecraft.Version.v1_8_R1)) { return Class.forName("net.minecraft.util." + name); } else { return Class.forName(name); }
}
 
Example 8
Source Project: AnimatedFrames   Source File: AnimatedFrame.java    License: MIT License 4 votes vote down vote up
public void refreshFrames() {
	if (!plugin.isEnabled()) { return; }
	Bukkit.getScheduler().runTask(plugin, new Runnable() {
		@Override
		public void run() {
			TimingsHelper.startTiming("AnimatedFrames - [" + getName() + "] refreshItemFrames");

			final World world = getWorld();
			if (world == null || world.getPlayers().isEmpty()) {
				itemFrameIds = NULL_INT_ARRAY;
			} else {
				itemFrameIds = new int[width][height];
				itemFrameUUIDs = new UUID[width][height];

				Vector2DDouble startVector = minCorner2d;

				Collection<? extends Entity> entities;
				if (Minecraft.VERSION.olderThan(Minecraft.Version.v1_8_R2)) {
					entities = world.getEntitiesByClass(ItemFrame.class);
				} else {
					int size = Math.max(width, height);
					entities = world.getNearbyEntities(baseVector.toBukkitLocation(world), size, size, size);
				}
				for (Entity entity : entities) {
					if (entity instanceof ItemFrame) {
						if (((ItemFrame) entity).getFacing() == facing.getFrameDirection()) {
							if (boundingBox.expand(0.1).contains(new Vector3DDouble(entity.getLocation()))) {
								for (int y1 = 0; y1 < getBlockHeight(); y1++) {
									for (int x1 = 0; x1 < getBlockWidth(); x1++) {
										int x = facing.isHorizontalModInverted() ? (getBlockWidth() - 1 - x1) : x1;
										int y = facing.isVerticalModInverted() ? (getBlockHeight() - 1 - y1) : y1;
										Vector3DDouble vector3d = facing.getPlane().to3D(startVector.add(x, y), baseVector.getX(), baseVector.getZ(), baseVector.getY());
										if (entity.getLocation().getBlockZ() == vector3d.getZ().intValue()) {
											if (entity.getLocation().getBlockX() == vector3d.getX().intValue()) {
												if (entity.getLocation().getBlockY() == vector3d.getY().intValue()) {
													itemFrameIds[x1][y1] = entity.getEntityId();
													itemFrameUUIDs[x1][y1] = entity.getUniqueId();

													entity.setMetadata("ANIMATED_FRAMES_META", new FixedMetadataValue(plugin, AnimatedFrame.this));
												}
											}
										}
									}
								}
							}
						}
					}
				}
			}
			TimingsHelper.stopTiming("AnimatedFrames - [" + getName() + "] refreshItemFrames");
		}
	});
}