--- a/net/minecraft/world/level/block/CaveVinesBlock.java
+++ b/net/minecraft/world/level/block/CaveVinesBlock.java
@@ -50,9 +50,18 @@
         return to.setValue(BERRIES, from.getValue(BERRIES));
     }
 
+    // Paper start - Fix Spigot growth modifiers
+    @Override
+    protected BlockState getGrowIntoState(BlockState state, RandomSource random, @javax.annotation.Nullable Level level) {
+        final boolean value = random.nextFloat() < (level != null ? (0.11F * (level.spigotConfig.glowBerryModifier / 100.0F)) : 0.11F);
+        return (BlockState) super.getGrowIntoState(state, random).setValue(CaveVinesBlock.BERRIES, value);
+    }
+    // Paper end - Fix Spigot growth modifiers
+
     @Override
     protected BlockState getGrowIntoState(BlockState state, RandomSource random) {
-        return super.getGrowIntoState(state, random).setValue(BERRIES, Boolean.valueOf(random.nextFloat() < 0.11F));
+        // Paper start - Fix Spigot growth modifiers
+        return this.getGrowIntoState(state, random, null);
     }
 
     @Override
