diff --git a/README.markdown b/README.markdown
--- a/README.markdown
+++ b/README.markdown
@@ -10,8 +10,8 @@
 can be used to modify replays in order to force everyone into the same car or
 change the map a game was played on.
 
-Rattletrap supports every version of Rocket League up to [1.92][], which was
-released on 2021-02-01. If a replay can be played by the Rocket League client,
+Rattletrap supports every version of Rocket League up to [1.95][], which was
+released on 2021-04-14. If a replay can be played by the Rocket League client,
 it can be parsed by Rattletrap. (If not, that's a bug. Please report it!)
 
 Rattletrap is a command-line application. You should only use it if you're
@@ -133,7 +133,7 @@
 [Docker badge]: https://img.shields.io/docker/v/taylorfausak/rattletrap?label=docker&logo=docker&logoColor=white
 [docker]: https://hub.docker.com/r/taylorfausak/rattletrap
 [Rocket League]: https://www.rocketleague.com
-[1.92]: https://www.rocketleague.com/news/patch-notes-v1-92/
+[1.95]: https://www.rocketleague.com/news/patch-notes-v1-95/
 [Ball Chasing]: https://ballchasing.com
 [Haskell]: https://www.haskell.org
 [C# parser]: https://github.com/jjbott/RocketLeagueReplayParser
diff --git a/rattletrap.cabal b/rattletrap.cabal
--- a/rattletrap.cabal
+++ b/rattletrap.cabal
@@ -1,7 +1,7 @@
 cabal-version: 2.0
 
 name: rattletrap
-version: 11.0.1
+version: 11.1.0
 synopsis: Parse and generate Rocket League replays.
 description: Rattletrap parses and generates Rocket League replays.
 
@@ -91,6 +91,7 @@
     Rattletrap.Type.Attribute.MusicStinger
     Rattletrap.Type.Attribute.PartyLeader
     Rattletrap.Type.Attribute.Pickup
+    Rattletrap.Type.Attribute.PickupInfo
     Rattletrap.Type.Attribute.PickupNew
     Rattletrap.Type.Attribute.PlayerHistoryKey
     Rattletrap.Type.Attribute.PrivateMatchSettings
diff --git a/src/lib/Rattletrap/Console/Main.hs b/src/lib/Rattletrap/Console/Main.hs
--- a/src/lib/Rattletrap/Console/Main.hs
+++ b/src/lib/Rattletrap/Console/Main.hs
@@ -39,6 +39,7 @@
 import qualified Rattletrap.Type.Attribute.MusicStinger as Attribute.MusicStinger
 import qualified Rattletrap.Type.Attribute.PartyLeader as Attribute.PartyLeader
 import qualified Rattletrap.Type.Attribute.Pickup as Attribute.Pickup
+import qualified Rattletrap.Type.Attribute.PickupInfo as Attribute.PickupInfo
 import qualified Rattletrap.Type.Attribute.PickupNew as Attribute.PickupNew
 import qualified Rattletrap.Type.Attribute.PlayerHistoryKey as Attribute.PlayerHistoryKey
 import qualified Rattletrap.Type.Attribute.PrivateMatchSettings as Attribute.PrivateMatchSettings
@@ -186,6 +187,7 @@
         , Attribute.MusicStinger.schema
         , Attribute.PartyLeader.schema
         , Attribute.Pickup.schema
+        , Attribute.PickupInfo.schema
         , Attribute.PickupNew.schema
         , Attribute.PlayerHistoryKey.schema
         , Attribute.PrivateMatchSettings.schema
diff --git a/src/lib/Rattletrap/Data.hs b/src/lib/Rattletrap/Data.hs
--- a/src/lib/Rattletrap/Data.hs
+++ b/src/lib/Rattletrap/Data.hs
@@ -107,6 +107,7 @@
   , "TAGame.GameEvent_SoccarSplitscreen_TA"
   , "TAGame.GRI_TA"
   , "TAGame.MaxTimeWarningData_TA"
+  , "TAGame.PickupTimer_TA"
   , "TAGame.PRI_TA"
   , "TAGame.RumblePickups_TA"
   , "TAGame.SpecialPickup_BallCarSpring_TA"
@@ -219,6 +220,7 @@
   , ("ProjectX.Default__NetModeReplicator_X", "ProjectX.NetModeReplicator")
   , ("TAGame.Default__CameraSettingsActor_TA", "TAGame.CameraSettingsActor_TA")
   , ("TAGame.Default__MaxTimeWarningData_TA", "TAGame.MaxTimeWarningData_TA")
+  , ("TAGame.Default__PickupTimer_TA", "TAGame.PickupTimer_TA")
   , ("TAGame.Default__PRI_TA", "TAGame.PRI_TA")
   , ("TAGame.Default__RumblePickups_TA", "TAGame.RumblePickups_TA")
   , ("TheWorld:PersistentLevel.BreakOutActor_Platform_TA", "TAGame.BreakOutActor_Platform_TA")
@@ -392,6 +394,7 @@
   , ("TAGame.RBActor_TA:WeldedInfo", AttributeType.WeldedInfo)
   , ("TAGame.RumblePickups_TA:AttachedPickup", AttributeType.FlaggedInt)
   , ("TAGame.RumblePickups_TA:ConcurrentItemCount", AttributeType.Int)
+  , ("TAGame.RumblePickups_TA:PickupInfo", AttributeType.PickupInfo)
   , ("TAGame.SpecialPickup_BallFreeze_TA:RepOrigSpeed", AttributeType.Float)
   , ("TAGame.SpecialPickup_BallVelcro_TA:AttachTime", AttributeType.Float)
   , ("TAGame.SpecialPickup_BallVelcro_TA:bBroken", AttributeType.Boolean)
diff --git a/src/lib/Rattletrap/Type/Attribute/PickupInfo.hs b/src/lib/Rattletrap/Type/Attribute/PickupInfo.hs
new file mode 100644
--- /dev/null
+++ b/src/lib/Rattletrap/Type/Attribute/PickupInfo.hs
@@ -0,0 +1,89 @@
+module Rattletrap.Type.Attribute.PickupInfo where
+
+import qualified Rattletrap.BitGet as BitGet
+import qualified Rattletrap.BitPut as BitPut
+import qualified Rattletrap.Schema as Schema
+import qualified Rattletrap.Type.I32 as I32
+import qualified Rattletrap.Type.U32 as U32
+import qualified Rattletrap.Utility.Json as Json
+
+data PickupInfo = PickupInfo
+  { unknown1 :: Bool
+  , unknown2 :: Bool
+  , unknown3 :: U32.U32
+  , unknown4 :: I32.I32
+  , unknown5 :: I32.I32
+  , unknown6 :: Bool
+  , unknown7 :: Bool
+  }
+  deriving (Eq, Show)
+
+instance Json.FromJSON PickupInfo where
+  parseJSON = Json.withObject "PickupInfo" $ \object -> do
+    unknown1 <- Json.required object "unknown1"
+    unknown2 <- Json.required object "unknown2"
+    unknown3 <- Json.required object "unknown3"
+    unknown4 <- Json.required object "unknown4"
+    unknown5 <- Json.required object "unknown5"
+    unknown6 <- Json.required object "unknown6"
+    unknown7 <- Json.required object "unknown7"
+    pure PickupInfo
+      { unknown1
+      , unknown2
+      , unknown3
+      , unknown4
+      , unknown5
+      , unknown6
+      , unknown7
+      }
+
+instance Json.ToJSON PickupInfo where
+  toJSON x = Json.object
+    [ Json.pair "unknown1" $ unknown1 x
+    , Json.pair "unknown2" $ unknown2 x
+    , Json.pair "unknown3" $ unknown3 x
+    , Json.pair "unknown4" $ unknown4 x
+    , Json.pair "unknown5" $ unknown5 x
+    , Json.pair "unknown6" $ unknown6 x
+    , Json.pair "unknown7" $ unknown7 x
+    ]
+
+schema :: Schema.Schema
+schema = Schema.named "pickup-info" $ Schema.object
+  [ (Json.pair "unknown1" $ Schema.ref Schema.boolean, True)
+  , (Json.pair "unknown2" $ Schema.ref Schema.boolean, True)
+  , (Json.pair "unknown3" $ Schema.ref U32.schema, True)
+  , (Json.pair "unknown4" $ Schema.ref I32.schema, True)
+  , (Json.pair "unknown5" $ Schema.ref I32.schema, True)
+  , (Json.pair "unknown6" $ Schema.ref Schema.boolean, True)
+  , (Json.pair "unknown7" $ Schema.ref Schema.boolean, True)
+  ]
+
+bitPut :: PickupInfo -> BitPut.BitPut
+bitPut x =
+  BitPut.bool (unknown1 x)
+    <> BitPut.bool (unknown2 x)
+    <> U32.bitPut (unknown3 x)
+    <> I32.bitPut (unknown4 x)
+    <> I32.bitPut (unknown5 x)
+    <> BitPut.bool (unknown6 x)
+    <> BitPut.bool (unknown7 x)
+
+bitGet :: BitGet.BitGet PickupInfo
+bitGet = BitGet.label "PickupInfo" $ do
+  unknown1 <- BitGet.label "unknown1" BitGet.bool
+  unknown2 <- BitGet.label "unknown2" BitGet.bool
+  unknown3 <- BitGet.label "unknown3" U32.bitGet
+  unknown4 <- BitGet.label "unknown4" I32.bitGet
+  unknown5 <- BitGet.label "unknown5" I32.bitGet
+  unknown6 <- BitGet.label "unknown6" BitGet.bool
+  unknown7 <- BitGet.label "unknown7" BitGet.bool
+  pure PickupInfo
+    { unknown1
+    , unknown2
+    , unknown3
+    , unknown4
+    , unknown5
+    , unknown6
+    , unknown7
+    }
diff --git a/src/lib/Rattletrap/Type/AttributeType.hs b/src/lib/Rattletrap/Type/AttributeType.hs
--- a/src/lib/Rattletrap/Type/AttributeType.hs
+++ b/src/lib/Rattletrap/Type/AttributeType.hs
@@ -26,6 +26,7 @@
   | MusicStinger
   | PartyLeader
   | Pickup
+  | PickupInfo
   | PickupNew
   | PlayerHistoryKey
   | PrivateMatchSettings
diff --git a/src/lib/Rattletrap/Type/AttributeValue.hs b/src/lib/Rattletrap/Type/AttributeValue.hs
--- a/src/lib/Rattletrap/Type/AttributeValue.hs
+++ b/src/lib/Rattletrap/Type/AttributeValue.hs
@@ -32,6 +32,7 @@
 import qualified Rattletrap.Type.Attribute.MusicStinger as MusicStinger
 import qualified Rattletrap.Type.Attribute.PartyLeader as PartyLeader
 import qualified Rattletrap.Type.Attribute.Pickup as Pickup
+import qualified Rattletrap.Type.Attribute.PickupInfo as PickupInfo
 import qualified Rattletrap.Type.Attribute.PickupNew as PickupNew
 import qualified Rattletrap.Type.Attribute.PlayerHistoryKey as PlayerHistoryKey
 import qualified Rattletrap.Type.Attribute.PrivateMatchSettings as PrivateMatchSettings
@@ -76,6 +77,7 @@
   | MusicStinger MusicStinger.MusicStinger
   | PartyLeader PartyLeader.PartyLeader
   | Pickup Pickup.Pickup
+  | PickupInfo PickupInfo.PickupInfo
   | PickupNew PickupNew.PickupNew
   | PlayerHistoryKey PlayerHistoryKey.PlayerHistoryKey
   | PrivateMatchSettings PrivateMatchSettings.PrivateMatchSettings
@@ -117,6 +119,7 @@
     , fmap MusicStinger $ Json.required object "music_stinger"
     , fmap PartyLeader $ Json.required object "party_leader"
     , fmap Pickup $ Json.required object "pickup"
+    , fmap PickupInfo $ Json.required object "pickup_info"
     , fmap PickupNew $ Json.required object "pickup_new"
     , fmap PlayerHistoryKey $ Json.required object "player_history_key"
     , fmap PrivateMatchSettings $ Json.required object "private_match_settings"
@@ -158,6 +161,7 @@
     MusicStinger y -> Json.object [Json.pair "music_stinger" y]
     PartyLeader y -> Json.object [Json.pair "party_leader" y]
     Pickup y -> Json.object [Json.pair "pickup" y]
+    PickupInfo y -> Json.object [Json.pair "pickup_info" y]
     PickupNew y -> Json.object [Json.pair "pickup_new" y]
     PlayerHistoryKey y -> Json.object [Json.pair "player_history_key" y]
     PrivateMatchSettings y ->
@@ -199,6 +203,7 @@
   , ("location", Location.schema)
   , ("music_stinger", MusicStinger.schema)
   , ("party_leader", PartyLeader.schema)
+  , ("pickup_info", PickupInfo.schema)
   , ("pickup_new", PickupNew.schema)
   , ("pickup", Pickup.schema)
   , ("player_history_key", PlayerHistoryKey.schema)
@@ -241,6 +246,7 @@
   MusicStinger x -> MusicStinger.bitPut x
   PartyLeader x -> PartyLeader.bitPut x
   Pickup x -> Pickup.bitPut x
+  PickupInfo x -> PickupInfo.bitPut x
   PickupNew x -> PickupNew.bitPut x
   PlayerHistoryKey x -> PlayerHistoryKey.bitPut x
   PrivateMatchSettings x -> PrivateMatchSettings.bitPut x
@@ -295,6 +301,7 @@
     AttributeType.MusicStinger -> fmap MusicStinger MusicStinger.bitGet
     AttributeType.PartyLeader -> fmap PartyLeader $ PartyLeader.bitGet version
     AttributeType.Pickup -> fmap Pickup Pickup.bitGet
+    AttributeType.PickupInfo -> fmap PickupInfo PickupInfo.bitGet
     AttributeType.PickupNew -> fmap PickupNew PickupNew.bitGet
     AttributeType.PlayerHistoryKey ->
       fmap PlayerHistoryKey PlayerHistoryKey.bitGet
diff --git a/src/test/Main.hs b/src/test/Main.hs
--- a/src/test/Main.hs
+++ b/src/test/Main.hs
@@ -69,6 +69,7 @@
   , ("0416", "v1.78 demolition")
   , ("07e9", "a game mode before Neo Tokyo")
   , ("0ad2", "some Latin-1 text")
+  , ("0e76", "v1.95 rumble")
   , ("1205", "rumble mode")
   , ("160c", "a dedicated server IP")
   , ("16d5", "new property types")
