public static ObjectDefinitions getObjectDefinitions(int id) {
		ObjectDefinitions def = objectDefinitions.get(id);
		if (def == null) {
			def = new ObjectDefinitions();
			def.id = id;
			byte[] data = Cache.STORE.getIndexes()[16].getFile(
					getArchiveId(id), id & 0xff);
			if (data == null)
				System.out.println("Failed loading Object " + id + ".");
			else
				def.readValueLoop(new InputStream(data));
			def.method3287();
			if ((def.name != null && (def.name.equalsIgnoreCase("bank booth") || def.name
					.equalsIgnoreCase("counter")))) {
				def.notCliped = false;
				def.projectileCliped = true;
				if (def.clipType == 0)
					def.clipType = 1;
			} else if (DungeonUtils.isDoor(id)) {
				def.notCliped = false;
				def.projectileCliped = true;
				if (def.clipType == 0)
					def.clipType = 1;
			}
			if (def.notCliped) {
				def.projectileCliped = false;
				def.clipType = 0;
			}
			objectDefinitions.put(id, def);
		}
		return def;
	}